タグ

LLVMに関するmidas36545のブックマーク (2)

  • LLVM入門 - javascript使いがLLVM(Rust:inkwell)でjavascriptをJITコンパイルするまで

    コンパイラ基盤であるLLVMについて、全く知識がない私が、 javascriptソースコードをパースしLLVMでコンパイルできるようになりました。 LLVMの記事は数多くありますが、初心者向けの記事が少なく感じたため、 記事では、できる限り分かりやすくLLVMについて紹介できる記事を書こうと思います。 ソースコードは、こちらに置いています。 自己紹介 ふだん、javascriptpythonなどインタプリタ言語を使うエンジニアです。 LLVMについて、全く知識がなかった人間です。 背景 過去に、おもちゃのブラウザ自作をやってみました。 HTMLCSSを解析し、レンダリングするところを書き、基的な動作を知ることができました。 HTMLCSSとくれば、次はJSだと思い、JSを実行するエンジンを書いてみたくなりました。 ただし、WebブラウザのAPIとJS実行エンジンをバインディングす

    LLVM入門 - javascript使いがLLVM(Rust:inkwell)でjavascriptをJITコンパイルするまで
  • LLVMの新しい中間言語表現 MLIRを試す(3. MLIRに関する発表資料を読む) - FPGA開発日記

    MLIRについてもう少し具体的な例を勉強するために、資料を読み込んでいくことにした。 以下の資料を参考にした。Chris Lattnerの所属がSiFiveに変わっているので、比較的最近の資料だ。 docs.google.com MLIRはMulti-Level Intermediate Representation Compiler Ifrastructureの略称である。 2004にLLVMを開発したときの想定構成。1つのIRを用意してすべてを解決する。マルチターゲット、解析、最適化など。 ところがこれだけでは上手く行かなくなった。LLVM-IRだけでなく複数の表現形式を使用する必要がある。現在のLLVM IRでは並列性やループなどの表現形式に問題がある。 Clangも同様。LLVM IRを出力するだけでなく、様々なアノテーションを出力する必要が生じたり、もはやC++の複雑な言語構文を

    LLVMの新しい中間言語表現 MLIRを試す(3. MLIRに関する発表資料を読む) - FPGA開発日記
  • 1