[llvm] [AMDGPU][GlobalISel] Support lowering preloaded kernel arguments (PR #205049)

Matt Arsenault via llvm-commits llvm-commits at lists.llvm.org
Mon Jun 29 04:32:22 PDT 2026


================
@@ -296,6 +297,200 @@ struct AMDGPUOutgoingArgHandler : public AMDGPUOutgoingValueHandler {
     assignValueToAddress(ValVReg, Addr, MemTy, MPO, VA);
   }
 };
+
+// Return the virtual register and type for a preloaded physical SGPR live-in.
+static std::pair<Register, LLT> getPreloadedLiveIn(MachineIRBuilder &B,
+                                                   MCRegister PhysReg,
+                                                   const SIRegisterInfo &TRI) {
+  MachineFunction &MF = B.getMF();
+  const TargetInstrInfo *TII = MF.getSubtarget().getInstrInfo();
----------------
arsenm wrote:

```suggestion
  const SIInstrInfo *TII = MF.getSubtarget<GCNSubtarget>().getInstrInfo();
```
Always use the target subclasses. Also, if these were methods of AMDGPUCallLowering there should be a member already 

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


More information about the llvm-commits mailing list