PandA-2024.02
Data Structures | Enumerations
phi_opt.hpp File Reference

Analysis step that optimize the phis starting from the IR. More...

#include "function_frontend_flow_step.hpp"
#include "refcount.hpp"
#include "tree_node.hpp"
Include dependency graph for phi_opt.hpp:
This graph shows which files directly or indirectly include this file:

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)
 

Detailed Description

Analysis step that optimize the phis starting from the IR.

Author
Fabrizio Ferrandi fabri.nosp@m.zio..nosp@m.ferra.nosp@m.ndi@.nosp@m.polim.nosp@m.i.it $Revision$ $Date$ Last modified by $Author$

Definition in file phi_opt.hpp.

Enumeration Type Documentation

◆ PhiOpt_PatternType

enum PhiOpt_PatternType
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.

Function Documentation

◆ CONSTREF_FORWARD_DECL()

CONSTREF_FORWARD_DECL ( tree_manipulation  )

◆ REF_FORWARD_DECL() [1/3]

REF_FORWARD_DECL ( bloc  )

◆ REF_FORWARD_DECL() [2/3]

REF_FORWARD_DECL ( Schedule  )

◆ REF_FORWARD_DECL() [3/3]

REF_FORWARD_DECL ( tree_manager  )

Generated on Mon Feb 12 2024 13:03:20 for PandA-2024.02 by doxygen 1.8.13