Added the skeleton for the implementation of the X86

target-specific AsmLexer, and added the appropriate
registration calls.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94275 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Sean Callanan 2010-01-23 02:43:15 +00:00
parent 796263464d
commit e88f55254c
2 changed files with 46 additions and 0 deletions

View File

@ -0,0 +1,43 @@
//===-- X86AsmLexer.cpp - Tokenize X86 assembly to AsmTokens --------------===//
//
// The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
#include "llvm/Target/TargetAsmLexer.h"
#include "llvm/Target/TargetRegistry.h"
#include "llvm/MC/MCParser/MCAsmLexer.h"
#include "llvm/MC/MCParser/MCParsedAsmOperand.h"
#include "X86.h"
using namespace llvm;
namespace {
class X86AsmLexer : public TargetAsmLexer {
const MCAsmInfo &AsmInfo;
protected:
AsmToken LexToken();
public:
X86AsmLexer(const Target &T, const MCAsmInfo &MAI)
: TargetAsmLexer(T), AsmInfo(MAI) {
}
};
}
AsmToken X86AsmLexer::LexToken() {
return AsmToken(AsmToken::Error, "", 0);
}
extern "C" void LLVMInitializeX86AsmLexer() {
RegisterAsmLexer<X86AsmLexer> X(TheX86_32Target);
RegisterAsmLexer<X86AsmLexer> Y(TheX86_64Target);
}
//#define REGISTERS_ONLY
//#include "../X86GenAsmMatcher.inc"
//#undef REGISTERS_ONLY

View File

@ -488,10 +488,13 @@ bool X86ATTAsmParser::ParseDirectiveWord(unsigned Size, SMLoc L) {
return false;
}
extern "C" void LLVMInitializeX86AsmLexer();
// Force static initialization.
extern "C" void LLVMInitializeX86AsmParser() {
RegisterAsmParser<X86ATTAsmParser> X(TheX86_32Target);
RegisterAsmParser<X86ATTAsmParser> Y(TheX86_64Target);
LLVMInitializeX86AsmLexer();
}
#include "X86GenAsmMatcher.inc"