|
Jlm
|
#include <jlm/rvsdg/graph.hpp>#include <jlm/rvsdg/operation.hpp>#include <jlm/util/common.hpp>#include <optional>

Go to the source code of this file.
Classes | |
| class | jlm::rvsdg::BinaryOperation |
| class | jlm::rvsdg::FlattenedBinaryOperation |
Namespaces | |
| jlm | |
| jlm::rvsdg | |
Typedefs | |
| typedef size_t | jlm::rvsdg::binop_reduction_path_t |
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... | |
| 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... | |
| static constexpr enum BinaryOperation::flags | jlm::rvsdg::operator| (enum BinaryOperation::flags a, enum BinaryOperation::flags b) |
| static constexpr enum BinaryOperation::flags | jlm::rvsdg::operator& (enum BinaryOperation::flags a, enum BinaryOperation::flags b) |
Variables | |
| static const binop_reduction_path_t | jlm::rvsdg::binop_reduction_none = 0 |
| static const binop_reduction_path_t | jlm::rvsdg::binop_reduction_constants = 1 |
| static const binop_reduction_path_t | jlm::rvsdg::binop_reduction_merge = 2 |
| static const binop_reduction_path_t | jlm::rvsdg::binop_reduction_lfold = 3 |
| static const binop_reduction_path_t | jlm::rvsdg::binop_reduction_rfold = 4 |
| static const binop_reduction_path_t | jlm::rvsdg::binop_reduction_lneutral = 5 |
| static const binop_reduction_path_t | jlm::rvsdg::binop_reduction_rneutral = 6 |
| static const binop_reduction_path_t | jlm::rvsdg::binop_reduction_factor = 7 |