(original) (raw)
On Tue, Oct 2, 2018 at 3:11 PM Roman Lebedev <lebedev.ri@gmail.com> wrote:
On Tue, Oct 2, 2018 at 10:06 PM Cameron McInally via llvm-dev
<llvm-dev@lists.llvm.org> wrote:
\>
\> On Mon, Oct 1, 2018 at 5:41 PM Sanjay Patel <spatel@rotateright.com> wrote:
\>>
\>> I don't see any controversy for the preliminary requirement of removing BinaryOperator::isFNeg() and friends, so start with that?
\>> That work may reveal other potential regressions that we can patch in advance too.
\>
\>
\> This is true and I will agree to do this work...
\>
\>>
\>> Other than that, I think there's really only a question of do we want 1 or both of fneg and fneg\_constrained (and if we choose both, then I assume we'd also add fabs\_constrained and copysign\_constrained).
\>
\>
\> but this is the real goal. Doing the BinaryOperator::isFNeg() work is in vain if we don't have at least a conditional approval of an explicit FNEG IR instruction.
\>
\> Would it be possible to obtain that conditional approval before work begins? That seems most prudent.
Will this affect (regress, pessimize) the current optimizations for
non-strict cases?
What about -ffast-math?
The goal is for no regressions, but there may be problems to work through to get there.
-ffast-math allows for unsafe transformations, so should remain unchanged.