[clang] [llvm] [AMDGPU] Add target intrinsic for s_buffer_prefetch_data (PR #107293)

Stanislav Mekhanoshin via cfe-commits cfe-commits at lists.llvm.org
Fri Sep 6 00:10:22 PDT 2024


================
@@ -9934,6 +9934,12 @@ SDValue SITargetLowering::LowerINTRINSIC_VOID(SDValue Op,
     auto NewMI = DAG.getMachineNode(Opc, DL, Op->getVTList(), Ops);
     return SDValue(NewMI, 0);
   }
+  case Intrinsic::amdgcn_s_prefetch_data: {
+    // For non-global address space preserve the chain and remove the call.
+    if (!AMDGPU::isFlatGlobalAddrSpace(cast<MemSDNode>(Op)->getAddressSpace()))
+      return Op.getOperand(0);
+    return Op;
----------------
rampitec wrote:

Are you sure you want this? Prefetch is a hint, I did not want a hard error, just remove the nonsense. That is because after a set of inline and infer address space the address may turn to be non-global, but shall it fail to compile?

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


More information about the cfe-commits mailing list