add a helper method.
authorChris Lattner <sabre@nondot.org>
Mon, 19 May 2008 21:17:01 +0000 (21:17 +0000)
committerChris Lattner <sabre@nondot.org>
Mon, 19 May 2008 21:17:01 +0000 (21:17 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51274 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/Type.h

index 48ed04027b61abbb3668f795c08d38d58e471041..d2e94a43c586177f53d49d41668455ef5feafc8d 100644 (file)
@@ -242,6 +242,19 @@ public:
   /// primitive type.
   ///
   unsigned getPrimitiveSizeInBits() const;
+  
+  /// getFPMantissaWidth - Return the width of the mantissa of this type.  This
+  /// is only valid on scalar floating point types.  If the FP type does not
+  /// have a stable mantissa (e.g. ppc long double), this method returns -1.
+  int getFPMantissaWidth() const {
+    assert(isFloatingPoint() && "Not a floating point type!");
+    if (ID == FloatTyID) return 24;
+    if (ID == DoubleTyID) return 53;
+    if (ID == X86_FP80TyID) return 64;
+    if (ID == FP128TyID) return 113;
+    assert(ID == PPC_FP128TyID && "unknown fp type");
+    return -1;
+  }
 
   /// getForwardedType - Return the type that this type has been resolved to if
   /// it has been resolved to anything.  This is used to implement the