public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
* problems when move one pseudo reg to another (need help)
@ 2007-12-04  1:56 r z
  0 siblings, 0 replies; only message in thread
From: r z @ 2007-12-04  1:56 UTC (permalink / raw)
  To: gcc

Hello!
      Execuse me but I have something bothering me.
      I inserted a method into rest_of_compilation() (before calling
rest_of_handle_life()) to insert some new insn before insn were
translated to asm. But after my modification, when processing some
insn moving one pseudo reg to another pseudo reg(created by me), the
reg_overlap_mentioned_for_reload_p() method executed abort() at line
6341:
            if (regno >= FIRST_PSEUDO_REGISTER)
            {
            if (reg_equiv_memory_loc[regno])
            return refers_to_mem_for_reload_p (in);
            else if (reg_equiv_constant[regno])
            return 0;
            abort ();
            }

      By the way, I am using source code of gcc3.4.4.
      Could anyone give some help? I am new here. Thanks.
      (I will back again one day later after school)

appendix:
1. the insn with problem:
   (insn 59 24 60 0 (set (reg:SI 74)
        (reg:SI 71)) -1 (nil)
    (nil))
2. gdb backtrace after calling abort()
(gdb) backtrace
#0  fancy_abort (file=0x839ae65 "reload.c", line=6334,
    function=0x8383600 "reg_overlap_mentioned_for_reload_p") at diagnostic.c:584
#1  0x0823d648 in reg_overlap_mentioned_for_reload_p (x=
0xb7cd15d0, in=0xb7cd15c0) at reload.c:6334
#2  0x0824917f in find_reloads (insn=0xb7ed6730, replace=0,
ind_levels=0, live_known=0,
    reload_reg_p=0x84081c0) at reload.c:1721
#3  0x08254514 in reload (first=0xb7ed3240, global=0) at reload1.c:1459
#4  0x08274f58 in rest_of_handle_old_regalloc (decl=0xb7cabf30,
insns=0xb7ed3240)
    at ./toplev.c:2295
#5  0x082765df in rest_of_compilation (decl=0xb7cabf30) at ./toplev.c:3457
#6  0x082b50e5 in tree_rest_of_compilation (fndecl=0xb7cabf30, nested_p=false)
    at tree-optimize.c:168
#7  0x08059230 in c_expand_body_1 (fndecl=0xb7cabf30, nested_p=74) at
c-decl.c:6189
#8  0x082b6ad9 in cgraph_expand_function (node=0xb7c8d438) at cgraphunit.c:538
#9  0x082b7aac in cgraph_assemble_pending_functions () at cgraphunit.c:144
#10 0x082b8380 in cgraph_finalize_function (decl=0xb7cabf30,
nested=false) at cgraphunit.c:225
#11 0x0805f345 in finish_function () at c-decl.c:6146
#12 0x0804c76b in yyparse () at c-parse.y:385
#13 0x0804f57b in c_parse_file () at c-parse.y:3029
#14 0x0807e297 in c_common_parse_file (set_yydebug=0) at c-opts.c:1249
#15 0x08273b0e in toplev_main (argc=3, argv=0xbfc0b9f4) at ./toplev.c:1833
#16 0x0809e75e in main (argc=Cannot access memory at address 0x4a
) at main.c:35
(gdb)

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2007-12-04  1:56 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-12-04  1:56 problems when move one pseudo reg to another (need help) r z

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).