Skip to content

Type Inference & SVA#58

Draft
JTrenerry wants to merge 74 commits intomainfrom
type-inference
Draft

Type Inference & SVA#58
JTrenerry wants to merge 74 commits intomainfrom
type-inference

Conversation

@JTrenerry
Copy link
Collaborator

@JTrenerry JTrenerry commented Feb 23, 2026

  • SVA
    • Intra pass
    • IDE pass
  • Type inferencing
    • Constraint generation (Relies on SVA)
    • Type coalescing
    • Type Automata
    • Type lowering
    • Transform itself
(run-transforms "ssa")
(run-transforms "cf-expressions")
(run-transforms "type-check")
(run-transforms "type-inference")

Note: SVA does not net very good results in most cases

@JTrenerry JTrenerry self-assigned this Feb 23, 2026
@JTrenerry JTrenerry added the enhancement New feature or request label Feb 23, 2026
@JTrenerry JTrenerry force-pushed the type-inference branch 4 times, most recently from 8489b31 to 6bab69a Compare March 2, 2026 03:42
@JTrenerry
Copy link
Collaborator Author

Is testing analysis just by doing the value soundness enough? The lattices I am using should be tested already I believe as it is just wrapped and map lattice from Hayden and bpal.

@JTrenerry JTrenerry marked this pull request as ready for review March 2, 2026 07:15
@JTrenerry JTrenerry requested a review from agle March 2, 2026 07:15
@agle agle changed the title Type Inferencing & SVA Type Inference & SVA Mar 4, 2026
@JTrenerry JTrenerry marked this pull request as draft March 5, 2026 01:02
@JTrenerry
Copy link
Collaborator Author

I think it would be best if this is merged once fully complete as it would allow for more complete testing.

If SVA is needed elsewhere I can cherry pick those commits, but I also would need some better testing for SVA as well.

@JTrenerry
Copy link
Collaborator Author

Globals are not done in SVA, will probably have to confirm with Nick but he did not want me to just say things are globals and then the offsets goes out of that global area and now I have to widen.

I believe what he wanted (although I do not remember), after I get all the offsets I can then check to see if it lines up maybe, but even that seems iffy, I remember him saying, keep it is a constant unless I need it to be a global, but like when would I ever need it to be global?

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

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant