When there is a direct jump right after an indirect one, in
the absence of code jumpting to this direct jump, this is obviously
dead code. However, BOLT was failing to recognize that by mistakenly
placing both jmp instructions in the same basic block, and creating
wrong successor edges. Fix that, so we can safely run UCE on
that. This bug also causes validateCFG to fail and BOLT to crash if it
is running ICP on that function.
Details
Details
- Reviewers
yota9 Amir maksfb - Group Reviewers
Restricted Project - Commits
- rGb87bf7442805: [BOLT] Fix creation of invalid CFG in presence of dead code
Diff Detail
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
Comment Actions
Make test case run UCE to check that we are really removing the
unnecessary direct jump instruction