[ms-inline asm] Add an interface to the GetMCInstOperandNum() function in the

MCTargetAsmParser class.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163122 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chad Rosier
2012-09-03 18:47:45 +00:00
parent ad2d3e637a
commit 038f3e3127
6 changed files with 40 additions and 6 deletions

View File

@@ -262,6 +262,12 @@ public:
bool MatchAndEmitInstruction(SMLoc IDLoc,
SmallVectorImpl<MCParsedAsmOperand*> &Operands,
MCStreamer &Out);
unsigned GetMCInstOperandNum(unsigned Kind, MCInst &Inst,
const SmallVectorImpl<MCParsedAsmOperand*> &Operands,
unsigned OperandNum) {
return GetMCInstOperandNumImpl(Kind, Inst, Operands, OperandNum);
}
};
} // end anonymous namespace

View File

@@ -56,6 +56,11 @@ class MBlazeAsmParser : public MCTargetAsmParser {
/// }
unsigned GetMCInstOperandNum(unsigned Kind, MCInst &Inst,
const SmallVectorImpl<MCParsedAsmOperand*> &Operands,
unsigned OperandNum) {
return GetMCInstOperandNumImpl(Kind, Inst, Operands, OperandNum);
}
public:
MBlazeAsmParser(MCSubtargetInfo &_STI, MCAsmParser &_Parser)

View File

@@ -37,6 +37,11 @@ class MipsAsmParser : public MCTargetAsmParser {
bool ParseDirective(AsmToken DirectiveID);
OperandMatchResultTy parseMemOperand(SmallVectorImpl<MCParsedAsmOperand*>&);
unsigned GetMCInstOperandNum(unsigned Kind, MCInst &Inst,
const SmallVectorImpl<MCParsedAsmOperand*> &Operands,
unsigned OperandNum);
public:
MipsAsmParser(MCSubtargetInfo &sti, MCAsmParser &parser)
: MCTargetAsmParser() {
@@ -96,6 +101,14 @@ public:
};
}
unsigned MipsAsmParser::
GetMCInstOperandNum(unsigned Kind, MCInst &Inst,
const SmallVectorImpl<MCParsedAsmOperand*> &Operands,
unsigned OperandNum) {
assert (0 && "GetMCInstOperandNum() not supported by the Mips target.");
return 0;
}
bool MipsAsmParser::
MatchAndEmitInstruction(SMLoc IDLoc,
SmallVectorImpl<MCParsedAsmOperand*> &Operands,

View File

@@ -73,6 +73,12 @@ private:
unsigned &OrigErrorInfo,
bool matchingInlineAsm = false);
unsigned GetMCInstOperandNum(unsigned Kind, MCInst &Inst,
const SmallVectorImpl<MCParsedAsmOperand*> &Operands,
unsigned OperandNum) {
return GetMCInstOperandNumImpl(Kind, Inst, Operands, OperandNum);
}
/// isSrcOp - Returns true if operand is either (%rsi) or %ds:%(rsi)
/// in 64bit mode or (%esi) or %es:(%esi) in 32bit mode.
bool isSrcOp(X86Operand &Op);