[llvm] [SPIRV] Create a new OpSelect selector and fix register types. (PR #152311)
Farzon Lotfi via llvm-commits
llvm-commits at lists.llvm.org
Wed Aug 6 11:46:13 PDT 2025
================
@@ -440,13 +440,13 @@ void insertAssignInstr(Register Reg, Type *Ty, SPIRVType *SpvType,
// Tablegen definition assumes SPIRV::ASSIGN_TYPE pseudo-instruction is
// present after each auto-folded instruction to take a type reference from.
Register NewReg = MRI.createGenericVirtualRegister(MRI.getType(Reg));
- if (auto *RC = MRI.getRegClassOrNull(Reg)) {
- MRI.setRegClass(NewReg, RC);
- } else {
- auto RegClass = GR->getRegClass(SpvType);
+ auto RegClass = GR->getRegClass(SpvType);
+ MRI.setRegClass(NewReg, RegClass);
+ MRI.setRegClass(Reg, RegClass);
+
+ if (auto *RC = MRI.getRegClassOrNull(Reg); RC != RegClass)
MRI.setRegClass(NewReg, RegClass);
- MRI.setRegClass(Reg, RegClass);
- }
+
----------------
farzonl wrote:
delete if block
https://github.com/llvm/llvm-project/pull/152311
More information about the llvm-commits
mailing list