[clang] [llvm] [ABI] Add IndirectAliased kind to abi::ArgInfo (PR #225005)

Steffen Larsen via llvm-commits llvm-commits at lists.llvm.org
Mon Sep 21 00:38:49 PDT 2026


================
@@ -169,24 +184,26 @@ class ArgInfo {
   }
 
   Align getIndirectAlign() const {
-    assert(isIndirect() && "Invalid Kind!");
+    assert((isIndirect() || isIndirectAliased()) && "Invalid Kind!");
     assert(Alignment.has_value() &&
            "Indirect arguments must have an alignment");
     return *Alignment;
   }
 
   unsigned getIndirectAddrSpace() const {
-    assert(isIndirect() && "Invalid Kind!");
+    assert((isIndirect() || isIndirectAliased()) && "Invalid Kind!");
     return IndirectAttr.AddrSpace;
   }
 
+  // ByVal is meaningful only for Indirect, since an aliased pointer is never
+  // copied.
----------------
steffenlarsen wrote:

This comment should probably be inside the function, relating to the assertion.

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


More information about the llvm-commits mailing list