Skip to content

Latest commit

 

History

History
53 lines (41 loc) · 1.28 KB

TODO.md

File metadata and controls

53 lines (41 loc) · 1.28 KB

To Do

Profiling

Source level array changes

  • truncate
  • swap
  • capacity
  • into_iter

lower_closures.rs

  • don't call dispatch functions for funcreps that are isomorphic to unit
  • eliminate globals that return funcreps that are isomorphic to unit
  • eliminate environments for lambdas that have no captures
  • inline calls to primitve functions when possible

shield_funcs.rs

  • modify shield funcs to not shield non-recursive funtions

thread debug symbols through more passes

  • function monomorphization
  • lower closures
  • lower structures
  • thread variable names through

split_custom_types.rs

  • remove non-recursive custom types

llvm_gen.rs

  • make code generic over size of size_t
  • support wasm
  • add some command line flags (opt level, target, etc)
  • add tail calls
  • use fastcc calling convention

flat_array.rs

  • replace uses of build_struct_gep with get_member
  • make things more private (conditionally)
  • fix zero-sized arrays
  • include capacity for new

Source level changes

  • expose capacity for arrays
  • do notation

persistent arrays

  • actually implement them

core.rs

  • support wasm

front end

  • emit line numbers for errors