aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrian Gaeke <gaeke@uiuc.edu>2004-06-08 18:52:46 +0000
committerBrian Gaeke <gaeke@uiuc.edu>2004-06-08 18:52:46 +0000
commit777a1cde665f22b75a23a46e51de4ecb6d169c22 (patch)
treec0ec8c06cf0e7baed76b0d3e7694ea7c256d63d8
parent10c508b286ff19a053697df4447ba9f233a3710f (diff)
Add a TmpInstruction ctor that doesn't take a MCFI.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14073 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--include/llvm/CodeGen/InstrSelection.h7
-rw-r--r--lib/Target/SparcV9/InstrSelection/InstrSelection.cpp15
2 files changed, 19 insertions, 3 deletions
diff --git a/include/llvm/CodeGen/InstrSelection.h b/include/llvm/CodeGen/InstrSelection.h
index 5fa1ab1782..7b3ddd0919 100644
--- a/include/llvm/CodeGen/InstrSelection.h
+++ b/include/llvm/CodeGen/InstrSelection.h
@@ -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,
diff --git a/lib/Target/SparcV9/InstrSelection/InstrSelection.cpp b/lib/Target/SparcV9/InstrSelection/InstrSelection.cpp
index d30881f593..6cce02f8dd 100644
--- a/lib/Target/SparcV9/InstrSelection/InstrSelection.cpp
+++ b/lib/Target/SparcV9/InstrSelection/InstrSelection.cpp
@@ -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)