Currently if constrained fp math is requested clang is still emitting calls to the non-constrained versions of math builtins. This patch corrects that for calls that are not target-specific.
I really wanted to keep constrained/non-constrained decisions in the IRBuilder, but that causes complications. This version stays close to that ideal without the complications.
I don't see any situation where not_intrinsic is passed in here; why all these checks?