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 --- src/test/java/com/seaofnodes/simple/PhaseTest.java | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) (limited to 'src/test/java/com/seaofnodes/simple/PhaseTest.java') diff --git a/src/test/java/com/seaofnodes/simple/PhaseTest.java b/src/test/java/com/seaofnodes/simple/PhaseTest.java index 885889a8..899f42fe 100644 --- a/src/test/java/com/seaofnodes/simple/PhaseTest.java +++ b/src/test/java/com/seaofnodes/simple/PhaseTest.java @@ -27,7 +27,7 @@ public class PhaseTest { code.driver(Phase.LoopTree); assertEquals(Phase.LoopTree,code._phase); code.driver(Phase.LocalSched); - assertEquals("Parse Iter FinalizeIR TypeCheck LoopTree Schedule LocalSched",String.join(" ",phases)); + assertEquals("Parse Iter Opto IterPostOpto FinalizeIR TypeCheck LoopTree Schedule LocalSched",String.join(" ",phases)); assertEquals("45",Eval2.eval(code,10)); } @@ -39,4 +39,18 @@ public class PhaseTest { CodeGen direct = new CodeGen(SRC).driver(Phase.Encoding,"x86_64_v2","SystemV"); assertArrayEquals(bits,direct._encoding._bits.toByteArray()); } + + @Test public void testOptoRequiresIter() { + CodeGen code = new CodeGen(SRC).parse(); + try { + code.opto(); + fail("Opto must not implicitly run Iter"); + } catch( AssertionError expected ) { + assertEquals("Cannot run Opto after Parse",expected.getMessage()); + } + code.iter().opto(); + assertEquals(Phase.Opto,code._phase); + code.driver(Phase.LocalSched); + assertEquals("45",Eval2.eval(code,10)); + } } -- cgit v1.2.3