PandA-2024.02
|
Analysis step that optimize the phis starting from the IR. More...
Go to the source code of this file.
Data Structures | |
class | PhiOpt |
Restructure the tree control flow graph. More... | |
Enumerations | |
enum | PhiOpt_PatternType { PhiOpt_PatternType::UNKNOWN, PhiOpt_PatternType::DIFF_NOTHING, PhiOpt_PatternType::GIMPLE_NOTHING, PhiOpt_PatternType::IF_MERGE, PhiOpt_PatternType::IF_NOTHING, PhiOpt_PatternType::IF_REMOVE, PhiOpt_PatternType::MULTI_MERGE, PhiOpt_PatternType::MULTI_NOTHING, PhiOpt_PatternType::MULTI_REMOVE, PhiOpt_PatternType::UNCHANGED } |
Identifier of patterns to be transformed by phi_opt. More... | |
Functions | |
forward declarations | |
Superclass include Utility include | |
REF_FORWARD_DECL (bloc) | |
REF_FORWARD_DECL (Schedule) | |
REF_FORWARD_DECL (tree_manager) | |
CONSTREF_FORWARD_DECL (tree_manipulation) | |
Analysis step that optimize the phis starting from the IR.
Definition in file phi_opt.hpp.
|
strong |
Identifier of patterns to be transformed by phi_opt.
Enumerator | |
---|---|
UNKNOWN | Unknown pattern. |
DIFF_NOTHING | Empty basic block with multiple input. |
GIMPLE_NOTHING | Empty basic block dominated by assign can be removed without further changes. |
IF_MERGE | Edges coming from if to be merged. |
IF_NOTHING | Basic block dominated by if can be removed without further changes. |
IF_REMOVE | Phi dominated by gimple_cond to be removed. |
MULTI_MERGE | Phi dominated by gimple_multi_way_if to be merged. |
MULTI_NOTHING | Basic block dominated by multi way if can be removed without further changes. |
MULTI_REMOVE | Phi dominated by gimple_multi_way_if to be removed. |
UNCHANGED | Transformation blocked by timing. |
Definition at line 70 of file phi_opt.hpp.
CONSTREF_FORWARD_DECL | ( | tree_manipulation | ) |
REF_FORWARD_DECL | ( | bloc | ) |
REF_FORWARD_DECL | ( | Schedule | ) |
REF_FORWARD_DECL | ( | tree_manager | ) |