CbCコンパイラのLLVM3.4上での実装


Kaito Tokumori
October 15, 2013

研究背景と目的 (1)

現代社会においてプログラムは様々な場所で用いられ、その用途に応じて求められる要素も様々である。例えばReal-timeな制御が重要視される場合には速度が、組込みシステムなどのメモリが制限される環境では軽量なプログラムが求められる。軽量で高速であるという条件に最も適しているのはアセンブリ言語であるが、低レベル過ぎてわかりづらい上に、アーキテクチャへの依存性が高いため汎用的でない。当研究室ではそういった要求に応える言語としてCbCを提案している。

研究背景と目的 (2)

CbCのコンパイラとしては初めにmicro-cをベースとしたものが開発され、続いて2008年の研究によりGCCベースのものが開発されGCCの持つ最適化の恩恵を受けることに成功した。しかし、Mac OS Xの最新版であるMavericksでは、cコンパイラとしてgccではなくllvm(clang)が用いられるようになった。llvmもgccと同じように強力な最適化を持っており、さらにエラーメッセージがgccに比べ丁寧であるという特徴を持つ。本研究では、micro-c,gccに続くLLVM/clangベースのコンパイラの開発を行う。

先々週課されたもの

環境付き継続

llvm