[all-commits] [llvm/llvm-project] 52cd00: [BOLT] Ignore functions accessing false positive j...

Huan Nguyen via All-commits all-commits at lists.llvm.org
Thu Jul 28 23:22:30 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 52cd00cabf479aa7eb6dbb063b7ba41ea57bce9e
      https://github.com/llvm/llvm-project/commit/52cd00cabf479aa7eb6dbb063b7ba41ea57bce9e
  Author: Huan Nguyen <nhuhuan at yahoo.com>
  Date:   2022-07-28 (Thu, 28 Jul 2022)

  Changed paths:
    M bolt/lib/Core/BinaryContext.cpp
    A bolt/test/X86/fake_jump_table.s

  Log Message:
  -----------
  [BOLT] Ignore functions accessing false positive jump tables

Disassembly and branch target analysis are not decoupled, so any
analysis that depends on disassembly may not operate properly.

In specific, analyzeJumpTable uses instruction bounds check property.
A jump table was analyzed twice: (a) during disassembly, and (b) after
disassembly, so there are potentially some mismatched results.

In this update, functions that access JTs which fail the second check
will be marked as ignored.

Test Plan:
```
ninja check-bolt
```

Reviewed By: Amir

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




More information about the All-commits mailing list