qlang開発環境
LLVMを使って開発する時に便利なのが、フロントエンドのIRを解決できれば、バックエンド側が無くてもとりあえずはOKというのもあって、必ずしもRISC-V LLVMが手元に無くても開発を進めることが出来る。
ということで、開発環境はこんな感じになっている。
・Macbook : Xcode/clang-10
・IDE : VScode
Xcodeを最新にするとclang-10になっていた。RISC-V側のLLVMも9/10をターゲットにしているから、まぁ大丈夫動くだろう。VScodeを使うのはエディタとして優れていて、gitも簡単、デバック環境もサクッと作れるというのがある。
デバック環境を少しメモとして残しておく。
1. githubからコードを持ってきてVScode入れる

2. launch.jsonを用意する
デバック用のファイルlaunch.jsonを用意する。”command + shift + p”でDebug: Open launch.jsonとかで次へ。




3. launch.jsonを編集する
デフォルトだとデバックできないので、次のように編集する。(これはqlang用で、他の環境やビルドターゲットで異なるですね)
{
"version": "0.2.0",
"configurations": [
{
"name": "qlang debug configurations",
"type": "cppdbg",
"request": "launch",
"program": "${workspaceFolder}/qlang",
"args": [
"example/test.q"
],
"stopAtEntry": true,
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": true,
"MIMode": "lldb",
"logging": {
"trace": true,
"traceResponse": true,
"engineLogging": true
}
}
]
}
これで準備はOKあとはデバックするだけ。F5でデバックを開始すると…

とまぁ、こんな感じでフロントエンド側のコードをデバックして進めることが出来る。うまくIRが出来たら、RISC-V LLVM/シュミレーター(spike)が動く環境でもコードの同期を取って実行すれば動作確認までサクサク進められる。独自の命令セットを使っている部分は使わなければそのままVScode上でもx86ターゲットで動作確認をすることが出来る。