Following the RFC at https://discourse.llvm.org/t/rfc-ffp-contract-default-value/66301
Set the default value for -ffp-contract to fast
This adds the fastmath<contract> attribute to fir.call and some floating point arithmetic operations, leading to the many test changes. Instead of testing for this specific attribute, I am using a regular expression to match all attributes.
Just an observation: I think we should not be setting fastmath flags for calls that do not return any FP result. Such calls are not allowed to have fastmath flags in LLVM IR. I think we can fixup the flags in TargetRewrite where we create the final function signature for fir.call. I will look into it. This issue should not affect your changes in any way.