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]
Other format: [Raw text]

Re: [PATCH] Segfault in rtx_varies_p


On Tuesday 17 February 2004 6:11 pm, Mark Mitchell wrote:
> Paul Brook wrote:
> You should check that rtx_varies_p still returns true for the larger
> expression containing the NULL rtx; the (use mem:blk scratch) should
> cause us to believe that the entire expression is variable.

It does.

> In that case, I think your patch is fine for mainline and csl-arm-branch.

Applied.

>>>>(insn (set (reg 103) (mem (plus (reg 101) (reg 102))))
>>>>	(expr_list:REG_EQUAL (plus (reg 101) (symbol_ref "digs")))
>>>>	(nil))

> For 3.4, we should show that it really is a regression.  We're taking a
> risk that we're somehow changing an ICE into wrong-code, and that would
> be worse.

It is a regression from 3.3.  On 3.3 we don't recognize (symbol_ref "digs") as 
a constant so CSE decides it isn't worth trying to substitute the problematic 
equality for (reg 101). It may be possible to construct testcases which 
trigger similar failures on 3.3, but I can't find any.

Ok for 3.4 given this?

Paul


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