[all-commits] [llvm/llvm-project] ae7f46: [NewPM] Fix MergeFunctions scheduling
Nikita Popov via All-commits
all-commits at lists.llvm.org
Sat Dec 4 08:30:46 PST 2021
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: ae7f468073e448d9a5c39364a5cc4241525c4896
https://github.com/llvm/llvm-project/commit/ae7f468073e448d9a5c39364a5cc4241525c4896
Author: Nikita Popov <npopov at redhat.com>
Date: 2021-12-04 (Sat, 04 Dec 2021)
Changed paths:
M llvm/lib/Passes/PassBuilderPipelines.cpp
M llvm/test/Transforms/PhaseOrdering/X86/merge-functions.ll
Log Message:
-----------
[NewPM] Fix MergeFunctions scheduling
MergeFunctions (as well as HotColdSplitting an IROutliner) are
incorrectly scheduled under the new pass manager. The code makes
it look like they run towards the end of the module optimization
pipeline (as they should), while in reality the run at the start.
This is because the OptimizePM populated around them is only
scheduled later.
I'm fixing this by moving these three passes until after OptimizePM
to avoid splitting the function pass pipeline. It doesn't seem
important to me that some of the function passes run after these
late module passes.
Differential Revision: https://reviews.llvm.org/D115098
Commit: 8bd62119f9e9b0ee92cb7a78d1161e86293a8163
https://github.com/llvm/llvm-project/commit/8bd62119f9e9b0ee92cb7a78d1161e86293a8163
Author: Nikita Popov <npopov at redhat.com>
Date: 2021-12-04 (Sat, 04 Dec 2021)
Changed paths:
M llvm/test/Other/new-pm-defaults.ll
Log Message:
-----------
[NewPM] Test more options in pipeline test (NFC)
As suggested on D115098, this tests the positioning of
HotColdSplitting, IROutliner and MergeFunctions in the optimization
pipeline.
Compare: https://github.com/llvm/llvm-project/compare/a25111c9e2d9...8bd62119f9e9
More information about the All-commits
mailing list