タグ

2013年3月26日のブックマーク (2件)

  • 2013年2月8日 LLVM Clang 3.1とGCC 4.2.1の性能比較 | gihyo.jp

    benchmarks FreeBSD 9.1: LLVM/Clang Battling GCC PhoronixにPC-BSD 9.1 "Isotope" amd64(FreeBSD)においてLLVM Clang 3.1とGCC 4.2.1でコンパイルしたソフトウェアのベンチマーク結果が掲載(FreeBSD 9.1: LLVM/Clang Battling GCC)されました。興味深い内容です。 FreeBSDはFreeBSD 10.0-RELEASEの段階でLLVM Clangをシステムのデフォルトコンパイラにする方向で作業を進めています。次のように10-CURRENTのcc(1)はLLVM Clang 3.2に変更されています。 # cc --version FreeBSD clang version 3.2 (tags/RELEASE_32/final 170710) 2012122

    2013年2月8日 LLVM Clang 3.1とGCC 4.2.1の性能比較 | gihyo.jp
    hecomi
    hecomi 2013/03/26
  • LLVMをちょっと調べてみた - wagavulinの日記

    最近LLVMについて調べてみたのでまとめてみる。自分はコンパイラの専門家でも何でもないので間違った内容があるかもしれない。GCCとコンパイラの仕組みLLVMの前にまずはコンパイラ一般の話。コンパイラはまずソースコードを解析して内部表現にする。これはたいていツリー構造となる。このツリー構造のデータに対して文法チェックを行ったり最適化処理を行ったりした後に、オブジェクトファイルを生成する。コンパイラの内部表現だが、実際には複数の種類の内部表現を使っていることが多いらしく、GCCもそのようになっている([1]の図3)。これによるとまずはその言語固有のツリーにするようだ(C trees, C++ treesなど)。これをGENERICという形式にする。GENERICは名前のとおり言語に依存しない一般的な形式で、どの言語の場合も一度GENERICにする。GENERICはその後さらにGIMPLEという

    hecomi
    hecomi 2013/03/26