- Apr 20, 2010
-
-
Chris Lattner authored
loop unswitch, and use inst simplify instead. It is more powerful and less duplication. llvm-svn: 101874
-
Chris Lattner authored
condition we're unswitching on. In this case, don't try to simplify the second copy of the loop which may be dead or not, but is probably a constant now. This fixes PR6879 llvm-svn: 101870
-
- Apr 19, 2010
-
-
Dan Gohman authored
just ask ScalarEvolution for it on demand. This helps IVUsers be more robust in the case of expressions changing underneath it. This fixes PR6862. llvm-svn: 101819
-
- Apr 17, 2010
-
-
Eric Christopher authored
Probably the best way to know that all getOperand() calls have been handled is to replace that API instead of updating. llvm-svn: 101579
-
- Apr 16, 2010
-
-
Dan Gohman authored
callee is expected to be expanded to something else by codegen, so that normal infinitely recursive calls are still transformed. llvm-svn: 101468
-
Gabor Greif authored
with a fix for self-hosting rotate CallInst operands, i.e. move callee to the back of the operand array the motivation for this patch are laid out in my mail to llvm-commits: more efficient access to operands and callee, faster callgraph-construction, smaller compiler binary llvm-svn: 101465
-
Chris Lattner authored
llvm-svn: 101437
-
Gabor Greif authored
llvm-svn: 101434
-
Chris Lattner authored
wanted the alignment of the pointee. llvm-svn: 101432
-
Chris Lattner authored
llvm-svn: 101429
-
Chris Lattner authored
place. llvm-svn: 101427
-
Chris Lattner authored
ConvertToScalarInfo. llvm-svn: 101425
-
Gabor Greif authored
llvm-svn: 101423
-
Chris Lattner authored
CanConvertToScalar/MergeInType. Eliminate a pointless LLVMContext argument to MergeInType. llvm-svn: 101422
-
- Apr 15, 2010
-
-
Chris Lattner authored
llvm-svn: 101405
-
Gabor Greif authored
with a fix rotate CallInst operands, i.e. move callee to the back of the operand array the motivation for this patch are laid out in my mail to llvm-commits: more efficient access to operands and callee, faster callgraph-construction, smaller compiler binary llvm-svn: 101397
-
Dan Gohman authored
llvm-svn: 101376
-
Gabor Greif authored
llvm-svn: 101368
-
Gabor Greif authored
of the operand array the motivation for this patch are laid out in my mail to llvm-commits: more efficient access to operands and callee, faster callgraph-construction, smaller compiler binary llvm-svn: 101364
-
- Apr 14, 2010
-
-
Gabor Greif authored
llvm-svn: 101253
-
Gabor Greif authored
llvm-svn: 101250
-
- Apr 13, 2010
-
-
Owen Anderson authored
llvm-svn: 101125
-
Owen Anderson authored
llvm-svn: 101117
-
Dan Gohman authored
numerator is an induction variable. For example, with code like this: for (i=0;i<n;++i) x[i%n] = 0; IndVarSimplify will now recognize that i is always less than n inside the loop, and eliminate the remainder. llvm-svn: 101113
-
- Apr 12, 2010
-
-
Dan Gohman authored
expression is a UDiv and it doesn't appear that the UDiv came from the user's source. ScalarEvolution has recently figured out how to compute a tripcount expression for the inner loop in SingleSource/Benchmarks/Shootout/sieve.c, using a udiv. Emitting a udiv instruction dramatically slows down the enclosing loop. llvm-svn: 101068
-
Dan Gohman authored
llvm-svn: 101033
-
Dan Gohman authored
a ScalarEvolution bug with overflow handling is fixed, the normal analysis code will automatically decline to operate on the icmp instructions which are responsible for the loop exit. llvm-svn: 101032
-
Dan Gohman authored
instead of deleting just the user. This makes it more consistent with other code in IndVarSimplify, and theoretically can eliminate more users earlier. llvm-svn: 101027
-
Dan Gohman authored
the loop exit test. This usually doesn't come up for a variety of reasons, but it isn't impossible, so make IndVarSimplify handle it conservatively. llvm-svn: 101008
-
Dan Gohman authored
llvm-svn: 101002
-
Dan Gohman authored
variables. For example, with code like this: for (i=0;i<n;++i) if (i<n) x[i] = 0; IndVarSimplify will now recognize that i is always less than n inside the loop, and eliminate the if. llvm-svn: 101000
-
- Apr 11, 2010
-
-
Dan Gohman authored
that it's only testing for the entry condition, not full loop-invariant conditions. llvm-svn: 100979
-
- Apr 10, 2010
-
-
Chris Lattner authored
in some cases. llvm-svn: 100937
-
Dan Gohman authored
into adjacent loops. Also, ensure that the insert position is dominated by the loop latch of any loop in the post-inc set which has a latch. llvm-svn: 100906
-
- Apr 09, 2010
-
-
Dan Gohman authored
so that an unfortunately placed bitcast doesn't pin a value in a register. llvm-svn: 100883
-
Gabor Greif authored
llvm-svn: 100856
-
Dan Gohman authored
a separate function. llvm-svn: 100845
-
Chris Lattner authored
forced constant is changed to a constant, we would end up adding the instruction to the wrong worklist, preventing it from being properly revisited. This fixes rdar://7832370 llvm-svn: 100837
-
Dan Gohman authored
inputs happen to negate each other. llvm-svn: 100828
-
Dan Gohman authored
llvm-svn: 100824
-