diff --git a/.clangd b/.clangd index f2c51e8..ac9acd4 100644 --- a/.clangd +++ b/.clangd @@ -1,5 +1,21 @@ -CompileFlags: - CompilationDatabase: ./circt/build -Diagnostics: - Suppress: - - "misc-definitions-in-headers" \ No newline at end of file +If: + PathMatch: "rtlil-emit/*" + CompileFlags: + CompilationDatabase: "rtlil-emit/build" + +--- + +If: + PathMatch: "circt/*" + CompileFlags: + CompilationDatabase: "circt/build" + Diagnostics: + Suppress: + - "misc-definitions-in-headers" + +--- + +If: + PathMatch: "circt/llvm/*" + CompileFlags: + CompilationDatabase: "circt/llvm/build" \ No newline at end of file diff --git a/.gitignore b/.gitignore index 33b586e..697b28a 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,3 @@ -rtlil-emit/build \ No newline at end of file +rtlil-emit/build +rtlil-emit/.cache +.direnv \ No newline at end of file diff --git a/build.sh b/build.sh index cfffda5..50e276c 100755 --- a/build.sh +++ b/build.sh @@ -1,8 +1,7 @@ +set -euo pipefail #LLVM - -mkdir -p ./circt/llvm/build; -pushd ./circt/llvm/build; -cmake -G Ninja ../llvm \ +mkdir -p ./circt/llvm/build +cmake -S ./circt/llvm/llvm -B ./circt/llvm/build -G Ninja \ -DLLVM_ENABLE_PROJECTS="mlir" \ -DLLVM_TARGETS_TO_BUILD="host" \ -DLLVM_ENABLE_ASSERTIONS=ON \ @@ -10,22 +9,16 @@ cmake -G Ninja ../llvm \ -DLLVM_USE_SPLIT_DWARF=ON \ -DLLVM_ENABLE_LLD=ON \ -DLLVM_PARALLEL_LINK_JOBS=1 \ - -DLLVM_PARALLEL_COMPILE_JOBS=16 \ - -DLLVM_OPTIMIZED_TABLEGEN=ON; -ninja; -popd; + -DLLVM_OPTIMIZED_TABLEGEN=ON \ + -DLLVM_CCACHE_BUILD=ON +ninja -C ./circt/llvm/build #CIRCT -mkdir -p ./circt/build; -pushd ./circt/build; -cmake .. --preset debug; -ninja; -popd; +mkdir -p ./circt/build +cmake -S ./circt -B ./circt/build --preset debug +ninja -C ./circt/build #rtlil-emit - -mkdir -p ./rtlil-emit/build; -pushd ./rtlil-emit/build; -cmake .. --preset debug; -ninja; -popd; \ No newline at end of file +mkdir -p ./rtlil-emit/build +cmake -S ./rtlil-emit -B ./rtlil-emit/build --preset debug +ninja -C ./rtlil-emit/build; diff --git a/circt b/circt index 451dc4f..1f04611 160000 --- a/circt +++ b/circt @@ -1 +1 @@ -Subproject commit 451dc4f9468dbc79e00b54b93501ecc02d1505c5 +Subproject commit 1f046111960972bfe2f0d8b815bbe0e7299d1915 diff --git a/flake.lock b/flake.lock index 45497c4..264109e 100644 --- a/flake.lock +++ b/flake.lock @@ -2,11 +2,11 @@ "nodes": { "nixpkgs": { "locked": { - "lastModified": 1755736253, - "narHash": "sha256-jlIQRypNhB1PcB1BE+expE4xZeJxzoAGr1iUbHQta8s=", + "lastModified": 1757034884, + "narHash": "sha256-PgLSZDBEWUHpfTRfFyklmiiLBE1i1aGCtz4eRA3POao=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "596312aae91421d6923f18cecce934a7d3bfd6b8", + "rev": "ca77296380960cd497a765102eeb1356eb80fed0", "type": "github" }, "original": { diff --git a/nix/overlay.nix b/nix/overlay.nix index 846a81f..91fa8e7 100644 --- a/nix/overlay.nix +++ b/nix/overlay.nix @@ -7,16 +7,19 @@ final: prev: rec { }).overrideAttrs ( finalAttrs: previousAttrs: { - version = "0.55"; + version = "0.57"; src = prev.fetchFromGitHub { owner = "YosysHQ"; repo = "yosys"; - tag = "v${finalAttrs.version}"; - hash = "sha256-GddNbAtH5SPm7KTa5kCm/vGq4xOczx+jCnOSQl55gUI="; + rev = "83fa0448107e31360393366ba4bef15a713ba5f4"; + hash = "sha256-FZ1h3p0NS3W/eqHgROvpOdib73qX+gsUGwGYJUA9uVg="; fetchSubmodules = true; leaveDotGit = true; inherit (previousAttrs.src) postFetch; # Preserve the postFetch script }; + patches = [ + (builtins.elemAt previousAttrs.patches 1) + ]; doCheck = false; makeFlags = previousAttrs.makeFlags ++ [ "ENABLE_ABC=0" diff --git a/rtlil-emit/CMakeLists.txt b/rtlil-emit/CMakeLists.txt index 4b4b60b..dc683d0 100644 --- a/rtlil-emit/CMakeLists.txt +++ b/rtlil-emit/CMakeLists.txt @@ -17,6 +17,8 @@ if(POLICY CMP0116) endif() project(mlir-emit LANGUAGES CXX C) +set(CMAKE_CXX_STANDARD 17) +set(CMAKE_CXX_STANDARD_REQUIRED ON) find_package(CIRCT REQUIRED CONFIG PATHS ../circt/build) list(APPEND CMAKE_MODULE_PATH "${MLIR_CMAKE_DIR}") @@ -90,4 +92,4 @@ target_link_libraries(rtlil-emit PRIVATE ${LIBS}) # mlir_check_all_link_libraries(rtlil-opt) -mlir_check_all_link_libraries(rtlil-emit) \ No newline at end of file +mlir_check_all_link_libraries(rtlil-emit) diff --git a/rtlil-emit/CMakePresets.json b/rtlil-emit/CMakePresets.json index ae4deed..8697bc0 100644 --- a/rtlil-emit/CMakePresets.json +++ b/rtlil-emit/CMakePresets.json @@ -14,7 +14,6 @@ "LLVM_USE_SPLIT_DWARF": "ON", "LLVM_ENABLE_LLD": "ON", "LLVM_PARALLEL_LINK_JOBS": "1", - "LLVM_PARALLEL_COMPILE_JOBS": "16", "CMAKE_EXPORT_COMPILE_COMMANDS": "1", "CMAKE_C_COMPILER": "clang", "CMAKE_CXX_COMPILER": "clang++" @@ -22,4 +21,5 @@ "binaryDir": "${sourceDir}/build" } ] -} \ No newline at end of file +} +