This is the mail archive of the gcc-patches@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: [PATCH] more PR33928: DIY dataflow in fwprop, to enable it at -O1 and speed it up at -O2


Kenneth Zadeck wrote:
> Paolo Bonzini wrote:
>>> 1) I think that this should have been packaged as a new dataflow problem
>>> so that it could have been used by others.
>>>     
>> For the record, the way to go is to not use rd at all, after which I'd
>> say it's correct to make a new dataflow problem.
>>
>> Paolo
>>
>>   
> So how would you do it, I assume that you are not planning to do the
> trick of only looking at regs that have a single def.

Seed SINGLE_DEF_in with nothing and SINGLE_DEF_out with the last def in
a basic block.

Define MANY_DEFS_kill as the defs in the basic block.

The transfer function is just MANY_DEFS_out = MANY_DEFS_in \ MANY_DEFS_kill.

The confluence function ORs all the incoming MANY_DEFS_in, plus it sets
MANY_DEFS_in whenever two SINGLE_DEF_outs conflict, else it sets
SINGLE_DEF_in to the common SINGLE_DEF_out.  All I have to figure out is
a good representation for SINGLE_DEF.

Paolo


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