[all-commits] [llvm/llvm-project] 920c61: [CIR] Lower variadic arguments through an indirect...

Adam Smith via All-commits all-commits at lists.llvm.org
Tue Sep 29 14:19:06 PDT 2026


  Branch: refs/heads/users/adams381/cir-callconv-indirect-variadic
  Home:   https://github.com/llvm/llvm-project
  Commit: 920c61b42de235764e2e44662dce118a6f7acf92
      https://github.com/llvm/llvm-project/commit/920c61b42de235764e2e44662dce118a6f7acf92
  Author: Adam Smith <adams at nvidia.com>
  Date:   2026-09-29 (Tue, 29 Sep 2026)

  Changed paths:
    M clang/docs/CIR/ABILowering.md
    M clang/lib/CIR/CodeGen/CIRGenModule.cpp
    M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
    M clang/lib/CIR/Dialect/Transforms/CallConvLoweringPass.cpp
    M clang/lib/CIR/Dialect/Transforms/TargetLowering/CIRABIRewriteContext.cpp
    M clang/lib/CIR/Dialect/Transforms/TargetLowering/CIRABIRewriteContext.h
    A clang/test/CIR/CodeGen/asm-label-redirect-variadic.c
    M clang/test/CIR/CodeGen/call-conv-lowering-x86_64-avx.c
    A clang/test/CIR/CodeGen/call-conv-lowering-x86_64-indirect-variadic-virtual.cpp
    A clang/test/CIR/CodeGen/call-conv-lowering-x86_64-indirect-variadic.c
    M clang/test/CIR/IR/invalid-call.cir
    A clang/test/CIR/Transforms/abi-lowering/indirect-variadic-call-test-target-nyi.cir
    A clang/test/CIR/Transforms/abi-lowering/x86_64-indirect-variadic.cir
    M clang/test/CIR/Transforms/abi-lowering/x86_64-variadic-nyi.cir

  Log Message:
  -----------
  [CIR] Lower variadic arguments through an indirect call

On x86_64, CallConvLowering now classifies an indirect call with
ellipsis arguments from its own operands, as it does a direct variadic
call. Those arguments stay out of the retyped callee's function type, as
in classic CodeGen.

The cir.call verifier now checks indirect calls against the callee
pointer's function type, and CIRGen's asm-label redirect keeps a
variadic declaration's ellipsis instead of dropping it.

Assisted-by: Claude Code / claude-opus-5-5



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list