condjump_branch_edge

Jan Hubicka jh@suse.cz
Sun May 14 13:40:00 GMT 2000


> On Sun, May 14, 2000 at 10:31:45PM +0200, Jan Hubicka wrote:
> > And whats about the two way branches? Do we allow them?
> 
> The only machine I know that uses them is ARM, and that
> only as part of the tablejump sequence.  Anyway, this case
> should be noticed by the non-existance of a FALLTHRU edge.
Ok, but since it is not hard to support them
(except for complexity in this function)
I think we should do that.
> 
> > Will JUMP_LABEL give mi the label in THEN part consistently?
> 
> It will give you the label consistently.  Note that the
> label can be in the ELSE part.
Hmm, I think this will make my life quite hard. Work I need to get
the label is:
  set = pc_set (bb->end);
  if (!set)
    return NULL;
  if (GET_CODE (SET_SRC (set)) != IF_THEN_ELSE)
    return NULL;
in the normal case I will need to look for the label, for fallthrou
edge and if it don't exit use method I am doing now.
This don't seems to be much win to me. Or I am missing something?

Basically I want to make our handling of jumps somewhat more robust
in presence of i386 branches. We are missing way too much optimizations
(so your change actually did brought notable slowdowns, but it is
of course not problem on i386.md part)

Honza
> 
> 
> r~


More information about the Gcc-patches mailing list