[clang] [llvm] [WIP] ABI Lowering Library (PR #140112)

Nikita Popov via llvm-commits llvm-commits at lists.llvm.org
Wed Jul 2 00:49:02 PDT 2025


================
@@ -825,6 +831,47 @@ void computeSPIRKernelABIInfo(CodeGenModule &CGM, CGFunctionInfo &FI);
 }
 } // namespace clang
 
+ABIArgInfo CodeGenTypes::convertABIArgInfo(const llvm::abi::ABIArgInfo &abiInfo,
+                                           QualType type) {
+  ABIArgInfo result;
+
+  if (abiInfo.isDirect()) {
+    llvm::Type *CoercedType = nullptr;
+    if (abiInfo.getCoerceToType()) {
+      CoercedType = ReverseMapper.convertType(abiInfo.getCoerceToType());
+    }
+    if (!CoercedType) {
+      CoercedType = ConvertType(type);
----------------
nikic wrote:

Why do we need this case? In which case is CoercedType not set but we still need it?

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


More information about the llvm-commits mailing list