Making MipsOptimizeMathLibCalls generic

MipsOptimizeMathLibCalls.cpp converts:

  g = sqrt (f);


  r1 = sqrt (f) readonly;
  if (g is a NaN)
    r2 = sqrt (f);
  g = phi (r1, r2)

I'd like to do the same on z. Would it be OK to make this pass generic
and do the transformation whenever FSQRT isLegalOrCustom for the type?

If so, should it stay a separate pass, or should I merge it with
something else?



Richard Sandiford <> writes:

Assuming it is okay to make this pass generic, I would consider running it as the last IR pass (at the end of TargetPassConfig::addIRPasses).