This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug rtl-optimization/52983] [4.8 Regression] internal compiler error: in df_uses_record, at df-scan.c:3243
- From: "ubizjak at gmail dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Sun, 01 Jul 2012 09:22:16 +0000
- Subject: [Bug rtl-optimization/52983] [4.8 Regression] internal compiler error: in df_uses_record, at df-scan.c:3243
- Auto-submitted: auto-generated
- References: <bug-52983-4@http.gcc.gnu.org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52983
Uros Bizjak <ubizjak at gmail dot com> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |ubizjak at gmail dot com
--- Comment #6 from Alexandre Oliva <aoliva at gcc dot gnu.org> 2012-06-28 07:39:33 UTC ---
Author: aoliva
Date: Thu Jun 28 07:39:25 2012
New Revision: 189036
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=189036
Log:
PR debug/53740
PR debug/52983
PR debug/48866
* dce.c (word_dce_process_block): Check whether inserting debug
temps are needed even for needed insns.
(dce_process_block): Likewise.
* df-problems.c (dead_debug_add): Add comment about multi-regs.
(dead_debug_insert_temp): Likewise. Don't subreg when we're
setting fewer regs than a multi-reg requires.
Modified:
trunk/gcc/ChangeLog
trunk/gcc/dce.c
trunk/gcc/df-problems.c
--- Comment #7 from Uros Bizjak <ubizjak at gmail dot com> 2012-07-01 09:22:16 UTC ---
I have hit similar ICE on i64-linux-gnu:
(xgcc (GCC) 4.8.0 20120701 (experimental) [trunk revision 189100])
crosscompiler from x86_64-pc-linux-gnu to ia64-linux-gnu:
../../../gcc-svn/trunk/libgfortran/generated/iall_i2.c: In function âiall_i2â:
../../../gcc-svn/trunk/libgfortran/generated/iall_i2.c:187:1: internal compiler
error: in df_uses_record, at df-scan.c:3303
Please submit a full bug report,
with preprocessed source if appropriate.
Breakpoint 1, internal_error (gmsgid=gmsgid@entry=0xd958ea "in %s, at %s:%d")
at ../../gcc-svn/trunk/gcc/diagnostic.c:951
951 {
(gdb) bt
#0 internal_error (gmsgid=gmsgid@entry=0xd958ea "in %s, at %s:%d") at
../../gcc-svn/trunk/gcc/diagnostic.c:951
#1 0x0000000000bd8804 in fancy_abort (file=file@entry=0xc681c8
"../../gcc-svn/trunk/gcc/df-scan.c", line=line@entry=3303,
function=function@entry=0xc68bbe "df_uses_record")
at ../../gcc-svn/trunk/gcc/diagnostic.c:1011
#2 0x00000000005ce81b in df_uses_record
(collection_rec=collection_rec@entry=0x7fffffffd780, loc=<optimized out>,
ref_type=DF_REF_REG_MEM_LOAD, ref_type@entry=DF_REF_REG_USE,
bb=bb@entry=0x7ffff12be380, insn_info=insn_info@entry=0x134d040,
flags=<optimized out>, flags@entry=0) at ../../gcc-svn/trunk/gcc/df-scan.c:3303
#3 0x00000000005ce96f in df_insn_refs_collect
(collection_rec=collection_rec@entry=0x7fffffffd780,
bb=bb@entry=0x7ffff12be380, insn_info=0x134d040)
at ../../gcc-svn/trunk/gcc/df-scan.c:3510
#4 0x00000000005cf4f0 in df_insn_rescan (insn=insn@entry=0x7ffff0f3de58) at
../../gcc-svn/trunk/gcc/df-scan.c:1280
#5 0x000000000061a251 in add_insn_before (insn=0x7ffff0f3de58,
before=before@entry=0x7ffff0f30630, bb=<optimized out>, bb@entry=0x0) at
../../gcc-svn/trunk/gcc/emit-rtl.c:3883
#6 0x000000000061a3b2 in emit_pattern_before_noloc (x=0x7ffff0f3fae0,
before=0x7ffff0f30630, last=<optimized out>, bb=0x0, make_raw=<optimized out>)
at ../../gcc-svn/trunk/gcc/emit-rtl.c:4161
#7 0x000000000061a42c in emit_pattern_before_setloc (pattern=0x7ffff0f3fae0,
before=<optimized out>, loc=112, insnp=<optimized out>, make_raw=<optimized
out>)
at ../../gcc-svn/trunk/gcc/emit-rtl.c:4528
#8 0x00000000005c7367 in dead_debug_insert_temp
(debug=debug@entry=0x7fffffffd920, uregno=<optimized out>,
insn=insn@entry=0x7ffff0f30630,
where=where@entry=DEBUG_TEMP_BEFORE_WITH_VALUE) at
../../gcc-svn/trunk/gcc/df-problems.c:3349
#9 0x0000000000afef4e in dce_process_block (au=0x136a928, redo_out=<optimized
out>, bb=0x7ffff12be380) at ../../gcc-svn/trunk/gcc/dce.c:976
#10 fast_dce (word_level=word_level@entry=0 '\000') at
../../gcc-svn/trunk/gcc/dce.c:1044
(gdb) f 2
#2 0x00000000005ce81b in df_uses_record
(collection_rec=collection_rec@entry=0x7fffffffd780, loc=<optimized out>,
ref_type=DF_REF_REG_MEM_LOAD, ref_type@entry=DF_REF_REG_USE,
bb=bb@entry=0x7ffff12be380, insn_info=insn_info@entry=0x134d040,
flags=<optimized out>, flags@entry=0) at ../../gcc-svn/trunk/gcc/df-scan.c:3303
3303 gcc_assert (!DEBUG_INSN_P (insn_info->insn));
(gdb) p debug_rtx (insn_info->insn)
(debug_insn 685 441 442 36 (var_location:HI D#33 (mem:HI (post_modify:DI
(reg/v/f:DI 450 [ src ])
(plus:DI (reg/v/f:DI 450 [ src ])
(reg:DI 639 [ pretmp.129 ]))) [6 *src_178+0 S2 A16])) -1
(nil))
$1 = void