Add !isTailCall in isUnconditionalBranch check in order to sync the x86
and aarch64 and fix the fixDoubleJumps pass on aarch64.
Vladislav Khmelevsky,
Advanced Software Technology Lab, Huawei
Differential D122929
[BOLT] Check for !isTailCall in isUnconditionalBranch yota9 on Apr 1 2022, 12:00 PM. Authored by
Details Add !isTailCall in isUnconditionalBranch check in order to sync the x86 Vladislav Khmelevsky,
Diff Detail
Event TimelineComment Actions Thanks for fixing! I think we should probably modify MCPlusBuilder.h instead. In that way we make the AArch64 backend behave in the same way as the X86 one.
Comment Actions Actually, I'm not convinced it's a great idea to check for the tail call here.
|
This is out of sync with X86. In X86, isUnconditionalBranch only returns true if it is also not a tail call:
For consistency, AArch64MCPlusBuilder should probably do the same at MCPlusBuilder.h:356.