aboutsummaryrefslogtreecommitdiff
path: root/lib/CodeGen/MachineInstr.cpp
diff options
context:
space:
mode:
authorVikram S. Adve <vadve@cs.uiuc.edu>2001-07-31 21:49:28 +0000
committerVikram S. Adve <vadve@cs.uiuc.edu>2001-07-31 21:49:28 +0000
commit1885da4f49cf32efde2d4c840365c4333a0c8579 (patch)
tree6c92a224b0ad86ef35003f168d8cc89da0d6639d /lib/CodeGen/MachineInstr.cpp
parent0a229ed79a1886340352e82be58e0536a454ac12 (diff)
Allow machine instructions with variable numbers of arguments.
This is used only by Phi for now. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@336 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/MachineInstr.cpp')
-rw-r--r--lib/CodeGen/MachineInstr.cpp13
1 files changed, 12 insertions, 1 deletions
diff --git a/lib/CodeGen/MachineInstr.cpp b/lib/CodeGen/MachineInstr.cpp
index 64fcaa0577..d3e468cc2e 100644
--- a/lib/CodeGen/MachineInstr.cpp
+++ b/lib/CodeGen/MachineInstr.cpp
@@ -19,13 +19,24 @@
//************************ Class Implementations **************************/
-
+// Constructor for instructions with fixed #operands (nearly all)
MachineInstr::MachineInstr(MachineOpCode _opCode,
OpCodeMask _opCodeMask)
: opCode(_opCode),
opCodeMask(_opCodeMask),
operands(TargetInstrDescriptors[_opCode].numOperands)
{
+ assert(TargetInstrDescriptors[_opCode].numOperands >= 0);
+}
+
+// Constructor for instructions with variable #operands
+MachineInstr::MachineInstr(MachineOpCode _opCode,
+ unsigned numOperands,
+ OpCodeMask _opCodeMask)
+ : opCode(_opCode),
+ opCodeMask(_opCodeMask),
+ operands(numOperands)
+{
}
void