[llvm] [BOLT] Enhance fixed indirect branch handling (PR #71324)

Vladislav Khmelevsky via llvm-commits llvm-commits at lists.llvm.org
Wed Nov 8 23:29:21 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.
----------------
yota9 wrote:

Well we're checking tailcall target after we would "classify" it as tailcall, so it might be both local and global. As ffor possible fixed branch - the same, it is even checked to be relaxed only if it is local local, but not on global. As for x86 I imagine you would return this value on some kind of special pattern found, but generally speaking it seems like one of two anyway. I don't really mind, just think it needs to have better description, probably target-dependent, I imagine that on ARM we might use it a bit other way, right now it has some overlap target-specific meaning, but generally seems to overlap, yes

https://github.com/llvm/llvm-project/pull/71324


More information about the llvm-commits mailing list