This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug tree-optimization/71916] [6/7 Regression] ICE at -O3 on valid code on x86_64-linux-gnu in "maybe_record_trace_start"


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

--- Comment #5 from Qirun Zhang <helloqirun at gmail dot com> ---
(In reply to Qirun Zhang from comment #4)
> (In reply to rguenther@suse.de from comment #3)
> > On Tue, 19 Jul 2016, marxin at gcc dot gnu.org wrote:
> > 
> > > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71916
> > > 
> > > Martin Liška <marxin at gcc dot gnu.org> changed:
> > > 
> > >            What    |Removed                     |Added
> > > ----------------------------------------------------------------------------
> > >                  CC|                            |rguenth at gcc dot gnu.org
> > > 
> > > --- Comment #2 from Martin Liška <marxin at gcc dot gnu.org> ---
> > > Started with r233209:
> > > 
> > >    2016-02-08   Richard Biener  <rguenther@suse.de>
> > > 
> > >         PR rtl-optimization/69274
> > >         * ira.c (ira_setup_alts): Do not change recog_data.operand
> > >         order.
> > > 
> > >         * gcc.target/i386/addr-sel-1.c: XFAIL.
> > 
> > This patch is known to change register allocation thus it very likely
> > just uncovers a latent issue.
> 
> Hi Richard,
> 
> I have another testcase. This time, it crashes only in 32-bit mode while the
> 64-bit mode works just fine.
> 
> The ICE trace is exact the same as the original one. I am not sure if they
> are the same..
> 
> 
> The testcase is:
> 
> int a, b, d, f;
> volatile int c;
> volatile int e;
> long long(fn1)() {}
> char fn2(int *p1) {
>   if (fn1(f))
>     e;
> }
> int *fn3() {}
> short fn4() { b = 0; }
> void fn5() {
>   b = 2;
>   a || fn2(fn3(fn4()));
>   char g[4];
>   int i;
>   for (; c; d++)
>     ;
>   for (e; b < 4; i++)
>     g[i] = 9;
>   for (; b;)
>     ;
> }

$ gcc-trunk -O3 abc.c -c
$ gcc-trunk -O3 abc.c -c -m32
abc.c: In function ‘fn5’:
abc.c:22:1: internal compiler error: in maybe_record_trace_start, at
dwarf2cfi.c:2284
 }
 ^
0x7e0d80 maybe_record_trace_start
        ../../gcc/gcc/dwarf2cfi.c:2284
0x7e1085 create_trace_edges
        ../../gcc/gcc/dwarf2cfi.c:2376
0x7e31d1 scan_trace
        ../../gcc/gcc/dwarf2cfi.c:2590
0x7e3cca create_cfi_notes
        ../../gcc/gcc/dwarf2cfi.c:2616
0x7e3cca execute_dwarf2_frame
        ../../gcc/gcc/dwarf2cfi.c:2974
0x7e3cca execute
        ../../gcc/gcc/dwarf2cfi.c:3454
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <http://gcc.gnu.org/bugs.html> for instructions.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]