- Nov 29, 2008
-
-
Bill Wendling authored
llvm-svn: 60233
-
- Nov 28, 2008
-
-
Chris Lattner authored
making it use RecursivelyDeleteTriviallyDeadInstructions to do the heavy lifting. llvm-svn: 60195
-
Chris Lattner authored
llvm-svn: 60192
-
- Oct 23, 2008
-
-
Daniel Dunbar authored
LoopPass*. - Although less precise, this means they can be used in clients without RTTI (who would otherwise need to include LoopPass.h, which eventually includes things using dynamic_cast). This was the simplest solution that presented itself, but I am happy to use a better one if available. llvm-svn: 58010
-
- Oct 01, 2008
-
-
Dan Gohman authored
instruction, not after. This fixes some uses of free'd memory. llvm-svn: 56908
-
- Sep 15, 2008
-
-
Dan Gohman authored
cases. See the comment above OptimizeSMax for the full story, and the testcase for an example. This cancels out a pessimization commonly attributed to indvars, and will allow us to lift some of the artificial throttles in indvars, rather than add new ones. llvm-svn: 56230
-
- Sep 09, 2008
-
-
Devang Patel authored
llvm-svn: 56011
-
- Sep 08, 2008
-
-
Devang Patel authored
llvm-svn: 55924
-
Devang Patel authored
llvm-svn: 55913
-
- Sep 04, 2008
-
-
Dan Gohman authored
llvm-svn: 55779
-
- Sep 03, 2008
-
-
Devang Patel authored
llvm-svn: 55682
-
Devang Patel authored
llvm-svn: 55680
-
Devang Patel authored
llvm-svn: 55678
-
Devang Patel authored
llvm-svn: 55674
-
- Aug 27, 2008
-
-
Devang Patel authored
llvm-svn: 55433
-
Devang Patel authored
llvm-svn: 55424
-
- Aug 26, 2008
-
-
Devang Patel authored
llvm-svn: 55374
-
- Aug 17, 2008
-
-
Evan Cheng authored
llvm-svn: 54878
-
- Aug 15, 2008
-
-
Devang Patel authored
llvm-svn: 54821
-
Evan Cheng authored
llvm-svn: 54813
-
- Aug 14, 2008
-
-
Devang Patel authored
llvm-svn: 54786
-
- Aug 13, 2008
-
-
Devang Patel authored
llvm-svn: 54754
-
Devang Patel authored
llvm-svn: 54710
-
- Aug 06, 2008
-
-
Evan Cheng authored
Fix PR2355: bug in ChangeCompareStride. When the loop termination compare is the only use of its iv stride, the stride can be eliminated by moving it to another stride. If the scale is negative, swap the predicate instead of using a inverse predicate. llvm-svn: 54415
-
- Jul 21, 2008
-
-
Dan Gohman authored
leads into a cycle involving a different PHI, LSR got stuck running around that cycle looking for the original PHI. To avoid this, keep track of visited PHIs and stop searching if we see one more than once. This fixes PR2570. llvm-svn: 53879
-
- Jul 14, 2008
-
-
Dan Gohman authored
llvm-svn: 53564
-
- Jul 07, 2008
-
-
Evan Cheng authored
1. LSR runOnLoop is always returning false regardless if any transformation is made. 2. AddUsersIfInteresting can create new instructions that are added to DeadInsts. But there is a later early exit which prevents them from being freed. llvm-svn: 53193
-
- Jun 24, 2008
-
-
Dan Gohman authored
llvm-svn: 52648
-
- Jun 22, 2008
-
-
Dan Gohman authored
with more than two nodes. llvm-svn: 52617
-
- Jun 18, 2008
-
-
Dan Gohman authored
function, and make use of it in several places. llvm-svn: 52463
-
- Jun 17, 2008
-
-
Dan Gohman authored
when changing the stride of a comparison so that it's slightly more precise, by having it scan the instruction list to determine if there is a use of the condition after the point where the condition will be inserted. llvm-svn: 52371
-
- Jun 16, 2008
-
-
Evan Cheng authored
llvm-svn: 52361
-
Evan Cheng authored
llvm-svn: 52339
-
- Jun 13, 2008
-
-
Dan Gohman authored
for it to generate use-before-def IR, such as in this testcase. llvm-svn: 52258
-
- Jun 11, 2008
-
-
Gabor Greif authored
llvm-svn: 52226
-
- May 24, 2008
-
-
Evan Cheng authored
Remove x86.sse2.loadh.pd and x86.sse2.loadl.pd. These will be lowered into load and shuffle instructions. llvm-svn: 51521
-
- May 21, 2008
-
-
Dan Gohman authored
ScalarEvolution::deleteValueFromRecords on it before doing the replaceAllUsesWith, because ScalarEvolution looks at the instruction's users to find SCEV references to the instruction's SCEV object in its internal maps. Move all of LSR's loop-related state clearing after processing the loop and before cleaning up dead PHI nodes. This eliminates all of LSR's SCEV references just before the calls to ScalarEvolution::deleteValueFromRecords so that when ScalarEvolution drops its own SCEV references, the reference counts will reach zero and the SCEVs will be deleted immediately. These changes fix some compiler aborts involving ScalarEvolution holding onto and reusing SCEV objects for instructions that have been deleted. No regression test unfortunately; because the symptoms were due to dangling pointers, reduced testcases ended up being fairly arbitrary. llvm-svn: 51359
-
- May 20, 2008
-
-
Dan Gohman authored
replaced is a PHI. This prevents it from inserting uses before defs in the case that it isn't a PHI and it depends on other instructions later in the block. This fixes the 447.dealII regression on x86-64. llvm-svn: 51292
-
- May 16, 2008
-
-
Dan Gohman authored
use-before-def. The problem comes up in code with multiple PHIs where one PHI is being rewritten in terms of the other, but the other needs to be casted first. LLVM rules requre the cast instruction to be inserted after any PHI instructions, but when instructions were inserted to replace the second PHI value with a function of the first, they were ended up going before the cast instruction. Avoid this problem by remembering the location of the cast instruction, when one is needed, and inserting the expansion of the new value after it. This fixes a bug that surfaced in 255.vortex on x86-64 when instcombine was removed from the middle of the loop optimization passes. llvm-svn: 51169
-
- May 13, 2008
-
-
Dan Gohman authored
several things that were neither in an anonymous namespace nor static but not intended to be global. llvm-svn: 51017
-