------- Comment #13 from danglin at gcc dot gnu dot org 2010-06-16 01:27
-------
The flag for reg:DI 2349 is copied from:
Breakpoint 7, set_reg_attrs_from_value (reg=0x800003fffd4c0420,
x=0x800003fffd976c40) at ../../gcc/gcc/emit-rtl.c:975
975 if (HARD_REGISTER_P (reg))
(gdb) p debug_rtx (reg)
(reg:DI 2349)
$69 = void
(gdb) p debug_rtx (x)
(reg/f:DI 356 [ D.35290 ])
The flag in reg/f:DI 356 is set here:
Breakpoint 6, mark_reg_pointer (reg=0x800003fffd976c40, align=64)
at ../../gcc/gcc/emit-rtl.c:1118
1118 if (! REG_POINTER (reg))
(gdb) p debug_rtx (reg)
(reg:DI 356 [ D.35290 ])
$71 = void
(gdb) bt
#0 mark_reg_pointer (reg=0x800003fffd976c40, align=64)
at ../../gcc/gcc/emit-rtl.c:1118
#1 0x4000000000dd6c54 in expand_one_register_var (var=0x800003fffdff1790)
at ../../gcc/gcc/cfgexpand.c:847
#2 0x4000000000dd7574 in expand_one_var (var=0x800003fffd976c40,
toplevel=0 '\0', really_expand=128 '\200')
at ../../gcc/gcc/cfgexpand.c:978
#3 0x4000000000dd8ecc in expand_used_vars ()
at ../../gcc/gcc/cfgexpand.c:1310
#4 0x4000000000de6118 in gimple_expand_cfg ()
at ../../gcc/gcc/cfgexpand.c:3779
#5 0x4000000001b86534 in execute_one_pass (pass=0x800003fffdff1790)
at ../../gcc/gcc/passes.c:1568
(gdb) p debug_tree (var)
<VEC(rtx,gc) 800003fffdff1790
type <var_decl 800003fffcf8ce60 D.35290
type <pointer_type 800003fffdd8ad20 tree type <union_type
800003fffdd8abd0 tree_node>
sizes-gimplified asm_written public unsigned DI
size <integer_cst 800003fffdec7758 constant 64>
unit size <integer_cst 800003fffdec7780 constant 8>
align 64 symtab -2147482625 alias set -1 canonical type
800003fffdd8ac78
pointer_to_this <pointer_type 800003fffde01888>>
used unsigned ignored DI file ../../gcc/gcc/gimple-pretty-print.c line
1498 col 1 size <integer_cst 800003fffdec7758 64> unit size <integer_cst
800003fffdec7780 8>
align 64 context <function_decl 800003fffd691600 dump_gimple_stmt>
abstract_origin <result_decl 800003fffd1b8a00 D.21084>
(reg:DI 356 [ D.35290 ])>
asm_written used nothrow public private protected static deprecated visited
tree_0 tree_1 tree_2 tree_3 tree_4 tree_6>
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43740