Optimizing C code by performing loop optimizations, redundancy elimination using algorithms for control-flow analysis, data-flow analysis and dependency analysis. Used Technologies - C, Lex, Yacc