[LLVMbugs] [Bug 13139] New: Really long IR labels generated for gold/arm.cc -O3 (no limit to IR label length)
bugzilla-daemon at llvm.org
bugzilla-daemon at llvm.org
Mon Jun 18 11:09:40 PDT 2012
http://llvm.org/bugs/show_bug.cgi?id=13139
Bug #: 13139
Summary: Really long IR labels generated for gold/arm.cc -O3
(no limit to IR label length)
Product: clang
Version: trunk
Platform: PC
OS/Version: Linux
Status: NEW
Severity: enhancement
Priority: P
Component: LLVM Codegen
AssignedTo: unassignedclangbugs at nondot.org
ReportedBy: jvoung at google.com
CC: llvmbugs at cs.uiuc.edu
Classification: Unclassified
In the IR of the bitcode generated from the gold linker's source file, arm.cc,
I noticed that we generate some labels with over 7000 characters.
In the function "scan_reloc_for_stub", look for
"for.cond1.preheader.for.cond1.preheader_crit_edge.i.for.cond1.preheader.for.cond1.preheader_crit_edge.i..."
clang -O3 -c -emit-llvm <attached.preprocessed.source> -o temp.bc
(doesn't show up with -O0)
It doesn't crash the compiler, but I wonder if we did not have to manipulate
such long strings, would the compile time for code like arm.cc be faster...
Would it be worth limiting the length of these labels?
Timing "llc" it's not much of a difference: 1.034s vs 1.014s (1.9%) if we
stripped the bitcode first to reduce the length of the labels. Timing "opt" to
make a run through the bitcode again it's 0.804s vs 0.777s (3.5%) to run
through stripped bitcode. So, definitely not a big deal, but I guess if you are
looking for a percent or two improvement from somewhere...
--
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