summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/ARM/MCTargetDesc
diff options
context:
space:
mode:
authorEvgeniy Stepanov <eugeni.stepanov@gmail.com>2017-11-13 20:45:38 +0000
committerEvgeniy Stepanov <eugeni.stepanov@gmail.com>2017-11-13 20:45:38 +0000
commit76d5ac49068e248fbca9369358d1024a1b72619a (patch)
tree28dc881499cfe40ce52b8d7fc0e781a42be41de0 /llvm/lib/Target/ARM/MCTargetDesc
parent2ba105a7da86aea6903af824cb39937d7a99c36a (diff)
downloadbcm5719-llvm-76d5ac49068e248fbca9369358d1024a1b72619a.tar.gz
bcm5719-llvm-76d5ac49068e248fbca9369358d1024a1b72619a.zip
[arm] Fix Unnecessary reloads from GOT.
Summary: This fixes PR35221. Use pseudo-instructions to let MachineCSE hoist global address computation. Subscribers: aemerson, javed.absar, kristof.beyls, llvm-commits, hiraditya Differential Revision: https://reviews.llvm.org/D39871 llvm-svn: 318081
Diffstat (limited to 'llvm/lib/Target/ARM/MCTargetDesc')
-rw-r--r--llvm/lib/Target/ARM/MCTargetDesc/ARMBaseInfo.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/llvm/lib/Target/ARM/MCTargetDesc/ARMBaseInfo.h b/llvm/lib/Target/ARM/MCTargetDesc/ARMBaseInfo.h
index 17da82b4ca3..c4480e3da50 100644
--- a/llvm/lib/Target/ARM/MCTargetDesc/ARMBaseInfo.h
+++ b/llvm/lib/Target/ARM/MCTargetDesc/ARMBaseInfo.h
@@ -228,7 +228,10 @@ namespace ARMII {
/// MO_OPTION_MASK - Most flags are mutually exclusive; this mask selects
/// just that part of the flag set.
- MO_OPTION_MASK = 0x0f,
+ MO_OPTION_MASK = 0x3,
+
+ /// MO_GOT - On a symbol operand, this represents a GOT relative relocation.
+ MO_GOT = 0x8,
/// MO_SBREL - On a symbol operand, this represents a static base relative
/// relocation. Used in movw and movt instructions.
OpenPOWER on IntegriCloud