[llvm] [SPIR-V] Guard against infinite loop in decorateUsesAsNonUniform (PR #208224)

Juan Manuel Martinez CaamaƱo via llvm-commits llvm-commits at lists.llvm.org
Mon Jul 13 02:22:50 PDT 2026


================
@@ -6317,10 +6318,14 @@ bool SPIRVInstructionSelector::selectResourceNonUniformIndex(
 
 void SPIRVInstructionSelector::decorateUsesAsNonUniform(
     Register &NonUniformReg) const {
-  llvm::SmallVector<Register> WorkList = {NonUniformReg};
+  llvm::SmallVector<std::pair<Register, MachineInstr *>> WorkList = {
+      {NonUniformReg, nullptr}};
----------------
jmmartinez wrote:

Urgh, that's weird, I thought we were in SSA mode at this point.

So why does that not happen for the `MRI->getVRegDef(CurrentReg);` below ?

https://github.com/llvm/llvm-project/pull/208224


More information about the llvm-commits mailing list