[all-commits] [llvm/llvm-project] 1e4ee5: [BOLT] Accept function start as valid jump table e...

maksfb via All-commits all-commits at lists.llvm.org
Wed Jul 26 13:25:36 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 1e4ee588fbb5047a82dd33c4357fcfdebaf38bab
      https://github.com/llvm/llvm-project/commit/1e4ee588fbb5047a82dd33c4357fcfdebaf38bab
  Author: Maksim Panchenko <maks at fb.com>
  Date:   2023-07-26 (Wed, 26 Jul 2023)

  Changed paths:
    M bolt/lib/Core/BinaryContext.cpp
    A bolt/test/X86/jump-table-func-entry.s

  Log Message:
  -----------
  [BOLT] Accept function start as valid jump table entry

Jump tables may contain a function start address. One real-world example
is when a target basic block contains a recursive tail call that is
later optimized/folded into a jump table target.

While analyzing a jump table, we treat start address similar to an
address past the end of the containing function (a result of
__builtin_unreachable), i.e. we require another "regular" entry for the
heuristic to proceed.

Reviewed By: Amir

Differential Revision: https://reviews.llvm.org/D156206




More information about the All-commits mailing list