Skip to content

an optimizer for the assembly language in "Human Resource Machine"

Notifications You must be signed in to change notification settings

tjf801/hrm-optimizer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

hrm-optimizer

an optimizer for the assembly language in the game "Human Resource Machine"

Features:

  • Dead code elimination
  • Redundant instruction trimming
  • Jump statement simplification

TO DO:

  • Extend .hrm files to include memory layout info (maybe include level number?)
  • Dataflow analysis passes
    • Basic block simplification (re-parse into an AST?)
    • Live variable analysis (how to deal with pointers?)
    • Kildall's method (limit fix point iteration number?)
  • Note all optimizations in made in the solutions repo
  • Make and formalize a memory model for "indirect access" (pointers)
    • "accessing a tile directly and indirectly in the program is UB"?
    • "all static mem at end, growable at beggining, overwriting is UB"?
  • Formalize optimizer in Coq or Lean

About

an optimizer for the assembly language in "Human Resource Machine"

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published