タグ

LLVMに関するwasaiのブックマーク (8)

  • 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でさりげなくすごいコードが生成されていた話。 - 組み込みの人。
  • PNaCl: GoogleがLLVMを介してChromeにネイティブサポートを更に追加

    Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。このでは、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

    PNaCl: GoogleがLLVMを介してChromeにネイティブサポートを更に追加
  • x86/x64最適化勉強会5 レポート - Cybozu Inside Out | サイボウズエンジニアのブログ

    こんにちはサイボウズ・ラボの光成です。 今回は3月30日に開催された「x86/x64最適化勉強会5」の模様についてお伝えします。 x86/x64最適化勉強会会場 プログラム開発においては、開発の段階において早すぎる最適化は悪、当に必要になってから最小限だけ行いなさいと言われています。 また今どきのコンパイラは優秀なので、下手な小細工はせずにコンパイラに任せておくのがよいとも言われています。 もちろん一般的にはそれは正しいのですが、普段動画や音声を利用するときに使われているコーデック、ネット上での決済時に利用される暗号ライブラリなどは、人の手によるアセンブリ言語で開発されていることが多いのもまた事実です。 私が主催しているこの勉強会はそういう下回りのライブラリを開発するときに必要な技術や情報の交換のために行っています。 ustreamで過去の会の動画も含めてみることができます。 以下、やや

    x86/x64最適化勉強会5 レポート - Cybozu Inside Out | サイボウズエンジニアのブログ
  • きつねさんでもわかる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についていろいろと調べ始めましたが、 ほとんど資料が無く特にバックエンドに関しては皆無のような状態で苦労しました。 自分が理解でき

    wasai
    wasai 2012/07/29
    これほしいけど、買いそびれそうな気がする…w
  • llvmの基本となるツールたち 〜llvm 入門 その1〜 - tokuhirom's blog

    3つのツールをためすhelloworld.c はこちら。 #include <stdio.h> int main( ) { printf("Hello World!\n"); }llvmアセンブリを生成! $ llvm-gcc -S -emit-llvm helloworld.c helloworld.s ができてた。 ; ModuleID = 'helloworld.c' target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64" target triple = "x86_64-apple-darwin11.4" @.str

    wasai
    wasai 2012/07/16
    読んでおく
  • 1