[all-commits] [llvm/llvm-project] be1f79: [CIR] Inheriting Constructor/inheriting ctor inlin...
Erich Keane via All-commits
all-commits at lists.llvm.org
Tue Apr 14 05:59:16 PDT 2026
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: be1f7941b851427be01abac112057a50f8d333d2
https://github.com/llvm/llvm-project/commit/be1f7941b851427be01abac112057a50f8d333d2
Author: Erich Keane <ekeane at nvidia.com>
Date: 2026-04-14 (Tue, 14 Apr 2026)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenCall.cpp
M clang/lib/CIR/CodeGen/CIRGenClass.cpp
M clang/lib/CIR/CodeGen/CIRGenExprAggregate.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CIRGenTypes.h
A clang/test/CIR/CodeGen/inherited-ctors.cpp
Log Message:
-----------
[CIR] Inheriting Constructor/inheriting ctor inlining lowering (#191467)
In cases with inheritance/vertual tables/etc, we need to generate a
series of constructors to delegate to. There are a handful slightly
different cases where we need to generate these/generate calls to these,
so this patch does that lowering.
The test check-lines are a bit confusing thanks to the ordering
differences between declarations. However the LLVM/OGCG lines are copy
pasted (plus minor attribute differences), with the exception of the
call to a delegated constructor.
One thing of note here: There is a difference in behavior with the
delegated constructor, which is called out in the test in a comment.
Classic codegen has a bug where it correctly creates the declaration
without arguments (since this constructor is only for initializing the
vtable pointers, arguments aren't necessary). However, when
classic-codegen creates the call, it doesn't omit them.
This isn't a problem there, however in CIR, this causes us to fail the
verifier, so this fixes that in CIR, but leaves it alone in OGCG.
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