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: Recent changes to cse.c


Andreas Jaeger <aj@suse.de> writes:

> Daniel Berlin <dan@cgsoftware.com> writes:
> 
>> Andreas Jaeger <aj@suse.de> writes:
>> 
>>> David Edelsohn <dje@watson.ibm.com> writes:
>>> 
>>>>>>>>> "Mike Lerwill" writes:
>>>> 
>>>>Mike> Following the recent changes there is a problem with compiling cse.c for
>>>>Mike> targets that define HAVE_cc0.
>>>> 
>>>>Mike> Specifically in the function set_live_p which uses insn which is not
>>>>Mike> declared anywhere.
>>>> 
>>>> 	Okay, the clock has started.  If this is not fixed within 48
>>>> hours, the patch which caused the problem is an automatic candidate to be
>>>> reverted. 
>>> 
>>> Nope, the clock has not started yet - at least not in my
>>> understanding.  Mark's note read:
>>> 
>>>     If a patch is committed which introduces a regression [1], on any
>>>     target which the Steering Committee considers to be important [2],
>>>     and the problem is reported to the original poster, and 48 hours
>>>     pass without either the original poster or any other party
>>> 
>>> And where is this problem reported to the original poster?  It's not
>>> even located yet.  IMO somebody first have to look into this and nail
>>> down exactly which patch broke this - and then we have to see if it
>>> breaks on an important target.
>>> 
>>> IMO the clock hasn't started *yet* but it might start after some people
>>> have done a bit more analysis,
>> 
>> 
>> This is caused by Richard Henderson's change.  However, since i
>> noticed the failure in df.c, and came up with an incorrect patch
>> (never applied), that eventually led to him making this change instead, I take
>> all the blame. 
>> There are about 8 small variations on how to fix this simply (depending on
>> whether you want to just pass the insn in all the time, pass the insn
>> and the set, etc), i just chose one of them. Some might feel a "better" fix would be
>> to make insn_live_p do the check for CC0 machines instead, rather than
>> pass the insn to set_live_p.
>> 
>> That said, the fix follows, non-bootstrapped and non-checked. My machine is
>> having a bit of instability with a new kernel right now (It's also
>> preventing a last make check so i can submit the store motion stuff), and i'm in
>> the middle of some work i wanted to finish tonight, so someone
>> else will have to perform a bootstrap and regression test on this
>> patch before it can be checked in, if they want it done
>> tonight. Sorry.
> 
> On what platform should the patch get tested?  The only target that
> defines HAVE_cc0 seems to be 1750a.c

Ahh, and that define is bogus, I think.
HAVE_cc0 is really determined by genconfig.  It walks the insns in the
md file, and if it sees cc0 in the right context, says you have cc0.

Let's see.
Convex, AVR, m68k, vax, i370, m68hc11, mn10200, mn10300, um....
Damnit, genconfig is platform specific, too.
Or at least, running it on i386.md and sparc.md using just a random
powerpc build i have around from this morning gives me errors.

But I think most of the cc0 ports are going to have to be tested by
simulator anyway.
Sigh.
I'll take care of it in the morning, unless you know how to do make
check against a simulator offhand, and feel the urge to do it.

We should have a lint configuration for gcc (much like the *BSD's have
a LINT configuration for the kernel to test compile breakages), that
will help tell you,  fer instance, if *compiles* break on a cc0
(execution would still have  to be done by simulator) machine, without
having to figure out which machines are cc0/not cc0, which machines
have this or that, etc. 

Just --target gcc-compiler-lint, and away you go.

Just a probably silly idea,
Dan

> 
> I offer to test it on either of i686-linux-gnu, ppc-linux-gnu or
> alpha-linux-gnu and can start this in an hour if needed.
> 
> Andreas
> -- 
>  Andreas Jaeger
>   SuSE Labs aj@suse.de
>    private aj@arthur.inka.de
>     http://www.suse.de/~aj

-- 
"One night I walked home very late and fell asleep in somebody's
satellite dish.  My dreams showed up on TVs all over the world.
"-Steven Wright


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