From 89dd0a79da85b2c7102b7c8918a1466e6238fe94 Mon Sep 17 00:00:00 2001 From: Cliff Click Date: Fri, 13 Jun 2025 15:42:08 -0700 Subject: Chapter 24a: SCCP Within a Function MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Tamás Hadházy <85063808+Hels15@users.noreply.github.com> Co-authored-by: Hsiang-Ying Fu <66062782+fuhsnn@users.noreply.github.com> Co-authored-by: fuhsnn <66062782+fuhsnn@users.noreply.github.com> Co-authored-by: Symious <14933944+symious@users.noreply.github.com> Co-authored-by: Jun Kawasaki Co-authored-by: Hadházy Tamás Co-authored-by: Claude Opus 5 --- .../java/com/seaofnodes/simple/Chapter10Test.java | 44 +++++++++++----------- 1 file changed, 22 insertions(+), 22 deletions(-) (limited to 'src/test/java/com/seaofnodes/simple/Chapter10Test.java') diff --git a/src/test/java/com/seaofnodes/simple/Chapter10Test.java b/src/test/java/com/seaofnodes/simple/Chapter10Test.java index 4fd20b18..afe0b141 100644 --- a/src/test/java/com/seaofnodes/simple/Chapter10Test.java +++ b/src/test/java/com/seaofnodes/simple/Chapter10Test.java @@ -120,7 +120,7 @@ if( (arg/13)==0 ) { int r = g+h; return p-r; """); - code.parse().iter().finalizeIR(); + code.driver(CodeGen.Phase.FinalizeIR); assertEquals("return 0;", code.print()); } @@ -140,7 +140,7 @@ bar.a = 1; bar.a = 2; return bar.a; """); - code.parse().iter().finalizeIR(); + code.driver(CodeGen.Phase.FinalizeIR); assertEquals("return 2;", code.print()); } @@ -156,7 +156,7 @@ else v.y = 3; return v; """); - code.parse().iter().finalizeIR(); + code.driver(CodeGen.Phase.FinalizeIR); assertEquals("return Vector2D;", code.print()); } @@ -194,7 +194,7 @@ while (arg) { } return bar.a; """); - code.parse().iter().finalizeIR(); + code.driver(CodeGen.Phase.FinalizeIR); assertEquals("return Phi(Loop,0,(Phi_a+2));", code.print()); } @@ -246,7 +246,7 @@ if (arg) bar = null; if( bar ) bar.a = 1; return bar; """); - code.parse().iter().finalizeIR(); + code.driver(CodeGen.Phase.FinalizeIR); assertEquals("return Phi(Region,null,Bar);", code.print()); } @@ -262,7 +262,7 @@ if( !bar ) rez=4; else bar.a = 1; return rez; """); - code.parse().iter().finalizeIR(); + code.driver(CodeGen.Phase.FinalizeIR); assertEquals("return Phi(Region,4,3);", code.print()); } @@ -316,7 +316,7 @@ while( i.x < i.len ) { } return sum; """); - code.parse().iter().finalizeIR(); + code.driver(CodeGen.Phase.FinalizeIR); assertEquals("return Phi(Loop,0,(Phi(Loop,0,(Phi_x+1))+Phi_sum));", code.print()); } @@ -335,7 +335,7 @@ while(arg) { } return ret; """); - code.parse().iter().finalizeIR(); + code.driver(CodeGen.Phase.FinalizeIR); assertEquals("return Phi(Loop,s0,Phi(Region,s0,Phi_ret));", code.print()); } @@ -353,7 +353,7 @@ while(arg) { } return ret; """); - code.parse().iter().finalizeIR(); + code.driver(CodeGen.Phase.FinalizeIR); assertEquals("return Phi(Loop,s0,Phi(Region,s0,Phi_ret));", code.print()); } @@ -370,7 +370,7 @@ while(arg < 10) { } return ret; """); - code.parse().iter().finalizeIR(); + code.driver(CodeGen.Phase.FinalizeIR); assertEquals("return Phi(Loop,s0,Phi(Region,s0,Phi_ret));", code.print()); } @@ -398,7 +398,7 @@ if(0) { } return 0; """); - code.parse().iter().finalizeIR(); + code.driver(CodeGen.Phase.FinalizeIR); assertEquals("return 0;", code.print()); } @@ -412,7 +412,7 @@ if(0) return 0; else return new s0; if(new s0.f0) return 0; """); - code.parse().iter().finalizeIR(); + code.driver(CodeGen.Phase.FinalizeIR); assertEquals("return s0;", code.print()); } @@ -428,7 +428,7 @@ while(01) v=p.x; else v=q.x; return v; - """).parse().iter().finalizeIR(); + """).driver(CodeGen.Phase.FinalizeIR); StopNode stop = code._stop; // The one-step safety check stops at the memory aggregate. assertEquals(2,countMemoryNodes(stop,LoadNode.class,new BitSet())); @@ -572,7 +572,7 @@ return 0; !S !s = new S; if (arg) s.x=arg+1; else s.x=arg+2; return s; - """).parse().iter().finalizeIR(); + """).driver(CodeGen.Phase.FinalizeIR); StopNode stop = code._stop; // Keep each Store on its own branch. assertEquals(2,countMemoryNodes(stop,StoreNode.class,new BitSet())); @@ -591,7 +591,7 @@ return 0; if (arg>1) { v=p.x; p.x=41; p.y=5; } else { v=q.x; q.x=42; } return v; - """).parse().iter().finalizeIR(); + """).driver(CodeGen.Phase.FinalizeIR); StopNode stop = code._stop; assertEquals(2,countMemoryNodes(stop,LoadNode.class,new BitSet())); assertEquals("-1",Eval2.eval(code,-1)); -- cgit v1.2.3