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