aboutsummaryrefslogtreecommitdiff
path: root/tools/test-js-optimizer-regs-output.js
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2012-05-11 21:17:47 -0700
committerAlon Zakai <alonzakai@gmail.com>2012-05-11 21:17:47 -0700
commit725d1a3ab6c3d5d504bc4db81bac36c95deae4f1 (patch)
treeefc4f06c04f302df743b668cb8c4dd87d1683a21 /tools/test-js-optimizer-regs-output.js
parentb1ad0fe49869321309a70bfac7913023b58a4150 (diff)
fix registerize bugs
Diffstat (limited to 'tools/test-js-optimizer-regs-output.js')
-rw-r--r--tools/test-js-optimizer-regs-output.js40
1 files changed, 39 insertions, 1 deletions
diff --git a/tools/test-js-optimizer-regs-output.js b/tools/test-js-optimizer-regs-output.js
index 8e5d2e63..c0c6c923 100644
--- a/tools/test-js-optimizer-regs-output.js
+++ b/tools/test-js-optimizer-regs-output.js
@@ -24,4 +24,42 @@ function test() {
r3 = f(), r1 = 100, r1 = 1e3, r1 = 1e5;
f(r3());
}
-// EMSCRIPTEN_GENERATED_FUNCTIONS: ["test"]
+function primes() {
+ var r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12, r13, r14;
+ r1 = 2;
+ r2 = 0;
+ $_$2 : while (1) {
+ r3 = r1 | 0;
+ r4 = _sqrtf(r3);
+ r5 = 2;
+ $_$4 : while (1) {
+ r6 = r5 | 0;
+ r7 = r6 < r4;
+ if (!r7) {
+ r8 = 1;
+ break $_$4;
+ }
+ r9 = (r1 | 0) % (r5 | 0);
+ r10 = (r9 | 0) == 0;
+ if (r10) {
+ r8 = 0;
+ break $_$4;
+ }
+ r11 = r5 + 1 | 0;
+ r5 = r11;
+ }
+ r12 = r8 + r2 | 0;
+ r13 = r1 + 1 | 0;
+ r14 = (r12 | 0) < 1e5;
+ if (r14) {
+ r1 = r13;
+ r2 = r12;
+ } else {
+ break $_$2;
+ }
+ }
+ r12 = _printf(STRING_TABLE.__str | 0, (tempInt = STACKTOP, STACKTOP += 4, HEAP32[tempInt >> 2] = r1, tempInt));
+ return 1;
+ return null;
+}
+// EMSCRIPTEN_GENERATED_FUNCTIONS: ["test", "primes"]