summaryrefslogtreecommitdiff
path: root/src/test/java/com/seaofnodes/simple/Chapter04Test.java
diff options
context:
space:
mode:
authorDibyendu Majumdar <mobile@majumdar.org.uk>2023-10-27 20:35:04 +0100
committerDibyendu Majumdar <mobile@majumdar.org.uk>2024-10-23 17:51:09 -0700
commit369268fe6f3bd1dcd59117c8f831f04f4e3b0560 (patch)
treed06a85d843468b9aad667eac114b9866e1ed3d09 /src/test/java/com/seaofnodes/simple/Chapter04Test.java
parent83fdf059150e37c335a86e3dd4547a76a1c588db (diff)
downloadSimple-linear-chapter05.tar.gz
Simple-linear-chapter05.zip
Chapter 5: If Statement, Phi, and Regionlinear-chapter05
Co-authored-by: Cliff Click <cliffc@acm.org> Co-authored-by: XmiliaH <45106915+XmiliaH@users.noreply.github.com> Co-authored-by: Yichen Yan <oraluben@outlook.com> Co-authored-by: Thalia Archibald <thalia@archibald.dev> Co-authored-by: Tamas Hadhazy <helsgithub15@gmail.com> Co-authored-by: David Rubin <87927264+Rexicon226@users.noreply.github.com>
Diffstat (limited to 'src/test/java/com/seaofnodes/simple/Chapter04Test.java')
-rw-r--r--src/test/java/com/seaofnodes/simple/Chapter04Test.java33
1 files changed, 17 insertions, 16 deletions
diff --git a/src/test/java/com/seaofnodes/simple/Chapter04Test.java b/src/test/java/com/seaofnodes/simple/Chapter04Test.java
index 9f1535b3..cde23324 100644
--- a/src/test/java/com/seaofnodes/simple/Chapter04Test.java
+++ b/src/test/java/com/seaofnodes/simple/Chapter04Test.java
@@ -11,49 +11,50 @@ public class Chapter04Test {
@Test
public void testPeephole() {
Parser parser = new Parser("return 1+arg+2; #showGraph;");
- ReturnNode ret = parser.parse();
+ StopNode ret = parser.parse();
assertEquals("return (arg+3);", ret.print());
}
@Test
public void testPeephole2() {
Parser parser = new Parser("return (1+arg)+2;");
- ReturnNode ret = parser.parse();
+ StopNode ret = parser.parse();
assertEquals("return (arg+3);", ret.print());
}
@Test
public void testAdd0() {
Parser parser = new Parser("return 0+arg;");
- ReturnNode ret = parser.parse();
+ StopNode ret = parser.parse();
assertEquals("return arg;", ret.print());
}
@Test
public void testAddAddMul() {
Parser parser = new Parser("return arg+0+arg;");
- ReturnNode ret = parser.parse();
+ StopNode ret = parser.parse();
assertEquals("return (arg*2);", ret.print());
}
@Test
public void testPeephole3() {
Parser parser = new Parser("return 1+arg+2+arg+3; #showGraph;");
- ReturnNode ret = parser.parse();
+ StopNode ret = parser.parse();
assertEquals("return ((arg*2)+6);", ret.print());
}
@Test
public void testMul1() {
Parser parser = new Parser("return 1*arg;");
- ReturnNode ret = parser.parse();
+ StopNode ret = parser.parse();
assertEquals("return arg;", ret.print());
}
@Test
public void testVarArg() {
- Parser parser = new Parser("return arg; #showGraph;", TypeInteger.BOT);
- ReturnNode ret = parser.parse();
+ Parser parser = new Parser("return arg; #showGraph;");
+ StopNode stop = parser.parse();
+ ReturnNode ret = stop.ret();
assertTrue(ret.in(0) instanceof ProjNode);
assertTrue(ret.in(1) instanceof ProjNode);
}
@@ -61,49 +62,49 @@ public class Chapter04Test {
@Test
public void testConstantArg() {
Parser parser = new Parser("return arg; #showGraph;", TypeInteger.constant(2));
- ReturnNode ret = parser.parse();
+ StopNode ret = parser.parse();
assertEquals("return 2;", ret.print());
}
@Test
public void testCompEq() {
Parser parser = new Parser("return 3==3; #showGraph;");
- ReturnNode ret = parser.parse();
+ StopNode ret = parser.parse();
assertEquals("return 1;", ret.print());
}
@Test
public void testCompEq2() {
Parser parser = new Parser("return 3==4; #showGraph;");
- ReturnNode ret = parser.parse();
+ StopNode ret = parser.parse();
assertEquals("return 0;", ret.print());
}
@Test
public void testCompNEq() {
Parser parser = new Parser("return 3!=3; #showGraph;");
- ReturnNode ret = parser.parse();
+ StopNode ret = parser.parse();
assertEquals("return 0;", ret.print());
}
@Test
public void testCompNEq2() {
Parser parser = new Parser("return 3!=4; #showGraph;");
- ReturnNode ret = parser.parse();
+ StopNode ret = parser.parse();
assertEquals("return 1;", ret.print());
}
@Test
public void testBug1() {
Parser parser = new Parser("int a=arg+1; int b=a; b=1; return a+2; #showGraph;");
- ReturnNode ret = parser.parse();
+ StopNode ret = parser.parse();
assertEquals("return (arg+3);", ret.print());
}
@Test
public void testBug2() {
Parser parser = new Parser("int a=arg+1; a=a; return a; #showGraph;");
- ReturnNode ret = parser.parse();
+ StopNode ret = parser.parse();
assertEquals("return (arg+1);", ret.print());
}
@@ -120,7 +121,7 @@ public class Chapter04Test {
@Test
public void testBug4() {
Parser parser = new Parser("return -arg;");
- ReturnNode ret = parser.parse();
+ StopNode ret = parser.parse();
assertEquals("return (-arg);", ret.print());
}