diff --git a/utils/TableGen/CodeGenInstruction.h b/utils/TableGen/CodeGenInstruction.h index cb55d45c186..be67754d3ee 100644 --- a/utils/TableGen/CodeGenInstruction.h +++ b/utils/TableGen/CodeGenInstruction.h @@ -39,10 +39,6 @@ namespace llvm { /// Record *Rec; - /// Ty - The MachineValueType of the operand. - /// - MVT::ValueType Ty; - /// Name - If this operand was assigned a symbolic name, this is it, /// otherwise, it's empty. std::string Name; @@ -64,11 +60,9 @@ namespace llvm { /// up of multiple MI operands. DagInit *MIOperandInfo; - OperandInfo(Record *R, MVT::ValueType T, const std::string &N, - const std::string &PMN, unsigned MION, unsigned MINO, - DagInit *MIOI) - - : Rec(R), Ty(T), Name(N), PrinterMethodName(PMN), MIOperandNo(MION), + OperandInfo(Record *R, const std::string &N, const std::string &PMN, + unsigned MION, unsigned MINO, DagInit *MIOI) + : Rec(R), Name(N), PrinterMethodName(PMN), MIOperandNo(MION), MINumOperands(MINO), MIOperandInfo(MIOI) {} }; diff --git a/utils/TableGen/CodeGenTarget.cpp b/utils/TableGen/CodeGenTarget.cpp index 4580060d0ff..73730d18a80 100644 --- a/utils/TableGen/CodeGenTarget.cpp +++ b/utils/TableGen/CodeGenTarget.cpp @@ -276,21 +276,17 @@ CodeGenInstruction::CodeGenInstruction(Record *R, const std::string &AsmStr) throw "Illegal operand for the '" + R->getName() + "' instruction!"; Record *Rec = Arg->getDef(); - MVT::ValueType Ty; std::string PrintMethod = "printOperand"; unsigned NumOps = 1; DagInit *MIOpInfo = 0; - if (Rec->isSubClassOf("RegisterClass")) { - Ty = getValueType(Rec->getValueAsDef("RegType")); - } else if (Rec->isSubClassOf("Operand")) { - Ty = getValueType(Rec->getValueAsDef("Type")); + if (Rec->isSubClassOf("Operand")) { PrintMethod = Rec->getValueAsString("PrintMethod"); NumOps = Rec->getValueAsInt("NumMIOperands"); MIOpInfo = Rec->getValueAsDag("MIOperandInfo"); } else if (Rec->getName() == "variable_ops") { hasVariableNumberOfOperands = true; continue; - } else + } else if (!Rec->isSubClassOf("RegisterClass")) throw "Unknown operand class '" + Rec->getName() + "' in instruction '" + R->getName() + "' instruction!"; @@ -302,9 +298,8 @@ CodeGenInstruction::CodeGenInstruction(Record *R, const std::string &AsmStr) throw "In instruction '" + R->getName() + "', operand #" + utostr(i) + " has the same name as a previous operand!"; - OperandList.push_back(OperandInfo(Rec, Ty, DI->getArgName(i), - PrintMethod, MIOperandNo, NumOps, - MIOpInfo)); + OperandList.push_back(OperandInfo(Rec, DI->getArgName(i), PrintMethod, + MIOperandNo, NumOps, MIOpInfo)); MIOperandNo += NumOps; } }