Run subcommand
The run subcommand can be used to compile your Spice project to an executable file and run it immediately.
Usage¶
Options¶
You can apply following options to the run subcommand:
| Option | Long | Description |
|---|---|---|
-d |
--debug-output |
Print compiler output for debugging. |
-ast |
--dump-ast |
Dump AST as serialized string and SVG image |
| - | --dump-symtab |
Dump serialized symbol tables |
| - | --dump-types |
Dump all used types |
| - | --dump-cache-stats |
Dump stats for compiler-internal lookup caches |
-ir |
--dump-ir |
Dump LLVM-IR |
-s, -asm |
--dump-assembly |
Dump Assembly code |
| - | --dump-object-file |
Dump object files |
| - | --dump-dependency-graph |
Dump compile unit dependency graph |
-j <n> |
--jobs <n> |
Set number of jobs to parallelize compilation (default is auto) |
-o |
--output |
Set path for executable output. |
-O<x> |
- | Set optimization level. Valid options: -O0, -O1, -O2 (default), -O3, -Os, -Oz |
-m |
--build-mode |
Controls the build mode. Valid values: debug (default) and release |
-g |
--debug-info |
Generate debug info to debug the executable in GDB, etc. Valid values: full (default when the flag is given without a value), line-only (DWARF line tables only) and none. A level can only be attached to the long form (e.g. --debug-info=line-only); -g is an alias for --debug-info=full. |
-b |
--build-var |
Add build variable to parametrize the compiled program (e.g. -v key=value) |
| - | --sanitize |
Enable instrumentation for sanitizer. Valid values: none (default), address, thread, memory and type. |
| - | --coverage |
Instrument code for coverage analysis (gcov-compatible .gcno/.gcda output). Implies --debug-info=line-only if no debug info level was requested explicitly, rejects an explicit --debug-info=none, and is incompatible with -lto. |
| - | --disable-verifier |
Disable LLVM module and function verification (only recommended for debugging the compiler) |
| - | --ignore-cache |
Compile always and ignore the compile cache |
| - | --use-lifetime-markers |
Generate lifetime markers to enhance optimizations |
| - | --use-tbaa-metadata |
Generate metadata for type-based alias analysis to enhance optimizations |
| - | --keep-frame-pointers |
Set up a frame pointer in every function, so profilers can walk the stack |