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

Tobias Grosser tobias at grosser.es
Thu Oct 3 04:17:51 PDT 2013


On 09/30/2013 04:11 AM, Star Tan wrote:
> 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.

The problem is that at some point we failt to properly update the 
LoopInfo. I updated the bug report with more details.

Tobias




More information about the llvm-dev mailing list