diff options
| author | Cliff Click <cliffc@acm.org> | 2025-06-13 15:42:08 -0700 |
|---|---|---|
| committer | Cliff Click <cliffc@acm.org> | 2026-10-24 15:56:44 -0700 |
| commit | 89dd0a79da85b2c7102b7c8918a1466e6238fe94 (patch) | |
| tree | cfa3d1457e9c40ad79ae78ded15c7c2ff286d79d /src/test/java/com/seaofnodes/simple/PhaseTest.java | |
| parent | 8309071562b63f77a15425ab2146e05dbcb5acfd (diff) | |
| download | Simple-linear-chapter24a.tar.gz Simple-linear-chapter24a.zip | |
Chapter 24a: SCCP Within a Functionlinear-chapter24a
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 <jun784@gmail.com>
Co-authored-by: Hadházy Tamás <helsgithub15@gmail.com>
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
Diffstat (limited to 'src/test/java/com/seaofnodes/simple/PhaseTest.java')
| -rw-r--r-- | src/test/java/com/seaofnodes/simple/PhaseTest.java | 16 |
1 files changed, 15 insertions, 1 deletions
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)); + } } |
