|
Jlm
|
#include <reduction.hpp>


Classes | |
| class | Statistics |
Public Member Functions | |
| ~NodeReduction () noexcept override | |
| NodeReduction () | |
| NodeReduction (const NodeReduction &)=delete | |
| NodeReduction (NodeReduction &&)=delete | |
| NodeReduction & | operator= (const NodeReduction &)=delete |
| NodeReduction & | operator= (NodeReduction &&)=delete |
| void | Run (rvsdg::RvsdgModule &rvsdgModule, util::StatisticsCollector &statisticsCollector) override |
| Perform RVSDG transformation. More... | |
Public Member Functions inherited from jlm::rvsdg::Transformation | |
| virtual | ~Transformation () noexcept |
| Transformation (std::string_view Name) | |
| const std::string_view & | GetName () const noexcept |
| void | Run (RvsdgModule &module) |
| Perform RVSDG transformation. More... | |
Private Member Functions | |
| void | ReduceNodesInRegion (rvsdg::Region ®ion) |
| bool | ReduceStructuralNode (rvsdg::StructuralNode &structuralNode) |
Static Private Member Functions | |
| static bool | ReduceGammaNode (rvsdg::StructuralNode &gammaNode) |
| static bool | ReduceSimpleNode (rvsdg::SimpleNode &simpleNode) |
| static bool | ReduceLoadNode (rvsdg::SimpleNode &simpleNode) |
| static bool | ReduceStoreNode (rvsdg::SimpleNode &simpleNode) |
| static bool | ReduceMemoryStateMergeNode (rvsdg::SimpleNode &simpleNode) |
| static bool | ReduceMemoryStateSplitNode (rvsdg::SimpleNode &simpleNode) |
| static bool | ReduceLambdaExitMemoryStateMergeNode (rvsdg::SimpleNode &simpleNode) |
| static bool | ReduceBinaryNode (rvsdg::SimpleNode &simpleNode) |
| static std::optional< std::vector< rvsdg::Output * > > | NormalizeLoadNode (const LoadNonVolatileOperation &operation, const std::vector< rvsdg::Output * > &operands) |
| static std::optional< std::vector< rvsdg::Output * > > | NormalizeStoreNode (const StoreNonVolatileOperation &operation, const std::vector< rvsdg::Output * > &operands) |
| static std::optional< std::vector< rvsdg::Output * > > | NormalizeMemoryStateMergeNode (const MemoryStateMergeOperation &operation, const std::vector< rvsdg::Output * > &operands) |
| static std::optional< std::vector< rvsdg::Output * > > | NormalizeMemoryStateJoinNode (const MemoryStateJoinOperation &operation, const std::vector< rvsdg::Output * > &operands) |
| static std::optional< std::vector< rvsdg::Output * > > | NormalizeMemoryStateSplitNode (const MemoryStateSplitOperation &operation, const std::vector< rvsdg::Output * > &operands) |
| static std::optional< std::vector< rvsdg::Output * > > | NormalizeCallExitMemoryStateSplitNode (const CallExitMemoryStateSplitOperation &operation, const std::vector< rvsdg::Output * > &operands) |
| static std::optional< std::vector< rvsdg::Output * > > | NormalizeLambdaEntryMemoryStateSplitNode (const LambdaEntryMemoryStateSplitOperation &operation, const std::vector< rvsdg::Output * > &operands) |
| static std::optional< std::vector< rvsdg::Output * > > | NormalizeLambdaExitMemoryStateMergeNode (const LambdaExitMemoryStateMergeOperation &operation, const std::vector< rvsdg::Output * > &operands) |
Private Attributes | |
| std::unique_ptr< Statistics > | Statistics_ |
The node reduction transformation performs a series of peephole optimizations in the RVSDG. The nodes in a region are visited top-down and reductions are performed until a fix-point is reached, i.e., until no peephole optimization can be applied any longer to any node in a region.
Definition at line 41 of file reduction.hpp.
|
overridedefaultnoexcept |
| jlm::llvm::NodeReduction::NodeReduction | ( | ) |
Definition at line 54 of file reduction.cpp.
|
delete |
|
delete |
|
staticprivate |
Definition at line 326 of file reduction.cpp.
|
staticprivate |
Definition at line 340 of file reduction.cpp.
|
staticprivate |
Definition at line 354 of file reduction.cpp.
|
staticprivate |
Definition at line 250 of file reduction.cpp.
|
staticprivate |
Definition at line 301 of file reduction.cpp.
|
staticprivate |
Definition at line 287 of file reduction.cpp.
|
staticprivate |
Definition at line 313 of file reduction.cpp.
|
staticprivate |
Definition at line 268 of file reduction.cpp.
|
delete |
|
delete |
|
staticprivate |
Definition at line 217 of file reduction.cpp.
|
staticprivate |
Definition at line 137 of file reduction.cpp.
|
staticprivate |
Definition at line 241 of file reduction.cpp.
|
staticprivate |
Definition at line 201 of file reduction.cpp.
|
staticprivate |
Definition at line 225 of file reduction.cpp.
|
staticprivate |
Definition at line 233 of file reduction.cpp.
|
private |
Definition at line 75 of file reduction.cpp.
|
staticprivate |
Definition at line 148 of file reduction.cpp.
|
staticprivate |
Definition at line 209 of file reduction.cpp.
|
private |
Reduces the structural node structuralNode.
| structuralNode | The structural node that is supposed to be reduced. |
Definition at line 110 of file reduction.cpp.
|
overridevirtual |
Perform RVSDG transformation.
| module | RVSDG module the transformation is performed on. |
| statisticsCollector | Statistics collector for collecting transformation statistics. |
Implements jlm::rvsdg::Transformation.
Definition at line 59 of file reduction.cpp.
|
private |
Definition at line 143 of file reduction.hpp.