Skip to content

Cranelift: VeriISLE: type check terms in isolation, fix over-constraints - #13998

Open
avanhatt wants to merge 1 commit into
bytecodealliance:mainfrom
avanhatt:veri-spec-type-check
Open

Cranelift: VeriISLE: type check terms in isolation, fix over-constraints#13998
avanhatt wants to merge 1 commit into
bytecodealliance:mainfrom
avanhatt:veri-spec-type-check

Conversation

@avanhatt

Copy link
Copy Markdown
Member

Type check term specs in isolation, and fix the over-constrained specs it finds.

Adds a check that type-checks verification conditions for each term used in an ISLE compilation one at a time, against nothing but its own declared types, so that a genuine type conflict is distinct from an expansion that shouldn't be reached for a specific type.

The one gnarly case is the spec for aarch64 MInst.MovFromVec: because aarch64 does not have separate Reg types for distinct sizes, it's difficult to faithfully model 128-bit-registers via our aslp automatically generated specs. Adds a special case to only spec the low 64-bits of the register and leave the top unconstrained (sound, but incomplete).

…s it finds.

Adds a check that builds verification conditions for one term at a time, against nothing but its own declared types, so that a genuine type conflict is distinct from an expansion that shouldn't be reached for a specific type.

Fixes the conflicts it reports.
@avanhatt
avanhatt requested a review from a team as a code owner July 27, 2026 19:03
@avanhatt
avanhatt requested review from cfallin and removed request for a team July 27, 2026 19:03
@github-actions github-actions Bot added cranelift Issues related to the Cranelift code generator cranelift:area:aarch64 Issues related to AArch64 backend. cranelift:area:x64 Issues related to x64 codegen isle Related to the ISLE domain-specific language labels Jul 27, 2026
@github-actions

Copy link
Copy Markdown

Subscribe to Label Action

cc @cfallin, @fitzgen

Details This issue or pull request has been labeled: "cranelift", "cranelift:area:aarch64", "cranelift:area:x64", "isle"

Thus the following users have been cc'd because of the following labels:

  • cfallin: isle
  • fitzgen: isle

To subscribe or unsubscribe from this label, edit the .github/subscribe-to-label.json configuration file.

Learn more.

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

Labels

cranelift:area:aarch64 Issues related to AArch64 backend. cranelift:area:x64 Issues related to x64 codegen cranelift Issues related to the Cranelift code generator isle Related to the ISLE domain-specific language

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant