[llvm-commits] [cfe-commits] [PATCH] Add llvm.fmuladd intrinsic.

Stephen Canon scanon at apple.com
Fri Jun 1 04:50:44 PDT 2012


On May 31, 2012, at 10:40 PM, John McCall <rjmccall at apple.com> wrote:

> On May 31, 2012, at 7:22 PM, Lang Hames wrote:
>> Thanks for the suggestion Matthieu. I spoke to Doug and he recommended using attributes rather than a FunctionDecl bit to represent the fp_contract state.
> 
> Hmm.  I had suggested a bit on FunctionDecl on the assumption that this would often be controlled globally, maybe by using a flag to control the default or by activating a #pragma before including all the headers.  Actually, I could even imagine a target (maybe a GPU target?) even opting-in to this behavior by default.  If we're going to use an Attr, we need to make sure it doesn't get added unless the current #pragma state is different from the global default;  we really don't want to be allocating an attribute for every function definition in the translation unit.

We want FP_CONTRACT ON to be the default for all targets.  It's also worth noting that it's critical that we support setting the pragma to OFF, but in practice this will be exceedingly rare (almost certainly less than 1% of sources, and probably far less than that).

- Steve



More information about the llvm-commits mailing list