This is an archive of the discontinued LLVM Phabricator instance.

GlobalISel: Consolidate load/store legalization
ClosedPublic

Authored by arsenm on Jan 27 2019, 3:38 PM.

Details

Summary

The fewerElementsVectors implementation for load/stores
handles the scalar reduction case just as well, so drop
the redundant code in narrowScalar. This also introduces
support for narrowing irregular size breakdowns for scalars.

Diff Detail

Event Timeline

arsenm created this revision.Jan 27 2019, 3:38 PM
arsenm updated this revision to Diff 183856.Jan 28 2019, 7:19 AM

Merge related bug fix for scalars

paquette added inline comments.Jan 30 2019, 1:38 PM
lib/CodeGen/GlobalISel/LegalizerHelper.cpp
582–584

Are these atomic checks still handled somewhere?

aemerson added inline comments.Jan 30 2019, 3:12 PM
lib/CodeGen/GlobalISel/LegalizerHelper.cpp
582–584

Looks like it's handled in reduceLoadStoreWidth.

arsenm marked an inline comment as done.Jan 31 2019, 6:06 PM
arsenm added inline comments.
lib/CodeGen/GlobalISel/LegalizerHelper.cpp
582–584

Yes, those were missing from the vector version but I fixed that in r352334, so now both cases are In reduceLoadStoreWidth

aemerson accepted this revision.Feb 4 2019, 3:30 PM

LGTM.

This revision is now accepted and ready to land.Feb 4 2019, 3:30 PM
arsenm closed this revision.Feb 4 2019, 3:41 PM

r353121