[LLVMdev] How to unroll loop with non-constant boundary

Stepan Dyatkovskiy STPWORLD at narod.ru
Tue Mar 6 23:54:45 PST 2012


Hi guys, 
I attached the modified patch that handles cases with 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 better to make scev smarter.
>
> I filed http://llvm.org/bugs/show_bug.cgi?id=12110 to track this.
>
> - Ben
>
>>  Ciao, Duncan.
>>  _______________________________________________
>>  LLVM Developers mailing list
>>  LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
>>  http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
-------------- next part --------------
A non-text attachment was scrubbed...
Name: pr12110.patch
Type: application/octet-stream
Size: 5358 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20120307/61ebd16b/attachment.obj>


More information about the llvm-dev mailing list