This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
Re: BCT loop fix
- To: David Edelsohn <dje at watson dot ibm dot com>
- Subject: Re: BCT loop fix
- From: Jeffrey A Law <law at cygnus dot com>
- Date: Wed, 16 Sep 1998 00:16:34 -0600
- cc: egcs-bugs at cygnus dot com
- Reply-To: law at cygnus dot com
In message <9809151802.AA43894@marc.watson.ibm.com>you write:
> I have not heard anything back about the patch that I sent to
> egcs-patches which I want to install in loop.c to fix the worst Haifa
> count register bug.
Can you tell we're nearing Cygnus EOQ :-) Pile prep work for a trip
to Japan on top and I'm totally buried.
It would be appreciated if other maintainers could fill in wherever
possible.
> There still is another bug which I am having more trouble tracking
> down -- partially because I do not have a lot of time to explore the
> problem. When the decrement_and_branch_on_count pattern is substituted,
> some information about the lifetime of certain condition registers seems
> to be lost or merged.
>
> recog.c:reg_fits_class_p(), when compiled with the BCT
> optimization, returns a truthvalue obtained from a condition register that
> has not been set on the particular flow of control. The truthvalue seems
> to be calculated; but, in the original code without the BCT instruction,
> the value was copied to another condition register and the return value
> obtained from there. With the BCT instruction, the copy does not occur,
> but the value still is expected in an alternate condition register.
I haven't looked at the backend stuff related to BCT. Presumably the
BCT insn shows uses/sets of the CC registers like the other conditional
branches? That's the only thing I can think of immediately.
jeff