diff options
author | Chris Lattner <sabre@nondot.org> | 2007-01-04 02:15:37 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2007-01-04 02:15:37 +0000 |
commit | 70d8d121eaa3a3982022f7146113416f9b3f26c1 (patch) | |
tree | 6d54c62649ff674bfbae5a6abad8e47294820434 | |
parent | 898b2d52f9802fb8d9c426fa1c7e28c91cf2b1d8 (diff) | |
download | external_llvm-70d8d121eaa3a3982022f7146113416f9b3f26c1.zip external_llvm-70d8d121eaa3a3982022f7146113416f9b3f26c1.tar.gz external_llvm-70d8d121eaa3a3982022f7146113416f9b3f26c1.tar.bz2 |
Now that setcondinst has been eliminated, we can mark Value::SubclassID
const and remove the ugly mutator methods.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32860 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | include/llvm/Instruction.h | 6 | ||||
-rw-r--r-- | include/llvm/Value.h | 7 | ||||
-rw-r--r-- | lib/VMCore/Instruction.cpp | 4 |
3 files changed, 1 insertions, 16 deletions
diff --git a/include/llvm/Instruction.h b/include/llvm/Instruction.h index a0376c7..3e9f749 100644 --- a/include/llvm/Instruction.h +++ b/include/llvm/Instruction.h @@ -39,12 +39,6 @@ class Instruction : public User { friend class SymbolTableListTraits<Instruction, BasicBlock, Function, ilist_traits<Instruction> >; void setParent(BasicBlock *P); - -private: - // FIXME: This is a dirty hack. Setcc instructions shouldn't encode the CC - // into the opcode field. When they don't, this will be unneeded. - void setOpcode(unsigned NewOpcode); - friend class BinaryOperator; protected: Instruction(const Type *Ty, unsigned iType, Use *Ops, unsigned NumOps, const std::string &Name = "", diff --git a/include/llvm/Value.h b/include/llvm/Value.h index 262880a..0c3ddf6 100644 --- a/include/llvm/Value.h +++ b/include/llvm/Value.h @@ -48,7 +48,7 @@ class SymbolTable; /// using this Value. /// @brief LLVM Value Representation class Value { - unsigned short SubclassID; // Subclass identifier (for isa/dyn_cast) + const unsigned short SubclassID; // Subclass identifier (for isa/dyn_cast) protected: /// SubclassData - This member is defined by this class, but is not used for /// anything. Subclasses can use it to hold whatever state they find useful. @@ -186,11 +186,6 @@ public: /// getRawType - This should only be used to implement the vmcore library. /// const Type *getRawType() const { return Ty.getRawType(); } - -private: - /// FIXME: this is a gross hack, needed by another gross hack. Eliminate! - void setValueType(unsigned short VT) { SubclassID = VT; } - friend class Instruction; }; inline std::ostream &operator<<(std::ostream &OS, const Value &V) { diff --git a/lib/VMCore/Instruction.cpp b/lib/VMCore/Instruction.cpp index 2891269..b2eb87d 100644 --- a/lib/VMCore/Instruction.cpp +++ b/lib/VMCore/Instruction.cpp @@ -49,10 +49,6 @@ Instruction::~Instruction() { } -void Instruction::setOpcode(unsigned opc) { - setValueType(Value::InstructionVal + opc); -} - void Instruction::setParent(BasicBlock *P) { if (getParent()) { if (!P) LeakDetector::addGarbageObject(this); |