This is an archive of the discontinued LLVM Phabricator instance.

AMDGPU/LoadStoreOptimizer: combine MMOs when merging instructions
ClosedPublic

Authored by tstellar on Jul 19 2019, 10:11 PM.

Details

Summary

The LoadStoreOptimizer was creating instructions with 2
MachineMemOperands, which meant they were assumed to alias with all other instructions,
because MachineInstr:mayAlias() returns true when an instruction has multiple
MachineMemOperands.

This was preventing these instructions from being merged again, and was
giving the scheduler less freedom to reorder them.

Event Timeline

tstellar created this revision.Jul 19 2019, 10:11 PM
Herald added a project: Restricted Project. · View Herald TranscriptJul 19 2019, 10:11 PM
arsenm accepted this revision.Jul 20 2019, 6:24 AM

LGTM

This revision is now accepted and ready to land.Jul 20 2019, 6:24 AM
This revision was automatically updated to reflect the committed changes.