mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-04-12 23:37:33 +00:00
Fix PR2553
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53715 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
f595266b91
commit
d137ab4783
@ -2255,7 +2255,8 @@ Instruction *InstCombiner::visitAdd(BinaryOperator &I) {
|
||||
Instruction *InstCombiner::visitSub(BinaryOperator &I) {
|
||||
Value *Op0 = I.getOperand(0), *Op1 = I.getOperand(1);
|
||||
|
||||
if (Op0 == Op1) // sub X, X -> 0
|
||||
if (Op0 == Op1 && // sub X, X -> 0
|
||||
!I.getType()->isFPOrFPVector())
|
||||
return ReplaceInstUsesWith(I, Constant::getNullValue(I.getType()));
|
||||
|
||||
// If this is a 'B = x-(-A)', change to B = x+A...
|
||||
|
8
test/Transforms/InstCombine/2008-07-16-fsub.ll
Normal file
8
test/Transforms/InstCombine/2008-07-16-fsub.ll
Normal file
@ -0,0 +1,8 @@
|
||||
; RUN: llvm-as < %s | opt -instcombine | llvm-dis | grep sub
|
||||
; PR2553
|
||||
|
||||
define double @test(double %X) nounwind {
|
||||
; fsub of self can't be optimized away.
|
||||
%Y = sub double %X, %X
|
||||
ret double %Y
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user