public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug tree-optimization/97750] New: ICE in during GIMPLE pass: wrestrict on commit e0af865ab9d9d5b6b3ac7fdde26cf9bbf635b6b4
@ 2020-11-07 10:42 hedmoo at yahoo dot com
  2020-11-07 10:47 ` [Bug tree-optimization/97750] " hedmoo at yahoo dot com
                   ` (9 more replies)
  0 siblings, 10 replies; 11+ messages in thread
From: hedmoo at yahoo dot com @ 2020-11-07 10:42 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97750

            Bug ID: 97750
           Summary: ICE in during GIMPLE pass: wrestrict on commit
                    e0af865ab9d9d5b6b3ac7fdde26cf9bbf635b6b4
           Product: gcc
           Version: 11.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: tree-optimization
          Assignee: unassigned at gcc dot gnu.org
          Reporter: hedmoo at yahoo dot com
  Target Milestone: ---

hi for me vlc fails with :

during GIMPLE pass: wrestrict
video_chroma/copy.c: In function ‘CopyFromUswc’:
video_chroma/copy.c:141:13: internal compiler error: Segmentation fault
  141 | static void CopyFromUswc(uint8_t *dst, size_t dst_pitch,
      |             ^~~~~~~~~~~~
0x15fda3f internal_error(char const*, ...)
        ???:0
0x1585bc5 operator_cast::op1_range(irange&, tree_node*, irange const&, irange
const&) const
        ???:0
0x149e23a gori_compute::compute_name_range_op(irange&, gimple*, irange const&,
tree_node*)
        ???:0
0x14a1ac6 gori_compute_cache::compute_operand_range(irange&, gimple*, irange
const&, tree_node*)
        ???:0
0x149ecb9 gori_compute::compute_operand1_range(irange&, gimple*, irange const&,
tree_node*)
        ???:0
0x14a1ac6 gori_compute_cache::compute_operand_range(irange&, gimple*, irange
const&, tree_node*)
        ???:0
0x149ecb9 gori_compute::compute_operand1_range(irange&, gimple*, irange const&,
tree_node*)
        ???:0
0x14a1ac6 gori_compute_cache::compute_operand_range(irange&, gimple*, irange
const&, tree_node*)
        ???:0
0x149ecb9 gori_compute::compute_operand1_range(irange&, gimple*, irange const&,
tree_node*)
        ???:0
0x14a1ac6 gori_compute_cache::compute_operand_range(irange&, gimple*, irange
const&, tree_node*)
        ???:0
0x14a00d7 gori_compute::outgoing_edge_range_p(irange&, edge_def*, tree_node*)
        ???:0
0x149c67d ranger_cache::propagate_cache(tree_node*)
        ???:0
0x149cfdc ranger_cache::fill_block_cache(tree_node*, basic_block_def*,
basic_block_def*)
        ???:0
0x149d46f ranger_cache::block_range(irange&, basic_block_def*, tree_node*,
bool)
        ???:0
0x14952a5 gimple_ranger::range_on_entry(irange&, basic_block_def*, tree_node*)
        ???:0
0x1495af4 gimple_ranger::range_of_expr(irange&, tree_node*, gimple*)
        ???:0
0x1496f61 gimple_ranger::range_of_range_op(irange&, gimple*)
        ???:0
0x1499357 gimple_ranger::calc_stmt(irange&, gimple*, tree_node*)
        ???:0
0x14998f3 gimple_ranger::range_of_stmt(irange&, gimple*, tree_node*)
        ???:0
0x1495b78 gimple_ranger::range_of_expr(irange&, tree_node*, gimple*)
        ???:0
Please submit a full bug report,


as this is my first bug report for you please correct me with the wrongs i am
doing .

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug tree-optimization/97750] ICE in during GIMPLE pass: wrestrict on commit e0af865ab9d9d5b6b3ac7fdde26cf9bbf635b6b4
  2020-11-07 10:42 [Bug tree-optimization/97750] New: ICE in during GIMPLE pass: wrestrict on commit e0af865ab9d9d5b6b3ac7fdde26cf9bbf635b6b4 hedmoo at yahoo dot com
