On Wed, May 14, 2025 at 3:24 PM Qing Zhao <qing.z...@oracle.com> wrote: > > Hi, > > This patch set has been waiting for the Middle-end review for a very long > time since last year. > > Could you Please take a look and let me know whether it’s ready for GCC16?
I plan to look at this next week while idling on a train. Richard. > Thanks a lot. > > Qing > > On May 1, 2025, at 10:02, Qing Zhao <qing.z...@oracle.com> wrote: > > > > Hi, > > > > A gentle ping on review of the Middle-end of change of this patch set. > > The diagnostic part has been reviewed and approved by David last year > > already. > > > > The 4th version of the patch set has been sent for review since Nov 5, 2024. > > Pinged 5 times since then. > > > > Linux Kernel has been using this feature for a while, and found it very > > useful. > > Kees has been asking for the status of this patch many many times. -:) > > > > We are hoping to make this into GCC16, should be a nice improvement in > > general. > > > > Please take a look and let me know whether it’s ready for GCC16? > > > > Thanks a lot. > > > > Qing. > > > > For your convenience, the links to the latest version are: > > > > https://gcc.gnu.org/pipermail/gcc-patches/2025-April/680336.html > > https://gcc.gnu.org/pipermail/gcc-patches/2025-April/680337.html > > https://gcc.gnu.org/pipermail/gcc-patches/2025-April/680339.html > > https://gcc.gnu.org/pipermail/gcc-patches/2025-April/680338.html > > > > > >> On Apr 7, 2025, at 11:04, Qing Zhao <qing.z...@oracle.com> wrote: > >> > >> Hi, > >> > >> These are the patches for fixing PR109071 for GCC16 stage1: > >> > >> Adding -fdiagnotics-details into GCC to provide more hints to the > >> end users on how the warnings come from, in order to help the user > >> to locate the exact location in source code on the specific warnings > >> due to compiler optimizations. > >> > >> They base on the the following 4th version of the patch and rebased > >> on the latest trunk. > >> > >> bootstrapping and regression testing on both x86 and aarch64. > >> > >> Kees and Sam have been using this option for a while in linux kernel > >> and other applications and both found very helpful. > >> > >> They asked me several times about the status of this work and hope > >> the functionality can be available in GCC as soon as possible. > >> > >> The diagnostic part of the patch had been reviewed and approved by > >> David already last year. > >> > >> Please review the middle-end part of the change. > >> > >> thanks a lot. > >> > >> Qing > >> > >> =================== > >> > >> The latest version of(4th version) is: > >> https://gcc.gnu.org/pipermail/gcc-patches/2024-November/667613.html > >> https://gcc.gnu.org/pipermail/gcc-patches/2024-November/667614.html > >> https://gcc.gnu.org/pipermail/gcc-patches/2024-November/667615.html > >> https://gcc.gnu.org/pipermail/gcc-patches/2024-November/667616.html > >> > >> The major improvements to this patch compared to version 3 are: > >> > >> 1. Divide the patch into 3 parts: > >> Part 1: Add new data structure move_history, record move_history during > >> transformation; > >> Part 2: In warning analysis, Use the new move_history to form a rich > >> location with a sequence of events, to report more context info > >> of the warnings. > >> Part 3: Add debugging mechanism for move_history. > >> > >> 2. Major change to the above Part 2, completely rewritten based on David's > >> new class lazy_diagnostic_path. > >> > >> 3. Fix all issues identied By Sam; > >> A. fix PR117375 (Bug in tree-ssa-sink.cc); > >> B. documentation clarification; > >> C. Add all the duplicated PRs in the commit comments; > >> > >> 4. Bootstrap GCC with the new -fdiagnostics-details on by default (Init > >> (1)). > >> exposed some ICE similar as PR117375 in tree-ssa-sink.cc, fixed. > >> > >> Qing Zhao (3): > >> Provide more contexts for -Warray-bounds, -Wstringop-*warning messages > >> due to code movements from compiler transformation (Part 1) > >> [PR109071,PR85788,PR88771,PR106762,PR108770,PR115274,PR117179] > >> Provide more contexts for -Warray-bounds, -Wstringop-*warning messages > >> due to code movements from compiler transformation (Part 2) > >> [PR109071,PR85788,PR88771,PR106762,PR108770,PR115274,PR117179] > >> Provide more contexts for -Warray-bounds, -Wstringop-* warning > >> messages due to code movements from compiler transformation (Part 3) > >> [PR109071,PR85788,PR88771,PR106762,PR108770,PR115274,PR117179] > >> > >> gcc/Makefile.in | 2 + > >> gcc/common.opt | 4 + > >> gcc/diagnostic-move-history.cc | 332 ++++++++++++++++++++++++++++++ > >> gcc/diagnostic-move-history.h | 94 +++++++++ > >> gcc/doc/invoke.texi | 11 + > >> gcc/gimple-array-bounds.cc | 39 ++-- > >> gcc/gimple-array-bounds.h | 2 +- > >> gcc/gimple-iterator.cc | 3 + > >> gcc/gimple-pretty-print.cc | 4 + > >> gcc/gimple-ssa-isolate-paths.cc | 21 ++ > >> gcc/gimple-ssa-warn-access.cc | 131 +++++++----- > >> gcc/gimple-ssa-warn-restrict.cc | 25 ++- > >> gcc/move-history-rich-location.cc | 56 +++++ > >> gcc/move-history-rich-location.h | 65 ++++++ > >> gcc/testsuite/gcc.dg/pr109071.c | 43 ++++ > >> gcc/testsuite/gcc.dg/pr109071_1.c | 36 ++++ > >> gcc/testsuite/gcc.dg/pr109071_2.c | 50 +++++ > >> gcc/testsuite/gcc.dg/pr109071_3.c | 42 ++++ > >> gcc/testsuite/gcc.dg/pr109071_4.c | 41 ++++ > >> gcc/testsuite/gcc.dg/pr109071_5.c | 33 +++ > >> gcc/testsuite/gcc.dg/pr109071_6.c | 49 +++++ > >> gcc/testsuite/gcc.dg/pr117375.c | 13 ++ > >> gcc/toplev.cc | 3 + > >> gcc/tree-ssa-sink.cc | 65 ++++++ > >> gcc/tree-ssa-threadupdate.cc | 43 ++++ > >> 25 files changed, 1124 insertions(+), 83 deletions(-) > >> create mode 100644 gcc/diagnostic-move-history.cc > >> create mode 100644 gcc/diagnostic-move-history.h > >> create mode 100644 gcc/move-history-rich-location.cc > >> create mode 100644 gcc/move-history-rich-location.h > >> create mode 100644 gcc/testsuite/gcc.dg/pr109071.c > >> create mode 100644 gcc/testsuite/gcc.dg/pr109071_1.c > >> create mode 100644 gcc/testsuite/gcc.dg/pr109071_2.c > >> create mode 100644 gcc/testsuite/gcc.dg/pr109071_3.c > >> create mode 100644 gcc/testsuite/gcc.dg/pr109071_4.c > >> create mode 100644 gcc/testsuite/gcc.dg/pr109071_5.c > >> create mode 100644 gcc/testsuite/gcc.dg/pr109071_6.c > >> create mode 100644 gcc/testsuite/gcc.dg/pr117375.c > >> > >> -- > >> 2.43.5 > >> > > >