1#ifndef BACKENDS_P4TOOLS_COMMON_COMPILER_COMPILER_TARGET_H_
2#define BACKENDS_P4TOOLS_COMMON_COMPILER_COMPILER_TARGET_H_
9#include "backends/p4tools/common/compiler/midend.h"
10#include "backends/p4tools/common/core/target.h"
11#include "frontends/common/options.h"
12#include "frontends/p4/frontend.h"
14#include "lib/castable.h"
15#include "lib/compile_context.h"
24 std::reference_wrapper<const IR::P4Program> program;
31 [[nodiscard]]
const IR::P4Program &
getProgram()
const;
49 static std::vector<const char *> *
initCompiler(
int argc,
char **argv);
78 virtual std::vector<const char *> *
initCompilerImpl(
int argc,
char **argv)
const;
88 const IR::P4Program *
runFrontend(
const IR::P4Program *program)
const;
99 const IR::P4Program *
runMidEnd(
const IR::P4Program *program)
const;
101 explicit CompilerTarget(std::string deviceName, std::string archName);
Definition compile_context.h:30