PATCH: activate thread_jumps for ix86

Greg McGary greg@mcgary.org
Wed Oct 18 16:12:00 GMT 2000


Jeffrey A Law <law@cygnus.com> writes:

> Mostly OK.  But I think we've got at least one potential problem in
> explode_condition:
> 
>   > +      for (prev = prev_nonnote_insn (insn);
>   > +	   prev && GET_CODE (prev) != CODE_LABEL;
>   > +	   prev = prev_nonnote_insn (prev))
>   > +	if ((set = single_set (prev)) != 0
>   > +	    && rtx_equal_p (SET_DEST (set), op0)
>   > +	    && GET_CODE (SET_SRC (set)) == COMPARE)
>   > +	  {
>   > +	    op0 = XEXP (SET_SRC (set), 0);
>   > +	    op1 = XEXP (SET_SRC (set), 1);
>   > +	    insn = prev;
>   > +	    break;
>   > +	  }
>   > +    }
> It seems to me this loop is far too simplistic.

FYI, explode_condition has the same level of (un)sophistication as
existing code in can_reverse_comparison_p, which I used as a model.

> I'd like to see that loop beefed up a little to handle some of the less
> obvious cases.  That probably means that we change the loop to iterate
> if and only if we can fully analyze PREV and determine that it has no
> effect on op0.

OK.  Will do.


More information about the Gcc-patches mailing list