Skip to content

Latest commit

 

History

History
23 lines (22 loc) · 837 Bytes

TODO.md

File metadata and controls

23 lines (22 loc) · 837 Bytes

TODO list

  • Fix symbol table semantics
  • Add function call codegen
  • Add declaration codegen
  • Add string literal support (Also probably const support - Not done)
  • Compile hello world
  • Add branching and control flow statements
    • if
    • while
    • goto
    • for (maybe)
  • Add local optimisations
    • Constant folding
      • If constant condition, don't branch
    • Local dead-code removal
      • If const condition in if_stmt, don't generate new blocks
      • Remove the nop instruction
      • if condition is while_stmt is zero, don't generate any code
  • Invariant checking
    • all codegen functions result in a non-terminated block in ir_builder
  • Add Tests through CMake's testing facility
    • Add way to add files which are guaranteed to not compile