Prolog Tailoring Technique on Epilog Tailored Procedures


The Transactions of the Korea Information Processing Society (1994 ~ 2000), Vol. 5, No. 5, pp. 1345-1356, May. 1998
10.3745/KIPSTE.1998.5.5.1345,   PDF Download:

Abstract

Prolog tailoring technique, an optimization method to improve the execution speed of a procedure, is proposed in this paper. When a procedure is frequently and repeatedly called and the machine has a lot of callee-saved registers, optimizing prolog and epilog can become an important step of optimization. Epilg tailoring supported by IBM XL C Compiler has been known to improve procedure's execution speed by reducing register restore instructions on execution paths, but no algorithms for prolog tailoring has been proposed yet. The prolog generated by the prolog tailoring algorithm proposed in this paper executes considerably smaller number of register save instructions at run-time. This means the total number of instructions to be executed is decreased resulting in an improvement on the procedure's execution speed. To maintain the correctness of code, prolog code should not be inserted inside diamond structures of loop structures. This paper proposes a prolog tailoring technique which generates register save instructions at the best position in a control flow graph while not allowing the insertion of any prolog code inside diamond structures of loop structures.


Statistics
Show / Hide Statistics

Statistics (Cumulative Counts from September 1st, 2017)
Multiple requests among the same browser session are counted as one view.
If you mouse over a chart, the values of data points will be shown.


Cite this article
[IEEE Style]
J. Y. Chan and K. K. Chang, "Prolog Tailoring Technique on Epilog Tailored Procedures," The Transactions of the Korea Information Processing Society (1994 ~ 2000), vol. 5, no. 5, pp. 1345-1356, 1998. DOI: 10.3745/KIPSTE.1998.5.5.1345.

[ACM Style]
Jhi Yoon Chan and Kim Ki Chang. 1998. Prolog Tailoring Technique on Epilog Tailored Procedures. The Transactions of the Korea Information Processing Society (1994 ~ 2000), 5, 5, (1998), 1345-1356. DOI: 10.3745/KIPSTE.1998.5.5.1345.