package Analysis.Locality;
-import java.util.Hashtable;
-import java.util.Stack;
-import java.util.Set;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.Arrays;
+import java.util.*;
import Analysis.CallGraph.CallGraph;
import IR.SymbolTable;
import IR.State;
while(!toprocess.isEmpty()) {
FlatNode fn=toprocess.iterator().next();
toprocess.remove(fn);
- boolean isatomic=atomictab.get(fn).intValue()>0;
List<TempDescriptor> reads=Arrays.asList(fn.readsTemps());
List<TempDescriptor> writes=Arrays.asList(fn.readsTemps());
if (!nodetotemps.containsKey(fn)||
nodetotemps.get(fn).equals(tempset)) {
nodetotemps.put(fn, tempset);
- for(int i=0;i<fn.numPrev(i);i++)
+ for(int i=0;i<fn.numPrev();i++)
toprocess.add(fn.getPrev(i));
}
}
MethodDescriptor md=lb.getMethod();
FlatMethod fm=state.getMethodFlat(md);
- Hashtable<FlatNode, Set<TempDescriptor>> nodetotemps=computeLiveTemps(md);
+ Hashtable<FlatNode, Set<TempDescriptor>> nodetotemps=computeLiveTemps(fm);
}
import Analysis.TaskStateAnalysis.ExecutionGraph;
import Analysis.TaskStateAnalysis.SafetyAnalysis;
import Analysis.Locality.LocalityAnalysis;
+import Analysis.Locality.GenerateConversions;
import Interface.*;
public class Main {
if (state.DSM) {
CallGraph callgraph=new CallGraph(state);
LocalityAnalysis la=new LocalityAnalysis(state, callgraph, tu);
+ GenerateConversions gc=new GenerateConversions(la, state);
}
BuildCode bc=new BuildCode(state, bf.getMap(), tu);