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

Reply via email to