At 2013-10-03 19:17:51,"Tobias Grosser" <tobias@grosser.es> wrote:>On 09/30/2013 04:11 AM, Star Tan wrote:<br>>> 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>>The problem is that at some point we failt to properly update the <br>>LoopInfo. I updated the bug report with more details.<br>><br>Thanks a lot! I will try to find out why LoopInfo is not updated properly.<br>Star Tan