Skip to content

Commit 9ddec13

Browse files
committed
Sparc: Remove fixup kinds for WDISP16/WDISP19/WDISP22
Similar to f39696e
1 parent f27dc23 commit 9ddec13

File tree

4 files changed

+21
-38
lines changed

4 files changed

+21
-38
lines changed

llvm/lib/Target/Sparc/MCTargetDesc/SparcAsmBackend.cpp

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -35,13 +35,13 @@ static unsigned adjustFixupValue(unsigned Kind, uint64_t Value) {
3535
case Sparc::fixup_sparc_call30:
3636
return (Value >> 2) & 0x3fffffff;
3737

38-
case Sparc::fixup_sparc_br22:
38+
case ELF::R_SPARC_WDISP22:
3939
return (Value >> 2) & 0x3fffff;
4040

41-
case Sparc::fixup_sparc_br19:
41+
case ELF::R_SPARC_WDISP19:
4242
return (Value >> 2) & 0x7ffff;
4343

44-
case Sparc::fixup_sparc_br16: {
44+
case ELF::R_SPARC_WDISP16: {
4545
// A.3 Branch on Integer Register with Prediction (BPr)
4646
// Inst{21-20} = d16hi;
4747
// Inst{13-0} = d16lo;
@@ -127,9 +127,6 @@ namespace {
127127
const static MCFixupKindInfo InfosBE[Sparc::NumTargetFixupKinds] = {
128128
// name offset bits flags
129129
{ "fixup_sparc_call30", 2, 30, MCFixupKindInfo::FKF_IsPCRel },
130-
{ "fixup_sparc_br22", 10, 22, MCFixupKindInfo::FKF_IsPCRel },
131-
{ "fixup_sparc_br19", 13, 19, MCFixupKindInfo::FKF_IsPCRel },
132-
{ "fixup_sparc_br16", 0, 32, MCFixupKindInfo::FKF_IsPCRel },
133130
{ "fixup_sparc_13", 19, 13, 0 },
134131
{ "fixup_sparc_hi22", 10, 22, 0 },
135132
{ "fixup_sparc_lo10", 22, 10, 0 },
@@ -143,9 +140,6 @@ namespace {
143140
const static MCFixupKindInfo InfosLE[Sparc::NumTargetFixupKinds] = {
144141
// name offset bits flags
145142
{ "fixup_sparc_call30", 0, 30, MCFixupKindInfo::FKF_IsPCRel },
146-
{ "fixup_sparc_br22", 0, 22, MCFixupKindInfo::FKF_IsPCRel },
147-
{ "fixup_sparc_br19", 0, 19, MCFixupKindInfo::FKF_IsPCRel },
148-
{ "fixup_sparc_br16", 32, 0, MCFixupKindInfo::FKF_IsPCRel },
149143
{ "fixup_sparc_13", 0, 13, 0 },
150144
{ "fixup_sparc_hi22", 0, 22, 0 },
151145
{ "fixup_sparc_lo10", 0, 10, 0 },
@@ -177,6 +171,15 @@ namespace {
177171
case ELF::R_SPARC_PC22:
178172
Info = {"", 10, 22, MCFixupKindInfo::FKF_IsPCRel};
179173
break;
174+
case ELF::R_SPARC_WDISP16:
175+
Info = {"", 0, 32, MCFixupKindInfo::FKF_IsPCRel};
176+
break;
177+
case ELF::R_SPARC_WDISP19:
178+
Info = {"", 13, 19, MCFixupKindInfo::FKF_IsPCRel};
179+
break;
180+
case ELF::R_SPARC_WDISP22:
181+
Info = {"", 10, 22, MCFixupKindInfo::FKF_IsPCRel};
182+
break;
180183
}
181184
if (Endian == llvm::endianness::little)
182185
Info.TargetOffset = 32 - Info.TargetOffset - Info.TargetSize;

llvm/lib/Target/Sparc/MCTargetDesc/SparcELFObjectWriter.cpp

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -91,10 +91,6 @@ unsigned SparcELFObjectWriter::getRelocType(MCContext &Ctx,
9191
if (Ctx.getObjectFileInfo()->isPositionIndependent())
9292
return ELF::R_SPARC_WPLT30;
9393
return ELF::R_SPARC_WDISP30;
94-
case Sparc::fixup_sparc_br22: return ELF::R_SPARC_WDISP22;
95-
case Sparc::fixup_sparc_br19: return ELF::R_SPARC_WDISP19;
96-
case Sparc::fixup_sparc_br16:
97-
return ELF::R_SPARC_WDISP16;
9894
}
9995
}
10096

llvm/lib/Target/Sparc/MCTargetDesc/SparcFixupKinds.h

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -18,17 +18,6 @@ namespace llvm {
1818
// fixup_sparc_call30 - 30-bit PC relative relocation for call
1919
fixup_sparc_call30 = FirstTargetFixupKind,
2020

21-
/// fixup_sparc_br22 - 22-bit PC relative relocation for
22-
/// branches
23-
fixup_sparc_br22,
24-
25-
/// fixup_sparc_br19 - 19-bit PC relative relocation for
26-
/// branches on icc/xcc
27-
fixup_sparc_br19,
28-
29-
/// fixup_sparc_bpr - 16-bit fixup for bpr
30-
fixup_sparc_br16,
31-
3221
/// fixup_sparc_13 - 13-bit fixup
3322
fixup_sparc_13,
3423

llvm/lib/Target/Sparc/MCTargetDesc/SparcMCCodeEmitter.cpp

Lines changed: 9 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -190,34 +190,29 @@ getBranchTargetOpValue(const MCInst &MI, unsigned OpNo,
190190
if (MO.isReg() || MO.isImm())
191191
return getMachineOpValue(MI, MO, Fixups, STI);
192192

193-
Fixups.push_back(MCFixup::create(0, MO.getExpr(),
194-
(MCFixupKind)Sparc::fixup_sparc_br22));
193+
Fixups.push_back(MCFixup::create(0, MO.getExpr(), ELF::R_SPARC_WDISP22));
195194
return 0;
196195
}
197196

198-
unsigned SparcMCCodeEmitter::
199-
getBranchPredTargetOpValue(const MCInst &MI, unsigned OpNo,
200-
SmallVectorImpl<MCFixup> &Fixups,
201-
const MCSubtargetInfo &STI) const {
197+
unsigned SparcMCCodeEmitter::getBranchPredTargetOpValue(
198+
const MCInst &MI, unsigned OpNo, SmallVectorImpl<MCFixup> &Fixups,
199+
const MCSubtargetInfo &STI) const {
202200
const MCOperand &MO = MI.getOperand(OpNo);
203201
if (MO.isReg() || MO.isImm())
204202
return getMachineOpValue(MI, MO, Fixups, STI);
205203

206-
Fixups.push_back(MCFixup::create(0, MO.getExpr(),
207-
(MCFixupKind)Sparc::fixup_sparc_br19));
204+
Fixups.push_back(MCFixup::create(0, MO.getExpr(), ELF::R_SPARC_WDISP19));
208205
return 0;
209206
}
210207

211-
unsigned SparcMCCodeEmitter::
212-
getBranchOnRegTargetOpValue(const MCInst &MI, unsigned OpNo,
213-
SmallVectorImpl<MCFixup> &Fixups,
214-
const MCSubtargetInfo &STI) const {
208+
unsigned SparcMCCodeEmitter::getBranchOnRegTargetOpValue(
209+
const MCInst &MI, unsigned OpNo, SmallVectorImpl<MCFixup> &Fixups,
210+
const MCSubtargetInfo &STI) const {
215211
const MCOperand &MO = MI.getOperand(OpNo);
216212
if (MO.isReg() || MO.isImm())
217213
return getMachineOpValue(MI, MO, Fixups, STI);
218214

219-
Fixups.push_back(
220-
MCFixup::create(0, MO.getExpr(), (MCFixupKind)Sparc::fixup_sparc_br16));
215+
Fixups.push_back(MCFixup::create(0, MO.getExpr(), ELF::R_SPARC_WDISP16));
221216

222217
return 0;
223218
}

0 commit comments

Comments
 (0)