This is an archive of the discontinued LLVM Phabricator instance.

AMDGPU: Insert moves of frame index to value operands
ClosedPublic

Authored by arsenm on Feb 29 2016, 4:51 PM.

Details

Reviewers
tstellarAMD
Summary

Strengthen tests of storing frame indices.

Right now this just creates irrelevant scheduling changes.

We don't want to have multiple frame index operands
on an instruction. There seem to be various assumptions
that at least the same frame index will not appear twice
in the LocalStackSlotAllocation pass.

There's no reason to have this happen, and it just
makes it easy to introduce bugs where the immediate
offset is appplied to the storing instruction when it should
really be applied to the value being stored as a separate
add.

This might not be sufficient. It might still be problematic
to have an add fi, fi situation, but that's even less unlikely
to happen in real code.

Diff Detail

Event Timeline

arsenm updated this revision to Diff 49434.Feb 29 2016, 4:51 PM
arsenm retitled this revision from to AMDGPU: Insert moves of frame index to value operands.
arsenm updated this object.
arsenm added a reviewer: tstellarAMD.
arsenm added a subscriber: llvm-commits.
arsenm updated this revision to Diff 49439.Feb 29 2016, 5:28 PM

Use operand index to compute equality. This actually works in the case the operands are identical

arsenm updated this revision to Diff 49446.Feb 29 2016, 6:32 PM
arsenm updated this object.
tstellarAMD accepted this revision.Mar 16 2016, 6:57 AM
tstellarAMD edited edge metadata.

LGTM.

This revision is now accepted and ready to land.Mar 16 2016, 6:57 AM
arsenm closed this revision.Mar 23 2016, 2:54 PM

r264200