From f4ebfa3ae143e67c9e3f83aa657b828eb7632f08 Mon Sep 17 00:00:00 2001 From: Benjamin Kramer Date: Fri, 10 Jul 2015 14:02:02 +0000 Subject: [InstSimplify] Fold away ord/uno fcmps when nnan is present. This is important to fold away the slow case of complex multiplies emitted by clang. llvm-svn: 241911 --- llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'llvm/lib/Transforms/InstCombine') diff --git a/llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp b/llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp index 010b7b57c3e..0bd6fd2f226 100644 --- a/llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp +++ b/llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp @@ -3928,8 +3928,8 @@ Instruction *InstCombiner::visitFCmpInst(FCmpInst &I) { Value *Op0 = I.getOperand(0), *Op1 = I.getOperand(1); - if (Value *V = - SimplifyFCmpInst(I.getPredicate(), Op0, Op1, DL, TLI, DT, AC, &I)) + if (Value *V = SimplifyFCmpInst(I.getPredicate(), Op0, Op1, + I.getFastMathFlags(), DL, TLI, DT, AC, &I)) return ReplaceInstUsesWith(I, V); // Simplify 'fcmp pred X, X' -- cgit v1.2.3