Add all old optimizations but rewritten to use Use-Definitions instead of hardcoding the instruction types.