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:
>
>>  
>>
>> 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 am talking about cross-jumping after regstack.
>
>> I should point out that there are no passes that currently use any
>> dataflow after regstack.
>>  
>>
> That's because the current cross-jumping is so stupid.
I would be very careful to tread here.  regstack is a can of worms and
not very good worms.  We have had a lot of trouble retrofitting better
dataflow into regstack because of the fragile nature of it's
implementation. 

If you think that your cross jumping would be good to do as an
interleaved pass to if conversion, it is possible to see the benefit
there. However, I think that the code gets hardened a lot by register
allocation in it is difficult for me to see how heroic transformations
are going to be really useful after that pass. 

Anyway, many compilers do label the stack and do dataflow on the
individual stack elements.  GCC is problematic because most of the stack
off are set in register allocation, and in truth it really is too late
to get much benefit after that pass.  But it is not hard to define a
problem that did label the stack elements.

Kenny


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