-
Notifications
You must be signed in to change notification settings - Fork 500
Port LLVMEngine::Optimize to skip module passes. #1553
Conversation
Copies over Prashanth's commit here: pmenon/tpl@e2d3749#diff-ed4b8c2805fa1b88ccfdd18b72ce7eebaf3485e63bf95990c7551716a9d79a5f Unscientific timing on a separate branch showed that much more time was spent running module passes than function passes.
Minor Decrease in PerformanceBe warned: this PR may have decreased the throughput of the system slightly.
|
Minor Decrease in PerformanceBe warned: this PR may have decreased the throughput of the system slightly.
|
Codecov Report
@@ Coverage Diff @@
## master #1553 +/- ##
=========================================
Coverage ? 82.37%
=========================================
Files ? 723
Lines ? 51352
Branches ? 0
=========================================
Hits ? 42300
Misses ? 9052
Partials ? 0
Continue to review full report at Codecov.
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good. One small nit. Excited to see if the changes to compilation time materialize!
I kept the variables local to the Optimize() function because it isn't relevant to the rest of the CompiledModuleBuilder and I don't think we're exposing this as a tunable; if we do we will probably add it as a parameter to the Optimize() function anyway. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Updating my review as comments have been addressed.
Minor Decrease in PerformanceBe warned: this PR may have decreased the throughput of the system slightly.
|
Minor Decrease in PerformanceBe warned: this PR may have decreased the throughput of the system slightly.
|
1 similar comment
Minor Decrease in PerformanceBe warned: this PR may have decreased the throughput of the system slightly.
|
Heading
Port LLVMEngine::Optimize to skip module passes.
Description
Copies over Prashanth's commit here:
pmenon/tpl@e2d3749#diff-ed4b8c2805fa1b88ccfdd18b72ce7eebaf3485e63bf95990c7551716a9d79a5f
Unscientific timing on a separate branch showed that much
more time was spent running module passes than the singular
inlining function pass, so maybe this will help. In general, we
also would like to have function passes (as opposed to module)
wherever possible so that it is easier to time the passes.
And for a few hand-checked examples, function optimize time went up (as expected),
but overall optimize time went down.
Expect to see a speedup in the compiled tests on CI.