On Jun 5, 2012, at 2:31 PM, Chandler Carruth <[email protected]> wrote:
> On Tue, Jun 5, 2012 at 2:15 PM, Stephen Canon <[email protected]> wrote: > > The trouble I see with this is that you're going to end up generating an > enormous number of start/stop intrinsics for some code (one pair for every > source expression containing FP, effectively). I'm not sure how much of a > concern that really is, but it feels inelegant to me. > > My idea was essentially that you would only do this where contraction was > precluded, which you indicated should be rare (1%). That should restrict the > amount of start/stop churn? > > Are you imagining something completely different? Contraction is precluded across expression boundaries in the standard C numerics model. Assuming we want to support standard C numerics, you would need to insert start/stop for every expression containing FP. You would actually get to avoid this precisely in the 1% case; if FMA formation is forbidden outright, you only need a single stop. The "fast math" mode (greedy FMA formation) would only require a single start (or nothing at all), but that mode doesn't conform to C (or C++, as far as I know), and shouldn't be the default mode. - Steve
_______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
