先日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.
既にもちさんが紹介記事を書いてる通り、「きつねさんでもわかるLLVM」が商業誌で販売されます。 お話を頂いた時は驚いたと同時にこの体裁(主に表紙)や内容で大丈夫なんだろうかと不安にもなりました。 結果としてはオリジナルの(同人誌らしい)部分をそのままに、より良い内容になったと思います。 電子書籍と商業誌版の違いについてはもちさんの記事やサークル公式ページでもまとめてあるのでここでは割愛します。 ちなみに上の画像はジュンク堂書店池袋本店さんで宣伝に使って頂く店頭POPになります。 矢上先生の手書きの絵(レアらしい)が見られるのはジュンク堂だけ!! 本を書くと言うことについて 右も左もわからない状態でコミケに出したところからここまで来たわけですが、 よく周りの人から次の2つのパターンで言われることがあります。 本を書くほどのネタ(技術力?)がない いつかは本を書きたい 似たような面もあるのです
江添亮 自由ソフトウェア主義者 C++ Evangelist C++標準化委員会の委員 ドワンゴ社員 C++11本を執筆した。 株式会社ドワンゴで働いている。 Mail:boostcpp@gmail.com Twitter:@EzoeRyou GitHub: https://github.com/EzoeRyou 江添亮のマストドン@EzoeRyou 筆者にブログのネタを提供するために、品物をアマゾンお気に入りリスト経由で送りたい場合: Amazon.co.jp: 江添亮: 江添のほしい物リスト 筆者にブログのネタを提供するために、直接に品物を送りたい場合、住所をメールで質問してください。 View my complete profile ► 2020 (31) ► December (2) ► November (2) ► September (2) ► August (4) ► Jul
Currently, LLVM releases are distributed under the Apache-2.0 with LLVM-exception license, an OSI-approved license. However, LLVM releases prior to LLVM 8.0 was licensed under University of Illinois Open Source License. If you are interested in LLVM you can follow along on our Discourse forum. New releases are posted to the Announce category which you can subscribe to in order to be notified via E
プログラミング (iOS, JavaScript, Jenkins, Sikuli) とMacやiPhoneなどの話題が中心のブログ EmscriptenはC/C++ソースからJavaScriptソースへ変換するコンパイラです。 BananaBreadのようなゲームやPythonやRubyのようなスクリプト言語もコンパイルできるようです (Emscripten Wikiにはそれ以外のデモやサンプルへのリンクがあります)。 そこで、今回は導入してHello worldを実行させるまでの手順を紹介します。 Emscriptenの導入 コンパイラであるem++を使うだけなら意外と簡単に導入できます。 XcodeのCommand Line Toolsは導入済みとします。 JavaScriptの最適化ツールであるClosureコンパイラはEmscriptenに (古いバージョンですが) 入っています
Not your computer? Use a private browsing window to sign in. Learn more
前回の「3日で出来るLLVM」にひきつづきLLVM解説本をC83で出します。 タイトルは表紙のきつねさんが特徴の「きつねさんとおぼえるLLVM」です。 LLVM狐本で覚えて下さい! フロントエンド,ミドルエンドは柏木餅子(id:motipizza, @sui_moti)、バックエンドは私が担当しました。 表紙は引き続き矢上さん(blog,tumblr)に書いて頂きました。 (前回同様タイトルと内容があっているとは限りません!!) 内容としては前回からの加筆修正版となっており、主な追加要素としてはJITコンパイルの方法, Passの書き方, バックエンドではオブジェクト生成の方法などがあります。 前回購入された方でも十分満足できる内容が追加されているのではないかと思います。 特に餅さんが担当したJITコンパイルのところは非常に面白い話になっています。 私が担当したバックエンドも構成を見直して
LLVMの解説本をC82の2日目(8/11)西し39aで出します。 タイトルは「3日で出来るLLVM」です. LLVMを使ってコンパイラを作るという内容になっています。 フロントエンドとミドルエンドはid:motipizza(@sui_moti)が担当し、自分はバックエンドの担当です。 表紙は矢上さん(blog)に書いていただきました。かわいい表紙でよくできているのでこれだけでも売れそうです。 目次は以下のようになっています。 はしがき 第一章:はじめに 第二章:コンパイラとLLVM 第三章:環境構築 第四章:LLVM IR 第五章:フロントエンドを作る 第六章:Pass について 第七章:バックエンドを作る あとがき LLVM解説本を作ると決まってからLLVMについていろいろと調べ始めましたが、 ほとんど資料が無く特にバックエンドに関しては皆無のような状態で苦労しました。 自分が理解でき
If you read the LLVM 2.7 release notes carefully you would have noticed that one of the new external users is the Glasgow Haskell Compiler (GHC). As the author of the LLVM backend for GHC, I have been invited to write a post detailing the design of the backend and my experiences with using LLVM. This is that post :). I began work on the backend around July last year, undertaking it as part of an h
LLVM 3.1 Release Notes Clang 3.1 Release Notes なんでリリースが遅れたのかはわからない。IRCでは、gcc4.7では、ほとんどのSTLが動かない。リリース前までに直す必要があるということが議論されていたように思う。 とにかく、LLVM 3.1のリリースは、C++的になかなか興味深い。 まず、このリリースによって、C++11のコア言語のほとんどの機能はサポートされた。特に、lambda、initializer list、constexpr、user defined literalのサポートは大きい。というより、サポートしていない機能を挙げたほうが早い。サポートしていないコア言語の機能とは、AttributeとInheriting Constructorsとthreadlocalぐらいなものである。thredlocalは必要だが、Attribute
[Phoronix] FreeBSD 10 To Use Clang Compiler, Deprecate GCC FreeBSDのGCC離れが加速しているようだ。FreeBSD 10では、Clangがデフォルトのコンパイラーとなり、GCCはdeprecated扱いとなる。FreeBSDの思想からすれば、GNUのツールチェインからなるべく離れたいのは分かる。Clangのライセンスは、FreeBSDにとって非常に都合がいい。 すでにFreeBSDのカーネルは、Clangによって警告なしでコンパイルが通るそうだ。FreeBSDのパッケージも、「Clangでビルドできなければバグ」とみなして、問題の洗い出しを進めているそうだ。 LLVMとClangは、最近、目覚しい発展をしている。GCCがコードベースのモジュール化を検討するほど危機感を持つのも分かる。 その他のFreeBSDの動向については、
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く