http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60141
--- Comment #1 from Teresa Johnson <tejohnson at google dot com> --- This appears to have been exposed, not caused, by the change to the pass ordering. It is in fact a duplicate of PR middle-end/43631, which was fixed on trunk by r197994 on 4/15/13. I will backport the fix to google-4_8. Teresa On Mon, Feb 10, 2014 at 4:49 PM, shenhan at google dot com <gcc-bugzi...@gcc.gnu.org> wrote: > http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60141 > > Bug ID: 60141 > Summary: ICE in i386.c distance_non_agu_define_in_bb > Product: gcc > Version: 4.8.3 > Status: UNCONFIRMED > Severity: normal > Priority: P3 > Component: rtl-optimization > Assignee: unassigned at gcc dot gnu.org > Reporter: shenhan at google dot com > CC: llozano at google dot com, tejohnson at google dot com > > This only fails for google/gcc-4_8 > > To reproduce - > configure: > ~/gcc.git/configure --disable-bootstrap --enable-languages='c,c++' > --disable-multilib --disable-libatomic --disable-libmudflap > --disable-libssp --enable-libgomp --enable-__cxa_atexit > --enable-checking=release --disable-libquadmath --disable-libitm > --enable-esp --with-arch=atom --with-tune=atom --enable-frame-pointer > Build - > make -j40 > Compile a testcase - > ./gcc/xgcc -B./gcc -g -O2 -fpic -c -m32 ~/SROA.pp.cpp > Output - > SROA.cpp: In member function ‘void > {anonymous}::AllocaPartitioning::UseBuilder::operator()()’: > SROA.cpp:873:3: internal compiler error: Segmentation fault > 0x8d0baf crash_signal > ../../../gcc.git/gcc/toplev.c:346 > 0xa798c8 distance_non_agu_define_in_bb > ../../../gcc.git/gcc/config/i386/i386.c:17506 > 0xa79cad distance_non_agu_define > ../../../gcc.git/gcc/config/i386/i386.c:17564 > 0xa79cad ix86_lea_outperforms > ../../../gcc.git/gcc/config/i386/i386.c:17730 > 0xb8e6ca output_89 > ../../../gcc.git/gcc/config/i386/i386.md:2152 > 0x72a5c3 final_scan_insn(rtx_def*, _IO_FILE*, int, int, int*) > ../../../gcc.git/gcc/final.c:2895 > 0x72ae84 final(rtx_def*, _IO_FILE*, int) > ../../../gcc.git/gcc/final.c:1986 > 0x72b46d rest_of_handle_final > ../../../gcc.git/gcc/final.c:4432 > 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. > > Debugging shows that in distance_non_agu_define_in_bb (i386.c), > BLOCK_FOR_INSN(start) returns zero, which caused this ICE. > > A preliminary bisecting in google/gcc-4_8 shows that the follow CL introduces > this ICE. (So I cc'ed Teresa Johnson) > > > commit 907fca49eae2da51a328eb192c691cc24f69e6af > Author: tejohnson <tejohnson@138bc75d-0d04-0410-961f-82ee72b054a4> > Date: Mon Dec 2 18:28:19 2013 +0000 > > Backport the last few fixes for -freorder-blocks-and-partition from > trunk to google/4_8: r204985, r205057 and r205243 > > ------------------------------------------------------------------------ > r204985 | tejohnson | 2013-11-18 14:38:51 -0800 (Mon, 18 Nov 2013) | > 15 > lines > > This patch fixes an lto profiledbootstrap failure with > -freorder-blocks-and-partition enabled. Currently compgotos > is the only pass that goes into cfglayout mode after bb reordering, > which is undesireable (and in the case of > -freorder-blocks-and-partition > can cause illegal partitioning) because of the optimizations performed > on the cfg when going into cfglayout mode. Moved compgoto before > bb reordering to avoid these problems. > > 2013-11-18 Teresa Johnson <tejohn...@google.com> > > * gcc/cfgrtl.c (cfg_layout_initialize): Assert if we > try to go into cfglayout after bb reordering. > * gcc/passes.def: Move compgotos before bb reordering > since it goes into cfglayout. > > ------------------------------------------------------------------------ > ------------------------------------------------------------------------ > r205057 | tmsriram | 2013-11-19 14:12:21 -0800 (Tue, 19 Nov 2013) | 7 > lines > > Emit a label for the split cold function part. Label name is formed > by > suffixing the original function name with "cold". > > Patch tested for bootstrap on all default languages on x86_64 and > regression testsuite checked for parity with RUNTESTFLAGS -m32 and > m64. > > 2013-11-19 Sriraman Tallam <tmsri...@google.com> > > * final.c (final_scan_insn): Emit a label for the split > cold function part. Label name is formed by suffixing > the original function name with "cold". > > 2013-11-19 Sriraman Tallam <tmsri...@google.com> > > * gcc.dg/tree-prof/cold_partition_label.c: New testcase. > > ------------------------------------------------------------------------ > ------------------------------------------------------------------------ > r205243 | tejohnson | 2013-11-21 20:16:47 -0800 (Thu, 21 Nov 2013) | 6 > lines > > 2013-11-21 Teresa Johnson <tejohn...@google.com> > > * cfgcleanup.c (outgoing_edges_match): Walk up past note instructions > not understood by old_insns_match_p. > > ------------------------------------------------------------------------ > > > git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/google/gcc-4_8@205594 > 138bc75d-0d04-0410-961f-82ee72b054a4 > > -- > You are receiving this mail because: > You are on the CC list for the bug.