[PATCH] D36619: [MachineCombiner] Update instruction depths incrementally for large BBs.
Florian Hahn via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Aug 21 05:31:46 PDT 2017
fhahn updated this revision to Diff 111958.
fhahn marked an inline comment as done.
fhahn added a comment.
Thanks for having a look!
Address review comments.
As for data for your compile-time improvements: I was looking into compile-time outliers for a proprietary benchmark suite, so unfortunately I cannot share the source. There was a module with a few large basic block (one with ~35000 instructions and a couple with > 3000 instructions), with lots of combinable instructions on AArch64 . Without this patch, time-passes on llc shows
Total Execution Time: 18.2227 seconds (18.2513 wall clock)
---User Time--- --System Time-- --User+System-- ---Wall Time--- --- Name ---
14.0113 ( 77.4%) 0.0338 ( 28.5%) 14.0451 ( 77.1%) 14.0672 ( 77.1%) Machine InstCombiner
2.0149 ( 11.1%) 0.0552 ( 46.5%) 2.0701 ( 11.4%) 2.0726 ( 11.4%) Greedy Register Allocator
0.9370 ( 5.2%) 0.0184 ( 15.5%) 0.9554 ( 5.2%) 0.9577 ( 5.2%) AArch64 Instruction Selection
0.3403 ( 1.9%) 0.0010 ( 0.8%) 0.3413 ( 1.9%) 0.3417 ( 1.9%) Machine Instruction Scheduler
With this patch
Total Execution Time: 4.9057 seconds (4.9158 wall clock)
---User Time--- --System Time-- --User+System-- ---Wall Time--- --- Name ---
2.0272 ( 42.1%) 0.0612 ( 64.8%) 2.0884 ( 42.6%) 2.0931 ( 42.6%) Greedy Register Allocator
0.9621 ( 20.0%) 0.0190 ( 20.1%) 0.9810 ( 20.0%) 0.9829 ( 20.0%) AArch64 Instruction Selection
0.6782 ( 14.1%) 0.0021 ( 2.2%) 0.6803 ( 13.9%) 0.6812 ( 13.9%) Machine InstCombiner
https://reviews.llvm.org/D36619
Files:
lib/CodeGen/MachineCombiner.cpp
test/CodeGen/AArch64/machine-combiner.ll
test/CodeGen/X86/machine-combiner.ll
test/CodeGen/X86/mul-constant-result.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D36619.111958.patch
Type: text/x-patch
Size: 11595 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170821/df00381e/attachment.bin>
More information about the llvm-commits
mailing list