@ 2020-11-07 10:47 ` hedmoo at yahoo dot com
  2020-11-07 10:57 ` jakub at gcc dot gnu.org
                   ` (8 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: hedmoo at yahoo dot com @ 2020-11-07 10:47 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97750

--- Comment #1 from andreas <hedmoo at yahoo dot com> ---
Created attachment 49518
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=49518&action=edit
flags and system

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug tree-optimization/97750] ICE in during GIMPLE pass: wrestrict on commit e0af865ab9d9d5b6b3ac7fdde26cf9bbf635b6b4
  2020-11-07 10:42 [Bug tree-optimization/97750] New: ICE in during GIMPLE pass: wrestrict on commit e0af865ab9d9d5b6b3ac7fdde26cf9bbf635b6b4 hedmoo at yahoo dot com
  2020-11-07 10:47 ` [Bug tree-optimization/97750] " hedmoo at yahoo dot com
@ 2020-11-07 10:57 ` jakub at gcc dot gnu.org
  2020-11-09  8:08 ` marxin at gcc dot gnu.org
                   ` (7 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: jakub at gcc dot gnu.org @ 2020-11-07 10:57 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97750

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jakub at gcc dot gnu.org

--- Comment #2 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
See https://gcc.gnu.org/bugs/ , we need the preprocessed source + gcc options
used to compile that.  Add -save-temps to whatever command line is copy.c
compiled with and attach copy.i + say the command line.

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug tree-optimization/97750] ICE in during GIMPLE pass: wrestrict on commit e0af865ab9d9d5b6b3ac7fdde26cf9bbf635b6b4
  2020-11-07 10:42 [Bug tree-optimization/97750] New: ICE in during GIMPLE pass: wrestrict on commit e0af865ab9d9d5b6b3ac7fdde26cf9bbf635b6b4 hedmoo at yahoo dot com
  2020-11-07 10:47 ` [Bug tree-optimization/97750] " hedmoo at yahoo dot com
  2020-11-07 10:57 ` jakub at gcc dot gnu.org
@ 2020-11-09  8:08 ` marxin at gcc dot gnu.org
  2020-12-16  8:45 ` slyfox at gcc dot gnu.org
                   ` (6 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: marxin at gcc dot gnu.org @ 2020-11-09  8:08 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97750

Martin Liška <marxin at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |WAITING
     Ever confirmed|0                           |1
                 CC|                            |marxin at gcc dot gnu.org
   Last reconfirmed|                            |2020-11-09

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug tree-optimization/97750] ICE in during GIMPLE pass: wrestrict on commit e0af865ab9d9d5b6b3ac7fdde26cf9bbf635b6b4
  2020-11-07 10:42 [Bug tree-optimization/97750] New: ICE in during GIMPLE pass: wrestrict on commit e0af865ab9d9d5b6b3ac7fdde26cf9bbf635b6b4 hedmoo at yahoo dot com
                   ` (2 preceding siblings ...)
  2020-11-09  8:08 ` marxin at gcc dot gnu.org
