This is an archive of the discontinued LLVM Phabricator instance.

[DAG] Move one-use add of splat to base of scatter/gather
ClosedPublic

Authored by reames on Sep 22 2022, 1:03 PM.

Details

Summary

This extends the uniform base transform used with scatter/gather to support one-use vector adds-of-splats with a non-zero base. This has the effect of essentially reassociating an add from vector to scalar domain.

The motivation is to improve the lowering of scatter/gather operations fed by complex geps.

Diff Detail

Build Status
Buildable 188245

Event Timeline

reames created this revision.Sep 22 2022, 1:03 PM
reames requested review of this revision.Sep 22 2022, 1:03 PM
Herald added a project: Restricted Project. · View Herald TranscriptSep 22 2022, 1:03 PM
craig.topper added inline comments.Sep 22 2022, 2:26 PM
llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
10669

I think we typically pass SDLoc by reference

reames updated this revision to Diff 462327.Sep 22 2022, 3:33 PM

Address review comment

reames updated this revision to Diff 462334.Sep 22 2022, 3:37 PM

Corrected rebase

This revision is now accepted and ready to land.Sep 22 2022, 5:11 PM
This revision was automatically updated to reflect the committed changes.