#include <WasmOperator.hpp>
|
static void | execute (const Match< Projection > &M, setup_t setup, pipeline_t pipeline, teardown_t teardown) |
|
static double | cost (const Match< Projection > &) |
|
static ConditionSet | pre_condition (std::size_t child_idx, const std::tuple< const ProjectionOperator * > &partial_inner_nodes) |
|
static ConditionSet | adapt_post_condition (const Match< Projection > &M, const ConditionSet &post_cond_child) |
|
static void | execute (const Match< Actual > &M, setup_t setup, pipeline_t pipeline, teardown_t teardown) |
| Executes this physical operator given the match M and three callbacks: Setup for some initializations, Pipeline for the actual computation, and Teardown for post-processing.
|
|
static double | cost (const Match< Actual > &M) |
| Returns the cost of this physical operator given the match M .
|
|
static ConditionSet | pre_condition (std::size_t, const get_nodes_t< Pattern > &) |
| Overwrite this to implement custom pre-conditions.
|
|
static ConditionSet | post_condition (const Match< Actual > &) |
| Overwrite this to implement a custom post-condition.
|
|
static ConditionSet | adapt_post_condition (const Match< Actual > &, const ConditionSet &post_cond_child) |
| Overwrite this to implement custom adaptation of a single post-condition.
|
|
static ConditionSet | adapt_post_conditions (const Match< Actual > &, std::vector< std::reference_wrapper< const ConditionSet > > &&) |
| Overwrite this to implement custom adaptation of multiple post-conditions.
|
|
static std::unique_ptr< Match< Actual > > | instantiate (get_nodes_t< Pattern > inner_nodes, const std::vector< It > &children) |
| Instantiates this physical operator given the matched logical operators inner_nodes in pre-order and the children entries children by returning a corresponding match.
|
|
|
static ConditionSet | pre_condition_ (std::size_t child_idx, const get_nodes_t< Pattern > &partial_inner_nodes) |
| Returns the pre-condition for the child_idx-th child (indexed from left to right starting with 0) of the pattern (note that children are logical operators which either match to a Wildcard in the pattern or to a child of a non-wildcard operator in the pattern, i.e.
|
|
static ConditionSet | post_condition_ (const Match< Actual > &M) |
| Returns the post-condition of this physical operator given the match M .
|
|
static ConditionSet | adapt_post_condition_ (const Match< Actual > &M, const ConditionSet &post_cond_child) |
| Returns the adapted post-condition of this physical operator given the match M and the former post-condition of its only child.
|
|
static ConditionSet | adapt_post_conditions_ (const Match< Actual > &M, std::vector< std::reference_wrapper< const ConditionSet > > &&post_cond_children) |
| Returns the adapted post-condition of this physical operator given the match M and the former post-conditions of its children.
|
|
Definition at line 425 of file WasmOperator.hpp.
◆ pattern
◆ adapt_post_condition() [1/2]
Overwrite this to implement custom adaptation of a single post-condition.
Definition at line 461 of file PhysicalOptimizer.hpp.
◆ adapt_post_condition() [2/2]
◆ adapt_post_condition_()
|
inlinestaticprivateinherited |
Returns the adapted post-condition of this physical operator given the match M
and the former post-condition of its only child.
Definition at line 448 of file PhysicalOptimizer.hpp.
◆ adapt_post_conditions()
static ConditionSet m::PhysicalOperator::adapt_post_conditions |
( |
const Match< Actual > & |
, |
|
|
std::vector< std::reference_wrapper< const ConditionSet > > && |
|
|
) |
| |
|
inlinestaticinherited |
Overwrite this to implement custom adaptation of multiple post-conditions.
Definition at line 465 of file PhysicalOptimizer.hpp.
◆ adapt_post_conditions_()
static ConditionSet m::PhysicalOperator::adapt_post_conditions_ |
( |
const Match< Actual > & |
M, |
|
|
std::vector< std::reference_wrapper< const ConditionSet > > && |
post_cond_children |
|
) |
| |
|
inlinestaticprivateinherited |
Returns the adapted post-condition of this physical operator given the match M
and the former post-conditions of its children.
Definition at line 454 of file PhysicalOptimizer.hpp.
◆ cost() [1/2]
static double m::PhysicalOperator::cost |
( |
const Match< Actual > & |
M | ) |
|
|
inlinestaticinherited |
◆ cost() [2/2]
◆ execute() [1/2]
Executes this physical operator given the match M
and three callbacks: Setup
for some initializations, Pipeline
for the actual computation, and Teardown
for post-processing.
Definition at line 418 of file PhysicalOptimizer.hpp.
◆ execute() [2/2]
Definition at line 2235 of file WasmOperator.cpp.
References m::wasm::Environment::add(), m::wasm::Environment::add_predicate(), m::wasm::and, m::wasm::CodeGenContext::env(), m::wasm::CodeGenContext::Get(), m::wasm::Environment::has(), m::wasm::L, M_insist, M_unreachable, m::wasm::CodeGenContext::scoped_environment(), m::wasm::CodeGenContext::set_num_simd_lanes(), m::T(), m::wasm::CodeGenContext::update_num_simd_lanes_preferred(), m::wasm::value, and m::visit().
◆ instantiate()
static std::unique_ptr< Match< Actual > > m::PhysicalOperator::instantiate |
( |
get_nodes_t< Pattern > |
inner_nodes, |
|
|
const std::vector< It > & |
children |
|
) |
| |
|
inlinestaticinherited |
Instantiates this physical operator given the matched logical operators inner_nodes
in pre-order and the children entries children
by returning a corresponding match.
Definition at line 476 of file PhysicalOptimizer.hpp.
◆ post_condition()
◆ post_condition_()
static ConditionSet m::PhysicalOperator::post_condition_ |
( |
const Match< Actual > & |
M | ) |
|
|
inlinestaticprivateinherited |
Returns the post-condition of this physical operator given the match M
.
Definition at line 440 of file PhysicalOptimizer.hpp.
◆ pre_condition() [1/2]
◆ pre_condition() [2/2]
◆ pre_condition_()
static ConditionSet m::PhysicalOperator::pre_condition_ |
( |
std::size_t |
child_idx, |
|
|
const get_nodes_t< Pattern > & |
partial_inner_nodes |
|
) |
| |
|
inlinestaticprivateinherited |
Returns the pre-condition for the child_idx-th
child (indexed from left to right starting with 0) of the pattern (note that children are logical operators which either match to a Wildcard
in the pattern or to a child of a non-wildcard operator in the pattern, i.e.
there may be more children than leaves in the pattern) given the (potentially partially) matched logical operators partial_inner_nodes
in pre-order (note that the operators not yet matched are nullptr).
Definition at line 431 of file PhysicalOptimizer.hpp.
The documentation for this struct was generated from the following files: