[PATCH] D53157: Teach the IRBuilder about constrained fadd and friends

Cameron McInally via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Tue Nov 20 16:33:17 PST 2018


cameron.mcinally added a comment.

In https://reviews.llvm.org/D53157#1304275, @kpn wrote:

> In https://reviews.llvm.org/D53157#1303398, @cameron.mcinally wrote:
>
> > If we all agree upon that, then we simply have to treat the functions that modify the FPEnv, e.g. fesetexcept(...), as barriers. That way it does not matter if a FENV_ACCESS=OFF function is translated with constrained intrinsics or not, since nothing can be scheduled around these barriers.
>
>
> I thought we couldn't do barriers. No barriers means no way to prevent code motion and mixing of constrained with non-constrained FP. That was the reason for having all FP in a function be constrained if any of it was.


I'd like to hear more about this. The fesetexcept(...) function and friends change the FPEnv state, which can change the semantics for the instructions that follow. They definitely have to act as a barrier.


https://reviews.llvm.org/D53157





More information about the cfe-commits mailing list