@Override public String toStringInstrs() { return "\nCFG:\n" + cfg.toStringGraph() + "\nInstructions:\n" + cfg.toStringInstrs(); }
@Override public String toStringInstrs() { return "\nCFG:\n" + cfg.toStringGraph() + "\nInstructions:\n" + cfg.toStringInstrs(); }
public String toStringBody() { StringBuilder buf = new StringBuilder(); buf.append(getName()).append(" = { \n"); CFG c = getCFG(); if (c != null) { buf.append("\nCFG:\n").append(c.toStringGraph()).append("\nInstructions:\n").append(c.toStringInstrs()); } else { buf.append(toStringInstrs()); } buf.append("\n}\n\n"); return buf.toString(); }
public String toStringBody() { StringBuilder buf = new StringBuilder(); buf.append(getName()).append(" = { \n"); CFG c = getCFG(); if (c != null) { buf.append("\nCFG:\n").append(c.toStringGraph()).append("\nInstructions:\n").append(c.toStringInstrs()); } else { buf.append(toStringInstrs()); } buf.append("\n}\n\n"); return buf.toString(); }
private void printInlineCFG(CFG aCFG, String label) { LOG.info(label + " cfg:\n" + aCFG.toStringGraph()); LOG.info(label + " instrs:\n" + aCFG.toStringInstrs()); }
private void printInlineCFG(CFG aCFG, String label) { LOG.info(label + " cfg:\n" + aCFG.toStringGraph()); LOG.info(label + " instrs:\n" + aCFG.toStringInstrs()); }
@Override public void endExecute(CompilerPass pass, IRScope scope, Object data, boolean childScope) { Long startTime = times.get(pass); long timeTaken = startTime != null ? System.currentTimeMillis() - startTime.longValue() : -1; CFG c = scope.getCFG(); if (c != null) { LOG.info("\nGraph:\n" + c.toStringGraph()); LOG.info("\nInstructions[" + getScopeUUID(scope) + "," + scope.getClass().getSimpleName() + "," + pass.getClass().getSimpleName() + "]:\n" + c.toStringInstrs() + "\n:Instructions"); } else { LOG.info("\n instrs:\n" + scope.toStringInstrs()); } if (startTime > 0) { LOG.info("Finished " + pass.getLabel() + " on scope in " + timeTaken + "ms."); } else { // Not really sure we should allow same pass to be run twice in same pass order run...too defensive? LOG.info("Finished " + pass.getLabel() + " on scope " + scope); } }
@Override public void endExecute(CompilerPass pass, IRScope scope, Object data, boolean childScope) { Long startTime = times.get(pass); long timeTaken = startTime != null ? System.currentTimeMillis() - startTime.longValue() : -1; CFG c = scope.getCFG(); if (c != null) { LOG.info("\nGraph:\n" + c.toStringGraph()); LOG.info("\nInstructions[" + getScopeUUID(scope) + "," + scope.getClass().getSimpleName() + "," + pass.getClass().getSimpleName() + "]:\n" + c.toStringInstrs() + "\n:Instructions"); } else { LOG.info("\n instrs:\n" + scope.toStringInstrs()); } if (startTime > 0) { LOG.info("Finished " + pass.getLabel() + " on scope in " + timeTaken + "ms."); } else { // Not really sure we should allow same pass to be run twice in same pass order run...too defensive? LOG.info("Finished " + pass.getLabel() + " on scope " + scope); } }
LOG.error("Error linearizing cfg: ", e); CFG c = cfg(); LOG.error("\nGraph:\n" + c.toStringGraph()); LOG.error("\nInstructions:\n" + c.toStringInstrs()); throw e;
@Override public void endExecute(CompilerPass pass, IRScope scope, Object data, boolean childScope) { Long startTime = times.get(pass); long timeTaken = startTime != null ? System.currentTimeMillis() - startTime.longValue() : -1; CFG c = scope.getCFG(); if (c != null) { LOG.info("\nGraph:\n" + c.toStringGraph()); LOG.info("\nInstructions:\n" + c.toStringInstrs()); } else { LOG.info("\n instrs:\n" + scope.toStringInstrs()); LOG.info("\n live variables:\n" + scope.toStringVariables()); } if (startTime > 0) { LOG.info("Finished " + pass.getLabel() + " on scope in " + timeTaken + "ms."); } else { // Not really sure we should allow same pass to be run twice in same pass order run...too defensive? LOG.info("Finished " + pass.getLabel() + " on scope " + scope); } } }
LOG.error("Error linearizing cfg: ", e); CFG c = cfg(); LOG.error("\nGraph:\n" + c.toStringGraph()); LOG.error("\nInstructions:\n" + c.toStringInstrs()); throw e;
LOG.error("Error linearizing cfg: ", e); CFG c = cfg(); LOG.error("\nGraph:\n" + c.toStringGraph()); LOG.error("\nInstructions:\n" + c.toStringInstrs()); throw e;
LOG.error("Error linearizing cfg: ", e); CFG c = cfg(); LOG.error("\nGraph:\n" + c.toStringGraph()); LOG.error("\nInstructions:\n" + c.toStringInstrs()); throw e;
@Override public void endExecute(CompilerPass pass, IRScope scope, Object data, boolean childScope) { Long startTime = times.get(pass); long timeTaken = startTime != null ? System.currentTimeMillis() - startTime.longValue() : -1; CFG c = scope.getCFG(); if (c != null) { LOG.info("\nGraph:\n" + c.toStringGraph()); LOG.info("\nInstructions:\n" + c.toStringInstrs()); } else { LOG.info("\n instrs:\n" + scope.toStringInstrs()); LOG.info("\n live variables:\n" + scope.toStringVariables()); } if (startTime > 0) { LOG.info("Finished " + pass.getLabel() + " on scope in " + timeTaken + "ms."); } else { // Not really sure we should allow same pass to be run twice in same pass order run...too defensive? LOG.info("Finished " + pass.getLabel() + " on scope " + scope); } } }
private void printInlineDebugPrologue(IRScope scopeToInline, CallBase call) { LOG.info("---------------------------------- PROLOGUE (start) --------"); LOG.info("Looking for: " + call.getCallSiteId() + ":\n > " + call + "\n"); printInlineCFG(cfg, "host of inline"); LOG.info("method to inline cfg:\n" + scopeToInline.getCFG().toStringGraph()); LOG.info("method to inline instrs:\n" + scopeToInline.getCFG().toStringInstrs()); LOG.info("---------------------------------- PROLOGUE (end) -----------"); }
private void printInlineDebugPrologue(IRScope scopeToInline, CallBase call) { LOG.info("---------------------------------- PROLOGUE (start) --------"); LOG.info("Looking for: " + call.getCallSiteId() + ":\n > " + call + "\n"); printInlineCFG(cfg, "host of inline"); LOG.info("method to inline cfg:\n" + scopeToInline.getCFG().toStringGraph()); LOG.info("method to inline instrs:\n" + scopeToInline.getCFG().toStringInstrs()); LOG.info("---------------------------------- PROLOGUE (end) -----------"); }
LOG.info("Graph:\n" + cfg.toStringGraph()); LOG.info("CFG:\n" + cfg.toStringInstrs()); displayedCFG = true;
LOG.info("Graph:\n" + cfg.toStringGraph()); LOG.info("CFG:\n" + cfg.toStringInstrs()); displayedCFG = true;
System.out.println("----------------------------------"); System.out.println("Did not find BB with call: " + call); System.out.println("Host cfg :" + cfg.toStringGraph()); System.out.println("Host instrs:" + cfg.toStringInstrs()); System.out.println("----------------------------------"); assert methodCFG.outDegree(mEntry) == 2: "Entry BB of inlinee method does not have outdegree 2: " + methodCFG.toStringGraph(); for (Edge<BasicBlock> e : methodCFG.getOutgoingEdges(mEntry)) { BasicBlock destination = e.getDestination().getData();
assert methodToInline.outDegree(methodToInline.getEntryBB()) == 2: "Entry BB of inlinee method does not have outdegree 2: " + methodToInline.toStringGraph(); for (BasicBlock destination : methodToInline.getOutgoingDestinations(methodToInline.getEntryBB())) { if (destination.isExitBB()) continue;