- Mar 10, 2017
-
-
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
-
Rong Xu authored
Refactor the dumping function so that we can add other value profile kind easily. Differential Revision: https://reviews.llvm.org/D30752 llvm-svn: 297399
-
Jan Sjodin authored
Differential Revision: https://reviews.llvm.org/D27262 llvm-svn: 297398
-
Konstantin Zhuravlyov authored
[DebugInfo] Append extended dereferencing mechanism to variables' DIExpression for targets that support more than one address space Differential Revision: https://reviews.llvm.org/D29673 llvm-svn: 297397
-
Artem Belevich authored
If `--enable-var-scope` is in effect, variables with names that start with `$` are considered to be global. All other variables are local. All local variables get undefined at the beginning of each CHECK-LABEL block. Global variables are not affected by CHECK-LABEL. This makes it easier to ensure that individual tests are not affected by variables set in preceding tests. Differential Revision: https://reviews.llvm.org/D30749 llvm-svn: 297396
-
Michael Kruse authored
Generate a PollyConfig.cmake for use with Cmake's find_package in out-of-tree projects. Contributed-by:
Philip Pfaffe <philip.pfaffe@gmail.com> Differential Revision: https://reviews.llvm.org/D30495 llvm-svn: 297395
-