[LLVMbugs] [Bug 11221] New: suboptimal code generation in nested loop unrolling
bugzilla-daemon at llvm.org
bugzilla-daemon at llvm.org
Sun Oct 23 23:58:19 PDT 2011
http://llvm.org/bugs/show_bug.cgi?id=11221
Summary: suboptimal code generation in nested loop unrolling
Product: new-bugs
Version: trunk
Platform: All
OS/Version: All
Status: NEW
Severity: normal
Priority: P
Component: new bugs
AssignedTo: unassignedbugs at nondot.org
ReportedBy: s3734770 at mail.zih.tu-dresden.de
CC: llvmbugs at cs.uiuc.edu
Created an attachment (id=7506)
--> (http://llvm.org/bugs/attachment.cgi?id=7506)
First file: original test case
I have two files attached: the generated file that was compiled from the
following program:
static init
begin
var i: int = ParseInt('5', 0)
print(IntToStr(i))
end
And the result after opt -O3. There is no ordering issue. It dosent matter how
often I call opt -O3, it dosent unloop.
When you look at the second file line 52-63 (%vergleich.i, %vergleich2.i), this
is the inner loop to compare which decimal character is stored in %char.i
The outer loop's significant lines are 49 where the exit condition is made. It
parses a string till it meets the zero.
This outer loop only has one pass. The problem is, llvm dosent notice that the
outer loop operates on a constant string and could be unfolded. (unrolling the
outer loop would pull in the rest of the optimizations)
--
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
More information about the llvm-bugs
mailing list