[all-commits] [llvm/llvm-project] b639b6: [CIR] Re-land: Recognize constant aggregate initia...

Andy Kaylor via All-commits all-commits at lists.llvm.org
Mon Nov 10 10:51:44 PST 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: b639b6a1c529a476ca7d3fed280de9adf2d02ce5
      https://github.com/llvm/llvm-project/commit/b639b6a1c529a476ca7d3fed280de9adf2d02ce5
  Author: Andy Kaylor <akaylor at nvidia.com>
  Date:   2025-11-10 (Mon, 10 Nov 2025)

  Changed paths:
    M clang/include/clang/CIR/MissingFeatures.h
    M clang/lib/CIR/CodeGen/CIRGenDecl.cpp
    M clang/test/CIR/CodeGen/agg-expr-lvalue.c
    M clang/test/CIR/CodeGen/array.cpp
    M clang/test/CIR/CodeGen/compound_literal.cpp
    M clang/test/CIR/CodeGen/loop.cpp
    M clang/test/CIR/CodeGen/paren-init-list.cpp
    M clang/test/CIR/CodeGen/statement-exprs.c
    M clang/test/CIR/CodeGen/struct-init.cpp
    M clang/test/CIR/CodeGen/struct.cpp
    M clang/test/CIR/CodeGen/variable-decomposition.cpp
    M clang/test/CIR/CodeGenOpenACC/combined-reduction-clause-default-ops.cpp
    M clang/test/CIR/CodeGenOpenACC/combined-reduction-clause-float.cpp
    M clang/test/CIR/CodeGenOpenACC/combined-reduction-clause-int.cpp
    M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-default-ops.c
    M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-default-ops.cpp
    M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-float.c
    M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-float.cpp
    M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-int.c
    M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-int.cpp
    M clang/test/CIR/CodeGenOpenACC/compute-reduction-clause-unsigned-int.c
    M clang/test/CIR/CodeGenOpenACC/loop-reduction-clause-default-ops.cpp
    M clang/test/CIR/CodeGenOpenACC/loop-reduction-clause-float.cpp
    M clang/test/CIR/CodeGenOpenACC/loop-reduction-clause-int.cpp
    M clang/test/CIR/Lowering/array.cpp

  Log Message:
  -----------
  [CIR] Re-land: Recognize constant aggregate initialization of auto vars (#167033)

This adds code that was previously missing from emitAutoVarAlloca to
identify when an aggregate auto var is being emitted with a constant
initializer, and the associated code that is called from emitAutoVarInit
to store the constant. This allows significantly more efficient
initialization.

This was previously committed in
https://github.com/llvm/llvm-project/pull/166850 but that change
contained an unintended modification to an unrelated test.



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