[AIX]Lowering global address for 32/64bit small/large code models
authorXiangling Liao <xiangxdh@gmail.com>
Tue, 13 Aug 2019 20:29:01 +0000 (20:29 +0000)
committerXiangling Liao <xiangxdh@gmail.com>
Tue, 13 Aug 2019 20:29:01 +0000 (20:29 +0000)
commita8c624a1c469752fe80fdd25426de6d14e4f8ca4
tree3baf50d3da2e2f43d70dc51520bf7d0d855816db
parent52d0cfc91e075658546e5f6f5804855de68a89a3
[AIX]Lowering global address for 32/64bit small/large code models

    This patch implements global address lowering for 32/64 bit with small/large code models.
    1.For 32bit large code model on AIX, there are newly added pseudo opcode LWZtocL & ADDIStocHA32, the support of which on MC layer will be
       provided by future patches.
    2.The default code model on AIX should be small code model.
    3.Since AIX does not have medium code model, "report_fatal_error" when users specify it.

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

llvm-svn: 368744
llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp
llvm/lib/Target/PowerPC/PPCISelLowering.cpp
llvm/lib/Target/PowerPC/PPCISelLowering.h
llvm/lib/Target/PowerPC/PPCInstrInfo.td
llvm/lib/Target/PowerPC/PPCTOCRegDeps.cpp
llvm/lib/Target/PowerPC/PPCTargetMachine.cpp
llvm/test/CodeGen/PowerPC/lower-globaladdr32-aix.ll [new file with mode: 0644]
llvm/test/CodeGen/PowerPC/lower-globaladdr64-aix.ll [new file with mode: 0644]