graph.getPragmaOutputVariables().add(output);
/** * Returns all output blades of a given graph * @param graph The graph * @param usedAlgebra The used algebra * @return The output blades */ public static HashSet<VariableComponent> getAllOutputBlades(ControlFlowGraph graph, UseAlgebra usedAlgebra) { HashSet<VariableComponent> result = new HashSet<VariableComponent>(); // mark output vars as tabu for (String output : graph.getPragmaOutputVariables()) { String[] parts = output.split("\\$"); result.add(new VariableComponent(parts[0], Integer.parseInt(parts[1]), null)); } FindStoreOutputNodes storeResultNodes = new FindStoreOutputNodes(); graph.accept(storeResultNodes); for (StoreResultNode curSRNode : storeResultNodes.getNodes()) { String name = curSRNode.getValue().getName(); int bladeCount = usedAlgebra.getBladeCount(); for (int blade = 0; blade < bladeCount; blade++) { result.add(new VariableComponent(name, blade, null)); } } return result; } }
for (String output : graph.getPragmaOutputVariables()) { String[] parts = output.split("\\$"); LinkedList<Integer> list;
mapIndices.put(bladeToString(alFile.blades[index]), new Integer(index)); Set<String> set = graph.getPragmaOutputVariables(); HashSet<String> copySet = new HashSet<String>(set); set.clear();
opts.setStartVariableMinValues(formerGraph.getPragmaMinValue()); opts.setStartVariableMaxValues(formerGraph.getPragmaMaxValue()); opts.setOutputVariables(formerGraph.getPragmaOutputVariables());
boolean outputComponentExist = false; for (String outputVarStr : graph.getPragmaOutputVariables()) if (outputVarStr.split("\\$")[0].equals(name)) outputComponentExist = true; if (graph.getPragmaOutputVariables().contains(l)) outputs.add(l); else