Displaying 2 results from an estimated 2 matches for "usemathname".
2016 Sep 16
2
LLVM v3.9.0 and math built-ins
...have been put to LLVM-Dev. But I got excellent clarification of the
problem anyway. However, since then I have 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 &...
2016 Sep 20
4
LLVM v3.9.0 and math built-ins
...as follows:
; ModuleID = 'src/mathElisions.c'
source_filename = "src/mathElisions.c"
target datalayout = "e-m:e-p:32:32-f64:64-i64:64-v128:64-v64:64-v32:32-v16:16-n8:16:32-S64"
target triple = "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+...