@techreport{oai:ipsj.ixsq.nii.ac.jp:00194788, author = {一場, 利幸 and 津金, 佳祐 and 新井, 正樹 and 田原, 司睦}, issue = {17}, month = {Feb}, note = {近年,HPC 用途の ARM プロセッサが開発されており,注目が集まっている.そのため,AArch64 をターゲットとしたコンパイラの最適化機能の重要性が増している.しかし,コンパイラ基盤 LLVM の AArch64 向け最適化は,GCC に比べて不十分であることが報告されている.具体的な例の 1 つとして,LLVM は,GCC に比べて多くのスピルコードを挿入する.LLVM が生成したコードを分析すると,空いているレジスタがあるにも関わらず,スピルコードが挿入される場合があった.本研究では,LLVM で挿入される不要なスピルコードについて述べ,それらを削減する方法を提案する.これは,従来通りに LLVM のレジスタ割付けを行った後に,その結果を変更してスピルコードを削減する方法である.2 パターンの不要なスピルコードに対して,提案方法を NPB に適用した結果,パターン 1 については平均 1.25%,パターン 2 については平均 2.87% のスピルコードを削減できた.}, title = {LLVMにおけるレジスタ割付け後の改善}, year = {2019} }