CbCコンパイラのLLVM3.4上での実装
Kaito Tokumori
May 21, 2013
Kaito Tokumori
May 21, 2013
当研究室ではcode segment単位で処理を記述するContinuation based C(以下CbC)というプログラミング言語を開発している。Cからループ制御と関数コールを取り除いたもので、C言語よりも細かく、アセンブリより高級なプログラミングが可能である。
また、CbCはcode segment間の移動をcall命令でなくjmp命令で行うという特性を持っており、これにより余分なreturnを減らすことができる。これはtail call eliminationのによって実現されるので、CbCを利用することでtail call eliminationを強制し、プログラムをより最適化できるとも言える。
現在CbCのコンパイルはMicro-C版、GCC版がある。今回の研究ではさらにllvm,clangを用いたコンパイラの実装を行う。