At 2013-09-25 18:03:18,"Tobias Grosser" <tobias@grosser.es> wrote:><br>>I think this is too early, as most of the canonicalization is not yet <br>>done. We probably don't need to investigate this bug immediately, but<br>>it would be nice if we could make it reproducible without your changes <br>>to polly. For this please run the command with -debug-pass=Arguments<br>>and replace the -O3 with the actual set of commands that is needed to <br>>trigger the bug. If you can reduce the set of commands using bugpoint, <br>>that would be even better.<br>><br><br>I am trying to figure out why "moving Polly before loop rotate pass would<br>lead to incorrect code generation.<br><br>With the help of "-debug-pass=Arguments",  I have reproduced the<br>bug without modify LLVM and Polly. For the attached testcase, it will produce<br>incorrect code if we run a very simple command:<br>$ opt -load LLVMPolly.so -basicaa   -mem2reg  -polly-codegen  -loop-simplify  -print-module foo.preopt.ll<br><br>The output LLVM IR code would contain a exit basic block that is incorrectly<br>marked as "unreachable".<br><br>I have updated the bug17323 (http://llvm.org/bugs/show_bug.cgi?id=17323)<br>for the further debugging.<br><br>Star Tan<br>