[all-commits] [llvm/llvm-project] 8cfa96: [SimplifyCFG] If provided, preserve Dominator Tree
Roman Lebedev via All-commits
all-commits at lists.llvm.org
Thu Jan 28 03:12:20 PST 2021
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 8cfa963463d09cd4213a647f3587389612e3dd16
https://github.com/llvm/llvm-project/commit/8cfa963463d09cd4213a647f3587389612e3dd16
Author: Roman Lebedev <lebedev.ri at gmail.com>
Date: 2021-01-28 (Thu, 28 Jan 2021)
Changed paths:
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
Log Message:
-----------
[SimplifyCFG] If provided, preserve Dominator Tree
SimplifyCFG is an utility pass, and the fact that it does not
preserve DomTree's, forces it's users to somehow workaround that,
likely by not preserving DomTrees's themselves.
Indeed, simplifycfg pass didn't know how to preserve dominator tree,
it took me just under a month (starting with e1133179587dd895962a2fe4d6eb0cb1e63b5ee2)
do rectify that, now it fully knows how to,
there's likely some problems with that still,
but i've dealt with everything i can spot so far.
I think we now can flip the switch.
Note that this is functionally an NFC change,
since this doesn't change the users to pass in the DomTree,
that is a separate question.
Reviewed By: kuhar, nikic
Differential Revision: https://reviews.llvm.org/D94827
Commit: 6617529a1dfe6605bd2b4064c7832ace4b0eb564
https://github.com/llvm/llvm-project/commit/6617529a1dfe6605bd2b4064c7832ace4b0eb564
Author: Roman Lebedev <lebedev.ri at gmail.com>
Date: 2021-01-28 (Thu, 28 Jan 2021)
Changed paths:
M llvm/lib/CodeGen/DwarfEHPrepare.cpp
M llvm/test/CodeGen/ARM/O3-pipeline.ll
M llvm/test/CodeGen/X86/opt-pipeline.ll
Log Message:
-----------
[CodeGen][DwarfEHPrepare] Preserve Dominator Tree
Now that D94827 has flipped the switch, and SimplifyCFG is officially marked
as production-ready regarding Dominator Tree preservation,
we can update this user pass to also preserve Dominator Tree.
This is a geomean compile-time win of `-0.05%`..`-0.08%`.
https://llvm-compile-time-tracker.com/compare.php?from=51a25846c198cff00abad0936f975167357afa6f&to=082499aac236a5c141e50a9e77870d5be2de5f0b&stat=instructions
Differential Revision: https://reviews.llvm.org/D95548
Compare: https://github.com/llvm/llvm-project/compare/d0c9fb1b8ebf...6617529a1dfe
More information about the All-commits
mailing list