タグ LLVM
新着順 10 users 50 users 100 users 500 users 1000 users大学院生のためのLLVM | インフラ・ミドルウェア | POSTD
この記事は、LLVMコンパイラ基盤を使ってリサーチをする人のための入門書です。これを読めば、コンパイラに全く興味のない大学院生も、楽しみながらLLVMを使って優れた功績をあげられるようになるでしょう。この記事は、LLVMコンパイラ基盤を使ってリサーチをする人のための入門書です。これを読めば、コンパイラに全く興味のない大学院生も、楽しみながらLLVMを使って優れた功績をあげられるようになるでしょう。... 続きを読む
LLVMによるプログラミング言語の実装 | 日曜研究室
コメントを残す メールアドレスが公開されることはありません。 名前 メールアドレス ウェブサイト キャプチャコード* コメント 次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em>... 続きを読む
コンパイラが作ったバイナリをつなぎ合わせるプログラム 「lld」の作者が語る、リンカの仕組み
Kernel/VM探検隊はカーネルや仮想マシンなどを代表とした、低レイヤーな話題でワイワイ盛り上がるマニアックな勉強会です。植山氏は、制作中のリンカである「mold」について発表しました。全2回。前半は、リンカの概要について話しました。 LLVMのリンカ「lld」オリジナルの作者 植山類氏:植山類です。今僕が作っている... 続きを読む
ウワサのBlawnを触ってみた - Qiita
どんな言語なの 独自の系統の文法を持つシステムプログラミング言語のようです。コンパイラのツールスタックはbison, yacc, LLVMと定番のツールを使い熟して書かれています。 Blawnの特徴は 型名の記述が一切不要 構文の可読性が高い すべての関数/クラスがC++でいうところのテンプレート関数/クラス コンパイル速度と実... 続きを読む
asm.jsとかPNaClとかLLVMに興味あったので調べて回ったら少しだけ理解できた話 - hdk_embeddedの日記
web | 05:18このエントリーは以下の「Webの未来 PNaClとasm.jsでカワルミライ - いま、モバイルWebの先端で起こっていること〜」というスライドへのアンサーエントリーです。ひょんなことからまとめはじめたのですが、とりあえずタイトルにあがっているようなasm.js(あせむじぇいえす)やPNaCl(ぴなくる)、LLVMという単語が知らない人でもわかないひとがわかった気になれ... 続きを読む
きつねさんでもわかるLLVM - 達人出版会
β版 あらゆる可能性を秘めたコンパイラ基盤として注目されているLLVM。本書はコンパイラを実際に作りながらLLVMのフロントエンドからバックエンドまでを幅広く解説した世界初(!?)のLLVM解説本です。 β版について 本書のステータスは現在β版であり、現在、著者やレビュアの方々により修正が行われている段階です。 いま購入されてお読みいただけるのはその途上の原稿を元にしたものです。 最終的に正式公開... 続きを読む
LLVMを始めよう! 〜 LLVM IRの基礎はclangが教えてくれた・Brainf**kコンパイラを作ってみよう 〜 - プログラムモグモグ
2017 - 02 - 27 LLVMを始めよう! 〜 LLVM IRの基礎はclangが教えてくれた・Brainf**kコンパイラを作ってみよう 〜 LLVM コンパイラ を作ってみたいと思っていても、 アセンブリ言語 はよくわからない。 パーサーみたいなコードは書いたことがあるけれど、コード生成の処理はさっぱりだ。 実行ファイルを バイナリエディタ ーで見るとかなにそれ怖い。 そんな私なのです... 続きを読む
フルスクラッチから作って理解するQEMU (Rust編) - FPGA開発日記
モチベーション なぜRustを選んだか? 私はQEMUは「アーキテクチャエミュレーション界のLLVM」だと思っている QEMUが高速な理由:TCG Binary Translation ゲスト命令(RISC-V) → TCG → ホスト命令(x86)の処理をRustで作ろう RISC-Vの命令をフェッチしてデコードする RISC-Vの命令をTCGに変換する TCGをx86に変換する 実装... 続きを読む
Mojoは「C言語のように速いPython」なのか - k0kubun's blog
LLVMやSwiftを作ったChris LattnerがCEOをやっている会社が、Pythonの使用感とC言語並の性能を併せ持つ言語としてMojoをアナウンスした。 まだ手元で試せる状態でリリースされてはいないが、最大35000倍Pythonより速いという。 Mojo🔥 combines the usability of Python with the performance of C, unlocking unparalle... 続きを読む
CRuby向けのLLVMベースのJITコンパイラを書いている話 - k0kubun's blog
2017 - 07 - 09 CRuby向けのLLVMベースのJITコンパイラを書いている話 LLRBという Ruby 向けのメソッド JIT コンパイラ を書いている github.com RubyKaigi 2015の最後のキーノート で @evanphx が「 LLVM でCRubyのコードをインライン化するメソッド JIT を実装したら速いんじゃね」みたいな発表をしていたのを覚えているだろ... 続きを読む
本の虫: LLVMで5番目に貢献の多い開発者、LLVMの最近のSJW運動に反対して開発をやめると表明
One Of LLVM's Top Contributors Quits Development Over CoC, Outreach Program - Phoronix [llvm-dev] I am leaving llvm Rafael Avila de Espindolaは2006年からLLVMに対して4300以上もコミットした開発者で、現在LLVMの全Authorの中で第5位のコミット... 続きを読む
正規表現からLLVMへのコンパイラを実装する - Qiita
正規表現技術入門という本の中に、正規表現のJITコンパイルという技術が紹介されている。VM型の正規表現エンジンは以前作った1ので、これをLLVMへコンパイルすればおもしろいのではないかと考えて、実行することにした。なお、実装にはScalaを用いた。 正規表現の抽象構文木 VMの実装の時に用いたものと同じく、次のデータ構造を用いる。 sealed trait Regex case object Em... 続きを読む
LLVM解説本をC82で出します - Boost Your Programming!
LLVM LLVMの解説本をC82の2日目(8/11)西し39aで出します。 タイトルは「3日で出来るLLVM」です. LLVMを使ってコンパイラを作るという内容になっています。 フロントエンドとミドルエンドはid:motipizzaを担当し、自分はバックエンドの担当です。 表紙は矢上さん(blog)に書いていただきました。かわいい表紙でよくできているのでこれだけでも売れそうです。 目次は以下のよ... 続きを読む
本の虫: LLVMがWindowsのデバッグ情報フォーマットのPDBをサポート
LLVM Project Blog: LLVM on Windows now supports PDB Debug Info この数年、clangをWindowsでソフトウェア開発するための世界級のツールチェインにするために尽力してきた。このことについては、 すでに 何度も 書いてきた ことだ。LLVMは完全なABI互換を実現した(ただしバグ互換ではない)。互換性を実現するのが難しい分野にデバッグ... 続きを読む
PerlMotion - PerlがiOSにやってくる! - ニュース - Mobile Touch - モバイル/タブレット開発者およびデザイナー向け情報ポータル
RubyMotionと言えばRubyでiOSアプリが書ける技術ですが、その対抗馬としてPerlでiOSアプリが書けるPerlMotionが登場しました。まだまだ開発版ですが、かなり熱いです! 筆者が利用したのはPerlbrewでインストールしたPerl 5.19.3、Homebrewでllvmをインストールしています(brew reinstall llvm --with-clang --with-... 続きを読む
LLVMとコンパイラとVM 何故JVM(HotSpot)のUnsafe APIは速いのか
デシリアライズ速度の比較 ByteBuffer vs DirectBuffer vs Unsafe vs C 上記blogを読んで非常に面白い結果だなーと思いまして、 え、Unsafeってこんなに速いの?と思ったので、いろいろ調べてみました。 ...逆にいうとByteBufferを使うとCほどには速くならない。 (1) HotSpot Unsafeの仕組み unsafe系のAPIは、HotSpot... 続きを読む
Windows版「Google Chrome」のコンパイラーが「MSVC」から「Clang」に - やじうまの杜 - 窓の杜
やじうまの杜 Windows版「Google Chrome」のコンパイラーが「MSVC」から「Clang」に 今のところバイナリのサイズとパフォーマンスは一長一短、今後の最適化に期待 樽井 秀人 2018年3月8日 06:00 “やじうまの杜”では、ニュース・レビューにこだわらない幅広い話題をお伝えします。 「LLVM」プロジェクトの公式ブログ オープンソースのコンパイラープラットフォーム「L... 続きを読む
LLVMとは | Developers.IO
前回の記事「 Rubyの処理系とGCについて 」を書いたときに、LLVMがイマイチ理解できずもやっとしてたので調べました。このエントリーは「LLVMとは」でググった(先日の僕のような)人向けの記事です。間違ったことを書いてあったら教えてください。 疑問 この記事を書く前の疑問はおおよそ以下の様なものです。 LLVMはコンパイラ基盤って言われてるけど、コンパイラ基盤って何? LLVMはコンパイラ基盤... 続きを読む
FreeBSD、x86アーキテクチャにおいて正式にLLVM/Clangへの移行を果たす | スラッシュドット・ジャパン オープンソース
11月5日、ClangがFreeBSDのx86システム(i386およびamd64)におけるデフォルトコンパイラーになったことがfreebsd-currentメーリングリストの投稿で発表された( TechRepublicの記事、 本家/. )。 FreeBSDは脱GPLを進めており、GPLで提供されるGCCからBSDライセンスで提供されるClang/LLVMへの移行が数年前から検討されていた。標準C... 続きを読む
FreeBSD、x86アーキテクチャにおいて正式にLLVM/Clangへの移行を果たす | スラッシュドット・ジャパン オープンソース
11月5日、ClangがFreeBSDのx86システム(i386およびamd64)におけるデフォルトコンパイラーになったことがfreebsd-currentメーリングリストの投稿で発表された( TechRepublicの記事、 本家/. )。 FreeBSDは脱GPLを進めており、GPLで提供されるGCCからBSDライセンスで提供されるClang/LLVMへの移行が数年前から検討されていた。標準C... 続きを読む
LLVMとコンパイラとVM Android の新しいRuntime ARTの話
VM Advent Calender 2013 が始まったんですか? いえ、今年はそんなものないです。。 ARTの概要はこちらを参照 http://d.hatena.ne.jp/embedded/20131104/p1 http://suzunonejh.blog15.fc2.com/blog-entry-4214.html 上記を読んで面白そうだなと思ったので、ちょくちょくARTのソースコードを... 続きを読む
llvm 入門 その1 - tokuhirom's blog.
http://www.ibm.com/developerworks/jp/opensource/library/os-createcompilerllvm1/ 最初なのでとりあえず↑の記事を基本なぞってます。 llvm ってなんなん? LLVMは(Low Level Virtual Machineの略 LLVMは lightweight language とは関係ない。 LLVMはclang/cl... 続きを読む
今年気になった C++ ライブラリとかフレームワークを紹介する記事 - sorry, uninuplemented:
2014-12-17 今年気になった C++ ライブラリとかフレームワークを紹介する記事 C++ この記事は C++ Advent Calendar 2014 の17日目の記事です.前日は @yutopp さんの Boost.Spirit.X3のご紹介 - C++ Advent Calendar 2014(16日目) でした. 最近 Boost.Spirit と LLVM で言語をちまちまと書いて... 続きを読む
LLVM でラムダ計算のコンパイラつくった
LLVM でラムダ計算のコンパイラつくった¶ 本格的に言語をつくる前に,練習として,ちょっとしたラムダ計算のコンパイラをつくってみようと 思った.それができなければ,本格的なコンパイラなど夢のまた夢だろう.そういうわけで, OCaml と LLVM を使用して, ラムダ計算のコンパイラをつくった. ラムダ計算のコンパイラを実装するということは,オリジナルの言語のコンパイラに,高階関数を 実装するこ... 続きを読む
PythonやLuaをWeb上で実行。LLVMをJavaScriptに変換する「Emscripten」 - MOONGIFT|オープンソース・ソフトウェア紹介を軸としたITエンジニア、Webデザイナー向けブログ
EmscriptenはPython/JavaScript製のオープンソース・ソフトウェア。LLVM(Low Level Virtual Machine)という技術がある。ソースコードをアーキテクチャに依存しない中間コードに変換し、最適化した上で各マシン向けにネイティブなコードを出力することでより効率的なバイナリを作成できるというものだ。 Python実行例 つまりLLVMが生成する中間コードを使え... 続きを読む