From: Chris Lattner Date: Sat, 27 Dec 2008 07:47:40 +0000 (+0000) Subject: implement simplify_type for PATypeHolder so that isa(PATypeHolder) X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=793b2e3f6f3975cfa11692af058931b4a0988955;p=oota-llvm.git implement simplify_type for PATypeHolder so that isa(PATypeHolder) works. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61448 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/include/llvm/AbstractTypeUser.h b/include/llvm/AbstractTypeUser.h index f7fabfcb2fe..80656d89b72 100644 --- a/include/llvm/AbstractTypeUser.h +++ b/include/llvm/AbstractTypeUser.h @@ -33,6 +33,7 @@ namespace llvm { class Type; class DerivedType; +template struct simplify_type; /// The AbstractTypeUser class is an interface to be implemented by classes who /// could possibly use an abstract type. Abstract types are denoted by the @@ -174,6 +175,21 @@ private: void dropRef(); }; +// simplify_type - Allow clients to treat uses just like values when using +// casting operators. +template<> struct simplify_type { + typedef const Type* SimpleType; + static SimpleType getSimplifiedValue(const PATypeHolder &Val) { + return static_cast(Val.get()); + } +}; +template<> struct simplify_type { + typedef const Type* SimpleType; + static SimpleType getSimplifiedValue(const PATypeHolder &Val) { + return static_cast(Val.get()); + } +}; + } // End llvm namespace #endif