diff options
author | bd-912 <bdunahu@colostate.edu> | 2024-04-21 01:17:31 -0600 |
---|---|---|
committer | bd-912 <bdunahu@colostate.edu> | 2024-04-21 01:17:31 -0600 |
commit | 110b4f031aea36445250d79c7257a57f15fb7b82 (patch) | |
tree | b4c03e84b05a009e1c9b978f13c5887de2b59764 /vaporize/library/LIRVisitor.java | |
parent | 04fd097fb51346f655c7bdc0c88b85e29359ef1c (diff) |
Fix bugs in LiveInterval, successfully calculate (gapless) LIR
Diffstat (limited to 'vaporize/library/LIRVisitor.java')
-rw-r--r-- | vaporize/library/LIRVisitor.java | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/vaporize/library/LIRVisitor.java b/vaporize/library/LIRVisitor.java index 6d5c79f..a962775 100644 --- a/vaporize/library/LIRVisitor.java +++ b/vaporize/library/LIRVisitor.java @@ -27,7 +27,7 @@ public class LIRVisitor extends VInstr.VisitorPR<ControlFlowGraph, String, Runti ControlFlowGraph cfg = new ControlFlowGraph(f); this.dot_format = ""; - MinimalLogger.info(String.format("CFGSimp is collecting nodes for %s", + MinimalLogger.info(String.format("LIRVisitor is collecting nodes for %s", this.kettle.parseFuncName(f))); for (VCodeLabel s : f.labels) { cfg.addNode(new CFGNode(s)); @@ -37,12 +37,12 @@ public class LIRVisitor extends VInstr.VisitorPR<ControlFlowGraph, String, Runti } - MinimalLogger.info(String.format("CFGSimp is collecting edges for %s", + MinimalLogger.info(String.format("LIRVisitor is collecting edges for %s", this.kettle.parseFuncName(f))); // inital setup // first visit may not find edges; cfg.addEdges will handle - this.curr = new CFGNode(f.body[0]); + this.curr = cfg.getNode(f.body[0]); // cascades downwards --- cfg.addEdges for (VVarRef.Local l : f.params) cfg.addReaching(this.curr, l.ident.toString()); @@ -61,7 +61,7 @@ public class LIRVisitor extends VInstr.VisitorPR<ControlFlowGraph, String, Runti MinimalLogger.info(String.format("Gathering intervals for %s", this.kettle.parseFuncName(f))); - LIRDict lir = new LIRDict(cfg); + LIRDict lir = new LIRDict(f, cfg); this.lirs.add(lir); MinimalLogger.info(String.format("Found intervals: %s", lir.getIntervals().toString())); |