[llvm-bugs] [Bug 25447] New: [Polly] Bailing out during codegen of loop-invariant loads breaks scop
via llvm-bugs
llvm-bugs at lists.llvm.org
Sun Nov 8 01:41:18 PST 2015
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-dev at googlegroups.com
Reporter: tobias at grosser.es
CC: llvm-bugs at 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.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20151108/17ef6570/attachment.html>
More information about the llvm-bugs
mailing list