diff options
author | Chris Lattner <sabre@nondot.org> | 2005-11-19 07:05:57 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2005-11-19 07:05:57 +0000 |
commit | 65303d6bd777b76735ef179870678a1d14671c54 (patch) | |
tree | 19a39382164bd4b4030cd0e85d6bc08cfa0b3bc2 /utils/TableGen/CodeGenInstruction.h | |
parent | 6adaf79ad7fd5f3b411e7ff326785891ee47e491 (diff) | |
download | llvm-65303d6bd777b76735ef179870678a1d14671c54.tar.gz llvm-65303d6bd777b76735ef179870678a1d14671c54.tar.bz2 llvm-65303d6bd777b76735ef179870678a1d14671c54.tar.xz |
Teach tblgen about instruction operands that have multiple MachineInstr
operands, digging into them to find register values (used on X86). Patch
by Evan Cheng!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24424 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'utils/TableGen/CodeGenInstruction.h')
-rw-r--r-- | utils/TableGen/CodeGenInstruction.h | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/utils/TableGen/CodeGenInstruction.h b/utils/TableGen/CodeGenInstruction.h index cbf22db821..d400cadc0c 100644 --- a/utils/TableGen/CodeGenInstruction.h +++ b/utils/TableGen/CodeGenInstruction.h @@ -21,6 +21,7 @@ namespace llvm { class Record; + class DagInit; struct CodeGenInstruction { Record *TheDef; // The actual record defining this instruction. @@ -59,10 +60,16 @@ namespace llvm { unsigned MIOperandNo; unsigned MINumOperands; // The number of operands. + /// MIOperandInfo - Default MI operand type. Note an operand may be made 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) + const std::string &PMN, unsigned MION, unsigned MINO, + DagInit *MIOI) + : Rec(R), Ty(T), Name(N), PrinterMethodName(PMN), MIOperandNo(MION), - MINumOperands(MINO) {} + MINumOperands(MINO), MIOperandInfo(MIOI) {} }; /// OperandList - The list of declared operands, along with their declared |