aboutsummaryrefslogtreecommitdiffstats
path: root/lib/VMCore
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2004-06-27 18:38:48 +0000
committerChris Lattner <sabre@nondot.org>2004-06-27 18:38:48 +0000
commit40515dba1bcbde16ee79657c6053232bc4562554 (patch)
tree36b16feca0451725bed0716db854c7bacf5efe3f /lib/VMCore
parent7da38ec915010576685200089c75a2135bd3fa97 (diff)
downloadexternal_llvm-40515dba1bcbde16ee79657c6053232bc4562554.zip
external_llvm-40515dba1bcbde16ee79657c6053232bc4562554.tar.gz
external_llvm-40515dba1bcbde16ee79657c6053232bc4562554.tar.bz2
Fold iType into Value::VTy
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14435 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/VMCore')
-rw-r--r--lib/VMCore/Instruction.cpp12
-rw-r--r--lib/VMCore/iOperators.cpp3
2 files changed, 8 insertions, 7 deletions
diff --git a/lib/VMCore/Instruction.cpp b/lib/VMCore/Instruction.cpp
index 5ddf284..1350f05 100644
--- a/lib/VMCore/Instruction.cpp
+++ b/lib/VMCore/Instruction.cpp
@@ -25,9 +25,7 @@ void Instruction::init()
Instruction::Instruction(const Type *ty, unsigned it, const std::string &Name,
Instruction *InsertBefore)
- : User(ty, Value::InstructionVal, Name),
- Parent(0),
- iType(it) {
+ : User(ty, Value::InstructionVal + it, Name), Parent(0) {
init();
// If requested, insert this instruction into a basic block...
@@ -40,9 +38,7 @@ Instruction::Instruction(const Type *ty, unsigned it, const std::string &Name,
Instruction::Instruction(const Type *ty, unsigned it, const std::string &Name,
BasicBlock *InsertAtEnd)
- : User(ty, Value::InstructionVal, Name),
- Parent(0),
- iType(it) {
+ : User(ty, Value::InstructionVal + it, Name), Parent(0) {
init();
// append this instruction into the basic block
@@ -50,6 +46,10 @@ Instruction::Instruction(const Type *ty, unsigned it, const std::string &Name,
InsertAtEnd->getInstList().push_back(this);
}
+void Instruction::setOpcode(unsigned opc) {
+ setValueType(Value::InstructionVal + opc);
+}
+
void Instruction::setParent(BasicBlock *P) {
if (getParent()) {
if (!P) LeakDetector::addGarbageObject(this);
diff --git a/lib/VMCore/iOperators.cpp b/lib/VMCore/iOperators.cpp
index afbeb97..c33d797 100644
--- a/lib/VMCore/iOperators.cpp
+++ b/lib/VMCore/iOperators.cpp
@@ -173,7 +173,8 @@ bool BinaryOperator::swapOperands() {
if (isCommutative())
; // If the instruction is commutative, it is safe to swap the operands
else if (SetCondInst *SCI = dyn_cast<SetCondInst>(this))
- iType = SCI->getSwappedCondition();
+ /// FIXME: SetCC instructions shouldn't all have different opcodes.
+ setOpcode(SCI->getSwappedCondition());
else
return true; // Can't commute operands