On 23 October 2012 19:45, Steven Bosscher <stevenb....@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.