[AMDGPU] Refactor PromoteAlloca implementation
authorpvanhout <pierre.vanhoutryve@amd.com>
Mon, 17 Apr 2023 13:26:24 +0000 (15:26 +0200)
committerpvanhout <pierre.vanhoutryve@amd.com>
Tue, 18 Apr 2023 12:23:58 +0000 (14:23 +0200)
commit83ae2d3618c1f959031e78573691f1ea86b7c809
tree711cf54cae5b17beaaa7be4c6d6e8614050b373e
parent311260a699162897d3e626bc18127a1471e1b2d8
[AMDGPU] Refactor PromoteAlloca implementation

We're getting a lot of mileage out of PromoteAlloca, and the pass had grown somewhat organically over the year.
This patch attempts to clean up the implementation and restructure it. For instance,
the exact same code path is now used for both promote alloca to LDS and
promote alloca to vector - just with different parameters.
This removes some redundancy here and there.
I also reordered functions in a way that hopefully makes more sense (e.g. all of the pass API is in the same place)

No functionality change is intended in the patch, but some checks were movved around so I'm not using the NFC tag.

Reviewed By: arsenm

Differential Revision: https://reviews.llvm.org/D148526
llvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp