Skip to content

M4: Transforms #13

Description

@tamnd

Eight weeks. The largest content milestone and the one that makes this project's central claim real. Fourteen lessons on the middle end, ten pass blueprints, and the CI job that runs a solver over every refinement obligation in the set.

Exit criterion. Every BP-TX-* refinement obligation is a command that runs in CI and publishes a dated status line on the blueprint page. Not a paragraph describing what the pass promises. A command, with a result, with a date.

Tasks

  • X01 to X14
  • The ten BP-TX-* blueprints, each with a refinement obligation in section 4c
  • The 1200 module corpus
  • The alive CI job, running every obligation over the corpus

Gates

  • Every refinement obligation runs in CI and publishes a dated status
  • The corpus is large enough that adding 200 more modules finds no new failing obligations, measured rather than assumed
  • X03 and X11 have been through beginner testing and the misconception data is written up
  • The generated fraction across all blueprints so far is measured

If the generated fraction is under 40 percent, M4 ends with a plan for more generators rather than a shrug. Hand written reference material rots at LLVM's release cadence and the only defence is generating most of it.

This is the second stopping point

Parts 0 through IV plus the IR and transform blueprints is a complete course on LLVM's middle end with a soundness oracle attached. That is worth publishing on its own.

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/correctnessAlive2, lit, FileCheck, llvm-reduce, fuzzingarea/transformsInstCombine, GVN, SROA, the middle endkind/milestoneTracking issue for a whole milestonepriority/p1Needed this milestone

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions