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: [tree-ssa] DCE and conditionals


On Mon, 2003-05-05 at 16:45, Diego Novillo wrote:
> On Mon, 2003-05-05 at 16:33, Andrew MacLeod wrote:
> 
> > If a_1 and a_0 do not coalesce, then a_5 needs to have a copy on one of
> > the 2 branches of the conditional in order to calculate the PHI node. 
> > And in order to do that, you have to know what the original condition
> > was.
> > 
> Ah, yes.  So, keep the conditional expression.  After you've brought the
> program out of SSA form, run the linearizer once more.  And, this time,
> you untie its hands and let it trash COND_EXPRs that have both arms
> empty.  Similarly with other empty blocks that couldn't be removed
> before because of PHI nodes.
> 
And then there are the instructions which fed the conditional which may
all be dead now too... thats why I want to run DCE again....
> 
> > And in order for that to be effective, we
> > should look at phi removal when possible since thats what ends up
> > keeping the conditions alive... 
> > 
> PHIs that have all their arguments the same can be easily checked in the
> linearizer.
> 

But they aren't the same until I've coalesced them, and rewritten them,
and then we are out of SSA form... So having it in the linearizer does
do us much good in these cases.

Andrew



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