著者
一場 利幸 津金 佳祐 新井 正樹 田原 司睦
雑誌
研究報告ハイパフォーマンスコンピューティング(HPC) (ISSN:21888841)
巻号頁・発行日
vol.2019-HPC-168, no.17, pp.1-5, 2019-02-26

近年,HPC 用途の ARM プロセッサが開発されており,注目が集まっている.そのため,AArch64 をターゲットとしたコンパイラの最適化機能の重要性が増している.しかし,コンパイラ基盤 LLVM の AArch64 向け最適化は,GCC に比べて不十分であることが報告されている.具体的な例の 1 つとして,LLVM は,GCC に比べて多くのスピルコードを挿入する.LLVM が生成したコードを分析すると,空いているレジスタがあるにも関わらず,スピルコードが挿入される場合があった.本研究では,LLVM で挿入される不要なスピルコードについて述べ,それらを削減する方法を提案する.これは,従来通りに LLVM のレジスタ割付けを行った後に,その結果を変更してスピルコードを削減する方法である.2 パターンの不要なスピルコードに対して,提案方法を NPB に適用した結果,パターン 1 については平均 1.25%,パターン 2 については平均 2.87% のスピルコードを削減できた.

言及状況

Twitter (2 users, 2 posts, 0 favorites)

"LLVMにおけるレジスタ割付け後の改善" https://t.co/IwtBMTuosk 読んでないからわからないんだけど、なんで register allocation のところをいじらなかったんだろ。大変だからかな、大変そうではある。あと、この % は性能にどう効くんだろ。

収集済み URL リスト