A number of optimizations have been implemented for Firm, including
constant folding, expression normalization, scalar copy propagation,
scalar redundant store elimination, global code motion (subsumes
global CSE, loop invariant hoisting, and partial redundancies),
inlining and dead code elimination. These optimizations have been
designed and implemented with special consideration for compilation
Firm data structures a open, so it is possible and intended to plug in
additional optimizations working on the SSA form.