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

CorePPL→RootPPL compiler changes #81

Open
1 of 6 tasks
dlunde opened this issue Jan 13, 2022 · 0 comments
Open
1 of 6 tasks

CorePPL→RootPPL compiler changes #81

dlunde opened this issue Jan 13, 2022 · 0 comments
Labels
enhancement New feature or request

Comments

@dlunde
Copy link
Collaborator

dlunde commented Jan 13, 2022

Daniel: CorePPL-to-RootPPL compiler additions (lower priority, but would be nice to have).

  • Lambda lifting (now available in main Miking thanks to Lars)
  • Passing functions as arguments (compile to function pointers). Current static analysis for finding resample-free functions becomes more involved, we then need 0-CFA?.
  • Add check for well-formedness (early, before C translation probably)
  • Allow for allocating pointer data types in PSTATE (i.e., in stochastic code). This can easily be done with malloc. Doing it by allocating directly on the PSTATE stack is more difficult, since it then involves relative pointers (PSTATE moves around in memory due to resampling). This is difficult to combine with absolute pointers without increasing overhead by adding runtime checks.
  • Add support for mutable tensors at top level
  • Ensure no warnings are omitted from GCC or Clang for RootPPL code generated by the CorePPL compiler.
@dlunde dlunde added the enhancement New feature or request label Jan 13, 2022
@dlunde dlunde changed the title Add CorePPL features Add CorePPL->RootPPL compiler features Sep 19, 2022
@dlunde dlunde changed the title Add CorePPL->RootPPL compiler features Add CorePPL→RootPPL compiler features Sep 19, 2022
@dlunde dlunde changed the title Add CorePPL→RootPPL compiler features CorePPL→RootPPL compiler changes May 23, 2023
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

No branches or pull requests

1 participant