Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rewrite more of _mega passes_ to _mini passes_ #11326

Closed
2 tasks
JaroslavTulach opened this issue Oct 15, 2024 · 12 comments · Fixed by #11501
Closed
2 tasks

Rewrite more of _mega passes_ to _mini passes_ #11326

JaroslavTulach opened this issue Oct 15, 2024 · 12 comments · Fixed by #11501
Assignees

Comments

@JaroslavTulach
Copy link
Member

JaroslavTulach commented Oct 15, 2024

This is a follow up of #10981 addressing one of the future works as provided in description of #11191- e.g. "rewrite more mini passes and do it in Java - follow SectionToBinOp example".

Goal: rewrite three+ (up to eight) mega passes into mini passes, so they can be processed by a single IR traversal.

This log indicates the current order of IR passes. The ideal ones to select are next to existing mini IR passes. For example Patterns and PrivateSymbolsAnalysis that are just next to TailCall (already rewritten by #11191). Or MethodDefinitions that is next to two already created mini IR passes.

Please rewrite the passes into Java.

Tasks

Preview Give feedback
@enso-bot
Copy link

enso-bot bot commented Nov 6, 2024

Pavel Marek reports a new STANDUP for today (2024-11-06):

Progress: - #11267 PoC is finished; Interactive review and created issue #11498 so it can be scheduled

@enso-bot
Copy link

enso-bot bot commented Nov 18, 2024

Pavel Marek reports a new STANDUP for today (2024-11-18):

Progress: - Finding out why there is an incosistency between ModuleContext.module.getIr and ModuleIR as passed to PassManager.

  • Because of this incosistency, ImportSymbolAnalysis.createForModuleCompilation(modCtx) has modCtx.bindingsMap == null.
    But ImportSymbolAnalysis$Mini.transformModule(modIr) has modIr.passData.get(BindingsAnalysis) != null. It should be finished by 2024-11-25.

@enso-bot
Copy link

enso-bot bot commented Nov 19, 2024

Pavel Marek reports a new STANDUP for today (2024-11-19):

Progress: - Fixed incosistency of IR in ModuleContext and module IR in tests. It should be finished by 2024-11-25.

@enso-bot
Copy link

enso-bot bot commented Nov 20, 2024

Pavel Marek reports a new STANDUP for today (2024-11-20):

Progress: - Add tests for MiniPassTraverser - mock Expressiobn and MiniPass.

  • MiniPasses can stop the traversal early.
  • Migrating AmbiguousSymbolAnalysis to minipass and to Java.
  • Testing mini pass chaining It should be finished by 2024-11-25.

@enso-bot
Copy link

enso-bot bot commented Nov 22, 2024

Pavel Marek reports a new STANDUP for yesterday (2024-11-21):

Progress: - Still increasing test coverage.

  • Generalize algorithm in PassManager to chain minipasses also for inline compilation. It should be finished by 2024-11-25.

@enso-bot
Copy link

enso-bot bot commented Nov 22, 2024

Pavel Marek reports a new STANDUP for today (2024-11-22):

Progress: - 5 mega passes converted to mini passes.

  • I will not convert any mroe passes, just focus on fixing the tests.
  • Altogether, there are now 8 consecutive mini passes in globalTyping pass group.
    • This may already be visible on the benchmarks. It should be finished by 2024-11-25.

@JaroslavTulach
Copy link
Member Author

JaroslavTulach commented Nov 23, 2024

there are now 8 consecutive mini passes in globalTyping pass group.

+1

@enso-bot
Copy link

enso-bot bot commented Nov 25, 2024

Pavel Marek reports a new STANDUP for today (2024-11-25):

Progress: - Hunting a nasty bug in IR caches caused by this PR

@enso-bot
Copy link

enso-bot bot commented Nov 26, 2024

Pavel Marek reports a new STANDUP for today (2024-11-26):

Progress: - Tests are green, just need to migrate MethodDefinitions to a mini pass.

  • So far, I have only converted it from Scala to Java
  • For that, I need to think about how to address pass data for mini passes. It should be finished by 2024-11-28.

@JaroslavTulach
Copy link
Member Author

Tests are green

Good.

address pass data for mini passes

What do you mean by that? I don't see anything special in the MethodDefinitions pass to prevent it to become mini pass.

@enso-bot
Copy link

enso-bot bot commented Nov 27, 2024

Pavel Marek reports a new STANDUP for today (2024-11-27):

Progress: - Final change: Converted MethodDefinitions to mini pass.

  • Tests are green, scheduling another benchmark run.
    • If no regressions are found, I will merge the PR tomorrow. It should be finished by 2024-11-28.

@enso-bot
Copy link

enso-bot bot commented Nov 28, 2024

Pavel Marek reports a new STANDUP for today (2024-11-28):

Progress: - Final reviews integrated.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: 🟢 Accepted
Development

Successfully merging a pull request may close this issue.

2 participants