Fix a bug that Chris asserts emphatically is a bug. The changed clause
authorReid Spencer <rspencer@reidspencer.com>
Sun, 30 May 2004 01:19:48 +0000 (01:19 +0000)
committerReid Spencer <rspencer@reidspencer.com>
Sun, 30 May 2004 01:19:48 +0000 (01:19 +0000)
would always return false because the Type of a type value is always
Type::TypeTY and can never be a floating point type.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13902 91177308-0d34-0410-b5e6-96231b3b80d8

lib/VMCore/ConstantFold.cpp

index 641ceaebc233068755188a99c2b6a42811cff4e6..70984cd0a634daef58ae411267a1ed4026efe976 100644 (file)
@@ -539,7 +539,7 @@ Constant *llvm::ConstantFoldCastInstruction(const Constant *V,
       // Try to not produce a cast of a cast, which is almost always redundant.
       if (!Op->getType()->isFloatingPoint() &&
           !CE->getType()->isFloatingPoint() &&
-          !DestTy->getType()->isFloatingPoint()) {
+          !DestTy->isFloatingPoint()) {
         unsigned S1 = getSize(Op->getType()), S2 = getSize(CE->getType());
         unsigned S3 = getSize(DestTy);
         if (Op->getType() == DestTy && S3 >= S2)