Inlining on SSA form
- Doing IPA on SSA makes it easier and more accurate. Also it makes possible to do early optimization cheaply.
- Jan Hubicka
- The implementation on IPA branch is ready now. I would like to see some help from alias analysis person to help me clean up some parts.
- Better IPA analysis
- Cleaner design, fewer limitations on pass ordering
- SSA form might be more memory intensive. However with cleanups I don't see any memory consumption increase on combine.c. Overall IPA branch allocate bit more memory but it is hopefully down in noise so it don't show up as slowdonw in SPEC compilation and can be reduced (see bellow).
- SSA inliner cleanups
- Most intrusive part is change making it possible to do SSA form on multiple function bodies at once. This is similar to multiple CFGs form we did last release cycle. Major anoyance is comming from variable annotations that are now shared for static variables while we expect them to be local. Luckilly very little of annotations needs to survive across different passes (this also means that there is no real need to throw away all the memory globally as we do now
- and we should get annotations only locally for each function) and I've moved that into function