[all-commits] [llvm/llvm-project] 2afe4b: AArch64: make sure jump table entries can reach en...

Tim Northover via All-commits all-commits at lists.llvm.org
Fri Sep 18 01:53:58 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 2afe4becec77d91b47afcc4b6eaaa1002cebf837
      https://github.com/llvm/llvm-project/commit/2afe4becec77d91b47afcc4b6eaaa1002cebf837
  Author: Tim Northover <t.p.northover at gmail.com>
  Date:   2020-09-18 (Fri, 18 Sep 2020)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/lib/Target/AArch64/AArch64MachineFunctionInfo.h
    M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
    A llvm/test/CodeGen/AArch64/jump-table-duplicate.mir
    M llvm/test/CodeGen/AArch64/jump-table-exynos.ll
    M llvm/test/CodeGen/AArch64/jump-table.ll
    M llvm/test/CodeGen/AArch64/win64-jumptable.ll

  Log Message:
  -----------
  AArch64: make sure jump table entries can reach entire image

This turns all jump table entries into deltas within the target
function because in the small memory model all code & static data must
be in a 4GB block somewhere in memory.

When the entries were a delta between the table location and a basic
block, the 32-bit signed entries are not enough to guarantee
reachability.

https://reviews.llvm.org/D87286




More information about the All-commits mailing list