Commit db2f165
authored
perf: instantiate only the entailment sides in mvcgen'
This PR avoids re-instantiating the whole `solve` target on every
iteration of `mvcgen'` VC generation, with no change in behaviour. A
rule application only ever leaves a metavariable-application head on the
two sides of the entailment (for instance a lattice-split operand), so
`solve` instantiates just those sides for its shape tests instead of
running `instantiateMVars` over the full target on every step;
`elimTopPre` instantiates the precondition it inspects.
Stacked on #14071.solve (#14072)1 parent e50f19c commit db2f165
2 files changed
Lines changed: 8 additions & 9 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
91 | 91 | | |
92 | 92 | | |
93 | 93 | | |
94 | | - | |
| 94 | + | |
95 | 95 | | |
96 | 96 | | |
97 | 97 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
351 | 351 | | |
352 | 352 | | |
353 | 353 | | |
354 | | - | |
355 | | - | |
| 354 | + | |
356 | 355 | | |
357 | 356 | | |
358 | | - | |
359 | | - | |
360 | | - | |
361 | | - | |
362 | | - | |
363 | | - | |
364 | 357 | | |
365 | 358 | | |
366 | 359 | | |
| |||
371 | 364 | | |
372 | 365 | | |
373 | 366 | | |
| 367 | + | |
| 368 | + | |
| 369 | + | |
| 370 | + | |
| 371 | + | |
| 372 | + | |
374 | 373 | | |
375 | 374 | | |
376 | 375 | | |
| |||
0 commit comments