This directory contains the generated .loop suite and per-case strict polopt results.
For the user-facing optimizer story, see ../../POLOPT.md. This file explains how to inspect the generated regression artifacts.
Layout:
inputs/: generated.loopinputs, one file per Pluto benchmark casecases/<name>/: strict-pathpoloptresult for one case
Per-case files:
input.loop: the generated source inputinput.pretty.loop: normalized pretty-printed input, when optimization succeededoptimized.loop: optimized output loop, when optimization succeededdiff.patch: unified diff between normalized input and optimized output, when optimization succeededstatus.txt: exit code and result metadatastderr.txt: failure diagnostics when optimization failed
How to inspect a case:
- read
input.loop - compare with
optimized.loop - scan
diff.patchfor the actual structural change - use
status.txtto see whether the case changed or was left unchanged
Good cases to inspect first:
covcol: statement splitting + reordered accumulationintratileopt1: clear loop interchangecostfunc: skewing / wavefront-style reorderingmatmul: loop-order change on a familiar kernel
Current benchmark split:
- total benchmark cases seen by the generator:
62 - semantics-preserving generated
.loopinputs:62 - explicitly unsupported and skipped:
0
Current strict-path status:
- total inputs:
62 - succeeded:
62 - failed:
0
Current successful-but-unchanged set:
1dloop-invardsyr2kdsyrkfloydnodepnoloopstrmmtmmtricky4wavefront
This directory intentionally reflects the strict proved runtime path:
- no CLI fallback exporter is used
poloptrunsCoreOpt.Optdirectly, i.e. the finalOptfromdriver/PolOpt.v
Important generator policy:
.loopgeneration must preserve source semantics/=is lowered tox = x / y/, pure calls, ternaries, and float literals are preserved rather than approximated
Proof boundary:
- The strict suite runs the proved optimizer path from
driver/PolOpt.v(Opt = Opt_prepared). - The textual
.loopparser/elaborator and the final pretty-printer are not part of the Coq theorem. - The verified post-codegen cleanup passes are inside the proved path.