This is an archive of the discontinued LLVM Phabricator instance.

[ARM] Fold floating point select(binop) patterns
ClosedPublic

Authored by dmgreen on Nov 10 2021, 9:14 AM.

Details

Summary

Similar to D84091 which added extra extra predicated folds for integer operations using the identity element of the operation, this adds them for floating point operations for the form BinOp(x, select(p, y, Identity)). They are folded back to predicated versions of the operator, with fadd having the identity -0.0, fsub using the identity 0.0 and fmul using 1.0.

Diff Detail

Event Timeline

dmgreen created this revision.Nov 10 2021, 9:14 AM
dmgreen requested review of this revision.Nov 10 2021, 9:14 AM
Herald added a project: Restricted Project. · View Herald TranscriptNov 10 2021, 9:14 AM
samtebbs accepted this revision.Nov 15 2021, 2:14 AM

Very nice

This revision is now accepted and ready to land.Nov 15 2021, 2:14 AM
This revision was landed with ongoing or failed builds.Nov 24 2021, 2:22 AM
This revision was automatically updated to reflect the committed changes.