A Prolog Tailoring Technique on an Epilog Tailored Procedure

  • Authors:
  • Yoon-Chan Jhi;Ki-Chang Kim;Kemal Ebcioglu;Yong Surk Lee

  • Affiliations:
  • -;-;-;-

  • Venue:
  • PSI '02 Revised Papers from the 4th International Andrei Ershov Memorial Conference on Perspectives of System Informatics: Akademgorodok, Novosibirsk, Russia
  • Year:
  • 2001

Quantified Score

Hi-index 0.00

Visualization

Abstract

Prolog tailoring technique, an optimization method to improve the execution speed of a procedure, is proposed in this paper. When a procedure is repeatedly called and the machine has a lot of callee-saved registers, optimizing prolog and epilog of the procedure can become an important step of optimization. Epilog tailoring supported by IBM xlc compiler has been known to improve a procedure's execution speed by reducing the number of register-restoring instructions on exit points. In this paper, we propose a prolog tailoring technique that can reduce register-saving instructions at entry points. We can optimize prolog by providing multiple tailored versions of it on different execution paths of the procedure and by delaying the generation of register-saving instructions as late as possible on each path. However, generating prolog inside diamond structures or loop structures will cause incorrectness or unnecessary code repetition. We propose a technique to generate efficient prolog without such problems based on Tarjan's algorithms to detect SCCs (Strongly Connected Components) and BCCs (Bi-Connected Components).