summaryrefslogtreecommitdiffstats
path: root/llvm/lib
diff options
context:
space:
mode:
authorSanjay Patel <spatel@rotateright.com>2018-10-30 16:21:56 +0000
committerSanjay Patel <spatel@rotateright.com>2018-10-30 16:21:56 +0000
commit68a61cb07c202192c6c48bc82f2522eb3a5491fb (patch)
tree5b8d12fe4be86d163171851862b14acb3cadb183 /llvm/lib
parent5a8fd65700324a0b2e8cc704ad2302114404a11a (diff)
downloadbcm5719-llvm-68a61cb07c202192c6c48bc82f2522eb3a5491fb.tar.gz
bcm5719-llvm-68a61cb07c202192c6c48bc82f2522eb3a5491fb.zip
[InstCombine] use getFltSemantics() instead of duplicating it; NFC
llvm-svn: 345613
Diffstat (limited to 'llvm/lib')
-rw-r--r--llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp22
1 files changed, 3 insertions, 19 deletions
diff --git a/llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp b/llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
index bf8bc8818f7..afc2175992f 100644
--- a/llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
+++ b/llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
@@ -5368,33 +5368,17 @@ Instruction *InstCombiner::visitFCmpInst(FCmpInst &I) {
if (!RHSF)
break;
- const fltSemantics *Sem;
- // FIXME: This shouldn't be here.
- if (LHSExt->getSrcTy()->isHalfTy())
- Sem = &APFloat::IEEEhalf();
- else if (LHSExt->getSrcTy()->isFloatTy())
- Sem = &APFloat::IEEEsingle();
- else if (LHSExt->getSrcTy()->isDoubleTy())
- Sem = &APFloat::IEEEdouble();
- else if (LHSExt->getSrcTy()->isFP128Ty())
- Sem = &APFloat::IEEEquad();
- else if (LHSExt->getSrcTy()->isX86_FP80Ty())
- Sem = &APFloat::x87DoubleExtended();
- else if (LHSExt->getSrcTy()->isPPC_FP128Ty())
- Sem = &APFloat::PPCDoubleDouble();
- else
- break;
-
+ const fltSemantics &FPSem = LHSExt->getSrcTy()->getFltSemantics();
bool Lossy;
APFloat F = RHSF->getValueAPF();
- F.convert(*Sem, APFloat::rmNearestTiesToEven, &Lossy);
+ F.convert(FPSem, APFloat::rmNearestTiesToEven, &Lossy);
// Avoid lossy conversions and denormals. Zero is a special case
// that's OK to convert.
APFloat Fabs = F;
Fabs.clearSign();
if (!Lossy &&
- ((Fabs.compare(APFloat::getSmallestNormalized(*Sem)) !=
+ ((Fabs.compare(APFloat::getSmallestNormalized(FPSem)) !=
APFloat::cmpLessThan) || Fabs.isZero()))
return new FCmpInst(Pred, LHSExt->getOperand(0),
OpenPOWER on IntegriCloud