diff options
author | Benjamin Kramer <benny.kra@googlemail.com> | 2012-08-22 18:16:02 +0000 |
---|---|---|
committer | Benjamin Kramer <benny.kra@googlemail.com> | 2012-08-22 18:16:02 +0000 |
commit | 5c1dcc59754c539cddc967b938d7b3a688d0c430 (patch) | |
tree | ef3fdc7328a76dbbec6b874bb2a24adb786dd245 /test/Analysis/array-struct.c | |
parent | 4b41c65feb93eeb6f6d27b49a2045ea1b72de9d1 (diff) |
Math builtin definition tweaks.
There were missed optimizations when the system headers didn't have attributes
in place, specifically:
- Add copysign, exp2, log2, nearbyint, rint and trunc to the list.
These are functions that get inlined by LLVM's optimizer, but only when they
have the right attributes.
- Mark copysign, fabs, fmax, fmin and trunc const unconditionally.
Previously these were only const with -fno-math-errno, but they never set
errno per POSIX.
For ceil/floor/nearbyint/round I'm not aware of any implementation that sets
errno, but POSIX says it may signal overflow so I left them alone for now.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162375 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Analysis/array-struct.c')
0 files changed, 0 insertions, 0 deletions