This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

reload segfault


First off, this is with a heavily modified i860 port of yesterday's CVS
tree, so it's *probably* my fault.  The problem insn is occurring in
__bb_exit_func (ie I can't 1st stage bootstrap).

I'm getting a segmentation fault in reload_cse_noop_set_p with the
following insn:

(insn 1396 1393 455 (set (reg:SI 30 r30)
        (reg:SI 169)) 56 {bleu+1} (nil)
    (nil))

at line 8901 of reload1.c

8897              for (x = reg_values[sreg]; x; x = XEXP (x, 1))
8898                {
8899                  rtx tmp;
8900    
8901                  if (XEXP (x, 0) == 0)
8902                    continue;

To me, the symptom is obvious: sreg is 169, much higher than
FIRST_PSEUDO_REGISTER.  Now, the question is: who is wrong? Is there a
bug in reload_cse_noop_set_p where it should be checking the register
number first, or did I screw up somewhere and cause a pseudo reg to show
up where it shouldn't?

Here's the traceback:

#0  0x1fb018 in reload_cse_noop_set_p (set=0x3a74b0, insn=0x3a7500)
    at ../../egcs/gcc/reload1.c:8901
#1  0x1fa590 in reload_cse_regs_1 (first=0x344758)
    at ../../egcs/gcc/reload1.c:8661
#2  0x1fabf4 in reload_cse_regs (first=0x344758)
    at ../../egcs/gcc/reload1.c:8806
#3  0xa68c in rest_of_compilation (decl=0x343240)
    at ../../egcs/gcc/toplev.c:3979
#4  0x262a7c in finish_function (nested=0) at
../../egcs/gcc/c-decl.c:7272
#5  0x243b24 in yyparse () at ../../egcs/gcc/c-parse.c:313
#6  0x6f84 in compile_file (name=0x7ffffe31 "f.c")
    at ../../egcs/gcc/toplev.c:2899
#7  0xd618 in main (argc=3, argv=0x7ffffd74) at
../../egcs/gcc/toplev.c:5192
#8  0x2474 in _start ()

Bill
-- 
Leave others their otherness.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]