LLVM
LLVMにCpu0アーキテクチャを追加するチュートリアル。ちょっと飛ばしすぎたので一度立ち戻って、LLVMのアーキテクチャについてもう一度勉強し直す。 LLVMにバックエンドを追加するチュートリアル の Cpu0 architecture and LLVM structure をもう一度読み直…
LLVMにCpu0アーキテクチャを追加するチュートリアル。ちょっと飛ばしすぎたので一度立ち戻って、LLVMのアーキテクチャについてもう一度勉強し直す。 LLVMにバックエンドを追加するチュートリアル の Cpu0 architecture and LLVM structure をもう一度読み直…
LLVMのコードとか、非常に巨大なリポジトリを追いかけるときは、やはりIDEに近いような高機能なエディタを使いたい。 Emacsでも良いのだけれども、もっと新しいエディタは無いものか、ということでVisual Studio Codeを使ってみる。さらに、せっかくなのでVi…
LLVMにCpu0アーキテクチャを追加するチュートリアル。次はBackEndの追加を行う。参考にしたのは以下。 Tutorial: Creating an LLVM Backend for the Cpu0 Architecture : Backend structure Backend structure — Tutorial: Creating an LLVM Backend for the…
Cpu0のインポートを実施したLLVMの最初のビルドを実施してみる。参考にしたのは以下だ。 Cpu0 architecture and LLVM structure — Tutorial: Creating an LLVM Backend for the Cpu0 Architecture チュートリアルのLLVMのバージョンはどうも古いようで、きち…
なんかLLVMのバックエンドの資料を読み漁るの、浮気ばっかりしているが面白そうな資料を見つけたのでこっちに浮気してしまった。 もともとはこっちをやろうとしたのだが、Step by Stepじゃないので根気が続かなくなってしまった。 Writing an LLVM Backend —…
RISC-V on LLVMについて少し調べている。 LLVMのソースコードを眺めていると、TargetとしてRISC-Vが追加されているのを発見した。 なんだ、追加されてるじゃないか。じゃあ動くんじゃないか。 という訳で最新版のLLVM(ver 8.0?)とClangを落としてきて、パッ…
LLVMのバックエンドについてより理解するために良さそうな資料を見つけたので一通り触ってみることにした。 Writing an LLVM Backendという。 Writing an LLVM Backend — LLVM 8 documentation この資料では、新しいターゲットアーキテクチャを追加するにあ…
コンパイラ勉強会に参加してコンパイラ熱が高まっているので、LLVM for RISC-Vについて久しぶりに調べた。 これまで何度かRISC-V for LLVMについて調べてきたが、Mailing Listなどを見ていてもあまりアップデートがない。 msyksphinz.hatenablog.com msyksph…
Zapccを評価するために、図らずも自作RISC-VシミュレータをLLVMに移植したのだった。 LLVMに移植したので、どうせならLLVMのメモリリークチェック機能などについて試行してみたい。 TuringCompleteFM にも出ていたのだが、LLVMのSanitizerはかなり優秀らしい…
zapccは先日発表されたClangをベースとしたコンパイラである。基本的な高速化の手法についてはいろんなところで公開されているのでそちらをチェックして欲しい。 サーバクライアント方式にすることで高速化を図っているということなのだが、実際にはどの程度…
興味本位ではあるが、高速C++コンパイラとしてオープンソース化されたZapccが非常に気になっている。 LLVMがベースとなっていることだし、いつも新しいコンパイラプラットフォームが公開されたときはRISC-Vの対応について見てしまうので、アーキテクチャの移…