- Mar 10, 2017
-
-
Simon Atanasyan authored
GAS supports specification of section header's type using a numeric value [1]. This patch brings the same functionality to LLVM. That allows to setup some target-specific section types belong to the SHT_LOPROC - SHT_HIPROC range. If we attempt to print unknown section type, MCSectionELF class shows an error message. It's better than print sole '@' sign without any section type name. In case of MIPS, example of such section's type is SHT_MIPS_DWARF. Without the patch we will have to implement some workarounds in probably not-MIPS-specific part of code base to convert SHT_MIPS_DWARF to the @progbits while printing assembly and to assign SHT_MIPS_DWARF for @progbits sections named .debug_* if we encounter such section in an input assembly. [1] https://sourceware.org/binutils/docs/as/Section.html Differential Revision: https://reviews.llvm.org/D29719 llvm-svn: 297446
-
Artyom Skrobov authored
same as already done for ARM and Thumb2. Reviewers: jmolloy, rogfer01, efriedma Subscribers: aemerson, llvm-commits, rengolin Differential Revision: https://reviews.llvm.org/D30400 llvm-svn: 297443
-
Yaron Keren authored
llvm-svn: 297442
-
Jason Molenda authored
HasContent. If we have a valid accelerator table which has no content, we want to depend on that (empty) table as the authoritative source instead of reading through all the debug info for lookups. <rdar://problem/30867462> llvm-svn: 297441
-
Jason Molenda authored
SectionLoadList exposed by this test. Greg tried to chase it down & got pretty far but the isn't correct so we'll disable this test for now until I can figure that out. <rdar://problem/30899227> llvm-svn: 297440
-
Matt Arsenault authored
The insertion point may be later than the next instruction, so it is necessary to set it when replacing the call. llvm-svn: 297439
-
Daniel Berlin authored
Move memory coercion functions from GVN.cpp to VNCoercion.cpp so they can be shared between GVN and NewGVN. Summary: These are the functions used to determine when values of loads can be extracted from stores, etc, and to perform the necessary insertions to do this. There are no changes to the functions themselves except reformatting, and one case where memdep was informed of a removed load (which was pushed into the caller). Reviewers: davide Subscribers: mgorny, llvm-commits, Prazek Differential Revision: https://reviews.llvm.org/D30478 llvm-svn: 297438
-
Dehao Chen authored
Summary: We should not use that to check basic block hotness as optimization may mess it up. Reviewers: eraman Reviewed By: eraman Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D30800 llvm-svn: 297437
-
Yaxun Liu authored
Differential Revision: https://reviews.llvm.org/D30551 llvm-svn: 297436
-
Sanjay Patel authored
llvm-svn: 297433
-
Matt Arsenault authored
llvm-svn: 297432
-
Rafael Espindola authored
This is a small step for fixing pr32031, which needs expressions that point to input sections. llvm-svn: 297431
-
Michael Kruse authored
llvm-svn: 297430
-
Anna Zaks authored
We have several reports of false positives coming from libc++. For example, there are reports of false positives in std::regex, std::wcout, and also a bunch of issues are reported in https://reviews.llvm.org/D30593. In many cases, the analyzer trips over the complex libc++ code invariants. Let's turn off the reports coming from these headers until we can re-evalate the support. We can turn this back on once we individually suppress all known false positives and perform deeper evaluation on large codebases that use libc++. We'd also need to commit to doing these evaluations regularly as libc++ headers change. Differential Revision: https://reviews.llvm.org/D30798 llvm-svn: 297429
-
Daniel Berlin authored
llvm-svn: 297428
-
Daniel Berlin authored
llvm-svn: 297427
-
Ahmed Bougacha authored
ImmutableCallSite abstracts away CallInst and InvokeInst. Use it! llvm-svn: 297426
-
Ahmed Bougacha authored
We unintentionally stopped falling back in r293670. While there, change an unusual construct. llvm-svn: 297425
-
Daniel Berlin authored
Summary: Similar to SmallPtrSet, this makes find and count work with both const referneces and const pointers. Reviewers: dblaikie Subscribers: llvm-commits, mzolotukhin Differential Revision: https://reviews.llvm.org/D30713 llvm-svn: 297424
-
Davide Italiano authored
llvm-svn: 297423
-
Tim Northover authored
They're used for nefarious purposes by ObjC. llvm-svn: 297422
-
Eli Friedman authored
Differential Revision: https://reviews.llvm.org/D30598 llvm-svn: 297421
-
Dan Gohman authored
llvm-svn: 297420
-
- Mar 09, 2017
-
-
Amaury Sechet authored
Summary: This essentially does the same transform as for ADC. Reviewers: jyknight, nemanjai, mkuper, spatel, RKSimon, zvi, bkramer Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D30417 llvm-svn: 297416
-
Michael Kruse authored
This pass allows writing the LLVM-IR just before and after the Polly passes to a file. Dumping the IR before Polly helps reproducing bugs that occur in code generated by clang. It is the only reliable way to get the IR that triggers a bug. The alternative is to emit the IR with clang -c -emit-llvm -S -o dump.ll then pass it through all optimization passes opt dump.ll -basicaa -sroa ... -S -o optdump.ll to then reproduce the error with opt optdump.ll -polly-opt-isl -polly-codegen -analyze However, the IR is not the same. -O3 uses a PassBuilder than creates passes with different parameters than the default. Dumping the IR after Polly is useful to compare a miscompilation with a known-good configuration. Differential Revision: https://reviews.llvm.org/D30788 llvm-svn: 297415
-
Krzysztof Parzyszek authored
- Fix the insertion point, which occasionally could have been incorrect. - Avoid creating multiple bitsplits with the same operands, if an old one could be reused. llvm-svn: 297414
-
Tim Northover authored
Amongst other things (I expect) this is necessary to ensure decent backtraces when an "unreachable" is involved. llvm-svn: 297413
-
Richard Smith authored
Add -cc1 flag -ast-dump-all to perform an AST dump including entities that haven't yet been deserialized. llvm-svn: 297412
-
Sanjay Patel authored
llvm-svn: 297411
-
Tim Northover authored
The good reason to do this is that static allocas are pretty simple to handle (especially at -O0) and avoiding tracking DBG_VALUEs throughout the pipeline should give some kind of performance benefit. The bad reason is that the debug pipeline is an unholy mess of implicit contracts, where determining whether "DBG_VALUE %reg, imm" actually implies a load or not involves the services of at least 3 soothsayers and the sacrifice of at least one chicken. And it still gets it wrong if the variable is at SP directly. llvm-svn: 297410
-
Sanjay Patel authored
Follow-up for: https://reviews.llvm.org/D30665 https://reviews.llvm.org/rL297390 llvm-svn: 297409
-
Matt Arsenault authored
llvm-svn: 297408
-
Sanjay Patel authored
llvm-svn: 297407
-
Yaxun Liu authored
Differential Revision: https://reviews.llvm.org/D30580 llvm-svn: 297406
-
Zachary Turner authored
llvm-svn: 297405
-
Amaury Sechet authored
Summary: This essentially does the same transform as for SUBC. Reviewers: jyknight, nemanjai, mkuper, spatel, RKSimon, zvi, bkramer Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D30437 llvm-svn: 297404
-
Tom Stellard authored
Summary: The add_tablegen macros defines its own install target, and it was also calling add_llvm_utility which adds another install target. Configuring with -DLLVM_TOOLS_INSTALL_DIR set to something other than 'bin' along with -DLLVM_INSTALL_UTILS=ON was causing llvm-tablgen to be installed to two separate directories. Reviewers: beanz, hans Reviewed By: beanz Subscribers: llvm-commits, mgorny Differential Revision: https://reviews.llvm.org/D30656 llvm-svn: 297403
-
Rui Ueyama authored
This is an alternative to https://reviews.llvm.org/D30500 to simplify the version definition parser and allow ":" in symbol names. Differential Revision: https://reviews.llvm.org/D30722 llvm-svn: 297402
-
Krzysztof Parzyszek authored
Extract individual transformations into their own functions. llvm-svn: 297401
-
Rong Xu authored
llvm-svn: 297400
-