FPGA開発日記

カテゴリ別記事インデックス https://msyksphinz.github.io/github_pages , English Version https://fpgadevdiary.hatenadiary.com/

LLVM

"Creating an LLVM Backend for the Cpu0 Architecture"をやってみる(5. Cpu0 Architecture and LLVM Structure 続き)

LLVMにCpu0アーキテクチャを追加するチュートリアル。ちょっと飛ばしすぎたので一度立ち戻って、LLVMのアーキテクチャについてもう一度勉強し直す。 LLVMにバックエンドを追加するチュートリアル の Cpu0 architecture and LLVM structure をもう一度読み直…

"Creating an LLVM Backend for the Cpu0 Architecture"をやってみる(4. Cpu0 Architecture and LLVM Structure)

LLVMにCpu0アーキテクチャを追加するチュートリアル。ちょっと飛ばしすぎたので一度立ち戻って、LLVMのアーキテクチャについてもう一度勉強し直す。 LLVMにバックエンドを追加するチュートリアル の Cpu0 architecture and LLVM structure をもう一度読み直…

Windows Subsystem for Linux 上で Visual Studio Code 環境を構築する

LLVMのコードとか、非常に巨大なリポジトリを追いかけるときは、やはりIDEに近いような高機能なエディタを使いたい。 Emacsでも良いのだけれども、もっと新しいエディタは無いものか、ということでVisual Studio Codeを使ってみる。さらに、せっかくなのでVi…

"Creating an LLVM Backend for the Cpu0 Architecture"をやってみる(3. BackEndの追加)

LLVMにCpu0アーキテクチャを追加するチュートリアル。次はBackEndの追加を行う。参考にしたのは以下。 Tutorial: Creating an LLVM Backend for the Cpu0 Architecture : Backend structure Backend structure — Tutorial: Creating an LLVM Backend for the…

"Creating an LLVM Backend for the Cpu0 Architecture"をやってみる(2. Cpu0の最初のビルド)

Cpu0のインポートを実施したLLVMの最初のビルドを実施してみる。参考にしたのは以下だ。 Cpu0 architecture and LLVM structure — Tutorial: Creating an LLVM Backend for the Cpu0 Architecture チュートリアルのLLVMのバージョンはどうも古いようで、きち…

"Creating an LLVM Backend for the Cpu0 Architecture"をやってみる(1. Cpu0のアーキテクチャ)

なんかLLVMのバックエンドの資料を読み漁るの、浮気ばっかりしているが面白そうな資料を見つけたのでこっちに浮気してしまった。 もともとはこっちをやろうとしたのだが、Step by Stepじゃないので根気が続かなくなってしまった。 Writing an LLVM Backend —…

RISC-V for LLVMのビルド試行 (2. RISC-Vターゲットでのコンパイルとテスト)

RISC-V on LLVMについて少し調べている。 LLVMのソースコードを眺めていると、TargetとしてRISC-Vが追加されているのを発見した。 なんだ、追加されてるじゃないか。じゃあ動くんじゃないか。 という訳で最新版のLLVM(ver 8.0?)とClangを落としてきて、パッ…

Writing an LLVM Backendをやってみる(1. RISCV64プロジェクトを作成)

LLVMのバックエンドについてより理解するために良さそうな資料を見つけたので一通り触ってみることにした。 Writing an LLVM Backendという。 Writing an LLVM Backend — LLVM 8 documentation この資料では、新しいターゲットアーキテクチャを追加するにあ…

RISC-V for LLVMのビルド試行

コンパイラ勉強会に参加してコンパイラ熱が高まっているので、LLVM for RISC-Vについて久しぶりに調べた。 これまで何度かRISC-V for LLVMについて調べてきたが、Mailing Listなどを見ていてもあまりアップデートがない。 msyksphinz.hatenablog.com msyksph…

LLVM Sanitizerを試す

Zapccを評価するために、図らずも自作RISC-VシミュレータをLLVMに移植したのだった。 LLVMに移植したので、どうせならLLVMのメモリリークチェック機能などについて試行してみたい。 TuringCompleteFM にも出ていたのだが、LLVMのSanitizerはかなり優秀らしい…

高速C++コンパイラZapccの試行(2. GCC / LLVM / zapcc でのコンパイル速度比較)

zapccは先日発表されたClangをベースとしたコンパイラである。基本的な高速化の手法についてはいろんなところで公開されているのでそちらをチェックして欲しい。 サーバクライアント方式にすることで高速化を図っているということなのだが、実際にはどの程度…

高速C++コンパイラZapccの試行(1. 現プロジェクトのインポート)

興味本位ではあるが、高速C++コンパイラとしてオープンソース化されたZapccが非常に気になっている。 LLVMがベースとなっていることだし、いつも新しいコンパイラプラットフォームが公開されたときはRISC-Vの対応について見てしまうので、アーキテクチャの移…