aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/MC/MCAssembler.cpp
diff options
context:
space:
mode:
authorColin LeMahieu <colinl@codeaurora.org>2015-05-30 18:42:22 +0000
committerColin LeMahieu <colinl@codeaurora.org>2015-05-30 18:42:22 +0000
commita01780facfaa80f3ad219df2aaf9d8153a0ef850 (patch)
tree8400df13906706930f09a9320d555e9ee056621a /llvm/lib/MC/MCAssembler.cpp
parent2ea204e645ea224d90b902153602e655f097dab2 (diff)
downloadllvm-a01780facfaa80f3ad219df2aaf9d8153a0ef850.zip
llvm-a01780facfaa80f3ad219df2aaf9d8153a0ef850.tar.gz
llvm-a01780facfaa80f3ad219df2aaf9d8153a0ef850.tar.bz2
[MC] Allow backends to decide relaxation for unresolved fixups.
Differential Revision: http://reviews.llvm.org/D8217 llvm-svn: 238659
Diffstat (limited to 'llvm/lib/MC/MCAssembler.cpp')
-rw-r--r--llvm/lib/MC/MCAssembler.cpp8
1 files changed, 3 insertions, 5 deletions
diff --git a/llvm/lib/MC/MCAssembler.cpp b/llvm/lib/MC/MCAssembler.cpp
index cd14e33..7f09e74 100644
--- a/llvm/lib/MC/MCAssembler.cpp
+++ b/llvm/lib/MC/MCAssembler.cpp
@@ -895,13 +895,11 @@ void MCAssembler::Finish() {
bool MCAssembler::fixupNeedsRelaxation(const MCFixup &Fixup,
const MCRelaxableFragment *DF,
const MCAsmLayout &Layout) const {
- // If we cannot resolve the fixup value, it requires relaxation.
MCValue Target;
uint64_t Value;
- if (!evaluateFixup(Layout, Fixup, DF, Target, Value))
- return true;
-
- return getBackend().fixupNeedsRelaxation(Fixup, Value, DF, Layout);
+ bool Resolved = evaluateFixup(Layout, Fixup, DF, Target, Value);
+ return getBackend().fixupNeedsRelaxationAdvanced(Fixup, Resolved, Value, DF,
+ Layout);
}
bool MCAssembler::fragmentNeedsRelaxation(const MCRelaxableFragment *F,