This is an archive of the discontinued LLVM Phabricator instance.

[AArch64][GlobalISel] Change store value type from p0 -> s64 to import patterns
ClosedPublic

Authored by paquette on Feb 2 2021, 4:57 PM.

Details

Summary

Similar to the G_PTR_ADD + G_LOAD twiddling we do in preISelLower.

The imported patterns expect scalars only, so they can't handle things like

G_STORE %ptr1, %ptr2

To get around this, use s64 instead.

(This probably makes a good portion of the manual selection code for G_STORE
dead.)

This is a 0.2% geomean code size improvement on CTMark at -Os.

(Best is consumer-typeset @ -0.7%)

Diff Detail

Event Timeline

paquette created this revision.Feb 2 2021, 4:57 PM
paquette requested review of this revision.Feb 2 2021, 4:57 PM
Herald added a project: Restricted Project. · View Herald TranscriptFeb 2 2021, 4:57 PM
aemerson accepted this revision.Feb 3 2021, 3:29 PM

LGTM.

This revision is now accepted and ready to land.Feb 3 2021, 3:29 PM