[llvm] [BOLT] Enhance fixed indirect branch handling (PR #71324)
Amir Ayupov via llvm-commits
llvm-commits at lists.llvm.org
Wed Nov 8 23:24:14 PST 2023
================
@@ -54,7 +54,6 @@ enum class IndirectBranchType : char {
POSSIBLE_TAIL_CALL, /// Possibly a tail call.
POSSIBLE_JUMP_TABLE, /// Possibly a switch/jump table.
POSSIBLE_PIC_JUMP_TABLE, /// Possibly a jump table for PIC.
- POSSIBLE_GOTO, /// Possibly a gcc's computed goto.
----------------
aaupov wrote:
My understanding is that tailcall is inter-function control transfer, computed goto is an indirect internal control transfer with a slightly more general address calculation pattern at least on x86 (jump table base address is computed and stored in a register?), and a possible fixed branch is an internal indirect branch to a single target known statically. So it's partially overlapping but pretty well defined classification.
https://github.com/llvm/llvm-project/pull/71324
More information about the llvm-commits
mailing list