PandA-2024.02
Data Structures
multiple_entry_if_reduction.hpp File Reference

Class performing the reduction of n input - m output BB by duplicating the BB over all its predecessors, modifing the statements in order to keep the ssa and moving the phi to all the successor changing their results' ssa name NOTE: this works if the BB is composed only conditions and phi statements. More...

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

Go to the source code of this file.

Data Structures

class  MultipleEntryIfReduction
 Class performing some optimizations exploiting the reduction of BB with n inputs and m outputs. More...
 

Functions

forward declarations
 CONSTREF_FORWARD_DECL (AllocationInformation)
 
 REF_FORWARD_DECL (MultipleEntryIfReduction)
 
 REF_FORWARD_DECL (bloc)
 
 REF_FORWARD_DECL (Schedule)
 
 REF_FORWARD_DECL (tree_manager)
 
 REF_FORWARD_DECL (tree_manipulation)
 
 REF_FORWARD_DECL (tree_node)
 

Detailed Description

Class performing the reduction of n input - m output BB by duplicating the BB over all its predecessors, modifing the statements in order to keep the ssa and moving the phi to all the successor changing their results' ssa name NOTE: this works if the BB is composed only conditions and phi statements.

TESTED ON int function5(int input); int function6(int input); int function(int input, int input2) { int a; int b; if(input) { a = function1(); b = function3(); } else { a = function2(); b = function4(); } if(a) { b = function5(b); } else { b = function6(b); } return b; }

Author
Andrea Caielli andre.nosp@m.a.ca.nosp@m.ielli.nosp@m.@mai.nosp@m.l.pol.nosp@m.imi..nosp@m.it $Revision$ $Date$ Last modified by $Author$

Definition in file multiple_entry_if_reduction.hpp.

Function Documentation

◆ CONSTREF_FORWARD_DECL()

CONSTREF_FORWARD_DECL ( AllocationInformation  )

◆ REF_FORWARD_DECL() [1/6]

REF_FORWARD_DECL ( MultipleEntryIfReduction  )

◆ REF_FORWARD_DECL() [2/6]

REF_FORWARD_DECL ( bloc  )

◆ REF_FORWARD_DECL() [3/6]

REF_FORWARD_DECL ( Schedule  )

◆ REF_FORWARD_DECL() [4/6]

REF_FORWARD_DECL ( tree_manager  )

◆ REF_FORWARD_DECL() [5/6]

REF_FORWARD_DECL ( tree_manipulation  )

◆ REF_FORWARD_DECL() [6/6]

REF_FORWARD_DECL ( tree_node  )

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