diff options
Diffstat (limited to 'lib/Target/MBlaze/AsmParser')
-rw-r--r-- | lib/Target/MBlaze/AsmParser/CMakeLists.txt | 8 | ||||
-rw-r--r-- | lib/Target/MBlaze/AsmParser/MBlazeAsmLexer.cpp | 27 | ||||
-rw-r--r-- | lib/Target/MBlaze/AsmParser/MBlazeAsmParser.cpp | 24 | ||||
-rw-r--r-- | lib/Target/MBlaze/AsmParser/Makefile | 2 |
4 files changed, 31 insertions, 30 deletions
diff --git a/lib/Target/MBlaze/AsmParser/CMakeLists.txt b/lib/Target/MBlaze/AsmParser/CMakeLists.txt index 87e7cb5..ec8f52a 100644 --- a/lib/Target/MBlaze/AsmParser/CMakeLists.txt +++ b/lib/Target/MBlaze/AsmParser/CMakeLists.txt @@ -6,3 +6,11 @@ add_llvm_library(LLVMMBlazeAsmParser MBlazeAsmParser.cpp ) +add_llvm_library_dependencies(LLVMMBlazeAsmParser + LLVMMBlazeInfo + LLVMMC + LLVMMCParser + LLVMSupport + ) + +add_dependencies(LLVMMBlazeAsmParser MBlazeCommonTableGen) diff --git a/lib/Target/MBlaze/AsmParser/MBlazeAsmLexer.cpp b/lib/Target/MBlaze/AsmParser/MBlazeAsmLexer.cpp index ac8caa2..2d357bb 100644 --- a/lib/Target/MBlaze/AsmParser/MBlazeAsmLexer.cpp +++ b/lib/Target/MBlaze/AsmParser/MBlazeAsmLexer.cpp @@ -7,8 +7,7 @@ // //===----------------------------------------------------------------------===// -#include "MBlaze.h" -#include "MBlazeTargetMachine.h" +#include "MCTargetDesc/MBlazeBaseInfo.h" #include "llvm/ADT/OwningPtr.h" #include "llvm/ADT/SmallVector.h" @@ -17,10 +16,10 @@ #include "llvm/MC/MCAsmInfo.h" #include "llvm/MC/MCParser/MCAsmLexer.h" #include "llvm/MC/MCParser/MCParsedAsmOperand.h" +#include "llvm/MC/MCRegisterInfo.h" +#include "llvm/MC/MCTargetAsmLexer.h" -#include "llvm/Target/TargetAsmLexer.h" -#include "llvm/Target/TargetMachine.h" // FIXME -#include "llvm/Target/TargetRegistry.h" +#include "llvm/Support/TargetRegistry.h" #include <string> #include <map> @@ -29,7 +28,7 @@ using namespace llvm; namespace { - class MBlazeBaseAsmLexer : public TargetAsmLexer { + class MBlazeBaseAsmLexer : public MCTargetAsmLexer { const MCAsmInfo &AsmInfo; const AsmToken &lexDefinite() { @@ -42,7 +41,7 @@ namespace { rmap_ty RegisterMap; - void InitRegisterMap(const TargetRegisterInfo *info) { + void InitRegisterMap(const MCRegisterInfo *info) { unsigned numRegs = info->getNumRegs(); for (unsigned i = 0; i < numRegs; ++i) { @@ -76,20 +75,16 @@ namespace { } public: MBlazeBaseAsmLexer(const Target &T, const MCAsmInfo &MAI) - : TargetAsmLexer(T), AsmInfo(MAI) { + : MCTargetAsmLexer(T), AsmInfo(MAI) { } }; class MBlazeAsmLexer : public MBlazeBaseAsmLexer { public: - MBlazeAsmLexer(const Target &T, const MCAsmInfo &MAI) + MBlazeAsmLexer(const Target &T, const MCRegisterInfo &MRI, + const MCAsmInfo &MAI) : MBlazeBaseAsmLexer(T, MAI) { - std::string tripleString("mblaze-unknown-unknown"); - std::string featureString; - std::string CPU; - OwningPtr<const TargetMachine> - targetMachine(T.createTargetMachine(tripleString, CPU, featureString)); - InitRegisterMap(targetMachine->getRegisterInfo()); + InitRegisterMap(&MRI); } }; } @@ -123,6 +118,6 @@ AsmToken MBlazeBaseAsmLexer::LexTokenUAL() { } extern "C" void LLVMInitializeMBlazeAsmLexer() { - RegisterAsmLexer<MBlazeAsmLexer> X(TheMBlazeTarget); + RegisterMCAsmLexer<MBlazeAsmLexer> X(TheMBlazeTarget); } diff --git a/lib/Target/MBlaze/AsmParser/MBlazeAsmParser.cpp b/lib/Target/MBlaze/AsmParser/MBlazeAsmParser.cpp index eebd9d8..97d311c 100644 --- a/lib/Target/MBlaze/AsmParser/MBlazeAsmParser.cpp +++ b/lib/Target/MBlaze/AsmParser/MBlazeAsmParser.cpp @@ -7,19 +7,16 @@ // //===----------------------------------------------------------------------===// -#include "MBlaze.h" -#include "MBlazeSubtarget.h" -#include "MBlazeRegisterInfo.h" -#include "MBlazeISelLowering.h" +#include "MCTargetDesc/MBlazeBaseInfo.h" #include "llvm/MC/MCParser/MCAsmLexer.h" #include "llvm/MC/MCParser/MCAsmParser.h" #include "llvm/MC/MCParser/MCParsedAsmOperand.h" #include "llvm/MC/MCStreamer.h" #include "llvm/MC/MCExpr.h" #include "llvm/MC/MCInst.h" -#include "llvm/Target/TargetRegistry.h" -#include "llvm/Target/TargetAsmParser.h" +#include "llvm/MC/MCTargetAsmParser.h" #include "llvm/Support/SourceMgr.h" +#include "llvm/Support/TargetRegistry.h" #include "llvm/Support/raw_ostream.h" #include "llvm/ADT/OwningPtr.h" #include "llvm/ADT/SmallVector.h" @@ -30,7 +27,7 @@ using namespace llvm; namespace { struct MBlazeOperand; -class MBlazeAsmParser : public TargetAsmParser { +class MBlazeAsmParser : public MCTargetAsmParser { MCAsmParser &Parser; MCAsmParser &getParser() const { return Parser; } @@ -64,7 +61,7 @@ class MBlazeAsmParser : public TargetAsmParser { public: MBlazeAsmParser(MCSubtargetInfo &_STI, MCAsmParser &_Parser) - : TargetAsmParser(), Parser(_Parser) {} + : MCTargetAsmParser(), Parser(_Parser) {} virtual bool ParseInstruction(StringRef Name, SMLoc NameLoc, SmallVectorImpl<MCParsedAsmOperand*> &Operands); @@ -286,19 +283,19 @@ void MBlazeOperand::print(raw_ostream &OS) const { break; case Register: OS << "<register R"; - OS << MBlazeRegisterInfo::getRegisterNumbering(getReg()) << ">"; + OS << getMBlazeRegisterNumbering(getReg()) << ">"; break; case Token: OS << "'" << getToken() << "'"; break; case Memory: { OS << "<memory R"; - OS << MBlazeRegisterInfo::getRegisterNumbering(getMemBase()); + OS << getMBlazeRegisterNumbering(getMemBase()); OS << ", "; unsigned RegOff = getMemOffReg(); if (RegOff) - OS << "R" << MBlazeRegisterInfo::getRegisterNumbering(RegOff); + OS << "R" << getMBlazeRegisterNumbering(RegOff); else OS << getMemOff(); OS << ">"; @@ -326,6 +323,7 @@ MatchAndEmitInstruction(SMLoc IDLoc, unsigned ErrorInfo; switch (MatchInstructionImpl(Operands, Inst, ErrorInfo)) { + default: break; case Match_Success: Out.EmitInstruction(Inst); return false; @@ -521,7 +519,7 @@ ParseInstruction(StringRef Name, SMLoc NameLoc, return false; } -/// ParseDirective parses the arm specific directives +/// ParseDirective parses the MBlaze specific directives bool MBlazeAsmParser::ParseDirective(AsmToken DirectiveID) { StringRef IDVal = DirectiveID.getIdentifier(); if (IDVal == ".word") @@ -558,7 +556,7 @@ extern "C" void LLVMInitializeMBlazeAsmLexer(); /// Force static initialization. extern "C" void LLVMInitializeMBlazeAsmParser() { - RegisterAsmParser<MBlazeAsmParser> X(TheMBlazeTarget); + RegisterMCAsmParser<MBlazeAsmParser> X(TheMBlazeTarget); LLVMInitializeMBlazeAsmLexer(); } diff --git a/lib/Target/MBlaze/AsmParser/Makefile b/lib/Target/MBlaze/AsmParser/Makefile index 611a0f4..1e68766 100644 --- a/lib/Target/MBlaze/AsmParser/Makefile +++ b/lib/Target/MBlaze/AsmParser/Makefile @@ -1,4 +1,4 @@ -##===- lib/Target/ARM/AsmParser/Makefile -------------------*- Makefile -*-===## +##===- lib/Target/MBlaze/AsmParser/Makefile ----------------*- Makefile -*-===## # # The LLVM Compiler Infrastructure # |