jcranmer-intel wrote:

> > > I'd like to see this change land, but with the "-mdaz-ftz" option removed 
> > > (because I don't think it's useful). That would fix the critical problem 
> > > of fast-math infecting shared libraries with the ftz setting, and we 
> > > could straighten out the other problems, which are relatively minor, 
> > > afterwards.
> > 
> > 
> > There is, without this change, no way to control whether or not 
> > `crtfastmath.o` is linked independent of all of the other fast-math 
> > options. The `-mdaz-ftz` option would at least add a flag to explicitly 
> > control the parameter (for the people who care), and we can then have 
> > discussions about different ways to effect setting DAZ/FTZ bits or what 
> > options imply `-mdaz-ftz` in future PRs. That alone makes it a worthy 
> > addition IMHO; the compatibility with gcc is another nice feature.
> 
> You can always link crtfastmath.o directly, of course. Ultimately, I don't 
> think the compiler should ever be adding the crtfastmath.o file. I would 
> prefer to insert code directly into the entry function as @arsenm indicated 
> the AMDGPU backend does for kernels. That would then be controlled by the 
> -fdenormal-fp-math option or something more explicitly linked to the entry 
> function.
> 
> I don't want to add -mdaz-ftz because once we do we're kind of stuck with it. 
> If you don't add it here, we'd continue the current behavior of linking with 
> crtfastmath.o normally but we'd stop infecting shared libraries with it.

I don't think it's unreasonable to switch the logic of `-mdaz-ftz` from linking 
a file with a global initializer that sets the flags to making it emit the 
entry-point call to such a function instead, it still largely follows the same 
logic to me. And having a command line flag makes it easier for users to access 
rather than manually linking in a file located who-knows-where in the toolchain 
(although I suspect anyone who cares hard enough would rather just write the 
calls to set FTZ/DAZ than track it down from the toolchain).

https://github.com/llvm/llvm-project/pull/80475
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to