[all-commits] [llvm/llvm-project] 75265c: [LoongArch] Lower BlockAddress/JumpTable

wangleiat via All-commits all-commits at lists.llvm.org
Sun Sep 25 20:02:00 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 75265c7f4975c199cbeb544b07ca511b6fc865e6
      https://github.com/llvm/llvm-project/commit/75265c7f4975c199cbeb544b07ca511b6fc865e6
  Author: wanglei <wanglei at loongson.cn>
  Date:   2022-09-26 (Mon, 26 Sep 2022)

  Changed paths:
    M llvm/lib/Target/LoongArch/CMakeLists.txt
    M llvm/lib/Target/LoongArch/LoongArch.h
    A llvm/lib/Target/LoongArch/LoongArchExpandPseudoInsts.cpp
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.h
    M llvm/lib/Target/LoongArch/LoongArchInstrInfo.td
    M llvm/lib/Target/LoongArch/LoongArchMCInstLower.cpp
    M llvm/lib/Target/LoongArch/LoongArchTargetMachine.cpp
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchBaseInfo.h
    A llvm/test/CodeGen/LoongArch/block-address.ll
    M llvm/test/CodeGen/LoongArch/calling-conv-lp64d.ll
    M llvm/test/CodeGen/LoongArch/double-imm.ll
    M llvm/test/CodeGen/LoongArch/float-imm.ll
    A llvm/test/CodeGen/LoongArch/global-address.ll
    M llvm/test/CodeGen/LoongArch/ir-instruction/double-convert.ll
    M llvm/test/CodeGen/LoongArch/ir-instruction/float-convert.ll
    M llvm/test/CodeGen/LoongArch/jump-table.ll

  Log Message:
  -----------
  [LoongArch] Lower BlockAddress/JumpTable

This patch uses a unified interface for lower GlobalAddress ConstantPool
BlockAddress and JumpTable.

This patch allows lowering addresses by using PC-relative addressing
for DSO-local symbols, and accessing the address through the global
offset table for DSO-preemptable symbols.

Remove hardcoded `MininumJumpTableEntries` for test lower JumpTable.

Also updated some test cases using ConstantPool, due to the addition of
relocation information.

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




More information about the All-commits mailing list