summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/ARM/MCTargetDesc
diff options
context:
space:
mode:
authorFlorian Hahn <florian.hahn@arm.com>2017-06-07 12:58:08 +0000
committerFlorian Hahn <florian.hahn@arm.com>2017-06-07 12:58:08 +0000
commit28a61d64e2a45f28146a6e2682b60d8fd470ac75 (patch)
treef5f225e7c315115548ac9c86b28296ae5ad08b6b /llvm/lib/Target/ARM/MCTargetDesc
parentd96a052cb1f38338193bb6f66cf19e9aeeba3217 (diff)
downloadbcm5719-llvm-28a61d64e2a45f28146a6e2682b60d8fd470ac75.tar.gz
bcm5719-llvm-28a61d64e2a45f28146a6e2682b60d8fd470ac75.zip
[ARM] Use FixupKind variable in processFixupValue (cleanup, NFC).
llvm-svn: 304905
Diffstat (limited to 'llvm/lib/Target/ARM/MCTargetDesc')
-rw-r--r--llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp20
1 files changed, 10 insertions, 10 deletions
diff --git a/llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp b/llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
index 546601e09dd..716492ea256 100644
--- a/llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
+++ b/llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
@@ -723,16 +723,17 @@ void ARMAsmBackend::processFixupValue(const MCAssembler &Asm,
bool &IsResolved) {
const MCSymbolRefExpr *A = Target.getSymA();
const MCSymbol *Sym = A ? &A->getSymbol() : nullptr;
+ const unsigned FixupKind = Fixup.getKind() ;
// MachO (the only user of "Value") tries to make .o files that look vaguely
// pre-linked, so for MOVW/MOVT and .word relocations they put the Thumb bit
// into the addend if possible. Other relocation types don't want this bit
// though (branches couldn't encode it if it *was* present, and no other
// relocations exist) and it can interfere with checking valid expressions.
- if ((unsigned)Fixup.getKind() == FK_Data_4 ||
- (unsigned)Fixup.getKind() == ARM::fixup_arm_movw_lo16 ||
- (unsigned)Fixup.getKind() == ARM::fixup_arm_movt_hi16 ||
- (unsigned)Fixup.getKind() == ARM::fixup_t2_movw_lo16 ||
- (unsigned)Fixup.getKind() == ARM::fixup_t2_movt_hi16) {
+ if (FixupKind == FK_Data_4 ||
+ FixupKind == ARM::fixup_arm_movw_lo16 ||
+ FixupKind == ARM::fixup_arm_movt_hi16 ||
+ FixupKind == ARM::fixup_t2_movw_lo16 ||
+ FixupKind == ARM::fixup_t2_movt_hi16) {
if (Sym) {
if (Asm.isThumbFunc(Sym))
Value |= 1;
@@ -754,7 +755,6 @@ void ARMAsmBackend::processFixupValue(const MCAssembler &Asm,
if (Sym && Sym->isELF()) {
unsigned Type = dyn_cast<MCSymbolELF>(Sym)->getType();
if ((Type == ELF::STT_FUNC || Type == ELF::STT_GNU_IFUNC)) {
- unsigned FixupKind = Fixup.getKind() ;
if (Asm.isThumbFunc(Sym) && (FixupKind == ARM::fixup_arm_uncondbranch))
IsResolved = false;
if (!Asm.isThumbFunc(Sym) && (FixupKind == ARM::fixup_arm_thumb_br ||
@@ -766,10 +766,10 @@ void ARMAsmBackend::processFixupValue(const MCAssembler &Asm,
// We must always generate a relocation for BL/BLX instructions if we have
// a symbol to reference, as the linker relies on knowing the destination
// symbol's thumb-ness to get interworking right.
- if (A && ((unsigned)Fixup.getKind() == ARM::fixup_arm_thumb_blx ||
- (unsigned)Fixup.getKind() == ARM::fixup_arm_blx ||
- (unsigned)Fixup.getKind() == ARM::fixup_arm_uncondbl ||
- (unsigned)Fixup.getKind() == ARM::fixup_arm_condbl))
+ if (A && (FixupKind == ARM::fixup_arm_thumb_blx ||
+ FixupKind == ARM::fixup_arm_blx ||
+ FixupKind == ARM::fixup_arm_uncondbl ||
+ FixupKind == ARM::fixup_arm_condbl))
IsResolved = false;
}
OpenPOWER on IntegriCloud