From f391883670caecc01973bc6c69fc1f22c20a2612 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Thu, 3 Jan 2008 07:25:26 +0000 Subject: don't hoist FP additions into unconditional adds + selects. This could theoretically introduce a trap, but is also a performance issue. This speeds up ptrdist/ks by 8%. llvm-svn: 45533 --- llvm/lib/Transforms/Utils/SimplifyCFG.cpp | 2 ++ 1 file changed, 2 insertions(+) (limited to 'llvm/lib/Transforms') diff --git a/llvm/lib/Transforms/Utils/SimplifyCFG.cpp b/llvm/lib/Transforms/Utils/SimplifyCFG.cpp index b838f94b790..f19adbd263c 100644 --- a/llvm/lib/Transforms/Utils/SimplifyCFG.cpp +++ b/llvm/lib/Transforms/Utils/SimplifyCFG.cpp @@ -372,6 +372,8 @@ static bool DominatesMergePoint(Value *V, BasicBlock *BB, case Instruction::AShr: case Instruction::ICmp: case Instruction::FCmp: + if (I->getOperand(0)->getType()->isFPOrFPVector()) + return false; // FP arithmetic might trap. break; // These are all cheap and non-trapping instructions. } -- cgit v1.2.3