Skip to content

Commit e4430c6

Browse files
committed
Sparc part
1 parent ff74003 commit e4430c6

File tree

3 files changed

+14
-8
lines changed

3 files changed

+14
-8
lines changed

llvm/lib/Target/Sparc/Sparc.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ FunctionPass *createSparcDelaySlotFillerPass();
3131

3232
void LowerSparcMachineInstrToMCInst(const MachineInstr *MI, MCInst &OutMI,
3333
AsmPrinter &AP);
34-
void initializeSparcDAGToDAGISelPass(PassRegistry &);
34+
void initializeSparcDAGToDAGISelLegacyPass(PassRegistry &);
3535
} // namespace llvm
3636

3737
namespace llvm {

llvm/lib/Target/Sparc/SparcISelDAGToDAG.cpp

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -35,12 +35,11 @@ class SparcDAGToDAGISel : public SelectionDAGISel {
3535
/// Subtarget - Keep a pointer to the Sparc Subtarget around so that we can
3636
/// make the right decision when generating code for different targets.
3737
const SparcSubtarget *Subtarget = nullptr;
38-
public:
39-
static char ID;
4038

39+
public:
4140
SparcDAGToDAGISel() = delete;
4241

43-
explicit SparcDAGToDAGISel(SparcTargetMachine &tm) : SelectionDAGISel(ID, tm) {}
42+
explicit SparcDAGToDAGISel(SparcTargetMachine &tm) : SelectionDAGISel(tm) {}
4443

4544
bool runOnMachineFunction(MachineFunction &MF) override {
4645
Subtarget = &MF.getSubtarget<SparcSubtarget>();
@@ -66,11 +65,18 @@ class SparcDAGToDAGISel : public SelectionDAGISel {
6665
SDNode* getGlobalBaseReg();
6766
bool tryInlineAsm(SDNode *N);
6867
};
68+
69+
class SparcDAGToDAGISelLegacy : public SelectionDAGISelLegacy {
70+
public:
71+
static char ID;
72+
explicit SparcDAGToDAGISelLegacy(SparcTargetMachine &tm)
73+
: SelectionDAGISelLegacy(ID, std::make_unique<SparcDAGToDAGISel>(tm)) {}
74+
};
6975
} // end anonymous namespace
7076

71-
char SparcDAGToDAGISel::ID = 0;
77+
char SparcDAGToDAGISelLegacy::ID = 0;
7278

73-
INITIALIZE_PASS(SparcDAGToDAGISel, DEBUG_TYPE, PASS_NAME, false, false)
79+
INITIALIZE_PASS(SparcDAGToDAGISelLegacy, DEBUG_TYPE, PASS_NAME, false, false)
7480

7581
SDNode* SparcDAGToDAGISel::getGlobalBaseReg() {
7682
Register GlobalBaseReg = Subtarget->getInstrInfo()->getGlobalBaseReg(MF);
@@ -397,5 +403,5 @@ bool SparcDAGToDAGISel::SelectInlineAsmMemoryOperand(
397403
/// SPARC-specific DAG, ready for instruction scheduling.
398404
///
399405
FunctionPass *llvm::createSparcISelDag(SparcTargetMachine &TM) {
400-
return new SparcDAGToDAGISel(TM);
406+
return new SparcDAGToDAGISelLegacy(TM);
401407
}

llvm/lib/Target/Sparc/SparcTargetMachine.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ extern "C" LLVM_EXTERNAL_VISIBILITY void LLVMInitializeSparcTarget() {
2828
RegisterTargetMachine<SparcelTargetMachine> Z(getTheSparcelTarget());
2929

3030
PassRegistry &PR = *PassRegistry::getPassRegistry();
31-
initializeSparcDAGToDAGISelPass(PR);
31+
initializeSparcDAGToDAGISelLegacyPass(PR);
3232
}
3333

3434
static cl::opt<bool>

0 commit comments

Comments
 (0)