This is an archive of the discontinued LLVM Phabricator instance.

[AArch64][GlobalISel] Don't bail out of folding in extends into WRO addressing modes.
AbandonedPublic

Authored by aemerson on May 22 2020, 3:32 PM.

Details

Reviewers
paquette
Summary

We were doing an additional check to see if a G_SEXT is worth folding into a mem op compared to SelectionDAG. In terms of code size it's usually a wash.

I'm not entirely sure this is the right thing to do, I don't have performance numbers to show any difference with this either way.

Diff Detail

Event Timeline

aemerson created this revision.May 22 2020, 3:32 PM

Is this only for code size? Does SDAG do this at, say, -O3?

The GISel version of the function has a check for minsize, but SDAG has a check against shouldOptForSize() in its version of this function (AArch64DAGToDAGISel::isWorthFolding)

We're also missing a couple cases that are present in the SDAG version of the function. Adding them might make this fire.

aemerson abandoned this revision.Aug 10 2020, 10:47 PM

Abandon this for now, not enough justification.