タグ

llvmに関するtarchanのブックマーク (12)

  • TinyGoで始める組み込みプログラミング - スイッチサイエンス 開発者ブログ

    144labの入江田です。 今回TinyGoという素敵なプロダクトを試してみました。 TinyGoとは TinyGoGo言語の組み込み向けのサブセット版。 Go言語はPOSIX-OSに対する機能依存が大きく、リッチなランタイムを持っています。その為、来はOSを持たない組み込み用途には不向きでした。 TinyGoはPOSIX-OSに依存する機能を簡易的な実装で代用しつつLLVM(コンパイラを作る為のフレームワーク)を使って組み込み向けアーキテクチャをサポートするGo言語のコンパイラです。 つまりサポートするCPUアーキテクチャはLLVMがサポートするものを前提にしています。 リポジトリ https://github.com/tinygo-org/tinygo ドキュメント https://tinygo.org/ サポートアーキテクチャ ARMのCortex-M0系 WebAsse

    TinyGoで始める組み込みプログラミング - スイッチサイエンス 開発者ブログ
  • Swiftから透けて見えるAppleのコンパイラ技術

    連載は、はてなエンジニアが、はてなのサービスを支えている技術や日頃注目している技術について解説するものです。Appleは毎年WWDCでいくつもの新規技術を発表していますが、筆者はその中でもObjective-Cの進化に特に注目していました。新たに追加されるAPIやサービスの前では、Objective-Cの進化はあまり注目されてきませんでしたが、実はここ数年の間も進化し続けていました。これにはAppleがコンパイラ技術にコミットしてきたことが大きく影響しています。今回は、Appleのコンパイラ関連技術を振り返り、Swiftにどう繋がるのかを解説します。 はじめに SwiftAppleによって開発された全く新しいプログラミング言語です。WWDC 2014で稲のように現れたこのプログラミング言語は、またたく間に世界中のモバイルアプリ開発者の注目を集めました。 Swiftは衝撃的な登場だった

    Swiftから透けて見えるAppleのコンパイラ技術
  • ARM 64bit でLLVMは見逃せない - 組み込みの人。

    iPhone5S, iPad Airで64bit ARMプロセッサをいち早く製品化したAppleですが、驚きのニュースがありました。 AppleはOS X, iOSのコンパイラツールチェインをgccからclang/LLVMに移行しています。その64bit ARM向けのバックエンドをLLVMのコミュニティに公開し、それを家のツリーのメインラインに統合するという話です。 ニュースの概要は以下の記事で読むことができます。 Apple Open-Sources Their 64-bit ARM LLVM Back-End - Phoronix その続報。 Apple, LLVM Developers Figure Out Their 64-Bit ARM Approach - Phoronix 一次ソースを自分でも確認しました。ことの始まりはLLVMdevのメーリングリストのこの投稿。 http

    ARM 64bit でLLVMは見逃せない - 組み込みの人。
  • asm.jsとかPNaClとかLLVMに興味あったので調べて回ったら少しだけ理解できた話 - hdk_embeddedの日記

    このエントリーは以下の「Webの未来 PNaClとasm.jsでカワルミライ - いま、モバイルWebの先端で起こっていること〜」というスライドへのアンサーエントリーです。 ひょんなことからまとめはじめたのですが、とりあえずタイトルにあがっているようなasm.js(あせむじぇいえす)やPNaCl(ぴなくる)、LLVMという単語が知らない人でもわかないひとがわかった気になれるように書きました。つまりわかってないやつとはエントリを書いている人のことだよ! PNaClとasm.jsでカワルミライ Webの未来 〜 PNaClとasm.jsでカワルミライ - いま、モバイルWebの先端で起こっていること from Kei Nakazawa 結構ブクマが多いのでみんな気になっているんだろうなぁ、という雰囲気があります。 でも読んでみると良く分からない単語があったり、業界背景を理解して

    asm.jsとかPNaClとかLLVMに興味あったので調べて回ったら少しだけ理解できた話 - hdk_embeddedの日記
  • LLVM 3.3、C++11に完全準拠

    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が最近リリースされ、重要な変...

    LLVM 3.3、C++11に完全準拠
  • MPEG RVCからLLVMアセンブリを出力するJADE

    江添亮 自由ソフトウェア主義者 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

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

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

    tarchan
    tarchan 2013/04/18
    >一部の環境(特にARM SoC)では、メモリの利用の電力消費が相対的に大きく、そのような環境では、計算した値をメモリに記録しておくより、再計算したほうが電力効率が高くなるという状況がある
  • GoogleのNative ClientチームがLLVMにx32を所望

    [Phoronix] Google Wants LLVM To Mainline x32 ABI Support [LLVMdev] Upstreaming x32 ABI support なんでも、Native ClientのABIはx86-64環境において32bitアドレスなんだそうで、これはx32の方向性と一致する。したがって、GoogleのNative Clientチームは、LLVMにx32が入って欲しいのだとか。 Native Clientは、ブラウザー上でネイティブコード(x86かARM)を安全に実行するための仕組みである。x32は、x86-64の命令セットの拡張や増加した汎用レジスターの恩恵を受けつつ、アドレスだけは32bitに保ち節約するという、いいとこ取りを狙ったABIで、現在、Linuxカーネル、glibc、gdb、gccといった環境でサポートされている。 アドレス長を

  • LLVMがC++11の機能を使うかどうか議論

    [Phoronix] LLVM Developers Ponder Using C++11 Features [LLVMdev] Using C++'11 language features in LLVM itself LLVMのMLで、LLVMのコードにC++11のいくつかの基的なコア言語機能を使うべきかどうかという議論がなされている。議論を発起したChris Lattnerのメールによれば、 平穏な日だから、ちょっと混ぜっ返すことをしようか。 LLVMで、auto指定子とかrvalueリファレンスとかlambda式等といった、基的なC++11の言語機能(C++11のライブラリ機能は除く)を使い始めるのは、狂気だろうか? 思うに、いくつかの簡単な決まりを設ければ、まともにやっていけるんじゃないだろうか。例えば、言語機能はMSVC 2010以降と、GCCのあるバージョン以降(GCCの

    tarchan
    tarchan 2013/01/10
    >その環境にLLVMをコンパイルできるC++コンパイラーが存在する必要がある。
  • Ubuntu 12.10ではUnity 2Dが廃止される

    [Phoronix] Unity 2D To Go Away In Ubuntu 12.10 Ubuntu 12.10では、Unity 2Dが廃止されるそうだ。Unityに開発リソースを集中するつもりらしい。 では、OpenGLを十分にサポートしていないハードウェアはどうするのかというと、LLVMpipeを使うらしい。 LLVMpipleというのは、OpenGLのソフトウェア実装である。LLVMを使うことにより、ネイティブコードを生成して実行できる。そのため、ソフトウェア実行でも、ある程度のパフォーマンスが得られる。ゲームができるほどではないが、UIとしては実用に耐えるパフォーマンスとなる。 それにしても最近、LLVMpipeがにわかに脚光を浴びている。なかなか面白い。 追記: Unity 2Dが廃止されるのは、そもそもUnity 2Dの開発者であるAurelien Gateauが、と

  • LLVMでJITのパフォーマンスを改善、Mono 2.6 | エンタープライズ | マイコミジャーナル

    Mono is a cross platform, open source .NET development framework. 15日(米国時間)、Mono ProjectからMono 2.6およびMonoDevelop 2.2が公開された。Monoはオープンソースソフトウェアとして開発されている.NET開発フレームワーク。クロスプラットフォームで動作する。Mono 2.6およびMonoDevelop 2.2はメジャーアップグレードにあたり、さまざまな改善と新機能の追加が実施されている。 Mono 2.6およびMonoDevelop 2.2における注目点はMicrosoft Silverlight 2.0で登場したWCFクライアント/サーバへの対応が追加されたこと、3.5のカバー範囲がさらに向上したことがなど。なかでも興味深いのは組み込みのJITコンパイラにLLVMバックエンドが追加さ

    tarchan
    tarchan 2010/01/04
    >SciMarkでは数値が482から610へ向上した
  • 【レポート】GCCに匹敵するコンパイラ?! LLVM - BSDCan2008 | エンタープライズ | マイコミジャーナル

    BSDCan2008、およびその直前に開催されたFreeBSD Developer Summitを通じて関係者がもっとも強い関心を持ったのは、もしかするとChris Lattner氏が担当したセッション「BSD licensed C++ compiler - LLVM and Clang: Next Generation Compiler Technology」だったかもしれない。同氏のセッションで初めてLLVM(Low Level Virtual Machine)について知ったという人も少なからずいたようだ。Lattner氏はLLVMのチーフアーキテクトであり、同技術を語るには適切な人物といえる。 モダンテクニックで開発されたマルチ言語コンパイラインフラ LLVMはモダンなテクニックで開発されたコンパイラインフラストラクチャだ。プログラミング言語に依存しないモダンなオプティマイザとコード

    tarchan
    tarchan 2009/05/27
    コンパイラも世代交代だ!
  • 1