Skip to content

Commit

Permalink
remove the DerivedType which isn't adding value anymore.
Browse files Browse the repository at this point in the history
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134832 91177308-0d34-0410-b5e6-96231b3b80d8
  • Loading branch information
lattner committed Jul 9, 2011
1 parent 1afcace commit aca50a9
Show file tree
Hide file tree
Showing 4 changed files with 8 additions and 23 deletions.
23 changes: 5 additions & 18 deletions include/llvm/DerivedTypes.h
Original file line number Diff line number Diff line change
Expand Up @@ -29,28 +29,15 @@ class LLVMContext;
template<typename T> class ArrayRef;
class StringRef;

class DerivedType : public Type {
protected:
explicit DerivedType(LLVMContext &C, TypeID id) : Type(C, id) {}
public:

// Methods for support type inquiry through isa, cast, and dyn_cast.
static inline bool classof(const DerivedType *) { return true; }
static inline bool classof(const Type *T) {
return T->isDerivedType();
}
};

/// Class to represent integer types. Note that this class is also used to
/// represent the built-in integer types: Int1Ty, Int8Ty, Int16Ty, Int32Ty and
/// Int64Ty.
/// @brief Integer representation type
class IntegerType : public DerivedType {
class IntegerType : public Type {
friend class LLVMContextImpl;

protected:
explicit IntegerType(LLVMContext &C, unsigned NumBits) :
DerivedType(C, IntegerTyID) {
explicit IntegerType(LLVMContext &C, unsigned NumBits) : Type(C, IntegerTyID){
setSubclassData(NumBits);
}
public:
Expand Down Expand Up @@ -106,7 +93,7 @@ class IntegerType : public DerivedType {

/// FunctionType - Class to represent function types
///
class FunctionType : public DerivedType {
class FunctionType : public Type {
FunctionType(const FunctionType &); // Do not implement
const FunctionType &operator=(const FunctionType &); // Do not implement
FunctionType(const Type *Result, ArrayRef<Type*> Params, bool IsVarArgs);
Expand Down Expand Up @@ -157,9 +144,9 @@ class FunctionType : public DerivedType {

/// CompositeType - Common super class of ArrayType, StructType, PointerType
/// and VectorType.
class CompositeType : public DerivedType {
class CompositeType : public Type {
protected:
explicit CompositeType(LLVMContext &C, TypeID tid) : DerivedType(C, tid) { }
explicit CompositeType(LLVMContext &C, TypeID tid) : Type(C, tid) { }
public:

/// getTypeAtIndex - Given an index value into the type, return the type of
Expand Down
3 changes: 1 addition & 2 deletions include/llvm/Type.h
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@

namespace llvm {

class DerivedType;
class PointerType;
class IntegerType;
class raw_ostream;
Expand All @@ -40,7 +39,7 @@ class Type {
public:
//===--------------------------------------------------------------------===//
/// Definitions of all of the base types for the Type system. Based on this
/// value, you can cast to a "DerivedType" subclass (see DerivedTypes.h)
/// value, you can cast to a class defined in DerivedTypes.h.
/// Note: If you add an element to this, you need to add an element to the
/// Type::getPrimitiveType function, or else things will break!
/// Also update LLVMTypeKind and LLVMGetTypeKind () in the C binding.
Expand Down
3 changes: 1 addition & 2 deletions lib/Transforms/IPO/StripSymbols.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -143,8 +143,7 @@ static void RemoveDeadConstant(Constant *C) {
assert(C->use_empty() && "Constant is not dead!");
SmallPtrSet<Constant*, 4> Operands;
for (unsigned i = 0, e = C->getNumOperands(); i != e; ++i)
if (isa<DerivedType>(C->getOperand(i)->getType()) &&
OnlyUsedBy(C->getOperand(i), C))
if (OnlyUsedBy(C->getOperand(i), C))
Operands.insert(cast<Constant>(C->getOperand(i)));
if (GlobalVariable *GV = dyn_cast<GlobalVariable>(C)) {
if (!GV->hasLocalLinkage()) return; // Don't delete non static globals.
Expand Down
2 changes: 1 addition & 1 deletion lib/VMCore/Type.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -308,7 +308,7 @@ APInt IntegerType::getMask() const {

FunctionType::FunctionType(const Type *Result, ArrayRef<Type*> Params,
bool IsVarArgs)
: DerivedType(Result->getContext(), FunctionTyID) {
: Type(Result->getContext(), FunctionTyID) {
Type **SubTys = reinterpret_cast<Type**>(this+1);
assert(isValidReturnType(Result) && "invalid return type for function");
setSubclassData(IsVarArgs);
Expand Down

0 comments on commit aca50a9

Please sign in to comment.