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