[llvm-commits] [llvm] r132882 - in /llvm/trunk: lib/CodeGen/AsmPrinter/AsmPrinter.cpp lib/Target/X86/X86InstrInfo.cpp test/CodeGen/Thumb2/machine-licm.ll

Dan Gohman gohman at apple.com
Mon Jun 13 10:16:26 PDT 2011


On Jun 12, 2011, at 12:57 AM, Jakob Stoklund Olesen wrote:

> 
> On Jun 12, 2011, at 12:38 AM, Rafael Ávila de Espíndola wrote:
> 
>>> The double-CFG-edge hack was added as a compile time optimization.

It was also a simplification. Before that, several places in codegen that modified
successor lists needed extra code to avoid duplicates.

>>> While I like to see it go, we should at least confirm that it was a
>>> premature optimization.
>>> 
>>> Did you measure before/after compile times? The -O0 compile times are
>>> extra interesting.
>> 
>> I compiled two release versions of clang. One before my first patch and one after the last one. I then used those to build a debug version of clang.
>> 
>> The current trunk took 5m13.630s to build a debug version of clang. The old revision took 5m11.130s.
>> 
>> Is there some other test you would like me to run?
> 
> It think it's OK. Here is what I measure on 403.gcc with llc -O0 -time-passes:
> 
> Before:
>   0.6719 ( 12.9%)   0.0624 ( 14.7%)   0.7343 ( 13.0%)   0.7345 ( 13.0%)  X86 AT&T-Style Assembly Printer
> After:
>   0.6873 ( 13.1%)   0.0628 ( 14.8%)   0.7501 ( 13.3%)   0.7501 ( 13.3%)  X86 AT&T-Style Assembly Printer


Additional speedup comes from the assembler spending less time parsing
and managing extra symbols.  But this is all less important now that assembly
printing is no longer a hot path.

Dan





More information about the llvm-commits mailing list