- Dec 21, 2009
-
-
Chris Lattner authored
no functionality change. llvm-svn: 91848
-
Bob Wilson authored
two-element arrays. After restructuring the SROA code, it was not safe to do this without adding more checking. It is not clear that this special-case has really been useful, and removing this simplifies the code quite a bit. llvm-svn: 91828
-
Chris Lattner authored
the underlying PHI node insertion issue in SSAUpdate is fixed. llvm-svn: 91821
-
Chris Lattner authored
'GetValueInMiddleOfBlock' case, instead of inserting duplicates. A similar fix is almost certainly needed by the machine-level SSAUpdate implementation. llvm-svn: 91820
-
Chris Lattner authored
implement some optimizations for MIN(MIN()) and MAX(MAX()) and MIN(MAX()) etc. This substantially improves the code in PR5822 but doesn't kick in much elsewhere. 2 max's were optimized in pairlocalalign and one in smg2000. llvm-svn: 91814
-
Chris Lattner authored
Use the presence of NSW/NUW to fold "icmp (x+cst), x" to a constant in cases where it would otherwise be undefined behavior. Surprisingly (to me at least), this triggers hundreds of the times in a few benchmarks: lencode, ldecode, and 466.h264ref seem to *really* like this. llvm-svn: 91812
-
Chris Lattner authored
a bunch in lencode, ldecod, spass, 176.gcc, 252.eon, among others. It is also the first part of PR5822 llvm-svn: 91811
-
- Dec 19, 2009
-
-
Douglas Gregor authored
llvm-svn: 91764
-
Chris Lattner authored
where instcombine would have to split a critical edge due to a phi node of an invoke. Since instcombine can't change the CFG, it has to bail out from doing the transformation. llvm-svn: 91763
-
Bob Wilson authored
* change FindElementAndOffset to return a uint64_t instead of unsigned, and to identify the type to be used for that result in a GEP instruction. * move "isa<ConstantInt>" to be first in conditional. * replace some dyn_casts with casts. * add a comment about handling mem intrinsics. llvm-svn: 91762
-
- Dec 18, 2009
-
-
Bob Wilson authored
bootstrap. This also replaces the WeakVH references that Chris objected to with normal Value references. llvm-svn: 91711
-
Eli Friedman authored
multiple uses. (The construct in question was found in gcc.) llvm-svn: 91675
-
Dan Gohman authored
llvm-svn: 91666
-
Dan Gohman authored
contains another loop, or an instruction. The loop form is substantially more efficient on large loops than the typical code it replaces. llvm-svn: 91654
-
Dan Gohman authored
llvm-svn: 91653
-
Dan Gohman authored
llvm-svn: 91647
-
Dan Gohman authored
llvm-svn: 91645
-
Dan Gohman authored
of 91296 that caused trouble -- the Processed list needs to be preserved for the livetime of the pass, as AddUsersIfInteresting is called from other passes. llvm-svn: 91641
-
- Dec 17, 2009
-
-
Eli Friedman authored
llvm-svn: 91631
-
Eli Friedman authored
llvm-svn: 91624
-
Eli Friedman authored
to memcpy. (Such a memcpy is technically illegal, but in practice is safe and is generated by struct self-assignment in C code.) llvm-svn: 91621
-
Bob Wilson authored
llvm-svn: 91607
-
Evan Cheng authored
Revert 91280-91283, 91286-91289, 91291, 91293, 91295-91296. It apparently introduced a non-deterministic behavior in the optimizer somewhere. llvm-svn: 91598
-
- Dec 16, 2009
-
-
Daniel Dunbar authored
Reapply r91459, it was only unmasking the bug, and since TOT is still broken having it reverted does no good. llvm-svn: 91559
-
Daniel Dunbar authored
problem", this broke llvm-gcc bootstrap for release builds on x86_64-apple-darwin10. This reverts commit db22309800b224a9f5f51baf76071d7a93ce59c9. llvm-svn: 91534
-
Chris Lattner authored
miscompile (i386.o miscompares) but it happens both with and without this patch. llvm-svn: 91532
-
Chris Lattner authored
Will reapply with a fix when I get a chance. llvm-svn: 91486
-
- Dec 15, 2009
-
-
Bob Wilson authored
found last time. Instead of trying to modify the IR while iterating over it, I've change it to keep a list of WeakVH references to dead instructions, and then delete those instructions later. I also added some special case code to detect and handle the situation when both operands of a memcpy intrinsic are referencing the same alloca. llvm-svn: 91459
-
Chris Lattner authored
llvm-svn: 91438
-
Dan Gohman authored
llvm-svn: 91432
-
Chris Lattner authored
llvm-svn: 91428
-
Chris Lattner authored
isPodLike type trait. This is a generally useful type trait for more than just DenseMap, and we really care about whether something acts like a pod, not whether it really is a pod. llvm-svn: 91421
-
- Dec 14, 2009
-
-
Dan Gohman authored
condition was inverted when the code was converted to contains(). llvm-svn: 91295
-
Dan Gohman authored
llvm-svn: 91293
-
Dan Gohman authored
the ScalarEvolution pointer into the functions which need it. llvm-svn: 91289
-
Dan Gohman authored
llvm-svn: 91288
-
Dan Gohman authored
llvm-svn: 91287
-
Dan Gohman authored
llvm-svn: 91283
-
Dan Gohman authored
llvm-svn: 91282
-
Dan Gohman authored
SCEVExpander does this automatically. llvm-svn: 91281
-