handshake-runner
SYNOPSIS ¶
| handshake-runner [options] [filename] [arguments]
DESCRIPTION ¶
This application executes a function in the given MLIR module. Arguments to the function are passed on the command line and results are returned on stdout. Memref types are specified as a comma-separated list of values. This particular tool is use to check the validity of Standard-to-Handshake conversion in CIRCT.
Example ¶
The following MLIR module first convert to Handshake IR with the circt-opt tool
as circt-opt -create-dataflow <file-name>
. And then the converted handshake IR
can be run by the handshake-runner with a command line argument “2” as
handshake-runner <file-name> 2
and produces the expected result “1”.
module {
func @main(%arg0: index) -> (i8) {
%0 = alloc() : memref<10xi8>
%c1 = constant 1 : i8
store %c1, %0[%arg0] : memref<10xi8>
%1 = load %0[%arg0] : memref<10xi8>
return %1 : i8
}
}
Options ¶
- -h, –help
Prints brief usage information.
- –runStats
Print Execution Statistics
- –toplevelFunction=
<string>
The toplevel function to execute
- -v, –version
Prints the current version number.
EXIT STATUS ¶
If handshake-runner succeeds, it will exit with 0. Otherwise, if an error occurs, it will exit with a non-zero value.
BUGS ¶
See GitHub Issues: https://github.com/llvm/circt/issues
AUTHOR ¶
Maintained by the CIRCT Team ( https://circt.org/).