講演名 2018-01-19
LLVMバックエンドの最適化性能テストのミュータント生成
田中 健司(関西学院大), 石浦 菜岐佐(関西学院大), 西村 啓成(ルネサス エレクトロニクス), 福井 昭也(ルネサス エレクトロニクス),
PDFダウンロードページ PDFダウンロードページへ
抄録(和) 本稿では, 既存のテストプログラムから自動生成した機能等価なミュータントにより, コンパイラ基盤 LLVM のバックエンドの最適化性能をテストする手法を提案する. LLVM のバックエンドはコード生成のための変換に加えて, ターゲット依存の最適化や各種ピープホール最適化を行うため, 生成されているコードの正誤だけでなく, 意図通りの最適化が行われているかのテスト (性能テスト) が必要になる. 最適化の性能テストは, 主としてコンパイラ開発者が手動で作成したテストプログラムによって行われるため, テストプログラムのバリエーションが限られてしまう. 本稿の手法では, 開発者が特定の最適化機能を対象に作成したテストプログラムからミュータントを自動生成することによって, バックエンドの性能テストを強化する. 本手法のミューテーション操作は元プログラムの実行結果を変化させないものに限定するため, 意図通りの最適化ができているかどうかの判定はアセンブリコードの機械的な比較により行える. 提案手法に基づくツールを Perl 5 を用いて実装しテストを行った結果, LLVM 6.0.0 のx86_64 用バックエンドにおいて, バックエンドの性能向上の参考になると考えられるテストケースを 2件検出した.
抄録(英) This article presents a method of testing optimization capability of LLVM back-ends by generating functionally equivalent test mutants from existing test programs. Since the LLVM back-ends perform various target dependent and peephole optimization as well as transformations for code generation, it is necessary to test if optimization is properly done as designed to enhance performance, not to mention if generated codes are correct. Test programs for the performance test are usually developed manually by compiler designers, which do not always provide enough variation to cover corner cases. The method in this article attempts to augment test cases by generating mutants from existing test programs. The mutation in our method is designed not to change the functionality of the original test programs, so that insufficient optimization is detected by mechanical comparison of assembly codes. In a preliminary experiment on the LLVM 6.0.0 back-end for x86_64, a tool based on the proposed method has found two interesting cases which might contribute toward performance improvement of the back-end.
キーワード(和) LLVM IR / バックエンド / ミューテーション / 最適化
キーワード(英) LLVM IR / Back-Ends / Mutation / Optimization
資料番号 VLD2017-88,CPSY2017-132,RECONF2017-76
発行日 2018-01-11 (VLD, CPSY, RECONF)

