Skip to content

Latest commit

 

History

History
17 lines (16 loc) · 1.11 KB

ISSUES.md

File metadata and controls

17 lines (16 loc) · 1.11 KB

Issue Tracker

Keeping tabs on all the bugs

  • Constant propagation doesn't work for negative numbers (and arithmetic in general lol)
  • Nop instruction not created for empty blocks, especially w/ dead code elim (tentatively fixed)
  • Call to OutputNum unsafely assumes correct number of args, panics otherwise
  • Despite dead code elim, extra branch instruction still produced in then branch of if statements
  • Integer literals should be stored as signed rather than unsigned
  • A bunch of unused constants may still be allocated due to instruction selection
  • Register allocation doesn't understand calling conventions
  • Update simple register allocator for new location api
  • Extra returns getting generated all over the place
  • Const branching doesn't work for loops
    • Edge case: before phi resolution, the condition may be const-evaluable when in reality it shouldn't be
  • Simple register allocator doesn't properly respect calling conventions
  • Calls in IR always allocate a result value, even if the function is void
  • Functions not generating return instruction by default