This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: [tree-ssa] DCE and conditionals
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 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.
Diego.