File tree Expand file tree Collapse file tree 4 files changed +15
-14
lines changed Expand file tree Collapse file tree 4 files changed +15
-14
lines changed Original file line number Diff line number Diff line change @@ -88,11 +88,10 @@ class MCAsmBackend {
88
88
// / Get information on a fixup kind.
89
89
virtual MCFixupKindInfo getFixupKindInfo (MCFixupKind Kind) const ;
90
90
91
- // Hook used by the default `addReloc` to check if a relocation is needed.
91
+ // Hook to check if a relocation is needed. The default implementation tests
92
+ // whether the MCValue has a relocation specifier.
92
93
virtual bool shouldForceRelocation (const MCAssembler &, const MCFixup &,
93
- const MCValue &, const MCSubtargetInfo *) {
94
- return false ;
95
- }
94
+ const MCValue &, const MCSubtargetInfo *);
96
95
97
96
// / Hook to check if extra nop bytes must be inserted for alignment directive.
98
97
// / For some targets this may be necessary in order to support linker
Original file line number Diff line number Diff line change @@ -109,6 +109,12 @@ MCFixupKindInfo MCAsmBackend::getFixupKindInfo(MCFixupKind Kind) const {
109
109
return Builtins[Kind - FK_NONE];
110
110
}
111
111
112
+ bool MCAsmBackend::shouldForceRelocation (const MCAssembler &, const MCFixup &,
113
+ const MCValue &Target,
114
+ const MCSubtargetInfo *) {
115
+ return Target.getSpecifier ();
116
+ }
117
+
112
118
bool MCAsmBackend::fixupNeedsRelaxationAdvanced (const MCAssembler &,
113
119
const MCFixup &Fixup,
114
120
const MCValue &, uint64_t Value,
Original file line number Diff line number Diff line change @@ -200,6 +200,12 @@ namespace {
200
200
return Info;
201
201
}
202
202
203
+ bool shouldForceRelocation (const MCAssembler &, const MCFixup &,
204
+ const MCValue &,
205
+ const MCSubtargetInfo *) override {
206
+ return false ;
207
+ }
208
+
203
209
void relaxInstruction (MCInst &Inst,
204
210
const MCSubtargetInfo &STI) const override {
205
211
// FIXME.
Original file line number Diff line number Diff line change 17
17
#include " llvm/MC/MCInst.h"
18
18
#include " llvm/MC/MCObjectWriter.h"
19
19
#include " llvm/MC/MCSubtargetInfo.h"
20
- #include " llvm/MC/MCValue.h"
21
20
22
21
using namespace llvm ;
23
22
@@ -113,8 +112,6 @@ class SystemZMCAsmBackend : public MCAsmBackend {
113
112
// Override MCAsmBackend
114
113
std::optional<MCFixupKind> getFixupKind (StringRef Name) const override ;
115
114
MCFixupKindInfo getFixupKindInfo (MCFixupKind Kind) const override ;
116
- bool shouldForceRelocation (const MCAssembler &, const MCFixup &,
117
- const MCValue &, const MCSubtargetInfo *) override ;
118
115
void applyFixup (const MCAssembler &Asm, const MCFixup &Fixup,
119
116
const MCValue &Target, MutableArrayRef<char > Data,
120
117
uint64_t Value, bool IsResolved,
@@ -155,13 +152,6 @@ MCFixupKindInfo SystemZMCAsmBackend::getFixupKindInfo(MCFixupKind Kind) const {
155
152
return SystemZ::MCFixupKindInfos[Kind - FirstTargetFixupKind];
156
153
}
157
154
158
- bool SystemZMCAsmBackend::shouldForceRelocation (const MCAssembler &,
159
- const MCFixup &,
160
- const MCValue &Target,
161
- const MCSubtargetInfo *) {
162
- return Target.getSpecifier ();
163
- }
164
-
165
155
void SystemZMCAsmBackend::applyFixup (const MCAssembler &Asm,
166
156
const MCFixup &Fixup,
167
157
const MCValue &Target,
You can’t perform that action at this time.
0 commit comments