The following compilers automatically perform the listed optimizations.
Inlining
Constant folding
Elimination of some array bounds checking
Elimination of common sub-expressions within blocks
Empty method elimination
Some register allocation for locals
No flow analysis
Limited inlining