This is an archive of the discontinued LLVM Phabricator instance.

AMDGPU: Implement getTgtMemIntrinsic for images
ClosedPublic

Authored by arsenm on Dec 20 2017, 3:43 PM.

Details

Reviewers
rampitec
mareko
Summary

Currently all images are lowered to have a single
image PseudoSourceValue. Image stores happen to have
overly strict mayLoad/mayStore/hasSideEffects flags
set on them, so this happens to work. When these
are fixed to be correct, the scheduler breaks
this because the identical PSVs are assumed to
be the same address. These need to be unique
to the image resource value.

Diff Detail

Event Timeline

arsenm created this revision.Dec 20 2017, 3:43 PM
mareko added inline comments.Dec 26 2017, 6:53 AM
lib/Target/AMDGPU/SIISelLowering.cpp
680

rsrc is ArgOperand(2) if I'm reading IntrinsicsAMDGPU.td correctly.

703

Same here.

arsenm updated this revision to Diff 128247.Dec 27 2017, 3:39 PM

Fix rsrc index

mareko accepted this revision.Dec 28 2017, 6:55 AM
This revision is now accepted and ready to land.Dec 28 2017, 6:55 AM
arsenm closed this revision.Dec 29 2017, 9:19 AM

r321555