From 47711b81ea915eeeb46b2ad8ebb291fb21cbaf6e Mon Sep 17 00:00:00 2001 From: Darrick Wiebe Date: Sat, 12 Apr 2025 11:46:53 -0400 Subject: Don't print ante-deps on multinodes when generating asm dumps (#202) --- chapter21/src/main/java/com/seaofnodes/simple/print/ASMPrinter.java | 4 ++-- 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); } } } -- cgit v1.2.3