- Jun 20, 2008
-
-
Owen Anderson authored
llvm-svn: 52531
-
Chris Lattner authored
llvm-svn: 52525
-
Owen Anderson authored
Change around the data structures used to store availability sets, resulting in a GVN+PRE that is faster that GVN alone was before. llvm-svn: 52521
-
Dan Gohman authored
propagating constants across aggregate return values when insertvalue and extractvalue are used. llvm-svn: 52520
-
Dan Gohman authored
return statements and aggregate returns so that it handles both correctly. llvm-svn: 52519
-
Evan Cheng authored
llvm-svn: 52518
-
- Jun 19, 2008
-
-
Owen Anderson authored
once benchmarking is completed. llvm-svn: 52506
-
Owen Anderson authored
llvm-svn: 52505
-
Bill Wendling authored
llvm-svn: 52502
-
Dan Gohman authored
using BasicBlock::getInstList. llvm-svn: 52500
-
Owen Anderson authored
This fixes a failure on povray. llvm-svn: 52499
-
Dan Gohman authored
directly. llvm-svn: 52498
-
Dan Gohman authored
llvm-svn: 52497
-
Owen Anderson authored
GVN expects that all inputs which to an instruction fall somewhere in the value hierarchy, which isn't true for these. llvm-svn: 52496
-
Dan Gohman authored
llvm-svn: 52494
-
Matthijs Kooijman authored
using getOperand() directly. This makes things work with invoke instructions as well. llvm-svn: 52489
-
- Jun 18, 2008
-
-
Owen Anderson authored
llvm-svn: 52472
-
Owen Anderson authored
Add local PRE to GVN. This only operates in cases where it would not increase code size, namely when the instantiated expression would only need to be created in one predecessor. llvm-svn: 52471
-
Chris Lattner authored
llvm-svn: 52466
-
Owen Anderson authored
Revert r52459, which was causing an infinite loop or massive slowdown on MultiSource/Applications/SPASS, and possibly others as well. Please reapply once this is fixed. llvm-svn: 52465
-
Dan Gohman authored
function, and make use of it in several places. llvm-svn: 52463
-
Matthijs Kooijman authored
dependencies between return values and/or arguments. Also make the handling of arguments and return values the same. The pass now looks properly inside returned structs, but only at the first level (ie, not inside nested structs). Also add a testcase for testing various variations of (multiple) dead rerturn values. llvm-svn: 52459
-
Matthijs Kooijman authored
time. Sorry for the trouble! This time, also add a testcase, which I should have done in the first place... llvm-svn: 52455
-
Matthijs Kooijman authored
commit after this). llvm-svn: 52453
-
-
Chris Lattner authored
implements rdar://6013816 and the testcase in Transforms/InstCombine/sext-misc.ll. llvm-svn: 52440
-
Devang Patel authored
llvm-svn: 52438
-
Owen Anderson authored
We don't want to find dependencies within the same block in this case. It leads to incorrect results because we're detecting something at or after the call we're querying on. llvm-svn: 52433
-
- Jun 17, 2008
-
-
Chris Lattner authored
llvm-svn: 52415
-
Duncan Sands authored
Spotted by Nick Lewycky. llvm-svn: 52411
-
Matthijs Kooijman authored
speaking these are not constant values. However, when a function always returns one of its arguments, then from the point of view of each caller the return value is constant (or at least a known value) and can be replaced. llvm-svn: 52397
-
Matthijs Kooijman authored
individually. Also learn IPConstProp how returning first class aggregates work, in addition to old style multiple return instructions. Modify the return-constants testscase to confirm this behaviour. llvm-svn: 52396
-
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
-
Matthijs Kooijman authored
llvm-svn: 52318
-
Matthijs Kooijman authored
llvm-svn: 52316
-
Matthijs Kooijman authored
I'm at it, rename it to FindInsertedValue. The only functional change is that newly created instructions are no longer added to instcombine's worklist, but that is not really necessary anyway (and I'll commit some improvements next that will completely remove the need). llvm-svn: 52315
-
Chris Lattner authored
llvm-svn: 52295
-
- Jun 14, 2008
-
-
Chris Lattner authored
llvm-svn: 52267
-