Thanks for another try.

Looks the build failure list below has nothing to do with this patch. I think 
the correlated owner will take care of this Werror build issue soon.

Pan

-----Original Message-----
From: Maciej W. Rozycki <ma...@orcam.me.uk> 
Sent: Friday, June 14, 2024 12:15 AM
To: Li, Pan2 <pan2...@intel.com>
Cc: Richard Biener <richard.guent...@gmail.com>; gcc-patches@gcc.gnu.org; 
juzhe.zh...@rivai.ai; kito.ch...@gmail.com; tamar.christ...@arm.com
Subject: RE: [PATCH v7] Match: Support more form for scalar unsigned SAT_ADD

On Thu, 13 Jun 2024, Li, Pan2 wrote:

> Could you please help to update the upstream for another try ?
> 
> Should be fixed by this commit 
> https://github.com/gcc-mirror/gcc/commit/d03ff3fd3e2da1352a404e3c53fe61314569345c.
> 
> Feel free to ping me if any questions or concerns.

 Upstream master (as at 609764a42f0c) doesn't build:

In file included from .../gcc/gcc/coretypes.h:487,
                 from .../gcc/gcc/tree-vect-stmts.cc:24:
In member function 'bool poly_int<N, T>::is_constant() const [with unsigned int 
N = 2; C = long unsigned int]',
    inlined from 'C poly_int<N, T>::to_constant() const [with unsigned int N = 
2; C = long unsigned int]' at .../gcc/gcc/poly-int.h:588:3,
    inlined from 'bool get_group_load_store_type(vec_info*, stmt_vec_info, 
tree, slp_tree, bool, vec_load_store_type, vect_memory_access_type*, 
poly_int64*, dr_alignment_support*, int*, gather_scatter_info*, internal_fn*)' 
at .../gcc/gcc/tree-vect-stmts.cc:2155:39,
    inlined from 'bool get_load_store_type(vec_info*, stmt_vec_info, tree, 
slp_tree, bool, vec_load_store_type, unsigned int, vect_memory_access_type*, 
poly_int64*, dr_alignment_support*, int*, gather_scatter_info*, internal_fn*)' 
at .../gcc/gcc/tree-vect-stmts.cc:2387:38:
.../gcc/gcc/poly-int.h:557:7: error: 'remain.poly_int<2, long unsigned 
int>::coeffs[1]' may be used uninitialized [-Werror=maybe-uninitialized]
  557 |       if (this->coeffs[i] != 0)
      |       ^~
.../gcc/gcc/tree-vect-stmts.cc: In function 'bool 
get_load_store_type(vec_info*, stmt_vec_info, tree, slp_tree, bool, 
vec_load_store_type, unsigned int, vect_memory_access_type*, poly_int64*, 
dr_alignment_support*, int*, gather_scatter_info*, internal_fn*)':
.../gcc/gcc/tree-vect-stmts.cc:2115:23: note: 'remain.poly_int<2, long unsigned 
int>::coeffs[1]' was declared here
 2115 |           poly_uint64 remain;
      |                       ^~~~~~
In file included from .../gcc/gcc/system.h:1250,
                 from .../gcc/gcc/tree-vect-stmts.cc:23:
In function 'int ceil_log2(long unsigned int)',
    inlined from 'bool get_group_load_store_type(vec_info*, stmt_vec_info, 
tree, slp_tree, bool, vec_load_store_type, vect_memory_access_type*, 
poly_int64*, dr_alignment_support*, int*, gather_scatter_info*, internal_fn*)' 
at .../gcc/gcc/tree-vect-stmts.cc:2156:43,
    inlined from 'bool get_load_store_type(vec_info*, stmt_vec_info, tree, 
slp_tree, bool, vec_load_store_type, unsigned int, vect_memory_access_type*, 
poly_int64*, dr_alignment_support*, int*, gather_scatter_info*, internal_fn*)' 
at .../gcc/gcc/tree-vect-stmts.cc:2387:38:
.../gcc/gcc/hwint.h:266:17: error: 'remain.poly_int<2, long unsigned 
int>::coeffs[0]' may be used uninitialized [-Werror=maybe-uninitialized]
  266 |   return x == 0 ? 0 : floor_log2 (x - 1) + 1;
      |          ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
.../gcc/gcc/tree-vect-stmts.cc: In function 'bool 
get_load_store_type(vec_info*, stmt_vec_info, tree, slp_tree, bool, 
vec_load_store_type, unsigned int, vect_memory_access_type*, poly_int64*, 
dr_alignment_support*, int*, gather_scatter_info*, internal_fn*)':
.../gcc/gcc/tree-vect-stmts.cc:2115:23: note: 'remain.poly_int<2, long unsigned 
int>::coeffs[0]' was declared here
 2115 |           poly_uint64 remain;
      |                       ^~~~~~
cc1plus: all warnings being treated as errors
make[2]: *** [Makefile:1198: tree-vect-stmts.o] Error 1

and actually e14afbe2d1c6^ doesn't build either (I guess it's just slipped 
through bisection as the file didn't have to be rebuild or something):

In file included from .../gcc/gcc/rtl.h:3973,
                 from .../gcc/gcc/config/riscv/riscv.cc:31:
In function 'rtx_def* init_rtx_fmt_ee(rtx, machine_mode, rtx, rtx)',
    inlined from 'rtx_def* gen_rtx_fmt_ee_stat(rtx_code, machine_mode, rtx, 
rtx)' at ./genrtl.h:50:26,
    inlined from 'void riscv_move_integer(rtx, rtx, long int, machine_mode)' at 
.../gcc/gcc/config/riscv/riscv.cc:2786:10:
./genrtl.h:37:16: error: 'x' may be used uninitialized 
[-Werror=maybe-uninitialized]
   37 |   XEXP (rt, 0) = arg0;
.../gcc/gcc/config/riscv/riscv.cc: In function 'void riscv_move_integer(rtx, 
rtx, long int, machine_mode)':
.../gcc/gcc/config/riscv/riscv.cc:2723:7: note: 'x' was declared here
 2723 |   rtx x;
      |       ^
cc1plus: all warnings being treated as errors
make[2]: *** [Makefile:2563: riscv.o] Error 1

I hope you'll find this all useful.  As it happens I don't need to verify 
my needs with a RISC-V target anymore, so I'm leaving it all up to you now 
as I need to switch back to Alpha, which has been my actual objective, and 
these rebuilds have taken a lot of my attention already.

 Thank you for your input.

  Maciej

Reply via email to