[PATCH] D63371: Rewrite ConstStructBuilder with a mechanism that can cope with splitting and updating constants.

Richard Smith - zygoloid via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Fri Jun 14 17:38:51 PDT 2019


rsmith created this revision.
rsmith added a reviewer: rjmccall.
Herald added a project: clang.

This adds a ConstantBuilder class that deals with incrementally building
an aggregate constant, including support for overwriting
previously-emitted parts of the aggregate with new values.

This fixes a bunch of cases where we used to be unable to reduce a
DesignatedInitUpdateExpr down to an IR constant, and also lays some
groundwork for emission of class constants with [[no_unique_address]]
members.


Repository:
  rC Clang

https://reviews.llvm.org/D63371

Files:
  lib/CodeGen/CGExprConstant.cpp
  test/CodeGenCXX/designated-init.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D63371.204887.patch
Type: text/x-patch
Size: 54795 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20190615/25ad5f77/attachment-0001.bin>


More information about the cfe-commits mailing list