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

luxufan via All-commits all-commits at lists.llvm.org
Wed Oct 6 06:28:11 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 50a278c2aef21bf9b78865ad7c7554e506434b9c
      https://github.com/llvm/llvm-project/commit/50a278c2aef21bf9b78865ad7c7554e506434b9c
  Author: luxufan <932494295 at qq.com>
  Date:   2021-10-06 (Wed, 06 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