[PATCH] config/bfin/bfin.c (hwloop_optimize): Use return false instead of gcc_assert for checking jump_insn.

Bernd Schmidt bernds@codesourcery.com
Mon Jul 6 12:51:00 GMT 2015


On 07/03/2015 04:13 AM, Chen Gang wrote:
> On 07/01/2015 11:27 PM, Chen Gang wrote:
>> On 7/1/15 21:52, Bernd Schmidt wrote:
>>> Below is a patch. Can you test this with anything you have beyond the testsuite?
>>>
>>
>> It can fix this issue (Bug66620), let the insns standard, and can build
>> the bfin kernel with allmodconfig successfully (although for bfin kernel
>> members, they stick to allmodconfig is not a good idea for bfin kernel).
>>
>> It finished lsetup optimization for one loop, but still left the other (
>> get the same .s as my original fix). for 2nd times in hwloop_optimize, it
>> return false. And welcome any additional ideas for it.
>>
>
> I shall continue to analyse why 2nd lsetup optimiation has not happened.
> Hope I can finish within next week (2015-07-12).

I've committed my patch after testing bfin-elf. There's no great mystery 
why the second optimization doesn't happen: the point where it thinks it 
has to insert the LSETUP is after the loop, and the instruction doesn't 
allow that. Possibly we could change that - when the loop is entered at 
the top but not through a fallthrough edge, we could make a new block 
ahead of it and put the LSETUP in there.


Bernd




More information about the Gcc-patches mailing list