Kenneth Zadeck wrote:

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.
This means duplicating this aspect of the propagate_block functionality.
If we really have to do this in multiple places, we should have a function
to do that.

The code in the new version of if-cvt actually does this where it
replaces the old code that used to call propagate block.
Even propagate_block clouldn't handle stack regs properly.  The problem is
that arithmetic operations of implicit pushses / pops, which effectively renames
your registers
You won't see this problem for passes that run before reg-stack.

Reply via email to