diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 42eb92003..ba902f301 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -37,43 +37,29 @@ jobs: compiler: - { cc: clang, cxx: clang++ } - { cc: gcc, cxx: g++ } - # m32 1 is deprecated, not here to speed up regressions - m32: [0] - exclude: - # Build pull requests only with ubuntu-22.04 and without m32 - # - os: ${{ github.event_name == 'pull_request' && 'ubuntu-18.04' || 'do-not-exclude' }} - # - os: ${{ github.event_name == 'pull_request' && 'ubuntu-20.04' || 'do-not-exclude' }} - # - m32: ${{ github.event_name == 'pull_request' && 1 || 'do-not-exclude' }} - # Build -m32 only on ubuntu-22.04 clang++ - - {os: ubuntu-18.04, m32: 1} - - {os: ubuntu-20.04, m32: 1} - - compiler: { cc: gcc, cxx: g++ } - m32: 1 include: # Build GCC 10 on ubuntu-20.04 - os: ubuntu-20.04 compiler: { cc: gcc-10, cxx: g++-10 } - m32: 0 runs-on: ${{ matrix.os }} - name: Build | ${{ matrix.os }} | ${{ matrix.compiler.cc }} ${{ matrix.m32 && '| -m32' || '' }} + name: Build | ${{ matrix.os }} | ${{ matrix.compiler.cc }} env: CI_BUILD_STAGE_NAME: build CI_RUNS_ON: ${{ matrix.os }} - CI_M32: ${{ matrix.m32 }} CC: ${{ matrix.compiler.cc }} CXX: ${{ matrix.compiler.cxx }} - CACHE_BASE_KEY: build-${{ matrix.os }}-${{ matrix.compiler.cc }}-m32=${{ matrix.m32 }} + CACHE_BASE_KEY: build-${{ matrix.os }}-${{ matrix.compiler.cc }} CCACHE_MAXSIZE: 1000M # Per build matrix entry (* 5 = 5000M in total) - VERILATOR_ARCHIVE: verilator-${{ github.sha }}-${{ matrix.os }}-${{ matrix.compiler.cc }}${{ matrix.m32 && '-m32' || '' }}.tar.gz + VERILATOR_ARCHIVE: verilator-${{ github.sha }}-${{ matrix.os }}-${{ matrix.compiler.cc }}.tar.gz steps: - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: path: repo - name: Cache $CCACHE_DIR - uses: actions/cache@v3 + uses: actions/cache@v4 env: CACHE_KEY: ${{ env.CACHE_BASE_KEY }}-ccache with: @@ -93,7 +79,7 @@ jobs: run: tar --posix -c -z -f ${{ env.VERILATOR_ARCHIVE }} repo - name: Upload tar archive - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: path: ${{ github.workspace }}/${{ env.VERILATOR_ARCHIVE }} name: ${{ env.VERILATOR_ARCHIVE }} @@ -108,40 +94,28 @@ jobs: compiler: - { cc: clang, cxx: clang++ } - { cc: gcc, cxx: g++ } - m32: [0] suite: [dist-vlt-0, dist-vlt-1, dist-vlt-2, vltmt-0, vltmt-1] - exclude: - # Build pull requests only with ubuntu-22.04 and without m32 - # - os: ${{ github.event_name == 'pull_request' && 'ubuntu-18.04' || 'do-not-exclude' }} - # - os: ${{ github.event_name == 'pull_request' && 'ubuntu-20.04' || 'do-not-exclude' }} - # - m32: ${{ github.event_name == 'pull_request' && 1 || 'do-not-exclude' }} - # Build -m32 only on ubuntu-22.04 - - {os: ubuntu-18.04, m32: 1} - - {os: ubuntu-20.04, m32: 1} - - compiler: { cc: gcc, cxx: g++ } - m32: 1 include: - # Test with GCC 10 on ubuntu-20.04 without m32 - - {os: ubuntu-20.04, compiler: { cc: gcc-10, cxx: g++-10 }, m32: 0, suite: dist-vlt-0} - - {os: ubuntu-20.04, compiler: { cc: gcc-10, cxx: g++-10 }, m32: 0, suite: dist-vlt-1} - - {os: ubuntu-20.04, compiler: { cc: gcc-10, cxx: g++-10 }, m32: 0, suite: dist-vlt-2} - - {os: ubuntu-20.04, compiler: { cc: gcc-10, cxx: g++-10 }, m32: 0, suite: vltmt-0} - - {os: ubuntu-20.04, compiler: { cc: gcc-10, cxx: g++-10 }, m32: 0, suite: vltmt-1} + # Test with GCC 10 on ubuntu-20.04 + - {os: ubuntu-20.04, compiler: { cc: gcc-10, cxx: g++-10 }, suite: dist-vlt-0} + - {os: ubuntu-20.04, compiler: { cc: gcc-10, cxx: g++-10 }, suite: dist-vlt-1} + - {os: ubuntu-20.04, compiler: { cc: gcc-10, cxx: g++-10 }, suite: dist-vlt-2} + - {os: ubuntu-20.04, compiler: { cc: gcc-10, cxx: g++-10 }, suite: vltmt-0} + - {os: ubuntu-20.04, compiler: { cc: gcc-10, cxx: g++-10 }, suite: vltmt-1} runs-on: ${{ matrix.os }} - name: Test | ${{ matrix.os }} | ${{ matrix.compiler.cc }} | ${{ matrix.suite }} ${{ matrix.m32 && '| -m32' || '' }} + name: Test | ${{ matrix.os }} | ${{ matrix.compiler.cc }} | ${{ matrix.suite }} env: CI_BUILD_STAGE_NAME: test CI_RUNS_ON: ${{ matrix.os }} - CI_M32: ${{ matrix.m32 }} CC: ${{ matrix.compiler.cc }} CXX: ${{ matrix.compiler.cxx }} - CACHE_BASE_KEY: test-${{ matrix.os }}-${{ matrix.compiler.cc }}-m32=${{ matrix.m32 }}-${{ matrix.suite }} + CACHE_BASE_KEY: test-${{ matrix.os }}-${{ matrix.compiler.cc }}-${{ matrix.suite }} CCACHE_MAXSIZE: 100M # Per build per suite (* 5 * 5 = 2500M in total) - VERILATOR_ARCHIVE: verilator-${{ github.sha }}-${{ matrix.os }}-${{ matrix.compiler.cc }}${{ matrix.m32 && '-m32' || '' }}.tar.gz + VERILATOR_ARCHIVE: verilator-${{ github.sha }}-${{ matrix.os }}-${{ matrix.compiler.cc }}.tar.gz steps: - name: Download tar archive - uses: actions/download-artifact@v3 + uses: actions/download-artifact@v4 with: name: ${{ env.VERILATOR_ARCHIVE }} path: ${{ github.workspace }} @@ -151,7 +125,7 @@ jobs: run: tar -x -z -f ${{ env.VERILATOR_ARCHIVE }} - name: Cache $CCACHE_DIR - uses: actions/cache@v3 + uses: actions/cache@v4 env: CACHE_KEY: ${{ env.CACHE_BASE_KEY }}-ccache with: @@ -174,10 +148,9 @@ jobs: env: CI_BUILD_STAGE_NAME: build CI_RUNS_ON: ubuntu-22.04 - CI_M32: 0 steps: - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: path: repo diff --git a/.github/workflows/contributor.yml b/.github/workflows/contributor.yml index e40acd32d..7904a333b 100644 --- a/.github/workflows/contributor.yml +++ b/.github/workflows/contributor.yml @@ -13,5 +13,5 @@ jobs: name: "'docs/CONTRIBUTORS' was signed" runs-on: ubuntu-22.04 steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - run: test_regress/t/t_dist_contributors.pl diff --git a/.github/workflows/coverage.yml b/.github/workflows/coverage.yml index 4dcffead4..760a843b0 100644 --- a/.github/workflows/coverage.yml +++ b/.github/workflows/coverage.yml @@ -11,7 +11,6 @@ on: env: CI_OS_NAME: linux CI_COMMIT: ${{ github.sha }} - CI_M32: 0 COVERAGE: 1 VERILATOR_ARCHIVE: verilator-coverage-${{ github.sha }}.tar.gz @@ -31,7 +30,7 @@ jobs: steps: - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: path: repo @@ -46,7 +45,7 @@ jobs: run: tar --posix -c -z -f ${{ env.VERILATOR_ARCHIVE }} repo - name: Upload tar archive - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: path: ${{ github.workspace }}/${{ env.VERILATOR_ARCHIVE }} name: ${{ env.VERILATOR_ARCHIVE }} @@ -81,7 +80,7 @@ jobs: steps: - name: Download tar archive - uses: actions/download-artifact@v3 + uses: actions/download-artifact@v4 with: name: ${{ env.VERILATOR_ARCHIVE }} path: ${{ github.workspace }} diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index 759421e35..7a55fa921 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -35,7 +35,7 @@ jobs: steps: - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Extract context variables run: | diff --git a/.github/workflows/format.yml b/.github/workflows/format.yml index 3aa88e6a6..6a498715d 100644 --- a/.github/workflows/format.yml +++ b/.github/workflows/format.yml @@ -16,10 +16,9 @@ jobs: CI_OS_NAME: linux CI_RUNS_ON: ubuntu-22.04 CI_COMMIT: ${{ github.sha }} - CI_M32: 0 steps: - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: token: ${{ secrets.GITHUB_TOKEN }} - name: Install packages for build diff --git a/.github/workflows/msbuild.yml b/.github/workflows/msbuild.yml index fe148ad6e..95c5ceee1 100644 --- a/.github/workflows/msbuild.yml +++ b/.github/workflows/msbuild.yml @@ -32,11 +32,11 @@ jobs: name: run on windows runs-on: windows-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: path: repo - name: Cache $CCACHE_DIR - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: ${{ env.CCACHE_DIR }} key: msbuild-msvc-cmake @@ -49,7 +49,7 @@ jobs: - name: Zip up repository run: Compress-Archive -LiteralPath install -DestinationPath verilator.zip - name: Upload zip archive - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: path: ${{ github.workspace }}/repo/verilator.zip name: verilator-win.zip diff --git a/CMakeLists.txt b/CMakeLists.txt index af9bdf1e0..fbaa90306 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -15,7 +15,7 @@ cmake_minimum_required(VERSION 3.15) cmake_policy(SET CMP0091 NEW) # Use MSVC_RUNTIME_LIBRARY to select the runtime project(Verilator - VERSION 5.020 + VERSION 5.022 HOMEPAGE_URL https://verilator.org LANGUAGES CXX ) diff --git a/Changes b/Changes index f40ca5aa1..7ca038a7b 100644 --- a/Changes +++ b/Changes @@ -8,12 +8,68 @@ The changes in each Verilator version are described below. The contributors that suggested a given feature are shown in []. Thanks! +Verilator 5.022 2024-04-24 +========================== + +**Minor:** + +* Add predicted stack overflow warning (#4799). +* Add `+verilator+coverage+file` runtime option. +* Add `--assert-case` option (#4919). [Yutetsu TAKATSUKASA] +* Add `--decorations node` for inserting debug comments into emitted code. +* Add `--json-only` and related JSON dumping (#4715) (#4831). [Szymon Gizler, Antmicro Ltd.] +* Add `--[no]-stop-fail` option for continuing after assertions (#4904). [Yutetsu TAKATSUKASA] +* Add `--runtime-debug` for Verilated executable runtime debugging. +* Add `--valgrind` switch (#4828). [Szymon Gizler] +* Add `unroll_disable` and `unroll_full` loop control metacomments (#3260). [Jiaxun Yang] +* Remove deprecated 32-bit pointer mode (`gcc -m32`). +* Deprecate --xml-only and XML dumping (#4715) (#4831). +* Change zero replication width error to ZEROREPL warning (#4753) (#4762). [Pengcheng Xu] +* Improve message for priority case assertion failure (#4905). [Yutetsu TAKATSUKASA] +* Support dumping coverage with `--main`. +* Support dumping DFG patterns with `--stats` (#4889). [Geza Lore] +* Support `vpiConstType` in `vpi_get_str()` (#4797). [Marlon James] +* Support SystemC 3.0.0 public review version (#4805) (#4807). [Anthony Donlon] +* Support parsing anonymous primitive instantiations (#4809). [Anthony Donlon] +* Fix to not emit already waived warnings in waiver output (#4574) (#4818). [Jonathan Schröter] +* Fix `this` in member initialization (#4710). [eliasphanna] +* Fix localparam elaboration (#3858) (#4794). [Andrew Nolte] +* Fix lint_off disables on preprocessor warnings (#4703). [Srinivasan Venkataramanan] +* Fix $time not rounding up (#4790) (#4792). [Paul Wright] +* Fix `vpi_get()` and `vpi_get64()` to return vpiUndefined on errors (#4795). [Marlon James] +* Fix VPI parameter iteration (#4798). [Marlon James] +* Fix delays using wrong timeunit when modules inlined (#4806). [Paul Wright] +* Fix warnings in verilated_sc_trace.h for Clang. (#4807) (#4827). [Anthony Donlon] +* Fix null pointer dereference (#4810) (#4825). [Adrian Sampson] +* Fix compilation error on multi-inherited interface class usage (#4819). +* Fix maybe-uninitialized compiler warning (#4820) (#4822). [Larry Doolittle] +* Fix mis-splitting of dump control functions (#4821). [Fan Shupei] +* Fix wrong utimes() parameter (#4829). [Szymon Gizler] +* Fix incorrect bit-op-tree NOT optimization (#4832) (#4847). [Yutetsu TAKATSUKASA] +* Fix width calculation in replaceShiftOp (#4837) (#4841) (#4849). [Yutetsu TAKATSUKASA] +* Fix unsafe write in wide array insertion (#4850) (#4855). [Paul Swirhun] +* Fix NOT when checking EQ/NEQ under AND/OR tree (#4857) (#4863). [Yutetsu TAKATSUKASA] +* Fix tracing chandles (#4860). [Nathan Graybeal] +* Fix $fwrite of null (#4862). [Jose Tejada] +* Fix -fno-const-bit-op-tree wrong runtime result (#4864) (#4867). [Yutetsu TAKATSUKASA] +* Fix SystemC biguint sign desynchronization (#4870). [Bartłomiej Chmiel] +* Fix incorrect temporary insertion in loop conditions with statements (#4873). [Geza Lore] +* Fix timing with expr on assign LHS (#4880). [Krzysztof Bieganski, Antmicro Ltd.] +* Fix assertion for unique case (#4892). [Yutetsu TAKATSUKASA] +* Fix GCC tautological-compare warnings. +* Fix compile error on structs with queues (and ignore toggle coverage on queues). +* Fix toggle coverage error on multi-edge driven signals. +* Fix whitespace in `pragma protect version` (#4902) (#4914). [Paul Swirhun] +* Fix incorrect code generation for change expression on typedefed unpacked array (#4915). [Geza Lore] +* Fix inconsistent driver resolution with typedefs (#4917). [Geza Lore] + + Verilator 5.020 2024-01-01 ========================== **Major:** -* Support compilation with precompiled headers with Make and GCC or CLang. +* Support compilation with precompiled headers with Make, and GCC or CLang. * Change include to systemc instead of systemc.h (#4622) (#4623). [Chih-Mao Chen] This may require that SystemC programs add 'using namespace sc_core', 'using namespace sc_dt'. @@ -271,7 +327,7 @@ Verilator 5.012 2023-06-13 * Optimize VPI callValueCbs (#4155). [Hennadii Chernyshchyk] * Configure for faster C++ linking using 'mold', if it is installed. * Fix crash on duplicate imported modules (#3231). [Robert Balas] -* Fix false WIDTHEXPAND on array declarations (#3959). [JOTEGO] +* Fix false WIDTHEXPAND on array declarations (#3959). [Jose Tejada] * Fix marking overridden methods as coroutines (#4120) (#4169). [Krzysztof Bieganski, Antmicro Ltd] * Fix SystemC signal copy macro use (#4135). [Josep Sans] * Fix duplicate static names in blocks in functions (#4144) (#4160). [Stefan Wallentowitz] diff --git a/Makefile.in b/Makefile.in index 205c912d9..ea2b6d5ad 100644 --- a/Makefile.in +++ b/Makefile.in @@ -112,7 +112,7 @@ SUBDIRS = docs src test_regress \ examples/make_tracing_c \ examples/make_tracing_sc \ examples/make_protect_lib \ - examples/xml_py \ + examples/json_py \ INFOS = verilator.html verilator.pdf @@ -269,7 +269,7 @@ installdata: $(MKINSTALLDIRS) $(DESTDIR)$(pkgdatadir)/examples/cmake_tracing_c $(MKINSTALLDIRS) $(DESTDIR)$(pkgdatadir)/examples/cmake_tracing_sc $(MKINSTALLDIRS) $(DESTDIR)$(pkgdatadir)/examples/cmake_protect_lib - $(MKINSTALLDIRS) $(DESTDIR)$(pkgdatadir)/examples/xml_py + $(MKINSTALLDIRS) $(DESTDIR)$(pkgdatadir)/examples/json_py cd $(srcdir) \ ; for p in $(VL_INST_DATA_SRCDIR_FILES) ; do \ $(INSTALL_DATA) $$p $(DESTDIR)$(pkgdatadir)/$$p; \ @@ -305,7 +305,7 @@ uninstall: -rmdir $(DESTDIR)$(pkgdatadir)/examples/cmake_tracing_c -rmdir $(DESTDIR)$(pkgdatadir)/examples/cmake_tracing_sc -rmdir $(DESTDIR)$(pkgdatadir)/examples/cmake_protect_lib - -rmdir $(DESTDIR)$(pkgdatadir)/examples/xml_py + -rmdir $(DESTDIR)$(pkgdatadir)/examples/json_py -rmdir $(DESTDIR)$(pkgdatadir)/examples -rmdir $(DESTDIR)$(pkgdatadir) -rmdir $(DESTDIR)$(pkgconfigdir) @@ -340,7 +340,7 @@ CPPCHECK_FLAGS = --enable=all --inline-suppr \ --suppress=useStlAlgorithm CPPCHECK_FLAGS += --xml CPPCHECK_DEP = $(subst .cpp,.cppcheck,$(CHECK_CPP)) -CPPCHECK_INC = -I$(srcdir)/include -I$(srcdir)/src/obj_dbg -I$(srcdir)/src +CPPCHECK_INC = -I$(srcdir)/include -I$(srcdir)/include/gtkwave -I$(srcdir)/include/vltstd -I$(srcdir)/src/obj_dbg -I$(srcdir)/src cppcheck: cppcheck-1 cppcheck-2 cppcheck-3 cppcheck-4 cppcheck-5 cppcheck-6 cppcheck-7 cppcheck-8 cppcheck-1: @@ -399,8 +399,8 @@ PY_PROGRAMS = \ bin/verilator_gantt \ bin/verilator_includer \ bin/verilator_profcfunc \ - examples/xml_py/vl_file_copy \ - examples/xml_py/vl_hier_graph \ + examples/json_py/vl_file_copy \ + examples/json_py/vl_hier_graph \ docs/guide/conf.py \ docs/bin/vl_sphinx_extract \ docs/bin/vl_sphinx_fix \ diff --git a/README.rst b/README.rst index 6fb7c5e4d..c5bfe2b5d 100644 --- a/README.rst +++ b/README.rst @@ -66,9 +66,9 @@ executable performs the design simulation. Verilator also supports linking Verilated generated libraries, optionally encrypted, into other simulators. Verilator may not be the best choice if you are expecting a full-featured -replacement for a closed-source Verilog simulator, needs SDF annotation, +replacement for a closed-source Verilog simulator, need SDF annotation, mixed-signal simulation, or are doing a quick class project (we recommend -`Icarus Verilog`_ for classwork.) However, if you are looking for a path +`Icarus Verilog`_ for classwork). However, if you are looking for a path to migrate SystemVerilog to C++/SystemC, or want high-speed simulation of designs, Verilator is the tool for you. @@ -80,12 +80,12 @@ Verilator does not directly translate Verilog HDL to C++ or SystemC. Rather, Verilator compiles your code into a much faster optimized and optionally thread-partitioned model, which is in turn wrapped inside a C++/SystemC module. The results are a compiled Verilog model that executes even on a -single-thread over 10x faster than standalone SystemC, and on a single +single thread over 10x faster than standalone SystemC, and on a single thread is about 100 times faster than interpreted Verilog simulators such as `Icarus Verilog`_. Another 2-10x speedup might be gained from multithreading (yielding 200-1000x total over interpreted simulators). -Verilator has typically similar or better performance versus the +Verilator has typically similar or better performance versus closed-source Verilog simulators (e.g., Carbon Design Systems Carbonator, Modelsim/Questa, Cadence Incisive/NC-Verilog, Synopsys VCS, VTOC, and Pragmatic CVer/CVC). But, Verilator is open-sourced, so you can spend on diff --git a/bin/verilator b/bin/verilator index 56e4008b3..93e6d11e1 100755 --- a/bin/verilator +++ b/bin/verilator @@ -32,6 +32,7 @@ my $opt_rr; my $opt_gdbbt; my $opt_quiet_exit; my $opt_unlimited_stack = 1; +my $opt_valgrind; # No arguments can't do anything useful. Give help if ($#ARGV < 0) { @@ -59,6 +60,7 @@ if (! GetOptions( "quiet-exit!" => \$opt_quiet_exit, "rr!" => \$opt_rr, "unlimited-stack!" => \$opt_unlimited_stack, + "valgrind!" => \$opt_valgrind, # Additional parameters "<>" => sub {}, # Ignored )) { @@ -109,6 +111,18 @@ if ($opt_gdb) { . " -ex \"run " . join(' ', @quoted_sw)."\"" . " -ex 'set width 0'" . " -ex 'bt' -ex 'quit'"); +} elsif ($opt_valgrind) { + # Run under valgrind + my $valgrind_bin = ($ENV{VERILATOR_VALGRIND} || "valgrind --error-exitcode=1 --max-stackframe=2815880" + # Magic number sugested by valgrind, may need to be increased in future + # if you get warnings. See: https://valgrind.org/docs/manual/manual-core.html#opt.max-stackframe + ); + + run (ulimit_stack_unlimited() + . aslr_off() + . $valgrind_bin + . " " . verilator_bin() + . " " . join(' ', @quoted_sw)); } elsif ($Debug) { # Debug run(ulimit_stack_unlimited() @@ -299,6 +313,7 @@ detailed descriptions of these arguments. +1800-2012ext+ Use SystemVerilog 2012 with file extension +1800-2017ext+ Use SystemVerilog 2017 with file extension --assert Enable all assertions + --assert-case Enable unique/unique0/priority case related checks --autoflush Flush streams after all $displays --bbox-sys Blackbox unknown $system calls --bbox-unsup Blackbox unsupported language features @@ -307,7 +322,6 @@ detailed descriptions of these arguments. --build-dep-bin Override build dependency Verilator binary --build-jobs Parallelism for --build --cc Create C++ output - --cdc Clock domain crossing analysis -CFLAGS C++ compiler arguments for makefile --clk Mark specified signal as clock --no-clk Prevent marking specified signal as clock @@ -325,7 +339,8 @@ detailed descriptions of these arguments. --no-debug-leak Disable leaking memory in --debug mode --debugi Enable debugging at a specified level --debugi- Enable debugging a source file at a level - --no-decoration Disable comments and symbol decorations + --decorations Set output comment and spacing level + --no-decoration Disable comments and lower spacing level --default-language Default language to parse +define+= Set preprocessor define --dpi-hdr-only Only produce the DPI header file @@ -334,6 +349,7 @@ detailed descriptions of these arguments. --dump-graph Enable dumping V3Graphs to .dot files --dump-tree Enable dumping Ast .tree files --dump-tree-addrids Use short identifiers instead of addresses + --dump-tree-dot Enable dumping Ast .tree.dot debug files --dump- Enable dumping everything in source file --dumpi-dfg Enable dumping DfgGraphs to .dot files at level --dumpi-graph Enable dumping V3Graphs to .dot files at level @@ -347,6 +363,8 @@ detailed descriptions of these arguments. -f Parse arguments from a file -FI Force include of a file --flatten Force inlining of all modules, tasks and functions + --future0