This is an archive of the discontinued LLVM Phabricator instance.

[RISCV] Remove one use restriction on the scalar from combineBinOpToReduce.
ClosedPublic

Authored by craig.topper on Apr 25 2023, 1:03 PM.

Details

Summary

If multiple reductions use the neutral start value, this prevented
us from optimizing any of them.

This increases the number of scalar->vector operations but reduces
the number of scalar operations.

Note, we were already inconsistent about the one use check when we
peeked through INSERT_SUBVECTORs.

Diff Detail

Event Timeline

craig.topper created this revision.Apr 25 2023, 1:03 PM
Herald added a project: Restricted Project. · View Herald TranscriptApr 25 2023, 1:03 PM
craig.topper requested review of this revision.Apr 25 2023, 1:03 PM
Herald added a project: Restricted Project. · View Herald TranscriptApr 25 2023, 1:03 PM
This revision is now accepted and ready to land.Apr 25 2023, 5:45 PM
craig.topper retitled this revision from [RISCV] Remove one use restriction the scalar from combineBinOpToReduce. to [RISCV] Remove one use restriction on the scalar from combineBinOpToReduce..Apr 25 2023, 5:51 PM
This revision was landed with ongoing or failed builds.Apr 25 2023, 9:11 PM
This revision was automatically updated to reflect the committed changes.