- Jun 23, 2016
-
-
Martin Probst authored
Summary: Reviewers: djasper Subscribers: klimek, cfe-commits Differential Revision: http://reviews.llvm.org/D21658 llvm-svn: 273619
-
Matthias Braun authored
Do not dump intermediate state of the pending queue anymore now that we always dump the final state before picking. llvm-svn: 273618
-
Kyle Butt authored
Memory references were not being propagated for this folded load. This prevented optimizations like LICM from hoisting the load. Added test to verify that this allows LICM to proceed. llvm-svn: 273617
-
Kyle Butt authored
When considering whether to split an instruction with a memory operand into an explicit load and a register-based instruction, we currently check that the resulting instruction has exactly 1 def. This prevents 2 important LICM optimizations: compares with memory operands, and double indirect calls. All the tests and the test-suite pass without the check. My guess as to original intent is to limit the additional register pressure created by the new instruction, but given that we only split out a single register, it is already limited. The licm-dominance test now checks actual memory loads for hoisting instead of undef, and it tests compares. hoist-invariant-load.ll now checks for 2 hoists, the intended hoist, and a bonus from calling a got-relative function in a loop. llvm-svn: 273616
-
Matthias Braun authored
Consistenly display available and pending queues immediately before the scheduling choice is done. llvm-svn: 273615
-
Rafael Espindola authored
With that SystemZ knows to avoid a GOT for PIE. llvm-svn: 273614
-
George Burgess IV authored
Some of the bots running GCC 4.7 seem to be having trouble with lambdas that explicitly capture `this`. Relevant-looking bug: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53137 llvm-svn: 273613
-
Rafael Espindola authored
llvm-svn: 273612
-
Mike Aizatsky authored
Summary: It also fixes a bug, when first random might not be ascii. Differential Revision: http://reviews.llvm.org/D21573 llvm-svn: 273611
-
Rafael Espindola authored
llvm-svn: 273609
-
Anna Thomas authored
Summary: This instcombine rule folds away trunc operations that have value available from a prior load or store. This kind of code can be generated as a result of GVN widening the load or from source code as well. Reviewers: reames, majnemer, sanjoy Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D21246 llvm-svn: 273608
-
Tobias Grosser authored
This addresses warnings produced by clang's -Wextra-semi. This cleanup was suggested by Eugene Zelenko <eugene.zelenko@gmail.com> in http://reviews.llvm.org/D21488 and was split out to increase readability. llvm-svn: 273607
-
Dehao Chen authored
Summary: InstCombine needs to be performed after simplifycfg and sroa, otherwise it may make bad optimization decisions. Reviewers: davidxl, wmi, dnovillo Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D21568 llvm-svn: 273606
-
Matt Arsenault authored
This can help debug spilling problems. llvm-svn: 273605
-
Greg Clayton authored
This shows how to grab individual blocks from stack frames and get only the variables from those blocks. It then will iterate over all of the parent blocks and look for shadowed variables. llvm-svn: 273604
-
Martin Probst authored
Summary: Includes parenthesized type expressions and type aliases. Reviewers: djasper Subscribers: klimek, cfe-commits Differential Revision: http://reviews.llvm.org/D21597 llvm-svn: 273603
-
Richard Smith authored
llvm-svn: 273602
-
George Burgess IV authored
llvm-svn: 273601
-
Richard Smith authored
-Wfor-loop-analysis warnings for a for-loop with a condition variable. In such a case, the loop condition variable is modified on each iteration of the loop by definition. Original commit message: Rearrange condition handling so that semantic checks on a condition variable are performed before the other substatements of the construct are parsed, rather than deferring them until the end. This allows better error recovery from semantic errors in the condition, improves diagnostic order, and is a prerequisite for C++17 constexpr if. llvm-svn: 273600
-
Aaron Ballman authored
Default to using the Unicode version of Win32 APIs instead of the ANSI version. This helps to catch instances where a developer accidentally forgets to explicitly specify which version of the API to use and accidentally winds up failing to support non-ASCII characters properly. llvm-svn: 273599
-
Tobias Grosser authored
This is a regular maintenance update to ensure we are testing with a recent version of isl. llvm-svn: 273597
-
George Burgess IV authored
Previously, we just unified any arguments that seemed to be related to each other. With this patch, we now respect dereference levels, etc. which should make us substantially more accurate. Proper handling of StratifiedAttrs will be done in a later patch. Patch by Jia Chen. Differential Revision: http://reviews.llvm.org/D21536 llvm-svn: 273596
-
Rafael Espindola authored
llvm-svn: 273595
-
Hans Wennborg authored
We print those hex numbers with uppercase letters. llvm-svn: 273594
-
Michael Kuperstein authored
X86FrameLowering::adjustForHiPEPrologue() contains a hard-coded offset into an Erlang Runtime System-internal data structure (the PCB). As the layout of this data structure is prone to change, this poses problems for maintaining compatibility. To address this problem, the compiler can produce this information as module-level named metadata. For example (where P_NSP_LIMIT is the offending offset): !hipe.literals = !{ !2, !3, !4 } !2 = !{ !"P_NSP_LIMIT", i32 152 } !3 = !{ !"X86_LEAF_WORDS", i32 24 } !4 = !{ !"AMD64_LEAF_WORDS", i32 24 } Patch by Magnus Lang Differential Revision: http://reviews.llvm.org/D20363 llvm-svn: 273593
-
Vassil Vassilev authored
llvm-svn: 273592
-
Reid Kleckner authored
llvm-svn: 273591
-
Peter Collingbourne authored
llvm-svn: 273590
-
Peter Collingbourne authored
as it caused a regression in -Wfor-loop-analysis. llvm-svn: 273589
-
Nirav Dave authored
llvm-svn: 273588
-
Sanjoy Das authored
llvm-svn: 273587
-
Sanjoy Das authored
llvm-svn: 273586
-
Nirav Dave authored
Recommiting after correcting over-eager Debug Value transfer fixing PR28270. [DAG] Previously debug values would transfer debuginfo for the selected start node for a replacement which allows for debug to be dropped. Push debug value transfer to occur with node/value replacement in SelectionDAG, remove now extraneous transfers of debug values. This refixes PR9817 which was being incompletely checked in the testsuite. Reviewers: jyknight Subscribers: dblaikie, llvm-commits Differential Revision: http://reviews.llvm.org/D21037 llvm-svn: 273585
-
Sanjay Patel authored
This was noted in http://reviews.llvm.org/D21610 . The previous code predated the use of APInt ( http://reviews.llvm.org/rL47654 ), so it had to account for the fixed width of uint64_t. Now that we're using the variable width APInt, we can remove some complexity. llvm-svn: 273584
-
Ahmed Bougacha authored
The previous code would always do 1 or 2 prefix compares; explicitly only do one. This speeds up debug -gen-asm-matcher by ~10% (e.g. X86: 40s -> 35s). llvm-svn: 273583
-
Todd Fiala authored
llvm-svn: 273582
-
Pablo Barrio authored
Summary: SSAT saturates an integer, making sure that its value lies within an interval [-k, k]. Since the constant is given to SSAT as the number of bytes set to one, k + 1 must be a power of 2, otherwise the optimization is not possible. Also, the select_cc must use < and > respectively so that they define an interval. Reviewers: mcrosier, jmolloy, rengolin Subscribers: aemerson, rengolin, llvm-commits Differential Revision: http://reviews.llvm.org/D21372 llvm-svn: 273581
-
Artur Pilipenko authored
llvm-svn: 273580
-
Hans Wennborg authored
Differential Revision: http://reviews.llvm.org/D21630 llvm-svn: 273579
-
Chris Lattner authored
llvm-svn: 273578
-