summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Analysis
diff options
context:
space:
mode:
authorSanjay Patel <spatel@rotateright.com>2018-10-31 15:35:46 +0000
committerSanjay Patel <spatel@rotateright.com>2018-10-31 15:35:46 +0000
commitd4dc30c20d0f82ba3b4691f5edb71626b3ff799b (patch)
treeed1ba745b695ef6ed2ae4c80cef79cc81bd00958 /llvm/lib/Analysis
parentb9fe3fbb57c253ab341a95d2c87cb89090a55854 (diff)
downloadbcm5719-llvm-d4dc30c20d0f82ba3b4691f5edb71626b3ff799b.tar.gz
bcm5719-llvm-d4dc30c20d0f82ba3b4691f5edb71626b3ff799b.zip
[InstSimplify] fold 'fcmp nnan ult X, 0.0' when X is not negative
This is the inverted case for the transform added with D53874 / rL345725. llvm-svn: 345728
Diffstat (limited to 'llvm/lib/Analysis')
-rw-r--r--llvm/lib/Analysis/InstructionSimplify.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/llvm/lib/Analysis/InstructionSimplify.cpp b/llvm/lib/Analysis/InstructionSimplify.cpp
index efe88507aef..8571dc2cf2f 100644
--- a/llvm/lib/Analysis/InstructionSimplify.cpp
+++ b/llvm/lib/Analysis/InstructionSimplify.cpp
@@ -3620,8 +3620,11 @@ static Value *SimplifyFCmpInst(unsigned Predicate, Value *LHS, Value *RHS,
if (CannotBeOrderedLessThanZero(LHS, Q.TLI))
return getTrue(RetTy);
break;
+ case FCmpInst::FCMP_ULT:
+ if (FMF.noNaNs() && CannotBeOrderedLessThanZero(LHS, Q.TLI))
+ return getFalse(RetTy);
+ break;
case FCmpInst::FCMP_OLT:
- // X < 0
if (CannotBeOrderedLessThanZero(LHS, Q.TLI))
return getFalse(RetTy);
break;
OpenPOWER on IntegriCloud