llvmorg-github-actions[bot] wrote:

<!--LLVM PR SUMMARY COMMENT-->

@llvm/pr-subscribers-backend-amdgpu

Author: Steffen Larsen (steffenlarsen)

<details>
<summary>Changes</summary>

This commit implements CIR support for device-side printf on AMDGPU targets. 
Previously, any call to printf fell through to a library call, which does not 
exist on the device, so any kernel calling printf failed to build. For OGCG, 
the AMDGPU target routes printf calls through the OpenCL printf runtime, which 
takes the format string and a buffer of appended arguments. This implementation 
leverages this lowering by first emitting a call to a marker function 
`__cir_amdgpu_printf` during CIRGen, which is then lowered to the appropriate 
OpenCL printf runtime call during the LLVM IR lowering, leveraging the existing 
`llvm::emitAMDGPUPrintfCall` function.

---
Full diff: https://github.com/llvm/llvm-project/pull/226435.diff


7 Files Affected:

- (modified) clang/include/clang/CIR/LowerToLLVM.h (+6) 
- (modified) clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp (+1-1) 
- (modified) clang/lib/CIR/CodeGen/CIRGenBuiltinAMDGPU.cpp (+39) 
- (modified) clang/lib/CIR/CodeGen/CIRGenFunction.h (+3) 
- (modified) clang/lib/CIR/FrontendAction/CIRGenAction.cpp (+6-2) 
- (modified) clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp (+46) 
- (added) clang/test/CIR/CodeGenHIP/device-printf.hip (+29) 


``````````diff
The server is unavailable at this time. Please wait a few minutes before you 
try again.
``````````

</details>


https://github.com/llvm/llvm-project/pull/226435
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to