[all-commits] [llvm/llvm-project] 849b36: [JITLink][NFC] Add TableManager to replace PerGrap...

luxufan via All-commits all-commits at lists.llvm.org
Thu Oct 14 08:11:01 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 849b36bf6f5273c2539a18b4a9c79ea1e136eb0a
      https://github.com/llvm/llvm-project/commit/849b36bf6f5273c2539a18b4a9c79ea1e136eb0a
  Author: luxufan <932494295 at qq.com>
  Date:   2021-10-14 (Thu, 14 Oct 2021)

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/JITLink/JITLink.h
    M llvm/lib/ExecutionEngine/JITLink/ELF_x86_64.cpp
    R llvm/lib/ExecutionEngine/JITLink/PerGraphTLSInfoEntryBuilder.h
    A llvm/lib/ExecutionEngine/JITLink/TableManager.h

  Log Message:
  -----------
  [JITLink][NFC] Add TableManager to replace PerGraph...Builder pass

This patch add a TableManager which reponsible for fixing edges that need entries to reference the target symbol and constructing such entries.

In the past, the PerGraphGOTAndPLTStubsBuilder pass was used to build GOT and PLT entry, and the PerGraphTLSInfoEntryBuilder pass was used to build TLSInfo entry. By generalizing the behavior of building entry, I added a TableManager which could be reused when built GOT, PLT and TLSInfo entries.

If this patch makes sense and can be accepted, I will apply the TableManager to other targets(MachO_x86_64, MachO_arm64, ELF_riscv), and delete the file PerGraphGOTAndPLTStubsBuilder.h

Reviewed By: lhames

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




More information about the All-commits mailing list