mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-09-24 23:28:41 +00:00
rewrite EmitConvertToMCInst to iterate over the MCInst operands,
filling them in one at a time. Previously this iterated over the asmoperands, which left the problem of "holes". The new approach simplifies things. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118104 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -102,7 +102,18 @@ namespace llvm {
|
||||
const std::string &EMN, unsigned MION, unsigned MINO,
|
||||
DagInit *MIOI)
|
||||
: Rec(R), Name(N), PrinterMethodName(PMN), EncoderMethodName(EMN),
|
||||
MIOperandNo(MION), MINumOperands(MINO), MIOperandInfo(MIOI) {}
|
||||
MIOperandNo(MION), MINumOperands(MINO), MIOperandInfo(MIOI) {}
|
||||
|
||||
|
||||
/// getTiedOperand - If this operand is tied to another one, return the
|
||||
/// other operand number. Otherwise, return -1.
|
||||
int getTiedRegister() const {
|
||||
for (unsigned j = 0, e = Constraints.size(); j != e; ++j) {
|
||||
const CGIOperandList::ConstraintInfo &CI = Constraints[j];
|
||||
if (CI.isTied()) return CI.getTiedOperand();
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
};
|
||||
|
||||
CGIOperandList(Record *D);
|
||||
|
Reference in New Issue
Block a user