This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: local data flow


Joern RENNECKE wrote:
> 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.
>
I have functions for it, look at the code.
>> 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.
is it really necessary to do your pass after reg stack.  Given that
there is no if conversion that runs after regstack what is your point?

I should point out that there are no passes that currently use any
dataflow after regstack.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]