Call For Papers
Contact Us

  Effectiveness of Inlining, Common Subexpression and Deadcode Elimination in Optimizing Compilers  
  Authors : Jagdish Bhatta
  Cite as:


One of the most difficult and least understood problems in the design of the compilers is the generation of good object code. The most common criteria by which the goodness of a program is judged are its running time and size. Since the optimization is important during compilation, the way of obtaining optimal code must be done in appropriate way. Performing optimization is to decide when to optimize and what to optimize. Optimizing compilers are of great importance in resulting the better object programs. Due to the undecidable nature of those compilers, getting optimal optimization depth is of challenging issue. The development of a model for attaining optimization depth can be greater achievement towards the compiler optimization. As a part of which, major optimization passes, viz. inlining, common subexpression elimination and deadcode elimination, has been implemented, tested and analyzed for various instances of inputs to verify the depth. With inlining, we can improve run-time performance by replacing the text of a function call with the body of the called function itself. While using common subexpression elimination, it decreases the execution time of the program by avoiding multiple evaluations of the same expression with reduced number of computations. And at the same context, deadcode elimination aims to rectify the dead code instructions, whose removal reduces code size and eliminates unnecessary computations.


Published In : IJCSN Journal Volume 3, Issue 1

Date of Publication : 01 February 2014

Pages : 97 - 101

Figures : 05

Tables : --

Publication Link : IJCSN-2014/3-1/Effectiveness-of-Inlining-Common-Subexpression-and-Deadcode-Elimination-in-Optimizing-Compilers




Jagdish Bhatta : received the B.Sc. and M.Sc. degrees in Computer Science from Tribhuvan University, Nepal in 2004 and 2007, respectively. Since 2008 he is a full time faculty member at the Tribhuvan University. He has been involved in number of researches conducted at the department and also supervised graduate student’s dissertation. He has published research papers in national and international journals. His research areas are Cryptography and Network Security, Compiler Optimization, Computational Geometry, Cloud Computing.








Compiler Optimization

Common Sub expression Elimination

Dead Code Elimination


In this paper, much of the efforts have been employed to develop the selected optimization passes and to perform the empirical analysis. Some of the developed passes are restricted to work in a limit; the CSE incorporates only local optimization issues that work in the basic blocks, so it can be enhanced to work globally through each program blocks. Similarly, restriction of Inlining to work with in a same file can be extended to inline programs from other files included.










[1] S.S. Muchnick, “Advanced Compiler Design Implementation”, Morgan Kaufmann Publishers, 1997, pp. 219-703.

[2] T. Kistler, and M. Franz, “Continuous Program Optimization: A Case Study”, ACM Transactions on Programming Language and Systems, Vol. 25, No. 4, July 2003, pp. 500-548.

[3] M. Schinz, M. Oderskey, “Tail Call Elimination on the Java Virtual Machine”, Published by Elsevier Science B.V., 2001.

[4] Y. Minamide, “Selective Tail Call Elimination”, Institute of Information Sciences and Electronics University of Tsukuba and PRESTO, JST.

[5] O. Waddell., R. K. Dybvig, “Fast and Effective Procedure Inlining”, Indiana University, Computer Science Department, Technical Report No. 484.

[6] H. G. Baker, “Inlining Semantics for Subroutines which are Recursive”, ACM Sigplan Notices 27, 12(Dec 1992), pp. 39-46.

[7] O. Chitil, “Common Subexpression Elimination in a Lazy Functional Language”, Lehrstuhl f¨ur Informatik II, Aachen University of Technology, Germany.

[8] J. W. Davidson, F. W. Christopher, “Eliminating Redundant Object Code”, ACM, 1982.

[9] L. Song, Y. Futamura, R. Gluck, Z. Hu, “A Loop Optimization Technique Based on Quasi Invariance”, 1999.

[10] C. K. Behera, P. Kumar, “An Improved Algorithm for Loop Dead Optimization”, ACM SIGPLAN, Vol. 41(5), May 2006.

[11] K. Deibel, “On the Automatic Detection of Loop Invariants”, February 25, 2002.

[12] R. Wilson et al., “An Overview of the SUIF Compiler System”, Computer Systems Lab, Stanford University, CA 94305.

[13] R. Wilson et al., “The SUIF Compiler System: A Parallelizing and Optimizing Research Compiler”, Technical Report CSL-TR-94-620, Computer Systems Laboratory, Departments of Electrical Engineering and Computer Science, Stanford University, CA 94305-4055.

[14] M. D. Smith, G. Holloway, “An Introduction to Machine SUIF and Its Portable Libraries for Analysis and Optimization”, Division of Engineering and Applied Sciences Harvard University, 2002