From 79653fcdc233476ad78bc232fb2c3764c89427f4 Mon Sep 17 00:00:00 2001 From: Dale Johannesen Date: Mon, 24 Sep 2007 00:32:45 +0000 Subject: [PATCH] Just use APFloat for const / const. Fixes -1. / -0. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42254 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/VMCore/ConstantFold.cpp | 17 ----------------- 1 file changed, 17 deletions(-) diff --git a/lib/VMCore/ConstantFold.cpp b/lib/VMCore/ConstantFold.cpp index 917098d3513..0c1d7f73ae1 100644 --- a/lib/VMCore/ConstantFold.cpp +++ b/lib/VMCore/ConstantFold.cpp @@ -699,23 +699,6 @@ Constant *llvm::ConstantFoldBinaryInstruction(unsigned Opcode, (void)C3V.multiply(C2V, APFloat::rmNearestTiesToEven); return ConstantFP::get(CFP1->getType(), C3V); case Instruction::FDiv: - // FIXME better to look at the return code - if (C2V.isZero()) - if (C1V.isZero()) - // IEEE 754, Section 7.1, #4 - return ConstantFP::get(CFP1->getType(), isDouble ? - APFloat(std::numeric_limits::quiet_NaN()) : - APFloat(std::numeric_limits::quiet_NaN())); - else if (C2V.isNegZero() || C1V.isNegative()) - // IEEE 754, Section 7.2, negative infinity case - return ConstantFP::get(CFP1->getType(), isDouble ? - APFloat(-std::numeric_limits::infinity()) : - APFloat(-std::numeric_limits::infinity())); - else - // IEEE 754, Section 7.2, positive infinity case - return ConstantFP::get(CFP1->getType(), isDouble ? - APFloat(std::numeric_limits::infinity()) : - APFloat(std::numeric_limits::infinity())); (void)C3V.divide(C2V, APFloat::rmNearestTiesToEven); return ConstantFP::get(CFP1->getType(), C3V); case Instruction::FRem: