タグ

LLVMに関するagwのブックマーク (18)

  • LLVM Tutorial をやったメモ - iwiwi 備忘録

    LLVM Tutorial: Table of Contents — LLVM 5 documentation まだ途中までしかやってないです。Kaleidoscopeという言語の処理系を作っていきます。非常にシンプルな言語です。対話環境で入力されたコードをJITして実行します。 LLVM のバージョンで結構コードが動かないので、バージョンに合わせたチュートリアルを見ると良い。 文のコードは結構間違っている上に、全部の編集箇所を紹介するわけではないので、最終コードと適宜比較しながらやる。 2章末尾で最初にコンパイルするタイミングで 「clang++ -g -O3 toy.cpp でコンパイルしよう!」とか言ってくるけど LLVM のファイルを include してるのでもっとオプションが必要。clang++ toy.cpp `llvm-config --cxxflags --ldflag

    LLVM Tutorial をやったメモ - iwiwi 備忘録
    agw
    agw 2017/04/21
  • sourceforge.jp

    We’re getting things ready Loading your experience… This won’t take long.

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

    最近の投稿 今年の進み具合をプログレスバーで表示する 2025/1/5 日曜日 問題: 積み木を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 木曜日 Ge

  • LLVMに電力効率を最適化するコンパイルオプションの議論

    [Phoronix] Making A Code Compiler Energy-Aware LLVMで、電力効率を最適化するコードを生成するコンパイルオプションの可否について議論されているようだ。 コードの最適化というのは、単に実行速度の最適化だけではない。、コードサイズや最適化もある。デバッグモードでのコンパイルも、デバッグに対する最適化と言える。その様々な目的に特化した最適化に、電力効率を加えようという提案だ。 電力効率最適化のコンパイルオプションを加えようという提案は、3年前に出されたが、当時は却下されている。 Bug 6210 – -O3, -Os, -Oe: optimize for running time, binary size, or energy というのも、ほとんどの場合、電力効率が最大になるコードは、実行速度が最短となるコードである。処理を速く終えることができれば

  • 脱GPLを目指すFreeBSD、FreeBSD 10ではC++標準ライブラリも脱GPL | スラド オープンソース

    原則的には、ソフトウェアからの出力結果は、たとえ使用したソフトウェアがGPLライセンスでも、ライセンスには縛られない(http://www.gnu.org/licenses/gpl-faq.ja.html#CanIUseGPLToolsForNF 参照)から、 GCCでコンパイルしたソフトウェアがGPLの縛りを受けるなんて、ないはずなんだけど。 だったらなんで脱GPL化する必要があるのかと思ってググってみたら http://www.wdic.org/w/TECH/GPLv3 [wdic.org] によると 特許 GPLのコードを使用し、特許が含まれるコードを作成したとする。そのコードはGPL条項に基づいてGPLで公開されなければならない。 GPLv2では、そこに含まれる特許については、特許を持っている人間の裁量に任されており、つまりソースは公開はされるが、特許があるため厳密な意味で自由には

  • FreeBSD GCCアップデート停止、LLVM Clangへ移行 - BSDCan 2010

    レポート FreeBSD GCCアップデート停止、LLVM Clangへ移行 - BSDCan 2010 FreeBSDはシステムコンパイラとツールチェーンの入れ替えを進めている。2010年5月中旬にカナダで開催されたBSDCan2010およびFreeBSD Developer Summitで、このあたりのまとまった議論と発表があった。GCCからLLVMへの移行はFreeBSDのみならず他のOSSプロジェクトでも進んでいる。FreeBSDの事例が他のプロジェクトにすべて当てはまるわけではないが、FreeBSDの場合にはどういった背景があってLLVMへの移行が決定されたのかがわかって興味深い。なお、いくつかのプロジェクトはFreeBSDと似たような理由で移行を進めている。 FreeBSDはこれまでGCCをシステムのデフォルトコンパイラとして採用してきた。強力な機能、必要とするアーキテクチャに

    agw
    agw 2012/09/21
  • JavaがC++に圧勝するコード例 - LLVMとコンパイラとVM

    Author:nothingcosmos(坂頂佑樹) IT系、特にVMに関して 周辺技術の紹介等をしています。 コメント・質問はお気軽にどうぞ。 LLVM wiki twitter:nothingcosmos

  • What Every C Programmer Should Know About Undefined Behavior #3/3

    What Every C Programmer Should Know About Undefined Behavior #3/3 In Part 1 of the series, we took a look at undefined behavior in C and showed some cases where it allows C to be more performant than "safe" languages. In Part 2, we looked at the surprising bugs this causes and some widely held misconceptions that many programmers have about C. In this article, we look at the challenges that compil

  • py2llvm: Python to LLVM translator

  • 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の日記
  • Google、x64やARM向けの「Native Client」を開発 | スラド

    ストーリー by hylom 2010年03月20日 16時43分 「マルチプラットフォームなActiveX」が現実に近づく 部門より Googeは以前から「Native Client」と呼ばれる、ブラウザ上でx86のネイティブコードを実行できる技術を開発していたが、そのx86-64/ARM版も開発していることが発表された(The Chromium Blogの記事)。 ネイティブコードは速度の面で優れているが、自由度が高いため悪意のあるプログラムを作成できるという危険性もある。そのためNative Clientでは、Software Fault Isolation(SFI)と呼ばれる機構を用い、サンドボックス化された環境内でバイナリを実行することでセキュリティを高めている。これによりパフォーマンス低下が発生するものの、Googleはこれに対し独自の技術を開発、パフォーマンス低下を最小限(A

  • LLVM 2.6が23日に正式リリース - マルチスレッド環境により最適化 | パソコン | マイコミジャーナル

    LLVM Projectは21日(米国時間)、最新バージョン「LLVM 2.6」のプレリリース2版のテストを完了し、23日より正式リリースを提供すると発表した。LLVM (Low Level Virtual Machine)はGCC (GNU Compiler Collection)などのコンパイラツールセットの一部として機能するものだが、最近では特にMac OS X 10.6 "Snow Lecopard"に搭載されて話題となった新機能「Grand Central Dispatch (GCD)」をアプリケーション側から呼び出すためのツールセットとして必要になることが知られている。 LLVMは米イリノイ大学アーバナシャンペン校(University of Illinois at Urbana-Champaign)において2000年からスタートしたプロジェクトで、コンパイラの処理をよりダイナ

  • Snow Leopardの「Grand Central Dispatch」(GCD)、FreeBSD 8.1リリースで移植へ | パソコン | マイコミジャーナル

    先日、米AppleがSnow Leopardで主力新機能として投入した「Grand Central Dispatch」(GCD)がオープンソース化されたことを伝えたが、今度はこれを基にしてFreeBSDへのポーティングが行われているという。Apple Insiderが16日(現地時間)に伝えている。 Apple Insiderによれば、英ケンブリッジで開催されたEuroBSDCon 2009において、その成果の一部として、FreeBSDチームが早期プレビューデモをすでに公開している。現在のスケジュールではFreeBSD 8.1のリリースに統合される見込みだという。Mac OS XはBSDの流れを汲むハイブリッドカーネルであることが知られているが、FreeBSDがGCDのポーティングに先鞭をつけたことで、他のUNIX系OSやUNIXライクカーネルでのポーティング作業が今後さらに進む可能性があ

  • 2008-11-25

    『Effective Java 第2版』が11月27日に出版される模様。 ドラマ『ブラッディ・マンデイ』でハッキングにPythonが使われている模様。見れば良かったorz。Pythonもっと流行るかな。 llvmの存在を知った。時代はここまで来ていたのか。C言語はますますマシン語に近くなると思われる。生のCで書いても最適化が必要になるので、下手をしたらllvmで動かした方がパフォーマンスが上がるかもしれない。 py2llvmというのがあるらしいが、期待できる。今のところバイナリは公開していないと思うが、公開されたら試してみたい。pypyでもllvmにビルドできるっぽいが、よく分からない。Cythonも良いと思ったけど、もしかしたらこちらの方が期待できるかも。llvmも動的言語には向かないって書いてあったけど、py2llvmの型推論のアプローチはすばらしい。Cythonのように型を明示的に宣

    2008-11-25
  • atso-net.jp

    We’re getting things ready Loading your experience… This won’t take long.

  • Andreas Gal

    Andreas Gal Entrepreneur. Technologist. Former CTO Mozilla, CEO Silk Labs. Now  Why building a better browser doesn’t translate to a better marketshare I posted a couple weeks ago about Chrome effectively having won the browser wars. The market share observations in the blog post were based on data provided by StatCounter. Several commenters criticized the StatCounter data as inaccurate so I deci

    Andreas Gal
  • 第一回 LLVM 勉強会 - LLVM 勉強会 | Google グループ

    第一回 LLVM 勉強会 日時: 8 月23日(土) 13:00 - 19:00 場所 : 恵比寿ガーデンプレイス SGI ホール(B1F)(<- マックの隣) http://www.sgi.co.jp/company_info/map1.html (時間内ならいつでも入退室可能です) 勉強会内容 LLVM overview by syoyo slide JIT のやりかた by syoyo slide Partial evaluation のやりかた by syoyo slide LLVM First Steps by nyaxt slide code An LLVM benchmark by shinh slide オレ言語の LLVM フロントエンドコンパイラの作り方 by syoyo (MUDA, rsl2llvm, py2llvm あたりの経験を元に) py2llvm sl

  • OpenGL と LLVM の話 - steps to phantasien t(2008-01-19)

    昔の同僚の Apple ファンからメールをもらった. 去年のマイコミジャーナルの記事 にある OpenGL と LLVM の関係がようわからんので教えろとのこと. ざっと説明を書いてみたらそれなりに良いまとめになった気がするので 無断転載してみることに. 若干くどくて知ったかぶり風なのは見逃してください. 1. Shading Language について 最近の OpenGL には Shading Language (略して GLSL) というのがあります. 物体の質感を表現するための専用言語, いわゆる DSL です. 昔の OpenGL は質感の表現に使う式が固定されていて, プログラマはパラメタだけを指定していました. リッチな質感を表現するのにはテクスチャを使い, 更にリッチにするときは複数のテクスチャを使って色々やってました. これを "固定機能パイプライン" といいます. ハー

  • 1