Turn conditions like x<Y|z==q into multiple blocks.
[oota-llvm.git] / include / llvm / Type.h
index 9f73b25dbf7b7dc19f9ab1530b21451b9632f917..dab6c127cd1694e08888d82266048f67ec48a8cf 100644 (file)
@@ -185,6 +185,10 @@ public:
   /// types
   bool isFloatingPoint() const { return ID == FloatTyID || ID == DoubleTyID; }
 
+  /// isFPOrFPVector - Return true if this is a FP type or a vector of FP types.
+  ///
+  bool isFPOrFPVector() const;
+  
   /// isAbstract - True if the type is either an Opaque type, or is a derived
   /// type that includes an opaque type somewhere in it.
   ///
@@ -347,11 +351,6 @@ public:
   ///
   void removeAbstractTypeUser(AbstractTypeUser *U) const;
 
-  /// clearAllTypeMaps - This method frees all internal memory used by the
-  /// type subsystem, which can be used in environments where this memory is
-  /// otherwise reported as a leak.
-  static void clearAllTypeMaps();
-
 private:
   /// isSizedDerivedType - Derived types like structures and arrays are sized
   /// iff all of the members of the type are sized as well.  Since asking for
@@ -371,13 +370,7 @@ protected:
 //===----------------------------------------------------------------------===//
 // Define some inline methods for the AbstractTypeUser.h:PATypeHandle class.
 // These are defined here because they MUST be inlined, yet are dependent on
-// the definition of the Type class.  Of course Type derives from Value, which
-// contains an AbstractTypeUser instance, so there is no good way to factor out
-// the code.  Hence this bit of uglyness.
-//
-// In the long term, Type should not derive from Value, allowing
-// AbstractTypeUser.h to #include Type.h, allowing us to eliminate this
-// nastyness entirely.
+// the definition of the Type class.
 //
 inline void PATypeHandle::addUser() {
   assert(Ty && "Type Handle has a null type!");