Added basic common subexpression elimination
Added store -> load entries to subexpression elimination
Added immediate to EntryThreeAddr
Combined Immediate and non-Immediate IR entries
Added shift argument to indexed memory instructions
Changed memory addresses to bytes instead of words
Execute code directly out of memory
Added Front and IR support for string constants
Save VM program as raw bytes instead of instruction array
Added back-end support for string constants
Print instruction dump in big-endian format
Added LoadString to DeadCodeElimination candidates
Invalidate analysis when ConstantProp changes flow graph
Guard against buffer overruns in instruction dumps