Add a TmpInstruction ctor that doesn't take a MCFI.
authorBrian Gaeke <gaeke@uiuc.edu>
Tue, 8 Jun 2004 18:52:46 +0000 (18:52 +0000)
committerBrian Gaeke <gaeke@uiuc.edu>
Tue, 8 Jun 2004 18:52:46 +0000 (18:52 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14073 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/CodeGen/InstrSelection.h
lib/Target/SparcV9/InstrSelection/InstrSelection.cpp

index 5fa1ab1782c1b53fdaeee2044f766edca3fd48bd..7b3ddd091957ad8b56bb06b320111db7d5f37d07 100644 (file)
@@ -75,7 +75,12 @@ public:
   // s1 must be a valid value.  s2 may be NULL.
   TmpInstruction(MachineCodeForInstruction& mcfi,
                  Value *s1, Value *s2 = 0, const std::string &name = "");
-  
+                 
+  // Constructor that uses the type of S1 as the type of the temporary,
+  // but does not require a MachineCodeForInstruction.
+  // s1 must be a valid value.  s2 may be NULL.
+  TmpInstruction(Value *s1, Value *s2 = 0, const std::string &name = "");
+
   // Constructor that requires the type of the temporary to be specified.
   // Both S1 and S2 may be NULL.
   TmpInstruction(MachineCodeForInstruction& mcfi,
index d30881f5932d368bec85cd2f4b956a57b6dde434..6cce02f8dd6f724e6388ec4e64d5fa471bb06a91 100644 (file)
@@ -84,6 +84,17 @@ namespace {
   };
 }
 
+TmpInstruction::TmpInstruction(Value *s1, Value *s2, const std::string &name)
+  : Instruction(s1->getType(), Instruction::UserOp1, name)
+{
+  Operands.push_back(Use(s1, this));  // s1 must be non-null
+  if (s2)
+    Operands.push_back(Use(s2, this));
+
+  // TmpInstructions should not be garbage checked.
+  LeakDetector::removeGarbageObject(this);
+}
+
 TmpInstruction::TmpInstruction(MachineCodeForInstruction& mcfi,
                                Value *s1, Value *s2, const std::string &name)
   : Instruction(s1->getType(), Instruction::UserOp1, name)
@@ -97,9 +108,9 @@ TmpInstruction::TmpInstruction(MachineCodeForInstruction& mcfi,
   // TmpInstructions should not be garbage checked.
   LeakDetector::removeGarbageObject(this);
 }
-  
+
 // Constructor that requires the type of the temporary to be specified.
-// Both S1 and S2 may be NULL.(
+// Both S1 and S2 may be NULL.
 TmpInstruction::TmpInstruction(MachineCodeForInstruction& mcfi,
                                const Type *Ty, Value *s1, Value* s2,
                                const std::string &name)