- Oct 26, 2011
-
-
Evan Cheng authored
on Darwin platforms where -Os means optimize for size without hurting performance. llvm-svn: 143002
-
Bill Wendling authored
An MBB which branches to an EH landing pad shouldn't be considered for tail merging. In SjLj EH, the jump to the landing pad is not done explicitly through a branch statement. The EH landing pad is added as a successor to the throwing BB. Because of that however, the branch folding pass could mistakenly think that it could merge the throwing BB with another BB. This isn't safe to do. <rdar://problem/10334833> llvm-svn: 143001
-
Mon P Wang authored
fix up later. For this special case, allow such a mask to be considered valid. <rdar://problem/8622574> llvm-svn: 142992
-
Michael J. Spencer authored
llvm-svn: 142983
-
Michael J. Spencer authored
llvm-svn: 142981
-
- Oct 25, 2011
-
-
Owen Anderson authored
llvm-svn: 142970
-
Owen Anderson authored
Add support for the notion of "hidden" relocations. On MachO, these are relocation entries that are used as additional information for other, real relocations, rather than being relocations themselves. I'm not familiar enough with ELF or COFF to know if they should have any relocations marked hidden. llvm-svn: 142961
-
Eli Friedman authored
llvm-svn: 142959
-
Jim Grosbach authored
PR11217. llvm-svn: 142956
-
Owen Anderson authored
llvm-svn: 142938
-
Bruno Cardoso Lopes authored
This first patch is for expression variable kinds. Patch by Jack Carter! llvm-svn: 142934
-
Bruno Cardoso Lopes authored
The address for $sp, and addresses for sdc1/ldc1 must be 8-byte aligned Patch by Petar Jovanovic. llvm-svn: 142930
-
Duncan Sands authored
down to this commit. Original commit message: An MBB which branches to an EH landing pad shouldn't be considered for tail merging. In SjLj EH, the jump to the landing pad is not done explicitly through a branch statement. The EH landing pad is added as a successor to the throwing BB. Because of that however, the branch folding pass could mistakenly think that it could merge the throwing BB with another BB. This isn't safe to do. <rdar://problem/10334833> llvm-svn: 142920
-
Duncan Sands authored
bots. Original commit messages: - Reapply r142781 with fix. Original message: Enhance SCEV's brute force loop analysis to handle multiple PHI nodes in the loop header when computing the trip count. With this, we now constant evaluate: struct ListNode { const struct ListNode *next; int i; }; static const struct ListNode node1 = {0, 1}; static const struct ListNode node2 = {&node1, 2}; static const struct ListNode node3 = {&node2, 3}; int test() { int sum = 0; for (const struct ListNode *n = &node3; n != 0; n = n->next) sum += n->i; return sum; } - Now that we look at all the header PHIs, we need to consider all the header PHIs when deciding that the loop has stopped evolving. Fixes miscompile in the gcc torture testsuite! llvm-svn: 142919
-
Chandler Carruth authored
classifying many edges as exiting which were in fact not. These mainly formed edges into sub-loops. It was also not correctly classifying all returning edges out of loops as leaving the loop. With this match most of the loop heuristics are more rational. Several serious regressions on loop-intesive benchmarks like perlbench's loop tests when built with -enable-block-placement are fixed by these updated heuristics. Unfortunately they in turn uncover some other regressions. There are still several improvemenst that should be made to loop heuristics including trip-count, and early back-edge management. llvm-svn: 142917
-
Duncan Sands authored
the dragonegg and llvm-gcc self-host buildbots. Original commit messages: - Reapply r142781 with fix. Original message: Enhance SCEV's brute force loop analysis to handle multiple PHI nodes in the loop header when computing the trip count. With this, we now constant evaluate: struct ListNode { const struct ListNode *next; int i; }; static const struct ListNode node1 = {0, 1}; static const struct ListNode node2 = {&node1, 2}; static const struct ListNode node3 = {&node2, 3}; int test() { int sum = 0; for (const struct ListNode *n = &node3; n != 0; n = n->next) sum += n->i; return sum; } - Now that we look at all the header PHIs, we need to consider all the header PHIs when deciding that the loop has stopped evolving. Fixes miscompile in the gcc torture testsuite! llvm-svn: 142916
-
Nick Lewycky authored
llvm-svn: 142912
-
Eric Christopher authored
llvm-svn: 142892
-
Bill Wendling authored
In SjLj EH, the jump to the landing pad is not done explicitly through a branch statement. The EH landing pad is added as a successor to the throwing BB. Because of that however, the branch folding pass could mistakenly think that it could merge the throwing BB with another BB. This isn't safe to do. <rdar://problem/10334833> llvm-svn: 142891
-
Jim Grosbach authored
Four entry register lists. llvm-svn: 142882
-
Dan Gohman authored
llvm-svn: 142880
-
Dan Gohman authored
llvm-svn: 142878
-
Jim Grosbach authored
llvm-svn: 142877
-
Jim Grosbach authored
Three entry register list variation. llvm-svn: 142876
-
Owen Anderson authored
More fixes and improvements to MachO relocation pretty-printing, particular for x86 and x86_64 relocations with addends. llvm-svn: 142875
-
Eli Friedman authored
llvm-svn: 142871
-
Bill Wendling authored
table. A hidden variable could potentially end up in both lists. <rdar://problem/10336715> llvm-svn: 142869
-
Evan Cheng authored
llvm-svn: 142867
-
Jim Grosbach authored
One and two length register list variants. llvm-svn: 142861
-
- Oct 24, 2011
-
-
Jim Grosbach authored
Split am6offset into fixed and register offset variants so the instruction encodings are explicit rather than relying an a magic reg0 marker. Needed to being able to parse these. llvm-svn: 142853
-
Owen Anderson authored
llvm-svn: 142852
-
Nick Lewycky authored
when deciding that the loop has stopped evolving. Fixes miscompile in the gcc torture testsuite! llvm-svn: 142843
-
Eli Friedman authored
llvm-svn: 142841
-
Owen Anderson authored
llvm-svn: 142840
-
Douglas Gregor authored
llvm-svn: 142822
-
Douglas Gregor authored
llvm-svn: 142821
-
Owen Anderson authored
Fix a NEON disassembly case that was broken in the recent refactorings. As more of this code gets refactored, a lot of these manual decoding hooks should get smaller and/or go away entirely. llvm-svn: 142817
-
Dan Gohman authored
physreg dependencies, and upcoming codegen changes will require proper physreg dependence handling. llvm-svn: 142816
-
Dan Gohman authored
llvm-svn: 142815
-
Dan Gohman authored
use of Sched::ILP instead, as Sched::Latency is going away. llvm-svn: 142813
-