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? 

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
>> 
> 

Reply via email to