[llvm-commits] [llvm] r43061 - /llvm/trunk/lib/CodeGen/RegAllocLinearScan.cpp
Chris Lattner
clattner at apple.com
Tue Oct 16 21:53:52 PDT 2007
> URL: http://llvm.org/viewvc/llvm-project?rev=43061&view=rev
> Log:
> Clean up code that calculate MBB live-in's.
Very nice Evan, this sped up linscan significantly. For example, on
176.gcc with a release-asserts build:
old:
7.2973 ( 47.3%) 0.0527 ( 19.1%) 7.3501 ( 46.8%) 7.3503
( 46.8%) X86 DAG->DAG Instruction Selection
2.1359 ( 13.8%) 0.0090 ( 3.2%) 2.1449 ( 13.6%) 2.1449
( 13.6%) Linear Scan Register Allocator
0.9337 ( 6.0%) 0.0852 ( 30.9%) 1.0190 ( 6.4%) 1.0235
( 6.5%) Live Interval Analysis
0.8634 ( 5.6%) 0.0093 ( 3.4%) 0.8728 ( 5.5%) 0.8732
( 5.5%) Simple Register Coalescing
..
15.4108 (100.0%) 0.2757 (100.0%) 15.6865 (100.0%) 15.6943
(100.0%) TOTAL
new:
7.3167 ( 50.1%) 0.0553 ( 19.8%) 7.3720 ( 49.6%) 7.4150
( 49.7%) X86 DAG->DAG Instruction Selection
1.3034 ( 8.9%) 0.0079 ( 2.8%) 1.3113 ( 8.8%) 1.3114
( 8.8%) Linear Scan Register Allocator
0.9415 ( 6.4%) 0.0889 ( 31.9%) 1.0305 ( 6.9%) 1.0303
( 6.9%) Live Interval Analysis
0.8414 ( 5.7%) 0.0089 ( 3.2%) 0.8503 ( 5.7%) 0.8502
( 5.7%) Simple Register Coalescing
..
14.5815 (100.0%) 0.2786 (100.0%) 14.8601 (100.0%) 14.9024
(100.0%) TOTAL
That's a 63% speedup of the linscan pass!
-Chris
More information about the llvm-commits
mailing list