セルフホスティングCコンパイラを書いた - 茅の下      2019-04-14 19:20:33  詳細
セルフホスト(自分自身をビルド)できるCコンパイラnoccを書きました。 github.com はじめに 去年の夏あたりからCコンパイラを書くのが流行っていたのでやってみました。 例によって@rui314さんの8cc、9ccと低レイヤを知りたい人のための Cコンパイラ作成入門を参考にしていますが、バックエンドにはLLVMを使用しています...
https://ryooooooga.hateblo.jp/entry/2019/04/14/162547
MLIR: A new intermediate representation and compiler framework      2019-04-11 00:20:41  詳細
MLIR: A new intermediate representation and compiler framework Posted by: The TensorFlow MLIR Team The TensorFlow ecosystem contains a number of compilers and optimizers that operate at multiple levels of the software and hardware stack. As a day-to-day user of TensorFlow, this multi-level stack ...
https://medium.com/tensorflow/mlir-a-new-intermediate-representation-and-compiler-framework-beba999ed18d
Compiler Performance and LLVM      2019-04-05 00:20:42  詳細
I have always wanted the Cone compiler to be fast. Faster build times make it easier and more pleasant for the programmer to iterate and experiment quickly. Compilers built for speed, such as Turbo Pascal, D and Go, win praise and loyalty. Languages that struggle more with this, like C++ or Rust,...
http://pling.jondgoodwin.com/post/compiler-performance/
LLVM 8.0.0 Release Notes — LLVM 8 documentation      2019-03-22 10:20:34  詳細
A new CMake check when configuring LLVM provides a soft-error if your toolchain will become unsupported soon. You can opt out of the soft-error by setting the LLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN CMake variable to ON. Known Issues¶ These are issues that couldn’t be fixed before the release. See t...
http://releases.llvm.org/8.0.0/docs/ReleaseNotes.html
GitHub - tinygo-org/tinygo: Go compiler for small places. Microcontrollers, WebAssembly, and command-line tools. Based on LLVM.      2019-03-12 23:20:33  詳細
Dismiss Join GitHub today GitHub is home to over 31 million developers working together to host and review code, manage projects, and build software together. Sign up Go compiler for small places. Microcontrollers, WebAssembly, and command-line tools. Based on LLVM. https://tinygo.org
https://github.com/tinygo-org/tinygo
go2ll: A toy Go compiler with LLVM - Google スライド      2019-03-12 09:20:28  詳細
go2ll: A toy Go compiler with LLVM Go Sheffield, 7th March 2019 Peter Waller GitHub: pwaller Gophers Slack: pwaller
https://docs.google.com/presentation/d/e/2PACX-1vSXVZ2l-BYUeuQ6fLgCH5oGfKeXTsYB360Z0N3xe77WxGatqfUG2XOoOef4gzzQFJT14Ps7gaa-BOmx/pub?slide=id.g33148270ac_0_143
GitHub - indutny/llparse: Generating parsers in LLVM IR      2019-03-08 15:20:27  詳細
Dismiss Join GitHub today GitHub is home to over 31 million developers working together to host and review code, manage projects, and build software together. Sign up
https://github.com/nodejs/llparse
TinyGoで始める組み込みプログラミング - 144Labグループ開発者ブログ      2019-03-01 13:20:28  詳細
144labの入江田です。 今回TinyGoという素敵なプロダクトを試してみました。 TinyGoとは TinyGoは本家Go言語の組み込み向けのサブセット版。 本家Go言語はPOSIX-OSに対する機能依存が大きく、リッチなランタイムを持っています。その為、本来はOSを持たない組み込み用途には不向きでした。 TinyGoはPOSIX-OSに依存する機...
https://tech.144lab.com/entry/tinygo
Goodbye Gnu-EFI!      2019-02-17 22:20:30  詳細
The recommended way to link UEFI applications on linux was until now through GNU-EFI, a toolchain provided by the GNU Project that bridges from the ELF world into COFF/PE32+. But why don’t we compile directly to native UEFI? A short dive into the past of GNU Toolchains, its remnants, and a surpri...
https://dvdhrm.github.io/2019/01/31/goodbye-gnuefi/
GitHub - ovr/StaticScript: TypeScript compiler on top of TypeScript as frontend and LLVM as backend      2019-01-23 20:20:31  詳細
Dismiss Join GitHub today GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together. Sign up
https://github.com/ovr/StaticScript
Mapping High Level Constructs to LLVM IR — Mapping High Level Constructs to LLVM IR documentation      2019-01-21 16:20:24  詳細
About¶ This is a gitbook dedicated to providing a description on how LLVM based compilers map high-level language constructs into the LLVM intermediate representation (IR). This document targets people interested in how modern compilers work and want to learn how high-level language constructs ca...
https://mapping-high-level-constructs-to-llvm-ir.readthedocs.io/en/latest/README.html
The LLVM Foundation      2019-01-06 22:20:30  詳細
The LLVM relicensing effort aims to modernize the LLVM Licensing structure and developer policy. The high level goals of the relicensing effort are to: Encourage ongoing contributions to LLVM by preserving a low barrier to entry for contributors. Protect users of LLVM code by providing explicit p...
http://llvm.org/foundation/relicensing/
Rust Atomic compare and swap 2018 editionのRISC-Vソース〜LLVMを添えて〜 - Qiita      2019-01-04 13:20:32  詳細
$ cargo build Compiling spin v0.4.10 error[E0599]: no method named `compare_and_swap` found for type `core::sync::atomic::AtomicBool` in the current scope --> | 157 | while self.lock.compare_and_swap(false, true, Ordering::Acquire) != false | ^^^^^^^^^^^^^^^^ error[E0599]: no method named `compar...
https://qiita.com/tomoyuki-nakabayashi/items/1ec7e075d4417c1a1fbe
Low-level programming with the high-level language      2018-12-24 15:20:45  詳細
Low-level programming with the high-level language. Kenta Sato (@bicycle1885)
https://docs.google.com/presentation/d/1k78l7PRnPJTSc4JQlsx7Y314A1PZpIEzQbnTy0ed18c/edit#slide=id.p
LLVMを用いたチート対策ツールを作っている話 - Technology of DeNA      2018-12-24 11:20:55  詳細
この記事はDeNA Advent Calendar 2018の24記事目です。 こんにちは、セキュリティ部セキュリティ技術グループ ツール開発チームの小竹 泰一(aka tkmru)です。 脆弱性診断業務の傍ら、ツール開発チームでは、パッチ管理ツールやチート対策、脆弱性診断のためのツール開発を行っています。 この記事では開発中のLLVMを用い...
https://engineer.dena.jp/2018/12/anti-cheat-tool-using-llvm.html
rev.ng      2018-12-15 18:20:47  詳細
rev.ng rev.ng is a suite of tools for binary analysis based on QEMU and LLVM, aiming at accuracy and portability of the analyses across a wide range of architectures. How to try it out Binary translation The core tool in rev.ng is revamb, our static binary translator. revamb can translate a stati...
https://rev.ng/
LLVM 6.0 で作るフロントエンドの道しるべ - Qiita      2018-12-13 15:20:50  詳細
本記事はC++でLLVM 6.0を用いてフロントエンドを作成する、その第一歩を踏み出すための記事です。はじめに、C++でLLVM IRを生成する方法を知るために最小構成のコードを解説し、そのあとPhiの扱いと組み込み関数の実装方法を紹介します。 筆者は今まで、いくつかおもちゃレベルのプログラミング言語を作ってきました。そ...
https://qiita.com/sakasin/items/097fa676ccfd117acaa2
GitHub - indutny/llparse: Generating parsers in LLVM IR      2018-11-19 15:20:45  詳細
Dismiss Join GitHub today GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together. Sign up
https://github.com/indutny/llparse
Rust: The New LLVM | Will Crichton      2018-11-15 12:20:48  詳細
New programming languages with a system-level compile target should choose Rust over LLVM. Targeting Rust can give new languages free package management, a type system, and memory safety while not imposing too many opinions on the language's runtime. With more work on languages, tooling, and Rust...
http://willcrichton.net/notes/rust-the-new-llvm/
Language Server Protocol - NSHipster      2018-11-08 10:20:51  詳細
Last month, Apple announced on the Swift.org forums that it was starting work to adopt the Language Server Protocol (LSP) for Swift and C languages. At Apple we are making it a priority to support high-quality tooling for all Swift developers, including those working on non-Apple platforms. We wa...
https://nshipster.com/language-server-protocol/