Matt Arsenault
Matt Arsenault
I think this is supposed to be =*m but this still shouldn't assert
https://github.com/llvm-mirror/llvm/commit/aa2f57df85af2056eafbef94380664a55570fa83 should fix this particular case
> On Jun 4, 2019, at 8:56 PM, Sean Keely wrote: > > @b-sumner or @arsenm : It looks like the compiler fix is in. Can we close this issue?...
The broken version has a spill and reload, and the "good" version has the spill but no matching reload
This is because the second VGPR run of regalloc fast picks the wrong point to restore the VGPR reload at the top of the block. The first SGPR regalloc run...
Changing [this](https://github.com/llvm/llvm-project/blob/ccc849e0b1a4acb5fb16b0d0ddb63744fb0faec9/llvm/lib/Target/AMDGPU/SILowerControlFlow.cpp#L483) to true should fix/work around this
Lit test update for making this always split was not as bad as I thought. The only uncovered issue I see is one WQM globalisel tests fails with a LiveVariables...
https://reviews.llvm.org/D145323 fixes the uncovered LiveVariables error
https://reviews.llvm.org/D145329
Patch still breaks blender after https://reviews.llvm.org/D153859 and https://reviews.llvm.org/D153877 fix the machine verifier failures in it