diff options
| author | Darrick Wiebe <darrickw@gmail.com> | 2025-04-12 11:46:53 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-04-12 08:46:53 -0700 |
| commit | 47711b81ea915eeeb46b2ad8ebb291fb21cbaf6e (patch) | |
| tree | 2be3c307995aa982f38a72dfe5adfa469abc3cfe | |
| parent | 08421921cbb885fdfb785b896f21b59937b99f39 (diff) | |
| download | Simple-47711b81ea915eeeb46b2ad8ebb291fb21cbaf6e.tar.gz Simple-47711b81ea915eeeb46b2ad8ebb291fb21cbaf6e.zip | |
Don't print ante-deps on multinodes when generating asm dumps (#202)
| -rw-r--r-- | chapter21/src/main/java/com/seaofnodes/simple/print/ASMPrinter.java | 4 | ||||
| -rw-r--r-- | chapter21/src/main/java/com/seaofnodes/simple/print/IRPrinter.java | 6 |
2 files changed, 6 insertions, 4 deletions
diff --git a/chapter21/src/main/java/com/seaofnodes/simple/print/ASMPrinter.java b/chapter21/src/main/java/com/seaofnodes/simple/print/ASMPrinter.java index 2c5b138d..902aa3c2 100644 --- a/chapter21/src/main/java/com/seaofnodes/simple/print/ASMPrinter.java +++ b/chapter21/src/main/java/com/seaofnodes/simple/print/ASMPrinter.java @@ -255,8 +255,8 @@ public abstract class ASMPrinter { // MultiNodes are immediately followed by projection(s) if( !(n instanceof CFGNode) && n instanceof MultiNode ) { for( Node proj : n._outputs ) { - assert proj instanceof ProjNode; - doInst(iadr,sb,code,fun, cfgidx, proj,postAlloc,postEncode); + if( proj instanceof ProjNode ) // it could also be an ante-dep + doInst(iadr,sb,code,fun, cfgidx, proj,postAlloc,postEncode); } } diff --git a/chapter21/src/main/java/com/seaofnodes/simple/print/IRPrinter.java b/chapter21/src/main/java/com/seaofnodes/simple/print/IRPrinter.java index b171e9f7..c6e478c5 100644 --- a/chapter21/src/main/java/com/seaofnodes/simple/print/IRPrinter.java +++ b/chapter21/src/main/java/com/seaofnodes/simple/print/IRPrinter.java @@ -212,7 +212,8 @@ public abstract class IRPrinter { printLine(n,sb); if( !(n instanceof CFGNode) && n instanceof MultiNode ) for( Node use : n._outputs ) - printLine(use,sb); + if( use instanceof ProjNode ) + printLine(use,sb); } } @@ -282,7 +283,8 @@ public abstract class IRPrinter { printLine( n, sb, bns, i--, ds,ns ); if( n instanceof MultiNode && !(n instanceof CFGNode) ) { for( Node use : n._outputs ) { - printLine(use,sb,bns,bns.indexOf(use),ds,ns); + if( use instanceof ProjNode ) + printLine(use,sb,bns,bns.indexOf(use),ds,ns); } } } |
