qlang開発環境

quantum computing

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とかで次へ。

Debug: Open launch.jsonで次へ
C++ (GB/LLDB)を選択して次へ
clang++ build and debug active fileで次へ
launch.jsonが無いのでエラーになる。Cancelで次へ。

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ターゲットで動作確認をすることが出来る。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です