There are several machine independent methods analyzing machine's characteristics to find patterns, replacements and constraints for equivalent transformation which are used in machine dependent code optimization after code generation. But, it is needed to supports machine dependent patterns because machine independent methods don't analyze all diverse characteristics of machines. The optimizer identifies and modifies inefficient sequences of instructions if the involved constraints are satisfied with current context information. This information is provided by the code generator or by symbolic manipulating the object code.
In this thesis, we will study the machine independent pattern generating method and consider needed machine dependent patterns classes which are used frequently but are not generated by machine independent methods. We implement the pattern matching object code optimizer which uses live/dead analysis and value tracing to gather context information. By our optimizer, we get the reduction of execution time by 6.3-29.6 percent.