タグ

LLVMに関するsasaplus1のブックマーク (10)

  • LLVMによるプログラミング言語の実装 – 日曜研究室

    最近の投稿 問題: 積み木を10個積み上げるのにかかる時間は 2020/8/20 木曜日 Google の G Suit Team から “[Action Required] Remove internal links to the G Suite Domain Contact page for your organization” ていうメールが来た 2020/8/14 金曜日 NZXT H1 と ROG STRIX B550-I GAMING で組んでみた 2020/7/17 金曜日 花粉症対策2019 2019/3/16 土曜日 マルチディスプレイ時のDisplayPort問題を何とかしてみた 2019/1/12 土曜日 REALFORCEソフトウェアがインストールできない(解決済) 2018/12/6 木曜日 GeForce RTX 2080 Founders Edition を買

  • clang+llvmでさりげなくすごいコードが生成されていた話。 - 組み込みの人。

    先日llvm 3.3がリリースされました。aarch64(arm 64bit)のコードが生成できるようになったということなので、ソースからビルドして遊んでいたのですが、さりげなく凄く最適化されたコードが生成されているのに気がつきました。aarch64だと今は実行して確認できる環境が手元に無いので、普通のarmv7-aで同じことを試しました。 ここで使ったコードとその結果はgistに貼りました。 https://gist.github.com/tetsu-koba/5835724 ソースコード int sum(int x) { int sum = 0; int i; for (i = 1; i <= x; i++) { sum += i; } return sum; } 1からnまでの総和を求める関数です。1から100までの総和が5050なのはガウス少年の逸話で有名ですね。 gcc 4.8.

    clang+llvmでさりげなくすごいコードが生成されていた話。 - 組み込みの人。
  • きつねさんでもわかるLLVM - 達人出版会

    内容紹介書は趣味でLLVMを触っている著者二人のLLVMをもっと普及させていきたいと思いから生まれたLLVM解説です。 LLVMは今非常に注目されていますが、度重なるAPI仕様の変更や公式ドキュメントの充実さなどが理由で、まとまった解説がなされたものはありませんでした。書によりまとまった情報が日語で手に入るようになり、多くの方にLLVMを知って頂けると幸いです。 書ではLLVMを使用したコンパイラの作り方を順を追って説明しLLVMへの理解を深めてもらおうというのがコンセプトになっています。フロントエンド(中間表現出力まで)、ミドルエンド(最適化)、バックエンド(オブジェクト生成)と幅広く解説していますので多くの方に有用な内容を含んでいるのではないでしょうか。 LLVMの用途は多岐にわたり,書では解説できていない部分もありますが,初心者向けの情報としてLLVMを利用するための基礎

    きつねさんでもわかるLLVM - 達人出版会
  • LLVM解説本をC82で出します - Boost Your Programming!

    LLVMの解説をC82の2日目(8/11)西し39aで出します。 タイトルは「3日で出来るLLVM」です. LLVMを使ってコンパイラを作るという内容になっています。 フロントエンドとミドルエンドはid:motipizza(@sui_moti)が担当し、自分はバックエンドの担当です。 表紙は矢上さん(blog)に書いていただきました。かわいい表紙でよくできているのでこれだけでも売れそうです。 目次は以下のようになっています。 はしがき 第一章:はじめに 第二章:コンパイラとLLVM 第三章:環境構築 第四章:LLVM IR 第五章:フロントエンドを作る 第六章:Pass について 第七章:バックエンドを作る あとがき LLVM解説を作ると決まってからLLVMについていろいろと調べ始めましたが、 ほとんど資料が無く特にバックエンドに関しては皆無のような状態で苦労しました。 自分が理解でき

  • GitHub - emscripten-core/emscripten: Emscripten: An LLVM-to-WebAssembly Compiler

    Main project page: https://emscripten.org GitHub CI status: Chromium builder status: emscripten-releases Overview Emscripten compiles C and C++ to WebAssembly using LLVM and Binaryen. Emscripten output can run on the Web, in Node.js, and in wasm runtimes. Emscripten provides Web support for popular portable APIs such as OpenGL and SDL2, allowing complex graphical native applications to be ported,

    GitHub - emscripten-core/emscripten: Emscripten: An LLVM-to-WebAssembly Compiler
  • LLVM 言語マニュアル(Language Reference Manual)

    この文書は、LLVMアセンブリ言語の参照マニュアルです。 LLVMは、型安全で、低水準な操作ができる、柔軟な、 そして 全ての 高級言語を簡潔に表現できる能力を提供する静的単一代入(Static Single Assignment:SSA)ベースの表現です。 これはLLVMのコンパイル戦略のすべてのフェイズにわたって使用される共通コード表現です。 LLVMコード表現は、3つの異なる形式で使用できるように設計されています。 インメモリコンパイラ(IR)、 ディスク上でのビットコード表現(JITコンパイラの高速ロード対応)、 そして、可読アセンブリ言語表現です。 これは、変形にデバッグや視覚化の自然さを残しながら、 LLVMが効率的なコンパイラ変形および分析に強力な中間表現を提供することを可能にします。 LLVMの3つの異なる形式はすべて等価です。 このドキュメントは人間の判読可能な表現および

  • llvm-pascal -Object Pascal compiler for LLVM - Google Project Hosting

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.

    llvm-pascal -Object Pascal compiler for LLVM - Google Project Hosting
  • clang_complete - C++でゲームプログラミング

    さて、前回も書きましたが OmniCppComplete (ctags)では補完されるコードに限界があります。 例えば、次のようなコードはうまく補完が行えません。 #include <boost/mpl/vector.hpp> namespace mpl = boost::mpl; mpl:: // ←ここでうまく補完されない。 そこで、clang_complete というプラグインを使用してみます。 clang_complete は現在開発中のコンパイラ『clang』を利用して、コードの補完を行ってくれるプラグインです。 ☆環境 ・WindowsXP ・gcc 4.5.0 ・msvc2010(msvc2008) ・clang_complete ・clang 2.9 ☆clang clang とは、LLVM をバックエンドとして使用する次世代のコンパイラです。。 clang では『静的コー

    clang_complete - C++でゲームプログラミング
  • nothingcosmos wiki

    2016/05/04 LLVMのビルド方法 2014/04/08 OpenJDKのビルド方法 2014/02/23 作成したスライド 2014/02/22 JVM(HotSpot) VS. Dart VM 2014/02/16 RevisionLog32000台 DartVMのリビジョンログ 2014/01/11 RevisionLog31000台 2013/12/23 RevisionLog30000台 LLVMとの連携方法 2013/12/09 LLVMに関して LLVMのデバッグ方法 SSA形式 2013/11/10 RevisionLog29000台 2013/10/21 JITコンパイラ メニュー 自動並列化 ベクトル化 GCCに関して 2013/10/20 RevisionLog28000台 2013/09/28 RevisionLog27000台

  • LLVMを捨てたやつが書く、怪しげなLLVM入門 - miura1729の日記

    >>> @miura1729 RT @yppp: あーあ、llvm使って言語作りたいけどバイトコードの 組み立てかたがわからない・・・・・・、 あとBoehm GCの組み込みかたも・・・・・・、まずはASTを作れって話なんだけどなw ああ、やる気がほしいhttp://twitter.com/repeatedly/status/29599415588 ご指名戴いて嬉しかったのでちょっとまとめてみます。かなり間違い、偏りもあると思いますが、教えてもらえると嬉しいです。 LLVMを使ってコンパイラを書く場合、LLVMの命令を知らないと話にならないのでまずは、LLVMの命令を覚えます。 http://llvm.org/docs/LangRef.html でも、これ全部読んでも余り使わないと思います。とりあえず、 NamedTypes http://llvm.org/docs/LangRef.htm

    LLVMを捨てたやつが書く、怪しげなLLVM入門 - miura1729の日記
  • 1