Skip to content

Conversation

@m-demare
Copy link
Contributor

Adding more of the low-cost/high-reward optimizations at the beggining, simplifying the CFG for the latter, more expensive optimizations, greatly reduces total compile time
With this change, #primitiveAtPut compiles about 1.5 min faster

@m-demare
Copy link
Contributor Author

yay CI is faster 🎉

@PalumboN
Copy link
Contributor

This PR makes the metacompilation process faster, but produces less quality code.

I pushed some results of metacompilation to analyze. In a quick check I identified:

  • Not using TstCq:R:
  • Spilling more values to memory
  • Some dead path not eliminated (maybe?)

This needs more work yet

Copy link
Contributor

@PalumboN PalumboN left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

See my comment ⬆️

m-demare and others added 5 commits November 2, 2025 19:03
What seems to have happened is that `DRBranchCollapse` was collapsing the getConditionCode's before `DRCogitCanonicaliser>>#visitGetConditionCode:` could do its thing. With this change, I think the generated code should be as good as before
Pushing to check how fast it runs in CI
…) into TestNoMask(a, b) and so on for conditions in DRBranchIfCondition, as it already did with DRGetConditionCode
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants