diff options
| author | Kunqiu Chen <camsyn@foxmail.com> | 2025-10-30 02:45:27 +0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-10-30 02:45:27 +0800 |
| commit | b2fe5d1482ebab36d75922c41e73b64ab157c98b (patch) | |
| tree | a7f4a99420bbbd64cff9788d7a49c46ae285ce87 /llvm/unittests/Object/ELFObjectFileTest.cpp | |
| parent | 7b98280b6b7cb89b141a5874ff9ee3ce72dab92a (diff) | |
| download | llvm-b2fe5d1482ebab36d75922c41e73b64ab157c98b.zip llvm-b2fe5d1482ebab36d75922c41e73b64ab157c98b.tar.gz llvm-b2fe5d1482ebab36d75922c41e73b64ab157c98b.tar.bz2 | |
[SimplifyCFG] Hoist common code when succ is unreachable block (#165570)
Previously, `hoistCommonCodeFromSuccessors` returned early if one of the
succ of BB has >1 predecessors.
However, if the succ is an unreachable BB, we can relax the condition to
perform `hoistCommonCodeFromSuccessors` based on the assumption of not
reaching UB.
See discussion https://github.com/dtcxzyw/llvm-opt-benchmark/pull/2989
for details.
Alive2 proof: https://alive2.llvm.org/ce/z/OJOw0s
Promising optimization impact:
https://github.com/dtcxzyw/llvm-opt-benchmark/pull/2995
Diffstat (limited to 'llvm/unittests/Object/ELFObjectFileTest.cpp')
0 files changed, 0 insertions, 0 deletions
