phi-elim(*);

forkify(*);
fork-guard-elim(*);
dce(*);

fixpoint {
  reduce-slf(*);
  slf(*);
  infer-schedules(*);
}
fork-coalesce(*);
infer-schedules(*);
dce(*);
rewrite(*);
fixpoint {
  simplify-cfg(*);
  dce(*);
}

ip-sroa(*);
sroa(*);
dce(*);

float-collections(*);
gcm(*);