[clang] [llvm] [IR] Don't set strictfp on irrelevant calls (PR #122735)
Kevin P. Neal via cfe-commits
cfe-commits at lists.llvm.org
Tue Feb 4 07:21:00 PST 2025
kpneal wrote:
> > > If strict floating-point semantics are required at this call site, they are are required on every relevant call in this function. It means strictfp is a function attribute. Does anything prevents us from removal strictfp from all call sites?
> >
> >
> > I think that takes us back to @kpneal's history, "Then we found that basic blocks were being optimized when they didn't belong to a function so we couldn't get to the where the strictfp attribute was located. The solution was to add the attribute to every function call."
>
> It sounds like a transient property, used in very specific cases. We could return to this problem later, when/if transition to bundles happens.
Revisiting decisions made in the past is, in general, a good thing. Sometimes (frequently?) it doesn't result in any change, but that doesn't make it any less worthwhile.
> What about this PR? With it `strictfp` can be used as an indicator of a call that requires special handling for both constrained functions and calls with FP bundles, while both coexist.
I think efforts to change the rules around the `strictfp` attribute are not warranted at this time. If, in the future, there's a real benefit to changing the rules then we can talk about it then.
https://github.com/llvm/llvm-project/pull/122735
More information about the cfe-commits
mailing list