[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
Thu Jul 9 02:08:49 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, MRI->getVRegDef(NonUniformReg)}};
----------------
jmmartinez wrote:

Then we do not need the pair anymore. The `Register` is the first `def` operand

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


More information about the llvm-commits mailing list