#224804 |
3524fcccffa51d87c6223e5cf8db1bf788ef626d runtime versioning
Context: Improving SPECfp2000/SWIM2000 performance for Flang.
Background: #224196 added outer-epilogue fission, a transformation distributing the trailing code of each outer iteration into its own loop so that the remaining nest can be interchanged. Its walkthrough documents its legality: recovery of a row stride W from exact byte offsets, and a dependence proof across the two loops created by distribution, holding while the outer loop's trip count T satisfies T <= W. A plan is the complete, non-mutating record of a single candidate decision. LoopInterchange builds the plan first and applies it later. The