This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [tree-ssa] New tests
- From: law at redhat dot com
- To: Diego Novillo <dnovillo at redhat dot com>
- Cc: "gcc-patches at gcc dot gnu dot org" <gcc-patches at gcc dot gnu dot org>
- Date: Sat, 31 May 2003 20:04:46 -0600
- Subject: Re: [tree-ssa] New tests
- Reply-to: law at redhat dot com
In message <1054356456.21692.408.camel@frodo.toronto.redhat.com>, Diego Novillo
writes:
>On Fri, 2003-05-30 at 19:18, law@redhat.com wrote:
>> In message <1054335774.21692.385.camel@frodo.toronto.redhat.com>, Diego Nov
>illo
>> writes:
>> >On Fri, 2003-05-30 at 18:09, law@redhat.com wrote:
>> >
>> >> The first shows a case where Diego's hack to avoid overlapping
>> >> lifetimes fails, thus leading to an abort during the out of SSA
>> >> translation.
>> >>
>> >Really? How come var_is_live is never called on this test case? The
>> >var_is_live kludge is only called when we're doing redundant assignments
>> >and copy-prop while renaming. In fact, the bug was that we are *not*
>> >calling the hack.
>> No, we're calling it just fine.
>>
>You must have something different in your tree. I'm working with a
>pristine copy and we are NOT calling var_is_live for this testcase!
We're looking at different testcases -- I was referring back to the
java one, which I consider more important.
There's a variety of ways to fix the one derived from rs6000.c, the
right one is to fix the hashing routines, but after a day poking at
them, I've come to the conclusion that's more difficult than it may
at first appear.
Just for fun, insert this code into avail_expr_eq just before it's
about to return true (both cases). Then do some builds and watch
things die...
#ifdef ENABLE_CHECKING
if (avail_expr_hash (s1) != avail_expr_hash (s2))
abort ();
#endif
jeff