From 05f343fa8afeb219e1089ac40c79277941e18a14 Mon Sep 17 00:00:00 2001 From: "Zi Xuan Wu (Zeson)" Date: Wed, 21 Dec 2022 11:51:06 +0800 Subject: [PATCH] [CSKY] Fix compiling error due to the interface change --- llvm/lib/Target/CSKY/AsmParser/CSKYAsmParser.cpp | 9 +++++---- llvm/lib/Target/CSKY/CSKY.h | 3 ++- llvm/lib/Target/CSKY/CSKYISelDAGToDAG.cpp | 12 +++++++++--- llvm/lib/Target/CSKY/CSKYTargetMachine.cpp | 2 +- 4 files changed, 17 insertions(+), 9 deletions(-) diff --git a/llvm/lib/Target/CSKY/AsmParser/CSKYAsmParser.cpp b/llvm/lib/Target/CSKY/AsmParser/CSKYAsmParser.cpp index 724f06f..2515b62 100644 --- a/llvm/lib/Target/CSKY/AsmParser/CSKYAsmParser.cpp +++ b/llvm/lib/Target/CSKY/AsmParser/CSKYAsmParser.cpp @@ -70,7 +70,8 @@ class CSKYAsmParser : public MCTargetAsmParser { uint64_t &ErrorInfo, bool MatchingInlineAsm) override; - bool ParseRegister(unsigned &RegNo, SMLoc &StartLoc, SMLoc &EndLoc) override; + bool parseRegister(MCRegister &RegNo, SMLoc &StartLoc, + SMLoc &EndLoc) override; bool ParseInstruction(ParseInstructionInfo &Info, StringRef Name, SMLoc NameLoc, OperandVector &Operands) override; @@ -81,7 +82,7 @@ class CSKYAsmParser : public MCTargetAsmParser { // possible, compression of the instruction is performed. void emitToStreamer(MCStreamer &S, const MCInst &Inst); - OperandMatchResultTy tryParseRegister(unsigned &RegNo, SMLoc &StartLoc, + OperandMatchResultTy tryParseRegister(MCRegister &RegNo, SMLoc &StartLoc, SMLoc &EndLoc) override; bool processInstruction(MCInst &Inst, SMLoc IDLoc, OperandVector &Operands, @@ -1008,7 +1009,7 @@ static bool matchRegisterNameHelper(const MCSubtargetInfo &STI, return RegNo == CSKY::NoRegister; } -bool CSKYAsmParser::ParseRegister(unsigned &RegNo, SMLoc &StartLoc, +bool CSKYAsmParser::parseRegister(MCRegister &RegNo, SMLoc &StartLoc, SMLoc &EndLoc) { const AsmToken &Tok = getParser().getTok(); StartLoc = Tok.getLoc(); @@ -1599,7 +1600,7 @@ bool CSKYAsmParser::ParseInstruction(ParseInstructionInfo &Info, StringRef Name, return false; } -OperandMatchResultTy CSKYAsmParser::tryParseRegister(unsigned &RegNo, +OperandMatchResultTy CSKYAsmParser::tryParseRegister(MCRegister &RegNo, SMLoc &StartLoc, SMLoc &EndLoc) { const AsmToken &Tok = getParser().getTok(); diff --git a/llvm/lib/Target/CSKY/CSKY.h b/llvm/lib/Target/CSKY/CSKY.h index 27a6c6d..da995ac 100644 --- a/llvm/lib/Target/CSKY/CSKY.h +++ b/llvm/lib/Target/CSKY/CSKY.h @@ -22,7 +22,8 @@ class CSKYTargetMachine; class FunctionPass; class PassRegistry; -FunctionPass *createCSKYISelDag(CSKYTargetMachine &TM); +FunctionPass *createCSKYISelDag(CSKYTargetMachine &TM, + CodeGenOpt::Level OptLevel); FunctionPass *createCSKYConstantIslandPass(); void initializeCSKYConstantIslandsPass(PassRegistry &); diff --git a/llvm/lib/Target/CSKY/CSKYISelDAGToDAG.cpp b/llvm/lib/Target/CSKY/CSKYISelDAGToDAG.cpp index b893487..031b160 100644 --- a/llvm/lib/Target/CSKY/CSKYISelDAGToDAG.cpp +++ b/llvm/lib/Target/CSKY/CSKYISelDAGToDAG.cpp @@ -27,7 +27,10 @@ class CSKYDAGToDAGISel : public SelectionDAGISel { const CSKYSubtarget *Subtarget; public: - explicit CSKYDAGToDAGISel(CSKYTargetMachine &TM) : SelectionDAGISel(TM) {} + static char ID; + + explicit CSKYDAGToDAGISel(CSKYTargetMachine &TM, CodeGenOpt::Level OptLevel) + : SelectionDAGISel(ID, TM, OptLevel) {} StringRef getPassName() const override { return "CSKY DAG->DAG Pattern Instruction Selection"; @@ -55,6 +58,8 @@ public: }; } // namespace +char CSKYDAGToDAGISel::ID = 0; + void CSKYDAGToDAGISel::Select(SDNode *N) { // If we have a custom node, we have already selected if (N->isMachineOpcode()) { @@ -394,6 +399,7 @@ bool CSKYDAGToDAGISel::SelectInlineAsmMemoryOperand( return true; } -FunctionPass *llvm::createCSKYISelDag(CSKYTargetMachine &TM) { - return new CSKYDAGToDAGISel(TM); +FunctionPass *llvm::createCSKYISelDag(CSKYTargetMachine &TM, + CodeGenOpt::Level OptLevel) { + return new CSKYDAGToDAGISel(TM, OptLevel); } diff --git a/llvm/lib/Target/CSKY/CSKYTargetMachine.cpp b/llvm/lib/Target/CSKY/CSKYTargetMachine.cpp index 9d1fe09..be73b5e 100644 --- a/llvm/lib/Target/CSKY/CSKYTargetMachine.cpp +++ b/llvm/lib/Target/CSKY/CSKYTargetMachine.cpp @@ -114,7 +114,7 @@ void CSKYPassConfig::addIRPasses() { } bool CSKYPassConfig::addInstSelector() { - addPass(createCSKYISelDag(getCSKYTargetMachine())); + addPass(createCSKYISelDag(getCSKYTargetMachine(), getOptLevel())); return false; } -- 2.7.4