P4C
The P4 Compiler
Loading...
Searching...
No Matches
p4tools/modules/testgen/targets/pna/target.h
1#ifndef BACKENDS_P4TOOLS_MODULES_TESTGEN_TARGETS_PNA_TARGET_H_
2#define BACKENDS_P4TOOLS_MODULES_TESTGEN_TARGETS_PNA_TARGET_H_
3
4#include <cstdint>
5#include <filesystem>
6#include <optional>
7
8#include "backends/p4tools/common/lib/arch_spec.h"
9#include "ir/ir.h"
10#include "ir/solver.h"
11
12#include "backends/p4tools/modules/testgen/core/program_info.h"
13#include "backends/p4tools/modules/testgen/core/symbolic_executor/symbolic_executor.h"
14#include "backends/p4tools/modules/testgen/core/target.h"
15#include "backends/p4tools/modules/testgen/lib/execution_state.h"
16#include "backends/p4tools/modules/testgen/targets/pna/dpdk/cmd_stepper.h"
17#include "backends/p4tools/modules/testgen/targets/pna/dpdk/expr_stepper.h"
18#include "backends/p4tools/modules/testgen/targets/pna/dpdk/program_info.h"
19#include "backends/p4tools/modules/testgen/targets/pna/test_backend.h"
20
22
24 public:
26 static void make();
27
28 protected:
30 const CompilerResult &compilerResult,
31 const IR::Declaration_Instance *mainDecl) const override;
32
34 const TestBackendConfiguration &testBackendConfiguration,
35 SymbolicExecutor &symbex) const override;
36
38 const ProgramInfo &programInfo) const override;
39
41 const ProgramInfo &programInfo) const override;
42
43 private:
45
46 [[nodiscard]] MidEnd mkMidEnd(const CompilerOptions &options) const override;
47};
48
49} // namespace P4::P4Tools::P4Testgen::Pna
50
51#endif /* BACKENDS_P4TOOLS_MODULES_TESTGEN_TARGETS_PNA_TARGET_H_ */
Provides a higher-level interface for an SMT solver.
Definition solver.h:24
Definition frontends/common/options.h:30
Definition common/compiler/compiler_result.h:14
Definition p4tools/common/compiler/midend.h:24
Represents state of execution after having reached a program point.
Definition execution_state.h:34
Definition targets/pna/dpdk/cmd_stepper.h:19
Definition targets/pna/dpdk/expr_stepper.h:15
Definition targets/pna/dpdk/program_info.h:16
Definition p4tools/modules/testgen/targets/pna/target.h:23
const PnaDpdkProgramInfo * produceProgramInfoImpl(const CompilerResult &compilerResult, const IR::Declaration_Instance *mainDecl) const override
Definition p4tools/modules/testgen/targets/pna/target.cpp:38
PnaDpdkCmdStepper * getCmdStepperImpl(ExecutionState &state, AbstractSolver &solver, const ProgramInfo &programInfo) const override
Definition p4tools/modules/testgen/targets/pna/target.cpp:69
static void make()
Registers this target.
Definition p4tools/modules/testgen/targets/pna/target.cpp:31
PnaTestBackend * getTestBackendImpl(const ProgramInfo &programInfo, const TestBackendConfiguration &testBackendConfiguration, SymbolicExecutor &symbex) const override
Definition p4tools/modules/testgen/targets/pna/target.cpp:63
PnaDpdkExprStepper * getExprStepperImpl(ExecutionState &state, AbstractSolver &solver, const ProgramInfo &programInfo) const override
Definition p4tools/modules/testgen/targets/pna/target.cpp:75
Definition targets/pna/test_backend.h:25
Stores target-specific information about a P4 program.
Definition core/program_info.h:21
Definition symbolic_executor.h:21
Definition p4tools/modules/testgen/core/target.h:19
Inja.
Definition pna/backend/metadata/metadata.cpp:24
Definition phv/solver/action_constraint_solver.cpp:33
Definition test_backend_configuration.h:16