Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(658)

Unified Diff: tests/compiler/dart2js/cps_ir/input/gvn_1.dart

Issue 1576093003: cpsir unittests: move all unittests into individual files and test runners. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 4 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: tests/compiler/dart2js/cps_ir/input/gvn_1.dart
diff --git a/tests/compiler/dart2js/cps_ir/input/gvn_1.dart b/tests/compiler/dart2js/cps_ir/input/gvn_1.dart
new file mode 100644
index 0000000000000000000000000000000000000000..4953cb9e3a4197067a08d16f8bcfdacb6b58030c
--- /dev/null
+++ b/tests/compiler/dart2js/cps_ir/input/gvn_1.dart
@@ -0,0 +1,41 @@
+foo(x, list) {
+ var sum = 0;
+ for (int k = 0; k < 10; k++) {
+ // Everything can be hoisted out up to the index access which is
+ // blocked by the bounds check.
+ var a = x.left.left;
+ var b = x.left.right;
+ var c = x.right.left;
+ var d = x.right.right;
+ var i = a.value + c.value;
+ var j = b.value + d.value;
+ var z = list[i * j] + i;
+ sum += z;
+ }
+ return sum;
+}
+// Use a different class for each level in the tree, so type inference
+// is not confused.
+class Root {
+ Branch left, right;
+ Root(this.left, this.right);
+}
+class Branch {
+ Leaf left, right;
+ Branch(this.left, this.right);
+}
+class Leaf {
+ int value;
+ Leaf(this.value);
+}
+main() {
+ var x1 = new Leaf(1);
+ var x2 = new Leaf(10);
+ var x3 = new Leaf(20);
+ var x4 = new Leaf(-10);
+ var y1 = new Branch(x1, x2);
+ var y2 = new Branch(x3, x4);
+ var z = new Root(y1, y2);
+ print(foo(z, [1,2,3,4,5,6,7,8,9,10]));
+}
+
« no previous file with comments | « tests/compiler/dart2js/cps_ir/input/control_flow_9.dart ('k') | tests/compiler/dart2js/cps_ir/input/interceptors_1.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698