|
Jlm
|
#include <jlm/rvsdg/binary.hpp>#include <jlm/rvsdg/reduction-helpers.hpp>#include <jlm/rvsdg/region.hpp>#include <jlm/rvsdg/simple-node.hpp>#include <jlm/rvsdg/structural-node.hpp>#include <jlm/rvsdg/traverser.hpp>#include <jlm/util/strfmt.hpp>#include <deque>
Go to the source code of this file.
Namespaces | |
| jlm | |
| jlm::rvsdg | |
Functions | |
| std::optional< std::vector< rvsdg::Output * > > | jlm::rvsdg::FlattenAssociativeBinaryOperation (const BinaryOperation &operation, const std::vector< rvsdg::Output * > &operands) |
| Flattens a cascade of the same binary operations into a single flattened binary operation. More... | |
| std::optional< std::vector< rvsdg::Output * > > | jlm::rvsdg::NormalizeBinaryOperation (const BinaryOperation &operation, const std::vector< rvsdg::Output * > &operands) |
| Applies the reductions implemented in the binary operations reduction functions. More... | |
| static jlm::rvsdg::Output * | jlm::rvsdg::reduce_parallel (const BinaryOperation &op, const std::vector< jlm::rvsdg::Output * > &operands) |
| static jlm::rvsdg::Output * | jlm::rvsdg::reduce_linear (const BinaryOperation &op, const std::vector< jlm::rvsdg::Output * > &operands) |
| std::optional< std::vector< rvsdg::Output * > > | jlm::rvsdg::NormalizeFlattenedBinaryOperation (const FlattenedBinaryOperation &operation, const std::vector< rvsdg::Output * > &operands) |
| Applies the reductions of the binary operation represented by the flattened binary operation. More... | |