LLVM is a robust system, particularly well suited for developing new mid-level language-independent analyses and optimizations. |
OpenMP 3.1のフルサポートがLLVM Clang 3.1に追加されたことが、メーリングリストに投稿された「[LLVMdev] OpenMP 3.1 Support Implementation In Clang Is Available」によって明らかになった。OpenMP 3.1のすべての試験をクリアしているという。Clang 3.3に対してマージされたとされており、今後もマージを続けて最終的にすべての成果物を統合するとしている。
OpenMPは処理を並列に実行するための仕組みのひとつ。OpenMPに対応したソースコードを記述した場合、対応しているコンパイラであればそれら処理が並列に実行されるようにコンパイルが実施される。対応していないコンパイラでは従来通りの処理としてコンパイルされる。このため、コンパイラがOpenMPに対応しているかどうかは、生成されるアプリケーションの実行速度を大きく左右する傾向があった。
LLVM ClangはこれまでOpenMPをサポートしていなかった。このためベンチマークなどではOpenMPに関する項目だけはGCCと比較して大幅に遅い結果を示していた。今後はOpenMPを利用したアプリケーションにおいてもLLVM Clangが優れた性能を発揮できるものとみられる。