search for: strictfp

Displaying 12 results from an estimated 12 matches for "strictfp".

Did you mean: strict
2018 Jan 10
0
[cfe-dev] Why is #pragma STDC FENV_ACCESS not supported?
...instruction basis. If the backend wants to handle that by using the strictest >rule that it sees in use anywhere in the function because pattern-matching is otherwise too >error-prone, ok, that's its right; but the IR really should be per-instruction. I added a function level attribute, strictfp, which is meant to help with this. I don’t believe the inlining handling of the attribute is implemented yet, but what I’m thinking is that we would never inline a function that had the strictfp attribute and if we inlined a non-strictfp function into a strictfp function, we would transform any FP...
2018 Jan 09
4
[cfe-dev] Why is #pragma STDC FENV_ACCESS not supported?
> On Jan 9, 2018, at 1:53 PM, Kaylor, Andrew via cfe-dev <cfe-dev at lists.llvm.org> wrote: > > I think we’re going to need to create a new mechanism to communicate strict FP modes to the backend. I think we need to avoid doing anything that will require re-inventing or duplicating all of the pattern matching that goes on in instruction selection (which is the reason we’re
2018 Jan 09
0
[cfe-dev] Why is #pragma STDC FENV_ACCESS not supported?
...instruction basis. If the backend wants to handle that by using the strictest >rule that it sees in use anywhere in the function because pattern-matching is otherwise too >error-prone, ok, that's its right; but the IR really should be per-instruction. I added a function level attribute, strictfp, which is meant to help with this. I don’t believe the inlining handling of the attribute is implemented yet, but what I’m thinking is that we would never inline a function that had the strictfp attribute and if we inlined a non-strictfp function into a strictfp function, we would transform any FP...
2020 Mar 02
2
Should rint and nearbyint be always constrained?
> > I'm not sure why this is an issue. Yes, these two intrinsics depend > on the current rounding mode according to the C standard, and yes, > LLVM in default mode assumes that the current rounding mode is the > default rounding mode. But the same holds true for many other > intrinsics and even the arithmetic IR operations like add. Any other intrinsic, like `floor`,
2020 Mar 02
2
Should rint and nearbyint be always constrained?
...between llvm.rint and llvm.nearbyint. I wouldn’t have a problem with dropping llvm.rint completely. As for the target-specific intrinsics, you are correct that we need a plan for that. I have given it some thought, but nothing is currently implemented. My suggestion would be that we should set the strictfp attribute on these intrinsics and provide the rounding mode and exception behavior arguments using an operand bundle. We do still need some way to handle the side effects. My suggestion here is to add some new attribute that means “no side effects” in the absence of the strictfp attribute and somet...
2019 Apr 16
2
[FP] Constant folding math library functions
...ding is based on a call to tanh made by the compiler. The problem with this is that if I am linking my program against a different version of the math library than was used by the compiler I may get a different result. I can prevent this constant folding with either the 'nobuiltin' or 'strictfp' attribute. However, it seems to me like this optimization should really be checking the 'afn' fast math flag. Opinions? Thanks, Andy -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20190416/aa3a...
2020 Mar 03
2
Should rint and nearbyint be always constrained?
...he way, X86 target also has such property: EVEX prefix allows static rounding support or suppress-all-exceptions. Such properties are naturally modeled with metadata operands but splitting to constrained and non-constrained variants makes little sense. My suggestion would be that we should set the strictfp attribute on these > intrinsics and provide the rounding mode and exception behavior arguments > using an operand bundle. This is an interesting variant. IIUC it means that FP environment is a property of a call rather that an instruction? That is some call may have rounding mode argument a...
2020 Mar 03
5
Should rint and nearbyint be always constrained?
...VEX prefix >> allows static rounding support or suppress-all-exceptions. Such properties >> are naturally modeled with metadata operands but splitting to constrained >> and non-constrained variants makes little sense. >> >> My suggestion would be that we should set the strictfp attribute on these >>> intrinsics and provide the rounding mode and exception behavior arguments >>> using an operand bundle. >> >> >> This is an interesting variant. IIUC it means that FP environment is a >> property of a call rather that an instruction? T...
2019 Apr 16
2
[FP] Constant folding math library functions
...ng is based on a call to tanh made by the compiler. The problem with this is that if I am linking my program against a different version of the math library than was used by the compiler I may get a different result. I can prevent this constant folding with either the 'nobuiltin' or 'strictfp' attribute. However, it seems to me like this optimization should really be checking the 'afn' fast math flag. Opinions? Thanks, Andy -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/2019041...
2019 Oct 03
2
[RFC] Using basic block attributes to implement non-default floating point environment
On 10/03, Kaylor, Andrew via llvm-dev wrote: > I’d like to emphasize that the constrained intrinsics prevent > optimizations *by default*. We have a plan to go back and teach > individual optimizations how to handle these intrinsics. The idea is > that if an optimization knows nothing about the constrained intrinsics > then it won’t try to transform them, but if an optimization has
2019 Apr 17
3
[FP] Constant folding math library functions
...constant folding is based on a call to tanh made by the compiler. The problem with this is that if I am linking my program against a different version of the math library than was used by the compiler I may get a different result. I can prevent this constant folding with either the ‘nobuiltin’ or ‘strictfp’ attribute. However, it seems to me like this optimization should really be checking the ‘afn’ fast math flag. Opinions? Thanks, Andy _______________________________________________ LLVM Developers mailing list llvm-dev at lists.llvm.org<mailto:llvm-dev at lists.llvm.org> https://lists.llv...
2019 Nov 14
3
RFC: token arguments and operand bundles
Let me clarify. These aren’t intended to be exposed to the user. The user code that leads to the generation of these intrinsics will be normal floating point operations combined with either pragmas (such as “STDC FENV_ACCESS ON”) or command line options (such as the recently introduced “-fp-model=strict”). The reason I’ve been avoiding normal constant values is that it provides no information when