> * basic-block.h (force_nonfallthru): Move to...
> * cfghooks.h (struct cfg_hooks): Add force_nonfallthru hook.
> (force_nonfallthru): ...here.
> * cfghooks.c (force_nonfallthru): New function.
> * cfgrtl.c (force_nonfallthru): Rename into...
> (rtl_force_nonfal
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1
On 04/06/11 12:39, Steven Bosscher wrote:
> On Wed, Apr 6, 2011 at 8:37 PM, Steven Bosscher wrote:
>> On Wed, Apr 6, 2011 at 8:15 PM, Jeff Law wrote:
>>
AFAIU the patch doesn't change behavior for the GIMPLE CFG. It only
affects RTL.
>>> B
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1
On 04/06/11 12:37, Steven Bosscher wrote:
> On Wed, Apr 6, 2011 at 8:15 PM, Jeff Law wrote:
>
>>> AFAIU the patch doesn't change behavior for the GIMPLE CFG. It only affects
>>> RTL.
>> But the elimination of the PHI results in creating RTL that is
> What about when we have a PHI, which we eliminate by inserting insns on
> edges and those insns actually form a loop? You can see an example of
> this in PR48389.
Interesting case, thanks. I think it's simply a matter of defining the API:
does commit_edge_insertions need to fix up the CFG or
On Wed, Apr 6, 2011 at 8:37 PM, Steven Bosscher wrote:
> On Wed, Apr 6, 2011 at 8:15 PM, Jeff Law wrote:
>
>>> AFAIU the patch doesn't change behavior for the GIMPLE CFG. It only affects
>>> RTL.
>> But the elimination of the PHI results in creating RTL that is inserted
>> on a CFG edge.
>
> Yes
On Wed, Apr 6, 2011 at 8:15 PM, Jeff Law wrote:
>> AFAIU the patch doesn't change behavior for the GIMPLE CFG. It only affects
>> RTL.
> But the elimination of the PHI results in creating RTL that is inserted
> on a CFG edge.
Yes, but gimple_expand_cfg() calls find_many_sub_basic_blocks(), and
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1
On 04/06/11 12:01, Steven Bosscher wrote:
> On Wed, Apr 6, 2011 at 6:52 PM, Jeff Law wrote:
>> What about when we have a PHI, which we eliminate by inserting insns on
>> edges and those insns actually form a loop? You can see an example of
>> this in
On Wed, Apr 6, 2011 at 6:52 PM, Jeff Law wrote:
> What about when we have a PHI, which we eliminate by inserting insns on
> edges and those insns actually form a loop? You can see an example of
> this in PR48389.
AFAIU the patch doesn't change behavior for the GIMPLE CFG. It only affects RTL.
C
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1
On 04/04/11 15:07, Eric Botcazou wrote:
> commit_edge_insertions contains this kludge:
>
> /* In the old rtl CFG API, it was OK to insert control flow on an
> edge, apparently? In cfglayout mode, this will *not* work, and
> the caller is