- Remove enumerator TypeVal since Values can't be types any more
authorReid Spencer <rspencer@reidspencer.com>
Sun, 4 Jul 2004 10:52:28 +0000 (10:52 +0000)
committerReid Spencer <rspencer@reidspencer.com>
Sun, 4 Jul 2004 10:52:28 +0000 (10:52 +0000)
- Remove isa_impl relationship between Types and Values
- Add OtherVal so "other" users can interact with Values.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14596 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/Value.h

index 7d870d67097de735e9ebbc751d421b7fc88c3917..91d89129c9731814577c8603dade039c3f26dc00 100644 (file)
@@ -20,7 +20,6 @@
 #include "llvm/AbstractTypeUser.h"
 #include "llvm/Use.h"
 #include "Support/Casting.h"
-#include <iostream>
 
 namespace llvm {
 
@@ -122,13 +121,13 @@ public:
   /// (and Instruction must be last).
   ///
   enum ValueTy {
-    TypeVal,                // This is an instance of Type
     ArgumentVal,            // This is an instance of Argument
     BasicBlockVal,          // This is an instance of BasicBlock
     FunctionVal,            // This is an instance of Function
     GlobalVariableVal,      // This is an instance of GlobalVariable
     ConstantVal,            // This is an instance of Constant
     InstructionVal,         // This is an instance of Instruction
+    OtherVal,               // This is an instance of something else
   };
   unsigned getValueType() const {
     return SubclassID;
@@ -185,9 +184,6 @@ void Use::set(Value *V) {
 // isa - Provide some specializations of isa so that we don't have to include
 // the subtype header files to test to see if the value is a subclass...
 //
-template <> inline bool isa_impl<Type, Value>(const Value &Val) { 
-  return Val.getValueType() == Value::TypeVal;
-}
 template <> inline bool isa_impl<Constant, Value>(const Value &Val) { 
   return Val.getValueType() == Value::ConstantVal; 
 }