@inproceedings{oai:ipsj.ixsq.nii.ac.jp:00146678, author = {那須, 孝志 and 滝本, 宗宏 and Takashi, Nasu and Munehiro, Takimoto}, book = {第56回プログラミング・シンポジウム予稿集}, month = {Jan}, note = {プログラム中で,制御分岐にしたがって排他的に実行される同じ計算を,一つの計算として,分岐の外に出すプログラム変形を括出しと呼ぶ.括出しは,プログラムのコードサイズを小さくするコード圧縮や,GPUのウォープ中のSIMD実行が,分岐発散によって生じる効率の低下を改善する最適化として有効である.しかしながら,まとまったサイズの計算の括出しはコストが高く,効率的なアルゴリズムが知られていないという問題があった.本研究では,前処理としてプログラム中の類似部分列であるコードクローンを検出し,そのコードクローンに基づいて,制御分岐のTrue側とFalse側にある同じ計算を括り出す手法を提案する.現在,本手法を用いて,分岐発散を除去するGPU向け最適化を実装中であるが,これまでに得られた知見と中間結果を合わせて報告する., Factoring out is the technique that put out the same calculations in the branch destinations as one calculation. This technique is effective in terms of compressing the code size in a program or dealing with branch divergence that is caused by SIMD execution in GPU. However, the effective algorithm of factoring out has not been proposed yet. This paper proposes a method that detects code clones as the preprocessing of our optimization and factors out the same calculations based on the code clones.}, pages = {47--54}, publisher = {情報処理学会}, title = {コードクローンに基づく括出し法}, volume = {2015}, year = {2015} }