Displaying 3 results from an estimated 3 matches for "a_div".
2017 Mar 15
2
Speculative execution of FP divide Instructions - Call-Graph Simplify
Hi all,
I came across an issue caused by the Call-Graph Simplify Pass. Here is a a
small repro:
```
define double @foo(double %a1, double %a2, double %a3) #0 {
entry:
%a_mul = fmul double %a1, %a2
%a_cmp = fcmp ogt double %a3, %a_mul
br i1 %a_cmp, label %a.then, label %a.end
a.then:
%a_div = fdiv double %a_mul, %a3
br label %a.end
a.end:
%a_factor = phi double [ %a_div, %a.then ], [ 1.000000e+00, %entry ]
ret double %a_factor
}
```
Here, the conditional is guarding a possible division by zero. However if I
run CGSimplify on this I get:
```
define double @foo(double %a1, double...
2017 Mar 15
3
Speculative execution of FP divide Instructions - Call-Graph Simplify
...small repro:
>>
>> ```
>> define double @foo(double %a1, double %a2, double %a3) #0 {
>> entry:
>> %a_mul = fmul double %a1, %a2
>> %a_cmp = fcmp ogt double %a3, %a_mul
>> br i1 %a_cmp, label %a.then, label %a.end
>>
>> a.then:
>> %a_div = fdiv double %a_mul, %a3
>> br label %a.end
>>
>> a.end:
>> %a_factor = phi double [ %a_div, %a.then ], [ 1.000000e+00, %entry ]
>> ret double %a_factor
>> }
>> ```
>> Here, the conditional is guarding a possible division by zero.
>> How...
2017 Mar 15
2
Speculative execution of FP divide Instructions - Call-Graph Simplify
...te:
Hi all,
I came across an issue caused by the Call-Graph Simplify Pass. Here is a a small repro:
```
define double @foo(double %a1, double %a2, double %a3) #0 {
entry:
%a_mul = fmul double %a1, %a2
%a_cmp = fcmp ogt double %a3, %a_mul
br i1 %a_cmp, label %a.then, label %a.end
a.then:
%a_div = fdiv double %a_mul, %a3
br label %a.end
a.end:
%a_factor = phi double [ %a_div, %a.then ], [ 1.000000e+00, %entry ]
ret double %a_factor
}
```
Here, the conditional is guarding a possible division by zero. However if I run CGSimplify on this I get:
```
define double @foo(double %a1, double...