Displaying 2 results from an estimated 2 matches for "useothername".
2016 Sep 16
2
LLVM v3.9.0 and math built-ins
...ave been trying to adapt our
out-of-tree implementation to get the previous behaviour. The problem is
that something like:
#include <math.h>
extern double foo(double);
int useMathName() {
if ((exp(1.0) < 2.71) || (exp(1.0) > 2.72))
return -1;
return 0;
}
int useOtherName() {
if ((foo(1.0) < 2.71) || (foo(1.0) > 2.72))
return -1;
return 0;
}
With v3.8.0 the compiler elided both the calls to 'exp' and the tests, so
the function 'useMathName' reduced to simply:
return 0;
But this was not correct as it ignored the possibili...
2016 Sep 20
4
LLVM v3.9.0 and math built-ins
...= "shave"
; Function Attrs: nounwind readnone
define i32 @useMathName() local_unnamed_addr #0 {
%1 = tail call float @exp(float 1.000000e+00)
ret i32 0
}
; Function Attrs: readnone
declare float @exp(float) local_unnamed_addr #1
; Function Attrs: nounwind
define i32 @useOtherName() local_unnamed_addr #2 {
%1 = tail call float @foo(float 1.000000e+00) #4
%2 = fcmp olt float %1, 0x4005AE1480000000
br i1 %2, label %7, label %3
; <label>:3: ; preds = %0
%4 = tail call float @foo(float 1.000000e+00) #4
%5 = fcmp ogt f...