@ 2020-12-16  8:45 ` slyfox at gcc dot gnu.org
  2020-12-16  8:58 ` slyfox at gcc dot gnu.org
                   ` (5 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: slyfox at gcc dot gnu.org @ 2020-12-16  8:45 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97750

Sergei Trofimovich <slyfox at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |slyfox at gcc dot gnu.org

--- Comment #3 from Sergei Trofimovich <slyfox at gcc dot gnu.org> ---
In https://bugs.gentoo.org/760117 we got a similar report. I reproduced it
locally and minimized to the following:

// cat bug.c
char CopyPlane_src;
long CopyPlane_copy_pitch;
char *CopyFromUswc_src;
int CopyFromUswc_height;
void CopyPlane(char *dst) {
  __builtin_memcpy(dst, &CopyPlane_src, CopyPlane_copy_pitch);
}
void CopyFromUswc(long src_pitch) {
  char *dst;
  for (; CopyFromUswc_height;) {
    unsigned unaligned = (long)CopyFromUswc_src;
    if (unaligned)
      CopyPlane(&dst[unaligned]);
    CopyFromUswc_src += src_pitch;
  }
}


Crashes as:

$ LANG=C gcc-11.0.0 -O2 -c bug.c -Wall -Wextra

during GIMPLE pass: wrestrict
bug.c: In function 'CopyFromUswc':
bug.c:8:6: internal compiler error: Segmentation fault
    8 | void CopyFromUswc(long src_pitch) {
      |      ^~~~~~~~~~~~
0xb6956a crash_signal
       
/usr/src/debug/sys-devel/gcc-11.0.0_pre9999/gcc-11.0.0_pre9999/gcc/toplev.c:327
0x7fe03834db5f ???
       
/usr/src/debug/sys-libs/glibc-2.32-r5/glibc-2.32/signal/../sysdeps/unix/sysv/linux/x86_64/sigaction.c:0
0x156ef41 operator_cast::op1_range(irange&, tree_node*, irange const&, irange
const&) const
       
/usr/src/debug/sys-devel/gcc-11.0.0_pre9999/gcc-11.0.0_pre9999/gcc/range-op.cc:1881
0x1485a12 gori_compute::compute_name_range_op(irange&, gimple*, irange const&,
tree_node*)
       
/usr/src/debug/sys-devel/gcc-11.0.0_pre9999/gcc-11.0.0_pre9999/gcc/gimple-range-gori.cc:490
0x1488b33 gori_compute_cache::compute_operand_range(irange&, gimple*, irange
const&, tree_node*)
       
/usr/src/debug/sys-devel/gcc-11.0.0_pre9999/gcc-11.0.0_pre9999/gcc/gimple-range-gori.cc:1281
...

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug tree-optimization/97750] ICE in during GIMPLE pass: wrestrict on commit e0af865ab9d9d5b6b3ac7fdde26cf9bbf635b6b4
  2020-11-07 10:42 [Bug tree-optimization/97750] New: ICE in during GIMPLE pass: wrestrict on commit e0af865ab9d9d5b6b3ac7fdde26cf9bbf635b6b4 hedmoo at yahoo dot com
                   ` (3 preceding siblings ...)
  2020-12-16  8:45 ` slyfox at gcc dot gnu.org
@ 2020-12-16  8:58 ` slyfox at gcc dot gnu.org
  2020-12-16  8:59 ` [Bug tree-optimization/97750] [11 Regression] ICE in during GIMPLE pass: wrestrict since r11-4135-ge864d395b4e862ce marxin at gcc dot gnu.org
                   ` (4 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: slyfox at gcc dot gnu.org @ 2020-12-16  8:58 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97750

--- Comment #4 from Sergei Trofimovich <slyfox at gcc dot gnu.org> ---
Created attachment 49774
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=49774&action=edit
bug.c.orig

Attaching bug.c.orig. Unreduced preprocessed file. 'gcc-11.0.0 -O2 -x c -c
bug.c.orig' is enough to crash gcc.

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug tree-optimization/97750] [11 Regression] ICE in during GIMPLE pass: wrestrict since r11-4135-ge864d395b4e862ce
  2020-11-07 10:42 [Bug tree-optimization/97750] New: ICE in during GIMPLE pass: wrestrict on commit e0af865ab9d9d5b6b3ac7fdde26cf9bbf635b6b4 hedmoo at yahoo dot com
                   ` (4 preceding siblings ...)
  2020-12-16  8:58 ` slyfox at gcc dot gnu.org
