------- 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