[llvm] [AMDGPU] Prevent hang in SIFoldOperands (PR #82099)
Pierre van Houtryve via llvm-commits
llvm-commits at lists.llvm.org
Tue Feb 20 23:28:25 PST 2024
Pierre-vh wrote:
I think it goes like this:
- `defusechain_iterator` works on a given `MachineOperand *`
- We commute operands within an instruction so that pointer stays valid, but now points to a completely different operand
- `defusechain_iterator` keeps going on that operand (basically iterates a different range)
- We keep commuting further and going back and forth between those two ranges
That makes sense I think, and the better fix would be to stop commuting inside that loop, or commute in bulk after the loop.
https://github.com/llvm/llvm-project/pull/82099
More information about the llvm-commits
mailing list