- Jul 12, 2010
-
-
Gabor Greif authored
llvm-svn: 108137
-
Gabor Greif authored
llvm-svn: 108135
-
Gabor Greif authored
llvm-svn: 108131
-
Duncan Sands authored
llvm-svn: 108130
-
Chris Lattner authored
the LHS and RHS of an and/or instruction, don't multiply add known predecessor values. This fixes the crash on testcase from PR7498 llvm-svn: 108114
-
- Jul 10, 2010
-
-
Duncan Sands authored
operation, but the way it's implemented requires the operation to also be commutative. So add a check for commutativity (and tweak the corresponding comments). This makes no difference in practice since every associative LLVM instruction is also commutative! Here's an example to show the need for commutativity: the accum_recursion.ll testcase calculates the factorial function. Before the transformation the result of a call is ((((1*1)*2)*3)...)*x while afterwards it is (((1*x)*(x-1))...*2)*1 which clearly requires both associativity and commutativity of * to be equal to the original. llvm-svn: 108056
-
- Jul 09, 2010
-
-
Gabor Greif authored
llvm-svn: 107976
-
Gabor Greif authored
llvm-svn: 107971
-
Gabor Greif authored
llvm-svn: 107969
-
- Jul 08, 2010
-
-
Chris Lattner authored
address spaces when SRoA'ing memcpy's. llvm-svn: 107846
-
- Jul 06, 2010
-
-
Nick Lewycky authored
llvm-svn: 107637
-
- Jul 02, 2010
-
-
Dan Gohman authored
have any effect, and second, deleting stores can potentially invalidate an AliasAnalysis, and there's currently no notification for this. llvm-svn: 107496
-
- Jun 30, 2010
-
-
Gabor Greif authored
llvm-svn: 107278
-
Gabor Greif authored
llvm-svn: 107273
-
Gabor Greif authored
llvm-svn: 107272
-
Gabor Greif authored
llvm-svn: 107271
-
Gabor Greif authored
llvm-svn: 107270
-
- Jun 28, 2010
-
-
Gabor Greif authored
llvm-svn: 107015
-
Gabor Greif authored
llvm-svn: 107000
-
- Jun 27, 2010
-
-
Chris Lattner authored
large integers, the first inserted value would always create an 'or X, 0'. Even though this is trivially zapped by instcombine, don't bother creating this pointless instruction. llvm-svn: 106979
-
- Jun 26, 2010
-
-
Duncan Sands authored
the returned value after the tail call if it differs from other return values. The optimal thing to do would be to introduce a phi node for the return value, but for the moment just fix the miscompile. llvm-svn: 106947
-
Dan Gohman authored
SCEVUnknown values which are loop-variant, as LSR can't do anything interesting with these values in any case. This fixes very slow compile times on loops which have large numbers of such values. llvm-svn: 106897
-
- Jun 25, 2010
-
-
Dale Johannesen authored
for an "i" constraint should get lowered; PR 6309. While this argument was passed around a lot, this is the only place it was used, so it goes away from a lot of other places. llvm-svn: 106893
-
Gabor Greif authored
use ArgOperand API; tighten type of handleFreeWithNonTrivialDependency to be able to use isFreeCall whithout a cast or new overload llvm-svn: 106823
-
- Jun 24, 2010
-
-
Dan Gohman authored
llvm-svn: 106764
-
Dan Gohman authored
enough special case, and it theoretically allows more folding because it works even when x is unanalyzable. llvm-svn: 106763
-
Dan Gohman authored
llvm-svn: 106759
-
Gabor Greif authored
llvm-svn: 106734
-
Gabor Greif authored
llvm-svn: 106731
-
Gabor Greif authored
llvm-svn: 106730
-
Gabor Greif authored
llvm-svn: 106729
-
Gabor Greif authored
llvm-svn: 106709
-
Gabor Greif authored
llvm-svn: 106707
-
Devang Patel authored
The ValueMapper used by various cloning utility maps MDNodes also. llvm-svn: 106706
-
- Jun 23, 2010
-
-
Dan Gohman authored
is another max which folds. This fixes PR7454. llvm-svn: 106594
-
- Jun 22, 2010
-
-
Dan Gohman authored
llvm-svn: 106542
-
- Jun 21, 2010
-
-
Dan Gohman authored
SmallVector, and other SmallVector simplifications. llvm-svn: 106452
-
- Jun 19, 2010
-
-
Dan Gohman authored
llvm-svn: 106397
-
Dan Gohman authored
use sharing map. The reconcileNewOffset logic already forces a separate use if the kinds differ, so incorporating the kind in the key means we can track more sharing opportunities. More sharing means fewer total uses to track, which means smaller problem sizes, which means the conservative throttles don't kick in as often. llvm-svn: 106396
-
Dan Gohman authored
llvm-svn: 106395
-