Hi, This is the 10th version of the patch. Which is rebased on the latest trunk.
Compare with the 9th version, all the difference are in patch #2, including a small C FE change in the routine "digest_init". all others are middle-end changes. please review the changes for the patch #2: updates per Richard's comments: 1. In the C FE routine "digest_init" of c-typeck.cc, when "require_constant" is TRUE, fold the call to .ACCESS_WITH_SIZE to its first argument. At the same time, delete the special handling of call to .ACCESS_WITH_SIZE in the middle end routines "initializer_constant_valid_p_1" and "output_constant" in varasm.cc 2. Add ECF_PURE to the new internal-function .ACCESS_WITH_SIZE in internal-fn.def. As a result, delete all special handling of calls to .ACCESS_WITH_SIZE in the files "tree-ssa-alias.cc" and "tree-ssa-dce.cc" and the routine "proces_call_operands" of the file "tree.cc" 3. Delete the unnecessary lines from the routine "expand_DEFERRED_INIT" per Richard's suggestion. Approval status: Patch #1, #3, #4, #5 are all approved; Patch #2, All C FE changes, except the change for the routine "digest_init" in c-typeck.cc, are approved. Review needed: Patch #2: Middle end change; the change for the routine "digest_init" in C FE. The 9th version is here: https://gcc.gnu.org/pipermail/gcc-patches/2024-April/649389.html https://gcc.gnu.org/pipermail/gcc-patches/2024-April/649390.html https://gcc.gnu.org/pipermail/gcc-patches/2024-April/649391.html https://gcc.gnu.org/pipermail/gcc-patches/2024-April/649392.html https://gcc.gnu.org/pipermail/gcc-patches/2024-April/649393.html It based on the following original proposal: https://gcc.gnu.org/pipermail/gcc-patches/2023-November/635884.html Represent the missing dependence for the "counted_by" attribute and its consumers Bootstrapped and regression tested on both X86 and Aarch64, no issue. Okay for trunk? thanks. Qing