![]() |
P4C
The P4 Compiler
|
#include <frontend.h>
Public Member Functions | |
virtual bool | enableSubConstToAddTransform () const |
virtual bool | foldInlinedFrom () const |
virtual ConstantFoldingPolicy * | getConstantFoldingPolicy () const |
virtual std::vector< DebugHook > | getDebugHooks () const |
virtual ParseAnnotations * | getParseAnnotations () const |
virtual bool | optimize (const CompilerOptions &options) const |
virtual bool | removeOpAssign () const |
virtual bool | skipSideEffectOrdering () const |
![]() | |
virtual RemoveUnusedDeclarations * | getRemoveUnusedDeclarationsPass (const UsedDeclSet &used, bool warn=false) const |
A customization point for frontend. The each tool can provide their own implementation of the policy that customizes its behaviour, or use instance of this class directly to provide the defaults.
|
inlinevirtual |
Indicates whether to enable the a - constant
to a + (-constant)
in StrengthReduction.
|
inlinevirtual |
Indicates whether control flow should fold blocks marked with @inlinedFrom annotation
|
inlinevirtual |
Get policy for the constant folding pass.
|
inlinevirtual |
Get a vector of debug hooks that will be added to frontend and all the pass managers it uses internally.
|
inlinevirtual |
A specialized instance of annotations parser for the target, or nullptr to use the default configuration.
Reimplemented in BFN::FrontEndPolicy.
|
inlinevirtual |
Indicates whether the frontend should run some optimizations (inlining, action localization, etc.).
|
inlinevirtual |
Indicates whether OpAssignmentExpressions should be expanded and replaced by simple assignments. This depends on SideEffectOrdering to be correct, so should probably be false if skipSideEffectOrdering is true.
|
inlinevirtual |
Indicates whether the side-effect-ordering pass should be skipped.
Reimplemented in BFN::FrontEndPolicy.