revng-pipeline#
NAME#
revng pipeline - Low-level (plumbing) commands to run a single pipe or analysis.
These commands enable you to run individual pipes or analyses on plain containers, without having configured a pipeline (--pipeline in revng-project).
SYNOPSIS#
revng pipeline COMMAND NAME [OPTIONS] [ARGS...] [-- PIPEBOX ARGS...]
DESCRIPTION#
The revng pipeline command group is a subcommand of revng.
It runs a single pipe or a single analysis in isolation, reading and writing container files on disk.
These are plumbing commands: they operate on raw containers and models rather than on a project, and are meant for debugging and for building higher-level tooling.
Most users should use revng project or revng quick instead.
Each command comes in two flavours:
- the default (Python-driven) variant, which works for any registered pipe or analysis and takes explicit input and output file arguments;
- a
-nativevariant, which runs only the pipes and analyses that have a native (C++) implementation by executing the corresponding runner inlibexec/revng/directly, without going through Python.
The -native variant is a thin wrapper: it forwards the --*-objects selectors and everything after -- to the native runner. Use it to run a pipe or analysis with minimal overhead, or under a debugger or profiler (--gdb, --valgrind, --perf, ...) without the Python interpreter in the way. The two flavours expose the same set of names; only pipes and analyses with a native implementation appear under the -native variant. Each flavour is documented together with its default counterpart.
COMMANDS#
run-pipe (and run-pipe-native)
: Run a single pipe.
run-analysis (and run-analysis-native)
: Run a single analysis.
SEE ALSO#
revng, revng-pipeline-run-pipe, revng-pipeline-run-analysis, revng-project, revng-quick