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: SSA Vs unSSA


>  Depends on what SSA form you want.  A rewriting form is problematic because
> backends are allowed to modify the IL behind the back of the optimizers and
> can emit instructions that are difficult/impossible to represent in SSA form
> (parallel).

I don't exactly know what rewriting SSA form means. I think that is a
SSA form that could be updated along the several optimizations passes.
>From this previous explanation I deduce that SSA form goes on once the
Middle-End layer has finished, and no translation to GIMPLE is
performed, because target-dependent (or RTL) optimizations are applied
to this SSA form.

>  A non-rewriting form, however, is not hard to implement.  We've discussed
> this a few weeks ago.  At some point we will build a FUD-chain
> representation from the currently dense UD links in the DF code.

What is the difference between rewriting and non-rewriting SSA form?
>From this I deduce that FUD-chain are used to translate from SSA to
GIMPLE, isn't it?

It's clear that translating from SSA form to GIMPLE is not trivial,
and not always can be done. During the optimizations it is possible
that new variables appear or that some statement are removed from
Intermediate Representation, son unSSA wouldn't be performed.

Fran


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