This is the mail archive of the gcc-patches@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]

Re: Reload bug


"David S. Miller" <davem@dm.cobaltmicro.com> writes:

|>    From: Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
|>    Date: 15 Jul 1998 11:20:27 +0200
|> 
|>    The function reg_overlap_mentioned_for_reload_p can only be called
|>    for certain rtx.  A zero_extract is not one of them.
|> 
|> Do you have a small testcase which can trigger this bug?

I have a test case, but it is rather big.  I'll try to construct a small
one, now that i've understood the problem.

|> It's not that I think your fix is incorrect, however I'd like to have
|> a test case to get a better idea of what is going wrong.

The problem was that there was an insn of the form

(set (zero_extract ...) (const_int 0))

and find_reg_equiv was called with goal == (const_int 0).  true_regnum
returns -1 for zero_extract, thus the value of
reg_overlap_mentioned_for_reload_p doesn't matter anyway.

Andreas.

-- 
Andreas Schwab                                      "And now for something
schwab@issan.informatik.uni-dortmund.de              completely different"
schwab@gnu.org


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