toge's diary

コンピュータ関連の趣味をつらつらと。

LLVMを使ってgccでlink optimization

http://gcc.gnu.org/ml/gcc/2005-11/msg00888.html

近頃は誰も使っていないんじゃないかと思う、PCHを追加したAppleがまた何かうごめいてますね。
今度は本物だと願いたい。
LLVMをGCCに取りこんでGIMPLEのかわりに最適化させてみようという試みです。既にLLVMの中の人が動いていて動くものが存在するみたいですね。
「で、何が嬉しいの?」というとgccをただ単に使う人にとってはlink-time optimizer(LTO)機能がつくのがうれしかったりします。

link-time optimizerについてはLLVMのTutorialに解説がありますね。

http://llvm.cs.uiuc.edu/pubs/2004-09-22-LCPCLLVMTutorial.html

とりあえず一ヶ月以内にAppleのbranchにフィードバックされるらしいです。
今の時点でも既存のgccの最適化と遜色ないらしいので、今後の改善で一気に高速化が達成できるかもしれませんね。
しかしこんなドラスティックな修正をしちゃったらgcc5.0になってしまいそうな予感。というよりまだ喧喧諤諤の議論中です。議論の結果によっては、もしかするとegcsの時みたいにApplegccが出てくるかもしれませんね。

何にせよ久々にgccに興味をひかれる話題が出てきました。