package de.gaalop.gapp.importing.optimization; import de.gaalop.cfg.ControlFlowGraph; /** * This class is a facade class for some further GAPP Optimizations * @author Christian Steinmetz */ public class GAPPFurtherOptimizationsFacade { /** * Performs some further GAPP optimizations * @param graph The graph */ public void doFurtherGAPPOptimizations(ControlFlowGraph graph) { //Remove zero-assignments GAPPRemoveZeroAssignments zeroRemover = new GAPPRemoveZeroAssignments(); graph.accept(zeroRemover); //Merge setMv instructions GAPPSetMvMerger merger = new GAPPSetMvMerger(); graph.accept(merger); GAPPSetMvRemover remover = new GAPPSetMvRemover(merger.getToRemove()); graph.accept(remover); } }