Extend the SI Load/Store optimizer to merge MIMG load instructions. Handle
different flavours of image_load and image_sample instructions.
When the instructions of the same subclass differ only in dmask, merge
them and update dmask accordingly.
Differential D64911
[AMDGPU] Extend the SI Load/Store optimizer piotr on Jul 18 2019, 3:58 AM. Authored by
Details Extend the SI Load/Store optimizer to merge MIMG load instructions. Handle When the instructions of the same subclass differ only in dmask, merge
Diff Detail
Event TimelineComment Actions I still think we should be handling these on the IR level
Comment Actions Matt, where do you think would be the right place to do this at the IR level? Presumably you have an existing pass in mind? Comment Actions Either a new pass, or teach the LoadStoreVectorizer about intrinsics. Things are generally easier in the IR, and I don't think this needs any information only available after selection Comment Actions I think a generic pass would not be suited for our image instructions, due to the dmask special treatment. I had decided to extend the si-load-store-opt pass, because similar transformations were already handled there. Comment Actions A recent patch in SILoadOptimizer (D65496) conflicted with this patch. I have rebased it to the latest master, but for clarity I will split the review into two parts: a separate review for the NFC refactoring (D68384) and the current review only for merging MIMG instruction. I will update the current review once D68384 has been merged.
|