LLVM / Clang
参考:
LLVM / Clangを知る | DevelopersIO
ドキュメント
参考:
LLVM Language Reference Manual | LLVM documentation [Official]
使い方
参考:
LLVM + clang で LLVM IR やアセンブリを出力する | ymyzk’s blog
チュートリアル
参考:
LLVM Tutorial | LLVM documentation [Official]
Clang
参考:
Clang – C Language Family Frontend for LLVM [Official]
clang LLVM コンパイラー
clang
clang++
cc
cpp
c++
as
llvm-gcc
llvm-g++
$ cc --version Apple LLVM version 9.0.0 (clang-900.0.38) Target: x86_64-apple-darwin16.7.0 Thread model: posix InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
-g
:デバッグ情報を埋め込む
-emit-llvm
:LLVM IR を出力する
参考:
LLVM Command Guide | LLVM documentation [Official]
アセンブリ (.s) を出力する
参考:
LLVM + clang で LLVM IR やアセンブリを出力する | ymyzk’s blog
How to generate assembly code with clang in Intel syntax? – Stack Overflow
How do you use gcc to generate assembly code in Intel syntax? – Stack Overflow
LLVM-IR
参考:
LLVM 6.0 で作るフロントエンドの道しるべ – Qiita
LLVM を始めよう!〜 LLVM IR の基礎は clang が教えてくれた・Brainf**k コンパイラを作ってみよう 〜 | プログラムモグモグ
LLVM で LLVM-IR を生成して眺める – GitHub Gist
My First LLVM Compiler | Wilfred Hughes::Blog
LLVM IR コード
参考:
フィボナッチ数列の LLVM IR を読む | アルパカ三銃士
“int main(void) { return 0; }” の LLVM IR を読んだメモ | ギークもどきの日記帳
最適化
参考:
clang + llvm でさりげなくすごいコードが生成されていた話。| 組み込みの人。
可変長配列 / VLA / VLAIS
参考:
LLVM/Clang がぜってーサポートしねーと宣言している Linux カーネルに多用されている GCC 拡張 | 本の虫
LLVM をインストールする
参考:
LLVM ソースコードのコンパイルをしようと思ってハマった罠とそこから脱出するための努力 – Qiita
How to install recent clang++ with Homebrew? – Ask Different