研究会情報
研究会 IPSJ-ARC / VLD / CPSY / RECONF / IPSJ-SLDM
開催期間 2018/1/18(から2日開催)
開催地(和) 慶應義塾大学 日吉キャンパス 来往舎
開催地(英) Raiosha, Hiyoshi Campus, Keio University
テーマ(和) FPGA応用および一般
テーマ(英) FPGA Applications, etc
委員長氏名(和) 五島 正裕(NII) / 越智 裕之(立命館大) / 中野 浩嗣(広島大) / 本村 真人(北大) / 浜口 清治(島根大)
委員長氏名(英) Masahiro Goshima(NII) / Hiroyuki Ochi(Ritsumeikan Univ.) / Koji Nakano(Hiroshima Univ.) / Masato Motomura(Hokkaido Univ.) / Kiyoharu Hamaguchi(Shimane Univ.)
副委員長氏名(和) / 峯岸 孝行(三菱電機) / 入江 英嗣(東大) / 三吉 貴史(富士通研) / 柴田 裕一郎(長崎大) / 佐野 健太郎(東北大)
副委員長氏名(英) / Noriyuki Minegishi(Mitsubishi Electric) / Hidetsugu Irie(Univ. of Tokyo) / Takashi Miyoshi(Fujitsu) / Yuichiro Shibata(Nagasaki Univ.) / Kentaro Sano(Tohoku Univ.)
幹事氏名(和) 小野 貴継(九大) / 近藤 正章(東大) / 長谷川 揚平(東芝) / 塩谷 亮太(名大) / 永山 忍(広島市大) / 新田 高庸(NTTデバイスイノベーションセンタ) / 大川 猛(宇都宮大) / 高前田 伸也(北大) / 谷川 一哉(広島市大) / 三好 健文(イーツリーズ・ジャパン) / 許 浩沿(パナソニックセミコンダクタソリューションズ) / 密山 幸男(高知工科大) / 柴田 誠也(NEC)
幹事氏名(英) Takatsugu Ono(Kyushu Univ.) / Masaaki Kondo(Univ. of Tokyo) / Yohei Hasegawa(Toshiba) / Ryota Shioya(Nagoya Univ.) / Shinobu Nagayama(Hiroshima City Univ.) / Koyo Nitta(NTT) / Takeshi Ohkawa(Utsunomiya Univ.) / Shinya Takameda(Hokkaido Univ.) / Kazuya Tanigawa(Hiroshima City Univ.) / Takefumi Miyoshi(e-trees.Japan) / Ko Kyo(Panasonic) / Yukio Mitsuyama(Kochi Univ. of Tech.) / Seiya Shibata(NEC)
幹事補佐氏名(和) / / 伊藤 靖朗(広島大) / 津邑 公暁(名工大) / 小林 悠記(NEC) / 中原 啓貴(東工大)
幹事補佐氏名(英) / / Yasuaki Ito(Hiroshima Univ.) / Tomoaki Tsumura(Nagoya Inst. of Tech.) / Yuuki Kobayashi(NEC) / Hiroki Nakahara(Tokyo Inst. of Tech.)

講演論文情報詳細
申込み研究会 Special Interest Group on System Architecture / Technical Committee on VLSI Design Technologies / Technical Committee on Computer Systems / Technical Committee on Reconfigurable Systems / Special Interest Group on System and LSI Design Methodology
本文の言語 JPN
タイトル(和) LLVMバックエンドの最適化性能テストのミュータント生成
サブタイトル(和)
タイトル(英) Mutant Generation of Performance Tests for LLVM Back-Ends
サブタイトル(和)
キーワード(1)(和/英) LLVM IR / LLVM IR
キーワード(2)(和/英) バックエンド / Back-Ends
キーワード(3)(和/英) ミューテーション / Mutation
キーワード(4)(和/英) 最適化 / Optimization
第 1 著者 氏名(和/英) 田中 健司 / Kenji Tanaka
第 1 著者 所属(和/英) 関西学院大学(略称:関西学院大)
Kwansei Gakuin University(略称:Kwansei Gakuin Univ.)
第 2 著者 氏名(和/英) 石浦 菜岐佐 / Nagisa Ishiura
第 2 著者 所属(和/英) 関西学院大学(略称:関西学院大)
Kwansei Gakuin University(略称:Kwansei Gakuin Univ.)
第 3 著者 氏名(和/英) 西村 啓成 / Masanari Nishimura
第 3 著者 所属(和/英) ルネサス エレクトロニクス株式会社(略称:ルネサス エレクトロニクス)
Renesas Electronics Corporation(略称:Renesas)
第 4 著者 氏名(和/英) 福井 昭也 / Akiya Fukui
第 4 著者 所属(和/英) ルネサス エレクトロニクス株式会社(略称:ルネサス エレクトロニクス)
Renesas Electronics Corporation(略称:Renesas)
発表年月日 2018-01-19
資料番号 VLD2017-88,CPSY2017-132,RECONF2017-76
巻番号(vol) vol.117
号番号(no) VLD-377,CPSY-378,RECONF-379
ページ範囲 pp.169-174(VLD), pp.169-174(CPSY), pp.169-174(RECONF),
ページ数 6
発行日 2018-01-11 (VLD, CPSY, RECONF)