diff options
| author | Evgeniy Stepanov <eugeni.stepanov@gmail.com> | 2017-11-13 20:45:38 +0000 |
|---|---|---|
| committer | Evgeniy Stepanov <eugeni.stepanov@gmail.com> | 2017-11-13 20:45:38 +0000 |
| commit | 76d5ac49068e248fbca9369358d1024a1b72619a (patch) | |
| tree | 28dc881499cfe40ce52b8d7fc0e781a42be41de0 /llvm/lib/Target/ARM/MCTargetDesc | |
| parent | 2ba105a7da86aea6903af824cb39937d7a99c36a (diff) | |
| download | bcm5719-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.h | 5 |
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. |

