for (PhiReader phi : block.readPhis()) { sb.append(prefix).append(" "); sb.append("@").append(stringifier.getVariableLabel(phi.getReceiver().getIndex())).append(" := phi ");
BasicBlockReader block = program.basicBlockAt(i); block.readAllInstructions(reader); for (PhiReader phi : block.readPhis()) { Set<Integer> inputs = phi.readIncomings().stream() .map(incoming -> incoming.getValue().getIndex())
public static List<Phi> copyPhis(BasicBlockReader block, Program target) { List<Phi> result = new ArrayList<>(); for (PhiReader phi : block.readPhis()) { Phi phiCopy = new Phi(); phiCopy.setReceiver(target.variableAt(phi.getReceiver().getIndex())); for (IncomingReader incoming : phi.readIncomings()) { Incoming incomingCopy = new Incoming(); incomingCopy.setSource(target.basicBlockAt(incoming.getSource().getIndex())); incomingCopy.setValue(target.variableAt(incoming.getValue().getIndex())); phiCopy.getIncomings().add(incomingCopy); } result.add(phiCopy); } return result; }
for (PhiReader phi : block.readPhis()) { for (IncomingReader incoming : phi.readIncomings()) { outgoings.get(incoming.getSource().getIndex()).add(incoming);
blockIndex = i == 0 ? startBlock : substitutor.blockOffset + i; BasicBlock targetBlock = program.basicBlockAt(blockIndex); for (PhiReader templatePhi : templateBlock.readPhis()) { Phi phi = new Phi(); for (IncomingReader templateIncoming : templatePhi.readIncomings()) {
block.readAllInstructions(reader); for (PhiReader phi : block.readPhis()) { DependencyNode receiverNode = nodes[phi.getReceiver().getIndex()]; for (IncomingReader incoming : phi.readIncomings()) {
for (PhiReader phi : block.readPhis()) { for (IncomingReader incoming : phi.readIncomings()) { int from = incoming.getValue().getIndex();
for (PhiReader phi : block.readPhis()) { for (IncomingReader incoming : phi.readIncomings()) { builder.addEdge(incoming.getValue().getIndex(), phi.getReceiver().getIndex());
for (PhiReader phi : block.readPhis()) { sb.append(prefix).append(" "); sb.append("@").append(stringifier.getVariableLabel(phi.getReceiver().getIndex())).append(" := phi ");
BasicBlockReader block = program.basicBlockAt(i); block.readAllInstructions(reader); for (PhiReader phi : block.readPhis()) { Set<Integer> inputs = phi.readIncomings().stream() .map(incoming -> incoming.getValue().getIndex())
public static List<Phi> copyPhis(BasicBlockReader block, Program target) { List<Phi> result = new ArrayList<>(); for (PhiReader phi : block.readPhis()) { Phi phiCopy = new Phi(); phiCopy.setReceiver(target.variableAt(phi.getReceiver().getIndex())); for (IncomingReader incoming : phi.readIncomings()) { Incoming incomingCopy = new Incoming(); incomingCopy.setSource(target.basicBlockAt(incoming.getSource().getIndex())); incomingCopy.setValue(target.variableAt(incoming.getValue().getIndex())); phiCopy.getIncomings().add(incomingCopy); } result.add(phiCopy); } return result; }
for (PhiReader phi : block.readPhis()) { for (IncomingReader incoming : phi.readIncomings()) { outgoings.get(incoming.getSource().getIndex()).add(incoming);
blockIndex = i == 0 ? startBlock : substitutor.blockOffset + i; BasicBlock targetBlock = program.basicBlockAt(blockIndex); for (PhiReader templatePhi : templateBlock.readPhis()) { Phi phi = new Phi(); for (IncomingReader templateIncoming : templatePhi.readIncomings()) {
block.readAllInstructions(reader); for (PhiReader phi : block.readPhis()) { DependencyNode receiverNode = nodes[phi.getReceiver().getIndex()]; for (IncomingReader incoming : phi.readIncomings()) {
for (PhiReader phi : block.readPhis()) { for (IncomingReader incoming : phi.readIncomings()) { int from = incoming.getValue().getIndex();
for (PhiReader phi : block.readPhis()) { for (IncomingReader incoming : phi.readIncomings()) { builder.addEdge(incoming.getValue().getIndex(), phi.getReceiver().getIndex());