@ 2020-12-16  8:59 ` marxin at gcc dot gnu.org
  2020-12-16  9:16 ` slyfox at gcc dot gnu.org
                   ` (3 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: marxin at gcc dot gnu.org @ 2020-12-16  8:59 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97750

Martin Liška <marxin at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |ice-on-valid-code
      Known to fail|                            |11.0
             Status|WAITING                     |NEW
           Priority|P3                          |P1
   Target Milestone|---                         |11.0
                 CC|                            |amacleod at redhat dot com
      Known to work|                            |10.2.0
            Summary|ICE in during GIMPLE pass:  |[11 Regression] ICE in
                   |wrestrict on commit         |during GIMPLE pass:
                   |e0af865ab9d9d5b6b3ac7fdde26 |wrestrict since
                   |cf9bbf635b6b4               |r11-4135-ge864d395b4e862ce

--- Comment #5 from Martin Liška <marxin at gcc dot gnu.org> ---
Confirmed, thank you for the test-case.

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug tree-optimization/97750] [11 Regression] ICE in during GIMPLE pass: wrestrict since r11-4135-ge864d395b4e862ce
  2020-11-07 10:42 [Bug tree-optimization/97750] New: ICE in during GIMPLE pass: wrestrict on commit e0af865ab9d9d5b6b3ac7fdde26cf9bbf635b6b4 hedmoo at yahoo dot com
                   ` (5 preceding siblings ...)
  2020-12-16  8:59 ` [Bug tree-optimization/97750] [11 Regression] ICE in during GIMPLE pass: wrestrict since r11-4135-ge864d395b4e862ce marxin at gcc dot gnu.org
@ 2020-12-16  9:16 ` slyfox at gcc dot gnu.org
  2020-12-17  0:05 ` amacleod at redhat dot com
                   ` (2 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: slyfox at gcc dot gnu.org @ 2020-12-16  9:16 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97750

--- Comment #6 from Sergei Trofimovich <slyfox at gcc dot gnu.org> ---
Peeking at the gdb backtrace:

#0  operator_cast::op1_range (this=0x2e23ac0 <op_convert>, r=...,
type=0x7ffff7676c78, lhs=..., op2=...) at ../../gcc/gcc/range-op.cc:1881
#1  0x0000000001f7195e in gimple_range_calc_op1 (r=..., stmt=0x7ffff77c55a0,
lhs_range=..., op2_range=...) at ../../gcc/gcc/gimple-range.cc:337
#2  0x0000000001f817e2 in gori_compute::compute_name_range_op
(this=0x7fffffffd010, r=..., stmt=0x7ffff77c55a0, lhs=..., name=0x7ffff77b37e0)
at ../../gcc/gcc/gimple-range-gori.cc:507
#3  0x0000000001f81c10 in gori_compute::compute_operand_range
(this=0x7fffffffd010, r=..., stmt=0x7ffff77c55a0, lhs=..., name=0x7ffff77b37e0)
at ../../gcc/gcc/gimple-range-gori.cc:607

          range_op_handler (PLUS_EXPR, type)->fold_range (lhs_neg,
                                                          type,
                                                          converted_lhs,
                                                          lim_range);

(gdb) list range_op_handler
3420
3421    // The tables are hidden and accessed via a simple extern function.
3422
3423    range_operator *
3424    range_op_handler (enum tree_code code, tree type)
3425    {
3426      // First check if there is a pointer specialization.
3427      if (POINTER_TYPE_P (type))
3428        return pointer_tree_table[code];
3429      if (INTEGRAL_TYPE_P (type))
3430        return integral_tree_table[code];
3431      return NULL;
3432    }

(gdb) call range_op_handler (PLUS_EXPR, type)
$2 = (range_operator *) 0x0

(gdb) call debug_generic_expr(type)
char *

(gdb) call POINTER_TYPE_P(type)
$7 = true

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug tree-optimization/97750] [11 Regression] ICE in during GIMPLE pass: wrestrict since r11-4135-ge864d395b4e862ce
  2020-11-07 10:42 [Bug tree-optimization/97750] New: ICE in during GIMPLE pass: wrestrict on commit e0af865ab9d9d5b6b3ac7fdde26cf9bbf635b6b4 hedmoo at yahoo dot com
                   ` (6 preceding siblings ...)
  2020-12-16  9:16 ` slyfox at gcc dot gnu.org
