タグ LLVM
人気順 10 users 50 users 100 users 500 users 1000 usersMojoは「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... 続きを読む
「RISC-V+LLVM本 付録2. 浮動小数点命令」を無償公開しました - FPGA開発日記
「作って学ぶコンピュータアーキテクチャ」では、執筆時点ですでに500ページを超えてしまい、泣く泣く2章分を削除しています。 1つ目の付録である「付録1. 関数呼び出しのバリエーションと高度な機能」についてはすでに公開済みですが、もう一つの「付録2. 浮動小数点命令」についても公開しました。 こちらは、LLVMに浮... 続きを読む
コンパイラが作ったバイナリをつなぎ合わせるプログラム 「lld」の作者が語る、リンカの仕組み
Kernel/VM探検隊はカーネルや仮想マシンなどを代表とした、低レイヤーな話題でワイワイ盛り上がるマニアックな勉強会です。植山氏は、制作中のリンカである「mold」について発表しました。全2回。前半は、リンカの概要について話しました。 LLVMのリンカ「lld」オリジナルの作者 植山類氏:植山類です。今僕が作っている... 続きを読む
フルスクラッチから作って理解するQEMU (Rust編) - FPGA開発日記
モチベーション なぜRustを選んだか? 私はQEMUは「アーキテクチャエミュレーション界のLLVM」だと思っている QEMUが高速な理由:TCG Binary Translation ゲスト命令(RISC-V) → TCG → ホスト命令(x86)の処理をRustで作ろう RISC-Vの命令をフェッチしてデコードする RISC-Vの命令をTCGに変換する TCGをx86に変換する 実装... 続きを読む
Rust + PEG + LLVM で電卓を作る - Qiita
use crate::ast::Node; use crate::error::CreateExecutionEngineError; use crate::parser; use failure; use failure::Error; use inkwell; use inkwell::builder::Builder; use inkwell::context::Context; use inkwell::execution_engine::JitFunction; use inkwell::OptimizationLevel; type SumFunc = unsafe exte... 続きを読む
ウワサのBlawnを触ってみた - Qiita
どんな言語なの 独自の系統の文法を持つシステムプログラミング言語のようです。コンパイラのツールスタックはbison, yacc, LLVMと定番のツールを使い熟して書かれています。 Blawnの特徴は 型名の記述が一切不要 構文の可読性が高い すべての関数/クラスがC++でいうところのテンプレート関数/クラス コンパイル速度と実... 続きを読む
Debian GNU/Hurd 2019公開 - LLVMに対応 | マイナビニュース
Debian GHU/Hurdチームは7月7日(東ヨーロッパ時間)、「Debian GNU/Hurd 2019 released!」において、Debian GNU/Hurdの最新版となる「Debian GNU/Hurd」の公開を伝えた。 このバージョンはDebian "stretch"リリース(2019年7月)時点におけるDebian "sid"スナップショットをベースに開発されている。このリリースはDebianリ... 続きを読む
LLVMを用いたチート対策ツールを作っている話 - Technology of DeNA
この記事はDeNA Advent Calendar 2018の24記事目です。 こんにちは、セキュリティ部セキュリティ技術グループ ツール開発チームの小竹 泰一(aka tkmru)です。 脆弱性診断業務の傍ら、ツール開発チームでは、パッチ管理ツールやチート対策、脆弱性診断のためのツール開発を行っています。 この記事では開発中のLLVMを用い... 続きを読む
本の虫: 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位のコミット... 続きを読む
Windows版「Google Chrome」のコンパイラーが「MSVC」から「Clang」に - やじうまの杜 - 窓の杜
やじうまの杜 Windows版「Google Chrome」のコンパイラーが「MSVC」から「Clang」に 今のところバイナリのサイズとパフォーマンスは一長一短、今後の最適化に期待 樽井 秀人 2018年3月8日 06:00 “やじうまの杜”では、ニュース・レビューにこだわらない幅広い話題をお伝えします。 「LLVM」プロジェクトの公式ブログ オープンソースのコンパイラープラットフォーム「L... 続きを読む
AVAST、自社開発のマシンコード逆コンパイラー「RetDec」をオープンソース化 - 窓の杜
ニュース AVAST、自社開発のマシンコード逆コンパイラー「RetDec」をオープンソース化 インフラストラクチャーには実績のある「LLVM」を採用し、MITライセンスで無償提供 樽井 秀人 2018年1月30日 13:58 オンラインサービスから利用した「RetDec」(同社ブログより引用) チェコのAVAST Softwareは25日(日本時間)、自社開発のマシンコード逆コンパイラー「Ret... 続きを読む
Perl で Compiler::CodeGenerator::LLVM を用いて LLVM IR を出力する - アルパカ三銃士
2018 - 01 - 16 Perl で Compiler::CodeGenerator::LLVM を用いて LLVM IR を出力する Perl c++ 約 4 年前になると思うが、 @goccy54 さんが LLVM のライブラリを用いて、 Perl のコードから LLVM IR を生成するといった夢のようなモジュールを作成されていた。 それが Compiler::CodeGenerato... 続きを読む
LLVMとは | Developers.IO
前回の記事「 Rubyの処理系とGCについて 」を書いたときに、LLVMがイマイチ理解できずもやっとしてたので調べました。このエントリーは「LLVMとは」でググった(先日の僕のような)人向けの記事です。間違ったことを書いてあったら教えてください。 疑問 この記事を書く前の疑問はおおよそ以下の様なものです。 LLVMはコンパイラ基盤って言われてるけど、コンパイラ基盤って何? LLVMはコンパイラ基盤... 続きを読む
本の虫: LLVMがWindowsのデバッグ情報フォーマットのPDBをサポート
LLVM Project Blog: LLVM on Windows now supports PDB Debug Info この数年、clangをWindowsでソフトウェア開発するための世界級のツールチェインにするために尽力してきた。このことについては、 すでに 何度も 書いてきた ことだ。LLVMは完全なABI互換を実現した(ただしバグ互換ではない)。互換性を実現するのが難しい分野にデバッグ... 続きを読む
CRuby向けのLLVMベースのJITコンパイラを書いている話 - k0kubun's blog
2017 - 07 - 09 CRuby向けのLLVMベースのJITコンパイラを書いている話 LLRBという Ruby 向けのメソッド JIT コンパイラ を書いている github.com RubyKaigi 2015の最後のキーノート で @evanphx が「 LLVM でCRubyのコードをインライン化するメソッド JIT を実装したら速いんじゃね」みたいな発表をしていたのを覚えているだろ... 続きを読む
C - C言語のunsigned doubleとは何か?(80733)|teratail
C言語には unsigned double という型があるらしいという情報を入手しました。しかし、C言語規格上はそのような型は存在しませんし、手元のコンパイラ(LLVMとGCC)ではコンパイルできません。 ただ、 unsigned double が書かれた資料(後述)があるため、一部のコンパイラや古いコンパイラではできる、とか、コンパイルオプションを付けるとできる、とか、があるのではないかと思って... 続きを読む
LLVM APIを使ってみよう! 〜 Brainf**kコンパイラをIRBuilderで書き直してみた 〜 - プログラムモグモグ
2017 - 03 - 06 LLVM APIを使ってみよう! 〜 BrainfuckコンパイラをIRBuilderで書き直してみた 〜 LLVM 先日 LLVM の入門記事を書きました。 clangが吐く LLVM IR (Intermediate representation, 中間表現) を頼りに、 Brainf**k の コンパイラ を書いてみました。 itchyny.hatenablog... 続きを読む
LLVMを始めよう! 〜 LLVM IRの基礎はclangが教えてくれた・Brainf**kコンパイラを作ってみよう 〜 - プログラムモグモグ
2017 - 02 - 27 LLVMを始めよう! 〜 LLVM IRの基礎はclangが教えてくれた・Brainf**kコンパイラを作ってみよう 〜 LLVM コンパイラ を作ってみたいと思っていても、 アセンブリ言語 はよくわからない。 パーサーみたいなコードは書いたことがあるけれど、コード生成の処理はさっぱりだ。 実行ファイルを バイナリエディタ ーで見るとかなにそれ怖い。 そんな私なのです... 続きを読む
大学院生のためのLLVM | インフラ・ミドルウェア | POSTD
この記事は、LLVMコンパイラ基盤を使ってリサーチをする人のための入門書です。これを読めば、コンパイラに全く興味のない大学院生も、楽しみながらLLVMを使って優れた功績をあげられるようになるでしょう。この記事は、LLVMコンパイラ基盤を使ってリサーチをする人のための入門書です。これを読めば、コンパイラに全く興味のない大学院生も、楽しみながらLLVMを使って優れた功績をあげられるようになるでしょう。... 続きを読む
ASCII.jp:アップル、「Swift 2」のオープンソース化を発表
アップルは、開発者向けイベント「WWDC 2015」において、「Swift 2」のオープンソース化を発表した。OS X、iOS、Linux向けのコンパイラ、ライブラリ(standard libraries)を2015年内に公開すると明らかにしている。ライセンスは原稿執筆時では不明。コンパイラはLLVM(Clang)を指していると思われる。 ■関連サイト アップルジャパン ASCII.jp - Ma... 続きを読む
正規表現からLLVMへのコンパイラを実装する - Qiita
正規表現技術入門という本の中に、正規表現のJITコンパイルという技術が紹介されている。VM型の正規表現エンジンは以前作った1ので、これをLLVMへコンパイルすればおもしろいのではないかと考えて、実行することにした。なお、実装にはScalaを用いた。 正規表現の抽象構文木 VMの実装の時に用いたものと同じく、次のデータ構造を用いる。 sealed trait Regex case object Em... 続きを読む
今年気になった 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とコンパイラとVM 2014/09のDartに関して
最近のDartってどうなってるんだっけ、、ということで、だらだらと調べたことを書いてみます。 Ecma-408 Dart Spec ===================================================================== 2014年6月25日 ECMAでDartの仕様が承認されたみたいで、Ecma-408という名前で標準化したっぽいです。 その仕様... 続きを読む
LLVMとコンパイラとVM 2014年8月のARTに関して
Google I/O 2014のARTのプレゼンがyoutubeで公開されてました。 英語字幕を追加された人がおり、英語字幕付きで見れるようです。 プレゼンでは、大きく分けてAOTコンパイル、GC、64bit対応に関して紹介していました。 64bit対応に関してはよくわかっていませんが、 ARTのAOTコンパイルとGCに関して、ざっくり実装がどうなっているのか読んでみた結果をまとめてみようと思いま... 続きを読む
LLVMとコンパイラとVM 何故JVM(HotSpot)のUnsafe APIは速いのか
デシリアライズ速度の比較 ByteBuffer vs DirectBuffer vs Unsafe vs C 上記blogを読んで非常に面白い結果だなーと思いまして、 え、Unsafeってこんなに速いの?と思ったので、いろいろ調べてみました。 ...逆にいうとByteBufferを使うとCほどには速くならない。 (1) HotSpot Unsafeの仕組み unsafe系のAPIは、HotSpot... 続きを読む