public void splitVariables(RootStatement root, StructMethod mt) { FlattenStatementsHelper flatthelper = new FlattenStatementsHelper(); DirectGraph dgraph = flatthelper.buildDirectGraph(root); // try { // DotExporter.toDotFile(dgraph, new File("c:\\Temp\\gr12_my.dot")); // } catch(Exception ex) {ex.printStackTrace();} HashSet<Integer> setInit = new HashSet<>(); for (int i = 0; i < 64; i++) { setInit.add(i); } factory = new FastSparseSetFactory<>(setInit); SFormsFastMapDirect firstmap = createFirstMap(mt); extraVarVersions.put(dgraph.first.id, firstmap); setCatchMaps(root, dgraph, flatthelper); HashSet<String> updated = new HashSet<>(); do { // System.out.println("~~~~~~~~~~~~~ \r\n"+root.toJava()); ssaStatements(dgraph, updated); // System.out.println("~~~~~~~~~~~~~ \r\n"+root.toJava()); } while (!updated.isEmpty()); }
public void splitVariables(RootStatement root, StructMethod mt) { FlattenStatementsHelper flatthelper = new FlattenStatementsHelper(); DirectGraph dgraph = flatthelper.buildDirectGraph(root); HashSet<Integer> setInit = new HashSet<>(); for (int i = 0; i < 64; i++) { setInit.add(i); } factory = new FastSparseSetFactory<>(setInit); extraVarVersions.put(dgraph.first.id, createFirstMap(mt, root)); setCatchMaps(root, dgraph, flatthelper); // try { // DotExporter.toDotFile(dgraph, new File("c:\\Temp\\gr12_my.dot")); // } catch(Exception ex) {ex.printStackTrace();} HashSet<String> updated = new HashSet<>(); do { // System.out.println("~~~~~~~~~~~~~ \r\n"+root.toJava()); ssaStatements(dgraph, updated, false); // System.out.println("~~~~~~~~~~~~~ \r\n"+root.toJava()); } while (!updated.isEmpty()); ssaStatements(dgraph, updated, true); ssuversions.initDominators(); }
public void splitVariables(RootStatement root, StructMethod mt) { FlattenStatementsHelper flatthelper = new FlattenStatementsHelper(); DirectGraph dgraph = flatthelper.buildDirectGraph(root); // try { // DotExporter.toDotFile(dgraph, new File("c:\\Temp\\gr12_my.dot")); // } catch(Exception ex) {ex.printStackTrace();} HashSet<Integer> setInit = new HashSet<>(); for (int i = 0; i < 64; i++) { setInit.add(i); } factory = new FastSparseSetFactory<>(setInit); SFormsFastMapDirect firstmap = createFirstMap(mt); extraVarVersions.put(dgraph.first.id, firstmap); setCatchMaps(root, dgraph, flatthelper); HashSet<String> updated = new HashSet<>(); do { // System.out.println("~~~~~~~~~~~~~ \r\n"+root.toJava()); ssaStatements(dgraph, updated); // System.out.println("~~~~~~~~~~~~~ \r\n"+root.toJava()); } while (!updated.isEmpty()); }
public void splitVariables(RootStatement root, StructMethod mt) { FlattenStatementsHelper flatthelper = new FlattenStatementsHelper(); DirectGraph dgraph = flatthelper.buildDirectGraph(root); HashSet<Integer> setInit = new HashSet<>(); for (int i = 0; i < 64; i++) { setInit.add(i); } factory = new FastSparseSetFactory<>(setInit); extraVarVersions.put(dgraph.first.id, createFirstMap(mt, root)); setCatchMaps(root, dgraph, flatthelper); // try { // DotExporter.toDotFile(dgraph, new File("c:\\Temp\\gr12_my.dot")); // } catch(Exception ex) {ex.printStackTrace();} HashSet<String> updated = new HashSet<>(); do { // System.out.println("~~~~~~~~~~~~~ \r\n"+root.toJava()); ssaStatements(dgraph, updated, false); // System.out.println("~~~~~~~~~~~~~ \r\n"+root.toJava()); } while (!updated.isEmpty()); ssaStatements(dgraph, updated, true); ssuversions.initDominators(); }