This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug tree-optimization/77677] [7 Regression] ICE at -O1 and above in both 32-bit and 64-bit modes on x86_64-linux-gnu (internal compiler error: in set_value_range, at tree-vrp.c:361)
- From: "pthaugen at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Fri, 23 Sep 2016 15:56:06 +0000
- Subject: [Bug tree-optimization/77677] [7 Regression] ICE at -O1 and above in both 32-bit and 64-bit modes on x86_64-linux-gnu (internal compiler error: in set_value_range, at tree-vrp.c:361)
- Auto-submitted: auto-generated
- References: <bug-77677-4@http.gcc.gnu.org/bugzilla/>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77677
--- Comment #9 from Pat Haugen <pthaugen at gcc dot gnu.org> ---
(In reply to kugan from comment #8)
> Author: kugan
> Date: Fri Sep 23 10:25:09 2016
> New Revision: 240420
>
> URL: https://gcc.gnu.org/viewcvs?rev=240420&root=gcc&view=rev
> Log:
> Drop TREE_OVERFLOW
>
> gcc/ChangeLog:
>
> 2016-09-23 Kugan Vivekanandarajah <kuganv@linaro.org>
>
> PR ipa/77677
> * ipa-cp.c (propagate_vr_accross_jump_function): Drop TREE_OVERFLOW
> from constant while creating value range.
Unfortunately this does not fix the problem building 176.gcc on powerpc.
Following is reduced testcase. Failure occurs with 'gcc -O2'.
enum machine_mode { MAX_MACHINE_MODE };
struct {
int mode : 8
} a;
b;
static fn1();
fn2() { fn1(a, a.mode); }
fn1(x, mode) enum machine_mode mode;
{ int c = b = c; }