This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: if-conversion/HOT-COLD partitioning
- From: Christophe Lyon <christophe dot lyon at linaro dot org>
- To: Steven Bosscher <stevenb dot gcc at gmail dot com>, gcc at gcc dot gnu dot org
- Date: Tue, 23 Oct 2012 22:29:10 +0200
- Subject: Re: if-conversion/HOT-COLD partitioning
- References: <CABu31nMaJKFNbH8DipASfTRQ1ANr8M40Ve3hdghmrZr40Q3xow@mail.gmail.com>
On 23 October 2012 19:45, Steven Bosscher <stevenb.gcc@gmail.com> wrote:
> Christophe wrote:
>> I think merge_blocks() should be modified to handle such cases;
>
> I think can_merge_blocks should be fixed. Blocks from different
> partitions should not be merged. See cfgrtl.c:rtl_can_merge_blocks and
> cfgrtl.c:cfg_layout_can_merge_blocks_p. Why are they not blocking
> these blocks from getting merged?
>
Well, both of these functions appear to check that the 2 blocks to
merge belong to the same partition, so it should be OK.
But not all calls to merge_blocks are guarded by if
(can_merge_block_p()), this is probably where the problem is?
Christophe.