[llvm-commits] Group -time-passes report by pass ID instead of pass instance
Jakob Stoklund Olesen
stoklund at 2pi.dk
Fri Nov 30 13:30:50 PST 2012
Some passes appear multiple times in the pass manager pipeline, and -time-passes currently counts each instance independently:
===-------------------------------------------------------------------------===
... Pass execution timing report ...
===-------------------------------------------------------------------------===
Total Execution Time: 4.9829 seconds (4.9810 wall clock)
---User Time--- --System Time-- --User+System-- ---Wall Time--- --- Name ---
0.8319 ( 17.0%) 0.0018 ( 1.9%) 0.8336 ( 16.7%) 0.8335 ( 16.7%) Global Value Numbering
0.4766 ( 9.8%) 0.0041 ( 4.4%) 0.4808 ( 9.6%) 0.4807 ( 9.7%) Function Integration/Inlining
0.3095 ( 6.3%) 0.0006 ( 0.7%) 0.3102 ( 6.2%) 0.3100 ( 6.2%) Combine redundant instructions
0.2913 ( 6.0%) 0.0007 ( 0.8%) 0.2921 ( 5.9%) 0.2920 ( 5.9%) Combine redundant instructions
0.2698 ( 5.5%) 0.0061 ( 6.5%) 0.2759 ( 5.5%) 0.2759 ( 5.5%) Value Propagation
0.2683 ( 5.5%) 0.0018 ( 1.8%) 0.2701 ( 5.4%) 0.2701 ( 5.4%) Value Propagation
0.2320 ( 4.7%) 0.0006 ( 0.6%) 0.2325 ( 4.7%) 0.2324 ( 4.7%) Combine redundant instructions
0.2288 ( 4.7%) 0.0008 ( 0.8%) 0.2296 ( 4.6%) 0.2296 ( 4.6%) Jump Threading
0.2075 ( 4.2%) 0.0006 ( 0.7%) 0.2081 ( 4.2%) 0.2081 ( 4.2%) Combine redundant instructions
0.1866 ( 3.8%) 0.0007 ( 0.7%) 0.1873 ( 3.8%) 0.1872 ( 3.8%) Jump Threading
0.1486 ( 3.0%) 0.0013 ( 1.4%) 0.1500 ( 3.0%) 0.1498 ( 3.0%) Induction Variable Simplification
0.1385 ( 2.8%) 0.0010 ( 1.1%) 0.1395 ( 2.8%) 0.1394 ( 2.8%) Combine redundant instructions
0.0901 ( 1.8%) 0.0115 ( 12.1%) 0.1016 ( 2.0%) 0.1016 ( 2.0%) Natural Loop Information
0.0934 ( 1.9%) 0.0019 ( 2.0%) 0.0953 ( 1.9%) 0.0953 ( 1.9%) Bitcode Writer
0.0752 ( 1.5%) 0.0005 ( 0.5%) 0.0757 ( 1.5%) 0.0757 ( 1.5%) Early CSE
0.0735 ( 1.5%) 0.0007 ( 0.7%) 0.0742 ( 1.5%) 0.0741 ( 1.5%) SROA
The attached patch aggregates pass timers by pass ID instead:
===-------------------------------------------------------------------------===
... Pass execution timing report ...
===-------------------------------------------------------------------------===
Total Execution Time: 5.0294 seconds (5.0278 wall clock)
---User Time--- --System Time-- --User+System-- ---Wall Time--- --- Name ---
1.1902 ( 24.1%) 0.0036 ( 3.8%) 1.1938 ( 23.7%) 1.1932 ( 23.7%) Combine redundant instructions
0.8457 ( 17.1%) 0.0018 ( 1.9%) 0.8475 ( 16.9%) 0.8474 ( 16.9%) Global Value Numbering
0.5450 ( 11.0%) 0.0077 ( 8.1%) 0.5528 ( 11.0%) 0.5527 ( 11.0%) Value Propagation
0.4751 ( 9.6%) 0.0039 ( 4.1%) 0.4790 ( 9.5%) 0.4790 ( 9.5%) Function Integration/Inlining
0.4210 ( 8.5%) 0.0019 ( 2.0%) 0.4229 ( 8.4%) 0.4227 ( 8.4%) Jump Threading
0.1513 ( 3.1%) 0.0013 ( 1.4%) 0.1526 ( 3.0%) 0.1524 ( 3.0%) Induction Variable Simplification
0.1378 ( 2.8%) 0.0025 ( 2.7%) 0.1403 ( 2.8%) 0.1402 ( 2.8%) Simplify the CFG
0.1256 ( 2.5%) 0.0100 ( 10.5%) 0.1356 ( 2.7%) 0.1356 ( 2.7%) Dominator Tree Construction
0.1133 ( 2.3%) 0.0044 ( 4.6%) 0.1176 ( 2.3%) 0.1177 ( 2.3%) Lazy Value Information Analysis
0.1044 ( 2.1%) 0.0011 ( 1.1%) 0.1054 ( 2.1%) 0.1053 ( 2.1%) Early CSE
0.0905 ( 1.8%) 0.0116 ( 12.1%) 0.1021 ( 2.0%) 0.1021 ( 2.0%) Natural Loop Information
0.0959 ( 1.9%) 0.0019 ( 2.0%) 0.0978 ( 1.9%) 0.0978 ( 1.9%) Bitcode Writer
0.0923 ( 1.9%) 0.0011 ( 1.1%) 0.0934 ( 1.9%) 0.0933 ( 1.9%) SROA
I think this form of reporting is better because it reveals that InstCombine really is more expensive than GVN.
/jakob
-------------- next part --------------
A non-text attachment was scrubbed...
Name: passid.patch
Type: application/octet-stream
Size: 1093 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20121130/432d9214/attachment.obj>
More information about the llvm-commits
mailing list