[llvm-bugs] [Bug 36015] New: Regression in StructurizeCFG, r321751: complex loop structure turned into infinite loop
via llvm-bugs
llvm-bugs at lists.llvm.org
Fri Jan 19 07:26:15 PST 2018
https://bugs.llvm.org/show_bug.cgi?id=36015
Bug ID: 36015
Summary: Regression in StructurizeCFG, r321751: complex loop
structure turned into infinite loop
Product: libraries
Version: trunk
Hardware: PC
OS: Linux
Status: NEW
Severity: enhancement
Priority: P
Component: Scalar Optimizations
Assignee: unassignedbugs at nondot.org
Reporter: nhaehnle at gmail.com
CC: llvm-bugs at lists.llvm.org
Created attachment 19710
--> https://bugs.llvm.org/attachment.cgi?id=19710&action=edit
Reduced test case
I'm attaching a reduced test case, plus the output of `opt -structurizecfg`.
Change r321751 ("StructurizeCFG: Fix broken backedge detection") breaks this
test case, in the following way:
The original code has edges from both %if and %else into the %exit block. In
the resulting code, the edge from %if to %exit disappears: if the exit
condition is met (%cond.if = false), the control will follow %if -> %Flow1 ->
%Flow2 -> %loop.outer instead of %if -> %Flow1 -> %Flow2 -> %exit.
This bug regresses various OpenGL test suites, for example
dEQP-GLES3.functional.shaders.loops.do_while_dynamic_iterations.conditional_continue_vertex.
--
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/20180119/0e85e53e/attachment.html>
More information about the llvm-bugs
mailing list