[PATCH] shrink-wrap: Handle multiple predecessors of prologue
Bernd Schmidt
bschmidt@redhat.com
Tue Sep 22 15:49:00 GMT 2015
On 09/21/2015 04:01 PM, Segher Boessenkool wrote:
> On Mon, Sep 21, 2015 at 01:56:28PM +0200, Bernd Schmidt wrote:
>>> + basic_block new_bb = create_empty_bb (EXIT_BLOCK_PTR_FOR_FN
>>> (cfun)->prev_bb);
>>> + BB_COPY_PARTITION (new_bb, pro);
>> [...]
>>> + *entry_edge = make_single_succ_edge (new_bb, pro, EDGE_FALLTHRU);
>>> + force_nonfallthru (*entry_edge);
>>> +
>>> free_dominance_info (CDI_DOMINATORS);
>>> }
>>
>> Not sure I like creating a fallthru edge and then calling
>> force_nonfallthru on it.
>
> It's just to create the edge and a branch, and to set all flags and the
> edge probability etc. correctly for it. (You have to first make it
> EDGE_FALLTHRU or force_nonfallthru will complain). Is there a nicer
> idiom, or a helper function? Should there be?
I tried to come up with something better and failed. So, given that your
solution seems to work, the patch is ok.
Bernd
More information about the Gcc-patches
mailing list