Displaying 4 results from an estimated 4 matches for "matherrno".
2020 Jan 28
3
Floating point semantic modes
...ly fuse FP ops when the result won't be affected.")));
About math-errno:
There are comments in the clang code that describe the settings for math-errno as toolchain dependent. Here's the initialization:
// -fmath-errno is the default on some platforms, e.g. BSD-derived OSes.
bool MathErrno = TC.IsMathErrnoDefault();
Here's another comment,
// Turning *off* -ffast-math restores the toolchain default.
MathErrno = TC.IsMathErrnoDefault();
> -----Original Message-----
> From: Szabolcs Nagy <nsz at port70.net>
> Sent: Tuesday, January 28, 2020 8:09 AM
>...
2016 Sep 20
4
LLVM v3.9.0 and math built-ins
...-errno’ option was to tell the optimiser to assume that ‘errno’ is not modified by the math functions. Explicitly providing ‘-fno-math-errno’ is not restoring the elision optimisation that was performed by LLVM v3.8, and this is really only a driver option, with ‘-fmath-errno’ passed onto CC1 if ‘MathErrno’ is true, and omitted if false.
I certainly agree that if ‘MathErrno’ is true, then the compiler should not elide the call as it has to assume that there are memory write side-effects. It already models the math functions as built-ins and determine the expected answer when the arguments are co...
2016 Sep 16
2
LLVM v3.9.0 and math built-ins
...so. I don't want to use '-ffast-math' as this has lots
of FP issues, and I don't want to make it the default.
Any idea why the math functions are not elided? I am using '-O3' and
implying '-fno-math-errno'. I have verified that our Toolchain implements
'IsMathErrnoDefault' and returns 'false', and that the option '-fmath-errno'
is not being passed to the CC1 stage. Since our math function
implementation does not in fact change 'errno', it is very desirable that
this elision occurs in an FP safe way.
Thanks,
Mar...
2020 Jan 27
11
Floating point semantic modes
Hi all,
I'm trying to put together a set of rules for how the various floating point semantic modes should be handled in clang. A lot of this information will be relevant to other front ends, but the details are necessarily bound to a front end implementation so I'm framing the discussion here in terms of clang. Other front ends can choose to follow clang or not. The existence of this set