public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
From: Alan Lawrence <alan.lawrence@arm.com>
To: Richard Biener <rguenther@suse.de>, gcc-patches@gcc.gnu.org
Subject: Re: [PATCH] Fix PR68067
Date: Fri, 06 Nov 2015 10:31:00 -0000	[thread overview]
Message-ID: <563C817D.1060107@arm.com> (raw)
In-Reply-To: <alpine.LSU.2.11.1510281437450.28064@zhemvz.fhfr.qr>

On 28/10/15 13:38, Richard Biener wrote:
>
> Applied as follows.
>
> Bootstrapped / tested on x86_64-unknown-linux-gnu.
>
> Richard.
>
> 2015-10-28  Richard Biener  <rguenther@suse.de>
>
> 	* fold-const.c (negate_expr_p): Adjust the division case to
> 	properly avoid introducing undefined overflow.
> 	(fold_negate_expr): Likewise.

Since this we've been seeing an ICE compiling polynom.c from 254.gap in SPEC2000 
on aarch64-linux-gnu with -O3 -ffast-math -mcpu=cortex-a53 (or -Ofast 
-mcpu=cortex-a53), on both native (bootstrapped and --disable-bootstrap) and 
cross-linux builds.

A number of options prevent the ICE, e.g. any of -fno-thread-jumps, 
-fno-strict-overflow, -fdump-tree-alias or -fdump-tree-ealias (!). Similarly, 
dropping the -mcpu=cortex-a53, or changing to -mcpu=cortex-a57.

(I have a recent build in a chroot for which -fno-strict-overflow does *not* fix 
the ICE but haven't yet figured out exactly what the difference in the chroot 
environment is.)

Moreover, preprocessing in a separate step (i.e. piping preprocessed output via 
a file with -E), also avoids the ICE. (This is hindering my efforts to reduce 
the testcase!).  So my hypothesis is that this is a front-end/preprocessor bug, 
rather than anything directly due to this commit.

The error message in full (line refs from that commit, r229479) is:
=====
../spec2000/benchspec/CINT2000/254.gap/src/polynom.c: In function 
‘NormalizeCoeffsListx’:
../spec2000/benchspec/CINT2000/254.gap/src/polynom.c:358:11: error: incompatible 
types in PHI argument 0
  TypHandle NormalizeCoeffsListx ( hdC )
            ^
long int

int

../spec2000/benchspec/CINT2000/254.gap/src/polynom.c:358:11: error: location 
references block not in block tree
l1_279 = PHI <1(28), l1_299(33)>
../spec2000/benchspec/CINT2000/254.gap/src/polynom.c:358:11: error: invalid PHI 
argument

../spec2000/benchspec/CINT2000/254.gap/src/polynom.c:358:11: internal compiler 
error: tree check: expected class ‘type’, have ‘declaration’ (namespace_decl) in 
useless_type_conversion_p, at gimple-expr.c:84
0xd110ef tree_class_check_failed(tree_node const*, tree_code_class, char const*, 
int, char const*)
         ../../gcc-fsf/gcc/tree.c:9643
0x82561b tree_class_check
         ../../gcc-fsf/gcc/tree.h:3042
0x82561b useless_type_conversion_p(tree_node*, tree_node*)
         ../../gcc-fsf/gcc/gimple-expr.c:84
0xaca043 verify_gimple_phi
         ../../gcc-fsf/gcc/tree-cfg.c:4673
0xaca043 verify_gimple_in_cfg(function*, bool)
         ../../gcc-fsf/gcc/tree-cfg.c:4967
0x9c2e0b execute_function_todo
         ../../gcc-fsf/gcc/passes.c:1967
0x9c360b do_per_function
         ../../gcc-fsf/gcc/passes.c:1659
0x9c3807 execute_todo
         ../../gcc-fsf/gcc/passes.c:2022
Please submit a full bug report,
with preprocessed source if appropriate.
=====
which looks like an "incompatible types from PHI argument" from a first call to 
verify_gimple_phi, then a second call to verify_gimple_phi prints "invalid phi 
argument" and ICEs in the test just before possibly printing a second 
incompatible_types message.


--Alan

  reply	other threads:[~2015-11-06 10:31 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-10-27 12:50 Richard Biener
2015-10-27 14:31 ` Richard Biener
2015-10-28 13:43   ` Richard Biener
2015-11-06 10:31     ` Alan Lawrence [this message]
2015-11-06 10:39       ` Richard Biener
2015-11-06 12:24         ` Alan Lawrence
2015-11-06 12:26           ` Richard Biener
2015-11-06 16:11             ` Jeff Law
2015-11-20 17:28         ` Alan Lawrence
2015-11-23  9:44           ` Richard Biener
2015-11-27 16:24             ` Alan Lawrence
2015-11-27 18:26               ` Alan Lawrence
2015-11-30  8:52                 ` Richard Biener
2015-11-30 17:01                   ` Jeff Law

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=563C817D.1060107@arm.com \
    --to=alan.lawrence@arm.com \
    --cc=gcc-patches@gcc.gnu.org \
    --cc=rguenther@suse.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).