[llvm-dev] LLVM v3.9.0 and math built-ins
Friedman, Eli via llvm-dev
llvm-dev at lists.llvm.org
Tue Sep 20 10:13:31 PDT 2016
On 9/20/2016 4:12 AM, Martin J. O'Riordan via llvm-dev wrote:
>
> I modified my sources to force ‘readnone’ and even tried
> ‘setDoesNotAccessMemory()’ on the math functions, but this still
> results in one call occurring and the code generated is effectively:
>
> (void)exp(1.0);
>
> return 0;
>
> %1 = tail call float @exp(float 1.000000e+00)
>
> ; Function Attrs: readnone
>
> declare float @exp(float) local_unnamed_addr #1
>
You have to set readonly on the call, not the function ("tail call float
@exp(float 1.000000e+00) readonly") ; the attributes on a function
declaration are generally ignored by LLVM.
For the difference between 3.8 and 3.9, see
https://llvm.org/bugs/show_bug.cgi?id=30464 .
-Eli
--
Employee of Qualcomm Innovation Center, Inc.
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20160920/b61c99df/attachment-0001.html>
More information about the llvm-dev
mailing list