- Remove enumerator TypeVal since Values can't be types any more

- 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
This commit is contained in:
Reid Spencer 2004-07-04 10:52:28 +00:00
parent 88bdcd5d56
commit da8440a6ae

View 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;
}