[ARM, stack protector] If supported, use armv7 instructions.
authorAkira Hatanaka <ahatanaka@apple.com>
Thu, 23 Oct 2014 04:17:05 +0000 (04:17 +0000)
committerAkira Hatanaka <ahatanaka@apple.com>
Thu, 23 Oct 2014 04:17:05 +0000 (04:17 +0000)
commit2ee0e9e6ee1dd2d86a2f4d4ea6bbfa5577ffe982
tree4760a123a55e67b1631932b84d0c3139623707ef
parent319be7222003a55cbb373ebcc0601bb84c869f82
[ARM, stack protector] If supported, use armv7 instructions.

This commit enables using movt/movw to load the stack guard address:

movw r0, :lower16:(L_g3$non_lazy_ptr-(LPC0_0+8))
movt r0, :upper16:(L_g3$non_lazy_ptr-(LPC0_0+8))
ldr r0, [pc, r0]

Previously a pc-relative load was emitted:

ldr r0, LCPI0_0
ldr r0, [pc, r0]

rdar://problem/18740489

llvm-svn: 220470
llvm/lib/Target/ARM/ARMInstrInfo.cpp
llvm/test/CodeGen/ARM/stack_guard_remat.ll