- Jun 20, 2008
-
-
Matthijs Kooijman authored
llvm-svn: 52539
-
Matthijs Kooijman authored
type wasn't changed. llvm-svn: 52538
-
Matthijs Kooijman authored
into T) when no return values are actually dead. llvm-svn: 52537
-
Matthijs Kooijman authored
DeadArgumentElimination and assert that the function type does not change if nothing was changed. This should catch subtle changes in function type that are not intended. llvm-svn: 52536
-
Matthijs Kooijman authored
llvm-svn: 52535
-
Matthijs Kooijman authored
This is a fixed version that no longer uses multimap::equal_range, which resulted in a pointer invalidation problem. Also, DAE::InspectedFunctions was not really necessary, so it got removed. Lastly, this version no longer applies the extra arg hack on functions who did not have any arguments to start with. llvm-svn: 52532
-
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
-