[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)
commitbe9668675aa2c3a602f71e49da84556d9813f778
tree9c9da40971ecc90eb9cb358f3d721c8cc2a533a8
parent648728d4e42e2bc6e744fcf41c04ea2029d21cd1
[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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@220470 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/ARM/ARMInstrInfo.cpp
test/CodeGen/ARM/stack_guard_remat.ll