[LLVMdev] [Polly] Move Polly's execution later

Star Tan tanmx_star at yeah.net
Sun Sep 29 19:11:13 PDT 2013

At 2013-09-25 18:03:18,"Tobias Grosser" <tobias at grosser.es> wrote:>
>I think this is too early, as most of the canonicalization is not yet 
>done. We probably don't need to investigate this bug immediately, but
>it would be nice if we could make it reproducible without your changes 
>to polly. For this please run the command with -debug-pass=Arguments
>and replace the -O3 with the actual set of commands that is needed to 
>trigger the bug. If you can reduce the set of commands using bugpoint, 
>that would be even better.

I am trying to figure out why "moving Polly before loop rotate pass would
lead to incorrect code generation.

With the help of "-debug-pass=Arguments",  I have reproduced the
bug without modify LLVM and Polly. For the attached testcase, it will produce
incorrect code if we run a very simple command:
$ opt -load LLVMPolly.so -basicaa   -mem2reg  -polly-codegen  -loop-simplify  -print-module foo.preopt.ll

The output LLVM IR code would contain a exit basic block that is incorrectly
marked as "unreachable".

I have updated the bug17323 (http://llvm.org/bugs/show_bug.cgi?id=17323)
for the further debugging.

Star Tan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20130930/3278805a/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: foo.preopt.ll
Type: application/octet-stream
Size: 5728 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20130930/3278805a/attachment.obj>

More information about the llvm-dev mailing list