Skip to content

M3: Analyses and the pass manager #12

Description

@tamnd

Five weeks. Part III, the analyses and the pass manager. Analyses come before transforms because every interesting transform is gated on one, and somebody who meets LICM before dominance has learned a magic trick rather than a mechanism.

Exit criterion. A09's grader catches a deliberately lying PreservedAnalyses in all six of its planted forms.

Tasks

  • A01 to A09
  • The eight BP-AN-* blueprints
  • gen_passes and the pass inventory
  • The CFGGraph and LatticeDiagram mobjects

Gates

  • A09's grader catches all six planted invalidation bugs
  • Every analysis blueprint's pass contract section is confirmed by a human against the source rather than merely generated
  • CFGGraph and LatticeDiagram are in the visual system and actually used

The pass contract sections get human confirmation because generation gets the shape right and the semantics wrong. A generator can tell you which analyses a pass declares it preserves. It cannot tell you whether the declaration is true.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area/analysisDominators, loops, alias analysis, the pass managerkind/milestoneTracking issue for a whole milestonepriority/p1Needed this milestone

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions