mirror of
https://github.com/grin-compiler/grin.git
synced 2024-09-19 03:47:23 +03:00
1.2 KiB
1.2 KiB
Working framework
name handling is the biggest blocker ; module support is also related
goal: robust and working optimizer framework
duration: 2 weeks
deadline: May 6
new additions
module system- name handling
- SSA name conversion pass to allow local name scopes
locally new names (in block + pass to flatten out and maintain uniqueness)name scopes (module, function)- liberal name support (like in llvm, i.e. %"any characer 1234 {}!@#$%} -"
- context aware logging framework (for errors and debugging)
- pass manager ; run passes until the fixpoint is reached
addallocate
memory operation to grin ; required by circular data structures- grin syntax for type signatures
- grin syntax to declare primops with their type signature
- grin validator pass
hpt result based dead code elimination pass
finish
- lambda frontend
- type system
- simplification transformations (answer if vectorisation equals with a mapping to tagged unions)
- missing optimisations
- case hoisting
- whnf update elimination
- dead parameter elimination
- simplify llvm codegen (factor out complex operations as passes)