@ 2020-12-17  0:05 ` amacleod at redhat dot com
  2020-12-17 14:38 ` cvs-commit at gcc dot gnu.org
  2020-12-17 14:39 ` amacleod at redhat dot com
  9 siblings, 0 replies; 11+ messages in thread
From: amacleod at redhat dot com @ 2020-12-17  0:05 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97750

--- Comment #7 from Andrew Macleod <amacleod at redhat dot com> ---
The op1-range expression solving for the RHS of a cast of the form

low_precision_var = (low_precision) high_precision_var

doesnt support pointers properly.

It fills in possible bit/ranges in high_precision_var when calculating outgoing
edge ranges and
   a) doesnt work for pointers (thus this trap.. there is no PLUS on pointers,
only POINTER_PLUS)
   b) is also overkill for pointers where mostly we care about zero, non-zero
and varying.

SO, fix operator_cast::op1_range()  to handle pointers better...

potential change are in testing now.

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug tree-optimization/97750] [11 Regression] ICE in during GIMPLE pass: wrestrict since r11-4135-ge864d395b4e862ce
  2020-11-07 10:42 [Bug tree-optimization/97750] New: ICE in during GIMPLE pass: wrestrict on commit e0af865ab9d9d5b6b3ac7fdde26cf9bbf635b6b4 hedmoo at yahoo dot com
                   ` (7 preceding siblings ...)
  2020-12-17  0:05 ` amacleod at redhat dot com
@ 2020-12-17 14:38 ` cvs-commit at gcc dot gnu.org
  2020-12-17 14:39 ` amacleod at redhat dot com
  9 siblings, 0 replies; 11+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2020-12-17 14:38 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97750

--- Comment #8 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Andrew Macleod <amacleod@gcc.gnu.org>:

https://gcc.gnu.org/g:c25b504636fec7bf8f181a84af83a52757ba7e89

commit r11-6232-gc25b504636fec7bf8f181a84af83a52757ba7e89
Author: Andrew MacLeod <amacleod@redhat.com>
Date:   Thu Dec 17 09:24:11 2020 -0500

    Fix trap in pointer conversion in op1_range.

    Processing op1_range for conversion between a non-pointer and pointer
    shouldnt do any fancy math.

            gcc/
            PR tree-optimization/97750
            * range-op.cc (operator_cast::op1_range): Handle pointers better.
            gcc/testsuite/
            * gcc.dg/pr97750.c: New.

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug tree-optimization/97750] [11 Regression] ICE in during GIMPLE pass: wrestrict since r11-4135-ge864d395b4e862ce
  2020-11-07 10:42 [Bug tree-optimization/97750] New: ICE in during GIMPLE pass: wrestrict on commit e0af865ab9d9d5b6b3ac7fdde26cf9bbf635b6b4 hedmoo at yahoo dot com
                   ` (8 preceding siblings ...)
  2020-12-17 14:38 ` cvs-commit at gcc dot gnu.org
@ 2020-12-17 14:39 ` amacleod at redhat dot com
  9 siblings, 0 replies; 11+ messages in thread
From: amacleod at redhat dot com @ 2020-12-17 14:39 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97750

Andrew Macleod <amacleod at redhat dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|---                         |FIXED

--- Comment #9 from Andrew Macleod <amacleod at redhat dot com> ---
fixed.

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2020-12-17 14:39 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-11-07 10:42 [Bug tree-optimization/97750] New: ICE in during GIMPLE pass: wrestrict on commit e0af865ab9d9d5b6b3ac7fdde26cf9bbf635b6b4 hedmoo at yahoo dot com
2020-11-07 10:47 ` [Bug tree-optimization/97750] " hedmoo at yahoo dot com
2020-11-07 10:57 ` jakub at gcc dot gnu.org
2020-11-09  8:08 ` marxin at gcc dot gnu.org
2020-12-16  8:45 ` slyfox at gcc dot gnu.org
2020-12-16  8:58 ` slyfox at gcc dot gnu.org
2020-12-16  8:59 ` [Bug tree-optimization/97750] [11 Regression] ICE in during GIMPLE pass: wrestrict since r11-4135-ge864d395b4e862ce marxin at gcc dot gnu.org
2020-12-16  9:16 ` slyfox at gcc dot gnu.org
2020-12-17  0:05 ` amacleod at redhat dot com
2020-12-17 14:38 ` cvs-commit at gcc dot gnu.org
2020-12-17 14:39 ` amacleod at redhat dot com

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).