[PATCH] D62589: [MIPS GlobalISel] Handle position independent code

Petar Avramovic via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed May 29 06:47:14 PDT 2019


Petar.Avramovic created this revision.
Petar.Avramovic added reviewers: atanasyan, petarj.
Herald added subscribers: llvm-commits, jrtc27, arichardson, kristof.beyls, rovka, sdardis.
Herald added a project: LLVM.
Petar.Avramovic added a parent revision: D62586: [mips] Move initGlobalBaseReg to MipsFunctionInfo. NFC.

Handle position independent code for MIPS32.
When callee is global address, lower call will emit callee as
G_GLOBAL_VALUE and add target flag if needed.
Support $gp in getRegBankFromRegClass().
Select G_GLOBAL_VALUE, specially handle case when
there are target flags attached by lowerCall.


Repository:
  rL LLVM

https://reviews.llvm.org/D62589

Files:
  lib/Target/Mips/MipsCallLowering.cpp
  lib/Target/Mips/MipsInstructionSelector.cpp
  lib/Target/Mips/MipsMachineFunction.cpp
  lib/Target/Mips/MipsMachineFunction.h
  lib/Target/Mips/MipsRegisterBankInfo.cpp
  test/CodeGen/Mips/GlobalISel/instruction-select/gloal_address_pic.mir
  test/CodeGen/Mips/GlobalISel/irtranslator/global_address_pic.ll
  test/CodeGen/Mips/GlobalISel/llvm-ir/global_address_pic.ll
  test/CodeGen/Mips/GlobalISel/regbankselect/global_address_pic.mir

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D62589.201898.patch
Type: text/x-patch
Size: 22959 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190529/2fbf0dd4/attachment.bin>


More information about the llvm-commits mailing list