@techreport{oai:ipsj.ixsq.nii.ac.jp:00030885, author = {岩井, 輝男 and 中西, 正和 and Teruo, Iwai and Masakazu, Nakanishi}, issue = {48(1990-PRO-055)}, month = {Jun}, note = {コンパイラを実行させた場合に各基本ブロックが実行されるには多くの場合偏りがある。なぜならば一般にIF文のTHEN部とELSE部が実行される頻度は異なっており、またループの内側は外側より多く実行されるからである。ところが、コンパイラは実行の頻度の偏りを正確に知ることはできなくそのため十分な最適化が行なえない。このためプロファイラというツールを用いて人間の手で基本ブロック実行頻度を解析してプログラムを最適化をしてきた。この過程を組み込んだ最適化を行なうコンパイラを作成した。この最適化法を動的最適化と呼ぶことにする。, Execution frequencies of basic blocks of a computer program are not equal in most cases because execution frequencies of THEN-part and ELSE-part of IF-statement is different and because code inside loop is executed more frequently than outside. Current compilers cannot optimize programs sufficiently because execution frequencies of basic blocks are not known at compile time. Usually, program are tuned further by hand analyzing execution frequencies of basic blocks with tool called Profiler. We implemented a Lisp compiler that performs the tuning process above for optimizing object code. We named this optimization technique Dynamic Optimization.}, title = {プロファイラデータを利用した動的最適化Lispコンパイラ}, year = {1990} }