On Wed, Apr 29, 2009 at 17:15, Richard Guenther
<richard.guent...@gmail.com> wrote:
> I don't see how SSA form makes anything more complicated ;)
>

One of the difficulties was regenerating the phi nodes after code
hoisting: CLooG optimizes

for (i)
  if (invariant of i)
    s += A[i];

into

if (invariant of i)
  for (i)
    s += A[i];

In the transformed code you have no place to put the phi nodes that
you had after the condition.

Add to this the problem of code duplication that CLooG does sometimes:

if (invariant of i)
  for (i in domain1)
    s += A[i];
  for (i in domain2)
    s += A[i];
  ...

Maintaining the SSA form for s is difficult after such transforms.  If
you figure out a good way to maintain the SSA form, I'm very
interested to hear about.

Thanks,
Sebastian

Reply via email to