This is an archive of the discontinued LLVM Phabricator instance.

GlobalISel: Use helper function for MMO splitting
ClosedPublic

Authored by arsenm on Jan 23 2019, 2:49 PM.

Details

Summary

Also fix an alignment bug getMachineMemOperand. If the
tracked value is null, the offset isn't tracked so the
base alignment needs to be reduced.

Diff Detail

Event Timeline

arsenm created this revision.Jan 23 2019, 2:49 PM
paquette added inline comments.Jan 23 2019, 3:23 PM
lib/CodeGen/GlobalISel/LegalizerHelper.cpp
501–502

I assume that MMO.getAAInfo(), MMO.getRanges(), etc are automatically handled by the call to getMachineMemOperand in copyWithSizeAndOffset? Or are they no longer relevant?

arsenm updated this revision to Diff 183249.Jan 23 2019, 10:00 PM
arsenm marked an inline comment as done.

It turns out this already exists, just in MachineFunction. It does require fixing a bug in how alignment is handled when there's no base value

arsenm retitled this revision from Add copyWithSizeAndOffset to MMOs for splitting to GlobalISel: Use helper function for MMO splitting.Jan 30 2019, 10:55 AM
arsenm edited the summary of this revision. (Show Details)
This revision is now accepted and ready to land.Jan 30 2019, 1:42 PM
arsenm closed this revision.Jan 30 2019, 5:49 PM

r352716

lib/CodeGen/GlobalISel/LegalizerHelper.cpp
501–502

It turns out this already exists, it's just in MachineFunction instead of MMO