mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-07-25 13:24:46 +00:00
[ms-inline asm] Add the convertToMapAndConstraints() function that is used to
map constraints and MCInst operands to inline asm operands. This replaces the getMCInstOperandNum() function. The logic to determine the constraints are not in place, so we still default to a register constraint (i.e., "r"). Also, we no longer build the MCInst but rather return just the opcode to get the MCInstrDesc. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164979 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -89,11 +89,11 @@ public:
|
||||
/// On failure, the target parser is responsible for emitting a diagnostic
|
||||
/// explaining the match failure.
|
||||
virtual bool
|
||||
MatchInstruction(SMLoc IDLoc, unsigned &Kind,
|
||||
MatchInstruction(SMLoc IDLoc,
|
||||
SmallVectorImpl<MCParsedAsmOperand*> &Operands,
|
||||
SmallVectorImpl<MCInst> &MCInsts,
|
||||
unsigned &OrigErrorInfo,
|
||||
bool matchingInlineAsm = false) {
|
||||
MCStreamer &Out, unsigned &Kind, unsigned &Opcode,
|
||||
SmallVectorImpl<std::pair< unsigned, std::string > > &MapAndConstraints,
|
||||
unsigned &OrigErrorInfo, bool matchingInlineAsm = false) {
|
||||
OrigErrorInfo = ~0x0;
|
||||
return true;
|
||||
}
|
||||
@@ -115,10 +115,9 @@ public:
|
||||
return Match_Success;
|
||||
}
|
||||
|
||||
virtual unsigned getMCInstOperandNum(unsigned Kind,
|
||||
virtual void convertToMapAndConstraints(unsigned Kind,
|
||||
const SmallVectorImpl<MCParsedAsmOperand*> &Operands,
|
||||
unsigned OperandNum,
|
||||
unsigned &NumMCOperands) = 0;
|
||||
SmallVectorImpl<std::pair< unsigned, std::string > > &MapAndConstraints) = 0;
|
||||
};
|
||||
|
||||
} // End llvm namespace
|
||||
|
Reference in New Issue
Block a user