Skip to content

Commit 5865233

Browse files
committed
XCore part
1 parent 63030dc commit 5865233

File tree

3 files changed

+15
-8
lines changed

3 files changed

+15
-8
lines changed

llvm/lib/Target/XCore/XCore.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ namespace llvm {
3131
FunctionPass *createXCoreISelDag(XCoreTargetMachine &TM,
3232
CodeGenOptLevel OptLevel);
3333
ModulePass *createXCoreLowerThreadLocalPass();
34-
void initializeXCoreDAGToDAGISelPass(PassRegistry &);
34+
void initializeXCoreDAGToDAGISelLegacyPass(PassRegistry &);
3535

3636
} // end namespace llvm;
3737

llvm/lib/Target/XCore/XCoreISelDAGToDAG.cpp

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -41,12 +41,10 @@ namespace {
4141
class XCoreDAGToDAGISel : public SelectionDAGISel {
4242

4343
public:
44-
static char ID;
45-
4644
XCoreDAGToDAGISel() = delete;
4745

4846
XCoreDAGToDAGISel(XCoreTargetMachine &TM, CodeGenOptLevel OptLevel)
49-
: SelectionDAGISel(ID, TM, OptLevel) {}
47+
: SelectionDAGISel(TM, OptLevel) {}
5048

5149
void Select(SDNode *N) override;
5250
bool tryBRIND(SDNode *N);
@@ -78,18 +76,27 @@ namespace {
7876
// Include the pieces autogenerated from the target description.
7977
#include "XCoreGenDAGISel.inc"
8078
};
79+
80+
class XCoreDAGToDAGISelLegacy : public SelectionDAGISelLegacy {
81+
public:
82+
static char ID;
83+
explicit XCoreDAGToDAGISelLegacy(XCoreTargetMachine &TM,
84+
CodeGenOptLevel OptLevel)
85+
: SelectionDAGISelLegacy(
86+
ID, std::make_unique<XCoreDAGToDAGISel>(TM, OptLevel)) {}
87+
};
8188
} // end anonymous namespace
8289

83-
char XCoreDAGToDAGISel::ID = 0;
90+
char XCoreDAGToDAGISelLegacy::ID = 0;
8491

85-
INITIALIZE_PASS(XCoreDAGToDAGISel, DEBUG_TYPE, PASS_NAME, false, false)
92+
INITIALIZE_PASS(XCoreDAGToDAGISelLegacy, DEBUG_TYPE, PASS_NAME, false, false)
8693

8794
/// createXCoreISelDag - This pass converts a legalized DAG into a
8895
/// XCore-specific DAG, ready for instruction scheduling.
8996
///
9097
FunctionPass *llvm::createXCoreISelDag(XCoreTargetMachine &TM,
9198
CodeGenOptLevel OptLevel) {
92-
return new XCoreDAGToDAGISel(TM, OptLevel);
99+
return new XCoreDAGToDAGISelLegacy(TM, OptLevel);
93100
}
94101

95102
bool XCoreDAGToDAGISel::SelectADDRspii(SDValue Addr, SDValue &Base,

llvm/lib/Target/XCore/XCoreTargetMachine.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@ void XCorePassConfig::addPreEmitPass() {
107107
extern "C" LLVM_EXTERNAL_VISIBILITY void LLVMInitializeXCoreTarget() {
108108
RegisterTargetMachine<XCoreTargetMachine> X(getTheXCoreTarget());
109109
PassRegistry &PR = *PassRegistry::getPassRegistry();
110-
initializeXCoreDAGToDAGISelPass(PR);
110+
initializeXCoreDAGToDAGISelLegacyPass(PR);
111111
}
112112

113113
TargetTransformInfo

0 commit comments

Comments
 (0)