https://llvm.org/bugs/show_bug.cgi?id=25447
Bug ID: 25447 Summary: [Polly] Bailing out during codegen of loop-invariant loads breaks scop Product: Projects Version: unspecified Hardware: PC OS: Linux Status: NEW Severity: normal Priority: P Component: Polly Assignee: polly-...@googlegroups.com Reporter: tob...@grosser.es CC: llvm-bugs@lists.llvm.org Classification: Unclassified Created attachment 15246 --> https://llvm.org/bugs/attachment.cgi?id=15246&action=edit Test case With r252412 the command polly-opt bailing-out-breaks-scop.ll -polly-codegen -polly-process-unprofitable fails as follows: Instruction does not dominate all uses: -> operand: %tmp26.ph = phi i1 [ undef, %bb24 ], [ false, %bb16 ], [ false, %bb21 ] -> operand in bb: label %bb25.region_exiting -> operand in func: barney -> inst: %tmp26 = phi i1 [ %tmp26.ph, %polly.merge_new_and_old ] -> inst in bb: label %bb25 -> inst in func: barney The reason for this error is that at the point we bail out, Polly already split the code into an optimized and unoptimized branch, but did not yet generate the PHI nodes that merge values defined in the original code with the corresponding values in the newly generated code (such values and stack slots do not even exist yet). As a result, uses after the scop reference values in the original code that do not dominate them after the code has been split. Also, when bailing out early we do not verify the generated IR any more. -- You are receiving this mail because: You are on the CC list for the bug.
_______________________________________________ llvm-bugs mailing list llvm-bugs@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs