summaryrefslogtreecommitdiffstats
path: root/llvm/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
commitff7070bbb94af5009f3aa82e4ab65b7671a2dc73 (patch)
tree7884cd33967a9a4aba5a7abcae73f31718726bb0 /llvm/lib/CodeGen/MachineInstr.cpp
parent5af40763804c2280577cb4364942f370fc09b413 (diff)
downloadbcm5719-llvm-ff7070bbb94af5009f3aa82e4ab65b7671a2dc73.tar.gz
bcm5719-llvm-ff7070bbb94af5009f3aa82e4ab65b7671a2dc73.zip
Allow machine instructions with variable numbers of arguments.
This is used only by Phi for now. llvm-svn: 336
Diffstat (limited to 'llvm/lib/CodeGen/MachineInstr.cpp')
-rw-r--r--llvm/lib/CodeGen/MachineInstr.cpp13
1 files changed, 12 insertions, 1 deletions
diff --git a/llvm/lib/CodeGen/MachineInstr.cpp b/llvm/lib/CodeGen/MachineInstr.cpp
index 64fcaa05771..d3e468cc2eb 100644
--- a/llvm/lib/CodeGen/MachineInstr.cpp
+++ b/llvm/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
OpenPOWER on IntegriCloud