Joern RENNECKE wrote:
> Kenneth Zadeck wrote:
>
>>  
>>
>> You should do this starting from the dataflow branch.  The version of
>> if-cvt there works as I have mentioned in the previous mail and does not
>> use propagate block at all.
>>  
>>
> if-conversion always joins blocks.  But cross-jumping merges blocks or
> partial blocks.
> If the latter, both of the original blocks are split, and the botom
> part of the blocks
> becomes one merge block.  You need to re-compute the live-at-end
> information for
> the upper parts of the original blocks, which become two separate BBs.
>
>>
>>
>>  
>>
>
Are you saying that this is a problem with my code or a problem with
what you have to do?
Updating the LR dataflow when splitting a basic block is generally
pretty easy. 
You start from the end of the block and just interpret the uses and defs
for each insn. 
The code in the new version of if-cvt actually does this where it
replaces the old code that used to call propagate block.

kenny

Reply via email to