]> Gitweb @ Texas Instruments - Open Source Git Repositories - git.TI.com/gitweb - opencl/llvm.git/commit
Materialize GA addresses with movw + movt pairs for Darwin in PIC mode. e.g.
authorEvan Cheng <evan.cheng@apple.com>
Mon, 17 Jan 2011 08:03:18 +0000 (08:03 +0000)
committerEvan Cheng <evan.cheng@apple.com>
Mon, 17 Jan 2011 08:03:18 +0000 (08:03 +0000)
commit5de5d4b6d0eb3fd379fa571d82f6fa764460b3b8
tree3e3003c4648ab61634d5f42fa60ae13332153883
parentb1086a9c6d6d5ee3070a68076f38eec841cefd58
Materialize GA addresses with movw + movt pairs for Darwin in PIC mode. e.g.
        movw    r0, :lower16:(L_foo$non_lazy_ptr-(LPC0_0+4))
        movt    r0, :upper16:(L_foo$non_lazy_ptr-(LPC0_0+4))
LPC0_0:
        add     r0, pc, r0

It's not yet enabled by default as some tests are failing. I suspect bugs in
down stream tools.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123619 91177308-0d34-0410-b5e6-96231b3b80d8
18 files changed:
lib/Target/ARM/ARMAsmPrinter.cpp
lib/Target/ARM/ARMAsmPrinter.h
lib/Target/ARM/ARMBaseInfo.h
lib/Target/ARM/ARMBaseInstrInfo.cpp
lib/Target/ARM/ARMConstantIslandPass.cpp
lib/Target/ARM/ARMExpandPseudoInsts.cpp
lib/Target/ARM/ARMFastISel.cpp
lib/Target/ARM/ARMISelDAGToDAG.cpp
lib/Target/ARM/ARMISelLowering.cpp
lib/Target/ARM/ARMISelLowering.h
lib/Target/ARM/ARMInstrInfo.td
lib/Target/ARM/ARMInstrThumb2.td
lib/Target/ARM/ARMJITInfo.h
lib/Target/ARM/ARMMachineFunctionInfo.h
lib/Target/ARM/ARMSubtarget.cpp
test/CodeGen/ARM/2010-11-30-reloc-movt.ll
test/CodeGen/ARM/2010-12-13-reloc-pic.ll
test/CodeGen/ARM/2010-12-15-elf-lcomm.ll