[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)
kugan at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Sat Sep 24 03:38:00 GMT 2016
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77677
--- Comment #10 from kugan at gcc dot gnu.org ---
(In reply to Pat Haugen from comment #9)
> (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; }
Sorry for the breakage. Posted a patch at
https://gcc.gnu.org/ml/gcc-patches/2016-09/msg01746.html for this.
More information about the Gcc-bugs
mailing list