[PATCH] D116465: [SPIRV 6/6] Add 2 essential passes and the simplest tests

Aleksandr Bezzubikov via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Feb 2 08:43:04 PST 2022


zuban32 added a comment.

In D116465#3289893 <https://reviews.llvm.org/D116465#3289893>, @rengolin wrote:

> I'm still not convinced that these passes are the right way to go, but I won't block if others think it has merit, even if just temporary, until the proper implementation emerges.
>
> We don't need these patches to be perfect, just good enough to generate some instructions and tell us that the direction the target is going is in sync with what we think should be.
>
> If this is something that can be changed later, I'd be fine with it.
>
> @arsenm @MaskRay

@rengolin what would be considered as a proper implementation? Currently the only reasonable way this can be modified is by moving the hoisting and deduplication logic to the printing/emission stage, and it's difficult to see another alternative due to the gap between SPIR-V and MIR in this matter - obviously MIR is not able to represent arbitrary instructions not belonging to a MachineFunction (and I don't even think it should be). So it seems the activity performed by these passes should be moved to a level lower than MIR, but for now it looks like that's the only major enhancement that could be done here.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D116465/new/

https://reviews.llvm.org/D116465



More information about the llvm-commits mailing list