diff options
Diffstat (limited to 'utils/TableGen/CodeGenTarget.cpp')
-rw-r--r-- | utils/TableGen/CodeGenTarget.cpp | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/utils/TableGen/CodeGenTarget.cpp b/utils/TableGen/CodeGenTarget.cpp index 026119d8d0..422e8d0b4f 100644 --- a/utils/TableGen/CodeGenTarget.cpp +++ b/utils/TableGen/CodeGenTarget.cpp @@ -122,14 +122,23 @@ CodeGenInstruction::CodeGenInstruction(Record *R) : TheDef(R) { Namespace = R->getValueAsString("Namespace"); AsmString = R->getValueAsString("AsmString"); - //TODO: Parse OperandList - isReturn = R->getValueAsBit("isReturn"); isBranch = R->getValueAsBit("isBranch"); isBarrier = R->getValueAsBit("isBarrier"); isCall = R->getValueAsBit("isCall"); isTwoAddress = R->getValueAsBit("isTwoAddress"); isTerminator = R->getValueAsBit("isTerminator"); + + + //TODO: Parse OperandList + try { + DagInit *DI = R->getValueAsDag("OperandList"); + + // Cannot handle instructions with operands yet. + if (DI->getNumArgs()) + AsmString.clear(); + } catch (...) { + } } |