[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