This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] speedup reg_overlap_mentioned_p
Paolo Bonzini <paolo.bonzini@polimi.it> writes:
> Andreas Jaeger wrote:
>
>>bonzini <paolo.bonzini@polimi.it> writes:
>>
>>
>>>+ for (;;)
>>>+ {
>>> switch (GET_CODE (x))
>>> {
>>>+ case STRICT_LOW_PART:
>>>+ case ZERO_EXTRACT:
>>>+ case SIGN_EXTRACT:
>>>+ /* Overly conservative. */
>>>+ x = XEXP (x, 0);
>>>+ continue;
>>>+
>>>
>>>[...]
>>>
>>This looks strange. Why do you add the for (;;) ? I don't see a
>>reason for this...
>>
> It is needed for STRICT_LOWPART, ZERO_EXTRACT and SIGN_EXTRACT. There
> is a continue statement.
For a construct like this, I would use a 'retry:' label and a goto,
instead of a fake loop.
zw