Build "CIRCT" Circuit IR Compilers and Tools - shijunjing/edk2 GitHub Wiki

Useful reference:

Build

https://github.com/llvm/circt

jshi19@ub2-uefi-b01:~/llvm$ git clone https://github.com/llvm/circt.git
jshi19@ub2-uefi-b01:~/llvm$ cd circt/

change the submodule url from ssh to https

jshi19@ub2-uefi-b01:~/llvm/circt (master)$ vim .gitmodules
[submodule "llvm"]
        path = llvm
        url = https://github.com/circt/llvm.git

jshi19@ub2-uefi-b01:~/llvm/circt (master)$ git diff
diff --git a/.gitmodules b/.gitmodules
index 7a38ca9..69e4762 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -1,3 +1,3 @@
 [submodule "llvm"]
        path = llvm
-       url = [email protected]:circt/llvm.git
+       url = https://github.com/circt/llvm.git
jshi19@ub2-uefi-b01:~/llvm/circt (master)$ git submodule init
Submodule 'llvm' (https://github.com/circt/llvm.git) registered for path 'llvm'
jshi19@ub2-uefi-b01:~/llvm/circt (master)$ git submodule sync
Synchronizing submodule url for 'llvm'
jshi19@ub2-uefi-b01:~/llvm/circt (master)$ git submodule update
wait for ~ 5mins
Cloning into '/home/jshi19/llvm/circt/llvm'...
Submodule path 'llvm': checked out 'c89e46e767e25c426628f6365c577a3248634f1f'

Build and test LLVM/MLIR:

jshi19@ub2-uefi-b01:~/llvm/circt$ sudo apt-get install valgrind
jshi19@ub2-uefi-b01:~/llvm/circt$ mkdir llvm/build/
jshi19@ub2-uefi-b01:~/llvm/circt$ cd llvm/build/
jshi19@ub2-uefi-b01:~/llvm/circt/llvm/build ((HEAD detached at c89e46e767e))$ cmake -G Ninja ../llvm -DLLVM_ENABLE_PROJECTS="mlir" -DLLVM_TARGETS_TO_BUILD="X86;RISCV"  -DLLVM_ENABLE_ASSERTIONS=ON -DCMAKE_BUILD_TYPE=DEBUG
jshi19@ub2-uefi-b01:~/llvm/circt/llvm/build ((HEAD detached at c89e46e767e))$ ninja
jshi19@ub2-uefi-b01:~/llvm/circt/llvm/build ((HEAD detached at c89e46e767e))$ ninja check-mlir

Build and test CIRCT:

jshi19@ub2-uefi-b01:~/llvm/circt (master)$ mkdir build
jshi19@ub2-uefi-b01:~/llvm/circt (master)$ cd build/
jshi19@ub2-uefi-b01:~/llvm/circt/build (master)$ cmake -G Ninja .. -DMLIR_DIR=~/llvm/circt/llvm/build/lib/cmake/mlir -DLLVM_DIR=~/llvm/circt/llvm/build/lib/cmake/llvm -DLLVM_ENABLE_ASSERTIONS=ON -DCMAKE_BUILD_TYPE=DEBUG
jshi19@ub2-uefi-b01:~/llvm/circt/build (master)$ ninja
jshi19@ub2-uefi-b01:~/llvm/circt/build (master)$ ninja check-circt
... ...
Testing Time: 3.33s
  Passed: 124
  Failed:   1
FAILED: test/CMakeFiles/check-circt
cd /home/jshi19/llvm/circt/build/test && /home/jshi19/llvm/circt/llvm/build/./bin/llvm-lit -sv /home/jshi19/llvm/circt/build/test
ninja: build stopped: subcommand failed.