[llvm-bugs] [Bug 28166] New: Exponential output growth introduced in the IndVarsSimplify pass
via llvm-bugs
llvm-bugs at lists.llvm.org
Fri Jun 17 07:02:24 PDT 2016
https://llvm.org/bugs/show_bug.cgi?id=28166
Bug ID: 28166
Summary: Exponential output growth introduced in the
IndVarsSimplify pass
Product: new-bugs
Version: 3.8
Hardware: PC
OS: Linux
Status: NEW
Severity: normal
Priority: P
Component: new bugs
Assignee: unassignedbugs at nondot.org
Reporter: david.stenberg at ericsson.com
CC: llvm-bugs at lists.llvm.org
Classification: Unclassified
Created attachment 16565
--> https://llvm.org/bugs/attachment.cgi?id=16565&action=edit
Reproducer
When running opt:
opt -S -Oz -O1 bugpoint-reduced-simplified.ll
with the attached bugpoint-reduced-simplified.ll file, the resulting output
file seems to grow exponentially with the number of loop iterations (40 in the
bugpoint-reduced-simplified.ll), as seen here for N=20, 21, and 22:
$ du -h out-*
74M out-20.ll
148M out-21.ll
295M out-22.ll
The problem seems to be introduced in the Induction Variable Simplification
pass, where the condition for the br instruction in bb3 grows:
N = 1:
br i1 icmp sge (i16 ptrtoint (i16* @bar to i16), i16 0),
label %bb4.preheader, label %bb5
N = 2:
br i1 icmp sge (i16 xor (i16 zext (i1 icmp sge
(i16 ptrtoint (i16* @bar to i16), i16 0) to i16),
i16 ptrtoint (i16* @bar to i16)), i16 zext (i1 icmp sge
(i16 ptrtoint (i16* @bar to i16), i16 0) to i16)),
label %bb4.preheader, label %bb5
And so on.
The issue might be related to how the passes are executed, as passing any
combination of the -O[z123] flags triggers the issue. When passing just one of
the flags, the issue is not seen.
--
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/20160617/9c0f2c0f/attachment-0001.html>
More information about the llvm-bugs
mailing list