mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-02-28 16:28:58 +00:00
Support FNeg in SpeculativeExecution pass
Differential Revision: https://reviews.llvm.org/D61910 llvm-svn: 360692
This commit is contained in:
parent
8903a4ed3b
commit
4072ff2ca7
@ -240,6 +240,7 @@ static unsigned ComputeSpeculationCost(const Instruction *I,
|
|||||||
case Instruction::FMul:
|
case Instruction::FMul:
|
||||||
case Instruction::FDiv:
|
case Instruction::FDiv:
|
||||||
case Instruction::FRem:
|
case Instruction::FRem:
|
||||||
|
case Instruction::FNeg:
|
||||||
case Instruction::ICmp:
|
case Instruction::ICmp:
|
||||||
case Instruction::FCmp:
|
case Instruction::FCmp:
|
||||||
return TTI.getUserCost(I);
|
return TTI.getUserCost(I);
|
||||||
|
@ -30,10 +30,10 @@ b:
|
|||||||
ret void
|
ret void
|
||||||
}
|
}
|
||||||
|
|
||||||
; CHECK-LABEL: @ifThen_fneg(
|
; CHECK-LABEL: @ifThen_binary_fneg(
|
||||||
; CHECK: fsub float -0.0
|
; CHECK: fsub float -0.0
|
||||||
; CHECK: br i1 true
|
; CHECK: br i1 true
|
||||||
define void @ifThen_fneg() {
|
define void @ifThen_binary_fneg() {
|
||||||
br i1 true, label %a, label %b
|
br i1 true, label %a, label %b
|
||||||
|
|
||||||
a:
|
a:
|
||||||
@ -44,6 +44,20 @@ b:
|
|||||||
ret void
|
ret void
|
||||||
}
|
}
|
||||||
|
|
||||||
|
; CHECK-LABEL: @ifThen_unary_fneg(
|
||||||
|
; CHECK: fneg float
|
||||||
|
; CHECK: br i1 true
|
||||||
|
define void @ifThen_unary_fneg() {
|
||||||
|
br i1 true, label %a, label %b
|
||||||
|
|
||||||
|
a:
|
||||||
|
%x = fneg float undef
|
||||||
|
br label %b
|
||||||
|
|
||||||
|
b:
|
||||||
|
ret void
|
||||||
|
}
|
||||||
|
|
||||||
; CHECK-LABEL: @ifThen_fmul(
|
; CHECK-LABEL: @ifThen_fmul(
|
||||||
; CHECK: fmul
|
; CHECK: fmul
|
||||||
; CHECK: br i1 true
|
; CHECK: br i1 true
|
||||||
|
Loading…
x
Reference in New Issue
Block a user