The default FP mode should really be a property of a specific
function, and not a subtarget. Introduce the necessary fields to the
SIMachineFunctionInfo to help move towards this goal.
Details
Diff Detail
Event Timeline
As far as I understand this changes the default. Currently default depends on the ASIC and its ability to support denorms fast. I think we want to keep it this way.
This is a decision for the frontend. Undecorated IR functions need to be the conservatively correct default. Currently clang puts the subtarget feature on functions (except in the device library build). Eventually that will be replaced with a function attribute. Currently with the default of no denormals set by the backend, the library is miscompiled whenever it's not inlined
This also doesn't change the default, this is an infrastructure fix to move towards fixing the IR default
Since default is the same LGTM. Before switching we need to make sure clang correctly sets the default and check consequences for the library.