ART: Print C1vis lists as [v1,...,vN]
Checker interprets whitespace as a don't-care placeholder, making it
easier to write assertions which test only parts of the output (e.g.
"//CHECK: Add liveness:44" does not test the inputs or any other
attributes apart from "liveness").
However, since the GraphVisualizer prints lists with elements
separated by spaces ("[ v1 ... vN ]"), this allows for false positives
caused by an occurrence elsewhere in the output. For example, the
assertion: "//CHECK: [ x y ]" will match "[ x y ]" but also
"[ x a y b ]" or even "[ x ] abc [ y ]".
Switching to comma-separated lists works around this issue.
This patch updates all test files, fixes one false positive that this
change revealed (test 442, line 337) and two occurrences of a wrong
match (test 462, lines 121, 149).
Bug: 21189305
Change-Id: I3b22503be3d92529dac0b13f66bccbcfabea6721
diff --git a/test/463-checker-boolean-simplifier/src/Main.java b/test/463-checker-boolean-simplifier/src/Main.java
index 3f3110f..e237448 100644
--- a/test/463-checker-boolean-simplifier/src/Main.java
+++ b/test/463-checker-boolean-simplifier/src/Main.java
@@ -41,9 +41,9 @@
// CHECK-DAG: <<Param:z\d+>> ParameterValue
// CHECK-DAG: <<Const0:i\d+>> IntConstant 0
// CHECK-DAG: <<Const1:i\d+>> IntConstant 1
- // CHECK-DAG: If [ <<Param>> ]
- // CHECK-DAG: <<Phi:i\d+>> Phi [ <<Const1>> <<Const0>> ]
- // CHECK-DAG: Return [ <<Phi>> ]
+ // CHECK-DAG: If [<<Param>>]
+ // CHECK-DAG: <<Phi:i\d+>> Phi [<<Const1>>,<<Const0>>]
+ // CHECK-DAG: Return [<<Phi>>]
// CHECK-START: boolean Main.BooleanNot(boolean) boolean_simplifier (before)
// CHECK: Goto
@@ -54,8 +54,8 @@
// CHECK-START: boolean Main.BooleanNot(boolean) boolean_simplifier (after)
// CHECK-DAG: <<Param:z\d+>> ParameterValue
// CHECK-DAG: <<Const0:i\d+>> IntConstant 0
- // CHECK-DAG: <<NotParam:z\d+>> BooleanNot [ <<Param>> ]
- // CHECK-DAG: Return [ <<NotParam>> ]
+ // CHECK-DAG: <<NotParam:z\d+>> BooleanNot [<<Param>>]
+ // CHECK-DAG: Return [<<NotParam>>]
// CHECK-START: boolean Main.BooleanNot(boolean) boolean_simplifier (after)
// CHECK-NOT: If
@@ -79,18 +79,18 @@
// CHECK-DAG: <<ParamY:i\d+>> ParameterValue
// CHECK-DAG: <<Const0:i\d+>> IntConstant 0
// CHECK-DAG: <<Const1:i\d+>> IntConstant 1
- // CHECK-DAG: <<Cond:z\d+>> GreaterThan [ <<ParamX>> <<ParamY>> ]
- // CHECK-DAG: If [ <<Cond>> ]
- // CHECK-DAG: <<Phi:i\d+>> Phi [ <<Const0>> <<Const1>> ]
- // CHECK-DAG: Return [ <<Phi>> ]
+ // CHECK-DAG: <<Cond:z\d+>> GreaterThan [<<ParamX>>,<<ParamY>>]
+ // CHECK-DAG: If [<<Cond>>]
+ // CHECK-DAG: <<Phi:i\d+>> Phi [<<Const0>>,<<Const1>>]
+ // CHECK-DAG: Return [<<Phi>>]
// CHECK-START: boolean Main.GreaterThan(int, int) boolean_simplifier (after)
// CHECK-DAG: <<ParamX:i\d+>> ParameterValue
// CHECK-DAG: <<ParamY:i\d+>> ParameterValue
// CHECK-DAG: <<Const0:i\d+>> IntConstant 0
// CHECK-DAG: <<Const1:i\d+>> IntConstant 1
- // CHECK-DAG: <<Cond:z\d+>> GreaterThan [ <<ParamX>> <<ParamY>> ]
- // CHECK-DAG: Return [ <<Cond>> ]
+ // CHECK-DAG: <<Cond:z\d+>> GreaterThan [<<ParamX>>,<<ParamY>>]
+ // CHECK-DAG: Return [<<Cond>>]
public static boolean GreaterThan(int x, int y) {
return (x <= y) ? false : true;
@@ -106,18 +106,18 @@
// CHECK-DAG: <<ParamY:i\d+>> ParameterValue
// CHECK-DAG: <<Const0:i\d+>> IntConstant 0
// CHECK-DAG: <<Const1:i\d+>> IntConstant 1
- // CHECK-DAG: <<Cond:z\d+>> GreaterThanOrEqual [ <<ParamX>> <<ParamY>> ]
- // CHECK-DAG: If [ <<Cond>> ]
- // CHECK-DAG: <<Phi:i\d+>> Phi [ <<Const1>> <<Const0>> ]
- // CHECK-DAG: Return [ <<Phi>> ]
+ // CHECK-DAG: <<Cond:z\d+>> GreaterThanOrEqual [<<ParamX>>,<<ParamY>>]
+ // CHECK-DAG: If [<<Cond>>]
+ // CHECK-DAG: <<Phi:i\d+>> Phi [<<Const1>>,<<Const0>>]
+ // CHECK-DAG: Return [<<Phi>>]
// CHECK-START: boolean Main.LessThan(int, int) boolean_simplifier (after)
// CHECK-DAG: <<ParamX:i\d+>> ParameterValue
// CHECK-DAG: <<ParamY:i\d+>> ParameterValue
// CHECK-DAG: <<Const0:i\d+>> IntConstant 0
// CHECK-DAG: <<Const1:i\d+>> IntConstant 1
- // CHECK-DAG: <<Cond:z\d+>> LessThan [ <<ParamX>> <<ParamY>> ]
- // CHECK-DAG: Return [ <<Cond>> ]
+ // CHECK-DAG: <<Cond:z\d+>> LessThan [<<ParamX>>,<<ParamY>>]
+ // CHECK-DAG: Return [<<Cond>>]
// CHECK-START: boolean Main.LessThan(int, int) boolean_simplifier (after)
// CHECK-NOT: GreaterThanOrEqual
@@ -137,25 +137,25 @@
// CHECK-DAG: <<ParamZ:i\d+>> ParameterValue
// CHECK-DAG: <<Const0:i\d+>> IntConstant 0
// CHECK-DAG: <<Const1:i\d+>> IntConstant 1
- // CHECK-DAG: <<CondXY:z\d+>> GreaterThan [ <<ParamX>> <<ParamY>> ]
- // CHECK-DAG: If [ <<CondXY>> ]
- // CHECK-DAG: <<CondYZ:z\d+>> GreaterThan [ <<ParamY>> <<ParamZ>> ]
- // CHECK-DAG: If [ <<CondYZ>> ]
- // CHECK-DAG: <<CondXYZ:z\d+>> NotEqual [ <<PhiXY:i\d+>> <<PhiYZ:i\d+>> ]
- // CHECK-DAG: If [ <<CondXYZ>> ]
- // CHECK-DAG: Return [ <<PhiXYZ:i\d+>> ]
- // CHECK-DAG: <<PhiXY>> Phi [ <<Const1>> <<Const0>> ]
- // CHECK-DAG: <<PhiYZ>> Phi [ <<Const1>> <<Const0>> ]
- // CHECK-DAG: <<PhiXYZ>> Phi [ <<Const1>> <<Const0>> ]
+ // CHECK-DAG: <<CondXY:z\d+>> GreaterThan [<<ParamX>>,<<ParamY>>]
+ // CHECK-DAG: If [<<CondXY>>]
+ // CHECK-DAG: <<CondYZ:z\d+>> GreaterThan [<<ParamY>>,<<ParamZ>>]
+ // CHECK-DAG: If [<<CondYZ>>]
+ // CHECK-DAG: <<CondXYZ:z\d+>> NotEqual [<<PhiXY:i\d+>>,<<PhiYZ:i\d+>>]
+ // CHECK-DAG: If [<<CondXYZ>>]
+ // CHECK-DAG: Return [<<PhiXYZ:i\d+>>]
+ // CHECK-DAG: <<PhiXY>> Phi [<<Const1>>,<<Const0>>]
+ // CHECK-DAG: <<PhiYZ>> Phi [<<Const1>>,<<Const0>>]
+ // CHECK-DAG: <<PhiXYZ>> Phi [<<Const1>>,<<Const0>>]
// CHECK-START: boolean Main.ValuesOrdered(int, int, int) boolean_simplifier (after)
// CHECK-DAG: <<ParamX:i\d+>> ParameterValue
// CHECK-DAG: <<ParamY:i\d+>> ParameterValue
// CHECK-DAG: <<ParamZ:i\d+>> ParameterValue
- // CHECK-DAG: <<CmpXY:z\d+>> LessThanOrEqual [ <<ParamX>> <<ParamY>> ]
- // CHECK-DAG: <<CmpYZ:z\d+>> LessThanOrEqual [ <<ParamY>> <<ParamZ>> ]
- // CHECK-DAG: <<CmpXYZ:z\d+>> Equal [ <<CmpXY>> <<CmpYZ>> ]
- // CHECK-DAG: Return [ <<CmpXYZ>> ]
+ // CHECK-DAG: <<CmpXY:z\d+>> LessThanOrEqual [<<ParamX>>,<<ParamY>>]
+ // CHECK-DAG: <<CmpYZ:z\d+>> LessThanOrEqual [<<ParamY>>,<<ParamZ>>]
+ // CHECK-DAG: <<CmpXYZ:z\d+>> Equal [<<CmpXY>>,<<CmpYZ>>]
+ // CHECK-DAG: Return [<<CmpXYZ>>]
public static boolean ValuesOrdered(int x, int y, int z) {
return (x <= y) == (y <= z);
@@ -165,18 +165,18 @@
// CHECK-DAG: <<Param:z\d+>> ParameterValue
// CHECK-DAG: <<Const42:i\d+>> IntConstant 42
// CHECK-DAG: <<Const43:i\d+>> IntConstant 43
- // CHECK-DAG: <<NotParam:z\d+>> BooleanNot [ <<Param>> ]
- // CHECK-DAG: If [ <<NotParam>> ]
- // CHECK-DAG: <<Phi:i\d+>> Phi [ <<Const42>> <<Const43>> ]
- // CHECK-DAG: Return [ <<Phi>> ]
+ // CHECK-DAG: <<NotParam:z\d+>> BooleanNot [<<Param>>]
+ // CHECK-DAG: If [<<NotParam>>]
+ // CHECK-DAG: <<Phi:i\d+>> Phi [<<Const42>>,<<Const43>>]
+ // CHECK-DAG: Return [<<Phi>>]
// CHECK-START: int Main.NegatedCondition(boolean) boolean_simplifier (after)
// CHECK-DAG: <<Param:z\d+>> ParameterValue
// CHECK-DAG: <<Const42:i\d+>> IntConstant 42
// CHECK-DAG: <<Const43:i\d+>> IntConstant 43
- // CHECK-DAG: If [ <<Param>> ]
- // CHECK-DAG: <<Phi:i\d+>> Phi [ <<Const42>> <<Const43>> ]
- // CHECK-DAG: Return [ <<Phi>> ]
+ // CHECK-DAG: If [<<Param>>]
+ // CHECK-DAG: <<Phi:i\d+>> Phi [<<Const42>>,<<Const43>>]
+ // CHECK-DAG: Return [<<Phi>>]
// Note: The fact that branches are swapped is verified by running the test.