search for: computeexitlimitfromicmp

Displaying 8 results from an estimated 8 matches for "computeexitlimitfromicmp".

2012 Feb 27
2
[LLVMdev] How to unroll loop with non-constant boundary
Hi Benjamin, > LLVM misses this optimization because ScalarEvolution's ComputeExitLimitFromICmp doesn't handle signed<= (SLE) and thus can't compute the number of times the loop is executed. I wonder if there's a reason for this, it seems like something simple to add. instsimplify could also be enhanced to clean it up in this particular case, but it would be better to make sce...
2012 Feb 27
0
[LLVMdev] How to unroll loop with non-constant boundary
...uot;3" > ret i32 %2 > } > > The questions: > Is it possible to unroll loop with non-constant boundary using standard LLVM 3.1 facilities, and, if it is, how I can do that? Hi Nicolas, LLVM misses this optimization because ScalarEvolution's ComputeExitLimitFromICmp doesn't handle signed <= (SLE) and thus can't compute the number of times the loop is executed. I wonder if there's a reason for this, it seems like something simple to add. Attached is a completely untested patch that adds the missing logic. -------------- next part --------------...
2012 Feb 27
3
[LLVMdev] How to unroll loop with non-constant boundary
Dear LLVM, Consider two loops with one interation - First with constant lower bound, second with usual non-constant lower bound: int main(int argc, char ** argv) { int numOfIterations= 1; int stride=1; int lowerBound = 1000; - 1st | int lowerBound = argc; - 2nd int upperBound = lowerBound + (numOfIterations - 1)*stride; int i = lowerBound;
2012 Mar 07
2
[LLVMdev] How to unroll loop with non-constant boundary
...th low==end and stride!=1. Please find it for review. -Stepan 28.02.2012, 17:41, "Benjamin Kramer" <benny.kra at googlemail.com>: > On 27.02.2012, at 20:17, Duncan Sands wrote: > >>  Hi Benjamin, >>>  LLVM misses this optimization because ScalarEvolution's ComputeExitLimitFromICmp doesn't handle signed<= (SLE) and thus can't compute the number of times the loop is executed. I wonder if there's a reason for this, it seems like something simple to add. >>  instsimplify could also be enhanced to clean it up in this particular case, but >>  it would be...
2012 Feb 28
0
[LLVMdev] How to unroll loop with non-constant boundary
On 27.02.2012, at 20:17, Duncan Sands wrote: > Hi Benjamin, > >> LLVM misses this optimization because ScalarEvolution's ComputeExitLimitFromICmp doesn't handle signed<= (SLE) and thus can't compute the number of times the loop is executed. I wonder if there's a reason for this, it seems like something simple to add. > > instsimplify could also be enhanced to clean it up in this particular case, but > it would be bet...
2012 Feb 27
2
[LLVMdev] How to unroll loop with non-constant boundary
...ret i32 %2 >>       } >> >>     The questions: >>       Is it possible to unroll loop with non-constant boundary using standard LLVM 3.1 facilities, and, if it is, how I can do that? > > Hi Nicolas, > > LLVM misses this optimization because ScalarEvolution's ComputeExitLimitFromICmp doesn't handle signed <= (SLE) and thus can't compute the number of times the loop is executed. I wonder if there's a reason for this, it seems like something simple to add. > > Attached is a completely untested patch that adds the missing logic. Off the top of my head, the at...
2012 Mar 07
0
[LLVMdev] How to unroll loop with non-constant boundary
...ind it for review. > > -Stepan > > 28.02.2012, 17:41, "Benjamin Kramer"<benny.kra at googlemail.com>: >> On 27.02.2012, at 20:17, Duncan Sands wrote: >> >>> Hi Benjamin, >>>> LLVM misses this optimization because ScalarEvolution's ComputeExitLimitFromICmp doesn't handle signed<= (SLE) and thus can't compute the number of times the loop is executed. I wonder if there's a reason for this, it seems like something simple to add. >>> instsimplify could also be enhanced to clean it up in this particular case, but >>> i...
2012 Feb 27
0
[LLVMdev] How to unroll loop with non-constant boundary
...t;>> >>> The questions: >>> Is it possible to unroll loop with non-constant boundary using standard LLVM 3.1 facilities, and, if it is, how I can do that? >> >> Hi Nicolas, >> >> LLVM misses this optimization because ScalarEvolution's ComputeExitLimitFromICmp doesn't handle signed <= (SLE) and thus can't compute the number of times the loop is executed. I wonder if there's a reason for this, it seems like something simple to add. >> >> Attached is a completely untested patch that adds the missing logic. > > Off the top...