diff options
author | Dan Gohman <sunfish@mozilla.com> | 2016-01-06 16:20:12 -0800 |
---|---|---|
committer | Dan Gohman <sunfish@mozilla.com> | 2016-01-06 16:20:12 -0800 |
commit | 8ae085fb1f79d6a72d234c5d33704f6106fe6f4b (patch) | |
tree | 68120e60fc185e157af9656288782f42efada509 | |
parent | 176a955c63f7891f00c1f29e33079dc3d77539da (diff) | |
parent | 10d9c8223360714918808aeafa24308039c1518b (diff) | |
download | binaryen-8ae085fb1f79d6a72d234c5d33704f6106fe6f4b.tar.gz binaryen-8ae085fb1f79d6a72d234c5d33704f6106fe6f4b.tar.bz2 binaryen-8ae085fb1f79d6a72d234c5d33704f6106fe6f4b.zip |
Merge pull request #74 from WebAssembly/llvm_autogenerated
Replace the experimental/prototype-wasmate/test tests.
-rwxr-xr-x | check.py | 71 | ||||
-rw-r--r-- | src/wasm.h | 4 | ||||
-rw-r--r-- | test/dot_s/import.wast | 33 | ||||
-rw-r--r-- | test/dot_s/offset.wast | 204 | ||||
-rw-r--r-- | test/dot_s/returned.wast | 35 | ||||
-rw-r--r-- | test/dot_s/vtable.wast | 108 | ||||
-rw-r--r-- | test/llvm_autogenerated/call.wast (renamed from test/dot_s/call.wast) | 0 | ||||
-rw-r--r-- | test/llvm_autogenerated/cfg-stackify.wast (renamed from test/dot_s/cfg-stackify.wast) | 348 | ||||
-rw-r--r-- | test/llvm_autogenerated/comparisons_f32.wast (renamed from test/dot_s/comparisons_f32.wast) | 0 | ||||
-rw-r--r-- | test/llvm_autogenerated/comparisons_f64.wast (renamed from test/dot_s/comparisons_f64.wast) | 0 | ||||
-rw-r--r-- | test/llvm_autogenerated/comparisons_i32.wast (renamed from test/dot_s/comparisons_i32.wast) | 0 | ||||
-rw-r--r-- | test/llvm_autogenerated/comparisons_i64.wast (renamed from test/dot_s/comparisons_i64.wast) | 0 | ||||
-rw-r--r-- | test/llvm_autogenerated/conv.wast (renamed from test/dot_s/conv.wast) | 0 | ||||
-rw-r--r-- | test/llvm_autogenerated/copysign-casts.wast (renamed from test/dot_s/copysign-casts.wast) | 0 | ||||
-rw-r--r-- | test/llvm_autogenerated/cpus.wast (renamed from test/dot_s/cpus.wast) | 0 | ||||
-rw-r--r-- | test/llvm_autogenerated/dead-vreg.wast (renamed from test/dot_s/dead-vreg.wast) | 6 | ||||
-rw-r--r-- | test/llvm_autogenerated/f32.wast (renamed from test/dot_s/f32.wast) | 0 | ||||
-rw-r--r-- | test/llvm_autogenerated/f64.wast (renamed from test/dot_s/f64.wast) | 0 | ||||
-rw-r--r-- | test/llvm_autogenerated/fast-isel.wast (renamed from test/dot_s/fast-isel.wast) | 0 | ||||
-rw-r--r-- | test/llvm_autogenerated/frem.wast (renamed from test/dot_s/frem.wast) | 0 | ||||
-rw-r--r-- | test/llvm_autogenerated/func.wast (renamed from test/dot_s/func.wast) | 0 | ||||
-rw-r--r-- | test/llvm_autogenerated/global.wast (renamed from test/dot_s/global.wast) | 0 | ||||
-rw-r--r-- | test/llvm_autogenerated/globl.wast (renamed from test/dot_s/globl.wast) | 0 | ||||
-rw-r--r-- | test/llvm_autogenerated/i32.wast (renamed from test/dot_s/i32.wast) | 0 | ||||
-rw-r--r-- | test/llvm_autogenerated/i64.wast (renamed from test/dot_s/i64.wast) | 0 | ||||
-rw-r--r-- | test/llvm_autogenerated/ident.wast (renamed from test/dot_s/ident.wast) | 0 | ||||
-rw-r--r-- | test/llvm_autogenerated/immediates.wast (renamed from test/dot_s/immediates.wast) | 8 | ||||
-rw-r--r-- | test/llvm_autogenerated/inline-asm.s | 103 | ||||
-rw-r--r-- | test/llvm_autogenerated/legalize.wast (renamed from test/dot_s/legalize.wast) | 1626 | ||||
-rwxr-xr-x | test/llvm_autogenerated/llvm-to-s.py | 8 | ||||
-rw-r--r-- | test/llvm_autogenerated/load-ext.wast (renamed from test/dot_s/load-ext.wast) | 0 | ||||
-rw-r--r-- | test/llvm_autogenerated/load-store-i1.wast (renamed from test/dot_s/load-store-i1.wast) | 0 | ||||
-rw-r--r-- | test/llvm_autogenerated/load.wast (renamed from test/dot_s/load.wast) | 0 | ||||
-rw-r--r-- | test/llvm_autogenerated/memory-addr32.wast (renamed from test/dot_s/memory-addr32.wast) | 0 | ||||
-rw-r--r-- | test/llvm_autogenerated/memory-addr64.wast (renamed from test/dot_s/memory-addr64.wast) | 0 | ||||
-rw-r--r-- | test/llvm_autogenerated/offset-folding.wast (renamed from test/dot_s/offset-folding.wast) | 12 | ||||
-rw-r--r-- | test/llvm_autogenerated/offset.wast | 473 | ||||
-rw-r--r-- | test/llvm_autogenerated/phi.wast (renamed from test/dot_s/phi.wast) | 12 | ||||
-rw-r--r-- | test/llvm_autogenerated/reg-stackify.wast (renamed from test/dot_s/reg-stackify.wast) | 40 | ||||
-rw-r--r-- | test/llvm_autogenerated/return-int32.wast (renamed from test/dot_s/return-int32.wast) | 0 | ||||
-rw-r--r-- | test/llvm_autogenerated/return-void.wast (renamed from test/dot_s/return-void.wast) | 0 | ||||
-rw-r--r-- | test/llvm_autogenerated/returned.s | 42 | ||||
-rw-r--r-- | test/llvm_autogenerated/select.wast (renamed from test/dot_s/select.wast) | 0 | ||||
-rw-r--r-- | test/llvm_autogenerated/signext-zeroext.wast (renamed from test/dot_s/signext-zeroext.wast) | 0 | ||||
-rw-r--r-- | test/llvm_autogenerated/store-results.wast (renamed from test/dot_s/store-results.wast) | 8 | ||||
-rw-r--r-- | test/llvm_autogenerated/store-trunc.wast (renamed from test/dot_s/store-trunc.wast) | 0 | ||||
-rw-r--r-- | test/llvm_autogenerated/store.wast (renamed from test/dot_s/store.wast) | 0 | ||||
-rw-r--r-- | test/llvm_autogenerated/switch.wast (renamed from test/dot_s/switch.wast) | 14 | ||||
-rw-r--r-- | test/llvm_autogenerated/unreachable.wast (renamed from test/dot_s/unreachable.wast) | 0 | ||||
-rw-r--r-- | test/llvm_autogenerated/unused-argument.wast (renamed from test/dot_s/unused-argument.wast) | 0 | ||||
-rw-r--r-- | test/llvm_autogenerated/userstack.wast (renamed from test/dot_s/userstack.wast) | 0 | ||||
-rw-r--r-- | test/llvm_autogenerated/varargs.wast (renamed from test/dot_s/varargs.wast) | 0 | ||||
-rw-r--r-- | test/llvm_autogenerated/vtable.s | 206 |
53 files changed, 1552 insertions, 1809 deletions
@@ -191,26 +191,6 @@ for t in spec_tests: if actual != expected: fail(actual, expected) -print '\n[ checking binaryen-shell experimental testcases... ]\n' - -if len(requested) == 0: - BLACKLIST = ['call.wast', # bad indirect_call, no type - 'cfg-stackify.wast', # call an import $ which no return value, but in a context with a return value - 'inline-asm.wast', # there is a (foo ..) s-expression block, perhaps inline asm? not a valid s-expression - 'switch.wast', # bad tableswitch, no (table ..) inside it - ] - experimental_tests = [os.path.join('experimental', 'prototype-wasmate', 'test', 'expected-output', t) for t in sorted(os.listdir(os.path.join('test', 'experimental', 'prototype-wasmate', 'test', 'expected-output'))) if t not in BLACKLIST] -else: - experimental_tests = requested[:] - -for t in experimental_tests: - if t.startswith('experimental') and t.endswith('.wast'): - print '..', t - wast = os.path.join('test', t) - proc = subprocess.Popen([os.path.join('bin', 'binaryen-shell'), wast], stdout=subprocess.PIPE, stderr=subprocess.PIPE) - actual, err = proc.communicate() - assert proc.returncode == 0, err - print '\n[ checking wasm2asm testcases... ]\n' for wasm in tests + [os.path.join('spec', name) for name in ['address.wast']]:#spec_tests: @@ -248,32 +228,33 @@ for wasm in tests + [os.path.join('spec', name) for name in ['address.wast']]:#s print '\n[ checking .s testcases... ]\n' -for s in sorted(os.listdir(os.path.join('test', 'dot_s'))) + sorted(os.listdir(os.path.join('test', 'experimental', 'prototype-wasmate', 'test'))): - if not s.endswith('.s'): continue - if s in ['inline-asm.s', # what is this? - 'offset-folding.s' # unresolved symbol x - ]: continue - print '..', s - wasm = s.replace('.s', '.wast') - full = os.path.join('test', 'dot_s', s) - if not os.path.exists(full): - full = os.path.join('test', 'experimental', 'prototype-wasmate', 'test', s) - actual, err = subprocess.Popen([os.path.join('bin', 's2wasm'), full], stdout=subprocess.PIPE, stderr=subprocess.PIPE).communicate() - assert err == '', 'bad err:' + err - - # verify output - expected_file = os.path.join('test', 'dot_s', wasm) - if not os.path.exists(expected_file): - print actual - raise Exception('output ' + expected_file + ' does not exist') - expected = open(expected_file).read() - if actual != expected: - fail(actual, expected) +for dot_s_dir in ['dot_s', 'llvm_autogenerated']: + for s in sorted(os.listdir(os.path.join('test', dot_s_dir))): + if not s.endswith('.s'): continue + print '..', s + wasm = s.replace('.s', '.wast') + full = os.path.join('test', dot_s_dir, s) + actual, err = subprocess.Popen([os.path.join('bin', 's2wasm'), full], stdout=subprocess.PIPE, stderr=subprocess.PIPE).communicate() + assert err == '', 'bad err:' + err - # verify with options - proc = subprocess.Popen([os.path.join('bin', 's2wasm'), full, '--global-base=1024'], stdout=subprocess.PIPE, stderr=subprocess.PIPE) - out, err = proc.communicate() - assert proc.returncode == 0, err + # verify output + expected_file = os.path.join('test', dot_s_dir, wasm) + if not os.path.exists(expected_file): + print actual + raise Exception('output ' + expected_file + ' does not exist') + expected = open(expected_file).read() + if actual != expected: + fail(actual, expected) + + # verify with options + proc = subprocess.Popen([os.path.join('bin', 's2wasm'), full, '--global-base=1024'], stdout=subprocess.PIPE, stderr=subprocess.PIPE) + out, err = proc.communicate() + assert proc.returncode == 0, err + + # run binaryen-shell on the .wast to verify that it parses + proc = subprocess.Popen([os.path.join('bin', 'binaryen-shell'), expected_file], stdout=subprocess.PIPE, stderr=subprocess.PIPE) + actual, err = proc.communicate() + assert proc.returncode == 0, err print '\n[ checking torture testcases... ]\n' diff --git a/src/wasm.h b/src/wasm.h index e3724c612..5fd4ad53b 100644 --- a/src/wasm.h +++ b/src/wasm.h @@ -193,7 +193,7 @@ struct Literal { uint32_t ll; } u; u.ff = f; - o << "nan:" << std::hex << u.ll << std::dec; + o << "nan:0x" << std::hex << u.ll << std::dec; return; } printDouble(o, f); @@ -210,7 +210,7 @@ struct Literal { uint64_t ll; } u; u.dd = d; - o << "nan:" << std::hex << u.ll << std::dec; + o << "nan:0x" << std::hex << u.ll << std::dec; return; } if (!std::isfinite(d)) { diff --git a/test/dot_s/import.wast b/test/dot_s/import.wast deleted file mode 100644 index ce68592f1..000000000 --- a/test/dot_s/import.wast +++ /dev/null @@ -1,33 +0,0 @@ -(module - (memory 0 4294967295) - (import $printi "env" "printi") - (import $printf "env" "printf") - (import $printv "env" "printv") - (import $split_arg "env" "split_arg") - (import $expanded_arg "env" "expanded_arg") - (import $lowered_result "env" "lowered_result") - (export "f" $f) - (func $f (param $$0 i32) (param $$1 f32) (param $$2 i64) (param $$3 i64) (param $$4 i32) - (block $fake_return_waka123 - (block - (call_import $printi - (get_local $$0) - ) - (call_import $printf - (get_local $$1) - ) - (call_import $printv) - (call_import $split_arg - (get_local $$3) - (get_local $$2) - ) - (call_import $expanded_arg - (get_local $$4) - ) - (call_import $lowered_result) - (br $fake_return_waka123) - ) - ) - ) -) -; METADATA: { "asmConsts": {} }
\ No newline at end of file diff --git a/test/dot_s/offset.wast b/test/dot_s/offset.wast deleted file mode 100644 index 76bb89ceb..000000000 --- a/test/dot_s/offset.wast +++ /dev/null @@ -1,204 +0,0 @@ -(module - (memory 8 4294967295 (segment 4 "\00\00\00\00")) - (export "load_i32_with_folded_offset" $load_i32_with_folded_offset) - (export "load_i32_with_unfolded_offset" $load_i32_with_unfolded_offset) - (export "load_i64_with_folded_offset" $load_i64_with_folded_offset) - (export "load_i64_with_unfolded_offset" $load_i64_with_unfolded_offset) - (export "store_i32_with_folded_offset" $store_i32_with_folded_offset) - (export "store_i32_with_unfolded_offset" $store_i32_with_unfolded_offset) - (export "store_i64_with_folded_offset" $store_i64_with_folded_offset) - (export "store_i64_with_unfolded_offset" $store_i64_with_unfolded_offset) - (export "load_i32_from_numeric_address" $load_i32_from_numeric_address) - (export "load_i32_from_global_address" $load_i32_from_global_address) - (export "store_i32_to_numeric_address" $store_i32_to_numeric_address) - (export "store_i32_to_global_address" $store_i32_to_global_address) - (export "load_i8_s_with_folded_offset" $load_i8_s_with_folded_offset) - (export "load_i8_u_with_folded_offset" $load_i8_u_with_folded_offset) - (export "store_i8_with_folded_offset" $store_i8_with_folded_offset) - (func $load_i32_with_folded_offset (param $$0 i32) (result i32) - (block $fake_return_waka123 - (block - (br $fake_return_waka123 - (i32.load offset=24 align=4 - (get_local $$0) - ) - ) - ) - ) - ) - (func $load_i32_with_unfolded_offset (param $$0 i32) (result i32) - (block $fake_return_waka123 - (block - (br $fake_return_waka123 - (i32.load align=4 - (i32.add - (get_local $$0) - (i32.const 24) - ) - ) - ) - ) - ) - ) - (func $load_i64_with_folded_offset (param $$0 i32) (result i64) - (block $fake_return_waka123 - (block - (br $fake_return_waka123 - (i64.load offset=24 align=8 - (get_local $$0) - ) - ) - ) - ) - ) - (func $load_i64_with_unfolded_offset (param $$0 i32) (result i64) - (block $fake_return_waka123 - (block - (br $fake_return_waka123 - (i64.load align=8 - (i32.add - (get_local $$0) - (i32.const 24) - ) - ) - ) - ) - ) - ) - (func $store_i32_with_folded_offset (param $$0 i32) - (block $fake_return_waka123 - (block - (i32.store offset=24 align=4 - (get_local $$0) - (i32.const 0) - ) - (br $fake_return_waka123) - ) - ) - ) - (func $store_i32_with_unfolded_offset (param $$0 i32) - (block $fake_return_waka123 - (block - (i32.store align=4 - (i32.add - (get_local $$0) - (i32.const 24) - ) - (i32.const 0) - ) - (br $fake_return_waka123) - ) - ) - ) - (func $store_i64_with_folded_offset (param $$0 i32) - (block $fake_return_waka123 - (block - (i64.store offset=24 align=8 - (get_local $$0) - (i64.const 0) - ) - (br $fake_return_waka123) - ) - ) - ) - (func $store_i64_with_unfolded_offset (param $$0 i32) - (block $fake_return_waka123 - (block - (i64.store align=8 - (i32.add - (get_local $$0) - (i32.const 24) - ) - (i64.const 0) - ) - (br $fake_return_waka123) - ) - ) - ) - (func $load_i32_from_numeric_address (result i32) - (block $fake_return_waka123 - (block - (br $fake_return_waka123 - (i32.load offset=42 align=4 - (i32.const 0) - ) - ) - ) - ) - ) - (func $load_i32_from_global_address (result i32) - (block $fake_return_waka123 - (block - (br $fake_return_waka123 - (i32.load offset=4 align=4 - (i32.const 0) - ) - ) - ) - ) - ) - (func $store_i32_to_numeric_address - (local $$0 i32) - (block $fake_return_waka123 - (block - (set_local $$0 - (i32.const 0) - ) - (i32.store offset=42 align=4 - (get_local $$0) - (get_local $$0) - ) - (br $fake_return_waka123) - ) - ) - ) - (func $store_i32_to_global_address - (local $$0 i32) - (block $fake_return_waka123 - (block - (set_local $$0 - (i32.const 0) - ) - (i32.store offset=4 align=4 - (get_local $$0) - (get_local $$0) - ) - (br $fake_return_waka123) - ) - ) - ) - (func $load_i8_s_with_folded_offset (param $$0 i32) (result i32) - (block $fake_return_waka123 - (block - (br $fake_return_waka123 - (i32.load8_s offset=24 align=1 - (get_local $$0) - ) - ) - ) - ) - ) - (func $load_i8_u_with_folded_offset (param $$0 i32) (result i32) - (block $fake_return_waka123 - (block - (br $fake_return_waka123 - (i32.load8_u offset=24 align=1 - (get_local $$0) - ) - ) - ) - ) - ) - (func $store_i8_with_folded_offset (param $$0 i32) - (block $fake_return_waka123 - (block - (i32.store offset=24 align=8 - (get_local $$0) - (i32.const 0) - ) - (br $fake_return_waka123) - ) - ) - ) -) -;; METADATA: { "asmConsts": {},"staticBump": 7 } diff --git a/test/dot_s/returned.wast b/test/dot_s/returned.wast deleted file mode 100644 index 8293de6b2..000000000 --- a/test/dot_s/returned.wast +++ /dev/null @@ -1,35 +0,0 @@ -(module - (memory 0 4294967295) - (import $_Znwm "env" "_Znwm" (param i32) (result i32)) - (import $_ZN5AppleC1Ev "env" "_ZN5AppleC1Ev" (param i32) (result i32)) - (import $memcpy "env" "memcpy" (param i32 i32 i32) (result i32)) - (export "_Z3foov" $_Z3foov) - (export "_Z3barPvS_l" $_Z3barPvS_l) - (func $_Z3foov (result i32) - (block $fake_return_waka123 - (block - (br $fake_return_waka123 - (call_import $_ZN5AppleC1Ev - (call_import $_Znwm - (i32.const 1) - ) - ) - ) - ) - ) - ) - (func $_Z3barPvS_l (param $$0 i32) (param $$1 i32) (param $$2 i32) (result i32) - (block $fake_return_waka123 - (block - (br $fake_return_waka123 - (call_import $memcpy - (get_local $$0) - (get_local $$1) - (get_local $$2) - ) - ) - ) - ) - ) -) -;; METADATA: { "asmConsts": {},"staticBump": 0 } diff --git a/test/dot_s/vtable.wast b/test/dot_s/vtable.wast deleted file mode 100644 index e1d3e4066..000000000 --- a/test/dot_s/vtable.wast +++ /dev/null @@ -1,108 +0,0 @@ -(module - (memory 208 4294967295 (segment 16 "1A\00") (segment 32 "1B\00") (segment 48 "1C\00") (segment 64 "1D\00") (segment 68 "\00\00\00\00\98\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00") (segment 88 "\00\00\00\00\a0\00\00\00\00\00\00\00\03\00\00\00\04\00\00\00") (segment 108 "\00\00\00\00\b0\00\00\00\00\00\00\00\05\00\00\00\06\00\00\00") (segment 128 "\00\00\00\00\c0\00\00\00\00\00\00\00\07\00\00\00\08\00\00\00") (segment 152 "\00\00\00\00\10\00\00\00") (segment 160 "\00\00\00\00 \00\00\00\98\00\00\00") (segment 176 "\00\00\00\000\00\00\00\98\00\00\00") (segment 192 "\00\00\00\00@\00\00\00\a0\00\00\00") (segment 204 "\00\00\00\00")) - (import $_ZdlPv "env" "_ZdlPv" (param i32)) - (export "_ZN1A3fooEv" $_ZN1A3fooEv) - (export "_ZN1B3fooEv" $_ZN1B3fooEv) - (export "_ZN1C3fooEv" $_ZN1C3fooEv) - (export "_ZN1D3fooEv" $_ZN1D3fooEv) - (export "_ZN1AD0Ev" $_ZN1AD0Ev) - (export "_ZN1BD0Ev" $_ZN1BD0Ev) - (export "_ZN1CD0Ev" $_ZN1CD0Ev) - (export "_ZN1AD2Ev" $_ZN1AD2Ev) - (export "_ZN1DD0Ev" $_ZN1DD0Ev) - (table $_ZN1AD2Ev $_ZN1AD0Ev $_ZN1A3fooEv $_ZN1BD0Ev $_ZN1B3fooEv $_ZN1CD0Ev $_ZN1C3fooEv $_ZN1DD0Ev $_ZN1D3fooEv) - (func $_ZN1A3fooEv (param $$0 i32) - (block $fake_return_waka123 - (block - (i32.store offset=204 align=4 - (i32.const 0) - (i32.const 2) - ) - (br $fake_return_waka123) - ) - ) - ) - (func $_ZN1B3fooEv (param $$0 i32) - (block $fake_return_waka123 - (block - (i32.store offset=204 align=4 - (i32.const 0) - (i32.const 4) - ) - (br $fake_return_waka123) - ) - ) - ) - (func $_ZN1C3fooEv (param $$0 i32) - (block $fake_return_waka123 - (block - (i32.store offset=204 align=4 - (i32.const 0) - (i32.const 6) - ) - (br $fake_return_waka123) - ) - ) - ) - (func $_ZN1D3fooEv (param $$0 i32) - (block $fake_return_waka123 - (block - (i32.store offset=204 align=4 - (i32.const 0) - (i32.const 8) - ) - (br $fake_return_waka123) - ) - ) - ) - (func $_ZN1AD0Ev (param $$0 i32) - (block $fake_return_waka123 - (block - (call_import $_ZdlPv - (get_local $$0) - ) - (br $fake_return_waka123) - ) - ) - ) - (func $_ZN1BD0Ev (param $$0 i32) - (block $fake_return_waka123 - (block - (call_import $_ZdlPv - (get_local $$0) - ) - (br $fake_return_waka123) - ) - ) - ) - (func $_ZN1CD0Ev (param $$0 i32) - (block $fake_return_waka123 - (block - (call_import $_ZdlPv - (get_local $$0) - ) - (br $fake_return_waka123) - ) - ) - ) - (func $_ZN1AD2Ev (param $$0 i32) (result i32) - (block $fake_return_waka123 - (block - (br $fake_return_waka123 - (get_local $$0) - ) - ) - ) - ) - (func $_ZN1DD0Ev (param $$0 i32) - (block $fake_return_waka123 - (block - (call_import $_ZdlPv - (get_local $$0) - ) - (br $fake_return_waka123) - ) - ) - ) -) -;; METADATA: { "asmConsts": {},"staticBump": 207 } diff --git a/test/dot_s/call.wast b/test/llvm_autogenerated/call.wast index 86a81ca96..86a81ca96 100644 --- a/test/dot_s/call.wast +++ b/test/llvm_autogenerated/call.wast diff --git a/test/dot_s/cfg-stackify.wast b/test/llvm_autogenerated/cfg-stackify.wast index fdf438e8d..3800f3386 100644 --- a/test/dot_s/cfg-stackify.wast +++ b/test/llvm_autogenerated/cfg-stackify.wast @@ -99,6 +99,12 @@ ) (loop $BB2_1 (block + (set_local $$1 + (i32.add + (get_local $$1) + (i32.const -1) + ) + ) (f64.store align=8 (get_local $$0) (f64.mul @@ -108,12 +114,6 @@ (f64.const 3.2) ) ) - (set_local $$1 - (i32.add - (get_local $$1) - (i32.const -1) - ) - ) (set_local $$0 (i32.add (get_local $$0) @@ -135,38 +135,32 @@ (local $$3 i32) (block $fake_return_waka123 (block - (set_local $$3 - (i32.store align=4 - (get_local $$2) - (i32.const 0) - ) - ) (block $BB3_5 - (block $BB3_4 - (br_if - (i32.eq - (get_local $$0) + (block $BB3_2 + (set_local $$3 + (i32.store align=4 + (get_local $$2) (i32.const 0) ) - $BB3_4 ) + (br_if + (get_local $$0) + $BB3_2 + ) + (i32.store align=4 + (get_local $$2) + (i32.const 1) + ) + (br $BB3_5) + ) + (block $BB3_4 (i32.store align=4 (get_local $$2) (i32.const 2) ) - (block $BB3_3 - (br_if - (i32.eq - (get_local $$1) - (i32.const 0) - ) - $BB3_3 - ) - (i32.store align=4 - (get_local $$2) - (i32.const 4) - ) - (br $BB3_5) + (br_if + (get_local $$1) + $BB3_4 ) (i32.store align=4 (get_local $$2) @@ -176,7 +170,7 @@ ) (i32.store align=4 (get_local $$2) - (i32.const 1) + (i32.const 4) ) ) (i32.store align=4 @@ -193,13 +187,13 @@ (local $$2 i32) (block $fake_return_waka123 (block - (set_local $$2 - (i32.store align=4 - (get_local $$0) - (i32.const 0) - ) - ) (block $BB4_2 + (set_local $$2 + (i32.store align=4 + (get_local $$0) + (i32.const 0) + ) + ) (br_if (get_local $$1) $BB4_2 @@ -223,30 +217,27 @@ (local $$2 i32) (block $fake_return_waka123 (block - (set_local $$2 - (i32.store align=4 - (get_local $$0) - (i32.const 0) - ) - ) (block $BB5_3 (block $BB5_2 - (br_if - (i32.eq - (get_local $$1) + (set_local $$2 + (i32.store align=4 + (get_local $$0) (i32.const 0) ) + ) + (br_if + (get_local $$1) $BB5_2 ) (i32.store align=4 (get_local $$0) - (i32.const 2) + (i32.const 1) ) (br $BB5_3) ) (i32.store align=4 (get_local $$0) - (i32.const 1) + (i32.const 2) ) ) (i32.store align=4 @@ -325,22 +316,22 @@ (local $$3 i32) (block $fake_return_waka123 (block - (set_local $$3 - (i32.store align=4 - (get_local $$2) - (i32.const 0) - ) - ) (block $BB9_4 + (set_local $$3 + (i32.store align=4 + (get_local $$2) + (i32.const 0) + ) + ) (br_if (get_local $$0) $BB9_4 ) - (i32.store align=4 - (get_local $$2) - (i32.const 2) - ) (block $BB9_3 + (i32.store align=4 + (get_local $$2) + (i32.const 2) + ) (br_if (get_local $$1) $BB9_3 @@ -369,38 +360,35 @@ (local $$3 i32) (block $fake_return_waka123 (block - (set_local $$3 - (i32.store align=4 - (get_local $$2) - (i32.const 0) - ) - ) (block $BB10_4 - (block $BB10_3 - (br_if - (i32.eq - (get_local $$0) + (block $BB10_2 + (set_local $$3 + (i32.store align=4 + (get_local $$2) (i32.const 0) ) - $BB10_3 - ) - (i32.store align=4 - (get_local $$2) - (i32.const 2) ) (br_if - (get_local $$1) - $BB10_4 + (get_local $$0) + $BB10_2 ) (i32.store align=4 (get_local $$2) - (i32.const 3) + (i32.const 1) ) (br $BB10_4) ) (i32.store align=4 (get_local $$2) - (i32.const 1) + (i32.const 2) + ) + (br_if + (get_local $$1) + $BB10_4 + ) + (i32.store align=4 + (get_local $$2) + (i32.const 3) ) ) (i32.store align=4 @@ -416,36 +404,30 @@ (func $doublediamond_in_a_loop (param $$0 i32) (param $$1 i32) (param $$2 i32) (result i32) (loop $BB11_7 $BB11_1 (block - (i32.store align=4 - (get_local $$2) - (i32.const 0) - ) (block $BB11_6 - (block $BB11_5 + (block $BB11_3 + (i32.store align=4 + (get_local $$2) + (i32.const 0) + ) (br_if - (i32.eq - (get_local $$0) - (i32.const 0) - ) - $BB11_5 + (get_local $$0) + $BB11_3 ) (i32.store align=4 (get_local $$2) + (i32.const 1) + ) + (br $BB11_6) + ) + (block $BB11_5 + (i32.store align=4 + (get_local $$2) (i32.const 2) ) - (block $BB11_4 - (br_if - (i32.eq - (get_local $$1) - (i32.const 0) - ) - $BB11_4 - ) - (i32.store align=4 - (get_local $$2) - (i32.const 4) - ) - (br $BB11_6) + (br_if + (get_local $$1) + $BB11_5 ) (i32.store align=4 (get_local $$2) @@ -455,7 +437,7 @@ ) (i32.store align=4 (get_local $$2) - (i32.const 1) + (i32.const 4) ) ) (i32.store align=4 @@ -469,38 +451,35 @@ (func $test3 (param $$0 i32) (block $fake_return_waka123 (block - (block $BB12_2 + (block $BB12_5 (br_if - (i32.eq - (i32.const 0) - (i32.const 0) - ) - $BB12_2 + (i32.const 0) + $BB12_5 ) - (br $fake_return_waka123) - ) - (loop $BB12_5 $BB12_2 - (block - (br_if - (get_local $$0) - $BB12_5 - ) - (loop $BB12_4 $BB12_3 - (block - (br_if - (i32.ne - (get_local $$0) - (get_local $$0) + (loop $BB12_4 $BB12_1 + (block + (br_if + (get_local $$0) + $BB12_4 + ) + (loop $BB12_3 $BB12_2 + (block + (br_if + (i32.ne + (get_local $$0) + (get_local $$0) + ) + $BB12_2 ) - $BB12_3 ) ) + (call_import $bar) + (br $BB12_1) ) - (call_import $bar) - (br $BB12_2) ) + (unreachable) ) - (unreachable) + (br $fake_return_waka123) ) ) ) @@ -703,26 +682,23 @@ ) (loop $BB16_5 $BB16_1 (block - (set_local $$3 - (i32.store align=4 - (get_local $$2) - (i32.const 1) - ) - ) (block $BB16_4 + (set_local $$3 + (i32.store align=4 + (get_local $$2) + (i32.const 1) + ) + ) (br_if - (i32.eq - (i32.and - (get_local $$0) - (get_local $$3) - ) - (i32.const 0) + (i32.and + (get_local $$0) + (get_local $$3) ) $BB16_4 ) (i32.store align=4 (get_local $$2) - (i32.const 3) + (i32.const 2) ) (br_if (i32.and @@ -733,13 +709,13 @@ ) (i32.store align=4 (get_local $$2) - (i32.const 5) + (i32.const 4) ) (unreachable) ) (i32.store align=4 (get_local $$2) - (i32.const 2) + (i32.const 3) ) (br_if (i32.and @@ -752,7 +728,7 @@ ) (i32.store align=4 (get_local $$2) - (i32.const 4) + (i32.const 5) ) (unreachable) ) @@ -825,11 +801,11 @@ ) (loop $BB18_5 $BB18_2 (block - (i32.store align=4 - (get_local $$0) - (i32.const 2) - ) (block $BB18_4 + (i32.store align=4 + (get_local $$0) + (i32.const 2) + ) (br_if (i32.eq (i32.and @@ -964,70 +940,72 @@ (get_local $$0) ) (block $BB20_8 - (block $BB20_4 - (br_if - (get_local $$0) - $BB20_4 - ) - (i32.store align=4 - (get_local $$0) - (i32.const 1) - ) - (block $BB20_3 - (br_if - (get_local $$0) - $BB20_3 + (block $BB20_7 + (block $BB20_6 + (block $BB20_4 + (br_if + (get_local $$0) + $BB20_4 + ) + (block $BB20_3 + (i32.store align=4 + (get_local $$0) + (i32.const 1) + ) + (br_if + (get_local $$0) + $BB20_3 + ) + (i32.store align=4 + (get_local $$0) + (i32.const 2) + ) + (br_if + (get_local $$0) + $BB20_6 + ) + ) + (i32.store align=4 + (get_local $$0) + (i32.const 3) + ) + (br $fake_return_waka123) ) (i32.store align=4 (get_local $$0) - (i32.const 2) + (i32.const 4) ) (br_if (get_local $$0) $BB20_8 ) - ) - (i32.store align=4 - (get_local $$0) - (i32.const 3) - ) - (br $fake_return_waka123) - ) - (i32.store align=4 - (get_local $$0) - (i32.const 4) - ) - (block $BB20_6 - (br_if - (i32.eq + (i32.store align=4 (get_local $$0) - (i32.const 0) + (i32.const 5) + ) + (br_if + (i32.eq + (get_local $$0) + (i32.const 0) + ) + $BB20_7 ) - $BB20_6 ) (i32.store align=4 (get_local $$0) - (i32.const 8) + (i32.const 7) ) (br $fake_return_waka123) ) (i32.store align=4 (get_local $$0) - (i32.const 5) - ) - (br_if - (get_local $$0) - $BB20_8 - ) - (i32.store align=4 - (get_local $$0) (i32.const 6) ) (br $fake_return_waka123) ) (i32.store align=4 (get_local $$0) - (i32.const 7) + (i32.const 8) ) (br $fake_return_waka123) ) diff --git a/test/dot_s/comparisons_f32.wast b/test/llvm_autogenerated/comparisons_f32.wast index 6a050b39f..6a050b39f 100644 --- a/test/dot_s/comparisons_f32.wast +++ b/test/llvm_autogenerated/comparisons_f32.wast diff --git a/test/dot_s/comparisons_f64.wast b/test/llvm_autogenerated/comparisons_f64.wast index 29fb60481..29fb60481 100644 --- a/test/dot_s/comparisons_f64.wast +++ b/test/llvm_autogenerated/comparisons_f64.wast diff --git a/test/dot_s/comparisons_i32.wast b/test/llvm_autogenerated/comparisons_i32.wast index 65fc3bad2..65fc3bad2 100644 --- a/test/dot_s/comparisons_i32.wast +++ b/test/llvm_autogenerated/comparisons_i32.wast diff --git a/test/dot_s/comparisons_i64.wast b/test/llvm_autogenerated/comparisons_i64.wast index 63166a543..63166a543 100644 --- a/test/dot_s/comparisons_i64.wast +++ b/test/llvm_autogenerated/comparisons_i64.wast diff --git a/test/dot_s/conv.wast b/test/llvm_autogenerated/conv.wast index f0a6097dc..f0a6097dc 100644 --- a/test/dot_s/conv.wast +++ b/test/llvm_autogenerated/conv.wast diff --git a/test/dot_s/copysign-casts.wast b/test/llvm_autogenerated/copysign-casts.wast index 0bee77732..0bee77732 100644 --- a/test/dot_s/copysign-casts.wast +++ b/test/llvm_autogenerated/copysign-casts.wast diff --git a/test/dot_s/cpus.wast b/test/llvm_autogenerated/cpus.wast index 736a887bd..736a887bd 100644 --- a/test/dot_s/cpus.wast +++ b/test/llvm_autogenerated/cpus.wast diff --git a/test/dot_s/dead-vreg.wast b/test/llvm_autogenerated/dead-vreg.wast index ad270b31a..ee4fa0d06 100644 --- a/test/dot_s/dead-vreg.wast +++ b/test/llvm_autogenerated/dead-vreg.wast @@ -22,15 +22,15 @@ ) $BB0_5 ) + (set_local $$5 + (i32.const 0) + ) (set_local $$3 (i32.shl (get_local $$1) (i32.const 2) ) ) - (set_local $$5 - (i32.const 0) - ) (set_local $$6 (get_local $$5) ) diff --git a/test/dot_s/f32.wast b/test/llvm_autogenerated/f32.wast index e5b735328..e5b735328 100644 --- a/test/dot_s/f32.wast +++ b/test/llvm_autogenerated/f32.wast diff --git a/test/dot_s/f64.wast b/test/llvm_autogenerated/f64.wast index 5dd5552c4..5dd5552c4 100644 --- a/test/dot_s/f64.wast +++ b/test/llvm_autogenerated/f64.wast diff --git a/test/dot_s/fast-isel.wast b/test/llvm_autogenerated/fast-isel.wast index a172ea5e2..a172ea5e2 100644 --- a/test/dot_s/fast-isel.wast +++ b/test/llvm_autogenerated/fast-isel.wast diff --git a/test/dot_s/frem.wast b/test/llvm_autogenerated/frem.wast index cd4369504..cd4369504 100644 --- a/test/dot_s/frem.wast +++ b/test/llvm_autogenerated/frem.wast diff --git a/test/dot_s/func.wast b/test/llvm_autogenerated/func.wast index 0506697be..0506697be 100644 --- a/test/dot_s/func.wast +++ b/test/llvm_autogenerated/func.wast diff --git a/test/dot_s/global.wast b/test/llvm_autogenerated/global.wast index 09cf1a1a2..09cf1a1a2 100644 --- a/test/dot_s/global.wast +++ b/test/llvm_autogenerated/global.wast diff --git a/test/dot_s/globl.wast b/test/llvm_autogenerated/globl.wast index b36657b8f..b36657b8f 100644 --- a/test/dot_s/globl.wast +++ b/test/llvm_autogenerated/globl.wast diff --git a/test/dot_s/i32.wast b/test/llvm_autogenerated/i32.wast index 7466c5b6c..7466c5b6c 100644 --- a/test/dot_s/i32.wast +++ b/test/llvm_autogenerated/i32.wast diff --git a/test/dot_s/i64.wast b/test/llvm_autogenerated/i64.wast index d193b2cb5..d193b2cb5 100644 --- a/test/dot_s/i64.wast +++ b/test/llvm_autogenerated/i64.wast diff --git a/test/dot_s/ident.wast b/test/llvm_autogenerated/ident.wast index 955ce11ea..955ce11ea 100644 --- a/test/dot_s/ident.wast +++ b/test/llvm_autogenerated/ident.wast diff --git a/test/dot_s/immediates.wast b/test/llvm_autogenerated/immediates.wast index 74f819e3a..61d6427ba 100644 --- a/test/dot_s/immediates.wast +++ b/test/llvm_autogenerated/immediates.wast @@ -136,7 +136,7 @@ (block $fake_return_waka123 (block (br $fake_return_waka123 - (f32.const nan:7fc00000) + (f32.const nan:0x7fc00000) ) ) ) @@ -145,7 +145,7 @@ (block $fake_return_waka123 (block (br $fake_return_waka123 - (f32.const nan:ffc00000) + (f32.const nan:0xffc00000) ) ) ) @@ -208,7 +208,7 @@ (block $fake_return_waka123 (block (br $fake_return_waka123 - (f64.const nan:7ff8000000000000) + (f64.const nan:0x7ff8000000000000) ) ) ) @@ -217,7 +217,7 @@ (block $fake_return_waka123 (block (br $fake_return_waka123 - (f64.const nan:fff8000000000000) + (f64.const nan:0xfff8000000000000) ) ) ) diff --git a/test/llvm_autogenerated/inline-asm.s b/test/llvm_autogenerated/inline-asm.s deleted file mode 100644 index 10a43371c..000000000 --- a/test/llvm_autogenerated/inline-asm.s +++ /dev/null @@ -1,103 +0,0 @@ - .text - .file "/s/llvm/llvm/test/CodeGen/WebAssembly/inline-asm.ll" - .globl foo - .type foo,@function -foo: - .param i32 - .result i32 - #APP - # $0 = aaa($0) - #NO_APP - return $0 -func_end0: - .size foo, func_end0-foo - - .globl bar - .type bar,@function -bar: - .param i32, i32 - #APP - # 0($1) = bbb(0($0)) - #NO_APP - return -func_end1: - .size bar, func_end1-bar - - .globl imm - .type imm,@function -imm: - .result i32 - .local i32 - #APP - # $0 = ccc(42) - #NO_APP - return $0 -func_end2: - .size imm, func_end2-imm - - .globl foo_i64 - .type foo_i64,@function -foo_i64: - .param i64 - .result i64 - #APP - # $0 = aaa($0) - #NO_APP - return $0 -func_end3: - .size foo_i64, func_end3-foo_i64 - - .globl X_i16 - .type X_i16,@function -X_i16: - .param i32 - .local i32 - #APP - foo $1 - #NO_APP - i32.store16 $discard=, 0($0), $1 - return -func_end4: - .size X_i16, func_end4-X_i16 - - .globl X_ptr - .type X_ptr,@function -X_ptr: - .param i32 - .local i32 - #APP - foo $1 - #NO_APP - i32.store $discard=, 0($0), $1 - return -func_end5: - .size X_ptr, func_end5-X_ptr - - .globl funcname - .type funcname,@function -funcname: - #APP - foo funcname - #NO_APP - return -func_end6: - .size funcname, func_end6-funcname - - .globl varname - .type varname,@function -varname: - #APP - foo gv+37 - #NO_APP - return -func_end7: - .size varname, func_end7-varname - - .type gv,@object - .bss - .globl gv -gv: - .size gv, 0 - - - .section ".note.GNU-stack","",@progbits diff --git a/test/dot_s/legalize.wast b/test/llvm_autogenerated/legalize.wast index 7614b462e..2127f8e99 100644 --- a/test/dot_s/legalize.wast +++ b/test/llvm_autogenerated/legalize.wast @@ -105,31 +105,31 @@ (local $$51 i64) (local $$52 i32) (local $$53 i32) - (local $$54 i32) - (local $$55 i32) - (local $$56 i32) + (local $$54 i64) + (local $$55 i64) + (local $$56 i64) (local $$57 i32) - (local $$58 i64) + (local $$58 i32) (local $$59 i64) - (local $$60 i64) + (local $$60 i32) (local $$61 i32) - (local $$62 i32) + (local $$62 i64) (local $$63 i64) (local $$64 i64) - (local $$65 i64) + (local $$65 i32) (local $$66 i32) - (local $$67 i32) + (local $$67 i64) (local $$68 i64) - (local $$69 i32) + (local $$69 i64) (local $$70 i32) - (local $$71 i64) - (local $$72 i32) + (local $$71 i32) + (local $$72 i64) (local $$73 i32) (local $$74 i32) (local $$75 i64) - (local $$76 i64) - (local $$77 i64) - (local $$78 i64) + (local $$76 i32) + (local $$77 i32) + (local $$78 i32) (local $$79 i64) (local $$80 i64) (local $$81 i64) @@ -138,16 +138,16 @@ (local $$84 i64) (local $$85 i64) (local $$86 i64) - (local $$87 i32) + (local $$87 i64) (local $$88 i64) - (local $$89 i64) + (local $$89 i32) (local $$90 i64) - (local $$91 i32) + (local $$91 i64) (local $$92 i64) - (local $$93 i64) - (local $$94 i32) + (local $$93 i32) + (local $$94 i64) (local $$95 i64) - (local $$96 i64) + (local $$96 i32) (local $$97 i64) (local $$98 i64) (local $$99 i64) @@ -160,11 +160,11 @@ (local $$106 i64) (local $$107 i64) (local $$108 i64) - (local $$109 i32) + (local $$109 i64) (local $$110 i64) (local $$111 i64) (local $$112 i64) - (local $$113 i64) + (local $$113 i32) (local $$114 i64) (local $$115 i64) (local $$116 i64) @@ -186,11 +186,11 @@ (local $$132 i64) (local $$133 i64) (local $$134 i64) - (local $$135 i32) + (local $$135 i64) (local $$136 i64) (local $$137 i64) (local $$138 i64) - (local $$139 i64) + (local $$139 i32) (local $$140 i64) (local $$141 i64) (local $$142 i64) @@ -1469,175 +1469,7 @@ (get_local $$2) (get_local $$17) ) - (set_local $$39 - (i64.load offset=480 align=8 - (get_local $$279) - ) - ) - (set_local $$43 - (i64.load offset=464 align=8 - (get_local $$279) - ) - ) - (set_local $$34 - (i64.load offset=496 align=8 - (get_local $$279) - ) - ) - (set_local $$51 - (i64.const 0) - ) - (set_local $$49 - (i64.load offset=352 align=8 - (get_local $$279) - ) - ) - (set_local $$36 - (i64.load offset=336 align=8 - (get_local $$279) - ) - ) - (set_local $$38 - (i64.load offset=368 align=8 - (get_local $$279) - ) - ) - (set_local $$41 - (i64.load offset=432 align=8 - (get_local $$279) - ) - ) - (set_local $$58 - (i64.load offset=864 align=8 - (get_local $$279) - ) - ) - (set_local $$59 - (i64.load offset=848 align=8 - (get_local $$279) - ) - ) - (set_local $$60 - (i64.load offset=880 align=8 - (get_local $$279) - ) - ) - (set_local $$63 - (i64.load offset=1008 align=8 - (get_local $$279) - ) - ) - (set_local $$64 - (i64.load offset=960 align=8 - (get_local $$279) - ) - ) - (set_local $$65 - (i64.load offset=976 align=8 - (get_local $$279) - ) - ) - (set_local $$68 - (i64.load offset=816 align=8 - (get_local $$279) - ) - ) - (set_local $$71 - (i64.load offset=240 align=8 - (get_local $$279) - ) - ) - (set_local $$50 - (i64.lt_u - (get_local $$33) - (get_local $$42) - ) - ) - (set_local $$52 - (i64.eq - (get_local $$33) - (get_local $$51) - ) - ) - (set_local $$53 - (i64.lt_u - (get_local $$35) - (get_local $$42) - ) - ) - (set_local $$54 - (i64.eq - (get_local $$35) - (get_local $$51) - ) - ) - (set_local $$55 - (i64.lt_u - (get_local $$37) - (get_local $$42) - ) - ) - (set_local $$56 - (i64.lt_u - (get_local $$35) - (get_local $$44) - ) - ) - (set_local $$57 - (i64.lt_u - (get_local $$40) - (get_local $$42) - ) - ) - (set_local $$61 - (i64.eq - (get_local $$40) - (get_local $$51) - ) - ) - (set_local $$62 - (i64.lt_u - (get_local $$17) - (get_local $$42) - ) - ) - (set_local $$66 - (i64.eq - (get_local $$17) - (get_local $$51) - ) - ) - (set_local $$67 - (i64.lt_u - (get_local $$45) - (get_local $$42) - ) - ) - (set_local $$69 - (i64.lt_u - (get_local $$17) - (get_local $$44) - ) - ) - (set_local $$70 - (i64.lt_u - (get_local $$47) - (get_local $$42) - ) - ) - (set_local $$72 - (i64.lt_u - (get_local $$47) - (get_local $$44) - ) - ) - (set_local $$73 - (i64.lt_u - (get_local $$17) - (get_local $$46) - ) - ) - (set_local $$74 + (set_local $$78 (i32.const 8) ) (set_local $$248 @@ -1649,11 +1481,11 @@ (get_local $$248) ) ) - (set_local $$17 + (set_local $$39 (i64.load align=8 (i32.add (get_local $$248) - (get_local $$74) + (get_local $$78) ) ) ) @@ -1666,14 +1498,29 @@ (get_local $$249) ) ) - (set_local $$35 + (set_local $$43 (i64.load align=8 (i32.add (get_local $$249) - (get_local $$74) + (get_local $$78) ) ) ) + (set_local $$34 + (i64.load offset=480 align=8 + (get_local $$279) + ) + ) + (set_local $$49 + (i64.load offset=464 align=8 + (get_local $$279) + ) + ) + (set_local $$36 + (i64.load offset=496 align=8 + (get_local $$279) + ) + ) (set_local $$250 (i32.const 496) ) @@ -1683,14 +1530,29 @@ (get_local $$250) ) ) - (set_local $$40 + (set_local $$38 (i64.load align=8 (i32.add (get_local $$250) - (get_local $$74) + (get_local $$78) ) ) ) + (set_local $$50 + (i64.lt_u + (get_local $$33) + (get_local $$42) + ) + ) + (set_local $$51 + (i64.const 0) + ) + (set_local $$52 + (i64.eq + (get_local $$33) + (get_local $$51) + ) + ) (set_local $$251 (i32.const 352) ) @@ -1700,11 +1562,11 @@ (get_local $$251) ) ) - (set_local $$44 + (set_local $$33 (i64.load align=8 (i32.add (get_local $$251) - (get_local $$74) + (get_local $$78) ) ) ) @@ -1717,11 +1579,11 @@ (get_local $$252) ) ) - (set_local $$33 + (set_local $$41 (i64.load align=8 (i32.add (get_local $$252) - (get_local $$74) + (get_local $$78) ) ) ) @@ -1734,11 +1596,11 @@ (get_local $$253) ) ) - (set_local $$46 + (set_local $$79 (i64.load align=8 (i32.add (get_local $$253) - (get_local $$74) + (get_local $$78) ) ) ) @@ -1751,11 +1613,11 @@ (get_local $$254) ) ) - (set_local $$75 + (set_local $$80 (i64.load align=8 (i32.add (get_local $$254) - (get_local $$74) + (get_local $$78) ) ) ) @@ -1768,11 +1630,11 @@ (get_local $$255) ) ) - (set_local $$76 + (set_local $$81 (i64.load align=8 (i32.add (get_local $$255) - (get_local $$74) + (get_local $$78) ) ) ) @@ -1785,11 +1647,11 @@ (get_local $$256) ) ) - (set_local $$77 + (set_local $$82 (i64.load align=8 (i32.add (get_local $$256) - (get_local $$74) + (get_local $$78) ) ) ) @@ -1802,11 +1664,11 @@ (get_local $$257) ) ) - (set_local $$78 + (set_local $$83 (i64.load align=8 (i32.add (get_local $$257) - (get_local $$74) + (get_local $$78) ) ) ) @@ -1819,11 +1681,11 @@ (get_local $$258) ) ) - (set_local $$79 + (set_local $$84 (i64.load align=8 (i32.add (get_local $$258) - (get_local $$74) + (get_local $$78) ) ) ) @@ -1836,11 +1698,11 @@ (get_local $$259) ) ) - (set_local $$80 + (set_local $$85 (i64.load align=8 (i32.add (get_local $$259) - (get_local $$74) + (get_local $$78) ) ) ) @@ -1853,11 +1715,11 @@ (get_local $$260) ) ) - (set_local $$81 + (set_local $$86 (i64.load align=8 (i32.add (get_local $$260) - (get_local $$74) + (get_local $$78) ) ) ) @@ -1870,11 +1732,11 @@ (get_local $$261) ) ) - (set_local $$82 + (set_local $$87 (i64.load align=8 (i32.add (get_local $$261) - (get_local $$74) + (get_local $$78) ) ) ) @@ -1887,87 +1749,14 @@ (get_local $$262) ) ) - (set_local $$83 + (set_local $$88 (i64.load align=8 (i32.add (get_local $$262) - (get_local $$74) + (get_local $$78) ) ) ) - (set_local $$84 - (i64.load offset=912 align=8 - (get_local $$279) - ) - ) - (set_local $$85 - (i64.load offset=928 align=8 - (get_local $$279) - ) - ) - (set_local $$86 - (i64.load offset=944 align=8 - (get_local $$279) - ) - ) - (set_local $$88 - (i64.load offset=80 align=8 - (get_local $$279) - ) - ) - (set_local $$89 - (i64.load offset=96 align=8 - (get_local $$279) - ) - ) - (set_local $$90 - (i64.load offset=112 align=8 - (get_local $$279) - ) - ) - (set_local $$92 - (i64.load offset=48 align=8 - (get_local $$279) - ) - ) - (set_local $$93 - (i64.load offset=176 align=8 - (get_local $$279) - ) - ) - (set_local $$95 - (i64.load offset=288 align=8 - (get_local $$279) - ) - ) - (set_local $$96 - (i64.load offset=272 align=8 - (get_local $$279) - ) - ) - (set_local $$87 - (i64.lt_u - (get_local $$48) - (get_local $$42) - ) - ) - (set_local $$91 - (i64.eq - (get_local $$48) - (get_local $$51) - ) - ) - (set_local $$94 - (i64.eq - (get_local $$47) - (get_local $$51) - ) - ) - (set_local $$42 - (i64.load offset=304 align=8 - (get_local $$279) - ) - ) (set_local $$263 (i32.const 912) ) @@ -1977,11 +1766,11 @@ (get_local $$263) ) ) - (set_local $$47 + (set_local $$100 (i64.load align=8 (i32.add (get_local $$263) - (get_local $$74) + (get_local $$78) ) ) ) @@ -1994,11 +1783,11 @@ (get_local $$264) ) ) - (set_local $$48 + (set_local $$101 (i64.load align=8 (i32.add (get_local $$264) - (get_local $$74) + (get_local $$78) ) ) ) @@ -2011,11 +1800,11 @@ (get_local $$265) ) ) - (set_local $$97 + (set_local $$102 (i64.load align=8 (i32.add (get_local $$265) - (get_local $$74) + (get_local $$78) ) ) ) @@ -2028,11 +1817,11 @@ (get_local $$266) ) ) - (set_local $$98 + (set_local $$103 (i64.load align=8 (i32.add (get_local $$266) - (get_local $$74) + (get_local $$78) ) ) ) @@ -2045,14 +1834,29 @@ (get_local $$267) ) ) - (set_local $$99 + (set_local $$104 (i64.load align=8 (i32.add (get_local $$267) - (get_local $$74) + (get_local $$78) ) ) ) + (set_local $$90 + (i64.load offset=80 align=8 + (get_local $$279) + ) + ) + (set_local $$91 + (i64.load offset=96 align=8 + (get_local $$279) + ) + ) + (set_local $$92 + (i64.load offset=112 align=8 + (get_local $$279) + ) + ) (set_local $$268 (i32.const 112) ) @@ -2062,14 +1866,26 @@ (get_local $$268) ) ) - (set_local $$100 + (set_local $$105 (i64.load align=8 (i32.add (get_local $$268) - (get_local $$74) + (get_local $$78) ) ) ) + (set_local $$89 + (i64.lt_u + (get_local $$48) + (get_local $$42) + ) + ) + (set_local $$93 + (i64.eq + (get_local $$48) + (get_local $$51) + ) + ) (set_local $$269 (i32.const 48) ) @@ -2079,11 +1895,11 @@ (get_local $$269) ) ) - (set_local $$101 + (set_local $$48 (i64.load align=8 (i32.add (get_local $$269) - (get_local $$74) + (get_local $$78) ) ) ) @@ -2096,11 +1912,11 @@ (get_local $$270) ) ) - (set_local $$102 + (set_local $$106 (i64.load align=8 (i32.add (get_local $$270) - (get_local $$74) + (get_local $$78) ) ) ) @@ -2113,11 +1929,11 @@ (get_local $$271) ) ) - (set_local $$103 + (set_local $$107 (i64.load align=8 (i32.add (get_local $$271) - (get_local $$74) + (get_local $$78) ) ) ) @@ -2130,11 +1946,11 @@ (get_local $$272) ) ) - (set_local $$104 + (set_local $$108 (i64.load align=8 (i32.add (get_local $$272) - (get_local $$74) + (get_local $$78) ) ) ) @@ -2147,65 +1963,14 @@ (get_local $$273) ) ) - (set_local $$105 + (set_local $$109 (i64.load align=8 (i32.add (get_local $$273) - (get_local $$74) + (get_local $$78) ) ) ) - (set_local $$106 - (i64.load offset=128 align=8 - (get_local $$279) - ) - ) - (set_local $$107 - (i64.load offset=144 align=8 - (get_local $$279) - ) - ) - (set_local $$108 - (i64.load offset=160 align=8 - (get_local $$279) - ) - ) - (set_local $$110 - (i64.load align=8 - (get_local $$279) - ) - ) - (set_local $$111 - (i64.load offset=16 align=8 - (get_local $$279) - ) - ) - (set_local $$112 - (i64.load offset=32 align=8 - (get_local $$279) - ) - ) - (set_local $$113 - (i64.load offset=64 align=8 - (get_local $$279) - ) - ) - (set_local $$114 - (i64.load offset=896 align=8 - (get_local $$279) - ) - ) - (set_local $$109 - (i64.eq - (get_local $$45) - (get_local $$51) - ) - ) - (set_local $$45 - (i64.load offset=256 align=8 - (get_local $$279) - ) - ) (set_local $$274 (i32.const 128) ) @@ -2215,11 +1980,11 @@ (get_local $$274) ) ) - (set_local $$115 + (set_local $$119 (i64.load align=8 (i32.add (get_local $$274) - (get_local $$74) + (get_local $$78) ) ) ) @@ -2232,11 +1997,11 @@ (get_local $$275) ) ) - (set_local $$116 + (set_local $$120 (i64.load align=8 (i32.add (get_local $$275) - (get_local $$74) + (get_local $$78) ) ) ) @@ -2249,11 +2014,11 @@ (get_local $$276) ) ) - (set_local $$117 + (set_local $$121 (i64.load align=8 (i32.add (get_local $$276) - (get_local $$74) + (get_local $$78) ) ) ) @@ -2266,11 +2031,11 @@ (get_local $$277) ) ) - (set_local $$118 + (set_local $$122 (i64.load align=8 (i32.add (get_local $$277) - (get_local $$74) + (get_local $$78) ) ) ) @@ -2283,16 +2048,21 @@ (get_local $$278) ) ) - (set_local $$119 + (set_local $$123 (i64.load align=8 (i32.add (get_local $$278) - (get_local $$74) + (get_local $$78) ) ) ) + (set_local $$117 + (i64.load offset=64 align=8 + (get_local $$279) + ) + ) (set_local $$279 - (i32.const 32) + (i32.const 64) ) (set_local $$279 (i32.add @@ -2300,16 +2070,16 @@ (get_local $$279) ) ) - (set_local $$120 + (set_local $$125 (i64.load align=8 (i32.add (get_local $$279) - (get_local $$74) + (get_local $$78) ) ) ) (set_local $$280 - (i32.const 64) + (i32.const 32) ) (set_local $$280 (i32.add @@ -2317,11 +2087,11 @@ (get_local $$280) ) ) - (set_local $$121 + (set_local $$124 (i64.load align=8 (i32.add (get_local $$280) - (get_local $$74) + (get_local $$78) ) ) ) @@ -2334,11 +2104,11 @@ (get_local $$281) ) ) - (set_local $$122 + (set_local $$126 (i64.load align=8 (i32.add (get_local $$281) - (get_local $$74) + (get_local $$78) ) ) ) @@ -2351,134 +2121,153 @@ (get_local $$282) ) ) - (set_local $$123 + (set_local $$127 (i64.load align=8 (i32.add (get_local $$282) - (get_local $$74) + (get_local $$78) ) ) ) - (set_local $$124 - (i64.load offset=192 align=8 + (set_local $$283 + (i32.const 192) + ) + (set_local $$283 + (i32.add (get_local $$279) + (get_local $$283) ) ) - (set_local $$125 - (i64.load offset=208 align=8 - (get_local $$279) + (set_local $$142 + (i64.load align=8 + (i32.add + (get_local $$283) + (get_local $$78) + ) ) ) - (set_local $$126 - (i64.load offset=224 align=8 + (set_local $$284 + (i32.const 208) + ) + (set_local $$284 + (i32.add (get_local $$279) + (get_local $$284) ) ) - (set_local $$127 - (i64.load offset=768 align=8 - (get_local $$279) + (set_local $$143 + (i64.load align=8 + (i32.add + (get_local $$284) + (get_local $$78) + ) ) ) - (set_local $$128 - (i64.load offset=784 align=8 + (set_local $$114 + (i64.load align=8 (get_local $$279) ) ) - (set_local $$129 - (i64.load offset=800 align=8 + (set_local $$115 + (i64.load offset=16 align=8 (get_local $$279) ) ) - (set_local $$130 - (i64.load offset=992 align=8 + (set_local $$116 + (i64.load offset=32 align=8 (get_local $$279) ) ) - (set_local $$131 - (i64.load offset=832 align=8 + (set_local $$285 + (i32.const 224) + ) + (set_local $$285 + (i32.add (get_local $$279) + (get_local $$285) ) ) - (set_local $$132 - (i64.load offset=384 align=8 - (get_local $$279) + (set_local $$144 + (i64.load align=8 + (i32.add + (get_local $$285) + (get_local $$78) + ) ) ) - (set_local $$133 - (i64.load offset=400 align=8 - (get_local $$279) + (set_local $$74 + (i64.lt_u + (get_local $$47) + (get_local $$42) ) ) - (set_local $$134 - (i64.load offset=416 align=8 + (set_local $$128 + (i64.load offset=192 align=8 (get_local $$279) ) ) - (set_local $$136 - (i64.load offset=320 align=8 + (set_local $$129 + (i64.load offset=208 align=8 (get_local $$279) ) ) - (set_local $$135 - (i64.eq - (get_local $$37) - (get_local $$51) + (set_local $$130 + (i64.load offset=224 align=8 + (get_local $$279) ) ) - (set_local $$37 - (i64.load offset=448 align=8 + (set_local $$75 + (i64.load offset=240 align=8 (get_local $$279) ) ) - (set_local $$283 - (i32.const 192) + (set_local $$94 + (i64.load offset=48 align=8 + (get_local $$279) + ) ) - (set_local $$283 - (i32.add + (set_local $$95 + (i64.load offset=176 align=8 (get_local $$279) - (get_local $$283) ) ) - (set_local $$137 - (i64.load align=8 - (i32.add - (get_local $$283) - (get_local $$74) - ) + (set_local $$71 + (i64.lt_u + (get_local $$45) + (get_local $$42) ) ) - (set_local $$284 - (i32.const 208) + (set_local $$76 + (i64.lt_u + (get_local $$47) + (get_local $$44) + ) ) - (set_local $$284 - (i32.add + (set_local $$110 + (i64.load offset=128 align=8 (get_local $$279) - (get_local $$284) ) ) - (set_local $$138 - (i64.load align=8 - (i32.add - (get_local $$284) - (get_local $$74) - ) + (set_local $$111 + (i64.load offset=144 align=8 + (get_local $$279) ) ) - (set_local $$285 - (i32.const 224) - ) - (set_local $$285 - (i32.add + (set_local $$112 + (i64.load offset=160 align=8 (get_local $$279) - (get_local $$285) ) ) - (set_local $$139 - (i64.load align=8 - (i32.add - (get_local $$285) - (get_local $$74) - ) + (set_local $$96 + (i64.eq + (get_local $$47) + (get_local $$51) + ) + ) + (set_local $$113 + (i64.eq + (get_local $$45) + (get_local $$51) ) ) (set_local $$286 @@ -2490,11 +2279,11 @@ (get_local $$286) ) ) - (set_local $$140 + (set_local $$47 (i64.load align=8 (i32.add (get_local $$286) - (get_local $$74) + (get_local $$78) ) ) ) @@ -2507,11 +2296,11 @@ (get_local $$287) ) ) - (set_local $$141 + (set_local $$45 (i64.load align=8 (i32.add (get_local $$287) - (get_local $$74) + (get_local $$78) ) ) ) @@ -2524,11 +2313,11 @@ (get_local $$288) ) ) - (set_local $$142 + (set_local $$145 (i64.load align=8 (i32.add (get_local $$288) - (get_local $$74) + (get_local $$78) ) ) ) @@ -2541,11 +2330,11 @@ (get_local $$289) ) ) - (set_local $$143 + (set_local $$146 (i64.load align=8 (i32.add (get_local $$289) - (get_local $$74) + (get_local $$78) ) ) ) @@ -2558,11 +2347,11 @@ (get_local $$290) ) ) - (set_local $$144 + (set_local $$147 (i64.load align=8 (i32.add (get_local $$290) - (get_local $$74) + (get_local $$78) ) ) ) @@ -2575,11 +2364,11 @@ (get_local $$291) ) ) - (set_local $$145 + (set_local $$148 (i64.load align=8 (i32.add (get_local $$291) - (get_local $$74) + (get_local $$78) ) ) ) @@ -2592,14 +2381,24 @@ (get_local $$292) ) ) - (set_local $$146 + (set_local $$149 (i64.load align=8 (i32.add (get_local $$292) - (get_local $$74) + (get_local $$78) ) ) ) + (set_local $$136 + (i64.load offset=384 align=8 + (get_local $$279) + ) + ) + (set_local $$137 + (i64.load offset=400 align=8 + (get_local $$279) + ) + ) (set_local $$293 (i32.const 416) ) @@ -2609,14 +2408,36 @@ (get_local $$293) ) ) - (set_local $$147 + (set_local $$150 (i64.load align=8 (i32.add (get_local $$293) - (get_local $$74) + (get_local $$78) ) ) ) + (set_local $$138 + (i64.load offset=416 align=8 + (get_local $$279) + ) + ) + (set_local $$59 + (i64.load offset=432 align=8 + (get_local $$279) + ) + ) + (set_local $$58 + (i64.lt_u + (get_local $$37) + (get_local $$42) + ) + ) + (set_local $$139 + (i64.eq + (get_local $$37) + (get_local $$51) + ) + ) (set_local $$294 (i32.const 320) ) @@ -2626,14 +2447,29 @@ (get_local $$294) ) ) - (set_local $$148 + (set_local $$37 (i64.load align=8 (i32.add (get_local $$294) - (get_local $$74) + (get_local $$78) ) ) ) + (set_local $$54 + (i64.load offset=352 align=8 + (get_local $$279) + ) + ) + (set_local $$55 + (i64.load offset=336 align=8 + (get_local $$279) + ) + ) + (set_local $$56 + (i64.load offset=368 align=8 + (get_local $$279) + ) + ) (set_local $$295 (i32.const 448) ) @@ -2643,49 +2479,62 @@ (get_local $$295) ) ) - (set_local $$149 + (set_local $$151 (i64.load align=8 (i32.add (get_local $$295) - (get_local $$74) + (get_local $$78) ) ) ) - (set_local $$150 - (i64.load offset=736 align=8 - (get_local $$279) + (set_local $$53 + (i64.lt_u + (get_local $$35) + (get_local $$42) ) ) - (set_local $$151 - (i64.load offset=720 align=8 + (set_local $$97 + (i64.load offset=288 align=8 (get_local $$279) ) ) - (set_local $$152 - (i64.load offset=752 align=8 + (set_local $$98 + (i64.load offset=272 align=8 (get_local $$279) ) ) - (set_local $$153 - (i64.load offset=592 align=8 + (set_local $$99 + (i64.load offset=304 align=8 (get_local $$279) ) ) - (set_local $$154 - (i64.load offset=608 align=8 + (set_local $$118 + (i64.load offset=256 align=8 (get_local $$279) ) ) - (set_local $$155 - (i64.load offset=624 align=8 + (set_local $$140 + (i64.load offset=320 align=8 (get_local $$279) ) ) - (set_local $$156 - (i64.load offset=688 align=8 + (set_local $$141 + (i64.load offset=448 align=8 (get_local $$279) ) ) + (set_local $$57 + (i64.eq + (get_local $$35) + (get_local $$51) + ) + ) + (set_local $$60 + (i64.lt_u + (get_local $$35) + (get_local $$44) + ) + ) (set_local $$296 (i32.const 736) ) @@ -2695,11 +2544,11 @@ (get_local $$296) ) ) - (set_local $$157 + (set_local $$35 (i64.load align=8 (i32.add (get_local $$296) - (get_local $$74) + (get_local $$78) ) ) ) @@ -2712,14 +2561,29 @@ (get_local $$297) ) ) - (set_local $$158 + (set_local $$159 (i64.load align=8 (i32.add (get_local $$297) - (get_local $$74) + (get_local $$78) ) ) ) + (set_local $$62 + (i64.load offset=864 align=8 + (get_local $$279) + ) + ) + (set_local $$63 + (i64.load offset=848 align=8 + (get_local $$279) + ) + ) + (set_local $$64 + (i64.load offset=880 align=8 + (get_local $$279) + ) + ) (set_local $$298 (i32.const 752) ) @@ -2729,14 +2593,41 @@ (get_local $$298) ) ) - (set_local $$159 + (set_local $$160 (i64.load align=8 (i32.add (get_local $$298) - (get_local $$74) + (get_local $$78) ) ) ) + (set_local $$61 + (i64.lt_u + (get_local $$40) + (get_local $$42) + ) + ) + (set_local $$152 + (i64.load offset=736 align=8 + (get_local $$279) + ) + ) + (set_local $$153 + (i64.load offset=720 align=8 + (get_local $$279) + ) + ) + (set_local $$154 + (i64.load offset=752 align=8 + (get_local $$279) + ) + ) + (set_local $$65 + (i64.eq + (get_local $$40) + (get_local $$51) + ) + ) (set_local $$299 (i32.const 592) ) @@ -2746,11 +2637,11 @@ (get_local $$299) ) ) - (set_local $$160 + (set_local $$40 (i64.load align=8 (i32.add (get_local $$299) - (get_local $$74) + (get_local $$78) ) ) ) @@ -2767,7 +2658,7 @@ (i64.load align=8 (i32.add (get_local $$300) - (get_local $$74) + (get_local $$78) ) ) ) @@ -2784,7 +2675,7 @@ (i64.load align=8 (i32.add (get_local $$301) - (get_local $$74) + (get_local $$78) ) ) ) @@ -2801,35 +2692,10 @@ (i64.load align=8 (i32.add (get_local $$302) - (get_local $$74) + (get_local $$78) ) ) ) - (set_local $$164 - (i64.load offset=640 align=8 - (get_local $$279) - ) - ) - (set_local $$165 - (i64.load offset=656 align=8 - (get_local $$279) - ) - ) - (set_local $$166 - (i64.load offset=672 align=8 - (get_local $$279) - ) - ) - (set_local $$167 - (i64.load offset=576 align=8 - (get_local $$279) - ) - ) - (set_local $$168 - (i64.load offset=704 align=8 - (get_local $$279) - ) - ) (set_local $$303 (i32.const 640) ) @@ -2843,7 +2709,7 @@ (i64.load align=8 (i32.add (get_local $$303) - (get_local $$74) + (get_local $$78) ) ) ) @@ -2860,10 +2726,25 @@ (i64.load align=8 (i32.add (get_local $$304) - (get_local $$74) + (get_local $$78) ) ) ) + (set_local $$131 + (i64.load offset=768 align=8 + (get_local $$279) + ) + ) + (set_local $$132 + (i64.load offset=784 align=8 + (get_local $$279) + ) + ) + (set_local $$133 + (i64.load offset=800 align=8 + (get_local $$279) + ) + ) (set_local $$305 (i32.const 672) ) @@ -2877,10 +2758,35 @@ (i64.load align=8 (i32.add (get_local $$305) - (get_local $$74) + (get_local $$78) ) ) ) + (set_local $$164 + (i64.load offset=640 align=8 + (get_local $$279) + ) + ) + (set_local $$165 + (i64.load offset=656 align=8 + (get_local $$279) + ) + ) + (set_local $$166 + (i64.load offset=672 align=8 + (get_local $$279) + ) + ) + (set_local $$72 + (i64.load offset=816 align=8 + (get_local $$279) + ) + ) + (set_local $$158 + (i64.load offset=688 align=8 + (get_local $$279) + ) + ) (set_local $$306 (i32.const 576) ) @@ -2894,10 +2800,20 @@ (i64.load align=8 (i32.add (get_local $$306) - (get_local $$74) + (get_local $$78) ) ) ) + (set_local $$135 + (i64.load offset=832 align=8 + (get_local $$279) + ) + ) + (set_local $$168 + (i64.load offset=704 align=8 + (get_local $$279) + ) + ) (set_local $$307 (i32.const 704) ) @@ -2911,25 +2827,10 @@ (i64.load align=8 (i32.add (get_local $$307) - (get_local $$74) + (get_local $$78) ) ) ) - (set_local $$174 - (i64.load offset=528 align=8 - (get_local $$279) - ) - ) - (set_local $$175 - (i64.load offset=544 align=8 - (get_local $$279) - ) - ) - (set_local $$176 - (i64.load offset=560 align=8 - (get_local $$279) - ) - ) (set_local $$308 (i32.const 528) ) @@ -2943,7 +2844,7 @@ (i64.load align=8 (i32.add (get_local $$308) - (get_local $$74) + (get_local $$78) ) ) ) @@ -2960,7 +2861,7 @@ (i64.load align=8 (i32.add (get_local $$309) - (get_local $$74) + (get_local $$78) ) ) ) @@ -2977,10 +2878,109 @@ (i64.load align=8 (i32.add (get_local $$310) - (get_local $$74) + (get_local $$78) ) ) ) + (set_local $$67 + (i64.load offset=1008 align=8 + (get_local $$279) + ) + ) + (set_local $$68 + (i64.load offset=960 align=8 + (get_local $$279) + ) + ) + (set_local $$69 + (i64.load offset=976 align=8 + (get_local $$279) + ) + ) + (set_local $$66 + (i64.lt_u + (get_local $$17) + (get_local $$42) + ) + ) + (set_local $$70 + (i64.eq + (get_local $$17) + (get_local $$51) + ) + ) + (set_local $$73 + (i64.lt_u + (get_local $$17) + (get_local $$44) + ) + ) + (set_local $$77 + (i64.lt_u + (get_local $$17) + (get_local $$46) + ) + ) + (set_local $$17 + (i64.load offset=912 align=8 + (get_local $$279) + ) + ) + (set_local $$42 + (i64.load offset=928 align=8 + (get_local $$279) + ) + ) + (set_local $$44 + (i64.load offset=944 align=8 + (get_local $$279) + ) + ) + (set_local $$46 + (i64.load offset=896 align=8 + (get_local $$279) + ) + ) + (set_local $$134 + (i64.load offset=992 align=8 + (get_local $$279) + ) + ) + (set_local $$155 + (i64.load offset=592 align=8 + (get_local $$279) + ) + ) + (set_local $$156 + (i64.load offset=608 align=8 + (get_local $$279) + ) + ) + (set_local $$157 + (i64.load offset=624 align=8 + (get_local $$279) + ) + ) + (set_local $$167 + (i64.load offset=576 align=8 + (get_local $$279) + ) + ) + (set_local $$174 + (i64.load offset=528 align=8 + (get_local $$279) + ) + ) + (set_local $$175 + (i64.load offset=544 align=8 + (get_local $$279) + ) + ) + (set_local $$176 + (i64.load offset=560 align=8 + (get_local $$279) + ) + ) (set_local $$180 (i64.load offset=512 align=8 (get_local $$279) @@ -2998,18 +2998,18 @@ (i64.store align=8 (i32.add (get_local $$0) - (get_local $$74) + (get_local $$78) ) (i64.select - (get_local $$73) + (get_local $$77) (i64.select - (get_local $$69) + (get_local $$73) (i64.select - (get_local $$62) + (get_local $$66) (i64.load align=8 (i32.add (get_local $$311) - (get_local $$74) + (get_local $$78) ) ) (get_local $$51) @@ -3022,11 +3022,11 @@ (i64.store align=8 (get_local $$0) (i64.select - (get_local $$73) + (get_local $$77) (i64.select - (get_local $$69) + (get_local $$73) (i64.select - (get_local $$62) + (get_local $$66) (get_local $$180) (get_local $$51) ) @@ -3041,14 +3041,14 @@ (i32.const 24) ) (i64.select - (get_local $$73) + (get_local $$77) (i64.select - (get_local $$69) + (get_local $$73) (i64.select - (get_local $$66) + (get_local $$70) (get_local $$4) (i64.select - (get_local $$62) + (get_local $$66) (i64.or (get_local $$177) (get_local $$178) @@ -3067,14 +3067,14 @@ (i32.const 16) ) (i64.select - (get_local $$73) + (get_local $$77) (i64.select - (get_local $$69) + (get_local $$73) (i64.select - (get_local $$66) + (get_local $$70) (get_local $$3) (i64.select - (get_local $$62) + (get_local $$66) (i64.or (get_local $$174) (get_local $$175) @@ -3093,41 +3093,41 @@ (i32.const 56) ) (i64.select - (get_local $$73) + (get_local $$77) (i64.select - (get_local $$66) + (get_local $$70) (get_local $$8) (i64.select - (get_local $$69) + (get_local $$73) (i64.or (i64.select - (get_local $$66) + (get_local $$70) (get_local $$8) (i64.select - (get_local $$62) + (get_local $$66) (i64.or - (get_local $$160) + (get_local $$40) (get_local $$161) ) (get_local $$162) ) ) (i64.select - (get_local $$67) + (get_local $$71) (get_local $$163) (get_local $$51) ) ) (i64.select - (get_local $$61) + (get_local $$65) (get_local $$4) (i64.select - (get_local $$57) + (get_local $$61) (i64.or - (get_local $$158) - (get_local $$157) + (get_local $$159) + (get_local $$35) ) - (get_local $$159) + (get_local $$160) ) ) ) @@ -3141,41 +3141,41 @@ (i32.const 48) ) (i64.select - (get_local $$73) + (get_local $$77) (i64.select - (get_local $$66) + (get_local $$70) (get_local $$7) (i64.select - (get_local $$69) + (get_local $$73) (i64.or (i64.select - (get_local $$66) + (get_local $$70) (get_local $$7) (i64.select - (get_local $$62) + (get_local $$66) (i64.or - (get_local $$153) - (get_local $$154) + (get_local $$155) + (get_local $$156) ) - (get_local $$155) + (get_local $$157) ) ) (i64.select - (get_local $$67) - (get_local $$156) + (get_local $$71) + (get_local $$158) (get_local $$51) ) ) (i64.select - (get_local $$61) + (get_local $$65) (get_local $$3) (i64.select - (get_local $$57) + (get_local $$61) (i64.or - (get_local $$151) - (get_local $$150) + (get_local $$153) + (get_local $$152) ) - (get_local $$152) + (get_local $$154) ) ) ) @@ -3189,23 +3189,23 @@ (i32.const 40) ) (i64.select - (get_local $$73) + (get_local $$77) (i64.select - (get_local $$66) + (get_local $$70) (get_local $$6) (i64.select - (get_local $$69) + (get_local $$73) (i64.or (i64.select - (get_local $$62) + (get_local $$66) (get_local $$172) (get_local $$51) ) (i64.select - (get_local $$109) + (get_local $$113) (get_local $$2) (i64.select - (get_local $$67) + (get_local $$71) (i64.or (get_local $$169) (get_local $$170) @@ -3215,7 +3215,7 @@ ) ) (i64.select - (get_local $$57) + (get_local $$61) (get_local $$173) (get_local $$51) ) @@ -3230,23 +3230,23 @@ (i32.const 32) ) (i64.select - (get_local $$73) + (get_local $$77) (i64.select - (get_local $$66) + (get_local $$70) (get_local $$5) (i64.select - (get_local $$69) + (get_local $$73) (i64.or (i64.select - (get_local $$62) + (get_local $$66) (get_local $$167) (get_local $$51) ) (i64.select - (get_local $$109) + (get_local $$113) (get_local $$1) (i64.select - (get_local $$67) + (get_local $$71) (i64.or (get_local $$164) (get_local $$165) @@ -3256,7 +3256,7 @@ ) ) (i64.select - (get_local $$57) + (get_local $$61) (get_local $$168) (get_local $$51) ) @@ -3271,80 +3271,80 @@ (i32.const 120) ) (i64.select - (get_local $$66) + (get_local $$70) (get_local $$16) (i64.select - (get_local $$73) + (get_local $$77) (i64.or (i64.select - (get_local $$66) + (get_local $$70) (get_local $$16) (i64.select - (get_local $$69) + (get_local $$73) (i64.or (i64.select - (get_local $$66) + (get_local $$70) (get_local $$16) (i64.select - (get_local $$62) + (get_local $$66) (i64.or - (get_local $$79) - (get_local $$80) + (get_local $$84) + (get_local $$85) ) - (get_local $$81) + (get_local $$86) ) ) (i64.select - (get_local $$67) - (get_local $$82) + (get_local $$71) + (get_local $$87) (get_local $$51) ) ) (i64.select - (get_local $$61) + (get_local $$65) (get_local $$12) (i64.select - (get_local $$57) + (get_local $$61) (i64.or - (get_local $$77) - (get_local $$76) + (get_local $$82) + (get_local $$81) ) - (get_local $$78) + (get_local $$83) ) ) ) ) (i64.select - (get_local $$72) + (get_local $$76) (i64.select - (get_local $$70) - (get_local $$83) + (get_local $$74) + (get_local $$88) (get_local $$51) ) (get_local $$51) ) ) (i64.select - (get_local $$54) + (get_local $$57) (get_local $$8) (i64.select - (get_local $$56) + (get_local $$60) (i64.or (i64.select - (get_local $$54) + (get_local $$57) (get_local $$8) (i64.select (get_local $$53) (i64.or + (get_local $$41) (get_local $$33) - (get_local $$44) ) - (get_local $$46) + (get_local $$79) ) ) (i64.select - (get_local $$55) - (get_local $$75) + (get_local $$58) + (get_local $$80) (get_local $$51) ) ) @@ -3354,10 +3354,10 @@ (i64.select (get_local $$50) (i64.or - (get_local $$35) - (get_local $$17) + (get_local $$43) + (get_local $$39) ) - (get_local $$40) + (get_local $$38) ) ) ) @@ -3371,80 +3371,80 @@ (i32.const 112) ) (i64.select - (get_local $$66) + (get_local $$70) (get_local $$15) (i64.select - (get_local $$73) + (get_local $$77) (i64.or (i64.select - (get_local $$66) + (get_local $$70) (get_local $$15) (i64.select - (get_local $$69) + (get_local $$73) (i64.or (i64.select - (get_local $$66) + (get_local $$70) (get_local $$15) (i64.select - (get_local $$62) + (get_local $$66) (i64.or - (get_local $$63) - (get_local $$64) + (get_local $$67) + (get_local $$68) ) - (get_local $$65) + (get_local $$69) ) ) (i64.select - (get_local $$67) - (get_local $$68) + (get_local $$71) + (get_local $$72) (get_local $$51) ) ) (i64.select - (get_local $$61) + (get_local $$65) (get_local $$11) (i64.select - (get_local $$57) + (get_local $$61) (i64.or - (get_local $$59) - (get_local $$58) + (get_local $$63) + (get_local $$62) ) - (get_local $$60) + (get_local $$64) ) ) ) ) (i64.select - (get_local $$72) + (get_local $$76) (i64.select - (get_local $$70) - (get_local $$71) + (get_local $$74) + (get_local $$75) (get_local $$51) ) (get_local $$51) ) ) (i64.select - (get_local $$54) + (get_local $$57) (get_local $$7) (i64.select - (get_local $$56) + (get_local $$60) (i64.or (i64.select - (get_local $$54) + (get_local $$57) (get_local $$7) (i64.select (get_local $$53) (i64.or - (get_local $$36) - (get_local $$49) + (get_local $$55) + (get_local $$54) ) - (get_local $$38) + (get_local $$56) ) ) (i64.select - (get_local $$55) - (get_local $$41) + (get_local $$58) + (get_local $$59) (get_local $$51) ) ) @@ -3454,10 +3454,10 @@ (i64.select (get_local $$50) (i64.or - (get_local $$43) - (get_local $$39) + (get_local $$49) + (get_local $$34) ) - (get_local $$34) + (get_local $$36) ) ) ) @@ -3471,86 +3471,86 @@ (i32.const 104) ) (i64.select - (get_local $$66) + (get_local $$70) (get_local $$14) (i64.select - (get_local $$73) + (get_local $$77) (i64.or (i64.select - (get_local $$66) + (get_local $$70) (get_local $$14) (i64.select - (get_local $$69) + (get_local $$73) (i64.or (i64.select - (get_local $$62) - (get_local $$143) + (get_local $$66) + (get_local $$146) (get_local $$51) ) (i64.select - (get_local $$109) + (get_local $$113) (get_local $$10) (i64.select - (get_local $$67) + (get_local $$71) (i64.or - (get_local $$140) - (get_local $$141) + (get_local $$47) + (get_local $$45) ) - (get_local $$142) + (get_local $$145) ) ) ) (i64.select - (get_local $$57) - (get_local $$144) + (get_local $$61) + (get_local $$147) (get_local $$51) ) ) ) (i64.select - (get_local $$72) + (get_local $$76) (i64.select - (get_local $$94) + (get_local $$96) (get_local $$6) (i64.select - (get_local $$70) + (get_local $$74) (i64.or - (get_local $$137) - (get_local $$138) + (get_local $$142) + (get_local $$143) ) - (get_local $$139) + (get_local $$144) ) ) (get_local $$51) ) ) (i64.select - (get_local $$54) + (get_local $$57) (get_local $$6) (i64.select - (get_local $$56) + (get_local $$60) (i64.or (i64.select (get_local $$53) - (get_local $$148) + (get_local $$37) (get_local $$51) ) (i64.select - (get_local $$135) + (get_local $$139) (get_local $$2) (i64.select - (get_local $$55) + (get_local $$58) (i64.or - (get_local $$145) - (get_local $$146) + (get_local $$148) + (get_local $$149) ) - (get_local $$147) + (get_local $$150) ) ) ) (i64.select (get_local $$50) - (get_local $$149) + (get_local $$151) (get_local $$51) ) ) @@ -3564,86 +3564,86 @@ (i32.const 96) ) (i64.select - (get_local $$66) + (get_local $$70) (get_local $$13) (i64.select - (get_local $$73) + (get_local $$77) (i64.or (i64.select - (get_local $$66) + (get_local $$70) (get_local $$13) (i64.select - (get_local $$69) + (get_local $$73) (i64.or (i64.select - (get_local $$62) - (get_local $$130) + (get_local $$66) + (get_local $$134) (get_local $$51) ) (i64.select - (get_local $$109) + (get_local $$113) (get_local $$9) (i64.select - (get_local $$67) + (get_local $$71) (i64.or - (get_local $$127) - (get_local $$128) + (get_local $$131) + (get_local $$132) ) - (get_local $$129) + (get_local $$133) ) ) ) (i64.select - (get_local $$57) - (get_local $$131) + (get_local $$61) + (get_local $$135) (get_local $$51) ) ) ) (i64.select - (get_local $$72) + (get_local $$76) (i64.select - (get_local $$94) + (get_local $$96) (get_local $$5) (i64.select - (get_local $$70) + (get_local $$74) (i64.or - (get_local $$124) - (get_local $$125) + (get_local $$128) + (get_local $$129) ) - (get_local $$126) + (get_local $$130) ) ) (get_local $$51) ) ) (i64.select - (get_local $$54) + (get_local $$57) (get_local $$5) (i64.select - (get_local $$56) + (get_local $$60) (i64.or (i64.select (get_local $$53) - (get_local $$136) + (get_local $$140) (get_local $$51) ) (i64.select - (get_local $$135) + (get_local $$139) (get_local $$1) (i64.select - (get_local $$55) + (get_local $$58) (i64.or - (get_local $$132) - (get_local $$133) + (get_local $$136) + (get_local $$137) ) - (get_local $$134) + (get_local $$138) ) ) ) (i64.select (get_local $$50) - (get_local $$37) + (get_local $$141) (get_local $$51) ) ) @@ -3657,64 +3657,64 @@ (i32.const 72) ) (i64.select - (get_local $$66) + (get_local $$70) (get_local $$10) (i64.select - (get_local $$73) + (get_local $$77) (i64.or (i64.select - (get_local $$69) + (get_local $$73) (i64.select - (get_local $$62) - (get_local $$122) + (get_local $$66) + (get_local $$126) (get_local $$51) ) (get_local $$51) ) (i64.select - (get_local $$94) + (get_local $$96) (get_local $$2) (i64.select - (get_local $$72) + (get_local $$76) (i64.or (i64.select - (get_local $$94) + (get_local $$96) (get_local $$2) (i64.select - (get_local $$70) + (get_local $$74) (i64.or - (get_local $$118) - (get_local $$119) + (get_local $$122) + (get_local $$123) ) - (get_local $$120) + (get_local $$124) ) ) (i64.select - (get_local $$87) - (get_local $$121) + (get_local $$89) + (get_local $$125) (get_local $$51) ) ) (i64.select - (get_local $$109) + (get_local $$113) (get_local $$6) (i64.select - (get_local $$67) + (get_local $$71) (i64.or - (get_local $$115) - (get_local $$116) + (get_local $$119) + (get_local $$120) ) - (get_local $$117) + (get_local $$121) ) ) ) ) ) (i64.select - (get_local $$56) + (get_local $$60) (i64.select (get_local $$53) - (get_local $$123) + (get_local $$127) (get_local $$51) ) (get_local $$51) @@ -3728,64 +3728,64 @@ (i32.const 64) ) (i64.select - (get_local $$66) + (get_local $$70) (get_local $$9) (i64.select - (get_local $$73) + (get_local $$77) (i64.or (i64.select - (get_local $$69) + (get_local $$73) (i64.select - (get_local $$62) - (get_local $$114) + (get_local $$66) + (get_local $$46) (get_local $$51) ) (get_local $$51) ) (i64.select - (get_local $$94) + (get_local $$96) (get_local $$1) (i64.select - (get_local $$72) + (get_local $$76) (i64.or (i64.select - (get_local $$94) + (get_local $$96) (get_local $$1) (i64.select - (get_local $$70) + (get_local $$74) (i64.or - (get_local $$110) - (get_local $$111) + (get_local $$114) + (get_local $$115) ) - (get_local $$112) + (get_local $$116) ) ) (i64.select - (get_local $$87) - (get_local $$113) + (get_local $$89) + (get_local $$117) (get_local $$51) ) ) (i64.select - (get_local $$109) + (get_local $$113) (get_local $$5) (i64.select - (get_local $$67) + (get_local $$71) (i64.or - (get_local $$106) - (get_local $$107) + (get_local $$110) + (get_local $$111) ) - (get_local $$108) + (get_local $$112) ) ) ) ) ) (i64.select - (get_local $$56) + (get_local $$60) (i64.select (get_local $$53) - (get_local $$45) + (get_local $$118) (get_local $$51) ) (get_local $$51) @@ -3799,71 +3799,71 @@ (i32.const 88) ) (i64.select - (get_local $$66) + (get_local $$70) (get_local $$12) (i64.select - (get_local $$73) + (get_local $$77) (i64.or (i64.select - (get_local $$69) + (get_local $$73) (i64.select - (get_local $$66) + (get_local $$70) (get_local $$12) (i64.select - (get_local $$62) + (get_local $$66) (i64.or - (get_local $$47) - (get_local $$48) + (get_local $$100) + (get_local $$101) ) - (get_local $$97) + (get_local $$102) ) ) (get_local $$51) ) (i64.select - (get_local $$94) + (get_local $$96) (get_local $$4) (i64.select - (get_local $$72) + (get_local $$76) (i64.or (i64.select - (get_local $$70) - (get_local $$101) + (get_local $$74) + (get_local $$48) (get_local $$51) ) (i64.select - (get_local $$91) + (get_local $$93) (get_local $$8) (i64.select - (get_local $$87) + (get_local $$89) (i64.or - (get_local $$98) - (get_local $$99) + (get_local $$103) + (get_local $$104) ) - (get_local $$100) + (get_local $$105) ) ) ) (i64.select - (get_local $$67) - (get_local $$102) + (get_local $$71) + (get_local $$106) (get_local $$51) ) ) ) ) (i64.select - (get_local $$56) + (get_local $$60) (i64.select - (get_local $$54) + (get_local $$57) (get_local $$4) (i64.select (get_local $$53) (i64.or - (get_local $$104) - (get_local $$103) + (get_local $$108) + (get_local $$107) ) - (get_local $$105) + (get_local $$109) ) ) (get_local $$51) @@ -3877,71 +3877,71 @@ (i32.const 80) ) (i64.select - (get_local $$66) + (get_local $$70) (get_local $$11) (i64.select - (get_local $$73) + (get_local $$77) (i64.or (i64.select - (get_local $$69) + (get_local $$73) (i64.select - (get_local $$66) + (get_local $$70) (get_local $$11) (i64.select - (get_local $$62) + (get_local $$66) (i64.or - (get_local $$84) - (get_local $$85) + (get_local $$17) + (get_local $$42) ) - (get_local $$86) + (get_local $$44) ) ) (get_local $$51) ) (i64.select - (get_local $$94) + (get_local $$96) (get_local $$3) (i64.select - (get_local $$72) + (get_local $$76) (i64.or (i64.select - (get_local $$70) - (get_local $$92) + (get_local $$74) + (get_local $$94) (get_local $$51) ) (i64.select - (get_local $$91) + (get_local $$93) (get_local $$7) (i64.select - (get_local $$87) + (get_local $$89) (i64.or - (get_local $$88) - (get_local $$89) + (get_local $$90) + (get_local $$91) ) - (get_local $$90) + (get_local $$92) ) ) ) (i64.select - (get_local $$67) - (get_local $$93) + (get_local $$71) + (get_local $$95) (get_local $$51) ) ) ) ) (i64.select - (get_local $$56) + (get_local $$60) (i64.select - (get_local $$54) + (get_local $$57) (get_local $$3) (i64.select (get_local $$53) (i64.or - (get_local $$96) - (get_local $$95) + (get_local $$98) + (get_local $$97) ) - (get_local $$42) + (get_local $$99) ) ) (get_local $$51) diff --git a/test/llvm_autogenerated/llvm-to-s.py b/test/llvm_autogenerated/llvm-to-s.py index 9952352a8..ae73c167b 100755 --- a/test/llvm_autogenerated/llvm-to-s.py +++ b/test/llvm_autogenerated/llvm-to-s.py @@ -52,6 +52,14 @@ def main(args): tests = FindTestFiles(LLVM_TEST_DIR, '.ll') for ll_test in tests: name_noext = os.path.splitext(os.path.basename(ll_test))[0] + + BLACKLIST = ['inline-asm', # inline asm containing invalid syntax + 'returned', # external global symbol + 'vtable', # external global symbol + ] + if name_noext in BLACKLIST: + continue + s = os.path.join(S_TEST_DIR, name_noext + '.s') run_line = GetRunLine(ll_test) cmd = shlex.split(run_line) diff --git a/test/dot_s/load-ext.wast b/test/llvm_autogenerated/load-ext.wast index 422828010..422828010 100644 --- a/test/dot_s/load-ext.wast +++ b/test/llvm_autogenerated/load-ext.wast diff --git a/test/dot_s/load-store-i1.wast b/test/llvm_autogenerated/load-store-i1.wast index d9b67382b..d9b67382b 100644 --- a/test/dot_s/load-store-i1.wast +++ b/test/llvm_autogenerated/load-store-i1.wast diff --git a/test/dot_s/load.wast b/test/llvm_autogenerated/load.wast index ac52dcda0..ac52dcda0 100644 --- a/test/dot_s/load.wast +++ b/test/llvm_autogenerated/load.wast diff --git a/test/dot_s/memory-addr32.wast b/test/llvm_autogenerated/memory-addr32.wast index c056c10d9..c056c10d9 100644 --- a/test/dot_s/memory-addr32.wast +++ b/test/llvm_autogenerated/memory-addr32.wast diff --git a/test/dot_s/memory-addr64.wast b/test/llvm_autogenerated/memory-addr64.wast index 49c56ea9b..49c56ea9b 100644 --- a/test/dot_s/memory-addr64.wast +++ b/test/llvm_autogenerated/memory-addr64.wast diff --git a/test/dot_s/offset-folding.wast b/test/llvm_autogenerated/offset-folding.wast index 237efdeeb..b3a247cc1 100644 --- a/test/dot_s/offset-folding.wast +++ b/test/llvm_autogenerated/offset-folding.wast @@ -1,5 +1,5 @@ (module - (memory 0 4294967295) + (memory 216 4294967295) (export "test0" $test0) (export "test1" $test1) (export "test2" $test2) @@ -8,7 +8,7 @@ (block $fake_return_waka123 (block (br $fake_return_waka123 - (i32.const 0) + (i32.const 192) ) ) ) @@ -17,7 +17,7 @@ (block $fake_return_waka123 (block (br $fake_return_waka123 - (i32.const 0) + (i32.const 204) ) ) ) @@ -26,7 +26,7 @@ (block $fake_return_waka123 (block (br $fake_return_waka123 - (i32.const 0) + (i32.const 4) ) ) ) @@ -35,10 +35,10 @@ (block $fake_return_waka123 (block (br $fake_return_waka123 - (i32.const 0) + (i32.const 16) ) ) ) ) ) -;; METADATA: { "asmConsts": {} } +;; METADATA: { "asmConsts": {},"staticBump": 215 } diff --git a/test/llvm_autogenerated/offset.wast b/test/llvm_autogenerated/offset.wast new file mode 100644 index 000000000..d85361666 --- /dev/null +++ b/test/llvm_autogenerated/offset.wast @@ -0,0 +1,473 @@ +(module + (memory 8 4294967295 (segment 4 "\00\00\00\00")) + (export "load_i32_with_folded_offset" $load_i32_with_folded_offset) + (export "load_i32_with_folded_gep_offset" $load_i32_with_folded_gep_offset) + (export "load_i32_with_unfolded_gep_negative_offset" $load_i32_with_unfolded_gep_negative_offset) + (export "load_i32_with_unfolded_offset" $load_i32_with_unfolded_offset) + (export "load_i32_with_unfolded_gep_offset" $load_i32_with_unfolded_gep_offset) + (export "load_i64_with_folded_offset" $load_i64_with_folded_offset) + (export "load_i64_with_folded_gep_offset" $load_i64_with_folded_gep_offset) + (export "load_i64_with_unfolded_gep_negative_offset" $load_i64_with_unfolded_gep_negative_offset) + (export "load_i64_with_unfolded_offset" $load_i64_with_unfolded_offset) + (export "load_i64_with_unfolded_gep_offset" $load_i64_with_unfolded_gep_offset) + (export "store_i32_with_folded_offset" $store_i32_with_folded_offset) + (export "store_i32_with_folded_gep_offset" $store_i32_with_folded_gep_offset) + (export "store_i32_with_unfolded_gep_negative_offset" $store_i32_with_unfolded_gep_negative_offset) + (export "store_i32_with_unfolded_offset" $store_i32_with_unfolded_offset) + (export "store_i32_with_unfolded_gep_offset" $store_i32_with_unfolded_gep_offset) + (export "store_i64_with_folded_offset" $store_i64_with_folded_offset) + (export "store_i64_with_folded_gep_offset" $store_i64_with_folded_gep_offset) + (export "store_i64_with_unfolded_gep_negative_offset" $store_i64_with_unfolded_gep_negative_offset) + (export "store_i64_with_unfolded_offset" $store_i64_with_unfolded_offset) + (export "store_i64_with_unfolded_gep_offset" $store_i64_with_unfolded_gep_offset) + (export "load_i32_from_numeric_address" $load_i32_from_numeric_address) + (export "load_i32_from_global_address" $load_i32_from_global_address) + (export "store_i32_to_numeric_address" $store_i32_to_numeric_address) + (export "store_i32_to_global_address" $store_i32_to_global_address) + (export "load_i8_s_with_folded_offset" $load_i8_s_with_folded_offset) + (export "load_i8_s_with_folded_gep_offset" $load_i8_s_with_folded_gep_offset) + (export "load_i8_u_with_folded_offset" $load_i8_u_with_folded_offset) + (export "load_i8_u_with_folded_gep_offset" $load_i8_u_with_folded_gep_offset) + (export "store_i8_with_folded_offset" $store_i8_with_folded_offset) + (export "store_i8_with_folded_gep_offset" $store_i8_with_folded_gep_offset) + (export "aggregate_load_store" $aggregate_load_store) + (export "aggregate_return" $aggregate_return) + (func $load_i32_with_folded_offset (param $$0 i32) (result i32) + (block $fake_return_waka123 + (block + (br $fake_return_waka123 + (i32.load offset=24 align=4 + (get_local $$0) + ) + ) + ) + ) + ) + (func $load_i32_with_folded_gep_offset (param $$0 i32) (result i32) + (block $fake_return_waka123 + (block + (br $fake_return_waka123 + (i32.load offset=24 align=4 + (get_local $$0) + ) + ) + ) + ) + ) + (func $load_i32_with_unfolded_gep_negative_offset (param $$0 i32) (result i32) + (block $fake_return_waka123 + (block + (br $fake_return_waka123 + (i32.load align=4 + (i32.add + (get_local $$0) + (i32.const -24) + ) + ) + ) + ) + ) + ) + (func $load_i32_with_unfolded_offset (param $$0 i32) (result i32) + (block $fake_return_waka123 + (block + (br $fake_return_waka123 + (i32.load align=4 + (i32.add + (get_local $$0) + (i32.const 24) + ) + ) + ) + ) + ) + ) + (func $load_i32_with_unfolded_gep_offset (param $$0 i32) (result i32) + (block $fake_return_waka123 + (block + (br $fake_return_waka123 + (i32.load align=4 + (i32.add + (get_local $$0) + (i32.const 24) + ) + ) + ) + ) + ) + ) + (func $load_i64_with_folded_offset (param $$0 i32) (result i64) + (block $fake_return_waka123 + (block + (br $fake_return_waka123 + (i64.load offset=24 align=8 + (get_local $$0) + ) + ) + ) + ) + ) + (func $load_i64_with_folded_gep_offset (param $$0 i32) (result i64) + (block $fake_return_waka123 + (block + (br $fake_return_waka123 + (i64.load offset=24 align=8 + (get_local $$0) + ) + ) + ) + ) + ) + (func $load_i64_with_unfolded_gep_negative_offset (param $$0 i32) (result i64) + (block $fake_return_waka123 + (block + (br $fake_return_waka123 + (i64.load align=8 + (i32.add + (get_local $$0) + (i32.const -24) + ) + ) + ) + ) + ) + ) + (func $load_i64_with_unfolded_offset (param $$0 i32) (result i64) + (block $fake_return_waka123 + (block + (br $fake_return_waka123 + (i64.load align=8 + (i32.add + (get_local $$0) + (i32.const 24) + ) + ) + ) + ) + ) + ) + (func $load_i64_with_unfolded_gep_offset (param $$0 i32) (result i64) + (block $fake_return_waka123 + (block + (br $fake_return_waka123 + (i64.load align=8 + (i32.add + (get_local $$0) + (i32.const 24) + ) + ) + ) + ) + ) + ) + (func $store_i32_with_folded_offset (param $$0 i32) + (block $fake_return_waka123 + (block + (i32.store offset=24 align=4 + (get_local $$0) + (i32.const 0) + ) + (br $fake_return_waka123) + ) + ) + ) + (func $store_i32_with_folded_gep_offset (param $$0 i32) + (block $fake_return_waka123 + (block + (i32.store offset=24 align=4 + (get_local $$0) + (i32.const 0) + ) + (br $fake_return_waka123) + ) + ) + ) + (func $store_i32_with_unfolded_gep_negative_offset (param $$0 i32) + (block $fake_return_waka123 + (block + (i32.store align=4 + (i32.add + (get_local $$0) + (i32.const -24) + ) + (i32.const 0) + ) + (br $fake_return_waka123) + ) + ) + ) + (func $store_i32_with_unfolded_offset (param $$0 i32) + (block $fake_return_waka123 + (block + (i32.store align=4 + (i32.add + (get_local $$0) + (i32.const 24) + ) + (i32.const 0) + ) + (br $fake_return_waka123) + ) + ) + ) + (func $store_i32_with_unfolded_gep_offset (param $$0 i32) + (block $fake_return_waka123 + (block + (i32.store align=4 + (i32.add + (get_local $$0) + (i32.const 24) + ) + (i32.const 0) + ) + (br $fake_return_waka123) + ) + ) + ) + (func $store_i64_with_folded_offset (param $$0 i32) + (block $fake_return_waka123 + (block + (i64.store offset=24 align=8 + (get_local $$0) + (i64.const 0) + ) + (br $fake_return_waka123) + ) + ) + ) + (func $store_i64_with_folded_gep_offset (param $$0 i32) + (block $fake_return_waka123 + (block + (i64.store offset=24 align=8 + (get_local $$0) + (i64.const 0) + ) + (br $fake_return_waka123) + ) + ) + ) + (func $store_i64_with_unfolded_gep_negative_offset (param $$0 i32) + (block $fake_return_waka123 + (block + (i64.store align=8 + (i32.add + (get_local $$0) + (i32.const -24) + ) + (i64.const 0) + ) + (br $fake_return_waka123) + ) + ) + ) + (func $store_i64_with_unfolded_offset (param $$0 i32) + (block $fake_return_waka123 + (block + (i64.store align=8 + (i32.add + (get_local $$0) + (i32.const 24) + ) + (i64.const 0) + ) + (br $fake_return_waka123) + ) + ) + ) + (func $store_i64_with_unfolded_gep_offset (param $$0 i32) + (block $fake_return_waka123 + (block + (i64.store align=8 + (i32.add + (get_local $$0) + (i32.const 24) + ) + (i64.const 0) + ) + (br $fake_return_waka123) + ) + ) + ) + (func $load_i32_from_numeric_address (result i32) + (block $fake_return_waka123 + (block + (br $fake_return_waka123 + (i32.load offset=42 align=4 + (i32.const 0) + ) + ) + ) + ) + ) + (func $load_i32_from_global_address (result i32) + (block $fake_return_waka123 + (block + (br $fake_return_waka123 + (i32.load offset=4 align=4 + (i32.const 0) + ) + ) + ) + ) + ) + (func $store_i32_to_numeric_address + (local $$0 i32) + (block $fake_return_waka123 + (block + (set_local $$0 + (i32.const 0) + ) + (i32.store offset=42 align=4 + (get_local $$0) + (get_local $$0) + ) + (br $fake_return_waka123) + ) + ) + ) + (func $store_i32_to_global_address + (local $$0 i32) + (block $fake_return_waka123 + (block + (set_local $$0 + (i32.const 0) + ) + (i32.store offset=4 align=4 + (get_local $$0) + (get_local $$0) + ) + (br $fake_return_waka123) + ) + ) + ) + (func $load_i8_s_with_folded_offset (param $$0 i32) (result i32) + (block $fake_return_waka123 + (block + (br $fake_return_waka123 + (i32.load8_s offset=24 align=1 + (get_local $$0) + ) + ) + ) + ) + ) + (func $load_i8_s_with_folded_gep_offset (param $$0 i32) (result i32) + (block $fake_return_waka123 + (block + (br $fake_return_waka123 + (i32.load8_s offset=24 align=1 + (get_local $$0) + ) + ) + ) + ) + ) + (func $load_i8_u_with_folded_offset (param $$0 i32) (result i32) + (block $fake_return_waka123 + (block + (br $fake_return_waka123 + (i32.load8_u offset=24 align=1 + (get_local $$0) + ) + ) + ) + ) + ) + (func $load_i8_u_with_folded_gep_offset (param $$0 i32) (result i32) + (block $fake_return_waka123 + (block + (br $fake_return_waka123 + (i32.load8_u offset=24 align=1 + (get_local $$0) + ) + ) + ) + ) + ) + (func $store_i8_with_folded_offset (param $$0 i32) + (block $fake_return_waka123 + (block + (i32.store offset=24 align=8 + (get_local $$0) + (i32.const 0) + ) + (br $fake_return_waka123) + ) + ) + ) + (func $store_i8_with_folded_gep_offset (param $$0 i32) + (block $fake_return_waka123 + (block + (i32.store offset=24 align=8 + (get_local $$0) + (i32.const 0) + ) + (br $fake_return_waka123) + ) + ) + ) + (func $aggregate_load_store (param $$0 i32) (param $$1 i32) + (local $$2 i32) + (local $$3 i32) + (local $$4 i32) + (block $fake_return_waka123 + (block + (set_local $$2 + (i32.load align=4 + (get_local $$0) + ) + ) + (set_local $$3 + (i32.load offset=4 align=4 + (get_local $$0) + ) + ) + (set_local $$4 + (i32.load offset=8 align=4 + (get_local $$0) + ) + ) + (i32.store offset=12 align=4 + (get_local $$1) + (i32.load offset=12 align=4 + (get_local $$0) + ) + ) + (i32.store offset=8 align=4 + (get_local $$1) + (get_local $$4) + ) + (i32.store offset=4 align=4 + (get_local $$1) + (get_local $$3) + ) + (i32.store align=4 + (get_local $$1) + (get_local $$2) + ) + (br $fake_return_waka123) + ) + ) + ) + (func $aggregate_return (param $$0 i32) + (block $fake_return_waka123 + (block + (i32.store align=4 + (get_local $$0) + (i32.store offset=4 align=4 + (get_local $$0) + (i32.store offset=8 align=4 + (get_local $$0) + (i32.store offset=12 align=4 + (get_local $$0) + (i32.const 0) + ) + ) + ) + ) + (br $fake_return_waka123) + ) + ) + ) +) +;; METADATA: { "asmConsts": {},"staticBump": 7 } diff --git a/test/dot_s/phi.wast b/test/llvm_autogenerated/phi.wast index 9d61cfa77..c1f14d530 100644 --- a/test/dot_s/phi.wast +++ b/test/llvm_autogenerated/phi.wast @@ -48,18 +48,18 @@ ) (loop $BB1_2 $BB1_1 (block - (set_local $$5 - (i32.add - (get_local $$5) - (get_local $$2) - ) - ) (set_local $$1 (get_local $$4) ) (set_local $$4 (get_local $$3) ) + (set_local $$5 + (i32.add + (get_local $$5) + (get_local $$2) + ) + ) (set_local $$3 (get_local $$1) ) diff --git a/test/dot_s/reg-stackify.wast b/test/llvm_autogenerated/reg-stackify.wast index 434e704b2..2dbf17a13 100644 --- a/test/dot_s/reg-stackify.wast +++ b/test/llvm_autogenerated/reg-stackify.wast @@ -5,6 +5,7 @@ (export "yes0" $yes0) (export "yes1" $yes1) (export "stack_uses" $stack_uses) + (export "multiple_uses" $multiple_uses) (func $no0 (param $$0 i32) (param $$1 i32) (result i32) (block $fake_return_waka123 (block @@ -72,12 +73,12 @@ (local $$5 i32) (block $fake_return_waka123 (block - (set_local $$4 - (i32.const 1) - ) (set_local $$5 (i32.const 2) ) + (set_local $$4 + (i32.const 1) + ) (block $BB4_2 (br_if (i32.ne @@ -117,5 +118,38 @@ ) ) ) + (func $multiple_uses (param $$0 i32) (param $$1 i32) (param $$2 i32) + (local $$3 i32) + (block $fake_return_waka123 + (block + (set_local $$3 + (i32.load align=4 + (get_local $$2) + ) + ) + (block $BB5_3 + (br_if + (i32.ge_u + (get_local $$3) + (get_local $$1) + ) + $BB5_3 + ) + (br_if + (i32.lt_u + (get_local $$3) + (get_local $$0) + ) + $BB5_3 + ) + (i32.store align=4 + (get_local $$2) + (get_local $$3) + ) + ) + (br $fake_return_waka123) + ) + ) + ) ) ;; METADATA: { "asmConsts": {},"staticBump": 0 } diff --git a/test/dot_s/return-int32.wast b/test/llvm_autogenerated/return-int32.wast index 57bf9538b..57bf9538b 100644 --- a/test/dot_s/return-int32.wast +++ b/test/llvm_autogenerated/return-int32.wast diff --git a/test/dot_s/return-void.wast b/test/llvm_autogenerated/return-void.wast index 8cfa247b0..8cfa247b0 100644 --- a/test/dot_s/return-void.wast +++ b/test/llvm_autogenerated/return-void.wast diff --git a/test/llvm_autogenerated/returned.s b/test/llvm_autogenerated/returned.s deleted file mode 100644 index d1ffd41b7..000000000 --- a/test/llvm_autogenerated/returned.s +++ /dev/null @@ -1,42 +0,0 @@ - .text - .file "/s/llvm/llvm/test/CodeGen/WebAssembly/returned.ll" - .globl _Z3foov - .type _Z3foov,@function -_Z3foov: - .result i32 - i32.const $push0=, 1 - i32.call $push1=, _Znwm, $pop0 - i32.call $push2=, _ZN5AppleC1Ev, $pop1 - return $pop2 -func_end0: - .size _Z3foov, func_end0-_Z3foov - - .globl _Z3barPvS_l - .type _Z3barPvS_l,@function -_Z3barPvS_l: - .param i32, i32, i32 - .result i32 - i32.call $push0=, memcpy, $0, $1, $2 - return $pop0 -func_end1: - .size _Z3barPvS_l, func_end1-_Z3barPvS_l - - .globl test_constant_arg - .type test_constant_arg,@function -test_constant_arg: - i32.const $push0=, global - i32.call $discard=, returns_arg, $pop0 - return -func_end2: - .size test_constant_arg, func_end2-test_constant_arg - - .type addr,@object - .data - .globl addr - .align 2 -addr: - .int32 global - .size addr, 4 - - - .section ".note.GNU-stack","",@progbits diff --git a/test/dot_s/select.wast b/test/llvm_autogenerated/select.wast index bb5a4e575..bb5a4e575 100644 --- a/test/dot_s/select.wast +++ b/test/llvm_autogenerated/select.wast diff --git a/test/dot_s/signext-zeroext.wast b/test/llvm_autogenerated/signext-zeroext.wast index 480223851..480223851 100644 --- a/test/dot_s/signext-zeroext.wast +++ b/test/llvm_autogenerated/signext-zeroext.wast diff --git a/test/dot_s/store-results.wast b/test/llvm_autogenerated/store-results.wast index 009d2c167..d4f73baff 100644 --- a/test/dot_s/store-results.wast +++ b/test/llvm_autogenerated/store-results.wast @@ -64,16 +64,16 @@ ) (loop $BB2_2 $BB2_1 (block + (i32.store offset=4 align=4 + (get_local $$0) + (get_local $$0) + ) (set_local $$1 (f32.add (get_local $$1) (f32.const 1) ) ) - (i32.store offset=4 align=4 - (get_local $$0) - (get_local $$0) - ) (br_if (f32.ne (get_local $$1) diff --git a/test/dot_s/store-trunc.wast b/test/llvm_autogenerated/store-trunc.wast index 44b400534..44b400534 100644 --- a/test/dot_s/store-trunc.wast +++ b/test/llvm_autogenerated/store-trunc.wast diff --git a/test/dot_s/store.wast b/test/llvm_autogenerated/store.wast index d3a89a131..d3a89a131 100644 --- a/test/dot_s/store.wast +++ b/test/llvm_autogenerated/store.wast diff --git a/test/dot_s/switch.wast b/test/llvm_autogenerated/switch.wast index 7be3d417e..9404bd72a 100644 --- a/test/dot_s/switch.wast +++ b/test/llvm_autogenerated/switch.wast @@ -1,7 +1,7 @@ (module (memory 0 4294967295) - (import $foo1 "env" "foo1") (import $foo0 "env" "foo0") + (import $foo1 "env" "foo1") (import $foo2 "env" "foo2") (import $foo3 "env" "foo3") (import $foo4 "env" "foo4") @@ -27,13 +27,13 @@ (block $BB0_2 (tableswitch (get_local $$0) - (table (case $BB0_3) (case $BB0_3) (case $BB0_3) (case $BB0_3) (case $BB0_3) (case $BB0_3) (case $BB0_3) (case $BB0_2) (case $BB0_2) (case $BB0_2) (case $BB0_2) (case $BB0_2) (case $BB0_2) (case $BB0_2) (case $BB0_2) (case $BB0_4) (case $BB0_4) (case $BB0_4) (case $BB0_4) (case $BB0_4) (case $BB0_4) (case $BB0_5) (case $BB0_6) (case $BB0_7)) (case $BB0_3) + (table (case $BB0_2) (case $BB0_2) (case $BB0_2) (case $BB0_2) (case $BB0_2) (case $BB0_2) (case $BB0_2) (case $BB0_3) (case $BB0_3) (case $BB0_3) (case $BB0_3) (case $BB0_3) (case $BB0_3) (case $BB0_3) (case $BB0_3) (case $BB0_4) (case $BB0_4) (case $BB0_4) (case $BB0_4) (case $BB0_4) (case $BB0_4) (case $BB0_5) (case $BB0_6) (case $BB0_7)) (case $BB0_2) ) ) - (call_import $foo1) + (call_import $foo0) (br $BB0_8) ) - (call_import $foo0) + (call_import $foo1) (br $BB0_8) ) (call_import $foo2) @@ -72,13 +72,13 @@ (i32.wrap/i64 (get_local $$0) ) - (table (case $BB1_3) (case $BB1_3) (case $BB1_3) (case $BB1_3) (case $BB1_3) (case $BB1_3) (case $BB1_3) (case $BB1_2) (case $BB1_2) (case $BB1_2) (case $BB1_2) (case $BB1_2) (case $BB1_2) (case $BB1_2) (case $BB1_2) (case $BB1_4) (case $BB1_4) (case $BB1_4) (case $BB1_4) (case $BB1_4) (case $BB1_4) (case $BB1_5) (case $BB1_6) (case $BB1_7)) (case $BB1_3) + (table (case $BB1_2) (case $BB1_2) (case $BB1_2) (case $BB1_2) (case $BB1_2) (case $BB1_2) (case $BB1_2) (case $BB1_3) (case $BB1_3) (case $BB1_3) (case $BB1_3) (case $BB1_3) (case $BB1_3) (case $BB1_3) (case $BB1_3) (case $BB1_4) (case $BB1_4) (case $BB1_4) (case $BB1_4) (case $BB1_4) (case $BB1_4) (case $BB1_5) (case $BB1_6) (case $BB1_7)) (case $BB1_2) ) ) - (call_import $foo1) + (call_import $foo0) (br $BB1_8) ) - (call_import $foo0) + (call_import $foo1) (br $BB1_8) ) (call_import $foo2) diff --git a/test/dot_s/unreachable.wast b/test/llvm_autogenerated/unreachable.wast index 1d3be1405..1d3be1405 100644 --- a/test/dot_s/unreachable.wast +++ b/test/llvm_autogenerated/unreachable.wast diff --git a/test/dot_s/unused-argument.wast b/test/llvm_autogenerated/unused-argument.wast index 96c880442..96c880442 100644 --- a/test/dot_s/unused-argument.wast +++ b/test/llvm_autogenerated/unused-argument.wast diff --git a/test/dot_s/userstack.wast b/test/llvm_autogenerated/userstack.wast index c2083ce2a..c2083ce2a 100644 --- a/test/dot_s/userstack.wast +++ b/test/llvm_autogenerated/userstack.wast diff --git a/test/dot_s/varargs.wast b/test/llvm_autogenerated/varargs.wast index 7f5e0cb7e..7f5e0cb7e 100644 --- a/test/dot_s/varargs.wast +++ b/test/llvm_autogenerated/varargs.wast diff --git a/test/llvm_autogenerated/vtable.s b/test/llvm_autogenerated/vtable.s deleted file mode 100644 index cc56a884b..000000000 --- a/test/llvm_autogenerated/vtable.s +++ /dev/null @@ -1,206 +0,0 @@ - .text - .file "/s/llvm/llvm/test/CodeGen/WebAssembly/vtable.ll" - .globl _ZN1A3fooEv - .type _ZN1A3fooEv,@function -_ZN1A3fooEv: - .param i32 - i32.const $push0=, 0 - i32.const $push1=, 2 - i32.store $discard=, g($pop0), $pop1 - return -func_end0: - .size _ZN1A3fooEv, func_end0-_ZN1A3fooEv - - .globl _ZN1B3fooEv - .type _ZN1B3fooEv,@function -_ZN1B3fooEv: - .param i32 - i32.const $push0=, 0 - i32.const $push1=, 4 - i32.store $discard=, g($pop0), $pop1 - return -func_end1: - .size _ZN1B3fooEv, func_end1-_ZN1B3fooEv - - .globl _ZN1C3fooEv - .type _ZN1C3fooEv,@function -_ZN1C3fooEv: - .param i32 - i32.const $push0=, 0 - i32.const $push1=, 6 - i32.store $discard=, g($pop0), $pop1 - return -func_end2: - .size _ZN1C3fooEv, func_end2-_ZN1C3fooEv - - .globl _ZN1D3fooEv - .type _ZN1D3fooEv,@function -_ZN1D3fooEv: - .param i32 - i32.const $push0=, 0 - i32.const $push1=, 8 - i32.store $discard=, g($pop0), $pop1 - return -func_end3: - .size _ZN1D3fooEv, func_end3-_ZN1D3fooEv - - .weak _ZN1AD0Ev - .type _ZN1AD0Ev,@function -_ZN1AD0Ev: - .param i32 - call _ZdlPv, $0 - return -func_end4: - .size _ZN1AD0Ev, func_end4-_ZN1AD0Ev - - .weak _ZN1BD0Ev - .type _ZN1BD0Ev,@function -_ZN1BD0Ev: - .param i32 - call _ZdlPv, $0 - return -func_end5: - .size _ZN1BD0Ev, func_end5-_ZN1BD0Ev - - .weak _ZN1CD0Ev - .type _ZN1CD0Ev,@function -_ZN1CD0Ev: - .param i32 - call _ZdlPv, $0 - return -func_end6: - .size _ZN1CD0Ev, func_end6-_ZN1CD0Ev - - .weak _ZN1AD2Ev - .type _ZN1AD2Ev,@function -_ZN1AD2Ev: - .param i32 - .result i32 - return $0 -func_end7: - .size _ZN1AD2Ev, func_end7-_ZN1AD2Ev - - .weak _ZN1DD0Ev - .type _ZN1DD0Ev,@function -_ZN1DD0Ev: - .param i32 - call _ZdlPv, $0 - return -func_end8: - .size _ZN1DD0Ev, func_end8-_ZN1DD0Ev - - .type _ZTS1A,@object - .section .rodata,"a",@progbits - .globl _ZTS1A -_ZTS1A: - .asciz "1A" - .size _ZTS1A, 3 - - .type _ZTS1B,@object - .globl _ZTS1B -_ZTS1B: - .asciz "1B" - .size _ZTS1B, 3 - - .type _ZTS1C,@object - .globl _ZTS1C -_ZTS1C: - .asciz "1C" - .size _ZTS1C, 3 - - .type _ZTS1D,@object - .globl _ZTS1D -_ZTS1D: - .asciz "1D" - .size _ZTS1D, 3 - - .type _ZTV1A,@object - .section .data.rel.ro,"aw",@progbits - .globl _ZTV1A - .align 2 -_ZTV1A: - .int32 0 - .int32 _ZTI1A - .int32 _ZN1AD2Ev - .int32 _ZN1AD0Ev - .int32 _ZN1A3fooEv - .size _ZTV1A, 20 - - .type _ZTV1B,@object - .globl _ZTV1B - .align 2 -_ZTV1B: - .int32 0 - .int32 _ZTI1B - .int32 _ZN1AD2Ev - .int32 _ZN1BD0Ev - .int32 _ZN1B3fooEv - .size _ZTV1B, 20 - - .type _ZTV1C,@object - .globl _ZTV1C - .align 2 -_ZTV1C: - .int32 0 - .int32 _ZTI1C - .int32 _ZN1AD2Ev - .int32 _ZN1CD0Ev - .int32 _ZN1C3fooEv - .size _ZTV1C, 20 - - .type _ZTV1D,@object - .globl _ZTV1D - .align 2 -_ZTV1D: - .int32 0 - .int32 _ZTI1D - .int32 _ZN1AD2Ev - .int32 _ZN1DD0Ev - .int32 _ZN1D3fooEv - .size _ZTV1D, 20 - - .type _ZTI1A,@object - .globl _ZTI1A - .align 3 -_ZTI1A: - .int32 _ZTVN10__cxxabiv117__class_type_infoE+8 - .int32 _ZTS1A - .size _ZTI1A, 8 - - .type _ZTI1B,@object - .globl _ZTI1B - .align 3 -_ZTI1B: - .int32 _ZTVN10__cxxabiv120__si_class_type_infoE+8 - .int32 _ZTS1B - .int32 _ZTI1A - .size _ZTI1B, 12 - - .type _ZTI1C,@object - .globl _ZTI1C - .align 3 -_ZTI1C: - .int32 _ZTVN10__cxxabiv120__si_class_type_infoE+8 - .int32 _ZTS1C - .int32 _ZTI1A - .size _ZTI1C, 12 - - .type _ZTI1D,@object - .globl _ZTI1D - .align 3 -_ZTI1D: - .int32 _ZTVN10__cxxabiv120__si_class_type_infoE+8 - .int32 _ZTS1D - .int32 _ZTI1B - .size _ZTI1D, 12 - - .type g,@object - .bss - .globl g - .align 2 -g: - .int32 0 - .size g, 4 - - - .section ".note.GNU-stack","",@progbits |