From fad9d02fea72c935ea5e8d7176716d5a76e77e26 Mon Sep 17 00:00:00 2001 From: Janggun Lee Date: Mon, 24 Feb 2025 17:31:17 +0900 Subject: [PATCH] Prepare for Spring 2025. --- Cargo.lock | 120 +- Cargo.toml | 14 +- bin/kecc.rs | 4 +- examples/c/lost_copy.c | 9 + examples/c/swap.c | 10 + examples/ir0/lost_copy.ir | 33 + examples/ir0/struct.ir | 2 +- examples/ir0/struct2.ir | 2 +- examples/ir0/swap.ir | 38 + examples/ir1/lost_copy.ir | 27 + examples/ir1/struct3.ir | 2 +- examples/ir1/swap.ir | 32 + examples/ir2/array2.ir | 5 +- examples/ir2/complete_cond.ir | 4200 +++++++++++++++++--------- examples/ir2/cond_and_loop.ir | 14 +- examples/ir2/fib3.ir | 5 +- examples/ir2/fib4.ir | 5 +- examples/ir2/fib5.ir | 5 +- examples/ir2/foo2.ir | 6 +- examples/ir2/lost_copy.ir | 29 + examples/ir2/struct.ir | 7 +- examples/ir2/swap.ir | 35 + examples/ir2/temp2.ir | 10 +- examples/ir2/while_continue_break.ir | 5 +- examples/ir3/lost_copy.ir | 19 + examples/ir3/struct.ir | 2 +- examples/ir3/struct3.ir | 2 +- examples/ir3/swap.ir | 21 + examples/ir4/lost_copy.ir | 19 + examples/ir4/struct2.ir | 2 +- examples/ir4/swap.ir | 21 + examples/mem2reg/mem2reg.output.ir | 17 +- examples/opt/lost_copy.ir | 19 + examples/opt/struct.ir | 2 +- examples/opt/struct2.ir | 2 +- examples/opt/swap.ir | 21 + rust-toolchain.toml | 2 +- src/asmgen/mod.rs | 5 +- src/c/ast_equiv.rs | 2 +- src/c/mod.rs | 2 +- src/c/parse.rs | 8 +- src/ir/dtype.rs | 34 +- src/ir/interp.rs | 99 +- src/ir/mod.rs | 9 +- src/ir/parse.rs | 32 +- src/ir/visualize.rs | 2 +- src/ir/write_ir.rs | 4 +- src/irgen/mod.rs | 11 +- src/lib.rs | 23 +- src/opt/mod.rs | 14 +- src/tests.rs | 87 +- src/utils.rs | 13 +- src/write_base.rs | 8 +- 53 files changed, 3442 insertions(+), 1679 deletions(-) create mode 100644 examples/c/lost_copy.c create mode 100644 examples/c/swap.c create mode 100644 examples/ir0/lost_copy.ir create mode 100644 examples/ir0/swap.ir create mode 100644 examples/ir1/lost_copy.ir create mode 100644 examples/ir1/swap.ir create mode 100644 examples/ir2/lost_copy.ir create mode 100644 examples/ir2/swap.ir create mode 100644 examples/ir3/lost_copy.ir create mode 100644 examples/ir3/swap.ir create mode 100644 examples/ir4/lost_copy.ir create mode 100644 examples/ir4/swap.ir create mode 100644 examples/opt/lost_copy.ir create mode 100644 examples/opt/swap.ir diff --git a/Cargo.lock b/Cargo.lock index 7a07443..e37361e 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -59,9 +59,9 @@ checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" [[package]] name = "bitflags" -version = "2.6.0" +version = "2.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de" +checksum = "8f68f53c83ab957f72c32642f3868eec03eb974d1fb82e453128456482613d36" [[package]] name = "byteorder" @@ -77,9 +77,9 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] name = "clap" -version = "4.5.23" +version = "4.5.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3135e7ec2ef7b10c6ed8950f0f792ed96ee093fa088608f1c76e569722700c84" +checksum = "92b7b18d71fad5313a1e320fa9897994228ce274b60faa4d694fe0ea89cd9e6d" dependencies = [ "clap_builder", "clap_derive", @@ -87,9 +87,9 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.5.23" +version = "4.5.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30582fc632330df2bd26877bde0c1f4470d57c582bbc070376afcd04d8cb4838" +checksum = "a35db2071778a7344791a4fb4f95308b5673d219dee3ae348b86642574ecc90c" dependencies = [ "anstream", "anstyle", @@ -99,9 +99,9 @@ dependencies = [ [[package]] name = "clap_derive" -version = "4.5.18" +version = "4.5.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ac6a0c7b1a9e9a5186361f67dfa1b88213572f427fb9ab038efb2bd8c582dab" +checksum = "bf4ced95c6f4a675af3da73304b9ac4ed991640c36374e4b46795c49e17cf1ed" dependencies = [ "heck", "proc-macro2", @@ -145,13 +145,14 @@ checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" [[package]] name = "getrandom" -version = "0.2.15" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" +checksum = "43a49c392881ce6d5c3b8cb70f98717b7c07aabbdff06687b9030dbfbe2725f8" dependencies = [ "cfg-if", "libc", "wasi", + "windows-targets", ] [[package]] @@ -211,9 +212,9 @@ checksum = "b5aba8db14291edd000dfcc4d620c7ebfb122c613afb886ca8803fa4e128a20a" [[package]] name = "linux-raw-sys" -version = "0.4.14" +version = "0.4.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89" +checksum = "d26c52dbd32dccf2d10cac7725f8eae5296885fb5703b261f7d0a0739ec807ab" [[package]] name = "num-traits" @@ -226,15 +227,15 @@ dependencies = [ [[package]] name = "once_cell" -version = "1.20.2" +version = "1.20.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1261fe7e33c73b354eab43b1273a57c8f967d0391e80353e51f764ac02cf6775" +checksum = "945462a4b81e43c4e3ba96bd7b49d834c6f61198356aa858733bc4acf3cbe62e" [[package]] name = "ordered-float" -version = "4.6.0" +version = "5.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7bb71e1b3fa6ca1c61f383464aaf2bb0e2f8e772a1f01d486832464de363b951" +checksum = "e2c1f9f56e534ac6a9b8a4600bdf0f530fb393b5f393e7b4d03489c3cf0c3f01" dependencies = [ "num-traits", ] @@ -272,14 +273,14 @@ version = "0.2.20" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "77957b295656769bb8ad2b6a6b09d897d94f05c41b069aede1fcdaa675eaea04" dependencies = [ - "zerocopy", + "zerocopy 0.7.35", ] [[package]] name = "proc-macro2" -version = "1.0.92" +version = "1.0.93" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37d3544b3f2748c54e147655edb5025752e2303145b5aefb3c3ea2c78b973bb0" +checksum = "60946a68e5f9d28b0dc1c21bb8a97ee7d018a8b322fa57838ba31cc878e22d99" dependencies = [ "unicode-ident", ] @@ -295,20 +296,20 @@ dependencies = [ [[package]] name = "rand" -version = "0.8.5" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" +checksum = "3779b94aeb87e8bd4e834cee3650289ee9e0d5677f976ecdb6d219e5f4f6cd94" dependencies = [ - "libc", "rand_chacha", "rand_core", + "zerocopy 0.8.18", ] [[package]] name = "rand_chacha" -version = "0.3.1" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" +checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb" dependencies = [ "ppv-lite86", "rand_core", @@ -316,18 +317,19 @@ dependencies = [ [[package]] name = "rand_core" -version = "0.6.4" +version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" +checksum = "a88e0da7a2c97baa202165137c158d0a2e824ac465d13d81046727b34cb247d3" dependencies = [ "getrandom", + "zerocopy 0.8.18", ] [[package]] name = "rustix" -version = "0.38.42" +version = "0.38.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f93dc38ecbab2eb790ff964bb77fa94faf256fd3e73285fd7ba0903b76bedb85" +checksum = "fdb5bc1ae2baa591800df16c9ca78619bf65c0488b41b96ccec5d11220d8c154" dependencies = [ "bitflags", "errno", @@ -344,9 +346,9 @@ checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" [[package]] name = "syn" -version = "2.0.95" +version = "2.0.98" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46f71c0377baf4ef1cc3e3402ded576dccc315800fbc62dfc7fe04b009773b4a" +checksum = "36147f1a48ae0ec2b5b3bc5b537d267457555a10dc06f3dbc8cb11ba3006d3b1" dependencies = [ "proc-macro2", "quote", @@ -355,9 +357,9 @@ dependencies = [ [[package]] name = "tempfile" -version = "3.15.0" +version = "3.17.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a8a559c81686f576e8cd0290cd2a24a2a9ad80c98b3478856500fcbd7acd704" +checksum = "22e5a0acb1f3f55f65cc4a866c361b2fb2a0ff6366785ae6fbb5f85df07ba230" dependencies = [ "cfg-if", "fastrand", @@ -369,18 +371,18 @@ dependencies = [ [[package]] name = "thiserror" -version = "2.0.9" +version = "2.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f072643fd0190df67a8bab670c20ef5d8737177d6ac6b2e9a236cb096206b2cc" +checksum = "d452f284b73e6d76dd36758a0c8684b1d5be31f92b89d07fd5822175732206fc" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "2.0.9" +version = "2.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b50fa271071aae2e6ee85f842e2e28ba8cd2c5fb67f11fcb1fd70b276f9e7d4" +checksum = "26afc1baea8a989337eeb52b6e72a039780ce45c3edfcc9c5b9d112feeb173c2" dependencies = [ "proc-macro2", "quote", @@ -389,9 +391,9 @@ dependencies = [ [[package]] name = "unicode-ident" -version = "1.0.14" +version = "1.0.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "adb9e6ca4f869e1180728b7950e35922a7fc6397f7b641499e8f3ef06e50dc83" +checksum = "a210d160f08b701c8721ba1c726c11662f877ea6b7094007e1ca9a1041945034" [[package]] name = "utf8parse" @@ -401,18 +403,21 @@ checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" [[package]] name = "wait-timeout" -version = "0.2.0" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f200f5b12eb75f8c1ed65abd4b2db8a6e1b138a20de009dacee265a2498f3f6" +checksum = "09ac3b126d3914f9849036f826e054cbabdc8519970b8998ddaf3b5bd3c65f11" dependencies = [ "libc", ] [[package]] name = "wasi" -version = "0.11.0+wasi-snapshot-preview1" +version = "0.13.3+wasi-0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" +checksum = "26816d2e1a4a36a2940b96c5296ce403917633dff8f3440e9b236ed6f6bacad2" +dependencies = [ + "wit-bindgen-rt", +] [[package]] name = "windows-sys" @@ -487,6 +492,15 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" +[[package]] +name = "wit-bindgen-rt" +version = "0.33.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3268f3d866458b787f390cf61f4bbb563b922d091359f9608842999eaee3943c" +dependencies = [ + "bitflags", +] + [[package]] name = "zerocopy" version = "0.7.35" @@ -494,7 +508,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0" dependencies = [ "byteorder", - "zerocopy-derive", + "zerocopy-derive 0.7.35", +] + +[[package]] +name = "zerocopy" +version = "0.8.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "79386d31a42a4996e3336b0919ddb90f81112af416270cff95b5f5af22b839c2" +dependencies = [ + "zerocopy-derive 0.8.18", ] [[package]] @@ -507,3 +530,14 @@ dependencies = [ "quote", "syn", ] + +[[package]] +name = "zerocopy-derive" +version = "0.8.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76331675d372f91bf8d17e13afbd5fe639200b73d01f0fc748bb059f9cca2db7" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] diff --git a/Cargo.toml b/Cargo.toml index 3b9cf89..7e64495 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -5,7 +5,7 @@ authors = [ "Chunmyong Park ", "Jeehoon Kang ", ] -edition = "2021" +edition = "2024" default-run = "kecc" description = "KAIST Educational C Compiler" @@ -32,13 +32,13 @@ required-features = ["build-bin"] build-bin = ["clap"] [dependencies] -clap = { version = "4.5.23", features = ["derive"], optional = true } -thiserror = "2.0.9" +clap = { version = "4.5.30", features = ["derive"], optional = true } +thiserror = "2.0.11" lang-c = "0.15.1" itertools = "0.14.0" -tempfile = "3.14.0" -ordered-float = "4.6.0" +tempfile = "3.17.1" +ordered-float = "5.0.0" hexf-parse = "0.2.1" -wait-timeout = "0.2.0" +wait-timeout = "0.2.1" peg = "0.8.4" -rand = "0.8.5" +rand = "0.9.0" diff --git a/bin/kecc.rs b/bin/kecc.rs index e534ca9..6dd513e 100644 --- a/bin/kecc.rs +++ b/bin/kecc.rs @@ -6,8 +6,8 @@ use std::process::{Command, Stdio}; use clap::Parser; use kecc::{ - ir, ok_or_exit, write, Asmgen, Deadcode, Gvn, IrParse, IrVisualizer, Irgen, Mem2reg, Optimize, - Parse, SimplifyCfg, Translate, O1, + Asmgen, Deadcode, Gvn, IrParse, IrVisualizer, Irgen, Mem2reg, O1, Optimize, Parse, SimplifyCfg, + Translate, ir, ok_or_exit, write, }; use lang_c::ast::TranslationUnit; use tempfile::tempdir; diff --git a/examples/c/lost_copy.c b/examples/c/lost_copy.c new file mode 100644 index 0000000..dcabfe9 --- /dev/null +++ b/examples/c/lost_copy.c @@ -0,0 +1,9 @@ +int main() { + int i = 0; + int result = 0; + do { + result = i; + i++; + } while (i < 4); + return result; +} diff --git a/examples/c/swap.c b/examples/c/swap.c new file mode 100644 index 0000000..e0de075 --- /dev/null +++ b/examples/c/swap.c @@ -0,0 +1,10 @@ +int main() { + int a = 1; + int b = 2; + do { + int t = a; + a = b; + b = t; + } while (b == 1); + return a * 10 + b; +} diff --git a/examples/ir0/lost_copy.ir b/examples/ir0/lost_copy.ir new file mode 100644 index 0000000..50e92e4 --- /dev/null +++ b/examples/ir0/lost_copy.ir @@ -0,0 +1,33 @@ + +fun i32 @main () { +init: + bid: b0 + allocations: + %l0:i32:i + %l1:i32:result + +block b0: + %b0:i0:unit = store 0:i32 %l0:i32* + %b0:i1:unit = store 0:i32 %l1:i32* + j b1() + +block b1: + %b1:i0:i32 = load %l0:i32* + %b1:i1:unit = store %b1:i0:i32 %l1:i32* + %b1:i2:i32 = load %l0:i32* + %b1:i3:i32 = add %b1:i2:i32 1:i32 + %b1:i4:unit = store %b1:i3:i32 %l0:i32* + j b2() + +block b2: + %b2:i0:i32 = load %l0:i32* + %b2:i1:u1 = cmp lt %b2:i0:i32 4:i32 + br %b2:i1:u1, b1(), b3() + +block b3: + %b3:i0:i32 = load %l1:i32* + ret %b3:i0:i32 + +block b4: + ret 0:i32 +} diff --git a/examples/ir0/struct.ir b/examples/ir0/struct.ir index 3861106..0aa9a80 100644 --- a/examples/ir0/struct.ir +++ b/examples/ir0/struct.ir @@ -1,5 +1,5 @@ -struct %t1 : { a:i8, %anon:struct %t0, c:f64 } struct %t0 : { b:[4 x [5 x i32]] } +struct %t1 : { a:i8, %anon:struct %t0, c:f64 } fun unit @init (i32, i32, [5 x i32]*) { init: diff --git a/examples/ir0/struct2.ir b/examples/ir0/struct2.ir index 253bff0..a3f3ca2 100644 --- a/examples/ir0/struct2.ir +++ b/examples/ir0/struct2.ir @@ -1,5 +1,5 @@ -struct %t1 : { a:i8, %anon:struct %t0, c:i64 } struct %t0 : { b:[4 x i32] } +struct %t1 : { a:i8, %anon:struct %t0, c:i64 } fun i32 @main () { init: diff --git a/examples/ir0/swap.ir b/examples/ir0/swap.ir new file mode 100644 index 0000000..4880fd5 --- /dev/null +++ b/examples/ir0/swap.ir @@ -0,0 +1,38 @@ + +fun i32 @main () { +init: + bid: b0 + allocations: + %l0:i32:a + %l1:i32:b + %l2:i32:t + +block b0: + %b0:i0:unit = store 1:i32 %l0:i32* + %b0:i1:unit = store 2:i32 %l1:i32* + j b1() + +block b1: + %b1:i0:i32 = load %l0:i32* + %b1:i1:unit = store %b1:i0:i32 %l2:i32* + %b1:i2:i32 = load %l1:i32* + %b1:i3:unit = store %b1:i2:i32 %l0:i32* + %b1:i4:i32 = load %l2:i32* + %b1:i5:unit = store %b1:i4:i32 %l1:i32* + j b2() + +block b2: + %b2:i0:i32 = load %l1:i32* + %b2:i1:u1 = cmp eq %b2:i0:i32 1:i32 + br %b2:i1:u1, b1(), b3() + +block b3: + %b3:i0:i32 = load %l0:i32* + %b3:i1:i32 = mul %b3:i0:i32 10:i32 + %b3:i2:i32 = load %l1:i32* + %b3:i3:i32 = add %b3:i1:i32 %b3:i2:i32 + ret %b3:i3:i32 + +block b4: + ret 0:i32 +} diff --git a/examples/ir1/lost_copy.ir b/examples/ir1/lost_copy.ir new file mode 100644 index 0000000..ca33406 --- /dev/null +++ b/examples/ir1/lost_copy.ir @@ -0,0 +1,27 @@ + +fun i32 @main () { +init: + bid: b0 + allocations: + %l0:i32:i + %l1:i32:result + +block b0: + %b0:i0:unit = store 0:i32 %l0:i32* + %b0:i1:unit = store 0:i32 %l1:i32* + j b1() + +block b1: + %b1:i0:i32 = load %l0:i32* + %b1:i1:unit = store %b1:i0:i32 %l1:i32* + %b1:i2:i32 = load %l0:i32* + %b1:i3:i32 = add %b1:i2:i32 1:i32 + %b1:i4:unit = store %b1:i3:i32 %l0:i32* + %b1:i5:i32 = load %l0:i32* + %b1:i6:u1 = cmp lt %b1:i5:i32 4:i32 + br %b1:i6:u1, b1(), b3() + +block b3: + %b3:i0:i32 = load %l1:i32* + ret %b3:i0:i32 +} diff --git a/examples/ir1/struct3.ir b/examples/ir1/struct3.ir index 76bac9d..81702b5 100644 --- a/examples/ir1/struct3.ir +++ b/examples/ir1/struct3.ir @@ -1,5 +1,5 @@ -struct Sub : { m1:i64, m2:i64, m3:i64, m4:i64 } struct Big : { m1:struct Sub, m2:struct Sub, m3:struct Sub } +struct Sub : { m1:i64, m2:i64, m3:i64, m4:i64 } fun struct Big @foo (struct Big) { init: diff --git a/examples/ir1/swap.ir b/examples/ir1/swap.ir new file mode 100644 index 0000000..05e0d36 --- /dev/null +++ b/examples/ir1/swap.ir @@ -0,0 +1,32 @@ + +fun i32 @main () { +init: + bid: b0 + allocations: + %l0:i32:a + %l1:i32:b + %l2:i32:t + +block b0: + %b0:i0:unit = store 1:i32 %l0:i32* + %b0:i1:unit = store 2:i32 %l1:i32* + j b1() + +block b1: + %b1:i0:i32 = load %l0:i32* + %b1:i1:unit = store %b1:i0:i32 %l2:i32* + %b1:i2:i32 = load %l1:i32* + %b1:i3:unit = store %b1:i2:i32 %l0:i32* + %b1:i4:i32 = load %l2:i32* + %b1:i5:unit = store %b1:i4:i32 %l1:i32* + %b1:i6:i32 = load %l1:i32* + %b1:i7:u1 = cmp eq %b1:i6:i32 1:i32 + br %b1:i7:u1, b1(), b3() + +block b3: + %b3:i0:i32 = load %l0:i32* + %b3:i1:i32 = mul %b3:i0:i32 10:i32 + %b3:i2:i32 = load %l1:i32* + %b3:i3:i32 = add %b3:i1:i32 %b3:i2:i32 + ret %b3:i3:i32 +} diff --git a/examples/ir2/array2.ir b/examples/ir2/array2.ir index c86d49a..862400c 100644 --- a/examples/ir2/array2.ir +++ b/examples/ir2/array2.ir @@ -17,10 +17,11 @@ block b0: %b0:i1:unit = nop %b0:i2:unit = nop %b0:i3:unit = nop - j b2(0:i32) + j b2(0:i32, undef:i32) block b2: %b2:p0:i32:i + %b2:p1:i32:j %b2:i0:unit = nop %b2:i1:unit = nop %b2:i2:u1 = cmp lt %b2:p0:i32 %b0:p0:i32 @@ -64,7 +65,7 @@ block b10: %b10:i0:unit = nop %b10:i1:i32 = add %b2:p0:i32 1:i32 %b10:i2:unit = nop - j b2(%b10:i1:i32) + j b2(%b10:i1:i32, %b7:p0:i32) } fun i32 @main () { diff --git a/examples/ir2/complete_cond.ir b/examples/ir2/complete_cond.ir index 493bb8a..5fdb261 100644 --- a/examples/ir2/complete_cond.ir +++ b/examples/ir2/complete_cond.ir @@ -87,9 +87,17 @@ block b2: br %b2:i1:u1, b31(), b32() block b3: - %b3:p0:i32:t12 + %b3:p0:i32:t4 + %b3:p1:i32:t5 + %b3:p2:i32:t6 + %b3:p3:i32:t7 + %b3:p4:i32:t8 + %b3:p5:i32:t9 + %b3:p6:i32:t10 + %b3:p7:i32:t11 + %b3:p8:i32:t12 %b3:i0:unit = nop - %b3:i1:u1 = cmp eq %b3:p0:i32 0:i32 + %b3:i1:u1 = cmp eq %b3:p8:i32 0:i32 %b3:i2:i32 = typecast %b3:i1:u1 to i32 ret %b3:i2:i32 @@ -104,9 +112,11 @@ block b5: br %b5:i1:u1, b13(), b14() block b6: - %b6:p0:i32:t3 + %b6:p0:i32:t1 + %b6:p1:i32:t2 + %b6:p2:i32:t3 %b6:i0:unit = nop - %b6:i1:u1 = cmp ne %b6:p0:i32 0:i32 + %b6:i1:u1 = cmp ne %b6:p2:i32 0:i32 br %b6:i1:u1, b1(), b2() block b7: @@ -139,7 +149,7 @@ block b12: %b12:p0:i32:t1 %b12:i0:unit = nop %b12:i1:unit = nop - j b6(%b12:p0:i32) + j b6(%b12:p0:i32, undef:i32, %b12:p0:i32) block b13: %b13:i0:unit = nop @@ -155,7 +165,7 @@ block b15: %b15:p0:i32:t2 %b15:i0:unit = nop %b15:i1:unit = nop - j b6(%b15:p0:i32) + j b6(undef:i32, %b15:p0:i32, %b15:p0:i32) block b16: %b16:i0:unit = nop @@ -168,10 +178,12 @@ block b17: br %b17:i1:u1, b25(), b26() block b18: - %b18:p0:i32:t7 + %b18:p0:i32:t5 + %b18:p1:i32:t6 + %b18:p2:i32:t7 %b18:i0:unit = nop %b18:i1:unit = nop - j b3(%b18:p0:i32) + j b3(%b21:p0:i32, %b18:p0:i32, %b18:p1:i32, %b18:p2:i32, undef:i32, undef:i32, undef:i32, undef:i32, %b18:p2:i32) block b19: %b19:i0:unit = nop @@ -203,7 +215,7 @@ block b24: %b24:p0:i32:t5 %b24:i0:unit = nop %b24:i1:unit = nop - j b18(%b24:p0:i32) + j b18(%b24:p0:i32, undef:i32, %b24:p0:i32) block b25: %b25:i0:unit = nop @@ -219,7 +231,7 @@ block b27: %b27:p0:i32:t6 %b27:i0:unit = nop %b27:i1:unit = nop - j b18(%b27:p0:i32) + j b18(undef:i32, %b27:p0:i32, %b27:p0:i32) block b28: %b28:i0:unit = nop @@ -232,10 +244,12 @@ block b29: br %b29:i1:u1, b37(), b38() block b30: - %b30:p0:i32:t11 + %b30:p0:i32:t9 + %b30:p1:i32:t10 + %b30:p2:i32:t11 %b30:i0:unit = nop %b30:i1:unit = nop - j b3(%b30:p0:i32) + j b3(undef:i32, undef:i32, undef:i32, undef:i32, %b33:p0:i32, %b30:p0:i32, %b30:p1:i32, %b30:p2:i32, %b30:p2:i32) block b31: %b31:i0:unit = nop @@ -267,7 +281,7 @@ block b36: %b36:p0:i32:t9 %b36:i0:unit = nop %b36:i1:unit = nop - j b30(%b36:p0:i32) + j b30(%b36:p0:i32, undef:i32, %b36:p0:i32) block b37: %b37:i0:unit = nop @@ -283,7 +297,7 @@ block b39: %b39:p0:i32:t10 %b39:i0:unit = nop %b39:i1:unit = nop - j b30(%b39:p0:i32) + j b30(undef:i32, %b39:p0:i32, %b39:p0:i32) } fun i32 @func_1 () { @@ -374,9 +388,17 @@ block b2: br %b2:i1:u1, b31(), b32() block b3: - %b3:p0:i32:t12 + %b3:p0:i32:t4 + %b3:p1:i32:t5 + %b3:p2:i32:t6 + %b3:p3:i32:t7 + %b3:p4:i32:t8 + %b3:p5:i32:t9 + %b3:p6:i32:t10 + %b3:p7:i32:t11 + %b3:p8:i32:t12 %b3:i0:unit = nop - %b3:i1:u1 = cmp eq %b3:p0:i32 0:i32 + %b3:i1:u1 = cmp eq %b3:p8:i32 0:i32 %b3:i2:i32 = typecast %b3:i1:u1 to i32 ret %b3:i2:i32 @@ -391,9 +413,11 @@ block b5: br %b5:i1:u1, b13(), b14() block b6: - %b6:p0:i32:t3 + %b6:p0:i32:t1 + %b6:p1:i32:t2 + %b6:p2:i32:t3 %b6:i0:unit = nop - %b6:i1:u1 = cmp ne %b6:p0:i32 0:i32 + %b6:i1:u1 = cmp ne %b6:p2:i32 0:i32 br %b6:i1:u1, b1(), b2() block b7: @@ -426,7 +450,7 @@ block b12: %b12:p0:i32:t1 %b12:i0:unit = nop %b12:i1:unit = nop - j b6(%b12:p0:i32) + j b6(%b12:p0:i32, undef:i32, %b12:p0:i32) block b13: %b13:i0:unit = nop @@ -442,7 +466,7 @@ block b15: %b15:p0:i32:t2 %b15:i0:unit = nop %b15:i1:unit = nop - j b6(%b15:p0:i32) + j b6(undef:i32, %b15:p0:i32, %b15:p0:i32) block b16: %b16:i0:unit = nop @@ -455,10 +479,12 @@ block b17: br %b17:i1:u1, b25(), b26() block b18: - %b18:p0:i32:t7 + %b18:p0:i32:t5 + %b18:p1:i32:t6 + %b18:p2:i32:t7 %b18:i0:unit = nop %b18:i1:unit = nop - j b3(%b18:p0:i32) + j b3(%b21:p0:i32, %b18:p0:i32, %b18:p1:i32, %b18:p2:i32, undef:i32, undef:i32, undef:i32, undef:i32, %b18:p2:i32) block b19: %b19:i0:unit = nop @@ -490,7 +516,7 @@ block b24: %b24:p0:i32:t5 %b24:i0:unit = nop %b24:i1:unit = nop - j b18(%b24:p0:i32) + j b18(%b24:p0:i32, undef:i32, %b24:p0:i32) block b25: %b25:i0:unit = nop @@ -506,7 +532,7 @@ block b27: %b27:p0:i32:t6 %b27:i0:unit = nop %b27:i1:unit = nop - j b18(%b27:p0:i32) + j b18(undef:i32, %b27:p0:i32, %b27:p0:i32) block b28: %b28:i0:unit = nop @@ -519,10 +545,12 @@ block b29: br %b29:i1:u1, b37(), b38() block b30: - %b30:p0:i32:t11 + %b30:p0:i32:t9 + %b30:p1:i32:t10 + %b30:p2:i32:t11 %b30:i0:unit = nop %b30:i1:unit = nop - j b3(%b30:p0:i32) + j b3(undef:i32, undef:i32, undef:i32, undef:i32, %b33:p0:i32, %b30:p0:i32, %b30:p1:i32, %b30:p2:i32, %b30:p2:i32) block b31: %b31:i0:unit = nop @@ -554,7 +582,7 @@ block b36: %b36:p0:i32:t9 %b36:i0:unit = nop %b36:i1:unit = nop - j b30(%b36:p0:i32) + j b30(%b36:p0:i32, undef:i32, %b36:p0:i32) block b37: %b37:i0:unit = nop @@ -570,7 +598,7 @@ block b39: %b39:p0:i32:t10 %b39:i0:unit = nop %b39:i1:unit = nop - j b30(%b39:p0:i32) + j b30(undef:i32, %b39:p0:i32, %b39:p0:i32) } fun i32 @func_10 () { @@ -661,9 +689,17 @@ block b2: br %b2:i1:u1, b31(), b32() block b3: - %b3:p0:i32:t12 + %b3:p0:i32:t4 + %b3:p1:i32:t5 + %b3:p2:i32:t6 + %b3:p3:i32:t7 + %b3:p4:i32:t8 + %b3:p5:i32:t9 + %b3:p6:i32:t10 + %b3:p7:i32:t11 + %b3:p8:i32:t12 %b3:i0:unit = nop - %b3:i1:u1 = cmp eq %b3:p0:i32 0:i32 + %b3:i1:u1 = cmp eq %b3:p8:i32 0:i32 %b3:i2:i32 = typecast %b3:i1:u1 to i32 ret %b3:i2:i32 @@ -678,9 +714,11 @@ block b5: br %b5:i1:u1, b13(), b14() block b6: - %b6:p0:i32:t3 + %b6:p0:i32:t1 + %b6:p1:i32:t2 + %b6:p2:i32:t3 %b6:i0:unit = nop - %b6:i1:u1 = cmp ne %b6:p0:i32 0:i32 + %b6:i1:u1 = cmp ne %b6:p2:i32 0:i32 br %b6:i1:u1, b1(), b2() block b7: @@ -713,7 +751,7 @@ block b12: %b12:p0:i32:t1 %b12:i0:unit = nop %b12:i1:unit = nop - j b6(%b12:p0:i32) + j b6(%b12:p0:i32, undef:i32, %b12:p0:i32) block b13: %b13:i0:unit = nop @@ -729,7 +767,7 @@ block b15: %b15:p0:i32:t2 %b15:i0:unit = nop %b15:i1:unit = nop - j b6(%b15:p0:i32) + j b6(undef:i32, %b15:p0:i32, %b15:p0:i32) block b16: %b16:i0:unit = nop @@ -742,10 +780,12 @@ block b17: br %b17:i1:u1, b25(), b26() block b18: - %b18:p0:i32:t7 + %b18:p0:i32:t5 + %b18:p1:i32:t6 + %b18:p2:i32:t7 %b18:i0:unit = nop %b18:i1:unit = nop - j b3(%b18:p0:i32) + j b3(%b21:p0:i32, %b18:p0:i32, %b18:p1:i32, %b18:p2:i32, undef:i32, undef:i32, undef:i32, undef:i32, %b18:p2:i32) block b19: %b19:i0:unit = nop @@ -777,7 +817,7 @@ block b24: %b24:p0:i32:t5 %b24:i0:unit = nop %b24:i1:unit = nop - j b18(%b24:p0:i32) + j b18(%b24:p0:i32, undef:i32, %b24:p0:i32) block b25: %b25:i0:unit = nop @@ -793,7 +833,7 @@ block b27: %b27:p0:i32:t6 %b27:i0:unit = nop %b27:i1:unit = nop - j b18(%b27:p0:i32) + j b18(undef:i32, %b27:p0:i32, %b27:p0:i32) block b28: %b28:i0:unit = nop @@ -806,10 +846,12 @@ block b29: br %b29:i1:u1, b37(), b38() block b30: - %b30:p0:i32:t11 + %b30:p0:i32:t9 + %b30:p1:i32:t10 + %b30:p2:i32:t11 %b30:i0:unit = nop %b30:i1:unit = nop - j b3(%b30:p0:i32) + j b3(undef:i32, undef:i32, undef:i32, undef:i32, %b33:p0:i32, %b30:p0:i32, %b30:p1:i32, %b30:p2:i32, %b30:p2:i32) block b31: %b31:i0:unit = nop @@ -841,7 +883,7 @@ block b36: %b36:p0:i32:t9 %b36:i0:unit = nop %b36:i1:unit = nop - j b30(%b36:p0:i32) + j b30(%b36:p0:i32, undef:i32, %b36:p0:i32) block b37: %b37:i0:unit = nop @@ -857,7 +899,7 @@ block b39: %b39:p0:i32:t10 %b39:i0:unit = nop %b39:i1:unit = nop - j b30(%b39:p0:i32) + j b30(undef:i32, %b39:p0:i32, %b39:p0:i32) } fun i32 @func_11 () { @@ -948,9 +990,17 @@ block b2: br %b2:i1:u1, b31(), b32() block b3: - %b3:p0:i32:t12 + %b3:p0:i32:t4 + %b3:p1:i32:t5 + %b3:p2:i32:t6 + %b3:p3:i32:t7 + %b3:p4:i32:t8 + %b3:p5:i32:t9 + %b3:p6:i32:t10 + %b3:p7:i32:t11 + %b3:p8:i32:t12 %b3:i0:unit = nop - %b3:i1:u1 = cmp eq %b3:p0:i32 0:i32 + %b3:i1:u1 = cmp eq %b3:p8:i32 0:i32 %b3:i2:i32 = typecast %b3:i1:u1 to i32 ret %b3:i2:i32 @@ -965,9 +1015,11 @@ block b5: br %b5:i1:u1, b13(), b14() block b6: - %b6:p0:i32:t3 + %b6:p0:i32:t1 + %b6:p1:i32:t2 + %b6:p2:i32:t3 %b6:i0:unit = nop - %b6:i1:u1 = cmp ne %b6:p0:i32 0:i32 + %b6:i1:u1 = cmp ne %b6:p2:i32 0:i32 br %b6:i1:u1, b1(), b2() block b7: @@ -1000,7 +1052,7 @@ block b12: %b12:p0:i32:t1 %b12:i0:unit = nop %b12:i1:unit = nop - j b6(%b12:p0:i32) + j b6(%b12:p0:i32, undef:i32, %b12:p0:i32) block b13: %b13:i0:unit = nop @@ -1016,7 +1068,7 @@ block b15: %b15:p0:i32:t2 %b15:i0:unit = nop %b15:i1:unit = nop - j b6(%b15:p0:i32) + j b6(undef:i32, %b15:p0:i32, %b15:p0:i32) block b16: %b16:i0:unit = nop @@ -1029,10 +1081,12 @@ block b17: br %b17:i1:u1, b25(), b26() block b18: - %b18:p0:i32:t7 + %b18:p0:i32:t5 + %b18:p1:i32:t6 + %b18:p2:i32:t7 %b18:i0:unit = nop %b18:i1:unit = nop - j b3(%b18:p0:i32) + j b3(%b21:p0:i32, %b18:p0:i32, %b18:p1:i32, %b18:p2:i32, undef:i32, undef:i32, undef:i32, undef:i32, %b18:p2:i32) block b19: %b19:i0:unit = nop @@ -1064,7 +1118,7 @@ block b24: %b24:p0:i32:t5 %b24:i0:unit = nop %b24:i1:unit = nop - j b18(%b24:p0:i32) + j b18(%b24:p0:i32, undef:i32, %b24:p0:i32) block b25: %b25:i0:unit = nop @@ -1080,7 +1134,7 @@ block b27: %b27:p0:i32:t6 %b27:i0:unit = nop %b27:i1:unit = nop - j b18(%b27:p0:i32) + j b18(undef:i32, %b27:p0:i32, %b27:p0:i32) block b28: %b28:i0:unit = nop @@ -1093,10 +1147,12 @@ block b29: br %b29:i1:u1, b37(), b38() block b30: - %b30:p0:i32:t11 + %b30:p0:i32:t9 + %b30:p1:i32:t10 + %b30:p2:i32:t11 %b30:i0:unit = nop %b30:i1:unit = nop - j b3(%b30:p0:i32) + j b3(undef:i32, undef:i32, undef:i32, undef:i32, %b33:p0:i32, %b30:p0:i32, %b30:p1:i32, %b30:p2:i32, %b30:p2:i32) block b31: %b31:i0:unit = nop @@ -1128,7 +1184,7 @@ block b36: %b36:p0:i32:t9 %b36:i0:unit = nop %b36:i1:unit = nop - j b30(%b36:p0:i32) + j b30(%b36:p0:i32, undef:i32, %b36:p0:i32) block b37: %b37:i0:unit = nop @@ -1144,7 +1200,7 @@ block b39: %b39:p0:i32:t10 %b39:i0:unit = nop %b39:i1:unit = nop - j b30(%b39:p0:i32) + j b30(undef:i32, %b39:p0:i32, %b39:p0:i32) } fun i32 @func_12 () { @@ -1235,9 +1291,17 @@ block b2: br %b2:i1:u1, b31(), b32() block b3: - %b3:p0:i32:t12 + %b3:p0:i32:t4 + %b3:p1:i32:t5 + %b3:p2:i32:t6 + %b3:p3:i32:t7 + %b3:p4:i32:t8 + %b3:p5:i32:t9 + %b3:p6:i32:t10 + %b3:p7:i32:t11 + %b3:p8:i32:t12 %b3:i0:unit = nop - %b3:i1:u1 = cmp eq %b3:p0:i32 0:i32 + %b3:i1:u1 = cmp eq %b3:p8:i32 0:i32 %b3:i2:i32 = typecast %b3:i1:u1 to i32 ret %b3:i2:i32 @@ -1252,9 +1316,11 @@ block b5: br %b5:i1:u1, b13(), b14() block b6: - %b6:p0:i32:t3 + %b6:p0:i32:t1 + %b6:p1:i32:t2 + %b6:p2:i32:t3 %b6:i0:unit = nop - %b6:i1:u1 = cmp ne %b6:p0:i32 0:i32 + %b6:i1:u1 = cmp ne %b6:p2:i32 0:i32 br %b6:i1:u1, b1(), b2() block b7: @@ -1287,7 +1353,7 @@ block b12: %b12:p0:i32:t1 %b12:i0:unit = nop %b12:i1:unit = nop - j b6(%b12:p0:i32) + j b6(%b12:p0:i32, undef:i32, %b12:p0:i32) block b13: %b13:i0:unit = nop @@ -1303,7 +1369,7 @@ block b15: %b15:p0:i32:t2 %b15:i0:unit = nop %b15:i1:unit = nop - j b6(%b15:p0:i32) + j b6(undef:i32, %b15:p0:i32, %b15:p0:i32) block b16: %b16:i0:unit = nop @@ -1316,10 +1382,12 @@ block b17: br %b17:i1:u1, b25(), b26() block b18: - %b18:p0:i32:t7 + %b18:p0:i32:t5 + %b18:p1:i32:t6 + %b18:p2:i32:t7 %b18:i0:unit = nop %b18:i1:unit = nop - j b3(%b18:p0:i32) + j b3(%b21:p0:i32, %b18:p0:i32, %b18:p1:i32, %b18:p2:i32, undef:i32, undef:i32, undef:i32, undef:i32, %b18:p2:i32) block b19: %b19:i0:unit = nop @@ -1351,7 +1419,7 @@ block b24: %b24:p0:i32:t5 %b24:i0:unit = nop %b24:i1:unit = nop - j b18(%b24:p0:i32) + j b18(%b24:p0:i32, undef:i32, %b24:p0:i32) block b25: %b25:i0:unit = nop @@ -1367,7 +1435,7 @@ block b27: %b27:p0:i32:t6 %b27:i0:unit = nop %b27:i1:unit = nop - j b18(%b27:p0:i32) + j b18(undef:i32, %b27:p0:i32, %b27:p0:i32) block b28: %b28:i0:unit = nop @@ -1380,10 +1448,12 @@ block b29: br %b29:i1:u1, b37(), b38() block b30: - %b30:p0:i32:t11 + %b30:p0:i32:t9 + %b30:p1:i32:t10 + %b30:p2:i32:t11 %b30:i0:unit = nop %b30:i1:unit = nop - j b3(%b30:p0:i32) + j b3(undef:i32, undef:i32, undef:i32, undef:i32, %b33:p0:i32, %b30:p0:i32, %b30:p1:i32, %b30:p2:i32, %b30:p2:i32) block b31: %b31:i0:unit = nop @@ -1415,7 +1485,7 @@ block b36: %b36:p0:i32:t9 %b36:i0:unit = nop %b36:i1:unit = nop - j b30(%b36:p0:i32) + j b30(%b36:p0:i32, undef:i32, %b36:p0:i32) block b37: %b37:i0:unit = nop @@ -1431,7 +1501,7 @@ block b39: %b39:p0:i32:t10 %b39:i0:unit = nop %b39:i1:unit = nop - j b30(%b39:p0:i32) + j b30(undef:i32, %b39:p0:i32, %b39:p0:i32) } fun i32 @func_13 () { @@ -1522,9 +1592,17 @@ block b2: br %b2:i1:u1, b31(), b32() block b3: - %b3:p0:i32:t12 + %b3:p0:i32:t4 + %b3:p1:i32:t5 + %b3:p2:i32:t6 + %b3:p3:i32:t7 + %b3:p4:i32:t8 + %b3:p5:i32:t9 + %b3:p6:i32:t10 + %b3:p7:i32:t11 + %b3:p8:i32:t12 %b3:i0:unit = nop - %b3:i1:u1 = cmp eq %b3:p0:i32 0:i32 + %b3:i1:u1 = cmp eq %b3:p8:i32 0:i32 %b3:i2:i32 = typecast %b3:i1:u1 to i32 ret %b3:i2:i32 @@ -1539,9 +1617,11 @@ block b5: br %b5:i1:u1, b13(), b14() block b6: - %b6:p0:i32:t3 + %b6:p0:i32:t1 + %b6:p1:i32:t2 + %b6:p2:i32:t3 %b6:i0:unit = nop - %b6:i1:u1 = cmp ne %b6:p0:i32 0:i32 + %b6:i1:u1 = cmp ne %b6:p2:i32 0:i32 br %b6:i1:u1, b1(), b2() block b7: @@ -1574,7 +1654,7 @@ block b12: %b12:p0:i32:t1 %b12:i0:unit = nop %b12:i1:unit = nop - j b6(%b12:p0:i32) + j b6(%b12:p0:i32, undef:i32, %b12:p0:i32) block b13: %b13:i0:unit = nop @@ -1590,7 +1670,7 @@ block b15: %b15:p0:i32:t2 %b15:i0:unit = nop %b15:i1:unit = nop - j b6(%b15:p0:i32) + j b6(undef:i32, %b15:p0:i32, %b15:p0:i32) block b16: %b16:i0:unit = nop @@ -1603,10 +1683,12 @@ block b17: br %b17:i1:u1, b25(), b26() block b18: - %b18:p0:i32:t7 + %b18:p0:i32:t5 + %b18:p1:i32:t6 + %b18:p2:i32:t7 %b18:i0:unit = nop %b18:i1:unit = nop - j b3(%b18:p0:i32) + j b3(%b21:p0:i32, %b18:p0:i32, %b18:p1:i32, %b18:p2:i32, undef:i32, undef:i32, undef:i32, undef:i32, %b18:p2:i32) block b19: %b19:i0:unit = nop @@ -1638,7 +1720,7 @@ block b24: %b24:p0:i32:t5 %b24:i0:unit = nop %b24:i1:unit = nop - j b18(%b24:p0:i32) + j b18(%b24:p0:i32, undef:i32, %b24:p0:i32) block b25: %b25:i0:unit = nop @@ -1654,7 +1736,7 @@ block b27: %b27:p0:i32:t6 %b27:i0:unit = nop %b27:i1:unit = nop - j b18(%b27:p0:i32) + j b18(undef:i32, %b27:p0:i32, %b27:p0:i32) block b28: %b28:i0:unit = nop @@ -1667,10 +1749,12 @@ block b29: br %b29:i1:u1, b37(), b38() block b30: - %b30:p0:i32:t11 + %b30:p0:i32:t9 + %b30:p1:i32:t10 + %b30:p2:i32:t11 %b30:i0:unit = nop %b30:i1:unit = nop - j b3(%b30:p0:i32) + j b3(undef:i32, undef:i32, undef:i32, undef:i32, %b33:p0:i32, %b30:p0:i32, %b30:p1:i32, %b30:p2:i32, %b30:p2:i32) block b31: %b31:i0:unit = nop @@ -1702,7 +1786,7 @@ block b36: %b36:p0:i32:t9 %b36:i0:unit = nop %b36:i1:unit = nop - j b30(%b36:p0:i32) + j b30(%b36:p0:i32, undef:i32, %b36:p0:i32) block b37: %b37:i0:unit = nop @@ -1718,7 +1802,7 @@ block b39: %b39:p0:i32:t10 %b39:i0:unit = nop %b39:i1:unit = nop - j b30(%b39:p0:i32) + j b30(undef:i32, %b39:p0:i32, %b39:p0:i32) } fun i32 @func_14 () { @@ -1809,9 +1893,17 @@ block b2: br %b2:i1:u1, b31(), b32() block b3: - %b3:p0:i32:t12 + %b3:p0:i32:t4 + %b3:p1:i32:t5 + %b3:p2:i32:t6 + %b3:p3:i32:t7 + %b3:p4:i32:t8 + %b3:p5:i32:t9 + %b3:p6:i32:t10 + %b3:p7:i32:t11 + %b3:p8:i32:t12 %b3:i0:unit = nop - %b3:i1:u1 = cmp eq %b3:p0:i32 1:i32 + %b3:i1:u1 = cmp eq %b3:p8:i32 1:i32 %b3:i2:i32 = typecast %b3:i1:u1 to i32 ret %b3:i2:i32 @@ -1826,9 +1918,11 @@ block b5: br %b5:i1:u1, b13(), b14() block b6: - %b6:p0:i32:t3 + %b6:p0:i32:t1 + %b6:p1:i32:t2 + %b6:p2:i32:t3 %b6:i0:unit = nop - %b6:i1:u1 = cmp ne %b6:p0:i32 0:i32 + %b6:i1:u1 = cmp ne %b6:p2:i32 0:i32 br %b6:i1:u1, b1(), b2() block b7: @@ -1861,7 +1955,7 @@ block b12: %b12:p0:i32:t1 %b12:i0:unit = nop %b12:i1:unit = nop - j b6(%b12:p0:i32) + j b6(%b12:p0:i32, undef:i32, %b12:p0:i32) block b13: %b13:i0:unit = nop @@ -1877,7 +1971,7 @@ block b15: %b15:p0:i32:t2 %b15:i0:unit = nop %b15:i1:unit = nop - j b6(%b15:p0:i32) + j b6(undef:i32, %b15:p0:i32, %b15:p0:i32) block b16: %b16:i0:unit = nop @@ -1890,10 +1984,12 @@ block b17: br %b17:i1:u1, b25(), b26() block b18: - %b18:p0:i32:t7 + %b18:p0:i32:t5 + %b18:p1:i32:t6 + %b18:p2:i32:t7 %b18:i0:unit = nop %b18:i1:unit = nop - j b3(%b18:p0:i32) + j b3(%b21:p0:i32, %b18:p0:i32, %b18:p1:i32, %b18:p2:i32, undef:i32, undef:i32, undef:i32, undef:i32, %b18:p2:i32) block b19: %b19:i0:unit = nop @@ -1925,7 +2021,7 @@ block b24: %b24:p0:i32:t5 %b24:i0:unit = nop %b24:i1:unit = nop - j b18(%b24:p0:i32) + j b18(%b24:p0:i32, undef:i32, %b24:p0:i32) block b25: %b25:i0:unit = nop @@ -1941,7 +2037,7 @@ block b27: %b27:p0:i32:t6 %b27:i0:unit = nop %b27:i1:unit = nop - j b18(%b27:p0:i32) + j b18(undef:i32, %b27:p0:i32, %b27:p0:i32) block b28: %b28:i0:unit = nop @@ -1954,10 +2050,12 @@ block b29: br %b29:i1:u1, b37(), b38() block b30: - %b30:p0:i32:t11 + %b30:p0:i32:t9 + %b30:p1:i32:t10 + %b30:p2:i32:t11 %b30:i0:unit = nop %b30:i1:unit = nop - j b3(%b30:p0:i32) + j b3(undef:i32, undef:i32, undef:i32, undef:i32, %b33:p0:i32, %b30:p0:i32, %b30:p1:i32, %b30:p2:i32, %b30:p2:i32) block b31: %b31:i0:unit = nop @@ -1989,7 +2087,7 @@ block b36: %b36:p0:i32:t9 %b36:i0:unit = nop %b36:i1:unit = nop - j b30(%b36:p0:i32) + j b30(%b36:p0:i32, undef:i32, %b36:p0:i32) block b37: %b37:i0:unit = nop @@ -2005,7 +2103,7 @@ block b39: %b39:p0:i32:t10 %b39:i0:unit = nop %b39:i1:unit = nop - j b30(%b39:p0:i32) + j b30(undef:i32, %b39:p0:i32, %b39:p0:i32) } fun i32 @func_15 () { @@ -2096,9 +2194,17 @@ block b2: br %b2:i1:u1, b31(), b32() block b3: - %b3:p0:i32:t12 + %b3:p0:i32:t4 + %b3:p1:i32:t5 + %b3:p2:i32:t6 + %b3:p3:i32:t7 + %b3:p4:i32:t8 + %b3:p5:i32:t9 + %b3:p6:i32:t10 + %b3:p7:i32:t11 + %b3:p8:i32:t12 %b3:i0:unit = nop - %b3:i1:u1 = cmp eq %b3:p0:i32 0:i32 + %b3:i1:u1 = cmp eq %b3:p8:i32 0:i32 %b3:i2:i32 = typecast %b3:i1:u1 to i32 ret %b3:i2:i32 @@ -2113,9 +2219,11 @@ block b5: br %b5:i1:u1, b13(), b14() block b6: - %b6:p0:i32:t3 + %b6:p0:i32:t1 + %b6:p1:i32:t2 + %b6:p2:i32:t3 %b6:i0:unit = nop - %b6:i1:u1 = cmp ne %b6:p0:i32 0:i32 + %b6:i1:u1 = cmp ne %b6:p2:i32 0:i32 br %b6:i1:u1, b1(), b2() block b7: @@ -2148,7 +2256,7 @@ block b12: %b12:p0:i32:t1 %b12:i0:unit = nop %b12:i1:unit = nop - j b6(%b12:p0:i32) + j b6(%b12:p0:i32, undef:i32, %b12:p0:i32) block b13: %b13:i0:unit = nop @@ -2164,7 +2272,7 @@ block b15: %b15:p0:i32:t2 %b15:i0:unit = nop %b15:i1:unit = nop - j b6(%b15:p0:i32) + j b6(undef:i32, %b15:p0:i32, %b15:p0:i32) block b16: %b16:i0:unit = nop @@ -2177,10 +2285,12 @@ block b17: br %b17:i1:u1, b25(), b26() block b18: - %b18:p0:i32:t7 + %b18:p0:i32:t5 + %b18:p1:i32:t6 + %b18:p2:i32:t7 %b18:i0:unit = nop %b18:i1:unit = nop - j b3(%b18:p0:i32) + j b3(%b21:p0:i32, %b18:p0:i32, %b18:p1:i32, %b18:p2:i32, undef:i32, undef:i32, undef:i32, undef:i32, %b18:p2:i32) block b19: %b19:i0:unit = nop @@ -2212,7 +2322,7 @@ block b24: %b24:p0:i32:t5 %b24:i0:unit = nop %b24:i1:unit = nop - j b18(%b24:p0:i32) + j b18(%b24:p0:i32, undef:i32, %b24:p0:i32) block b25: %b25:i0:unit = nop @@ -2228,7 +2338,7 @@ block b27: %b27:p0:i32:t6 %b27:i0:unit = nop %b27:i1:unit = nop - j b18(%b27:p0:i32) + j b18(undef:i32, %b27:p0:i32, %b27:p0:i32) block b28: %b28:i0:unit = nop @@ -2241,10 +2351,12 @@ block b29: br %b29:i1:u1, b37(), b38() block b30: - %b30:p0:i32:t11 + %b30:p0:i32:t9 + %b30:p1:i32:t10 + %b30:p2:i32:t11 %b30:i0:unit = nop %b30:i1:unit = nop - j b3(%b30:p0:i32) + j b3(undef:i32, undef:i32, undef:i32, undef:i32, %b33:p0:i32, %b30:p0:i32, %b30:p1:i32, %b30:p2:i32, %b30:p2:i32) block b31: %b31:i0:unit = nop @@ -2276,7 +2388,7 @@ block b36: %b36:p0:i32:t9 %b36:i0:unit = nop %b36:i1:unit = nop - j b30(%b36:p0:i32) + j b30(%b36:p0:i32, undef:i32, %b36:p0:i32) block b37: %b37:i0:unit = nop @@ -2292,7 +2404,7 @@ block b39: %b39:p0:i32:t10 %b39:i0:unit = nop %b39:i1:unit = nop - j b30(%b39:p0:i32) + j b30(undef:i32, %b39:p0:i32, %b39:p0:i32) } fun i32 @func_16 () { @@ -2383,9 +2495,17 @@ block b2: br %b2:i1:u1, b31(), b32() block b3: - %b3:p0:i32:t12 + %b3:p0:i32:t4 + %b3:p1:i32:t5 + %b3:p2:i32:t6 + %b3:p3:i32:t7 + %b3:p4:i32:t8 + %b3:p5:i32:t9 + %b3:p6:i32:t10 + %b3:p7:i32:t11 + %b3:p8:i32:t12 %b3:i0:unit = nop - %b3:i1:u1 = cmp eq %b3:p0:i32 0:i32 + %b3:i1:u1 = cmp eq %b3:p8:i32 0:i32 %b3:i2:i32 = typecast %b3:i1:u1 to i32 ret %b3:i2:i32 @@ -2400,9 +2520,11 @@ block b5: br %b5:i1:u1, b13(), b14() block b6: - %b6:p0:i32:t3 + %b6:p0:i32:t1 + %b6:p1:i32:t2 + %b6:p2:i32:t3 %b6:i0:unit = nop - %b6:i1:u1 = cmp ne %b6:p0:i32 0:i32 + %b6:i1:u1 = cmp ne %b6:p2:i32 0:i32 br %b6:i1:u1, b1(), b2() block b7: @@ -2435,7 +2557,7 @@ block b12: %b12:p0:i32:t1 %b12:i0:unit = nop %b12:i1:unit = nop - j b6(%b12:p0:i32) + j b6(%b12:p0:i32, undef:i32, %b12:p0:i32) block b13: %b13:i0:unit = nop @@ -2451,7 +2573,7 @@ block b15: %b15:p0:i32:t2 %b15:i0:unit = nop %b15:i1:unit = nop - j b6(%b15:p0:i32) + j b6(undef:i32, %b15:p0:i32, %b15:p0:i32) block b16: %b16:i0:unit = nop @@ -2464,10 +2586,12 @@ block b17: br %b17:i1:u1, b25(), b26() block b18: - %b18:p0:i32:t7 + %b18:p0:i32:t5 + %b18:p1:i32:t6 + %b18:p2:i32:t7 %b18:i0:unit = nop %b18:i1:unit = nop - j b3(%b18:p0:i32) + j b3(%b21:p0:i32, %b18:p0:i32, %b18:p1:i32, %b18:p2:i32, undef:i32, undef:i32, undef:i32, undef:i32, %b18:p2:i32) block b19: %b19:i0:unit = nop @@ -2499,7 +2623,7 @@ block b24: %b24:p0:i32:t5 %b24:i0:unit = nop %b24:i1:unit = nop - j b18(%b24:p0:i32) + j b18(%b24:p0:i32, undef:i32, %b24:p0:i32) block b25: %b25:i0:unit = nop @@ -2515,7 +2639,7 @@ block b27: %b27:p0:i32:t6 %b27:i0:unit = nop %b27:i1:unit = nop - j b18(%b27:p0:i32) + j b18(undef:i32, %b27:p0:i32, %b27:p0:i32) block b28: %b28:i0:unit = nop @@ -2528,10 +2652,12 @@ block b29: br %b29:i1:u1, b37(), b38() block b30: - %b30:p0:i32:t11 + %b30:p0:i32:t9 + %b30:p1:i32:t10 + %b30:p2:i32:t11 %b30:i0:unit = nop %b30:i1:unit = nop - j b3(%b30:p0:i32) + j b3(undef:i32, undef:i32, undef:i32, undef:i32, %b33:p0:i32, %b30:p0:i32, %b30:p1:i32, %b30:p2:i32, %b30:p2:i32) block b31: %b31:i0:unit = nop @@ -2563,7 +2689,7 @@ block b36: %b36:p0:i32:t9 %b36:i0:unit = nop %b36:i1:unit = nop - j b30(%b36:p0:i32) + j b30(%b36:p0:i32, undef:i32, %b36:p0:i32) block b37: %b37:i0:unit = nop @@ -2579,7 +2705,7 @@ block b39: %b39:p0:i32:t10 %b39:i0:unit = nop %b39:i1:unit = nop - j b30(%b39:p0:i32) + j b30(undef:i32, %b39:p0:i32, %b39:p0:i32) } fun i32 @func_17 () { @@ -2670,9 +2796,17 @@ block b2: br %b2:i1:u1, b31(), b32() block b3: - %b3:p0:i32:t12 + %b3:p0:i32:t4 + %b3:p1:i32:t5 + %b3:p2:i32:t6 + %b3:p3:i32:t7 + %b3:p4:i32:t8 + %b3:p5:i32:t9 + %b3:p6:i32:t10 + %b3:p7:i32:t11 + %b3:p8:i32:t12 %b3:i0:unit = nop - %b3:i1:u1 = cmp eq %b3:p0:i32 0:i32 + %b3:i1:u1 = cmp eq %b3:p8:i32 0:i32 %b3:i2:i32 = typecast %b3:i1:u1 to i32 ret %b3:i2:i32 @@ -2687,9 +2821,11 @@ block b5: br %b5:i1:u1, b13(), b14() block b6: - %b6:p0:i32:t3 + %b6:p0:i32:t1 + %b6:p1:i32:t2 + %b6:p2:i32:t3 %b6:i0:unit = nop - %b6:i1:u1 = cmp ne %b6:p0:i32 0:i32 + %b6:i1:u1 = cmp ne %b6:p2:i32 0:i32 br %b6:i1:u1, b1(), b2() block b7: @@ -2722,7 +2858,7 @@ block b12: %b12:p0:i32:t1 %b12:i0:unit = nop %b12:i1:unit = nop - j b6(%b12:p0:i32) + j b6(%b12:p0:i32, undef:i32, %b12:p0:i32) block b13: %b13:i0:unit = nop @@ -2738,7 +2874,7 @@ block b15: %b15:p0:i32:t2 %b15:i0:unit = nop %b15:i1:unit = nop - j b6(%b15:p0:i32) + j b6(undef:i32, %b15:p0:i32, %b15:p0:i32) block b16: %b16:i0:unit = nop @@ -2751,10 +2887,12 @@ block b17: br %b17:i1:u1, b25(), b26() block b18: - %b18:p0:i32:t7 + %b18:p0:i32:t5 + %b18:p1:i32:t6 + %b18:p2:i32:t7 %b18:i0:unit = nop %b18:i1:unit = nop - j b3(%b18:p0:i32) + j b3(%b21:p0:i32, %b18:p0:i32, %b18:p1:i32, %b18:p2:i32, undef:i32, undef:i32, undef:i32, undef:i32, %b18:p2:i32) block b19: %b19:i0:unit = nop @@ -2786,7 +2924,7 @@ block b24: %b24:p0:i32:t5 %b24:i0:unit = nop %b24:i1:unit = nop - j b18(%b24:p0:i32) + j b18(%b24:p0:i32, undef:i32, %b24:p0:i32) block b25: %b25:i0:unit = nop @@ -2802,7 +2940,7 @@ block b27: %b27:p0:i32:t6 %b27:i0:unit = nop %b27:i1:unit = nop - j b18(%b27:p0:i32) + j b18(undef:i32, %b27:p0:i32, %b27:p0:i32) block b28: %b28:i0:unit = nop @@ -2815,10 +2953,12 @@ block b29: br %b29:i1:u1, b37(), b38() block b30: - %b30:p0:i32:t11 + %b30:p0:i32:t9 + %b30:p1:i32:t10 + %b30:p2:i32:t11 %b30:i0:unit = nop %b30:i1:unit = nop - j b3(%b30:p0:i32) + j b3(undef:i32, undef:i32, undef:i32, undef:i32, %b33:p0:i32, %b30:p0:i32, %b30:p1:i32, %b30:p2:i32, %b30:p2:i32) block b31: %b31:i0:unit = nop @@ -2850,7 +2990,7 @@ block b36: %b36:p0:i32:t9 %b36:i0:unit = nop %b36:i1:unit = nop - j b30(%b36:p0:i32) + j b30(%b36:p0:i32, undef:i32, %b36:p0:i32) block b37: %b37:i0:unit = nop @@ -2866,7 +3006,7 @@ block b39: %b39:p0:i32:t10 %b39:i0:unit = nop %b39:i1:unit = nop - j b30(%b39:p0:i32) + j b30(undef:i32, %b39:p0:i32, %b39:p0:i32) } fun i32 @func_18 () { @@ -2957,9 +3097,17 @@ block b2: br %b2:i1:u1, b31(), b32() block b3: - %b3:p0:i32:t12 + %b3:p0:i32:t4 + %b3:p1:i32:t5 + %b3:p2:i32:t6 + %b3:p3:i32:t7 + %b3:p4:i32:t8 + %b3:p5:i32:t9 + %b3:p6:i32:t10 + %b3:p7:i32:t11 + %b3:p8:i32:t12 %b3:i0:unit = nop - %b3:i1:u1 = cmp eq %b3:p0:i32 1:i32 + %b3:i1:u1 = cmp eq %b3:p8:i32 1:i32 %b3:i2:i32 = typecast %b3:i1:u1 to i32 ret %b3:i2:i32 @@ -2974,9 +3122,11 @@ block b5: br %b5:i1:u1, b13(), b14() block b6: - %b6:p0:i32:t3 + %b6:p0:i32:t1 + %b6:p1:i32:t2 + %b6:p2:i32:t3 %b6:i0:unit = nop - %b6:i1:u1 = cmp ne %b6:p0:i32 0:i32 + %b6:i1:u1 = cmp ne %b6:p2:i32 0:i32 br %b6:i1:u1, b1(), b2() block b7: @@ -3009,7 +3159,7 @@ block b12: %b12:p0:i32:t1 %b12:i0:unit = nop %b12:i1:unit = nop - j b6(%b12:p0:i32) + j b6(%b12:p0:i32, undef:i32, %b12:p0:i32) block b13: %b13:i0:unit = nop @@ -3025,7 +3175,7 @@ block b15: %b15:p0:i32:t2 %b15:i0:unit = nop %b15:i1:unit = nop - j b6(%b15:p0:i32) + j b6(undef:i32, %b15:p0:i32, %b15:p0:i32) block b16: %b16:i0:unit = nop @@ -3038,10 +3188,12 @@ block b17: br %b17:i1:u1, b25(), b26() block b18: - %b18:p0:i32:t7 + %b18:p0:i32:t5 + %b18:p1:i32:t6 + %b18:p2:i32:t7 %b18:i0:unit = nop %b18:i1:unit = nop - j b3(%b18:p0:i32) + j b3(%b21:p0:i32, %b18:p0:i32, %b18:p1:i32, %b18:p2:i32, undef:i32, undef:i32, undef:i32, undef:i32, %b18:p2:i32) block b19: %b19:i0:unit = nop @@ -3073,7 +3225,7 @@ block b24: %b24:p0:i32:t5 %b24:i0:unit = nop %b24:i1:unit = nop - j b18(%b24:p0:i32) + j b18(%b24:p0:i32, undef:i32, %b24:p0:i32) block b25: %b25:i0:unit = nop @@ -3089,7 +3241,7 @@ block b27: %b27:p0:i32:t6 %b27:i0:unit = nop %b27:i1:unit = nop - j b18(%b27:p0:i32) + j b18(undef:i32, %b27:p0:i32, %b27:p0:i32) block b28: %b28:i0:unit = nop @@ -3102,10 +3254,12 @@ block b29: br %b29:i1:u1, b37(), b38() block b30: - %b30:p0:i32:t11 + %b30:p0:i32:t9 + %b30:p1:i32:t10 + %b30:p2:i32:t11 %b30:i0:unit = nop %b30:i1:unit = nop - j b3(%b30:p0:i32) + j b3(undef:i32, undef:i32, undef:i32, undef:i32, %b33:p0:i32, %b30:p0:i32, %b30:p1:i32, %b30:p2:i32, %b30:p2:i32) block b31: %b31:i0:unit = nop @@ -3137,7 +3291,7 @@ block b36: %b36:p0:i32:t9 %b36:i0:unit = nop %b36:i1:unit = nop - j b30(%b36:p0:i32) + j b30(%b36:p0:i32, undef:i32, %b36:p0:i32) block b37: %b37:i0:unit = nop @@ -3153,7 +3307,7 @@ block b39: %b39:p0:i32:t10 %b39:i0:unit = nop %b39:i1:unit = nop - j b30(%b39:p0:i32) + j b30(undef:i32, %b39:p0:i32, %b39:p0:i32) } fun i32 @func_19 () { @@ -3244,9 +3398,17 @@ block b2: br %b2:i1:u1, b31(), b32() block b3: - %b3:p0:i32:t12 + %b3:p0:i32:t4 + %b3:p1:i32:t5 + %b3:p2:i32:t6 + %b3:p3:i32:t7 + %b3:p4:i32:t8 + %b3:p5:i32:t9 + %b3:p6:i32:t10 + %b3:p7:i32:t11 + %b3:p8:i32:t12 %b3:i0:unit = nop - %b3:i1:u1 = cmp eq %b3:p0:i32 0:i32 + %b3:i1:u1 = cmp eq %b3:p8:i32 0:i32 %b3:i2:i32 = typecast %b3:i1:u1 to i32 ret %b3:i2:i32 @@ -3261,9 +3423,11 @@ block b5: br %b5:i1:u1, b13(), b14() block b6: - %b6:p0:i32:t3 + %b6:p0:i32:t1 + %b6:p1:i32:t2 + %b6:p2:i32:t3 %b6:i0:unit = nop - %b6:i1:u1 = cmp ne %b6:p0:i32 0:i32 + %b6:i1:u1 = cmp ne %b6:p2:i32 0:i32 br %b6:i1:u1, b1(), b2() block b7: @@ -3296,7 +3460,7 @@ block b12: %b12:p0:i32:t1 %b12:i0:unit = nop %b12:i1:unit = nop - j b6(%b12:p0:i32) + j b6(%b12:p0:i32, undef:i32, %b12:p0:i32) block b13: %b13:i0:unit = nop @@ -3312,7 +3476,7 @@ block b15: %b15:p0:i32:t2 %b15:i0:unit = nop %b15:i1:unit = nop - j b6(%b15:p0:i32) + j b6(undef:i32, %b15:p0:i32, %b15:p0:i32) block b16: %b16:i0:unit = nop @@ -3325,10 +3489,12 @@ block b17: br %b17:i1:u1, b25(), b26() block b18: - %b18:p0:i32:t7 + %b18:p0:i32:t5 + %b18:p1:i32:t6 + %b18:p2:i32:t7 %b18:i0:unit = nop %b18:i1:unit = nop - j b3(%b18:p0:i32) + j b3(%b21:p0:i32, %b18:p0:i32, %b18:p1:i32, %b18:p2:i32, undef:i32, undef:i32, undef:i32, undef:i32, %b18:p2:i32) block b19: %b19:i0:unit = nop @@ -3360,7 +3526,7 @@ block b24: %b24:p0:i32:t5 %b24:i0:unit = nop %b24:i1:unit = nop - j b18(%b24:p0:i32) + j b18(%b24:p0:i32, undef:i32, %b24:p0:i32) block b25: %b25:i0:unit = nop @@ -3376,7 +3542,7 @@ block b27: %b27:p0:i32:t6 %b27:i0:unit = nop %b27:i1:unit = nop - j b18(%b27:p0:i32) + j b18(undef:i32, %b27:p0:i32, %b27:p0:i32) block b28: %b28:i0:unit = nop @@ -3389,10 +3555,12 @@ block b29: br %b29:i1:u1, b37(), b38() block b30: - %b30:p0:i32:t11 + %b30:p0:i32:t9 + %b30:p1:i32:t10 + %b30:p2:i32:t11 %b30:i0:unit = nop %b30:i1:unit = nop - j b3(%b30:p0:i32) + j b3(undef:i32, undef:i32, undef:i32, undef:i32, %b33:p0:i32, %b30:p0:i32, %b30:p1:i32, %b30:p2:i32, %b30:p2:i32) block b31: %b31:i0:unit = nop @@ -3424,7 +3592,7 @@ block b36: %b36:p0:i32:t9 %b36:i0:unit = nop %b36:i1:unit = nop - j b30(%b36:p0:i32) + j b30(%b36:p0:i32, undef:i32, %b36:p0:i32) block b37: %b37:i0:unit = nop @@ -3440,7 +3608,7 @@ block b39: %b39:p0:i32:t10 %b39:i0:unit = nop %b39:i1:unit = nop - j b30(%b39:p0:i32) + j b30(undef:i32, %b39:p0:i32, %b39:p0:i32) } fun i32 @func_2 () { @@ -3531,9 +3699,17 @@ block b2: br %b2:i1:u1, b31(), b32() block b3: - %b3:p0:i32:t12 + %b3:p0:i32:t4 + %b3:p1:i32:t5 + %b3:p2:i32:t6 + %b3:p3:i32:t7 + %b3:p4:i32:t8 + %b3:p5:i32:t9 + %b3:p6:i32:t10 + %b3:p7:i32:t11 + %b3:p8:i32:t12 %b3:i0:unit = nop - %b3:i1:u1 = cmp eq %b3:p0:i32 0:i32 + %b3:i1:u1 = cmp eq %b3:p8:i32 0:i32 %b3:i2:i32 = typecast %b3:i1:u1 to i32 ret %b3:i2:i32 @@ -3548,9 +3724,11 @@ block b5: br %b5:i1:u1, b13(), b14() block b6: - %b6:p0:i32:t3 + %b6:p0:i32:t1 + %b6:p1:i32:t2 + %b6:p2:i32:t3 %b6:i0:unit = nop - %b6:i1:u1 = cmp ne %b6:p0:i32 0:i32 + %b6:i1:u1 = cmp ne %b6:p2:i32 0:i32 br %b6:i1:u1, b1(), b2() block b7: @@ -3583,7 +3761,7 @@ block b12: %b12:p0:i32:t1 %b12:i0:unit = nop %b12:i1:unit = nop - j b6(%b12:p0:i32) + j b6(%b12:p0:i32, undef:i32, %b12:p0:i32) block b13: %b13:i0:unit = nop @@ -3599,7 +3777,7 @@ block b15: %b15:p0:i32:t2 %b15:i0:unit = nop %b15:i1:unit = nop - j b6(%b15:p0:i32) + j b6(undef:i32, %b15:p0:i32, %b15:p0:i32) block b16: %b16:i0:unit = nop @@ -3612,10 +3790,12 @@ block b17: br %b17:i1:u1, b25(), b26() block b18: - %b18:p0:i32:t7 + %b18:p0:i32:t5 + %b18:p1:i32:t6 + %b18:p2:i32:t7 %b18:i0:unit = nop %b18:i1:unit = nop - j b3(%b18:p0:i32) + j b3(%b21:p0:i32, %b18:p0:i32, %b18:p1:i32, %b18:p2:i32, undef:i32, undef:i32, undef:i32, undef:i32, %b18:p2:i32) block b19: %b19:i0:unit = nop @@ -3647,7 +3827,7 @@ block b24: %b24:p0:i32:t5 %b24:i0:unit = nop %b24:i1:unit = nop - j b18(%b24:p0:i32) + j b18(%b24:p0:i32, undef:i32, %b24:p0:i32) block b25: %b25:i0:unit = nop @@ -3663,7 +3843,7 @@ block b27: %b27:p0:i32:t6 %b27:i0:unit = nop %b27:i1:unit = nop - j b18(%b27:p0:i32) + j b18(undef:i32, %b27:p0:i32, %b27:p0:i32) block b28: %b28:i0:unit = nop @@ -3676,10 +3856,12 @@ block b29: br %b29:i1:u1, b37(), b38() block b30: - %b30:p0:i32:t11 + %b30:p0:i32:t9 + %b30:p1:i32:t10 + %b30:p2:i32:t11 %b30:i0:unit = nop %b30:i1:unit = nop - j b3(%b30:p0:i32) + j b3(undef:i32, undef:i32, undef:i32, undef:i32, %b33:p0:i32, %b30:p0:i32, %b30:p1:i32, %b30:p2:i32, %b30:p2:i32) block b31: %b31:i0:unit = nop @@ -3711,7 +3893,7 @@ block b36: %b36:p0:i32:t9 %b36:i0:unit = nop %b36:i1:unit = nop - j b30(%b36:p0:i32) + j b30(%b36:p0:i32, undef:i32, %b36:p0:i32) block b37: %b37:i0:unit = nop @@ -3727,7 +3909,7 @@ block b39: %b39:p0:i32:t10 %b39:i0:unit = nop %b39:i1:unit = nop - j b30(%b39:p0:i32) + j b30(undef:i32, %b39:p0:i32, %b39:p0:i32) } fun i32 @func_20 () { @@ -3818,9 +4000,17 @@ block b2: br %b2:i1:u1, b31(), b32() block b3: - %b3:p0:i32:t12 + %b3:p0:i32:t4 + %b3:p1:i32:t5 + %b3:p2:i32:t6 + %b3:p3:i32:t7 + %b3:p4:i32:t8 + %b3:p5:i32:t9 + %b3:p6:i32:t10 + %b3:p7:i32:t11 + %b3:p8:i32:t12 %b3:i0:unit = nop - %b3:i1:u1 = cmp eq %b3:p0:i32 0:i32 + %b3:i1:u1 = cmp eq %b3:p8:i32 0:i32 %b3:i2:i32 = typecast %b3:i1:u1 to i32 ret %b3:i2:i32 @@ -3835,9 +4025,11 @@ block b5: br %b5:i1:u1, b13(), b14() block b6: - %b6:p0:i32:t3 + %b6:p0:i32:t1 + %b6:p1:i32:t2 + %b6:p2:i32:t3 %b6:i0:unit = nop - %b6:i1:u1 = cmp ne %b6:p0:i32 0:i32 + %b6:i1:u1 = cmp ne %b6:p2:i32 0:i32 br %b6:i1:u1, b1(), b2() block b7: @@ -3870,7 +4062,7 @@ block b12: %b12:p0:i32:t1 %b12:i0:unit = nop %b12:i1:unit = nop - j b6(%b12:p0:i32) + j b6(%b12:p0:i32, undef:i32, %b12:p0:i32) block b13: %b13:i0:unit = nop @@ -3886,7 +4078,7 @@ block b15: %b15:p0:i32:t2 %b15:i0:unit = nop %b15:i1:unit = nop - j b6(%b15:p0:i32) + j b6(undef:i32, %b15:p0:i32, %b15:p0:i32) block b16: %b16:i0:unit = nop @@ -3899,10 +4091,12 @@ block b17: br %b17:i1:u1, b25(), b26() block b18: - %b18:p0:i32:t7 + %b18:p0:i32:t5 + %b18:p1:i32:t6 + %b18:p2:i32:t7 %b18:i0:unit = nop %b18:i1:unit = nop - j b3(%b18:p0:i32) + j b3(%b21:p0:i32, %b18:p0:i32, %b18:p1:i32, %b18:p2:i32, undef:i32, undef:i32, undef:i32, undef:i32, %b18:p2:i32) block b19: %b19:i0:unit = nop @@ -3934,7 +4128,7 @@ block b24: %b24:p0:i32:t5 %b24:i0:unit = nop %b24:i1:unit = nop - j b18(%b24:p0:i32) + j b18(%b24:p0:i32, undef:i32, %b24:p0:i32) block b25: %b25:i0:unit = nop @@ -3950,7 +4144,7 @@ block b27: %b27:p0:i32:t6 %b27:i0:unit = nop %b27:i1:unit = nop - j b18(%b27:p0:i32) + j b18(undef:i32, %b27:p0:i32, %b27:p0:i32) block b28: %b28:i0:unit = nop @@ -3963,10 +4157,12 @@ block b29: br %b29:i1:u1, b37(), b38() block b30: - %b30:p0:i32:t11 + %b30:p0:i32:t9 + %b30:p1:i32:t10 + %b30:p2:i32:t11 %b30:i0:unit = nop %b30:i1:unit = nop - j b3(%b30:p0:i32) + j b3(undef:i32, undef:i32, undef:i32, undef:i32, %b33:p0:i32, %b30:p0:i32, %b30:p1:i32, %b30:p2:i32, %b30:p2:i32) block b31: %b31:i0:unit = nop @@ -3998,7 +4194,7 @@ block b36: %b36:p0:i32:t9 %b36:i0:unit = nop %b36:i1:unit = nop - j b30(%b36:p0:i32) + j b30(%b36:p0:i32, undef:i32, %b36:p0:i32) block b37: %b37:i0:unit = nop @@ -4014,7 +4210,7 @@ block b39: %b39:p0:i32:t10 %b39:i0:unit = nop %b39:i1:unit = nop - j b30(%b39:p0:i32) + j b30(undef:i32, %b39:p0:i32, %b39:p0:i32) } fun i32 @func_21 () { @@ -4105,9 +4301,17 @@ block b2: br %b2:i1:u1, b31(), b32() block b3: - %b3:p0:i32:t12 + %b3:p0:i32:t4 + %b3:p1:i32:t5 + %b3:p2:i32:t6 + %b3:p3:i32:t7 + %b3:p4:i32:t8 + %b3:p5:i32:t9 + %b3:p6:i32:t10 + %b3:p7:i32:t11 + %b3:p8:i32:t12 %b3:i0:unit = nop - %b3:i1:u1 = cmp eq %b3:p0:i32 1:i32 + %b3:i1:u1 = cmp eq %b3:p8:i32 1:i32 %b3:i2:i32 = typecast %b3:i1:u1 to i32 ret %b3:i2:i32 @@ -4122,9 +4326,11 @@ block b5: br %b5:i1:u1, b13(), b14() block b6: - %b6:p0:i32:t3 + %b6:p0:i32:t1 + %b6:p1:i32:t2 + %b6:p2:i32:t3 %b6:i0:unit = nop - %b6:i1:u1 = cmp ne %b6:p0:i32 0:i32 + %b6:i1:u1 = cmp ne %b6:p2:i32 0:i32 br %b6:i1:u1, b1(), b2() block b7: @@ -4157,7 +4363,7 @@ block b12: %b12:p0:i32:t1 %b12:i0:unit = nop %b12:i1:unit = nop - j b6(%b12:p0:i32) + j b6(%b12:p0:i32, undef:i32, %b12:p0:i32) block b13: %b13:i0:unit = nop @@ -4173,7 +4379,7 @@ block b15: %b15:p0:i32:t2 %b15:i0:unit = nop %b15:i1:unit = nop - j b6(%b15:p0:i32) + j b6(undef:i32, %b15:p0:i32, %b15:p0:i32) block b16: %b16:i0:unit = nop @@ -4186,10 +4392,12 @@ block b17: br %b17:i1:u1, b25(), b26() block b18: - %b18:p0:i32:t7 + %b18:p0:i32:t5 + %b18:p1:i32:t6 + %b18:p2:i32:t7 %b18:i0:unit = nop %b18:i1:unit = nop - j b3(%b18:p0:i32) + j b3(%b21:p0:i32, %b18:p0:i32, %b18:p1:i32, %b18:p2:i32, undef:i32, undef:i32, undef:i32, undef:i32, %b18:p2:i32) block b19: %b19:i0:unit = nop @@ -4221,7 +4429,7 @@ block b24: %b24:p0:i32:t5 %b24:i0:unit = nop %b24:i1:unit = nop - j b18(%b24:p0:i32) + j b18(%b24:p0:i32, undef:i32, %b24:p0:i32) block b25: %b25:i0:unit = nop @@ -4237,7 +4445,7 @@ block b27: %b27:p0:i32:t6 %b27:i0:unit = nop %b27:i1:unit = nop - j b18(%b27:p0:i32) + j b18(undef:i32, %b27:p0:i32, %b27:p0:i32) block b28: %b28:i0:unit = nop @@ -4250,10 +4458,12 @@ block b29: br %b29:i1:u1, b37(), b38() block b30: - %b30:p0:i32:t11 + %b30:p0:i32:t9 + %b30:p1:i32:t10 + %b30:p2:i32:t11 %b30:i0:unit = nop %b30:i1:unit = nop - j b3(%b30:p0:i32) + j b3(undef:i32, undef:i32, undef:i32, undef:i32, %b33:p0:i32, %b30:p0:i32, %b30:p1:i32, %b30:p2:i32, %b30:p2:i32) block b31: %b31:i0:unit = nop @@ -4285,7 +4495,7 @@ block b36: %b36:p0:i32:t9 %b36:i0:unit = nop %b36:i1:unit = nop - j b30(%b36:p0:i32) + j b30(%b36:p0:i32, undef:i32, %b36:p0:i32) block b37: %b37:i0:unit = nop @@ -4301,7 +4511,7 @@ block b39: %b39:p0:i32:t10 %b39:i0:unit = nop %b39:i1:unit = nop - j b30(%b39:p0:i32) + j b30(undef:i32, %b39:p0:i32, %b39:p0:i32) } fun i32 @func_22 () { @@ -4392,9 +4602,17 @@ block b2: br %b2:i1:u1, b31(), b32() block b3: - %b3:p0:i32:t12 + %b3:p0:i32:t4 + %b3:p1:i32:t5 + %b3:p2:i32:t6 + %b3:p3:i32:t7 + %b3:p4:i32:t8 + %b3:p5:i32:t9 + %b3:p6:i32:t10 + %b3:p7:i32:t11 + %b3:p8:i32:t12 %b3:i0:unit = nop - %b3:i1:u1 = cmp eq %b3:p0:i32 0:i32 + %b3:i1:u1 = cmp eq %b3:p8:i32 0:i32 %b3:i2:i32 = typecast %b3:i1:u1 to i32 ret %b3:i2:i32 @@ -4409,9 +4627,11 @@ block b5: br %b5:i1:u1, b13(), b14() block b6: - %b6:p0:i32:t3 + %b6:p0:i32:t1 + %b6:p1:i32:t2 + %b6:p2:i32:t3 %b6:i0:unit = nop - %b6:i1:u1 = cmp ne %b6:p0:i32 0:i32 + %b6:i1:u1 = cmp ne %b6:p2:i32 0:i32 br %b6:i1:u1, b1(), b2() block b7: @@ -4444,7 +4664,7 @@ block b12: %b12:p0:i32:t1 %b12:i0:unit = nop %b12:i1:unit = nop - j b6(%b12:p0:i32) + j b6(%b12:p0:i32, undef:i32, %b12:p0:i32) block b13: %b13:i0:unit = nop @@ -4460,7 +4680,7 @@ block b15: %b15:p0:i32:t2 %b15:i0:unit = nop %b15:i1:unit = nop - j b6(%b15:p0:i32) + j b6(undef:i32, %b15:p0:i32, %b15:p0:i32) block b16: %b16:i0:unit = nop @@ -4473,10 +4693,12 @@ block b17: br %b17:i1:u1, b25(), b26() block b18: - %b18:p0:i32:t7 + %b18:p0:i32:t5 + %b18:p1:i32:t6 + %b18:p2:i32:t7 %b18:i0:unit = nop %b18:i1:unit = nop - j b3(%b18:p0:i32) + j b3(%b21:p0:i32, %b18:p0:i32, %b18:p1:i32, %b18:p2:i32, undef:i32, undef:i32, undef:i32, undef:i32, %b18:p2:i32) block b19: %b19:i0:unit = nop @@ -4508,7 +4730,7 @@ block b24: %b24:p0:i32:t5 %b24:i0:unit = nop %b24:i1:unit = nop - j b18(%b24:p0:i32) + j b18(%b24:p0:i32, undef:i32, %b24:p0:i32) block b25: %b25:i0:unit = nop @@ -4524,7 +4746,7 @@ block b27: %b27:p0:i32:t6 %b27:i0:unit = nop %b27:i1:unit = nop - j b18(%b27:p0:i32) + j b18(undef:i32, %b27:p0:i32, %b27:p0:i32) block b28: %b28:i0:unit = nop @@ -4537,10 +4759,12 @@ block b29: br %b29:i1:u1, b37(), b38() block b30: - %b30:p0:i32:t11 + %b30:p0:i32:t9 + %b30:p1:i32:t10 + %b30:p2:i32:t11 %b30:i0:unit = nop %b30:i1:unit = nop - j b3(%b30:p0:i32) + j b3(undef:i32, undef:i32, undef:i32, undef:i32, %b33:p0:i32, %b30:p0:i32, %b30:p1:i32, %b30:p2:i32, %b30:p2:i32) block b31: %b31:i0:unit = nop @@ -4572,7 +4796,7 @@ block b36: %b36:p0:i32:t9 %b36:i0:unit = nop %b36:i1:unit = nop - j b30(%b36:p0:i32) + j b30(%b36:p0:i32, undef:i32, %b36:p0:i32) block b37: %b37:i0:unit = nop @@ -4588,7 +4812,7 @@ block b39: %b39:p0:i32:t10 %b39:i0:unit = nop %b39:i1:unit = nop - j b30(%b39:p0:i32) + j b30(undef:i32, %b39:p0:i32, %b39:p0:i32) } fun i32 @func_23 () { @@ -4679,9 +4903,17 @@ block b2: br %b2:i1:u1, b31(), b32() block b3: - %b3:p0:i32:t12 + %b3:p0:i32:t4 + %b3:p1:i32:t5 + %b3:p2:i32:t6 + %b3:p3:i32:t7 + %b3:p4:i32:t8 + %b3:p5:i32:t9 + %b3:p6:i32:t10 + %b3:p7:i32:t11 + %b3:p8:i32:t12 %b3:i0:unit = nop - %b3:i1:u1 = cmp eq %b3:p0:i32 0:i32 + %b3:i1:u1 = cmp eq %b3:p8:i32 0:i32 %b3:i2:i32 = typecast %b3:i1:u1 to i32 ret %b3:i2:i32 @@ -4696,9 +4928,11 @@ block b5: br %b5:i1:u1, b13(), b14() block b6: - %b6:p0:i32:t3 + %b6:p0:i32:t1 + %b6:p1:i32:t2 + %b6:p2:i32:t3 %b6:i0:unit = nop - %b6:i1:u1 = cmp ne %b6:p0:i32 0:i32 + %b6:i1:u1 = cmp ne %b6:p2:i32 0:i32 br %b6:i1:u1, b1(), b2() block b7: @@ -4731,7 +4965,7 @@ block b12: %b12:p0:i32:t1 %b12:i0:unit = nop %b12:i1:unit = nop - j b6(%b12:p0:i32) + j b6(%b12:p0:i32, undef:i32, %b12:p0:i32) block b13: %b13:i0:unit = nop @@ -4747,7 +4981,7 @@ block b15: %b15:p0:i32:t2 %b15:i0:unit = nop %b15:i1:unit = nop - j b6(%b15:p0:i32) + j b6(undef:i32, %b15:p0:i32, %b15:p0:i32) block b16: %b16:i0:unit = nop @@ -4760,10 +4994,12 @@ block b17: br %b17:i1:u1, b25(), b26() block b18: - %b18:p0:i32:t7 + %b18:p0:i32:t5 + %b18:p1:i32:t6 + %b18:p2:i32:t7 %b18:i0:unit = nop %b18:i1:unit = nop - j b3(%b18:p0:i32) + j b3(%b21:p0:i32, %b18:p0:i32, %b18:p1:i32, %b18:p2:i32, undef:i32, undef:i32, undef:i32, undef:i32, %b18:p2:i32) block b19: %b19:i0:unit = nop @@ -4795,7 +5031,7 @@ block b24: %b24:p0:i32:t5 %b24:i0:unit = nop %b24:i1:unit = nop - j b18(%b24:p0:i32) + j b18(%b24:p0:i32, undef:i32, %b24:p0:i32) block b25: %b25:i0:unit = nop @@ -4811,7 +5047,7 @@ block b27: %b27:p0:i32:t6 %b27:i0:unit = nop %b27:i1:unit = nop - j b18(%b27:p0:i32) + j b18(undef:i32, %b27:p0:i32, %b27:p0:i32) block b28: %b28:i0:unit = nop @@ -4824,10 +5060,12 @@ block b29: br %b29:i1:u1, b37(), b38() block b30: - %b30:p0:i32:t11 + %b30:p0:i32:t9 + %b30:p1:i32:t10 + %b30:p2:i32:t11 %b30:i0:unit = nop %b30:i1:unit = nop - j b3(%b30:p0:i32) + j b3(undef:i32, undef:i32, undef:i32, undef:i32, %b33:p0:i32, %b30:p0:i32, %b30:p1:i32, %b30:p2:i32, %b30:p2:i32) block b31: %b31:i0:unit = nop @@ -4859,7 +5097,7 @@ block b36: %b36:p0:i32:t9 %b36:i0:unit = nop %b36:i1:unit = nop - j b30(%b36:p0:i32) + j b30(%b36:p0:i32, undef:i32, %b36:p0:i32) block b37: %b37:i0:unit = nop @@ -4875,7 +5113,7 @@ block b39: %b39:p0:i32:t10 %b39:i0:unit = nop %b39:i1:unit = nop - j b30(%b39:p0:i32) + j b30(undef:i32, %b39:p0:i32, %b39:p0:i32) } fun i32 @func_24 () { @@ -4966,9 +5204,17 @@ block b2: br %b2:i1:u1, b31(), b32() block b3: - %b3:p0:i32:t12 + %b3:p0:i32:t4 + %b3:p1:i32:t5 + %b3:p2:i32:t6 + %b3:p3:i32:t7 + %b3:p4:i32:t8 + %b3:p5:i32:t9 + %b3:p6:i32:t10 + %b3:p7:i32:t11 + %b3:p8:i32:t12 %b3:i0:unit = nop - %b3:i1:u1 = cmp eq %b3:p0:i32 1:i32 + %b3:i1:u1 = cmp eq %b3:p8:i32 1:i32 %b3:i2:i32 = typecast %b3:i1:u1 to i32 ret %b3:i2:i32 @@ -4983,9 +5229,11 @@ block b5: br %b5:i1:u1, b13(), b14() block b6: - %b6:p0:i32:t3 + %b6:p0:i32:t1 + %b6:p1:i32:t2 + %b6:p2:i32:t3 %b6:i0:unit = nop - %b6:i1:u1 = cmp ne %b6:p0:i32 0:i32 + %b6:i1:u1 = cmp ne %b6:p2:i32 0:i32 br %b6:i1:u1, b1(), b2() block b7: @@ -5018,7 +5266,7 @@ block b12: %b12:p0:i32:t1 %b12:i0:unit = nop %b12:i1:unit = nop - j b6(%b12:p0:i32) + j b6(%b12:p0:i32, undef:i32, %b12:p0:i32) block b13: %b13:i0:unit = nop @@ -5034,7 +5282,7 @@ block b15: %b15:p0:i32:t2 %b15:i0:unit = nop %b15:i1:unit = nop - j b6(%b15:p0:i32) + j b6(undef:i32, %b15:p0:i32, %b15:p0:i32) block b16: %b16:i0:unit = nop @@ -5047,10 +5295,12 @@ block b17: br %b17:i1:u1, b25(), b26() block b18: - %b18:p0:i32:t7 + %b18:p0:i32:t5 + %b18:p1:i32:t6 + %b18:p2:i32:t7 %b18:i0:unit = nop %b18:i1:unit = nop - j b3(%b18:p0:i32) + j b3(%b21:p0:i32, %b18:p0:i32, %b18:p1:i32, %b18:p2:i32, undef:i32, undef:i32, undef:i32, undef:i32, %b18:p2:i32) block b19: %b19:i0:unit = nop @@ -5082,7 +5332,7 @@ block b24: %b24:p0:i32:t5 %b24:i0:unit = nop %b24:i1:unit = nop - j b18(%b24:p0:i32) + j b18(%b24:p0:i32, undef:i32, %b24:p0:i32) block b25: %b25:i0:unit = nop @@ -5098,7 +5348,7 @@ block b27: %b27:p0:i32:t6 %b27:i0:unit = nop %b27:i1:unit = nop - j b18(%b27:p0:i32) + j b18(undef:i32, %b27:p0:i32, %b27:p0:i32) block b28: %b28:i0:unit = nop @@ -5111,10 +5361,12 @@ block b29: br %b29:i1:u1, b37(), b38() block b30: - %b30:p0:i32:t11 + %b30:p0:i32:t9 + %b30:p1:i32:t10 + %b30:p2:i32:t11 %b30:i0:unit = nop %b30:i1:unit = nop - j b3(%b30:p0:i32) + j b3(undef:i32, undef:i32, undef:i32, undef:i32, %b33:p0:i32, %b30:p0:i32, %b30:p1:i32, %b30:p2:i32, %b30:p2:i32) block b31: %b31:i0:unit = nop @@ -5146,7 +5398,7 @@ block b36: %b36:p0:i32:t9 %b36:i0:unit = nop %b36:i1:unit = nop - j b30(%b36:p0:i32) + j b30(%b36:p0:i32, undef:i32, %b36:p0:i32) block b37: %b37:i0:unit = nop @@ -5162,7 +5414,7 @@ block b39: %b39:p0:i32:t10 %b39:i0:unit = nop %b39:i1:unit = nop - j b30(%b39:p0:i32) + j b30(undef:i32, %b39:p0:i32, %b39:p0:i32) } fun i32 @func_25 () { @@ -5253,9 +5505,17 @@ block b2: br %b2:i1:u1, b31(), b32() block b3: - %b3:p0:i32:t12 + %b3:p0:i32:t4 + %b3:p1:i32:t5 + %b3:p2:i32:t6 + %b3:p3:i32:t7 + %b3:p4:i32:t8 + %b3:p5:i32:t9 + %b3:p6:i32:t10 + %b3:p7:i32:t11 + %b3:p8:i32:t12 %b3:i0:unit = nop - %b3:i1:u1 = cmp eq %b3:p0:i32 1:i32 + %b3:i1:u1 = cmp eq %b3:p8:i32 1:i32 %b3:i2:i32 = typecast %b3:i1:u1 to i32 ret %b3:i2:i32 @@ -5270,9 +5530,11 @@ block b5: br %b5:i1:u1, b13(), b14() block b6: - %b6:p0:i32:t3 + %b6:p0:i32:t1 + %b6:p1:i32:t2 + %b6:p2:i32:t3 %b6:i0:unit = nop - %b6:i1:u1 = cmp ne %b6:p0:i32 0:i32 + %b6:i1:u1 = cmp ne %b6:p2:i32 0:i32 br %b6:i1:u1, b1(), b2() block b7: @@ -5305,7 +5567,7 @@ block b12: %b12:p0:i32:t1 %b12:i0:unit = nop %b12:i1:unit = nop - j b6(%b12:p0:i32) + j b6(%b12:p0:i32, undef:i32, %b12:p0:i32) block b13: %b13:i0:unit = nop @@ -5321,7 +5583,7 @@ block b15: %b15:p0:i32:t2 %b15:i0:unit = nop %b15:i1:unit = nop - j b6(%b15:p0:i32) + j b6(undef:i32, %b15:p0:i32, %b15:p0:i32) block b16: %b16:i0:unit = nop @@ -5334,10 +5596,12 @@ block b17: br %b17:i1:u1, b25(), b26() block b18: - %b18:p0:i32:t7 + %b18:p0:i32:t5 + %b18:p1:i32:t6 + %b18:p2:i32:t7 %b18:i0:unit = nop %b18:i1:unit = nop - j b3(%b18:p0:i32) + j b3(%b21:p0:i32, %b18:p0:i32, %b18:p1:i32, %b18:p2:i32, undef:i32, undef:i32, undef:i32, undef:i32, %b18:p2:i32) block b19: %b19:i0:unit = nop @@ -5369,7 +5633,7 @@ block b24: %b24:p0:i32:t5 %b24:i0:unit = nop %b24:i1:unit = nop - j b18(%b24:p0:i32) + j b18(%b24:p0:i32, undef:i32, %b24:p0:i32) block b25: %b25:i0:unit = nop @@ -5385,7 +5649,7 @@ block b27: %b27:p0:i32:t6 %b27:i0:unit = nop %b27:i1:unit = nop - j b18(%b27:p0:i32) + j b18(undef:i32, %b27:p0:i32, %b27:p0:i32) block b28: %b28:i0:unit = nop @@ -5398,10 +5662,12 @@ block b29: br %b29:i1:u1, b37(), b38() block b30: - %b30:p0:i32:t11 + %b30:p0:i32:t9 + %b30:p1:i32:t10 + %b30:p2:i32:t11 %b30:i0:unit = nop %b30:i1:unit = nop - j b3(%b30:p0:i32) + j b3(undef:i32, undef:i32, undef:i32, undef:i32, %b33:p0:i32, %b30:p0:i32, %b30:p1:i32, %b30:p2:i32, %b30:p2:i32) block b31: %b31:i0:unit = nop @@ -5433,7 +5699,7 @@ block b36: %b36:p0:i32:t9 %b36:i0:unit = nop %b36:i1:unit = nop - j b30(%b36:p0:i32) + j b30(%b36:p0:i32, undef:i32, %b36:p0:i32) block b37: %b37:i0:unit = nop @@ -5449,7 +5715,7 @@ block b39: %b39:p0:i32:t10 %b39:i0:unit = nop %b39:i1:unit = nop - j b30(%b39:p0:i32) + j b30(undef:i32, %b39:p0:i32, %b39:p0:i32) } fun i32 @func_26 () { @@ -5540,9 +5806,17 @@ block b2: br %b2:i1:u1, b31(), b32() block b3: - %b3:p0:i32:t12 + %b3:p0:i32:t4 + %b3:p1:i32:t5 + %b3:p2:i32:t6 + %b3:p3:i32:t7 + %b3:p4:i32:t8 + %b3:p5:i32:t9 + %b3:p6:i32:t10 + %b3:p7:i32:t11 + %b3:p8:i32:t12 %b3:i0:unit = nop - %b3:i1:u1 = cmp eq %b3:p0:i32 0:i32 + %b3:i1:u1 = cmp eq %b3:p8:i32 0:i32 %b3:i2:i32 = typecast %b3:i1:u1 to i32 ret %b3:i2:i32 @@ -5557,9 +5831,11 @@ block b5: br %b5:i1:u1, b13(), b14() block b6: - %b6:p0:i32:t3 + %b6:p0:i32:t1 + %b6:p1:i32:t2 + %b6:p2:i32:t3 %b6:i0:unit = nop - %b6:i1:u1 = cmp ne %b6:p0:i32 0:i32 + %b6:i1:u1 = cmp ne %b6:p2:i32 0:i32 br %b6:i1:u1, b1(), b2() block b7: @@ -5592,7 +5868,7 @@ block b12: %b12:p0:i32:t1 %b12:i0:unit = nop %b12:i1:unit = nop - j b6(%b12:p0:i32) + j b6(%b12:p0:i32, undef:i32, %b12:p0:i32) block b13: %b13:i0:unit = nop @@ -5608,7 +5884,7 @@ block b15: %b15:p0:i32:t2 %b15:i0:unit = nop %b15:i1:unit = nop - j b6(%b15:p0:i32) + j b6(undef:i32, %b15:p0:i32, %b15:p0:i32) block b16: %b16:i0:unit = nop @@ -5621,10 +5897,12 @@ block b17: br %b17:i1:u1, b25(), b26() block b18: - %b18:p0:i32:t7 + %b18:p0:i32:t5 + %b18:p1:i32:t6 + %b18:p2:i32:t7 %b18:i0:unit = nop %b18:i1:unit = nop - j b3(%b18:p0:i32) + j b3(%b21:p0:i32, %b18:p0:i32, %b18:p1:i32, %b18:p2:i32, undef:i32, undef:i32, undef:i32, undef:i32, %b18:p2:i32) block b19: %b19:i0:unit = nop @@ -5656,7 +5934,7 @@ block b24: %b24:p0:i32:t5 %b24:i0:unit = nop %b24:i1:unit = nop - j b18(%b24:p0:i32) + j b18(%b24:p0:i32, undef:i32, %b24:p0:i32) block b25: %b25:i0:unit = nop @@ -5672,7 +5950,7 @@ block b27: %b27:p0:i32:t6 %b27:i0:unit = nop %b27:i1:unit = nop - j b18(%b27:p0:i32) + j b18(undef:i32, %b27:p0:i32, %b27:p0:i32) block b28: %b28:i0:unit = nop @@ -5685,10 +5963,12 @@ block b29: br %b29:i1:u1, b37(), b38() block b30: - %b30:p0:i32:t11 + %b30:p0:i32:t9 + %b30:p1:i32:t10 + %b30:p2:i32:t11 %b30:i0:unit = nop %b30:i1:unit = nop - j b3(%b30:p0:i32) + j b3(undef:i32, undef:i32, undef:i32, undef:i32, %b33:p0:i32, %b30:p0:i32, %b30:p1:i32, %b30:p2:i32, %b30:p2:i32) block b31: %b31:i0:unit = nop @@ -5720,7 +6000,7 @@ block b36: %b36:p0:i32:t9 %b36:i0:unit = nop %b36:i1:unit = nop - j b30(%b36:p0:i32) + j b30(%b36:p0:i32, undef:i32, %b36:p0:i32) block b37: %b37:i0:unit = nop @@ -5736,7 +6016,7 @@ block b39: %b39:p0:i32:t10 %b39:i0:unit = nop %b39:i1:unit = nop - j b30(%b39:p0:i32) + j b30(undef:i32, %b39:p0:i32, %b39:p0:i32) } fun i32 @func_27 () { @@ -5827,9 +6107,17 @@ block b2: br %b2:i1:u1, b31(), b32() block b3: - %b3:p0:i32:t12 + %b3:p0:i32:t4 + %b3:p1:i32:t5 + %b3:p2:i32:t6 + %b3:p3:i32:t7 + %b3:p4:i32:t8 + %b3:p5:i32:t9 + %b3:p6:i32:t10 + %b3:p7:i32:t11 + %b3:p8:i32:t12 %b3:i0:unit = nop - %b3:i1:u1 = cmp eq %b3:p0:i32 0:i32 + %b3:i1:u1 = cmp eq %b3:p8:i32 0:i32 %b3:i2:i32 = typecast %b3:i1:u1 to i32 ret %b3:i2:i32 @@ -5844,9 +6132,11 @@ block b5: br %b5:i1:u1, b13(), b14() block b6: - %b6:p0:i32:t3 + %b6:p0:i32:t1 + %b6:p1:i32:t2 + %b6:p2:i32:t3 %b6:i0:unit = nop - %b6:i1:u1 = cmp ne %b6:p0:i32 0:i32 + %b6:i1:u1 = cmp ne %b6:p2:i32 0:i32 br %b6:i1:u1, b1(), b2() block b7: @@ -5879,7 +6169,7 @@ block b12: %b12:p0:i32:t1 %b12:i0:unit = nop %b12:i1:unit = nop - j b6(%b12:p0:i32) + j b6(%b12:p0:i32, undef:i32, %b12:p0:i32) block b13: %b13:i0:unit = nop @@ -5895,7 +6185,7 @@ block b15: %b15:p0:i32:t2 %b15:i0:unit = nop %b15:i1:unit = nop - j b6(%b15:p0:i32) + j b6(undef:i32, %b15:p0:i32, %b15:p0:i32) block b16: %b16:i0:unit = nop @@ -5908,10 +6198,12 @@ block b17: br %b17:i1:u1, b25(), b26() block b18: - %b18:p0:i32:t7 + %b18:p0:i32:t5 + %b18:p1:i32:t6 + %b18:p2:i32:t7 %b18:i0:unit = nop %b18:i1:unit = nop - j b3(%b18:p0:i32) + j b3(%b21:p0:i32, %b18:p0:i32, %b18:p1:i32, %b18:p2:i32, undef:i32, undef:i32, undef:i32, undef:i32, %b18:p2:i32) block b19: %b19:i0:unit = nop @@ -5943,7 +6235,7 @@ block b24: %b24:p0:i32:t5 %b24:i0:unit = nop %b24:i1:unit = nop - j b18(%b24:p0:i32) + j b18(%b24:p0:i32, undef:i32, %b24:p0:i32) block b25: %b25:i0:unit = nop @@ -5959,7 +6251,7 @@ block b27: %b27:p0:i32:t6 %b27:i0:unit = nop %b27:i1:unit = nop - j b18(%b27:p0:i32) + j b18(undef:i32, %b27:p0:i32, %b27:p0:i32) block b28: %b28:i0:unit = nop @@ -5972,10 +6264,12 @@ block b29: br %b29:i1:u1, b37(), b38() block b30: - %b30:p0:i32:t11 + %b30:p0:i32:t9 + %b30:p1:i32:t10 + %b30:p2:i32:t11 %b30:i0:unit = nop %b30:i1:unit = nop - j b3(%b30:p0:i32) + j b3(undef:i32, undef:i32, undef:i32, undef:i32, %b33:p0:i32, %b30:p0:i32, %b30:p1:i32, %b30:p2:i32, %b30:p2:i32) block b31: %b31:i0:unit = nop @@ -6007,7 +6301,7 @@ block b36: %b36:p0:i32:t9 %b36:i0:unit = nop %b36:i1:unit = nop - j b30(%b36:p0:i32) + j b30(%b36:p0:i32, undef:i32, %b36:p0:i32) block b37: %b37:i0:unit = nop @@ -6023,7 +6317,7 @@ block b39: %b39:p0:i32:t10 %b39:i0:unit = nop %b39:i1:unit = nop - j b30(%b39:p0:i32) + j b30(undef:i32, %b39:p0:i32, %b39:p0:i32) } fun i32 @func_28 () { @@ -6114,9 +6408,17 @@ block b2: br %b2:i1:u1, b31(), b32() block b3: - %b3:p0:i32:t12 + %b3:p0:i32:t4 + %b3:p1:i32:t5 + %b3:p2:i32:t6 + %b3:p3:i32:t7 + %b3:p4:i32:t8 + %b3:p5:i32:t9 + %b3:p6:i32:t10 + %b3:p7:i32:t11 + %b3:p8:i32:t12 %b3:i0:unit = nop - %b3:i1:u1 = cmp eq %b3:p0:i32 1:i32 + %b3:i1:u1 = cmp eq %b3:p8:i32 1:i32 %b3:i2:i32 = typecast %b3:i1:u1 to i32 ret %b3:i2:i32 @@ -6131,9 +6433,11 @@ block b5: br %b5:i1:u1, b13(), b14() block b6: - %b6:p0:i32:t3 + %b6:p0:i32:t1 + %b6:p1:i32:t2 + %b6:p2:i32:t3 %b6:i0:unit = nop - %b6:i1:u1 = cmp ne %b6:p0:i32 0:i32 + %b6:i1:u1 = cmp ne %b6:p2:i32 0:i32 br %b6:i1:u1, b1(), b2() block b7: @@ -6166,7 +6470,7 @@ block b12: %b12:p0:i32:t1 %b12:i0:unit = nop %b12:i1:unit = nop - j b6(%b12:p0:i32) + j b6(%b12:p0:i32, undef:i32, %b12:p0:i32) block b13: %b13:i0:unit = nop @@ -6182,7 +6486,7 @@ block b15: %b15:p0:i32:t2 %b15:i0:unit = nop %b15:i1:unit = nop - j b6(%b15:p0:i32) + j b6(undef:i32, %b15:p0:i32, %b15:p0:i32) block b16: %b16:i0:unit = nop @@ -6195,10 +6499,12 @@ block b17: br %b17:i1:u1, b25(), b26() block b18: - %b18:p0:i32:t7 + %b18:p0:i32:t5 + %b18:p1:i32:t6 + %b18:p2:i32:t7 %b18:i0:unit = nop %b18:i1:unit = nop - j b3(%b18:p0:i32) + j b3(%b21:p0:i32, %b18:p0:i32, %b18:p1:i32, %b18:p2:i32, undef:i32, undef:i32, undef:i32, undef:i32, %b18:p2:i32) block b19: %b19:i0:unit = nop @@ -6230,7 +6536,7 @@ block b24: %b24:p0:i32:t5 %b24:i0:unit = nop %b24:i1:unit = nop - j b18(%b24:p0:i32) + j b18(%b24:p0:i32, undef:i32, %b24:p0:i32) block b25: %b25:i0:unit = nop @@ -6246,7 +6552,7 @@ block b27: %b27:p0:i32:t6 %b27:i0:unit = nop %b27:i1:unit = nop - j b18(%b27:p0:i32) + j b18(undef:i32, %b27:p0:i32, %b27:p0:i32) block b28: %b28:i0:unit = nop @@ -6259,10 +6565,12 @@ block b29: br %b29:i1:u1, b37(), b38() block b30: - %b30:p0:i32:t11 + %b30:p0:i32:t9 + %b30:p1:i32:t10 + %b30:p2:i32:t11 %b30:i0:unit = nop %b30:i1:unit = nop - j b3(%b30:p0:i32) + j b3(undef:i32, undef:i32, undef:i32, undef:i32, %b33:p0:i32, %b30:p0:i32, %b30:p1:i32, %b30:p2:i32, %b30:p2:i32) block b31: %b31:i0:unit = nop @@ -6294,7 +6602,7 @@ block b36: %b36:p0:i32:t9 %b36:i0:unit = nop %b36:i1:unit = nop - j b30(%b36:p0:i32) + j b30(%b36:p0:i32, undef:i32, %b36:p0:i32) block b37: %b37:i0:unit = nop @@ -6310,7 +6618,7 @@ block b39: %b39:p0:i32:t10 %b39:i0:unit = nop %b39:i1:unit = nop - j b30(%b39:p0:i32) + j b30(undef:i32, %b39:p0:i32, %b39:p0:i32) } fun i32 @func_29 () { @@ -6401,9 +6709,17 @@ block b2: br %b2:i1:u1, b31(), b32() block b3: - %b3:p0:i32:t12 + %b3:p0:i32:t4 + %b3:p1:i32:t5 + %b3:p2:i32:t6 + %b3:p3:i32:t7 + %b3:p4:i32:t8 + %b3:p5:i32:t9 + %b3:p6:i32:t10 + %b3:p7:i32:t11 + %b3:p8:i32:t12 %b3:i0:unit = nop - %b3:i1:u1 = cmp eq %b3:p0:i32 0:i32 + %b3:i1:u1 = cmp eq %b3:p8:i32 0:i32 %b3:i2:i32 = typecast %b3:i1:u1 to i32 ret %b3:i2:i32 @@ -6418,9 +6734,11 @@ block b5: br %b5:i1:u1, b13(), b14() block b6: - %b6:p0:i32:t3 + %b6:p0:i32:t1 + %b6:p1:i32:t2 + %b6:p2:i32:t3 %b6:i0:unit = nop - %b6:i1:u1 = cmp ne %b6:p0:i32 0:i32 + %b6:i1:u1 = cmp ne %b6:p2:i32 0:i32 br %b6:i1:u1, b1(), b2() block b7: @@ -6453,7 +6771,7 @@ block b12: %b12:p0:i32:t1 %b12:i0:unit = nop %b12:i1:unit = nop - j b6(%b12:p0:i32) + j b6(%b12:p0:i32, undef:i32, %b12:p0:i32) block b13: %b13:i0:unit = nop @@ -6469,7 +6787,7 @@ block b15: %b15:p0:i32:t2 %b15:i0:unit = nop %b15:i1:unit = nop - j b6(%b15:p0:i32) + j b6(undef:i32, %b15:p0:i32, %b15:p0:i32) block b16: %b16:i0:unit = nop @@ -6482,10 +6800,12 @@ block b17: br %b17:i1:u1, b25(), b26() block b18: - %b18:p0:i32:t7 + %b18:p0:i32:t5 + %b18:p1:i32:t6 + %b18:p2:i32:t7 %b18:i0:unit = nop %b18:i1:unit = nop - j b3(%b18:p0:i32) + j b3(%b21:p0:i32, %b18:p0:i32, %b18:p1:i32, %b18:p2:i32, undef:i32, undef:i32, undef:i32, undef:i32, %b18:p2:i32) block b19: %b19:i0:unit = nop @@ -6517,7 +6837,7 @@ block b24: %b24:p0:i32:t5 %b24:i0:unit = nop %b24:i1:unit = nop - j b18(%b24:p0:i32) + j b18(%b24:p0:i32, undef:i32, %b24:p0:i32) block b25: %b25:i0:unit = nop @@ -6533,7 +6853,7 @@ block b27: %b27:p0:i32:t6 %b27:i0:unit = nop %b27:i1:unit = nop - j b18(%b27:p0:i32) + j b18(undef:i32, %b27:p0:i32, %b27:p0:i32) block b28: %b28:i0:unit = nop @@ -6546,10 +6866,12 @@ block b29: br %b29:i1:u1, b37(), b38() block b30: - %b30:p0:i32:t11 + %b30:p0:i32:t9 + %b30:p1:i32:t10 + %b30:p2:i32:t11 %b30:i0:unit = nop %b30:i1:unit = nop - j b3(%b30:p0:i32) + j b3(undef:i32, undef:i32, undef:i32, undef:i32, %b33:p0:i32, %b30:p0:i32, %b30:p1:i32, %b30:p2:i32, %b30:p2:i32) block b31: %b31:i0:unit = nop @@ -6581,7 +6903,7 @@ block b36: %b36:p0:i32:t9 %b36:i0:unit = nop %b36:i1:unit = nop - j b30(%b36:p0:i32) + j b30(%b36:p0:i32, undef:i32, %b36:p0:i32) block b37: %b37:i0:unit = nop @@ -6597,7 +6919,7 @@ block b39: %b39:p0:i32:t10 %b39:i0:unit = nop %b39:i1:unit = nop - j b30(%b39:p0:i32) + j b30(undef:i32, %b39:p0:i32, %b39:p0:i32) } fun i32 @func_3 () { @@ -6688,9 +7010,17 @@ block b2: br %b2:i1:u1, b31(), b32() block b3: - %b3:p0:i32:t12 + %b3:p0:i32:t4 + %b3:p1:i32:t5 + %b3:p2:i32:t6 + %b3:p3:i32:t7 + %b3:p4:i32:t8 + %b3:p5:i32:t9 + %b3:p6:i32:t10 + %b3:p7:i32:t11 + %b3:p8:i32:t12 %b3:i0:unit = nop - %b3:i1:u1 = cmp eq %b3:p0:i32 0:i32 + %b3:i1:u1 = cmp eq %b3:p8:i32 0:i32 %b3:i2:i32 = typecast %b3:i1:u1 to i32 ret %b3:i2:i32 @@ -6705,9 +7035,11 @@ block b5: br %b5:i1:u1, b13(), b14() block b6: - %b6:p0:i32:t3 + %b6:p0:i32:t1 + %b6:p1:i32:t2 + %b6:p2:i32:t3 %b6:i0:unit = nop - %b6:i1:u1 = cmp ne %b6:p0:i32 0:i32 + %b6:i1:u1 = cmp ne %b6:p2:i32 0:i32 br %b6:i1:u1, b1(), b2() block b7: @@ -6740,7 +7072,7 @@ block b12: %b12:p0:i32:t1 %b12:i0:unit = nop %b12:i1:unit = nop - j b6(%b12:p0:i32) + j b6(%b12:p0:i32, undef:i32, %b12:p0:i32) block b13: %b13:i0:unit = nop @@ -6756,7 +7088,7 @@ block b15: %b15:p0:i32:t2 %b15:i0:unit = nop %b15:i1:unit = nop - j b6(%b15:p0:i32) + j b6(undef:i32, %b15:p0:i32, %b15:p0:i32) block b16: %b16:i0:unit = nop @@ -6769,10 +7101,12 @@ block b17: br %b17:i1:u1, b25(), b26() block b18: - %b18:p0:i32:t7 + %b18:p0:i32:t5 + %b18:p1:i32:t6 + %b18:p2:i32:t7 %b18:i0:unit = nop %b18:i1:unit = nop - j b3(%b18:p0:i32) + j b3(%b21:p0:i32, %b18:p0:i32, %b18:p1:i32, %b18:p2:i32, undef:i32, undef:i32, undef:i32, undef:i32, %b18:p2:i32) block b19: %b19:i0:unit = nop @@ -6804,7 +7138,7 @@ block b24: %b24:p0:i32:t5 %b24:i0:unit = nop %b24:i1:unit = nop - j b18(%b24:p0:i32) + j b18(%b24:p0:i32, undef:i32, %b24:p0:i32) block b25: %b25:i0:unit = nop @@ -6820,7 +7154,7 @@ block b27: %b27:p0:i32:t6 %b27:i0:unit = nop %b27:i1:unit = nop - j b18(%b27:p0:i32) + j b18(undef:i32, %b27:p0:i32, %b27:p0:i32) block b28: %b28:i0:unit = nop @@ -6833,10 +7167,12 @@ block b29: br %b29:i1:u1, b37(), b38() block b30: - %b30:p0:i32:t11 + %b30:p0:i32:t9 + %b30:p1:i32:t10 + %b30:p2:i32:t11 %b30:i0:unit = nop %b30:i1:unit = nop - j b3(%b30:p0:i32) + j b3(undef:i32, undef:i32, undef:i32, undef:i32, %b33:p0:i32, %b30:p0:i32, %b30:p1:i32, %b30:p2:i32, %b30:p2:i32) block b31: %b31:i0:unit = nop @@ -6868,7 +7204,7 @@ block b36: %b36:p0:i32:t9 %b36:i0:unit = nop %b36:i1:unit = nop - j b30(%b36:p0:i32) + j b30(%b36:p0:i32, undef:i32, %b36:p0:i32) block b37: %b37:i0:unit = nop @@ -6884,7 +7220,7 @@ block b39: %b39:p0:i32:t10 %b39:i0:unit = nop %b39:i1:unit = nop - j b30(%b39:p0:i32) + j b30(undef:i32, %b39:p0:i32, %b39:p0:i32) } fun i32 @func_30 () { @@ -6975,9 +7311,17 @@ block b2: br %b2:i1:u1, b31(), b32() block b3: - %b3:p0:i32:t12 + %b3:p0:i32:t4 + %b3:p1:i32:t5 + %b3:p2:i32:t6 + %b3:p3:i32:t7 + %b3:p4:i32:t8 + %b3:p5:i32:t9 + %b3:p6:i32:t10 + %b3:p7:i32:t11 + %b3:p8:i32:t12 %b3:i0:unit = nop - %b3:i1:u1 = cmp eq %b3:p0:i32 1:i32 + %b3:i1:u1 = cmp eq %b3:p8:i32 1:i32 %b3:i2:i32 = typecast %b3:i1:u1 to i32 ret %b3:i2:i32 @@ -6992,9 +7336,11 @@ block b5: br %b5:i1:u1, b13(), b14() block b6: - %b6:p0:i32:t3 + %b6:p0:i32:t1 + %b6:p1:i32:t2 + %b6:p2:i32:t3 %b6:i0:unit = nop - %b6:i1:u1 = cmp ne %b6:p0:i32 0:i32 + %b6:i1:u1 = cmp ne %b6:p2:i32 0:i32 br %b6:i1:u1, b1(), b2() block b7: @@ -7027,7 +7373,7 @@ block b12: %b12:p0:i32:t1 %b12:i0:unit = nop %b12:i1:unit = nop - j b6(%b12:p0:i32) + j b6(%b12:p0:i32, undef:i32, %b12:p0:i32) block b13: %b13:i0:unit = nop @@ -7043,7 +7389,7 @@ block b15: %b15:p0:i32:t2 %b15:i0:unit = nop %b15:i1:unit = nop - j b6(%b15:p0:i32) + j b6(undef:i32, %b15:p0:i32, %b15:p0:i32) block b16: %b16:i0:unit = nop @@ -7056,10 +7402,12 @@ block b17: br %b17:i1:u1, b25(), b26() block b18: - %b18:p0:i32:t7 + %b18:p0:i32:t5 + %b18:p1:i32:t6 + %b18:p2:i32:t7 %b18:i0:unit = nop %b18:i1:unit = nop - j b3(%b18:p0:i32) + j b3(%b21:p0:i32, %b18:p0:i32, %b18:p1:i32, %b18:p2:i32, undef:i32, undef:i32, undef:i32, undef:i32, %b18:p2:i32) block b19: %b19:i0:unit = nop @@ -7091,7 +7439,7 @@ block b24: %b24:p0:i32:t5 %b24:i0:unit = nop %b24:i1:unit = nop - j b18(%b24:p0:i32) + j b18(%b24:p0:i32, undef:i32, %b24:p0:i32) block b25: %b25:i0:unit = nop @@ -7107,7 +7455,7 @@ block b27: %b27:p0:i32:t6 %b27:i0:unit = nop %b27:i1:unit = nop - j b18(%b27:p0:i32) + j b18(undef:i32, %b27:p0:i32, %b27:p0:i32) block b28: %b28:i0:unit = nop @@ -7120,10 +7468,12 @@ block b29: br %b29:i1:u1, b37(), b38() block b30: - %b30:p0:i32:t11 + %b30:p0:i32:t9 + %b30:p1:i32:t10 + %b30:p2:i32:t11 %b30:i0:unit = nop %b30:i1:unit = nop - j b3(%b30:p0:i32) + j b3(undef:i32, undef:i32, undef:i32, undef:i32, %b33:p0:i32, %b30:p0:i32, %b30:p1:i32, %b30:p2:i32, %b30:p2:i32) block b31: %b31:i0:unit = nop @@ -7155,7 +7505,7 @@ block b36: %b36:p0:i32:t9 %b36:i0:unit = nop %b36:i1:unit = nop - j b30(%b36:p0:i32) + j b30(%b36:p0:i32, undef:i32, %b36:p0:i32) block b37: %b37:i0:unit = nop @@ -7171,7 +7521,7 @@ block b39: %b39:p0:i32:t10 %b39:i0:unit = nop %b39:i1:unit = nop - j b30(%b39:p0:i32) + j b30(undef:i32, %b39:p0:i32, %b39:p0:i32) } fun i32 @func_31 () { @@ -7262,9 +7612,17 @@ block b2: br %b2:i1:u1, b31(), b32() block b3: - %b3:p0:i32:t12 + %b3:p0:i32:t4 + %b3:p1:i32:t5 + %b3:p2:i32:t6 + %b3:p3:i32:t7 + %b3:p4:i32:t8 + %b3:p5:i32:t9 + %b3:p6:i32:t10 + %b3:p7:i32:t11 + %b3:p8:i32:t12 %b3:i0:unit = nop - %b3:i1:u1 = cmp eq %b3:p0:i32 0:i32 + %b3:i1:u1 = cmp eq %b3:p8:i32 0:i32 %b3:i2:i32 = typecast %b3:i1:u1 to i32 ret %b3:i2:i32 @@ -7279,9 +7637,11 @@ block b5: br %b5:i1:u1, b13(), b14() block b6: - %b6:p0:i32:t3 + %b6:p0:i32:t1 + %b6:p1:i32:t2 + %b6:p2:i32:t3 %b6:i0:unit = nop - %b6:i1:u1 = cmp ne %b6:p0:i32 0:i32 + %b6:i1:u1 = cmp ne %b6:p2:i32 0:i32 br %b6:i1:u1, b1(), b2() block b7: @@ -7314,7 +7674,7 @@ block b12: %b12:p0:i32:t1 %b12:i0:unit = nop %b12:i1:unit = nop - j b6(%b12:p0:i32) + j b6(%b12:p0:i32, undef:i32, %b12:p0:i32) block b13: %b13:i0:unit = nop @@ -7330,7 +7690,7 @@ block b15: %b15:p0:i32:t2 %b15:i0:unit = nop %b15:i1:unit = nop - j b6(%b15:p0:i32) + j b6(undef:i32, %b15:p0:i32, %b15:p0:i32) block b16: %b16:i0:unit = nop @@ -7343,10 +7703,12 @@ block b17: br %b17:i1:u1, b25(), b26() block b18: - %b18:p0:i32:t7 + %b18:p0:i32:t5 + %b18:p1:i32:t6 + %b18:p2:i32:t7 %b18:i0:unit = nop %b18:i1:unit = nop - j b3(%b18:p0:i32) + j b3(%b21:p0:i32, %b18:p0:i32, %b18:p1:i32, %b18:p2:i32, undef:i32, undef:i32, undef:i32, undef:i32, %b18:p2:i32) block b19: %b19:i0:unit = nop @@ -7378,7 +7740,7 @@ block b24: %b24:p0:i32:t5 %b24:i0:unit = nop %b24:i1:unit = nop - j b18(%b24:p0:i32) + j b18(%b24:p0:i32, undef:i32, %b24:p0:i32) block b25: %b25:i0:unit = nop @@ -7394,7 +7756,7 @@ block b27: %b27:p0:i32:t6 %b27:i0:unit = nop %b27:i1:unit = nop - j b18(%b27:p0:i32) + j b18(undef:i32, %b27:p0:i32, %b27:p0:i32) block b28: %b28:i0:unit = nop @@ -7407,10 +7769,12 @@ block b29: br %b29:i1:u1, b37(), b38() block b30: - %b30:p0:i32:t11 + %b30:p0:i32:t9 + %b30:p1:i32:t10 + %b30:p2:i32:t11 %b30:i0:unit = nop %b30:i1:unit = nop - j b3(%b30:p0:i32) + j b3(undef:i32, undef:i32, undef:i32, undef:i32, %b33:p0:i32, %b30:p0:i32, %b30:p1:i32, %b30:p2:i32, %b30:p2:i32) block b31: %b31:i0:unit = nop @@ -7442,7 +7806,7 @@ block b36: %b36:p0:i32:t9 %b36:i0:unit = nop %b36:i1:unit = nop - j b30(%b36:p0:i32) + j b30(%b36:p0:i32, undef:i32, %b36:p0:i32) block b37: %b37:i0:unit = nop @@ -7458,7 +7822,7 @@ block b39: %b39:p0:i32:t10 %b39:i0:unit = nop %b39:i1:unit = nop - j b30(%b39:p0:i32) + j b30(undef:i32, %b39:p0:i32, %b39:p0:i32) } fun i32 @func_32 () { @@ -7549,9 +7913,17 @@ block b2: br %b2:i1:u1, b31(), b32() block b3: - %b3:p0:i32:t12 + %b3:p0:i32:t4 + %b3:p1:i32:t5 + %b3:p2:i32:t6 + %b3:p3:i32:t7 + %b3:p4:i32:t8 + %b3:p5:i32:t9 + %b3:p6:i32:t10 + %b3:p7:i32:t11 + %b3:p8:i32:t12 %b3:i0:unit = nop - %b3:i1:u1 = cmp eq %b3:p0:i32 0:i32 + %b3:i1:u1 = cmp eq %b3:p8:i32 0:i32 %b3:i2:i32 = typecast %b3:i1:u1 to i32 ret %b3:i2:i32 @@ -7566,9 +7938,11 @@ block b5: br %b5:i1:u1, b13(), b14() block b6: - %b6:p0:i32:t3 + %b6:p0:i32:t1 + %b6:p1:i32:t2 + %b6:p2:i32:t3 %b6:i0:unit = nop - %b6:i1:u1 = cmp ne %b6:p0:i32 0:i32 + %b6:i1:u1 = cmp ne %b6:p2:i32 0:i32 br %b6:i1:u1, b1(), b2() block b7: @@ -7601,7 +7975,7 @@ block b12: %b12:p0:i32:t1 %b12:i0:unit = nop %b12:i1:unit = nop - j b6(%b12:p0:i32) + j b6(%b12:p0:i32, undef:i32, %b12:p0:i32) block b13: %b13:i0:unit = nop @@ -7617,7 +7991,7 @@ block b15: %b15:p0:i32:t2 %b15:i0:unit = nop %b15:i1:unit = nop - j b6(%b15:p0:i32) + j b6(undef:i32, %b15:p0:i32, %b15:p0:i32) block b16: %b16:i0:unit = nop @@ -7630,10 +8004,12 @@ block b17: br %b17:i1:u1, b25(), b26() block b18: - %b18:p0:i32:t7 + %b18:p0:i32:t5 + %b18:p1:i32:t6 + %b18:p2:i32:t7 %b18:i0:unit = nop %b18:i1:unit = nop - j b3(%b18:p0:i32) + j b3(%b21:p0:i32, %b18:p0:i32, %b18:p1:i32, %b18:p2:i32, undef:i32, undef:i32, undef:i32, undef:i32, %b18:p2:i32) block b19: %b19:i0:unit = nop @@ -7665,7 +8041,7 @@ block b24: %b24:p0:i32:t5 %b24:i0:unit = nop %b24:i1:unit = nop - j b18(%b24:p0:i32) + j b18(%b24:p0:i32, undef:i32, %b24:p0:i32) block b25: %b25:i0:unit = nop @@ -7681,7 +8057,7 @@ block b27: %b27:p0:i32:t6 %b27:i0:unit = nop %b27:i1:unit = nop - j b18(%b27:p0:i32) + j b18(undef:i32, %b27:p0:i32, %b27:p0:i32) block b28: %b28:i0:unit = nop @@ -7694,10 +8070,12 @@ block b29: br %b29:i1:u1, b37(), b38() block b30: - %b30:p0:i32:t11 + %b30:p0:i32:t9 + %b30:p1:i32:t10 + %b30:p2:i32:t11 %b30:i0:unit = nop %b30:i1:unit = nop - j b3(%b30:p0:i32) + j b3(undef:i32, undef:i32, undef:i32, undef:i32, %b33:p0:i32, %b30:p0:i32, %b30:p1:i32, %b30:p2:i32, %b30:p2:i32) block b31: %b31:i0:unit = nop @@ -7729,7 +8107,7 @@ block b36: %b36:p0:i32:t9 %b36:i0:unit = nop %b36:i1:unit = nop - j b30(%b36:p0:i32) + j b30(%b36:p0:i32, undef:i32, %b36:p0:i32) block b37: %b37:i0:unit = nop @@ -7745,7 +8123,7 @@ block b39: %b39:p0:i32:t10 %b39:i0:unit = nop %b39:i1:unit = nop - j b30(%b39:p0:i32) + j b30(undef:i32, %b39:p0:i32, %b39:p0:i32) } fun i32 @func_33 () { @@ -7836,9 +8214,17 @@ block b2: br %b2:i1:u1, b31(), b32() block b3: - %b3:p0:i32:t12 + %b3:p0:i32:t4 + %b3:p1:i32:t5 + %b3:p2:i32:t6 + %b3:p3:i32:t7 + %b3:p4:i32:t8 + %b3:p5:i32:t9 + %b3:p6:i32:t10 + %b3:p7:i32:t11 + %b3:p8:i32:t12 %b3:i0:unit = nop - %b3:i1:u1 = cmp eq %b3:p0:i32 1:i32 + %b3:i1:u1 = cmp eq %b3:p8:i32 1:i32 %b3:i2:i32 = typecast %b3:i1:u1 to i32 ret %b3:i2:i32 @@ -7853,9 +8239,11 @@ block b5: br %b5:i1:u1, b13(), b14() block b6: - %b6:p0:i32:t3 + %b6:p0:i32:t1 + %b6:p1:i32:t2 + %b6:p2:i32:t3 %b6:i0:unit = nop - %b6:i1:u1 = cmp ne %b6:p0:i32 0:i32 + %b6:i1:u1 = cmp ne %b6:p2:i32 0:i32 br %b6:i1:u1, b1(), b2() block b7: @@ -7888,7 +8276,7 @@ block b12: %b12:p0:i32:t1 %b12:i0:unit = nop %b12:i1:unit = nop - j b6(%b12:p0:i32) + j b6(%b12:p0:i32, undef:i32, %b12:p0:i32) block b13: %b13:i0:unit = nop @@ -7904,7 +8292,7 @@ block b15: %b15:p0:i32:t2 %b15:i0:unit = nop %b15:i1:unit = nop - j b6(%b15:p0:i32) + j b6(undef:i32, %b15:p0:i32, %b15:p0:i32) block b16: %b16:i0:unit = nop @@ -7917,10 +8305,12 @@ block b17: br %b17:i1:u1, b25(), b26() block b18: - %b18:p0:i32:t7 + %b18:p0:i32:t5 + %b18:p1:i32:t6 + %b18:p2:i32:t7 %b18:i0:unit = nop %b18:i1:unit = nop - j b3(%b18:p0:i32) + j b3(%b21:p0:i32, %b18:p0:i32, %b18:p1:i32, %b18:p2:i32, undef:i32, undef:i32, undef:i32, undef:i32, %b18:p2:i32) block b19: %b19:i0:unit = nop @@ -7952,7 +8342,7 @@ block b24: %b24:p0:i32:t5 %b24:i0:unit = nop %b24:i1:unit = nop - j b18(%b24:p0:i32) + j b18(%b24:p0:i32, undef:i32, %b24:p0:i32) block b25: %b25:i0:unit = nop @@ -7968,7 +8358,7 @@ block b27: %b27:p0:i32:t6 %b27:i0:unit = nop %b27:i1:unit = nop - j b18(%b27:p0:i32) + j b18(undef:i32, %b27:p0:i32, %b27:p0:i32) block b28: %b28:i0:unit = nop @@ -7981,10 +8371,12 @@ block b29: br %b29:i1:u1, b37(), b38() block b30: - %b30:p0:i32:t11 + %b30:p0:i32:t9 + %b30:p1:i32:t10 + %b30:p2:i32:t11 %b30:i0:unit = nop %b30:i1:unit = nop - j b3(%b30:p0:i32) + j b3(undef:i32, undef:i32, undef:i32, undef:i32, %b33:p0:i32, %b30:p0:i32, %b30:p1:i32, %b30:p2:i32, %b30:p2:i32) block b31: %b31:i0:unit = nop @@ -8016,7 +8408,7 @@ block b36: %b36:p0:i32:t9 %b36:i0:unit = nop %b36:i1:unit = nop - j b30(%b36:p0:i32) + j b30(%b36:p0:i32, undef:i32, %b36:p0:i32) block b37: %b37:i0:unit = nop @@ -8032,7 +8424,7 @@ block b39: %b39:p0:i32:t10 %b39:i0:unit = nop %b39:i1:unit = nop - j b30(%b39:p0:i32) + j b30(undef:i32, %b39:p0:i32, %b39:p0:i32) } fun i32 @func_34 () { @@ -8123,9 +8515,17 @@ block b2: br %b2:i1:u1, b31(), b32() block b3: - %b3:p0:i32:t12 + %b3:p0:i32:t4 + %b3:p1:i32:t5 + %b3:p2:i32:t6 + %b3:p3:i32:t7 + %b3:p4:i32:t8 + %b3:p5:i32:t9 + %b3:p6:i32:t10 + %b3:p7:i32:t11 + %b3:p8:i32:t12 %b3:i0:unit = nop - %b3:i1:u1 = cmp eq %b3:p0:i32 1:i32 + %b3:i1:u1 = cmp eq %b3:p8:i32 1:i32 %b3:i2:i32 = typecast %b3:i1:u1 to i32 ret %b3:i2:i32 @@ -8140,9 +8540,11 @@ block b5: br %b5:i1:u1, b13(), b14() block b6: - %b6:p0:i32:t3 + %b6:p0:i32:t1 + %b6:p1:i32:t2 + %b6:p2:i32:t3 %b6:i0:unit = nop - %b6:i1:u1 = cmp ne %b6:p0:i32 0:i32 + %b6:i1:u1 = cmp ne %b6:p2:i32 0:i32 br %b6:i1:u1, b1(), b2() block b7: @@ -8175,7 +8577,7 @@ block b12: %b12:p0:i32:t1 %b12:i0:unit = nop %b12:i1:unit = nop - j b6(%b12:p0:i32) + j b6(%b12:p0:i32, undef:i32, %b12:p0:i32) block b13: %b13:i0:unit = nop @@ -8191,7 +8593,7 @@ block b15: %b15:p0:i32:t2 %b15:i0:unit = nop %b15:i1:unit = nop - j b6(%b15:p0:i32) + j b6(undef:i32, %b15:p0:i32, %b15:p0:i32) block b16: %b16:i0:unit = nop @@ -8204,10 +8606,12 @@ block b17: br %b17:i1:u1, b25(), b26() block b18: - %b18:p0:i32:t7 + %b18:p0:i32:t5 + %b18:p1:i32:t6 + %b18:p2:i32:t7 %b18:i0:unit = nop %b18:i1:unit = nop - j b3(%b18:p0:i32) + j b3(%b21:p0:i32, %b18:p0:i32, %b18:p1:i32, %b18:p2:i32, undef:i32, undef:i32, undef:i32, undef:i32, %b18:p2:i32) block b19: %b19:i0:unit = nop @@ -8239,7 +8643,7 @@ block b24: %b24:p0:i32:t5 %b24:i0:unit = nop %b24:i1:unit = nop - j b18(%b24:p0:i32) + j b18(%b24:p0:i32, undef:i32, %b24:p0:i32) block b25: %b25:i0:unit = nop @@ -8255,7 +8659,7 @@ block b27: %b27:p0:i32:t6 %b27:i0:unit = nop %b27:i1:unit = nop - j b18(%b27:p0:i32) + j b18(undef:i32, %b27:p0:i32, %b27:p0:i32) block b28: %b28:i0:unit = nop @@ -8268,10 +8672,12 @@ block b29: br %b29:i1:u1, b37(), b38() block b30: - %b30:p0:i32:t11 + %b30:p0:i32:t9 + %b30:p1:i32:t10 + %b30:p2:i32:t11 %b30:i0:unit = nop %b30:i1:unit = nop - j b3(%b30:p0:i32) + j b3(undef:i32, undef:i32, undef:i32, undef:i32, %b33:p0:i32, %b30:p0:i32, %b30:p1:i32, %b30:p2:i32, %b30:p2:i32) block b31: %b31:i0:unit = nop @@ -8303,7 +8709,7 @@ block b36: %b36:p0:i32:t9 %b36:i0:unit = nop %b36:i1:unit = nop - j b30(%b36:p0:i32) + j b30(%b36:p0:i32, undef:i32, %b36:p0:i32) block b37: %b37:i0:unit = nop @@ -8319,7 +8725,7 @@ block b39: %b39:p0:i32:t10 %b39:i0:unit = nop %b39:i1:unit = nop - j b30(%b39:p0:i32) + j b30(undef:i32, %b39:p0:i32, %b39:p0:i32) } fun i32 @func_35 () { @@ -8410,9 +8816,17 @@ block b2: br %b2:i1:u1, b31(), b32() block b3: - %b3:p0:i32:t12 + %b3:p0:i32:t4 + %b3:p1:i32:t5 + %b3:p2:i32:t6 + %b3:p3:i32:t7 + %b3:p4:i32:t8 + %b3:p5:i32:t9 + %b3:p6:i32:t10 + %b3:p7:i32:t11 + %b3:p8:i32:t12 %b3:i0:unit = nop - %b3:i1:u1 = cmp eq %b3:p0:i32 1:i32 + %b3:i1:u1 = cmp eq %b3:p8:i32 1:i32 %b3:i2:i32 = typecast %b3:i1:u1 to i32 ret %b3:i2:i32 @@ -8427,9 +8841,11 @@ block b5: br %b5:i1:u1, b13(), b14() block b6: - %b6:p0:i32:t3 + %b6:p0:i32:t1 + %b6:p1:i32:t2 + %b6:p2:i32:t3 %b6:i0:unit = nop - %b6:i1:u1 = cmp ne %b6:p0:i32 0:i32 + %b6:i1:u1 = cmp ne %b6:p2:i32 0:i32 br %b6:i1:u1, b1(), b2() block b7: @@ -8462,7 +8878,7 @@ block b12: %b12:p0:i32:t1 %b12:i0:unit = nop %b12:i1:unit = nop - j b6(%b12:p0:i32) + j b6(%b12:p0:i32, undef:i32, %b12:p0:i32) block b13: %b13:i0:unit = nop @@ -8478,7 +8894,7 @@ block b15: %b15:p0:i32:t2 %b15:i0:unit = nop %b15:i1:unit = nop - j b6(%b15:p0:i32) + j b6(undef:i32, %b15:p0:i32, %b15:p0:i32) block b16: %b16:i0:unit = nop @@ -8491,10 +8907,12 @@ block b17: br %b17:i1:u1, b25(), b26() block b18: - %b18:p0:i32:t7 + %b18:p0:i32:t5 + %b18:p1:i32:t6 + %b18:p2:i32:t7 %b18:i0:unit = nop %b18:i1:unit = nop - j b3(%b18:p0:i32) + j b3(%b21:p0:i32, %b18:p0:i32, %b18:p1:i32, %b18:p2:i32, undef:i32, undef:i32, undef:i32, undef:i32, %b18:p2:i32) block b19: %b19:i0:unit = nop @@ -8526,7 +8944,7 @@ block b24: %b24:p0:i32:t5 %b24:i0:unit = nop %b24:i1:unit = nop - j b18(%b24:p0:i32) + j b18(%b24:p0:i32, undef:i32, %b24:p0:i32) block b25: %b25:i0:unit = nop @@ -8542,7 +8960,7 @@ block b27: %b27:p0:i32:t6 %b27:i0:unit = nop %b27:i1:unit = nop - j b18(%b27:p0:i32) + j b18(undef:i32, %b27:p0:i32, %b27:p0:i32) block b28: %b28:i0:unit = nop @@ -8555,10 +8973,12 @@ block b29: br %b29:i1:u1, b37(), b38() block b30: - %b30:p0:i32:t11 + %b30:p0:i32:t9 + %b30:p1:i32:t10 + %b30:p2:i32:t11 %b30:i0:unit = nop %b30:i1:unit = nop - j b3(%b30:p0:i32) + j b3(undef:i32, undef:i32, undef:i32, undef:i32, %b33:p0:i32, %b30:p0:i32, %b30:p1:i32, %b30:p2:i32, %b30:p2:i32) block b31: %b31:i0:unit = nop @@ -8590,7 +9010,7 @@ block b36: %b36:p0:i32:t9 %b36:i0:unit = nop %b36:i1:unit = nop - j b30(%b36:p0:i32) + j b30(%b36:p0:i32, undef:i32, %b36:p0:i32) block b37: %b37:i0:unit = nop @@ -8606,7 +9026,7 @@ block b39: %b39:p0:i32:t10 %b39:i0:unit = nop %b39:i1:unit = nop - j b30(%b39:p0:i32) + j b30(undef:i32, %b39:p0:i32, %b39:p0:i32) } fun i32 @func_36 () { @@ -8697,9 +9117,17 @@ block b2: br %b2:i1:u1, b31(), b32() block b3: - %b3:p0:i32:t12 + %b3:p0:i32:t4 + %b3:p1:i32:t5 + %b3:p2:i32:t6 + %b3:p3:i32:t7 + %b3:p4:i32:t8 + %b3:p5:i32:t9 + %b3:p6:i32:t10 + %b3:p7:i32:t11 + %b3:p8:i32:t12 %b3:i0:unit = nop - %b3:i1:u1 = cmp eq %b3:p0:i32 1:i32 + %b3:i1:u1 = cmp eq %b3:p8:i32 1:i32 %b3:i2:i32 = typecast %b3:i1:u1 to i32 ret %b3:i2:i32 @@ -8714,9 +9142,11 @@ block b5: br %b5:i1:u1, b13(), b14() block b6: - %b6:p0:i32:t3 + %b6:p0:i32:t1 + %b6:p1:i32:t2 + %b6:p2:i32:t3 %b6:i0:unit = nop - %b6:i1:u1 = cmp ne %b6:p0:i32 0:i32 + %b6:i1:u1 = cmp ne %b6:p2:i32 0:i32 br %b6:i1:u1, b1(), b2() block b7: @@ -8749,7 +9179,7 @@ block b12: %b12:p0:i32:t1 %b12:i0:unit = nop %b12:i1:unit = nop - j b6(%b12:p0:i32) + j b6(%b12:p0:i32, undef:i32, %b12:p0:i32) block b13: %b13:i0:unit = nop @@ -8765,7 +9195,7 @@ block b15: %b15:p0:i32:t2 %b15:i0:unit = nop %b15:i1:unit = nop - j b6(%b15:p0:i32) + j b6(undef:i32, %b15:p0:i32, %b15:p0:i32) block b16: %b16:i0:unit = nop @@ -8778,10 +9208,12 @@ block b17: br %b17:i1:u1, b25(), b26() block b18: - %b18:p0:i32:t7 + %b18:p0:i32:t5 + %b18:p1:i32:t6 + %b18:p2:i32:t7 %b18:i0:unit = nop %b18:i1:unit = nop - j b3(%b18:p0:i32) + j b3(%b21:p0:i32, %b18:p0:i32, %b18:p1:i32, %b18:p2:i32, undef:i32, undef:i32, undef:i32, undef:i32, %b18:p2:i32) block b19: %b19:i0:unit = nop @@ -8813,7 +9245,7 @@ block b24: %b24:p0:i32:t5 %b24:i0:unit = nop %b24:i1:unit = nop - j b18(%b24:p0:i32) + j b18(%b24:p0:i32, undef:i32, %b24:p0:i32) block b25: %b25:i0:unit = nop @@ -8829,7 +9261,7 @@ block b27: %b27:p0:i32:t6 %b27:i0:unit = nop %b27:i1:unit = nop - j b18(%b27:p0:i32) + j b18(undef:i32, %b27:p0:i32, %b27:p0:i32) block b28: %b28:i0:unit = nop @@ -8842,10 +9274,12 @@ block b29: br %b29:i1:u1, b37(), b38() block b30: - %b30:p0:i32:t11 + %b30:p0:i32:t9 + %b30:p1:i32:t10 + %b30:p2:i32:t11 %b30:i0:unit = nop %b30:i1:unit = nop - j b3(%b30:p0:i32) + j b3(undef:i32, undef:i32, undef:i32, undef:i32, %b33:p0:i32, %b30:p0:i32, %b30:p1:i32, %b30:p2:i32, %b30:p2:i32) block b31: %b31:i0:unit = nop @@ -8877,7 +9311,7 @@ block b36: %b36:p0:i32:t9 %b36:i0:unit = nop %b36:i1:unit = nop - j b30(%b36:p0:i32) + j b30(%b36:p0:i32, undef:i32, %b36:p0:i32) block b37: %b37:i0:unit = nop @@ -8893,7 +9327,7 @@ block b39: %b39:p0:i32:t10 %b39:i0:unit = nop %b39:i1:unit = nop - j b30(%b39:p0:i32) + j b30(undef:i32, %b39:p0:i32, %b39:p0:i32) } fun i32 @func_37 () { @@ -8984,9 +9418,17 @@ block b2: br %b2:i1:u1, b31(), b32() block b3: - %b3:p0:i32:t12 + %b3:p0:i32:t4 + %b3:p1:i32:t5 + %b3:p2:i32:t6 + %b3:p3:i32:t7 + %b3:p4:i32:t8 + %b3:p5:i32:t9 + %b3:p6:i32:t10 + %b3:p7:i32:t11 + %b3:p8:i32:t12 %b3:i0:unit = nop - %b3:i1:u1 = cmp eq %b3:p0:i32 0:i32 + %b3:i1:u1 = cmp eq %b3:p8:i32 0:i32 %b3:i2:i32 = typecast %b3:i1:u1 to i32 ret %b3:i2:i32 @@ -9001,9 +9443,11 @@ block b5: br %b5:i1:u1, b13(), b14() block b6: - %b6:p0:i32:t3 + %b6:p0:i32:t1 + %b6:p1:i32:t2 + %b6:p2:i32:t3 %b6:i0:unit = nop - %b6:i1:u1 = cmp ne %b6:p0:i32 0:i32 + %b6:i1:u1 = cmp ne %b6:p2:i32 0:i32 br %b6:i1:u1, b1(), b2() block b7: @@ -9036,7 +9480,7 @@ block b12: %b12:p0:i32:t1 %b12:i0:unit = nop %b12:i1:unit = nop - j b6(%b12:p0:i32) + j b6(%b12:p0:i32, undef:i32, %b12:p0:i32) block b13: %b13:i0:unit = nop @@ -9052,7 +9496,7 @@ block b15: %b15:p0:i32:t2 %b15:i0:unit = nop %b15:i1:unit = nop - j b6(%b15:p0:i32) + j b6(undef:i32, %b15:p0:i32, %b15:p0:i32) block b16: %b16:i0:unit = nop @@ -9065,10 +9509,12 @@ block b17: br %b17:i1:u1, b25(), b26() block b18: - %b18:p0:i32:t7 + %b18:p0:i32:t5 + %b18:p1:i32:t6 + %b18:p2:i32:t7 %b18:i0:unit = nop %b18:i1:unit = nop - j b3(%b18:p0:i32) + j b3(%b21:p0:i32, %b18:p0:i32, %b18:p1:i32, %b18:p2:i32, undef:i32, undef:i32, undef:i32, undef:i32, %b18:p2:i32) block b19: %b19:i0:unit = nop @@ -9100,7 +9546,7 @@ block b24: %b24:p0:i32:t5 %b24:i0:unit = nop %b24:i1:unit = nop - j b18(%b24:p0:i32) + j b18(%b24:p0:i32, undef:i32, %b24:p0:i32) block b25: %b25:i0:unit = nop @@ -9116,7 +9562,7 @@ block b27: %b27:p0:i32:t6 %b27:i0:unit = nop %b27:i1:unit = nop - j b18(%b27:p0:i32) + j b18(undef:i32, %b27:p0:i32, %b27:p0:i32) block b28: %b28:i0:unit = nop @@ -9129,10 +9575,12 @@ block b29: br %b29:i1:u1, b37(), b38() block b30: - %b30:p0:i32:t11 + %b30:p0:i32:t9 + %b30:p1:i32:t10 + %b30:p2:i32:t11 %b30:i0:unit = nop %b30:i1:unit = nop - j b3(%b30:p0:i32) + j b3(undef:i32, undef:i32, undef:i32, undef:i32, %b33:p0:i32, %b30:p0:i32, %b30:p1:i32, %b30:p2:i32, %b30:p2:i32) block b31: %b31:i0:unit = nop @@ -9164,7 +9612,7 @@ block b36: %b36:p0:i32:t9 %b36:i0:unit = nop %b36:i1:unit = nop - j b30(%b36:p0:i32) + j b30(%b36:p0:i32, undef:i32, %b36:p0:i32) block b37: %b37:i0:unit = nop @@ -9180,7 +9628,7 @@ block b39: %b39:p0:i32:t10 %b39:i0:unit = nop %b39:i1:unit = nop - j b30(%b39:p0:i32) + j b30(undef:i32, %b39:p0:i32, %b39:p0:i32) } fun i32 @func_38 () { @@ -9271,9 +9719,17 @@ block b2: br %b2:i1:u1, b31(), b32() block b3: - %b3:p0:i32:t12 + %b3:p0:i32:t4 + %b3:p1:i32:t5 + %b3:p2:i32:t6 + %b3:p3:i32:t7 + %b3:p4:i32:t8 + %b3:p5:i32:t9 + %b3:p6:i32:t10 + %b3:p7:i32:t11 + %b3:p8:i32:t12 %b3:i0:unit = nop - %b3:i1:u1 = cmp eq %b3:p0:i32 1:i32 + %b3:i1:u1 = cmp eq %b3:p8:i32 1:i32 %b3:i2:i32 = typecast %b3:i1:u1 to i32 ret %b3:i2:i32 @@ -9288,9 +9744,11 @@ block b5: br %b5:i1:u1, b13(), b14() block b6: - %b6:p0:i32:t3 + %b6:p0:i32:t1 + %b6:p1:i32:t2 + %b6:p2:i32:t3 %b6:i0:unit = nop - %b6:i1:u1 = cmp ne %b6:p0:i32 0:i32 + %b6:i1:u1 = cmp ne %b6:p2:i32 0:i32 br %b6:i1:u1, b1(), b2() block b7: @@ -9323,7 +9781,7 @@ block b12: %b12:p0:i32:t1 %b12:i0:unit = nop %b12:i1:unit = nop - j b6(%b12:p0:i32) + j b6(%b12:p0:i32, undef:i32, %b12:p0:i32) block b13: %b13:i0:unit = nop @@ -9339,7 +9797,7 @@ block b15: %b15:p0:i32:t2 %b15:i0:unit = nop %b15:i1:unit = nop - j b6(%b15:p0:i32) + j b6(undef:i32, %b15:p0:i32, %b15:p0:i32) block b16: %b16:i0:unit = nop @@ -9352,10 +9810,12 @@ block b17: br %b17:i1:u1, b25(), b26() block b18: - %b18:p0:i32:t7 + %b18:p0:i32:t5 + %b18:p1:i32:t6 + %b18:p2:i32:t7 %b18:i0:unit = nop %b18:i1:unit = nop - j b3(%b18:p0:i32) + j b3(%b21:p0:i32, %b18:p0:i32, %b18:p1:i32, %b18:p2:i32, undef:i32, undef:i32, undef:i32, undef:i32, %b18:p2:i32) block b19: %b19:i0:unit = nop @@ -9387,7 +9847,7 @@ block b24: %b24:p0:i32:t5 %b24:i0:unit = nop %b24:i1:unit = nop - j b18(%b24:p0:i32) + j b18(%b24:p0:i32, undef:i32, %b24:p0:i32) block b25: %b25:i0:unit = nop @@ -9403,7 +9863,7 @@ block b27: %b27:p0:i32:t6 %b27:i0:unit = nop %b27:i1:unit = nop - j b18(%b27:p0:i32) + j b18(undef:i32, %b27:p0:i32, %b27:p0:i32) block b28: %b28:i0:unit = nop @@ -9416,10 +9876,12 @@ block b29: br %b29:i1:u1, b37(), b38() block b30: - %b30:p0:i32:t11 + %b30:p0:i32:t9 + %b30:p1:i32:t10 + %b30:p2:i32:t11 %b30:i0:unit = nop %b30:i1:unit = nop - j b3(%b30:p0:i32) + j b3(undef:i32, undef:i32, undef:i32, undef:i32, %b33:p0:i32, %b30:p0:i32, %b30:p1:i32, %b30:p2:i32, %b30:p2:i32) block b31: %b31:i0:unit = nop @@ -9451,7 +9913,7 @@ block b36: %b36:p0:i32:t9 %b36:i0:unit = nop %b36:i1:unit = nop - j b30(%b36:p0:i32) + j b30(%b36:p0:i32, undef:i32, %b36:p0:i32) block b37: %b37:i0:unit = nop @@ -9467,7 +9929,7 @@ block b39: %b39:p0:i32:t10 %b39:i0:unit = nop %b39:i1:unit = nop - j b30(%b39:p0:i32) + j b30(undef:i32, %b39:p0:i32, %b39:p0:i32) } fun i32 @func_39 () { @@ -9558,9 +10020,17 @@ block b2: br %b2:i1:u1, b31(), b32() block b3: - %b3:p0:i32:t12 + %b3:p0:i32:t4 + %b3:p1:i32:t5 + %b3:p2:i32:t6 + %b3:p3:i32:t7 + %b3:p4:i32:t8 + %b3:p5:i32:t9 + %b3:p6:i32:t10 + %b3:p7:i32:t11 + %b3:p8:i32:t12 %b3:i0:unit = nop - %b3:i1:u1 = cmp eq %b3:p0:i32 0:i32 + %b3:i1:u1 = cmp eq %b3:p8:i32 0:i32 %b3:i2:i32 = typecast %b3:i1:u1 to i32 ret %b3:i2:i32 @@ -9575,9 +10045,11 @@ block b5: br %b5:i1:u1, b13(), b14() block b6: - %b6:p0:i32:t3 + %b6:p0:i32:t1 + %b6:p1:i32:t2 + %b6:p2:i32:t3 %b6:i0:unit = nop - %b6:i1:u1 = cmp ne %b6:p0:i32 0:i32 + %b6:i1:u1 = cmp ne %b6:p2:i32 0:i32 br %b6:i1:u1, b1(), b2() block b7: @@ -9610,7 +10082,7 @@ block b12: %b12:p0:i32:t1 %b12:i0:unit = nop %b12:i1:unit = nop - j b6(%b12:p0:i32) + j b6(%b12:p0:i32, undef:i32, %b12:p0:i32) block b13: %b13:i0:unit = nop @@ -9626,7 +10098,7 @@ block b15: %b15:p0:i32:t2 %b15:i0:unit = nop %b15:i1:unit = nop - j b6(%b15:p0:i32) + j b6(undef:i32, %b15:p0:i32, %b15:p0:i32) block b16: %b16:i0:unit = nop @@ -9639,10 +10111,12 @@ block b17: br %b17:i1:u1, b25(), b26() block b18: - %b18:p0:i32:t7 + %b18:p0:i32:t5 + %b18:p1:i32:t6 + %b18:p2:i32:t7 %b18:i0:unit = nop %b18:i1:unit = nop - j b3(%b18:p0:i32) + j b3(%b21:p0:i32, %b18:p0:i32, %b18:p1:i32, %b18:p2:i32, undef:i32, undef:i32, undef:i32, undef:i32, %b18:p2:i32) block b19: %b19:i0:unit = nop @@ -9674,7 +10148,7 @@ block b24: %b24:p0:i32:t5 %b24:i0:unit = nop %b24:i1:unit = nop - j b18(%b24:p0:i32) + j b18(%b24:p0:i32, undef:i32, %b24:p0:i32) block b25: %b25:i0:unit = nop @@ -9690,7 +10164,7 @@ block b27: %b27:p0:i32:t6 %b27:i0:unit = nop %b27:i1:unit = nop - j b18(%b27:p0:i32) + j b18(undef:i32, %b27:p0:i32, %b27:p0:i32) block b28: %b28:i0:unit = nop @@ -9703,10 +10177,12 @@ block b29: br %b29:i1:u1, b37(), b38() block b30: - %b30:p0:i32:t11 + %b30:p0:i32:t9 + %b30:p1:i32:t10 + %b30:p2:i32:t11 %b30:i0:unit = nop %b30:i1:unit = nop - j b3(%b30:p0:i32) + j b3(undef:i32, undef:i32, undef:i32, undef:i32, %b33:p0:i32, %b30:p0:i32, %b30:p1:i32, %b30:p2:i32, %b30:p2:i32) block b31: %b31:i0:unit = nop @@ -9738,7 +10214,7 @@ block b36: %b36:p0:i32:t9 %b36:i0:unit = nop %b36:i1:unit = nop - j b30(%b36:p0:i32) + j b30(%b36:p0:i32, undef:i32, %b36:p0:i32) block b37: %b37:i0:unit = nop @@ -9754,7 +10230,7 @@ block b39: %b39:p0:i32:t10 %b39:i0:unit = nop %b39:i1:unit = nop - j b30(%b39:p0:i32) + j b30(undef:i32, %b39:p0:i32, %b39:p0:i32) } fun i32 @func_4 () { @@ -9845,9 +10321,17 @@ block b2: br %b2:i1:u1, b31(), b32() block b3: - %b3:p0:i32:t12 + %b3:p0:i32:t4 + %b3:p1:i32:t5 + %b3:p2:i32:t6 + %b3:p3:i32:t7 + %b3:p4:i32:t8 + %b3:p5:i32:t9 + %b3:p6:i32:t10 + %b3:p7:i32:t11 + %b3:p8:i32:t12 %b3:i0:unit = nop - %b3:i1:u1 = cmp eq %b3:p0:i32 1:i32 + %b3:i1:u1 = cmp eq %b3:p8:i32 1:i32 %b3:i2:i32 = typecast %b3:i1:u1 to i32 ret %b3:i2:i32 @@ -9862,9 +10346,11 @@ block b5: br %b5:i1:u1, b13(), b14() block b6: - %b6:p0:i32:t3 + %b6:p0:i32:t1 + %b6:p1:i32:t2 + %b6:p2:i32:t3 %b6:i0:unit = nop - %b6:i1:u1 = cmp ne %b6:p0:i32 0:i32 + %b6:i1:u1 = cmp ne %b6:p2:i32 0:i32 br %b6:i1:u1, b1(), b2() block b7: @@ -9897,7 +10383,7 @@ block b12: %b12:p0:i32:t1 %b12:i0:unit = nop %b12:i1:unit = nop - j b6(%b12:p0:i32) + j b6(%b12:p0:i32, undef:i32, %b12:p0:i32) block b13: %b13:i0:unit = nop @@ -9913,7 +10399,7 @@ block b15: %b15:p0:i32:t2 %b15:i0:unit = nop %b15:i1:unit = nop - j b6(%b15:p0:i32) + j b6(undef:i32, %b15:p0:i32, %b15:p0:i32) block b16: %b16:i0:unit = nop @@ -9926,10 +10412,12 @@ block b17: br %b17:i1:u1, b25(), b26() block b18: - %b18:p0:i32:t7 + %b18:p0:i32:t5 + %b18:p1:i32:t6 + %b18:p2:i32:t7 %b18:i0:unit = nop %b18:i1:unit = nop - j b3(%b18:p0:i32) + j b3(%b21:p0:i32, %b18:p0:i32, %b18:p1:i32, %b18:p2:i32, undef:i32, undef:i32, undef:i32, undef:i32, %b18:p2:i32) block b19: %b19:i0:unit = nop @@ -9961,7 +10449,7 @@ block b24: %b24:p0:i32:t5 %b24:i0:unit = nop %b24:i1:unit = nop - j b18(%b24:p0:i32) + j b18(%b24:p0:i32, undef:i32, %b24:p0:i32) block b25: %b25:i0:unit = nop @@ -9977,7 +10465,7 @@ block b27: %b27:p0:i32:t6 %b27:i0:unit = nop %b27:i1:unit = nop - j b18(%b27:p0:i32) + j b18(undef:i32, %b27:p0:i32, %b27:p0:i32) block b28: %b28:i0:unit = nop @@ -9990,10 +10478,12 @@ block b29: br %b29:i1:u1, b37(), b38() block b30: - %b30:p0:i32:t11 + %b30:p0:i32:t9 + %b30:p1:i32:t10 + %b30:p2:i32:t11 %b30:i0:unit = nop %b30:i1:unit = nop - j b3(%b30:p0:i32) + j b3(undef:i32, undef:i32, undef:i32, undef:i32, %b33:p0:i32, %b30:p0:i32, %b30:p1:i32, %b30:p2:i32, %b30:p2:i32) block b31: %b31:i0:unit = nop @@ -10025,7 +10515,7 @@ block b36: %b36:p0:i32:t9 %b36:i0:unit = nop %b36:i1:unit = nop - j b30(%b36:p0:i32) + j b30(%b36:p0:i32, undef:i32, %b36:p0:i32) block b37: %b37:i0:unit = nop @@ -10041,7 +10531,7 @@ block b39: %b39:p0:i32:t10 %b39:i0:unit = nop %b39:i1:unit = nop - j b30(%b39:p0:i32) + j b30(undef:i32, %b39:p0:i32, %b39:p0:i32) } fun i32 @func_40 () { @@ -10132,9 +10622,17 @@ block b2: br %b2:i1:u1, b31(), b32() block b3: - %b3:p0:i32:t12 + %b3:p0:i32:t4 + %b3:p1:i32:t5 + %b3:p2:i32:t6 + %b3:p3:i32:t7 + %b3:p4:i32:t8 + %b3:p5:i32:t9 + %b3:p6:i32:t10 + %b3:p7:i32:t11 + %b3:p8:i32:t12 %b3:i0:unit = nop - %b3:i1:u1 = cmp eq %b3:p0:i32 0:i32 + %b3:i1:u1 = cmp eq %b3:p8:i32 0:i32 %b3:i2:i32 = typecast %b3:i1:u1 to i32 ret %b3:i2:i32 @@ -10149,9 +10647,11 @@ block b5: br %b5:i1:u1, b13(), b14() block b6: - %b6:p0:i32:t3 + %b6:p0:i32:t1 + %b6:p1:i32:t2 + %b6:p2:i32:t3 %b6:i0:unit = nop - %b6:i1:u1 = cmp ne %b6:p0:i32 0:i32 + %b6:i1:u1 = cmp ne %b6:p2:i32 0:i32 br %b6:i1:u1, b1(), b2() block b7: @@ -10184,7 +10684,7 @@ block b12: %b12:p0:i32:t1 %b12:i0:unit = nop %b12:i1:unit = nop - j b6(%b12:p0:i32) + j b6(%b12:p0:i32, undef:i32, %b12:p0:i32) block b13: %b13:i0:unit = nop @@ -10200,7 +10700,7 @@ block b15: %b15:p0:i32:t2 %b15:i0:unit = nop %b15:i1:unit = nop - j b6(%b15:p0:i32) + j b6(undef:i32, %b15:p0:i32, %b15:p0:i32) block b16: %b16:i0:unit = nop @@ -10213,10 +10713,12 @@ block b17: br %b17:i1:u1, b25(), b26() block b18: - %b18:p0:i32:t7 + %b18:p0:i32:t5 + %b18:p1:i32:t6 + %b18:p2:i32:t7 %b18:i0:unit = nop %b18:i1:unit = nop - j b3(%b18:p0:i32) + j b3(%b21:p0:i32, %b18:p0:i32, %b18:p1:i32, %b18:p2:i32, undef:i32, undef:i32, undef:i32, undef:i32, %b18:p2:i32) block b19: %b19:i0:unit = nop @@ -10248,7 +10750,7 @@ block b24: %b24:p0:i32:t5 %b24:i0:unit = nop %b24:i1:unit = nop - j b18(%b24:p0:i32) + j b18(%b24:p0:i32, undef:i32, %b24:p0:i32) block b25: %b25:i0:unit = nop @@ -10264,7 +10766,7 @@ block b27: %b27:p0:i32:t6 %b27:i0:unit = nop %b27:i1:unit = nop - j b18(%b27:p0:i32) + j b18(undef:i32, %b27:p0:i32, %b27:p0:i32) block b28: %b28:i0:unit = nop @@ -10277,10 +10779,12 @@ block b29: br %b29:i1:u1, b37(), b38() block b30: - %b30:p0:i32:t11 + %b30:p0:i32:t9 + %b30:p1:i32:t10 + %b30:p2:i32:t11 %b30:i0:unit = nop %b30:i1:unit = nop - j b3(%b30:p0:i32) + j b3(undef:i32, undef:i32, undef:i32, undef:i32, %b33:p0:i32, %b30:p0:i32, %b30:p1:i32, %b30:p2:i32, %b30:p2:i32) block b31: %b31:i0:unit = nop @@ -10312,7 +10816,7 @@ block b36: %b36:p0:i32:t9 %b36:i0:unit = nop %b36:i1:unit = nop - j b30(%b36:p0:i32) + j b30(%b36:p0:i32, undef:i32, %b36:p0:i32) block b37: %b37:i0:unit = nop @@ -10328,7 +10832,7 @@ block b39: %b39:p0:i32:t10 %b39:i0:unit = nop %b39:i1:unit = nop - j b30(%b39:p0:i32) + j b30(undef:i32, %b39:p0:i32, %b39:p0:i32) } fun i32 @func_41 () { @@ -10419,9 +10923,17 @@ block b2: br %b2:i1:u1, b31(), b32() block b3: - %b3:p0:i32:t12 + %b3:p0:i32:t4 + %b3:p1:i32:t5 + %b3:p2:i32:t6 + %b3:p3:i32:t7 + %b3:p4:i32:t8 + %b3:p5:i32:t9 + %b3:p6:i32:t10 + %b3:p7:i32:t11 + %b3:p8:i32:t12 %b3:i0:unit = nop - %b3:i1:u1 = cmp eq %b3:p0:i32 1:i32 + %b3:i1:u1 = cmp eq %b3:p8:i32 1:i32 %b3:i2:i32 = typecast %b3:i1:u1 to i32 ret %b3:i2:i32 @@ -10436,9 +10948,11 @@ block b5: br %b5:i1:u1, b13(), b14() block b6: - %b6:p0:i32:t3 + %b6:p0:i32:t1 + %b6:p1:i32:t2 + %b6:p2:i32:t3 %b6:i0:unit = nop - %b6:i1:u1 = cmp ne %b6:p0:i32 0:i32 + %b6:i1:u1 = cmp ne %b6:p2:i32 0:i32 br %b6:i1:u1, b1(), b2() block b7: @@ -10471,7 +10985,7 @@ block b12: %b12:p0:i32:t1 %b12:i0:unit = nop %b12:i1:unit = nop - j b6(%b12:p0:i32) + j b6(%b12:p0:i32, undef:i32, %b12:p0:i32) block b13: %b13:i0:unit = nop @@ -10487,7 +11001,7 @@ block b15: %b15:p0:i32:t2 %b15:i0:unit = nop %b15:i1:unit = nop - j b6(%b15:p0:i32) + j b6(undef:i32, %b15:p0:i32, %b15:p0:i32) block b16: %b16:i0:unit = nop @@ -10500,10 +11014,12 @@ block b17: br %b17:i1:u1, b25(), b26() block b18: - %b18:p0:i32:t7 + %b18:p0:i32:t5 + %b18:p1:i32:t6 + %b18:p2:i32:t7 %b18:i0:unit = nop %b18:i1:unit = nop - j b3(%b18:p0:i32) + j b3(%b21:p0:i32, %b18:p0:i32, %b18:p1:i32, %b18:p2:i32, undef:i32, undef:i32, undef:i32, undef:i32, %b18:p2:i32) block b19: %b19:i0:unit = nop @@ -10535,7 +11051,7 @@ block b24: %b24:p0:i32:t5 %b24:i0:unit = nop %b24:i1:unit = nop - j b18(%b24:p0:i32) + j b18(%b24:p0:i32, undef:i32, %b24:p0:i32) block b25: %b25:i0:unit = nop @@ -10551,7 +11067,7 @@ block b27: %b27:p0:i32:t6 %b27:i0:unit = nop %b27:i1:unit = nop - j b18(%b27:p0:i32) + j b18(undef:i32, %b27:p0:i32, %b27:p0:i32) block b28: %b28:i0:unit = nop @@ -10564,10 +11080,12 @@ block b29: br %b29:i1:u1, b37(), b38() block b30: - %b30:p0:i32:t11 + %b30:p0:i32:t9 + %b30:p1:i32:t10 + %b30:p2:i32:t11 %b30:i0:unit = nop %b30:i1:unit = nop - j b3(%b30:p0:i32) + j b3(undef:i32, undef:i32, undef:i32, undef:i32, %b33:p0:i32, %b30:p0:i32, %b30:p1:i32, %b30:p2:i32, %b30:p2:i32) block b31: %b31:i0:unit = nop @@ -10599,7 +11117,7 @@ block b36: %b36:p0:i32:t9 %b36:i0:unit = nop %b36:i1:unit = nop - j b30(%b36:p0:i32) + j b30(%b36:p0:i32, undef:i32, %b36:p0:i32) block b37: %b37:i0:unit = nop @@ -10615,7 +11133,7 @@ block b39: %b39:p0:i32:t10 %b39:i0:unit = nop %b39:i1:unit = nop - j b30(%b39:p0:i32) + j b30(undef:i32, %b39:p0:i32, %b39:p0:i32) } fun i32 @func_42 () { @@ -10706,9 +11224,17 @@ block b2: br %b2:i1:u1, b31(), b32() block b3: - %b3:p0:i32:t12 + %b3:p0:i32:t4 + %b3:p1:i32:t5 + %b3:p2:i32:t6 + %b3:p3:i32:t7 + %b3:p4:i32:t8 + %b3:p5:i32:t9 + %b3:p6:i32:t10 + %b3:p7:i32:t11 + %b3:p8:i32:t12 %b3:i0:unit = nop - %b3:i1:u1 = cmp eq %b3:p0:i32 0:i32 + %b3:i1:u1 = cmp eq %b3:p8:i32 0:i32 %b3:i2:i32 = typecast %b3:i1:u1 to i32 ret %b3:i2:i32 @@ -10723,9 +11249,11 @@ block b5: br %b5:i1:u1, b13(), b14() block b6: - %b6:p0:i32:t3 + %b6:p0:i32:t1 + %b6:p1:i32:t2 + %b6:p2:i32:t3 %b6:i0:unit = nop - %b6:i1:u1 = cmp ne %b6:p0:i32 0:i32 + %b6:i1:u1 = cmp ne %b6:p2:i32 0:i32 br %b6:i1:u1, b1(), b2() block b7: @@ -10758,7 +11286,7 @@ block b12: %b12:p0:i32:t1 %b12:i0:unit = nop %b12:i1:unit = nop - j b6(%b12:p0:i32) + j b6(%b12:p0:i32, undef:i32, %b12:p0:i32) block b13: %b13:i0:unit = nop @@ -10774,7 +11302,7 @@ block b15: %b15:p0:i32:t2 %b15:i0:unit = nop %b15:i1:unit = nop - j b6(%b15:p0:i32) + j b6(undef:i32, %b15:p0:i32, %b15:p0:i32) block b16: %b16:i0:unit = nop @@ -10787,10 +11315,12 @@ block b17: br %b17:i1:u1, b25(), b26() block b18: - %b18:p0:i32:t7 + %b18:p0:i32:t5 + %b18:p1:i32:t6 + %b18:p2:i32:t7 %b18:i0:unit = nop %b18:i1:unit = nop - j b3(%b18:p0:i32) + j b3(%b21:p0:i32, %b18:p0:i32, %b18:p1:i32, %b18:p2:i32, undef:i32, undef:i32, undef:i32, undef:i32, %b18:p2:i32) block b19: %b19:i0:unit = nop @@ -10822,7 +11352,7 @@ block b24: %b24:p0:i32:t5 %b24:i0:unit = nop %b24:i1:unit = nop - j b18(%b24:p0:i32) + j b18(%b24:p0:i32, undef:i32, %b24:p0:i32) block b25: %b25:i0:unit = nop @@ -10838,7 +11368,7 @@ block b27: %b27:p0:i32:t6 %b27:i0:unit = nop %b27:i1:unit = nop - j b18(%b27:p0:i32) + j b18(undef:i32, %b27:p0:i32, %b27:p0:i32) block b28: %b28:i0:unit = nop @@ -10851,10 +11381,12 @@ block b29: br %b29:i1:u1, b37(), b38() block b30: - %b30:p0:i32:t11 + %b30:p0:i32:t9 + %b30:p1:i32:t10 + %b30:p2:i32:t11 %b30:i0:unit = nop %b30:i1:unit = nop - j b3(%b30:p0:i32) + j b3(undef:i32, undef:i32, undef:i32, undef:i32, %b33:p0:i32, %b30:p0:i32, %b30:p1:i32, %b30:p2:i32, %b30:p2:i32) block b31: %b31:i0:unit = nop @@ -10886,7 +11418,7 @@ block b36: %b36:p0:i32:t9 %b36:i0:unit = nop %b36:i1:unit = nop - j b30(%b36:p0:i32) + j b30(%b36:p0:i32, undef:i32, %b36:p0:i32) block b37: %b37:i0:unit = nop @@ -10902,7 +11434,7 @@ block b39: %b39:p0:i32:t10 %b39:i0:unit = nop %b39:i1:unit = nop - j b30(%b39:p0:i32) + j b30(undef:i32, %b39:p0:i32, %b39:p0:i32) } fun i32 @func_43 () { @@ -10993,9 +11525,17 @@ block b2: br %b2:i1:u1, b31(), b32() block b3: - %b3:p0:i32:t12 + %b3:p0:i32:t4 + %b3:p1:i32:t5 + %b3:p2:i32:t6 + %b3:p3:i32:t7 + %b3:p4:i32:t8 + %b3:p5:i32:t9 + %b3:p6:i32:t10 + %b3:p7:i32:t11 + %b3:p8:i32:t12 %b3:i0:unit = nop - %b3:i1:u1 = cmp eq %b3:p0:i32 1:i32 + %b3:i1:u1 = cmp eq %b3:p8:i32 1:i32 %b3:i2:i32 = typecast %b3:i1:u1 to i32 ret %b3:i2:i32 @@ -11010,9 +11550,11 @@ block b5: br %b5:i1:u1, b13(), b14() block b6: - %b6:p0:i32:t3 + %b6:p0:i32:t1 + %b6:p1:i32:t2 + %b6:p2:i32:t3 %b6:i0:unit = nop - %b6:i1:u1 = cmp ne %b6:p0:i32 0:i32 + %b6:i1:u1 = cmp ne %b6:p2:i32 0:i32 br %b6:i1:u1, b1(), b2() block b7: @@ -11045,7 +11587,7 @@ block b12: %b12:p0:i32:t1 %b12:i0:unit = nop %b12:i1:unit = nop - j b6(%b12:p0:i32) + j b6(%b12:p0:i32, undef:i32, %b12:p0:i32) block b13: %b13:i0:unit = nop @@ -11061,7 +11603,7 @@ block b15: %b15:p0:i32:t2 %b15:i0:unit = nop %b15:i1:unit = nop - j b6(%b15:p0:i32) + j b6(undef:i32, %b15:p0:i32, %b15:p0:i32) block b16: %b16:i0:unit = nop @@ -11074,10 +11616,12 @@ block b17: br %b17:i1:u1, b25(), b26() block b18: - %b18:p0:i32:t7 + %b18:p0:i32:t5 + %b18:p1:i32:t6 + %b18:p2:i32:t7 %b18:i0:unit = nop %b18:i1:unit = nop - j b3(%b18:p0:i32) + j b3(%b21:p0:i32, %b18:p0:i32, %b18:p1:i32, %b18:p2:i32, undef:i32, undef:i32, undef:i32, undef:i32, %b18:p2:i32) block b19: %b19:i0:unit = nop @@ -11109,7 +11653,7 @@ block b24: %b24:p0:i32:t5 %b24:i0:unit = nop %b24:i1:unit = nop - j b18(%b24:p0:i32) + j b18(%b24:p0:i32, undef:i32, %b24:p0:i32) block b25: %b25:i0:unit = nop @@ -11125,7 +11669,7 @@ block b27: %b27:p0:i32:t6 %b27:i0:unit = nop %b27:i1:unit = nop - j b18(%b27:p0:i32) + j b18(undef:i32, %b27:p0:i32, %b27:p0:i32) block b28: %b28:i0:unit = nop @@ -11138,10 +11682,12 @@ block b29: br %b29:i1:u1, b37(), b38() block b30: - %b30:p0:i32:t11 + %b30:p0:i32:t9 + %b30:p1:i32:t10 + %b30:p2:i32:t11 %b30:i0:unit = nop %b30:i1:unit = nop - j b3(%b30:p0:i32) + j b3(undef:i32, undef:i32, undef:i32, undef:i32, %b33:p0:i32, %b30:p0:i32, %b30:p1:i32, %b30:p2:i32, %b30:p2:i32) block b31: %b31:i0:unit = nop @@ -11173,7 +11719,7 @@ block b36: %b36:p0:i32:t9 %b36:i0:unit = nop %b36:i1:unit = nop - j b30(%b36:p0:i32) + j b30(%b36:p0:i32, undef:i32, %b36:p0:i32) block b37: %b37:i0:unit = nop @@ -11189,7 +11735,7 @@ block b39: %b39:p0:i32:t10 %b39:i0:unit = nop %b39:i1:unit = nop - j b30(%b39:p0:i32) + j b30(undef:i32, %b39:p0:i32, %b39:p0:i32) } fun i32 @func_44 () { @@ -11280,9 +11826,17 @@ block b2: br %b2:i1:u1, b31(), b32() block b3: - %b3:p0:i32:t12 + %b3:p0:i32:t4 + %b3:p1:i32:t5 + %b3:p2:i32:t6 + %b3:p3:i32:t7 + %b3:p4:i32:t8 + %b3:p5:i32:t9 + %b3:p6:i32:t10 + %b3:p7:i32:t11 + %b3:p8:i32:t12 %b3:i0:unit = nop - %b3:i1:u1 = cmp eq %b3:p0:i32 1:i32 + %b3:i1:u1 = cmp eq %b3:p8:i32 1:i32 %b3:i2:i32 = typecast %b3:i1:u1 to i32 ret %b3:i2:i32 @@ -11297,9 +11851,11 @@ block b5: br %b5:i1:u1, b13(), b14() block b6: - %b6:p0:i32:t3 + %b6:p0:i32:t1 + %b6:p1:i32:t2 + %b6:p2:i32:t3 %b6:i0:unit = nop - %b6:i1:u1 = cmp ne %b6:p0:i32 0:i32 + %b6:i1:u1 = cmp ne %b6:p2:i32 0:i32 br %b6:i1:u1, b1(), b2() block b7: @@ -11332,7 +11888,7 @@ block b12: %b12:p0:i32:t1 %b12:i0:unit = nop %b12:i1:unit = nop - j b6(%b12:p0:i32) + j b6(%b12:p0:i32, undef:i32, %b12:p0:i32) block b13: %b13:i0:unit = nop @@ -11348,7 +11904,7 @@ block b15: %b15:p0:i32:t2 %b15:i0:unit = nop %b15:i1:unit = nop - j b6(%b15:p0:i32) + j b6(undef:i32, %b15:p0:i32, %b15:p0:i32) block b16: %b16:i0:unit = nop @@ -11361,10 +11917,12 @@ block b17: br %b17:i1:u1, b25(), b26() block b18: - %b18:p0:i32:t7 + %b18:p0:i32:t5 + %b18:p1:i32:t6 + %b18:p2:i32:t7 %b18:i0:unit = nop %b18:i1:unit = nop - j b3(%b18:p0:i32) + j b3(%b21:p0:i32, %b18:p0:i32, %b18:p1:i32, %b18:p2:i32, undef:i32, undef:i32, undef:i32, undef:i32, %b18:p2:i32) block b19: %b19:i0:unit = nop @@ -11396,7 +11954,7 @@ block b24: %b24:p0:i32:t5 %b24:i0:unit = nop %b24:i1:unit = nop - j b18(%b24:p0:i32) + j b18(%b24:p0:i32, undef:i32, %b24:p0:i32) block b25: %b25:i0:unit = nop @@ -11412,7 +11970,7 @@ block b27: %b27:p0:i32:t6 %b27:i0:unit = nop %b27:i1:unit = nop - j b18(%b27:p0:i32) + j b18(undef:i32, %b27:p0:i32, %b27:p0:i32) block b28: %b28:i0:unit = nop @@ -11425,10 +11983,12 @@ block b29: br %b29:i1:u1, b37(), b38() block b30: - %b30:p0:i32:t11 + %b30:p0:i32:t9 + %b30:p1:i32:t10 + %b30:p2:i32:t11 %b30:i0:unit = nop %b30:i1:unit = nop - j b3(%b30:p0:i32) + j b3(undef:i32, undef:i32, undef:i32, undef:i32, %b33:p0:i32, %b30:p0:i32, %b30:p1:i32, %b30:p2:i32, %b30:p2:i32) block b31: %b31:i0:unit = nop @@ -11460,7 +12020,7 @@ block b36: %b36:p0:i32:t9 %b36:i0:unit = nop %b36:i1:unit = nop - j b30(%b36:p0:i32) + j b30(%b36:p0:i32, undef:i32, %b36:p0:i32) block b37: %b37:i0:unit = nop @@ -11476,7 +12036,7 @@ block b39: %b39:p0:i32:t10 %b39:i0:unit = nop %b39:i1:unit = nop - j b30(%b39:p0:i32) + j b30(undef:i32, %b39:p0:i32, %b39:p0:i32) } fun i32 @func_45 () { @@ -11567,9 +12127,17 @@ block b2: br %b2:i1:u1, b31(), b32() block b3: - %b3:p0:i32:t12 + %b3:p0:i32:t4 + %b3:p1:i32:t5 + %b3:p2:i32:t6 + %b3:p3:i32:t7 + %b3:p4:i32:t8 + %b3:p5:i32:t9 + %b3:p6:i32:t10 + %b3:p7:i32:t11 + %b3:p8:i32:t12 %b3:i0:unit = nop - %b3:i1:u1 = cmp eq %b3:p0:i32 1:i32 + %b3:i1:u1 = cmp eq %b3:p8:i32 1:i32 %b3:i2:i32 = typecast %b3:i1:u1 to i32 ret %b3:i2:i32 @@ -11584,9 +12152,11 @@ block b5: br %b5:i1:u1, b13(), b14() block b6: - %b6:p0:i32:t3 + %b6:p0:i32:t1 + %b6:p1:i32:t2 + %b6:p2:i32:t3 %b6:i0:unit = nop - %b6:i1:u1 = cmp ne %b6:p0:i32 0:i32 + %b6:i1:u1 = cmp ne %b6:p2:i32 0:i32 br %b6:i1:u1, b1(), b2() block b7: @@ -11619,7 +12189,7 @@ block b12: %b12:p0:i32:t1 %b12:i0:unit = nop %b12:i1:unit = nop - j b6(%b12:p0:i32) + j b6(%b12:p0:i32, undef:i32, %b12:p0:i32) block b13: %b13:i0:unit = nop @@ -11635,7 +12205,7 @@ block b15: %b15:p0:i32:t2 %b15:i0:unit = nop %b15:i1:unit = nop - j b6(%b15:p0:i32) + j b6(undef:i32, %b15:p0:i32, %b15:p0:i32) block b16: %b16:i0:unit = nop @@ -11648,10 +12218,12 @@ block b17: br %b17:i1:u1, b25(), b26() block b18: - %b18:p0:i32:t7 + %b18:p0:i32:t5 + %b18:p1:i32:t6 + %b18:p2:i32:t7 %b18:i0:unit = nop %b18:i1:unit = nop - j b3(%b18:p0:i32) + j b3(%b21:p0:i32, %b18:p0:i32, %b18:p1:i32, %b18:p2:i32, undef:i32, undef:i32, undef:i32, undef:i32, %b18:p2:i32) block b19: %b19:i0:unit = nop @@ -11683,7 +12255,7 @@ block b24: %b24:p0:i32:t5 %b24:i0:unit = nop %b24:i1:unit = nop - j b18(%b24:p0:i32) + j b18(%b24:p0:i32, undef:i32, %b24:p0:i32) block b25: %b25:i0:unit = nop @@ -11699,7 +12271,7 @@ block b27: %b27:p0:i32:t6 %b27:i0:unit = nop %b27:i1:unit = nop - j b18(%b27:p0:i32) + j b18(undef:i32, %b27:p0:i32, %b27:p0:i32) block b28: %b28:i0:unit = nop @@ -11712,10 +12284,12 @@ block b29: br %b29:i1:u1, b37(), b38() block b30: - %b30:p0:i32:t11 + %b30:p0:i32:t9 + %b30:p1:i32:t10 + %b30:p2:i32:t11 %b30:i0:unit = nop %b30:i1:unit = nop - j b3(%b30:p0:i32) + j b3(undef:i32, undef:i32, undef:i32, undef:i32, %b33:p0:i32, %b30:p0:i32, %b30:p1:i32, %b30:p2:i32, %b30:p2:i32) block b31: %b31:i0:unit = nop @@ -11747,7 +12321,7 @@ block b36: %b36:p0:i32:t9 %b36:i0:unit = nop %b36:i1:unit = nop - j b30(%b36:p0:i32) + j b30(%b36:p0:i32, undef:i32, %b36:p0:i32) block b37: %b37:i0:unit = nop @@ -11763,7 +12337,7 @@ block b39: %b39:p0:i32:t10 %b39:i0:unit = nop %b39:i1:unit = nop - j b30(%b39:p0:i32) + j b30(undef:i32, %b39:p0:i32, %b39:p0:i32) } fun i32 @func_46 () { @@ -11854,9 +12428,17 @@ block b2: br %b2:i1:u1, b31(), b32() block b3: - %b3:p0:i32:t12 + %b3:p0:i32:t4 + %b3:p1:i32:t5 + %b3:p2:i32:t6 + %b3:p3:i32:t7 + %b3:p4:i32:t8 + %b3:p5:i32:t9 + %b3:p6:i32:t10 + %b3:p7:i32:t11 + %b3:p8:i32:t12 %b3:i0:unit = nop - %b3:i1:u1 = cmp eq %b3:p0:i32 1:i32 + %b3:i1:u1 = cmp eq %b3:p8:i32 1:i32 %b3:i2:i32 = typecast %b3:i1:u1 to i32 ret %b3:i2:i32 @@ -11871,9 +12453,11 @@ block b5: br %b5:i1:u1, b13(), b14() block b6: - %b6:p0:i32:t3 + %b6:p0:i32:t1 + %b6:p1:i32:t2 + %b6:p2:i32:t3 %b6:i0:unit = nop - %b6:i1:u1 = cmp ne %b6:p0:i32 0:i32 + %b6:i1:u1 = cmp ne %b6:p2:i32 0:i32 br %b6:i1:u1, b1(), b2() block b7: @@ -11906,7 +12490,7 @@ block b12: %b12:p0:i32:t1 %b12:i0:unit = nop %b12:i1:unit = nop - j b6(%b12:p0:i32) + j b6(%b12:p0:i32, undef:i32, %b12:p0:i32) block b13: %b13:i0:unit = nop @@ -11922,7 +12506,7 @@ block b15: %b15:p0:i32:t2 %b15:i0:unit = nop %b15:i1:unit = nop - j b6(%b15:p0:i32) + j b6(undef:i32, %b15:p0:i32, %b15:p0:i32) block b16: %b16:i0:unit = nop @@ -11935,10 +12519,12 @@ block b17: br %b17:i1:u1, b25(), b26() block b18: - %b18:p0:i32:t7 + %b18:p0:i32:t5 + %b18:p1:i32:t6 + %b18:p2:i32:t7 %b18:i0:unit = nop %b18:i1:unit = nop - j b3(%b18:p0:i32) + j b3(%b21:p0:i32, %b18:p0:i32, %b18:p1:i32, %b18:p2:i32, undef:i32, undef:i32, undef:i32, undef:i32, %b18:p2:i32) block b19: %b19:i0:unit = nop @@ -11970,7 +12556,7 @@ block b24: %b24:p0:i32:t5 %b24:i0:unit = nop %b24:i1:unit = nop - j b18(%b24:p0:i32) + j b18(%b24:p0:i32, undef:i32, %b24:p0:i32) block b25: %b25:i0:unit = nop @@ -11986,7 +12572,7 @@ block b27: %b27:p0:i32:t6 %b27:i0:unit = nop %b27:i1:unit = nop - j b18(%b27:p0:i32) + j b18(undef:i32, %b27:p0:i32, %b27:p0:i32) block b28: %b28:i0:unit = nop @@ -11999,10 +12585,12 @@ block b29: br %b29:i1:u1, b37(), b38() block b30: - %b30:p0:i32:t11 + %b30:p0:i32:t9 + %b30:p1:i32:t10 + %b30:p2:i32:t11 %b30:i0:unit = nop %b30:i1:unit = nop - j b3(%b30:p0:i32) + j b3(undef:i32, undef:i32, undef:i32, undef:i32, %b33:p0:i32, %b30:p0:i32, %b30:p1:i32, %b30:p2:i32, %b30:p2:i32) block b31: %b31:i0:unit = nop @@ -12034,7 +12622,7 @@ block b36: %b36:p0:i32:t9 %b36:i0:unit = nop %b36:i1:unit = nop - j b30(%b36:p0:i32) + j b30(%b36:p0:i32, undef:i32, %b36:p0:i32) block b37: %b37:i0:unit = nop @@ -12050,7 +12638,7 @@ block b39: %b39:p0:i32:t10 %b39:i0:unit = nop %b39:i1:unit = nop - j b30(%b39:p0:i32) + j b30(undef:i32, %b39:p0:i32, %b39:p0:i32) } fun i32 @func_47 () { @@ -12141,9 +12729,17 @@ block b2: br %b2:i1:u1, b31(), b32() block b3: - %b3:p0:i32:t12 + %b3:p0:i32:t4 + %b3:p1:i32:t5 + %b3:p2:i32:t6 + %b3:p3:i32:t7 + %b3:p4:i32:t8 + %b3:p5:i32:t9 + %b3:p6:i32:t10 + %b3:p7:i32:t11 + %b3:p8:i32:t12 %b3:i0:unit = nop - %b3:i1:u1 = cmp eq %b3:p0:i32 1:i32 + %b3:i1:u1 = cmp eq %b3:p8:i32 1:i32 %b3:i2:i32 = typecast %b3:i1:u1 to i32 ret %b3:i2:i32 @@ -12158,9 +12754,11 @@ block b5: br %b5:i1:u1, b13(), b14() block b6: - %b6:p0:i32:t3 + %b6:p0:i32:t1 + %b6:p1:i32:t2 + %b6:p2:i32:t3 %b6:i0:unit = nop - %b6:i1:u1 = cmp ne %b6:p0:i32 0:i32 + %b6:i1:u1 = cmp ne %b6:p2:i32 0:i32 br %b6:i1:u1, b1(), b2() block b7: @@ -12193,7 +12791,7 @@ block b12: %b12:p0:i32:t1 %b12:i0:unit = nop %b12:i1:unit = nop - j b6(%b12:p0:i32) + j b6(%b12:p0:i32, undef:i32, %b12:p0:i32) block b13: %b13:i0:unit = nop @@ -12209,7 +12807,7 @@ block b15: %b15:p0:i32:t2 %b15:i0:unit = nop %b15:i1:unit = nop - j b6(%b15:p0:i32) + j b6(undef:i32, %b15:p0:i32, %b15:p0:i32) block b16: %b16:i0:unit = nop @@ -12222,10 +12820,12 @@ block b17: br %b17:i1:u1, b25(), b26() block b18: - %b18:p0:i32:t7 + %b18:p0:i32:t5 + %b18:p1:i32:t6 + %b18:p2:i32:t7 %b18:i0:unit = nop %b18:i1:unit = nop - j b3(%b18:p0:i32) + j b3(%b21:p0:i32, %b18:p0:i32, %b18:p1:i32, %b18:p2:i32, undef:i32, undef:i32, undef:i32, undef:i32, %b18:p2:i32) block b19: %b19:i0:unit = nop @@ -12257,7 +12857,7 @@ block b24: %b24:p0:i32:t5 %b24:i0:unit = nop %b24:i1:unit = nop - j b18(%b24:p0:i32) + j b18(%b24:p0:i32, undef:i32, %b24:p0:i32) block b25: %b25:i0:unit = nop @@ -12273,7 +12873,7 @@ block b27: %b27:p0:i32:t6 %b27:i0:unit = nop %b27:i1:unit = nop - j b18(%b27:p0:i32) + j b18(undef:i32, %b27:p0:i32, %b27:p0:i32) block b28: %b28:i0:unit = nop @@ -12286,10 +12886,12 @@ block b29: br %b29:i1:u1, b37(), b38() block b30: - %b30:p0:i32:t11 + %b30:p0:i32:t9 + %b30:p1:i32:t10 + %b30:p2:i32:t11 %b30:i0:unit = nop %b30:i1:unit = nop - j b3(%b30:p0:i32) + j b3(undef:i32, undef:i32, undef:i32, undef:i32, %b33:p0:i32, %b30:p0:i32, %b30:p1:i32, %b30:p2:i32, %b30:p2:i32) block b31: %b31:i0:unit = nop @@ -12321,7 +12923,7 @@ block b36: %b36:p0:i32:t9 %b36:i0:unit = nop %b36:i1:unit = nop - j b30(%b36:p0:i32) + j b30(%b36:p0:i32, undef:i32, %b36:p0:i32) block b37: %b37:i0:unit = nop @@ -12337,7 +12939,7 @@ block b39: %b39:p0:i32:t10 %b39:i0:unit = nop %b39:i1:unit = nop - j b30(%b39:p0:i32) + j b30(undef:i32, %b39:p0:i32, %b39:p0:i32) } fun i32 @func_48 () { @@ -12428,9 +13030,17 @@ block b2: br %b2:i1:u1, b31(), b32() block b3: - %b3:p0:i32:t12 + %b3:p0:i32:t4 + %b3:p1:i32:t5 + %b3:p2:i32:t6 + %b3:p3:i32:t7 + %b3:p4:i32:t8 + %b3:p5:i32:t9 + %b3:p6:i32:t10 + %b3:p7:i32:t11 + %b3:p8:i32:t12 %b3:i0:unit = nop - %b3:i1:u1 = cmp eq %b3:p0:i32 1:i32 + %b3:i1:u1 = cmp eq %b3:p8:i32 1:i32 %b3:i2:i32 = typecast %b3:i1:u1 to i32 ret %b3:i2:i32 @@ -12445,9 +13055,11 @@ block b5: br %b5:i1:u1, b13(), b14() block b6: - %b6:p0:i32:t3 + %b6:p0:i32:t1 + %b6:p1:i32:t2 + %b6:p2:i32:t3 %b6:i0:unit = nop - %b6:i1:u1 = cmp ne %b6:p0:i32 0:i32 + %b6:i1:u1 = cmp ne %b6:p2:i32 0:i32 br %b6:i1:u1, b1(), b2() block b7: @@ -12480,7 +13092,7 @@ block b12: %b12:p0:i32:t1 %b12:i0:unit = nop %b12:i1:unit = nop - j b6(%b12:p0:i32) + j b6(%b12:p0:i32, undef:i32, %b12:p0:i32) block b13: %b13:i0:unit = nop @@ -12496,7 +13108,7 @@ block b15: %b15:p0:i32:t2 %b15:i0:unit = nop %b15:i1:unit = nop - j b6(%b15:p0:i32) + j b6(undef:i32, %b15:p0:i32, %b15:p0:i32) block b16: %b16:i0:unit = nop @@ -12509,10 +13121,12 @@ block b17: br %b17:i1:u1, b25(), b26() block b18: - %b18:p0:i32:t7 + %b18:p0:i32:t5 + %b18:p1:i32:t6 + %b18:p2:i32:t7 %b18:i0:unit = nop %b18:i1:unit = nop - j b3(%b18:p0:i32) + j b3(%b21:p0:i32, %b18:p0:i32, %b18:p1:i32, %b18:p2:i32, undef:i32, undef:i32, undef:i32, undef:i32, %b18:p2:i32) block b19: %b19:i0:unit = nop @@ -12544,7 +13158,7 @@ block b24: %b24:p0:i32:t5 %b24:i0:unit = nop %b24:i1:unit = nop - j b18(%b24:p0:i32) + j b18(%b24:p0:i32, undef:i32, %b24:p0:i32) block b25: %b25:i0:unit = nop @@ -12560,7 +13174,7 @@ block b27: %b27:p0:i32:t6 %b27:i0:unit = nop %b27:i1:unit = nop - j b18(%b27:p0:i32) + j b18(undef:i32, %b27:p0:i32, %b27:p0:i32) block b28: %b28:i0:unit = nop @@ -12573,10 +13187,12 @@ block b29: br %b29:i1:u1, b37(), b38() block b30: - %b30:p0:i32:t11 + %b30:p0:i32:t9 + %b30:p1:i32:t10 + %b30:p2:i32:t11 %b30:i0:unit = nop %b30:i1:unit = nop - j b3(%b30:p0:i32) + j b3(undef:i32, undef:i32, undef:i32, undef:i32, %b33:p0:i32, %b30:p0:i32, %b30:p1:i32, %b30:p2:i32, %b30:p2:i32) block b31: %b31:i0:unit = nop @@ -12608,7 +13224,7 @@ block b36: %b36:p0:i32:t9 %b36:i0:unit = nop %b36:i1:unit = nop - j b30(%b36:p0:i32) + j b30(%b36:p0:i32, undef:i32, %b36:p0:i32) block b37: %b37:i0:unit = nop @@ -12624,7 +13240,7 @@ block b39: %b39:p0:i32:t10 %b39:i0:unit = nop %b39:i1:unit = nop - j b30(%b39:p0:i32) + j b30(undef:i32, %b39:p0:i32, %b39:p0:i32) } fun i32 @func_49 () { @@ -12715,9 +13331,17 @@ block b2: br %b2:i1:u1, b31(), b32() block b3: - %b3:p0:i32:t12 + %b3:p0:i32:t4 + %b3:p1:i32:t5 + %b3:p2:i32:t6 + %b3:p3:i32:t7 + %b3:p4:i32:t8 + %b3:p5:i32:t9 + %b3:p6:i32:t10 + %b3:p7:i32:t11 + %b3:p8:i32:t12 %b3:i0:unit = nop - %b3:i1:u1 = cmp eq %b3:p0:i32 1:i32 + %b3:i1:u1 = cmp eq %b3:p8:i32 1:i32 %b3:i2:i32 = typecast %b3:i1:u1 to i32 ret %b3:i2:i32 @@ -12732,9 +13356,11 @@ block b5: br %b5:i1:u1, b13(), b14() block b6: - %b6:p0:i32:t3 + %b6:p0:i32:t1 + %b6:p1:i32:t2 + %b6:p2:i32:t3 %b6:i0:unit = nop - %b6:i1:u1 = cmp ne %b6:p0:i32 0:i32 + %b6:i1:u1 = cmp ne %b6:p2:i32 0:i32 br %b6:i1:u1, b1(), b2() block b7: @@ -12767,7 +13393,7 @@ block b12: %b12:p0:i32:t1 %b12:i0:unit = nop %b12:i1:unit = nop - j b6(%b12:p0:i32) + j b6(%b12:p0:i32, undef:i32, %b12:p0:i32) block b13: %b13:i0:unit = nop @@ -12783,7 +13409,7 @@ block b15: %b15:p0:i32:t2 %b15:i0:unit = nop %b15:i1:unit = nop - j b6(%b15:p0:i32) + j b6(undef:i32, %b15:p0:i32, %b15:p0:i32) block b16: %b16:i0:unit = nop @@ -12796,10 +13422,12 @@ block b17: br %b17:i1:u1, b25(), b26() block b18: - %b18:p0:i32:t7 + %b18:p0:i32:t5 + %b18:p1:i32:t6 + %b18:p2:i32:t7 %b18:i0:unit = nop %b18:i1:unit = nop - j b3(%b18:p0:i32) + j b3(%b21:p0:i32, %b18:p0:i32, %b18:p1:i32, %b18:p2:i32, undef:i32, undef:i32, undef:i32, undef:i32, %b18:p2:i32) block b19: %b19:i0:unit = nop @@ -12831,7 +13459,7 @@ block b24: %b24:p0:i32:t5 %b24:i0:unit = nop %b24:i1:unit = nop - j b18(%b24:p0:i32) + j b18(%b24:p0:i32, undef:i32, %b24:p0:i32) block b25: %b25:i0:unit = nop @@ -12847,7 +13475,7 @@ block b27: %b27:p0:i32:t6 %b27:i0:unit = nop %b27:i1:unit = nop - j b18(%b27:p0:i32) + j b18(undef:i32, %b27:p0:i32, %b27:p0:i32) block b28: %b28:i0:unit = nop @@ -12860,10 +13488,12 @@ block b29: br %b29:i1:u1, b37(), b38() block b30: - %b30:p0:i32:t11 + %b30:p0:i32:t9 + %b30:p1:i32:t10 + %b30:p2:i32:t11 %b30:i0:unit = nop %b30:i1:unit = nop - j b3(%b30:p0:i32) + j b3(undef:i32, undef:i32, undef:i32, undef:i32, %b33:p0:i32, %b30:p0:i32, %b30:p1:i32, %b30:p2:i32, %b30:p2:i32) block b31: %b31:i0:unit = nop @@ -12895,7 +13525,7 @@ block b36: %b36:p0:i32:t9 %b36:i0:unit = nop %b36:i1:unit = nop - j b30(%b36:p0:i32) + j b30(%b36:p0:i32, undef:i32, %b36:p0:i32) block b37: %b37:i0:unit = nop @@ -12911,7 +13541,7 @@ block b39: %b39:p0:i32:t10 %b39:i0:unit = nop %b39:i1:unit = nop - j b30(%b39:p0:i32) + j b30(undef:i32, %b39:p0:i32, %b39:p0:i32) } fun i32 @func_5 () { @@ -13002,9 +13632,17 @@ block b2: br %b2:i1:u1, b31(), b32() block b3: - %b3:p0:i32:t12 + %b3:p0:i32:t4 + %b3:p1:i32:t5 + %b3:p2:i32:t6 + %b3:p3:i32:t7 + %b3:p4:i32:t8 + %b3:p5:i32:t9 + %b3:p6:i32:t10 + %b3:p7:i32:t11 + %b3:p8:i32:t12 %b3:i0:unit = nop - %b3:i1:u1 = cmp eq %b3:p0:i32 0:i32 + %b3:i1:u1 = cmp eq %b3:p8:i32 0:i32 %b3:i2:i32 = typecast %b3:i1:u1 to i32 ret %b3:i2:i32 @@ -13019,9 +13657,11 @@ block b5: br %b5:i1:u1, b13(), b14() block b6: - %b6:p0:i32:t3 + %b6:p0:i32:t1 + %b6:p1:i32:t2 + %b6:p2:i32:t3 %b6:i0:unit = nop - %b6:i1:u1 = cmp ne %b6:p0:i32 0:i32 + %b6:i1:u1 = cmp ne %b6:p2:i32 0:i32 br %b6:i1:u1, b1(), b2() block b7: @@ -13054,7 +13694,7 @@ block b12: %b12:p0:i32:t1 %b12:i0:unit = nop %b12:i1:unit = nop - j b6(%b12:p0:i32) + j b6(%b12:p0:i32, undef:i32, %b12:p0:i32) block b13: %b13:i0:unit = nop @@ -13070,7 +13710,7 @@ block b15: %b15:p0:i32:t2 %b15:i0:unit = nop %b15:i1:unit = nop - j b6(%b15:p0:i32) + j b6(undef:i32, %b15:p0:i32, %b15:p0:i32) block b16: %b16:i0:unit = nop @@ -13083,10 +13723,12 @@ block b17: br %b17:i1:u1, b25(), b26() block b18: - %b18:p0:i32:t7 + %b18:p0:i32:t5 + %b18:p1:i32:t6 + %b18:p2:i32:t7 %b18:i0:unit = nop %b18:i1:unit = nop - j b3(%b18:p0:i32) + j b3(%b21:p0:i32, %b18:p0:i32, %b18:p1:i32, %b18:p2:i32, undef:i32, undef:i32, undef:i32, undef:i32, %b18:p2:i32) block b19: %b19:i0:unit = nop @@ -13118,7 +13760,7 @@ block b24: %b24:p0:i32:t5 %b24:i0:unit = nop %b24:i1:unit = nop - j b18(%b24:p0:i32) + j b18(%b24:p0:i32, undef:i32, %b24:p0:i32) block b25: %b25:i0:unit = nop @@ -13134,7 +13776,7 @@ block b27: %b27:p0:i32:t6 %b27:i0:unit = nop %b27:i1:unit = nop - j b18(%b27:p0:i32) + j b18(undef:i32, %b27:p0:i32, %b27:p0:i32) block b28: %b28:i0:unit = nop @@ -13147,10 +13789,12 @@ block b29: br %b29:i1:u1, b37(), b38() block b30: - %b30:p0:i32:t11 + %b30:p0:i32:t9 + %b30:p1:i32:t10 + %b30:p2:i32:t11 %b30:i0:unit = nop %b30:i1:unit = nop - j b3(%b30:p0:i32) + j b3(undef:i32, undef:i32, undef:i32, undef:i32, %b33:p0:i32, %b30:p0:i32, %b30:p1:i32, %b30:p2:i32, %b30:p2:i32) block b31: %b31:i0:unit = nop @@ -13182,7 +13826,7 @@ block b36: %b36:p0:i32:t9 %b36:i0:unit = nop %b36:i1:unit = nop - j b30(%b36:p0:i32) + j b30(%b36:p0:i32, undef:i32, %b36:p0:i32) block b37: %b37:i0:unit = nop @@ -13198,7 +13842,7 @@ block b39: %b39:p0:i32:t10 %b39:i0:unit = nop %b39:i1:unit = nop - j b30(%b39:p0:i32) + j b30(undef:i32, %b39:p0:i32, %b39:p0:i32) } fun i32 @func_50 () { @@ -13289,9 +13933,17 @@ block b2: br %b2:i1:u1, b31(), b32() block b3: - %b3:p0:i32:t12 + %b3:p0:i32:t4 + %b3:p1:i32:t5 + %b3:p2:i32:t6 + %b3:p3:i32:t7 + %b3:p4:i32:t8 + %b3:p5:i32:t9 + %b3:p6:i32:t10 + %b3:p7:i32:t11 + %b3:p8:i32:t12 %b3:i0:unit = nop - %b3:i1:u1 = cmp eq %b3:p0:i32 1:i32 + %b3:i1:u1 = cmp eq %b3:p8:i32 1:i32 %b3:i2:i32 = typecast %b3:i1:u1 to i32 ret %b3:i2:i32 @@ -13306,9 +13958,11 @@ block b5: br %b5:i1:u1, b13(), b14() block b6: - %b6:p0:i32:t3 + %b6:p0:i32:t1 + %b6:p1:i32:t2 + %b6:p2:i32:t3 %b6:i0:unit = nop - %b6:i1:u1 = cmp ne %b6:p0:i32 0:i32 + %b6:i1:u1 = cmp ne %b6:p2:i32 0:i32 br %b6:i1:u1, b1(), b2() block b7: @@ -13341,7 +13995,7 @@ block b12: %b12:p0:i32:t1 %b12:i0:unit = nop %b12:i1:unit = nop - j b6(%b12:p0:i32) + j b6(%b12:p0:i32, undef:i32, %b12:p0:i32) block b13: %b13:i0:unit = nop @@ -13357,7 +14011,7 @@ block b15: %b15:p0:i32:t2 %b15:i0:unit = nop %b15:i1:unit = nop - j b6(%b15:p0:i32) + j b6(undef:i32, %b15:p0:i32, %b15:p0:i32) block b16: %b16:i0:unit = nop @@ -13370,10 +14024,12 @@ block b17: br %b17:i1:u1, b25(), b26() block b18: - %b18:p0:i32:t7 + %b18:p0:i32:t5 + %b18:p1:i32:t6 + %b18:p2:i32:t7 %b18:i0:unit = nop %b18:i1:unit = nop - j b3(%b18:p0:i32) + j b3(%b21:p0:i32, %b18:p0:i32, %b18:p1:i32, %b18:p2:i32, undef:i32, undef:i32, undef:i32, undef:i32, %b18:p2:i32) block b19: %b19:i0:unit = nop @@ -13405,7 +14061,7 @@ block b24: %b24:p0:i32:t5 %b24:i0:unit = nop %b24:i1:unit = nop - j b18(%b24:p0:i32) + j b18(%b24:p0:i32, undef:i32, %b24:p0:i32) block b25: %b25:i0:unit = nop @@ -13421,7 +14077,7 @@ block b27: %b27:p0:i32:t6 %b27:i0:unit = nop %b27:i1:unit = nop - j b18(%b27:p0:i32) + j b18(undef:i32, %b27:p0:i32, %b27:p0:i32) block b28: %b28:i0:unit = nop @@ -13434,10 +14090,12 @@ block b29: br %b29:i1:u1, b37(), b38() block b30: - %b30:p0:i32:t11 + %b30:p0:i32:t9 + %b30:p1:i32:t10 + %b30:p2:i32:t11 %b30:i0:unit = nop %b30:i1:unit = nop - j b3(%b30:p0:i32) + j b3(undef:i32, undef:i32, undef:i32, undef:i32, %b33:p0:i32, %b30:p0:i32, %b30:p1:i32, %b30:p2:i32, %b30:p2:i32) block b31: %b31:i0:unit = nop @@ -13469,7 +14127,7 @@ block b36: %b36:p0:i32:t9 %b36:i0:unit = nop %b36:i1:unit = nop - j b30(%b36:p0:i32) + j b30(%b36:p0:i32, undef:i32, %b36:p0:i32) block b37: %b37:i0:unit = nop @@ -13485,7 +14143,7 @@ block b39: %b39:p0:i32:t10 %b39:i0:unit = nop %b39:i1:unit = nop - j b30(%b39:p0:i32) + j b30(undef:i32, %b39:p0:i32, %b39:p0:i32) } fun i32 @func_51 () { @@ -13576,9 +14234,17 @@ block b2: br %b2:i1:u1, b31(), b32() block b3: - %b3:p0:i32:t12 + %b3:p0:i32:t4 + %b3:p1:i32:t5 + %b3:p2:i32:t6 + %b3:p3:i32:t7 + %b3:p4:i32:t8 + %b3:p5:i32:t9 + %b3:p6:i32:t10 + %b3:p7:i32:t11 + %b3:p8:i32:t12 %b3:i0:unit = nop - %b3:i1:u1 = cmp eq %b3:p0:i32 1:i32 + %b3:i1:u1 = cmp eq %b3:p8:i32 1:i32 %b3:i2:i32 = typecast %b3:i1:u1 to i32 ret %b3:i2:i32 @@ -13593,9 +14259,11 @@ block b5: br %b5:i1:u1, b13(), b14() block b6: - %b6:p0:i32:t3 + %b6:p0:i32:t1 + %b6:p1:i32:t2 + %b6:p2:i32:t3 %b6:i0:unit = nop - %b6:i1:u1 = cmp ne %b6:p0:i32 0:i32 + %b6:i1:u1 = cmp ne %b6:p2:i32 0:i32 br %b6:i1:u1, b1(), b2() block b7: @@ -13628,7 +14296,7 @@ block b12: %b12:p0:i32:t1 %b12:i0:unit = nop %b12:i1:unit = nop - j b6(%b12:p0:i32) + j b6(%b12:p0:i32, undef:i32, %b12:p0:i32) block b13: %b13:i0:unit = nop @@ -13644,7 +14312,7 @@ block b15: %b15:p0:i32:t2 %b15:i0:unit = nop %b15:i1:unit = nop - j b6(%b15:p0:i32) + j b6(undef:i32, %b15:p0:i32, %b15:p0:i32) block b16: %b16:i0:unit = nop @@ -13657,10 +14325,12 @@ block b17: br %b17:i1:u1, b25(), b26() block b18: - %b18:p0:i32:t7 + %b18:p0:i32:t5 + %b18:p1:i32:t6 + %b18:p2:i32:t7 %b18:i0:unit = nop %b18:i1:unit = nop - j b3(%b18:p0:i32) + j b3(%b21:p0:i32, %b18:p0:i32, %b18:p1:i32, %b18:p2:i32, undef:i32, undef:i32, undef:i32, undef:i32, %b18:p2:i32) block b19: %b19:i0:unit = nop @@ -13692,7 +14362,7 @@ block b24: %b24:p0:i32:t5 %b24:i0:unit = nop %b24:i1:unit = nop - j b18(%b24:p0:i32) + j b18(%b24:p0:i32, undef:i32, %b24:p0:i32) block b25: %b25:i0:unit = nop @@ -13708,7 +14378,7 @@ block b27: %b27:p0:i32:t6 %b27:i0:unit = nop %b27:i1:unit = nop - j b18(%b27:p0:i32) + j b18(undef:i32, %b27:p0:i32, %b27:p0:i32) block b28: %b28:i0:unit = nop @@ -13721,10 +14391,12 @@ block b29: br %b29:i1:u1, b37(), b38() block b30: - %b30:p0:i32:t11 + %b30:p0:i32:t9 + %b30:p1:i32:t10 + %b30:p2:i32:t11 %b30:i0:unit = nop %b30:i1:unit = nop - j b3(%b30:p0:i32) + j b3(undef:i32, undef:i32, undef:i32, undef:i32, %b33:p0:i32, %b30:p0:i32, %b30:p1:i32, %b30:p2:i32, %b30:p2:i32) block b31: %b31:i0:unit = nop @@ -13756,7 +14428,7 @@ block b36: %b36:p0:i32:t9 %b36:i0:unit = nop %b36:i1:unit = nop - j b30(%b36:p0:i32) + j b30(%b36:p0:i32, undef:i32, %b36:p0:i32) block b37: %b37:i0:unit = nop @@ -13772,7 +14444,7 @@ block b39: %b39:p0:i32:t10 %b39:i0:unit = nop %b39:i1:unit = nop - j b30(%b39:p0:i32) + j b30(undef:i32, %b39:p0:i32, %b39:p0:i32) } fun i32 @func_52 () { @@ -13863,9 +14535,17 @@ block b2: br %b2:i1:u1, b31(), b32() block b3: - %b3:p0:i32:t12 + %b3:p0:i32:t4 + %b3:p1:i32:t5 + %b3:p2:i32:t6 + %b3:p3:i32:t7 + %b3:p4:i32:t8 + %b3:p5:i32:t9 + %b3:p6:i32:t10 + %b3:p7:i32:t11 + %b3:p8:i32:t12 %b3:i0:unit = nop - %b3:i1:u1 = cmp eq %b3:p0:i32 1:i32 + %b3:i1:u1 = cmp eq %b3:p8:i32 1:i32 %b3:i2:i32 = typecast %b3:i1:u1 to i32 ret %b3:i2:i32 @@ -13880,9 +14560,11 @@ block b5: br %b5:i1:u1, b13(), b14() block b6: - %b6:p0:i32:t3 + %b6:p0:i32:t1 + %b6:p1:i32:t2 + %b6:p2:i32:t3 %b6:i0:unit = nop - %b6:i1:u1 = cmp ne %b6:p0:i32 0:i32 + %b6:i1:u1 = cmp ne %b6:p2:i32 0:i32 br %b6:i1:u1, b1(), b2() block b7: @@ -13915,7 +14597,7 @@ block b12: %b12:p0:i32:t1 %b12:i0:unit = nop %b12:i1:unit = nop - j b6(%b12:p0:i32) + j b6(%b12:p0:i32, undef:i32, %b12:p0:i32) block b13: %b13:i0:unit = nop @@ -13931,7 +14613,7 @@ block b15: %b15:p0:i32:t2 %b15:i0:unit = nop %b15:i1:unit = nop - j b6(%b15:p0:i32) + j b6(undef:i32, %b15:p0:i32, %b15:p0:i32) block b16: %b16:i0:unit = nop @@ -13944,10 +14626,12 @@ block b17: br %b17:i1:u1, b25(), b26() block b18: - %b18:p0:i32:t7 + %b18:p0:i32:t5 + %b18:p1:i32:t6 + %b18:p2:i32:t7 %b18:i0:unit = nop %b18:i1:unit = nop - j b3(%b18:p0:i32) + j b3(%b21:p0:i32, %b18:p0:i32, %b18:p1:i32, %b18:p2:i32, undef:i32, undef:i32, undef:i32, undef:i32, %b18:p2:i32) block b19: %b19:i0:unit = nop @@ -13979,7 +14663,7 @@ block b24: %b24:p0:i32:t5 %b24:i0:unit = nop %b24:i1:unit = nop - j b18(%b24:p0:i32) + j b18(%b24:p0:i32, undef:i32, %b24:p0:i32) block b25: %b25:i0:unit = nop @@ -13995,7 +14679,7 @@ block b27: %b27:p0:i32:t6 %b27:i0:unit = nop %b27:i1:unit = nop - j b18(%b27:p0:i32) + j b18(undef:i32, %b27:p0:i32, %b27:p0:i32) block b28: %b28:i0:unit = nop @@ -14008,10 +14692,12 @@ block b29: br %b29:i1:u1, b37(), b38() block b30: - %b30:p0:i32:t11 + %b30:p0:i32:t9 + %b30:p1:i32:t10 + %b30:p2:i32:t11 %b30:i0:unit = nop %b30:i1:unit = nop - j b3(%b30:p0:i32) + j b3(undef:i32, undef:i32, undef:i32, undef:i32, %b33:p0:i32, %b30:p0:i32, %b30:p1:i32, %b30:p2:i32, %b30:p2:i32) block b31: %b31:i0:unit = nop @@ -14043,7 +14729,7 @@ block b36: %b36:p0:i32:t9 %b36:i0:unit = nop %b36:i1:unit = nop - j b30(%b36:p0:i32) + j b30(%b36:p0:i32, undef:i32, %b36:p0:i32) block b37: %b37:i0:unit = nop @@ -14059,7 +14745,7 @@ block b39: %b39:p0:i32:t10 %b39:i0:unit = nop %b39:i1:unit = nop - j b30(%b39:p0:i32) + j b30(undef:i32, %b39:p0:i32, %b39:p0:i32) } fun i32 @func_53 () { @@ -14150,9 +14836,17 @@ block b2: br %b2:i1:u1, b31(), b32() block b3: - %b3:p0:i32:t12 + %b3:p0:i32:t4 + %b3:p1:i32:t5 + %b3:p2:i32:t6 + %b3:p3:i32:t7 + %b3:p4:i32:t8 + %b3:p5:i32:t9 + %b3:p6:i32:t10 + %b3:p7:i32:t11 + %b3:p8:i32:t12 %b3:i0:unit = nop - %b3:i1:u1 = cmp eq %b3:p0:i32 0:i32 + %b3:i1:u1 = cmp eq %b3:p8:i32 0:i32 %b3:i2:i32 = typecast %b3:i1:u1 to i32 ret %b3:i2:i32 @@ -14167,9 +14861,11 @@ block b5: br %b5:i1:u1, b13(), b14() block b6: - %b6:p0:i32:t3 + %b6:p0:i32:t1 + %b6:p1:i32:t2 + %b6:p2:i32:t3 %b6:i0:unit = nop - %b6:i1:u1 = cmp ne %b6:p0:i32 0:i32 + %b6:i1:u1 = cmp ne %b6:p2:i32 0:i32 br %b6:i1:u1, b1(), b2() block b7: @@ -14202,7 +14898,7 @@ block b12: %b12:p0:i32:t1 %b12:i0:unit = nop %b12:i1:unit = nop - j b6(%b12:p0:i32) + j b6(%b12:p0:i32, undef:i32, %b12:p0:i32) block b13: %b13:i0:unit = nop @@ -14218,7 +14914,7 @@ block b15: %b15:p0:i32:t2 %b15:i0:unit = nop %b15:i1:unit = nop - j b6(%b15:p0:i32) + j b6(undef:i32, %b15:p0:i32, %b15:p0:i32) block b16: %b16:i0:unit = nop @@ -14231,10 +14927,12 @@ block b17: br %b17:i1:u1, b25(), b26() block b18: - %b18:p0:i32:t7 + %b18:p0:i32:t5 + %b18:p1:i32:t6 + %b18:p2:i32:t7 %b18:i0:unit = nop %b18:i1:unit = nop - j b3(%b18:p0:i32) + j b3(%b21:p0:i32, %b18:p0:i32, %b18:p1:i32, %b18:p2:i32, undef:i32, undef:i32, undef:i32, undef:i32, %b18:p2:i32) block b19: %b19:i0:unit = nop @@ -14266,7 +14964,7 @@ block b24: %b24:p0:i32:t5 %b24:i0:unit = nop %b24:i1:unit = nop - j b18(%b24:p0:i32) + j b18(%b24:p0:i32, undef:i32, %b24:p0:i32) block b25: %b25:i0:unit = nop @@ -14282,7 +14980,7 @@ block b27: %b27:p0:i32:t6 %b27:i0:unit = nop %b27:i1:unit = nop - j b18(%b27:p0:i32) + j b18(undef:i32, %b27:p0:i32, %b27:p0:i32) block b28: %b28:i0:unit = nop @@ -14295,10 +14993,12 @@ block b29: br %b29:i1:u1, b37(), b38() block b30: - %b30:p0:i32:t11 + %b30:p0:i32:t9 + %b30:p1:i32:t10 + %b30:p2:i32:t11 %b30:i0:unit = nop %b30:i1:unit = nop - j b3(%b30:p0:i32) + j b3(undef:i32, undef:i32, undef:i32, undef:i32, %b33:p0:i32, %b30:p0:i32, %b30:p1:i32, %b30:p2:i32, %b30:p2:i32) block b31: %b31:i0:unit = nop @@ -14330,7 +15030,7 @@ block b36: %b36:p0:i32:t9 %b36:i0:unit = nop %b36:i1:unit = nop - j b30(%b36:p0:i32) + j b30(%b36:p0:i32, undef:i32, %b36:p0:i32) block b37: %b37:i0:unit = nop @@ -14346,7 +15046,7 @@ block b39: %b39:p0:i32:t10 %b39:i0:unit = nop %b39:i1:unit = nop - j b30(%b39:p0:i32) + j b30(undef:i32, %b39:p0:i32, %b39:p0:i32) } fun i32 @func_54 () { @@ -14437,9 +15137,17 @@ block b2: br %b2:i1:u1, b31(), b32() block b3: - %b3:p0:i32:t12 + %b3:p0:i32:t4 + %b3:p1:i32:t5 + %b3:p2:i32:t6 + %b3:p3:i32:t7 + %b3:p4:i32:t8 + %b3:p5:i32:t9 + %b3:p6:i32:t10 + %b3:p7:i32:t11 + %b3:p8:i32:t12 %b3:i0:unit = nop - %b3:i1:u1 = cmp eq %b3:p0:i32 0:i32 + %b3:i1:u1 = cmp eq %b3:p8:i32 0:i32 %b3:i2:i32 = typecast %b3:i1:u1 to i32 ret %b3:i2:i32 @@ -14454,9 +15162,11 @@ block b5: br %b5:i1:u1, b13(), b14() block b6: - %b6:p0:i32:t3 + %b6:p0:i32:t1 + %b6:p1:i32:t2 + %b6:p2:i32:t3 %b6:i0:unit = nop - %b6:i1:u1 = cmp ne %b6:p0:i32 0:i32 + %b6:i1:u1 = cmp ne %b6:p2:i32 0:i32 br %b6:i1:u1, b1(), b2() block b7: @@ -14489,7 +15199,7 @@ block b12: %b12:p0:i32:t1 %b12:i0:unit = nop %b12:i1:unit = nop - j b6(%b12:p0:i32) + j b6(%b12:p0:i32, undef:i32, %b12:p0:i32) block b13: %b13:i0:unit = nop @@ -14505,7 +15215,7 @@ block b15: %b15:p0:i32:t2 %b15:i0:unit = nop %b15:i1:unit = nop - j b6(%b15:p0:i32) + j b6(undef:i32, %b15:p0:i32, %b15:p0:i32) block b16: %b16:i0:unit = nop @@ -14518,10 +15228,12 @@ block b17: br %b17:i1:u1, b25(), b26() block b18: - %b18:p0:i32:t7 + %b18:p0:i32:t5 + %b18:p1:i32:t6 + %b18:p2:i32:t7 %b18:i0:unit = nop %b18:i1:unit = nop - j b3(%b18:p0:i32) + j b3(%b21:p0:i32, %b18:p0:i32, %b18:p1:i32, %b18:p2:i32, undef:i32, undef:i32, undef:i32, undef:i32, %b18:p2:i32) block b19: %b19:i0:unit = nop @@ -14553,7 +15265,7 @@ block b24: %b24:p0:i32:t5 %b24:i0:unit = nop %b24:i1:unit = nop - j b18(%b24:p0:i32) + j b18(%b24:p0:i32, undef:i32, %b24:p0:i32) block b25: %b25:i0:unit = nop @@ -14569,7 +15281,7 @@ block b27: %b27:p0:i32:t6 %b27:i0:unit = nop %b27:i1:unit = nop - j b18(%b27:p0:i32) + j b18(undef:i32, %b27:p0:i32, %b27:p0:i32) block b28: %b28:i0:unit = nop @@ -14582,10 +15294,12 @@ block b29: br %b29:i1:u1, b37(), b38() block b30: - %b30:p0:i32:t11 + %b30:p0:i32:t9 + %b30:p1:i32:t10 + %b30:p2:i32:t11 %b30:i0:unit = nop %b30:i1:unit = nop - j b3(%b30:p0:i32) + j b3(undef:i32, undef:i32, undef:i32, undef:i32, %b33:p0:i32, %b30:p0:i32, %b30:p1:i32, %b30:p2:i32, %b30:p2:i32) block b31: %b31:i0:unit = nop @@ -14617,7 +15331,7 @@ block b36: %b36:p0:i32:t9 %b36:i0:unit = nop %b36:i1:unit = nop - j b30(%b36:p0:i32) + j b30(%b36:p0:i32, undef:i32, %b36:p0:i32) block b37: %b37:i0:unit = nop @@ -14633,7 +15347,7 @@ block b39: %b39:p0:i32:t10 %b39:i0:unit = nop %b39:i1:unit = nop - j b30(%b39:p0:i32) + j b30(undef:i32, %b39:p0:i32, %b39:p0:i32) } fun i32 @func_55 () { @@ -14724,9 +15438,17 @@ block b2: br %b2:i1:u1, b31(), b32() block b3: - %b3:p0:i32:t12 + %b3:p0:i32:t4 + %b3:p1:i32:t5 + %b3:p2:i32:t6 + %b3:p3:i32:t7 + %b3:p4:i32:t8 + %b3:p5:i32:t9 + %b3:p6:i32:t10 + %b3:p7:i32:t11 + %b3:p8:i32:t12 %b3:i0:unit = nop - %b3:i1:u1 = cmp eq %b3:p0:i32 0:i32 + %b3:i1:u1 = cmp eq %b3:p8:i32 0:i32 %b3:i2:i32 = typecast %b3:i1:u1 to i32 ret %b3:i2:i32 @@ -14741,9 +15463,11 @@ block b5: br %b5:i1:u1, b13(), b14() block b6: - %b6:p0:i32:t3 + %b6:p0:i32:t1 + %b6:p1:i32:t2 + %b6:p2:i32:t3 %b6:i0:unit = nop - %b6:i1:u1 = cmp ne %b6:p0:i32 0:i32 + %b6:i1:u1 = cmp ne %b6:p2:i32 0:i32 br %b6:i1:u1, b1(), b2() block b7: @@ -14776,7 +15500,7 @@ block b12: %b12:p0:i32:t1 %b12:i0:unit = nop %b12:i1:unit = nop - j b6(%b12:p0:i32) + j b6(%b12:p0:i32, undef:i32, %b12:p0:i32) block b13: %b13:i0:unit = nop @@ -14792,7 +15516,7 @@ block b15: %b15:p0:i32:t2 %b15:i0:unit = nop %b15:i1:unit = nop - j b6(%b15:p0:i32) + j b6(undef:i32, %b15:p0:i32, %b15:p0:i32) block b16: %b16:i0:unit = nop @@ -14805,10 +15529,12 @@ block b17: br %b17:i1:u1, b25(), b26() block b18: - %b18:p0:i32:t7 + %b18:p0:i32:t5 + %b18:p1:i32:t6 + %b18:p2:i32:t7 %b18:i0:unit = nop %b18:i1:unit = nop - j b3(%b18:p0:i32) + j b3(%b21:p0:i32, %b18:p0:i32, %b18:p1:i32, %b18:p2:i32, undef:i32, undef:i32, undef:i32, undef:i32, %b18:p2:i32) block b19: %b19:i0:unit = nop @@ -14840,7 +15566,7 @@ block b24: %b24:p0:i32:t5 %b24:i0:unit = nop %b24:i1:unit = nop - j b18(%b24:p0:i32) + j b18(%b24:p0:i32, undef:i32, %b24:p0:i32) block b25: %b25:i0:unit = nop @@ -14856,7 +15582,7 @@ block b27: %b27:p0:i32:t6 %b27:i0:unit = nop %b27:i1:unit = nop - j b18(%b27:p0:i32) + j b18(undef:i32, %b27:p0:i32, %b27:p0:i32) block b28: %b28:i0:unit = nop @@ -14869,10 +15595,12 @@ block b29: br %b29:i1:u1, b37(), b38() block b30: - %b30:p0:i32:t11 + %b30:p0:i32:t9 + %b30:p1:i32:t10 + %b30:p2:i32:t11 %b30:i0:unit = nop %b30:i1:unit = nop - j b3(%b30:p0:i32) + j b3(undef:i32, undef:i32, undef:i32, undef:i32, %b33:p0:i32, %b30:p0:i32, %b30:p1:i32, %b30:p2:i32, %b30:p2:i32) block b31: %b31:i0:unit = nop @@ -14904,7 +15632,7 @@ block b36: %b36:p0:i32:t9 %b36:i0:unit = nop %b36:i1:unit = nop - j b30(%b36:p0:i32) + j b30(%b36:p0:i32, undef:i32, %b36:p0:i32) block b37: %b37:i0:unit = nop @@ -14920,7 +15648,7 @@ block b39: %b39:p0:i32:t10 %b39:i0:unit = nop %b39:i1:unit = nop - j b30(%b39:p0:i32) + j b30(undef:i32, %b39:p0:i32, %b39:p0:i32) } fun i32 @func_56 () { @@ -15011,9 +15739,17 @@ block b2: br %b2:i1:u1, b31(), b32() block b3: - %b3:p0:i32:t12 + %b3:p0:i32:t4 + %b3:p1:i32:t5 + %b3:p2:i32:t6 + %b3:p3:i32:t7 + %b3:p4:i32:t8 + %b3:p5:i32:t9 + %b3:p6:i32:t10 + %b3:p7:i32:t11 + %b3:p8:i32:t12 %b3:i0:unit = nop - %b3:i1:u1 = cmp eq %b3:p0:i32 1:i32 + %b3:i1:u1 = cmp eq %b3:p8:i32 1:i32 %b3:i2:i32 = typecast %b3:i1:u1 to i32 ret %b3:i2:i32 @@ -15028,9 +15764,11 @@ block b5: br %b5:i1:u1, b13(), b14() block b6: - %b6:p0:i32:t3 + %b6:p0:i32:t1 + %b6:p1:i32:t2 + %b6:p2:i32:t3 %b6:i0:unit = nop - %b6:i1:u1 = cmp ne %b6:p0:i32 0:i32 + %b6:i1:u1 = cmp ne %b6:p2:i32 0:i32 br %b6:i1:u1, b1(), b2() block b7: @@ -15063,7 +15801,7 @@ block b12: %b12:p0:i32:t1 %b12:i0:unit = nop %b12:i1:unit = nop - j b6(%b12:p0:i32) + j b6(%b12:p0:i32, undef:i32, %b12:p0:i32) block b13: %b13:i0:unit = nop @@ -15079,7 +15817,7 @@ block b15: %b15:p0:i32:t2 %b15:i0:unit = nop %b15:i1:unit = nop - j b6(%b15:p0:i32) + j b6(undef:i32, %b15:p0:i32, %b15:p0:i32) block b16: %b16:i0:unit = nop @@ -15092,10 +15830,12 @@ block b17: br %b17:i1:u1, b25(), b26() block b18: - %b18:p0:i32:t7 + %b18:p0:i32:t5 + %b18:p1:i32:t6 + %b18:p2:i32:t7 %b18:i0:unit = nop %b18:i1:unit = nop - j b3(%b18:p0:i32) + j b3(%b21:p0:i32, %b18:p0:i32, %b18:p1:i32, %b18:p2:i32, undef:i32, undef:i32, undef:i32, undef:i32, %b18:p2:i32) block b19: %b19:i0:unit = nop @@ -15127,7 +15867,7 @@ block b24: %b24:p0:i32:t5 %b24:i0:unit = nop %b24:i1:unit = nop - j b18(%b24:p0:i32) + j b18(%b24:p0:i32, undef:i32, %b24:p0:i32) block b25: %b25:i0:unit = nop @@ -15143,7 +15883,7 @@ block b27: %b27:p0:i32:t6 %b27:i0:unit = nop %b27:i1:unit = nop - j b18(%b27:p0:i32) + j b18(undef:i32, %b27:p0:i32, %b27:p0:i32) block b28: %b28:i0:unit = nop @@ -15156,10 +15896,12 @@ block b29: br %b29:i1:u1, b37(), b38() block b30: - %b30:p0:i32:t11 + %b30:p0:i32:t9 + %b30:p1:i32:t10 + %b30:p2:i32:t11 %b30:i0:unit = nop %b30:i1:unit = nop - j b3(%b30:p0:i32) + j b3(undef:i32, undef:i32, undef:i32, undef:i32, %b33:p0:i32, %b30:p0:i32, %b30:p1:i32, %b30:p2:i32, %b30:p2:i32) block b31: %b31:i0:unit = nop @@ -15191,7 +15933,7 @@ block b36: %b36:p0:i32:t9 %b36:i0:unit = nop %b36:i1:unit = nop - j b30(%b36:p0:i32) + j b30(%b36:p0:i32, undef:i32, %b36:p0:i32) block b37: %b37:i0:unit = nop @@ -15207,7 +15949,7 @@ block b39: %b39:p0:i32:t10 %b39:i0:unit = nop %b39:i1:unit = nop - j b30(%b39:p0:i32) + j b30(undef:i32, %b39:p0:i32, %b39:p0:i32) } fun i32 @func_57 () { @@ -15298,9 +16040,17 @@ block b2: br %b2:i1:u1, b31(), b32() block b3: - %b3:p0:i32:t12 + %b3:p0:i32:t4 + %b3:p1:i32:t5 + %b3:p2:i32:t6 + %b3:p3:i32:t7 + %b3:p4:i32:t8 + %b3:p5:i32:t9 + %b3:p6:i32:t10 + %b3:p7:i32:t11 + %b3:p8:i32:t12 %b3:i0:unit = nop - %b3:i1:u1 = cmp eq %b3:p0:i32 0:i32 + %b3:i1:u1 = cmp eq %b3:p8:i32 0:i32 %b3:i2:i32 = typecast %b3:i1:u1 to i32 ret %b3:i2:i32 @@ -15315,9 +16065,11 @@ block b5: br %b5:i1:u1, b13(), b14() block b6: - %b6:p0:i32:t3 + %b6:p0:i32:t1 + %b6:p1:i32:t2 + %b6:p2:i32:t3 %b6:i0:unit = nop - %b6:i1:u1 = cmp ne %b6:p0:i32 0:i32 + %b6:i1:u1 = cmp ne %b6:p2:i32 0:i32 br %b6:i1:u1, b1(), b2() block b7: @@ -15350,7 +16102,7 @@ block b12: %b12:p0:i32:t1 %b12:i0:unit = nop %b12:i1:unit = nop - j b6(%b12:p0:i32) + j b6(%b12:p0:i32, undef:i32, %b12:p0:i32) block b13: %b13:i0:unit = nop @@ -15366,7 +16118,7 @@ block b15: %b15:p0:i32:t2 %b15:i0:unit = nop %b15:i1:unit = nop - j b6(%b15:p0:i32) + j b6(undef:i32, %b15:p0:i32, %b15:p0:i32) block b16: %b16:i0:unit = nop @@ -15379,10 +16131,12 @@ block b17: br %b17:i1:u1, b25(), b26() block b18: - %b18:p0:i32:t7 + %b18:p0:i32:t5 + %b18:p1:i32:t6 + %b18:p2:i32:t7 %b18:i0:unit = nop %b18:i1:unit = nop - j b3(%b18:p0:i32) + j b3(%b21:p0:i32, %b18:p0:i32, %b18:p1:i32, %b18:p2:i32, undef:i32, undef:i32, undef:i32, undef:i32, %b18:p2:i32) block b19: %b19:i0:unit = nop @@ -15414,7 +16168,7 @@ block b24: %b24:p0:i32:t5 %b24:i0:unit = nop %b24:i1:unit = nop - j b18(%b24:p0:i32) + j b18(%b24:p0:i32, undef:i32, %b24:p0:i32) block b25: %b25:i0:unit = nop @@ -15430,7 +16184,7 @@ block b27: %b27:p0:i32:t6 %b27:i0:unit = nop %b27:i1:unit = nop - j b18(%b27:p0:i32) + j b18(undef:i32, %b27:p0:i32, %b27:p0:i32) block b28: %b28:i0:unit = nop @@ -15443,10 +16197,12 @@ block b29: br %b29:i1:u1, b37(), b38() block b30: - %b30:p0:i32:t11 + %b30:p0:i32:t9 + %b30:p1:i32:t10 + %b30:p2:i32:t11 %b30:i0:unit = nop %b30:i1:unit = nop - j b3(%b30:p0:i32) + j b3(undef:i32, undef:i32, undef:i32, undef:i32, %b33:p0:i32, %b30:p0:i32, %b30:p1:i32, %b30:p2:i32, %b30:p2:i32) block b31: %b31:i0:unit = nop @@ -15478,7 +16234,7 @@ block b36: %b36:p0:i32:t9 %b36:i0:unit = nop %b36:i1:unit = nop - j b30(%b36:p0:i32) + j b30(%b36:p0:i32, undef:i32, %b36:p0:i32) block b37: %b37:i0:unit = nop @@ -15494,7 +16250,7 @@ block b39: %b39:p0:i32:t10 %b39:i0:unit = nop %b39:i1:unit = nop - j b30(%b39:p0:i32) + j b30(undef:i32, %b39:p0:i32, %b39:p0:i32) } fun i32 @func_58 () { @@ -15585,9 +16341,17 @@ block b2: br %b2:i1:u1, b31(), b32() block b3: - %b3:p0:i32:t12 + %b3:p0:i32:t4 + %b3:p1:i32:t5 + %b3:p2:i32:t6 + %b3:p3:i32:t7 + %b3:p4:i32:t8 + %b3:p5:i32:t9 + %b3:p6:i32:t10 + %b3:p7:i32:t11 + %b3:p8:i32:t12 %b3:i0:unit = nop - %b3:i1:u1 = cmp eq %b3:p0:i32 1:i32 + %b3:i1:u1 = cmp eq %b3:p8:i32 1:i32 %b3:i2:i32 = typecast %b3:i1:u1 to i32 ret %b3:i2:i32 @@ -15602,9 +16366,11 @@ block b5: br %b5:i1:u1, b13(), b14() block b6: - %b6:p0:i32:t3 + %b6:p0:i32:t1 + %b6:p1:i32:t2 + %b6:p2:i32:t3 %b6:i0:unit = nop - %b6:i1:u1 = cmp ne %b6:p0:i32 0:i32 + %b6:i1:u1 = cmp ne %b6:p2:i32 0:i32 br %b6:i1:u1, b1(), b2() block b7: @@ -15637,7 +16403,7 @@ block b12: %b12:p0:i32:t1 %b12:i0:unit = nop %b12:i1:unit = nop - j b6(%b12:p0:i32) + j b6(%b12:p0:i32, undef:i32, %b12:p0:i32) block b13: %b13:i0:unit = nop @@ -15653,7 +16419,7 @@ block b15: %b15:p0:i32:t2 %b15:i0:unit = nop %b15:i1:unit = nop - j b6(%b15:p0:i32) + j b6(undef:i32, %b15:p0:i32, %b15:p0:i32) block b16: %b16:i0:unit = nop @@ -15666,10 +16432,12 @@ block b17: br %b17:i1:u1, b25(), b26() block b18: - %b18:p0:i32:t7 + %b18:p0:i32:t5 + %b18:p1:i32:t6 + %b18:p2:i32:t7 %b18:i0:unit = nop %b18:i1:unit = nop - j b3(%b18:p0:i32) + j b3(%b21:p0:i32, %b18:p0:i32, %b18:p1:i32, %b18:p2:i32, undef:i32, undef:i32, undef:i32, undef:i32, %b18:p2:i32) block b19: %b19:i0:unit = nop @@ -15701,7 +16469,7 @@ block b24: %b24:p0:i32:t5 %b24:i0:unit = nop %b24:i1:unit = nop - j b18(%b24:p0:i32) + j b18(%b24:p0:i32, undef:i32, %b24:p0:i32) block b25: %b25:i0:unit = nop @@ -15717,7 +16485,7 @@ block b27: %b27:p0:i32:t6 %b27:i0:unit = nop %b27:i1:unit = nop - j b18(%b27:p0:i32) + j b18(undef:i32, %b27:p0:i32, %b27:p0:i32) block b28: %b28:i0:unit = nop @@ -15730,10 +16498,12 @@ block b29: br %b29:i1:u1, b37(), b38() block b30: - %b30:p0:i32:t11 + %b30:p0:i32:t9 + %b30:p1:i32:t10 + %b30:p2:i32:t11 %b30:i0:unit = nop %b30:i1:unit = nop - j b3(%b30:p0:i32) + j b3(undef:i32, undef:i32, undef:i32, undef:i32, %b33:p0:i32, %b30:p0:i32, %b30:p1:i32, %b30:p2:i32, %b30:p2:i32) block b31: %b31:i0:unit = nop @@ -15765,7 +16535,7 @@ block b36: %b36:p0:i32:t9 %b36:i0:unit = nop %b36:i1:unit = nop - j b30(%b36:p0:i32) + j b30(%b36:p0:i32, undef:i32, %b36:p0:i32) block b37: %b37:i0:unit = nop @@ -15781,7 +16551,7 @@ block b39: %b39:p0:i32:t10 %b39:i0:unit = nop %b39:i1:unit = nop - j b30(%b39:p0:i32) + j b30(undef:i32, %b39:p0:i32, %b39:p0:i32) } fun i32 @func_59 () { @@ -15872,9 +16642,17 @@ block b2: br %b2:i1:u1, b31(), b32() block b3: - %b3:p0:i32:t12 + %b3:p0:i32:t4 + %b3:p1:i32:t5 + %b3:p2:i32:t6 + %b3:p3:i32:t7 + %b3:p4:i32:t8 + %b3:p5:i32:t9 + %b3:p6:i32:t10 + %b3:p7:i32:t11 + %b3:p8:i32:t12 %b3:i0:unit = nop - %b3:i1:u1 = cmp eq %b3:p0:i32 1:i32 + %b3:i1:u1 = cmp eq %b3:p8:i32 1:i32 %b3:i2:i32 = typecast %b3:i1:u1 to i32 ret %b3:i2:i32 @@ -15889,9 +16667,11 @@ block b5: br %b5:i1:u1, b13(), b14() block b6: - %b6:p0:i32:t3 + %b6:p0:i32:t1 + %b6:p1:i32:t2 + %b6:p2:i32:t3 %b6:i0:unit = nop - %b6:i1:u1 = cmp ne %b6:p0:i32 0:i32 + %b6:i1:u1 = cmp ne %b6:p2:i32 0:i32 br %b6:i1:u1, b1(), b2() block b7: @@ -15924,7 +16704,7 @@ block b12: %b12:p0:i32:t1 %b12:i0:unit = nop %b12:i1:unit = nop - j b6(%b12:p0:i32) + j b6(%b12:p0:i32, undef:i32, %b12:p0:i32) block b13: %b13:i0:unit = nop @@ -15940,7 +16720,7 @@ block b15: %b15:p0:i32:t2 %b15:i0:unit = nop %b15:i1:unit = nop - j b6(%b15:p0:i32) + j b6(undef:i32, %b15:p0:i32, %b15:p0:i32) block b16: %b16:i0:unit = nop @@ -15953,10 +16733,12 @@ block b17: br %b17:i1:u1, b25(), b26() block b18: - %b18:p0:i32:t7 + %b18:p0:i32:t5 + %b18:p1:i32:t6 + %b18:p2:i32:t7 %b18:i0:unit = nop %b18:i1:unit = nop - j b3(%b18:p0:i32) + j b3(%b21:p0:i32, %b18:p0:i32, %b18:p1:i32, %b18:p2:i32, undef:i32, undef:i32, undef:i32, undef:i32, %b18:p2:i32) block b19: %b19:i0:unit = nop @@ -15988,7 +16770,7 @@ block b24: %b24:p0:i32:t5 %b24:i0:unit = nop %b24:i1:unit = nop - j b18(%b24:p0:i32) + j b18(%b24:p0:i32, undef:i32, %b24:p0:i32) block b25: %b25:i0:unit = nop @@ -16004,7 +16786,7 @@ block b27: %b27:p0:i32:t6 %b27:i0:unit = nop %b27:i1:unit = nop - j b18(%b27:p0:i32) + j b18(undef:i32, %b27:p0:i32, %b27:p0:i32) block b28: %b28:i0:unit = nop @@ -16017,10 +16799,12 @@ block b29: br %b29:i1:u1, b37(), b38() block b30: - %b30:p0:i32:t11 + %b30:p0:i32:t9 + %b30:p1:i32:t10 + %b30:p2:i32:t11 %b30:i0:unit = nop %b30:i1:unit = nop - j b3(%b30:p0:i32) + j b3(undef:i32, undef:i32, undef:i32, undef:i32, %b33:p0:i32, %b30:p0:i32, %b30:p1:i32, %b30:p2:i32, %b30:p2:i32) block b31: %b31:i0:unit = nop @@ -16052,7 +16836,7 @@ block b36: %b36:p0:i32:t9 %b36:i0:unit = nop %b36:i1:unit = nop - j b30(%b36:p0:i32) + j b30(%b36:p0:i32, undef:i32, %b36:p0:i32) block b37: %b37:i0:unit = nop @@ -16068,7 +16852,7 @@ block b39: %b39:p0:i32:t10 %b39:i0:unit = nop %b39:i1:unit = nop - j b30(%b39:p0:i32) + j b30(undef:i32, %b39:p0:i32, %b39:p0:i32) } fun i32 @func_6 () { @@ -16159,9 +16943,17 @@ block b2: br %b2:i1:u1, b31(), b32() block b3: - %b3:p0:i32:t12 + %b3:p0:i32:t4 + %b3:p1:i32:t5 + %b3:p2:i32:t6 + %b3:p3:i32:t7 + %b3:p4:i32:t8 + %b3:p5:i32:t9 + %b3:p6:i32:t10 + %b3:p7:i32:t11 + %b3:p8:i32:t12 %b3:i0:unit = nop - %b3:i1:u1 = cmp eq %b3:p0:i32 0:i32 + %b3:i1:u1 = cmp eq %b3:p8:i32 0:i32 %b3:i2:i32 = typecast %b3:i1:u1 to i32 ret %b3:i2:i32 @@ -16176,9 +16968,11 @@ block b5: br %b5:i1:u1, b13(), b14() block b6: - %b6:p0:i32:t3 + %b6:p0:i32:t1 + %b6:p1:i32:t2 + %b6:p2:i32:t3 %b6:i0:unit = nop - %b6:i1:u1 = cmp ne %b6:p0:i32 0:i32 + %b6:i1:u1 = cmp ne %b6:p2:i32 0:i32 br %b6:i1:u1, b1(), b2() block b7: @@ -16211,7 +17005,7 @@ block b12: %b12:p0:i32:t1 %b12:i0:unit = nop %b12:i1:unit = nop - j b6(%b12:p0:i32) + j b6(%b12:p0:i32, undef:i32, %b12:p0:i32) block b13: %b13:i0:unit = nop @@ -16227,7 +17021,7 @@ block b15: %b15:p0:i32:t2 %b15:i0:unit = nop %b15:i1:unit = nop - j b6(%b15:p0:i32) + j b6(undef:i32, %b15:p0:i32, %b15:p0:i32) block b16: %b16:i0:unit = nop @@ -16240,10 +17034,12 @@ block b17: br %b17:i1:u1, b25(), b26() block b18: - %b18:p0:i32:t7 + %b18:p0:i32:t5 + %b18:p1:i32:t6 + %b18:p2:i32:t7 %b18:i0:unit = nop %b18:i1:unit = nop - j b3(%b18:p0:i32) + j b3(%b21:p0:i32, %b18:p0:i32, %b18:p1:i32, %b18:p2:i32, undef:i32, undef:i32, undef:i32, undef:i32, %b18:p2:i32) block b19: %b19:i0:unit = nop @@ -16275,7 +17071,7 @@ block b24: %b24:p0:i32:t5 %b24:i0:unit = nop %b24:i1:unit = nop - j b18(%b24:p0:i32) + j b18(%b24:p0:i32, undef:i32, %b24:p0:i32) block b25: %b25:i0:unit = nop @@ -16291,7 +17087,7 @@ block b27: %b27:p0:i32:t6 %b27:i0:unit = nop %b27:i1:unit = nop - j b18(%b27:p0:i32) + j b18(undef:i32, %b27:p0:i32, %b27:p0:i32) block b28: %b28:i0:unit = nop @@ -16304,10 +17100,12 @@ block b29: br %b29:i1:u1, b37(), b38() block b30: - %b30:p0:i32:t11 + %b30:p0:i32:t9 + %b30:p1:i32:t10 + %b30:p2:i32:t11 %b30:i0:unit = nop %b30:i1:unit = nop - j b3(%b30:p0:i32) + j b3(undef:i32, undef:i32, undef:i32, undef:i32, %b33:p0:i32, %b30:p0:i32, %b30:p1:i32, %b30:p2:i32, %b30:p2:i32) block b31: %b31:i0:unit = nop @@ -16339,7 +17137,7 @@ block b36: %b36:p0:i32:t9 %b36:i0:unit = nop %b36:i1:unit = nop - j b30(%b36:p0:i32) + j b30(%b36:p0:i32, undef:i32, %b36:p0:i32) block b37: %b37:i0:unit = nop @@ -16355,7 +17153,7 @@ block b39: %b39:p0:i32:t10 %b39:i0:unit = nop %b39:i1:unit = nop - j b30(%b39:p0:i32) + j b30(undef:i32, %b39:p0:i32, %b39:p0:i32) } fun i32 @func_60 () { @@ -16446,9 +17244,17 @@ block b2: br %b2:i1:u1, b31(), b32() block b3: - %b3:p0:i32:t12 + %b3:p0:i32:t4 + %b3:p1:i32:t5 + %b3:p2:i32:t6 + %b3:p3:i32:t7 + %b3:p4:i32:t8 + %b3:p5:i32:t9 + %b3:p6:i32:t10 + %b3:p7:i32:t11 + %b3:p8:i32:t12 %b3:i0:unit = nop - %b3:i1:u1 = cmp eq %b3:p0:i32 0:i32 + %b3:i1:u1 = cmp eq %b3:p8:i32 0:i32 %b3:i2:i32 = typecast %b3:i1:u1 to i32 ret %b3:i2:i32 @@ -16463,9 +17269,11 @@ block b5: br %b5:i1:u1, b13(), b14() block b6: - %b6:p0:i32:t3 + %b6:p0:i32:t1 + %b6:p1:i32:t2 + %b6:p2:i32:t3 %b6:i0:unit = nop - %b6:i1:u1 = cmp ne %b6:p0:i32 0:i32 + %b6:i1:u1 = cmp ne %b6:p2:i32 0:i32 br %b6:i1:u1, b1(), b2() block b7: @@ -16498,7 +17306,7 @@ block b12: %b12:p0:i32:t1 %b12:i0:unit = nop %b12:i1:unit = nop - j b6(%b12:p0:i32) + j b6(%b12:p0:i32, undef:i32, %b12:p0:i32) block b13: %b13:i0:unit = nop @@ -16514,7 +17322,7 @@ block b15: %b15:p0:i32:t2 %b15:i0:unit = nop %b15:i1:unit = nop - j b6(%b15:p0:i32) + j b6(undef:i32, %b15:p0:i32, %b15:p0:i32) block b16: %b16:i0:unit = nop @@ -16527,10 +17335,12 @@ block b17: br %b17:i1:u1, b25(), b26() block b18: - %b18:p0:i32:t7 + %b18:p0:i32:t5 + %b18:p1:i32:t6 + %b18:p2:i32:t7 %b18:i0:unit = nop %b18:i1:unit = nop - j b3(%b18:p0:i32) + j b3(%b21:p0:i32, %b18:p0:i32, %b18:p1:i32, %b18:p2:i32, undef:i32, undef:i32, undef:i32, undef:i32, %b18:p2:i32) block b19: %b19:i0:unit = nop @@ -16562,7 +17372,7 @@ block b24: %b24:p0:i32:t5 %b24:i0:unit = nop %b24:i1:unit = nop - j b18(%b24:p0:i32) + j b18(%b24:p0:i32, undef:i32, %b24:p0:i32) block b25: %b25:i0:unit = nop @@ -16578,7 +17388,7 @@ block b27: %b27:p0:i32:t6 %b27:i0:unit = nop %b27:i1:unit = nop - j b18(%b27:p0:i32) + j b18(undef:i32, %b27:p0:i32, %b27:p0:i32) block b28: %b28:i0:unit = nop @@ -16591,10 +17401,12 @@ block b29: br %b29:i1:u1, b37(), b38() block b30: - %b30:p0:i32:t11 + %b30:p0:i32:t9 + %b30:p1:i32:t10 + %b30:p2:i32:t11 %b30:i0:unit = nop %b30:i1:unit = nop - j b3(%b30:p0:i32) + j b3(undef:i32, undef:i32, undef:i32, undef:i32, %b33:p0:i32, %b30:p0:i32, %b30:p1:i32, %b30:p2:i32, %b30:p2:i32) block b31: %b31:i0:unit = nop @@ -16626,7 +17438,7 @@ block b36: %b36:p0:i32:t9 %b36:i0:unit = nop %b36:i1:unit = nop - j b30(%b36:p0:i32) + j b30(%b36:p0:i32, undef:i32, %b36:p0:i32) block b37: %b37:i0:unit = nop @@ -16642,7 +17454,7 @@ block b39: %b39:p0:i32:t10 %b39:i0:unit = nop %b39:i1:unit = nop - j b30(%b39:p0:i32) + j b30(undef:i32, %b39:p0:i32, %b39:p0:i32) } fun i32 @func_61 () { @@ -16733,9 +17545,17 @@ block b2: br %b2:i1:u1, b31(), b32() block b3: - %b3:p0:i32:t12 + %b3:p0:i32:t4 + %b3:p1:i32:t5 + %b3:p2:i32:t6 + %b3:p3:i32:t7 + %b3:p4:i32:t8 + %b3:p5:i32:t9 + %b3:p6:i32:t10 + %b3:p7:i32:t11 + %b3:p8:i32:t12 %b3:i0:unit = nop - %b3:i1:u1 = cmp eq %b3:p0:i32 0:i32 + %b3:i1:u1 = cmp eq %b3:p8:i32 0:i32 %b3:i2:i32 = typecast %b3:i1:u1 to i32 ret %b3:i2:i32 @@ -16750,9 +17570,11 @@ block b5: br %b5:i1:u1, b13(), b14() block b6: - %b6:p0:i32:t3 + %b6:p0:i32:t1 + %b6:p1:i32:t2 + %b6:p2:i32:t3 %b6:i0:unit = nop - %b6:i1:u1 = cmp ne %b6:p0:i32 0:i32 + %b6:i1:u1 = cmp ne %b6:p2:i32 0:i32 br %b6:i1:u1, b1(), b2() block b7: @@ -16785,7 +17607,7 @@ block b12: %b12:p0:i32:t1 %b12:i0:unit = nop %b12:i1:unit = nop - j b6(%b12:p0:i32) + j b6(%b12:p0:i32, undef:i32, %b12:p0:i32) block b13: %b13:i0:unit = nop @@ -16801,7 +17623,7 @@ block b15: %b15:p0:i32:t2 %b15:i0:unit = nop %b15:i1:unit = nop - j b6(%b15:p0:i32) + j b6(undef:i32, %b15:p0:i32, %b15:p0:i32) block b16: %b16:i0:unit = nop @@ -16814,10 +17636,12 @@ block b17: br %b17:i1:u1, b25(), b26() block b18: - %b18:p0:i32:t7 + %b18:p0:i32:t5 + %b18:p1:i32:t6 + %b18:p2:i32:t7 %b18:i0:unit = nop %b18:i1:unit = nop - j b3(%b18:p0:i32) + j b3(%b21:p0:i32, %b18:p0:i32, %b18:p1:i32, %b18:p2:i32, undef:i32, undef:i32, undef:i32, undef:i32, %b18:p2:i32) block b19: %b19:i0:unit = nop @@ -16849,7 +17673,7 @@ block b24: %b24:p0:i32:t5 %b24:i0:unit = nop %b24:i1:unit = nop - j b18(%b24:p0:i32) + j b18(%b24:p0:i32, undef:i32, %b24:p0:i32) block b25: %b25:i0:unit = nop @@ -16865,7 +17689,7 @@ block b27: %b27:p0:i32:t6 %b27:i0:unit = nop %b27:i1:unit = nop - j b18(%b27:p0:i32) + j b18(undef:i32, %b27:p0:i32, %b27:p0:i32) block b28: %b28:i0:unit = nop @@ -16878,10 +17702,12 @@ block b29: br %b29:i1:u1, b37(), b38() block b30: - %b30:p0:i32:t11 + %b30:p0:i32:t9 + %b30:p1:i32:t10 + %b30:p2:i32:t11 %b30:i0:unit = nop %b30:i1:unit = nop - j b3(%b30:p0:i32) + j b3(undef:i32, undef:i32, undef:i32, undef:i32, %b33:p0:i32, %b30:p0:i32, %b30:p1:i32, %b30:p2:i32, %b30:p2:i32) block b31: %b31:i0:unit = nop @@ -16913,7 +17739,7 @@ block b36: %b36:p0:i32:t9 %b36:i0:unit = nop %b36:i1:unit = nop - j b30(%b36:p0:i32) + j b30(%b36:p0:i32, undef:i32, %b36:p0:i32) block b37: %b37:i0:unit = nop @@ -16929,7 +17755,7 @@ block b39: %b39:p0:i32:t10 %b39:i0:unit = nop %b39:i1:unit = nop - j b30(%b39:p0:i32) + j b30(undef:i32, %b39:p0:i32, %b39:p0:i32) } fun i32 @func_62 () { @@ -17020,9 +17846,17 @@ block b2: br %b2:i1:u1, b31(), b32() block b3: - %b3:p0:i32:t12 + %b3:p0:i32:t4 + %b3:p1:i32:t5 + %b3:p2:i32:t6 + %b3:p3:i32:t7 + %b3:p4:i32:t8 + %b3:p5:i32:t9 + %b3:p6:i32:t10 + %b3:p7:i32:t11 + %b3:p8:i32:t12 %b3:i0:unit = nop - %b3:i1:u1 = cmp eq %b3:p0:i32 1:i32 + %b3:i1:u1 = cmp eq %b3:p8:i32 1:i32 %b3:i2:i32 = typecast %b3:i1:u1 to i32 ret %b3:i2:i32 @@ -17037,9 +17871,11 @@ block b5: br %b5:i1:u1, b13(), b14() block b6: - %b6:p0:i32:t3 + %b6:p0:i32:t1 + %b6:p1:i32:t2 + %b6:p2:i32:t3 %b6:i0:unit = nop - %b6:i1:u1 = cmp ne %b6:p0:i32 0:i32 + %b6:i1:u1 = cmp ne %b6:p2:i32 0:i32 br %b6:i1:u1, b1(), b2() block b7: @@ -17072,7 +17908,7 @@ block b12: %b12:p0:i32:t1 %b12:i0:unit = nop %b12:i1:unit = nop - j b6(%b12:p0:i32) + j b6(%b12:p0:i32, undef:i32, %b12:p0:i32) block b13: %b13:i0:unit = nop @@ -17088,7 +17924,7 @@ block b15: %b15:p0:i32:t2 %b15:i0:unit = nop %b15:i1:unit = nop - j b6(%b15:p0:i32) + j b6(undef:i32, %b15:p0:i32, %b15:p0:i32) block b16: %b16:i0:unit = nop @@ -17101,10 +17937,12 @@ block b17: br %b17:i1:u1, b25(), b26() block b18: - %b18:p0:i32:t7 + %b18:p0:i32:t5 + %b18:p1:i32:t6 + %b18:p2:i32:t7 %b18:i0:unit = nop %b18:i1:unit = nop - j b3(%b18:p0:i32) + j b3(%b21:p0:i32, %b18:p0:i32, %b18:p1:i32, %b18:p2:i32, undef:i32, undef:i32, undef:i32, undef:i32, %b18:p2:i32) block b19: %b19:i0:unit = nop @@ -17136,7 +17974,7 @@ block b24: %b24:p0:i32:t5 %b24:i0:unit = nop %b24:i1:unit = nop - j b18(%b24:p0:i32) + j b18(%b24:p0:i32, undef:i32, %b24:p0:i32) block b25: %b25:i0:unit = nop @@ -17152,7 +17990,7 @@ block b27: %b27:p0:i32:t6 %b27:i0:unit = nop %b27:i1:unit = nop - j b18(%b27:p0:i32) + j b18(undef:i32, %b27:p0:i32, %b27:p0:i32) block b28: %b28:i0:unit = nop @@ -17165,10 +18003,12 @@ block b29: br %b29:i1:u1, b37(), b38() block b30: - %b30:p0:i32:t11 + %b30:p0:i32:t9 + %b30:p1:i32:t10 + %b30:p2:i32:t11 %b30:i0:unit = nop %b30:i1:unit = nop - j b3(%b30:p0:i32) + j b3(undef:i32, undef:i32, undef:i32, undef:i32, %b33:p0:i32, %b30:p0:i32, %b30:p1:i32, %b30:p2:i32, %b30:p2:i32) block b31: %b31:i0:unit = nop @@ -17200,7 +18040,7 @@ block b36: %b36:p0:i32:t9 %b36:i0:unit = nop %b36:i1:unit = nop - j b30(%b36:p0:i32) + j b30(%b36:p0:i32, undef:i32, %b36:p0:i32) block b37: %b37:i0:unit = nop @@ -17216,7 +18056,7 @@ block b39: %b39:p0:i32:t10 %b39:i0:unit = nop %b39:i1:unit = nop - j b30(%b39:p0:i32) + j b30(undef:i32, %b39:p0:i32, %b39:p0:i32) } fun i32 @func_63 () { @@ -17307,9 +18147,17 @@ block b2: br %b2:i1:u1, b31(), b32() block b3: - %b3:p0:i32:t12 + %b3:p0:i32:t4 + %b3:p1:i32:t5 + %b3:p2:i32:t6 + %b3:p3:i32:t7 + %b3:p4:i32:t8 + %b3:p5:i32:t9 + %b3:p6:i32:t10 + %b3:p7:i32:t11 + %b3:p8:i32:t12 %b3:i0:unit = nop - %b3:i1:u1 = cmp eq %b3:p0:i32 0:i32 + %b3:i1:u1 = cmp eq %b3:p8:i32 0:i32 %b3:i2:i32 = typecast %b3:i1:u1 to i32 ret %b3:i2:i32 @@ -17324,9 +18172,11 @@ block b5: br %b5:i1:u1, b13(), b14() block b6: - %b6:p0:i32:t3 + %b6:p0:i32:t1 + %b6:p1:i32:t2 + %b6:p2:i32:t3 %b6:i0:unit = nop - %b6:i1:u1 = cmp ne %b6:p0:i32 0:i32 + %b6:i1:u1 = cmp ne %b6:p2:i32 0:i32 br %b6:i1:u1, b1(), b2() block b7: @@ -17359,7 +18209,7 @@ block b12: %b12:p0:i32:t1 %b12:i0:unit = nop %b12:i1:unit = nop - j b6(%b12:p0:i32) + j b6(%b12:p0:i32, undef:i32, %b12:p0:i32) block b13: %b13:i0:unit = nop @@ -17375,7 +18225,7 @@ block b15: %b15:p0:i32:t2 %b15:i0:unit = nop %b15:i1:unit = nop - j b6(%b15:p0:i32) + j b6(undef:i32, %b15:p0:i32, %b15:p0:i32) block b16: %b16:i0:unit = nop @@ -17388,10 +18238,12 @@ block b17: br %b17:i1:u1, b25(), b26() block b18: - %b18:p0:i32:t7 + %b18:p0:i32:t5 + %b18:p1:i32:t6 + %b18:p2:i32:t7 %b18:i0:unit = nop %b18:i1:unit = nop - j b3(%b18:p0:i32) + j b3(%b21:p0:i32, %b18:p0:i32, %b18:p1:i32, %b18:p2:i32, undef:i32, undef:i32, undef:i32, undef:i32, %b18:p2:i32) block b19: %b19:i0:unit = nop @@ -17423,7 +18275,7 @@ block b24: %b24:p0:i32:t5 %b24:i0:unit = nop %b24:i1:unit = nop - j b18(%b24:p0:i32) + j b18(%b24:p0:i32, undef:i32, %b24:p0:i32) block b25: %b25:i0:unit = nop @@ -17439,7 +18291,7 @@ block b27: %b27:p0:i32:t6 %b27:i0:unit = nop %b27:i1:unit = nop - j b18(%b27:p0:i32) + j b18(undef:i32, %b27:p0:i32, %b27:p0:i32) block b28: %b28:i0:unit = nop @@ -17452,10 +18304,12 @@ block b29: br %b29:i1:u1, b37(), b38() block b30: - %b30:p0:i32:t11 + %b30:p0:i32:t9 + %b30:p1:i32:t10 + %b30:p2:i32:t11 %b30:i0:unit = nop %b30:i1:unit = nop - j b3(%b30:p0:i32) + j b3(undef:i32, undef:i32, undef:i32, undef:i32, %b33:p0:i32, %b30:p0:i32, %b30:p1:i32, %b30:p2:i32, %b30:p2:i32) block b31: %b31:i0:unit = nop @@ -17487,7 +18341,7 @@ block b36: %b36:p0:i32:t9 %b36:i0:unit = nop %b36:i1:unit = nop - j b30(%b36:p0:i32) + j b30(%b36:p0:i32, undef:i32, %b36:p0:i32) block b37: %b37:i0:unit = nop @@ -17503,7 +18357,7 @@ block b39: %b39:p0:i32:t10 %b39:i0:unit = nop %b39:i1:unit = nop - j b30(%b39:p0:i32) + j b30(undef:i32, %b39:p0:i32, %b39:p0:i32) } fun i32 @func_64 () { @@ -17594,9 +18448,17 @@ block b2: br %b2:i1:u1, b31(), b32() block b3: - %b3:p0:i32:t12 + %b3:p0:i32:t4 + %b3:p1:i32:t5 + %b3:p2:i32:t6 + %b3:p3:i32:t7 + %b3:p4:i32:t8 + %b3:p5:i32:t9 + %b3:p6:i32:t10 + %b3:p7:i32:t11 + %b3:p8:i32:t12 %b3:i0:unit = nop - %b3:i1:u1 = cmp eq %b3:p0:i32 1:i32 + %b3:i1:u1 = cmp eq %b3:p8:i32 1:i32 %b3:i2:i32 = typecast %b3:i1:u1 to i32 ret %b3:i2:i32 @@ -17611,9 +18473,11 @@ block b5: br %b5:i1:u1, b13(), b14() block b6: - %b6:p0:i32:t3 + %b6:p0:i32:t1 + %b6:p1:i32:t2 + %b6:p2:i32:t3 %b6:i0:unit = nop - %b6:i1:u1 = cmp ne %b6:p0:i32 0:i32 + %b6:i1:u1 = cmp ne %b6:p2:i32 0:i32 br %b6:i1:u1, b1(), b2() block b7: @@ -17646,7 +18510,7 @@ block b12: %b12:p0:i32:t1 %b12:i0:unit = nop %b12:i1:unit = nop - j b6(%b12:p0:i32) + j b6(%b12:p0:i32, undef:i32, %b12:p0:i32) block b13: %b13:i0:unit = nop @@ -17662,7 +18526,7 @@ block b15: %b15:p0:i32:t2 %b15:i0:unit = nop %b15:i1:unit = nop - j b6(%b15:p0:i32) + j b6(undef:i32, %b15:p0:i32, %b15:p0:i32) block b16: %b16:i0:unit = nop @@ -17675,10 +18539,12 @@ block b17: br %b17:i1:u1, b25(), b26() block b18: - %b18:p0:i32:t7 + %b18:p0:i32:t5 + %b18:p1:i32:t6 + %b18:p2:i32:t7 %b18:i0:unit = nop %b18:i1:unit = nop - j b3(%b18:p0:i32) + j b3(%b21:p0:i32, %b18:p0:i32, %b18:p1:i32, %b18:p2:i32, undef:i32, undef:i32, undef:i32, undef:i32, %b18:p2:i32) block b19: %b19:i0:unit = nop @@ -17710,7 +18576,7 @@ block b24: %b24:p0:i32:t5 %b24:i0:unit = nop %b24:i1:unit = nop - j b18(%b24:p0:i32) + j b18(%b24:p0:i32, undef:i32, %b24:p0:i32) block b25: %b25:i0:unit = nop @@ -17726,7 +18592,7 @@ block b27: %b27:p0:i32:t6 %b27:i0:unit = nop %b27:i1:unit = nop - j b18(%b27:p0:i32) + j b18(undef:i32, %b27:p0:i32, %b27:p0:i32) block b28: %b28:i0:unit = nop @@ -17739,10 +18605,12 @@ block b29: br %b29:i1:u1, b37(), b38() block b30: - %b30:p0:i32:t11 + %b30:p0:i32:t9 + %b30:p1:i32:t10 + %b30:p2:i32:t11 %b30:i0:unit = nop %b30:i1:unit = nop - j b3(%b30:p0:i32) + j b3(undef:i32, undef:i32, undef:i32, undef:i32, %b33:p0:i32, %b30:p0:i32, %b30:p1:i32, %b30:p2:i32, %b30:p2:i32) block b31: %b31:i0:unit = nop @@ -17774,7 +18642,7 @@ block b36: %b36:p0:i32:t9 %b36:i0:unit = nop %b36:i1:unit = nop - j b30(%b36:p0:i32) + j b30(%b36:p0:i32, undef:i32, %b36:p0:i32) block b37: %b37:i0:unit = nop @@ -17790,7 +18658,7 @@ block b39: %b39:p0:i32:t10 %b39:i0:unit = nop %b39:i1:unit = nop - j b30(%b39:p0:i32) + j b30(undef:i32, %b39:p0:i32, %b39:p0:i32) } fun i32 @func_65 () { @@ -17881,9 +18749,17 @@ block b2: br %b2:i1:u1, b31(), b32() block b3: - %b3:p0:i32:t12 + %b3:p0:i32:t4 + %b3:p1:i32:t5 + %b3:p2:i32:t6 + %b3:p3:i32:t7 + %b3:p4:i32:t8 + %b3:p5:i32:t9 + %b3:p6:i32:t10 + %b3:p7:i32:t11 + %b3:p8:i32:t12 %b3:i0:unit = nop - %b3:i1:u1 = cmp eq %b3:p0:i32 1:i32 + %b3:i1:u1 = cmp eq %b3:p8:i32 1:i32 %b3:i2:i32 = typecast %b3:i1:u1 to i32 ret %b3:i2:i32 @@ -17898,9 +18774,11 @@ block b5: br %b5:i1:u1, b13(), b14() block b6: - %b6:p0:i32:t3 + %b6:p0:i32:t1 + %b6:p1:i32:t2 + %b6:p2:i32:t3 %b6:i0:unit = nop - %b6:i1:u1 = cmp ne %b6:p0:i32 0:i32 + %b6:i1:u1 = cmp ne %b6:p2:i32 0:i32 br %b6:i1:u1, b1(), b2() block b7: @@ -17933,7 +18811,7 @@ block b12: %b12:p0:i32:t1 %b12:i0:unit = nop %b12:i1:unit = nop - j b6(%b12:p0:i32) + j b6(%b12:p0:i32, undef:i32, %b12:p0:i32) block b13: %b13:i0:unit = nop @@ -17949,7 +18827,7 @@ block b15: %b15:p0:i32:t2 %b15:i0:unit = nop %b15:i1:unit = nop - j b6(%b15:p0:i32) + j b6(undef:i32, %b15:p0:i32, %b15:p0:i32) block b16: %b16:i0:unit = nop @@ -17962,10 +18840,12 @@ block b17: br %b17:i1:u1, b25(), b26() block b18: - %b18:p0:i32:t7 + %b18:p0:i32:t5 + %b18:p1:i32:t6 + %b18:p2:i32:t7 %b18:i0:unit = nop %b18:i1:unit = nop - j b3(%b18:p0:i32) + j b3(%b21:p0:i32, %b18:p0:i32, %b18:p1:i32, %b18:p2:i32, undef:i32, undef:i32, undef:i32, undef:i32, %b18:p2:i32) block b19: %b19:i0:unit = nop @@ -17997,7 +18877,7 @@ block b24: %b24:p0:i32:t5 %b24:i0:unit = nop %b24:i1:unit = nop - j b18(%b24:p0:i32) + j b18(%b24:p0:i32, undef:i32, %b24:p0:i32) block b25: %b25:i0:unit = nop @@ -18013,7 +18893,7 @@ block b27: %b27:p0:i32:t6 %b27:i0:unit = nop %b27:i1:unit = nop - j b18(%b27:p0:i32) + j b18(undef:i32, %b27:p0:i32, %b27:p0:i32) block b28: %b28:i0:unit = nop @@ -18026,10 +18906,12 @@ block b29: br %b29:i1:u1, b37(), b38() block b30: - %b30:p0:i32:t11 + %b30:p0:i32:t9 + %b30:p1:i32:t10 + %b30:p2:i32:t11 %b30:i0:unit = nop %b30:i1:unit = nop - j b3(%b30:p0:i32) + j b3(undef:i32, undef:i32, undef:i32, undef:i32, %b33:p0:i32, %b30:p0:i32, %b30:p1:i32, %b30:p2:i32, %b30:p2:i32) block b31: %b31:i0:unit = nop @@ -18061,7 +18943,7 @@ block b36: %b36:p0:i32:t9 %b36:i0:unit = nop %b36:i1:unit = nop - j b30(%b36:p0:i32) + j b30(%b36:p0:i32, undef:i32, %b36:p0:i32) block b37: %b37:i0:unit = nop @@ -18077,7 +18959,7 @@ block b39: %b39:p0:i32:t10 %b39:i0:unit = nop %b39:i1:unit = nop - j b30(%b39:p0:i32) + j b30(undef:i32, %b39:p0:i32, %b39:p0:i32) } fun i32 @func_66 () { @@ -18168,9 +19050,17 @@ block b2: br %b2:i1:u1, b31(), b32() block b3: - %b3:p0:i32:t12 + %b3:p0:i32:t4 + %b3:p1:i32:t5 + %b3:p2:i32:t6 + %b3:p3:i32:t7 + %b3:p4:i32:t8 + %b3:p5:i32:t9 + %b3:p6:i32:t10 + %b3:p7:i32:t11 + %b3:p8:i32:t12 %b3:i0:unit = nop - %b3:i1:u1 = cmp eq %b3:p0:i32 1:i32 + %b3:i1:u1 = cmp eq %b3:p8:i32 1:i32 %b3:i2:i32 = typecast %b3:i1:u1 to i32 ret %b3:i2:i32 @@ -18185,9 +19075,11 @@ block b5: br %b5:i1:u1, b13(), b14() block b6: - %b6:p0:i32:t3 + %b6:p0:i32:t1 + %b6:p1:i32:t2 + %b6:p2:i32:t3 %b6:i0:unit = nop - %b6:i1:u1 = cmp ne %b6:p0:i32 0:i32 + %b6:i1:u1 = cmp ne %b6:p2:i32 0:i32 br %b6:i1:u1, b1(), b2() block b7: @@ -18220,7 +19112,7 @@ block b12: %b12:p0:i32:t1 %b12:i0:unit = nop %b12:i1:unit = nop - j b6(%b12:p0:i32) + j b6(%b12:p0:i32, undef:i32, %b12:p0:i32) block b13: %b13:i0:unit = nop @@ -18236,7 +19128,7 @@ block b15: %b15:p0:i32:t2 %b15:i0:unit = nop %b15:i1:unit = nop - j b6(%b15:p0:i32) + j b6(undef:i32, %b15:p0:i32, %b15:p0:i32) block b16: %b16:i0:unit = nop @@ -18249,10 +19141,12 @@ block b17: br %b17:i1:u1, b25(), b26() block b18: - %b18:p0:i32:t7 + %b18:p0:i32:t5 + %b18:p1:i32:t6 + %b18:p2:i32:t7 %b18:i0:unit = nop %b18:i1:unit = nop - j b3(%b18:p0:i32) + j b3(%b21:p0:i32, %b18:p0:i32, %b18:p1:i32, %b18:p2:i32, undef:i32, undef:i32, undef:i32, undef:i32, %b18:p2:i32) block b19: %b19:i0:unit = nop @@ -18284,7 +19178,7 @@ block b24: %b24:p0:i32:t5 %b24:i0:unit = nop %b24:i1:unit = nop - j b18(%b24:p0:i32) + j b18(%b24:p0:i32, undef:i32, %b24:p0:i32) block b25: %b25:i0:unit = nop @@ -18300,7 +19194,7 @@ block b27: %b27:p0:i32:t6 %b27:i0:unit = nop %b27:i1:unit = nop - j b18(%b27:p0:i32) + j b18(undef:i32, %b27:p0:i32, %b27:p0:i32) block b28: %b28:i0:unit = nop @@ -18313,10 +19207,12 @@ block b29: br %b29:i1:u1, b37(), b38() block b30: - %b30:p0:i32:t11 + %b30:p0:i32:t9 + %b30:p1:i32:t10 + %b30:p2:i32:t11 %b30:i0:unit = nop %b30:i1:unit = nop - j b3(%b30:p0:i32) + j b3(undef:i32, undef:i32, undef:i32, undef:i32, %b33:p0:i32, %b30:p0:i32, %b30:p1:i32, %b30:p2:i32, %b30:p2:i32) block b31: %b31:i0:unit = nop @@ -18348,7 +19244,7 @@ block b36: %b36:p0:i32:t9 %b36:i0:unit = nop %b36:i1:unit = nop - j b30(%b36:p0:i32) + j b30(%b36:p0:i32, undef:i32, %b36:p0:i32) block b37: %b37:i0:unit = nop @@ -18364,7 +19260,7 @@ block b39: %b39:p0:i32:t10 %b39:i0:unit = nop %b39:i1:unit = nop - j b30(%b39:p0:i32) + j b30(undef:i32, %b39:p0:i32, %b39:p0:i32) } fun i32 @func_67 () { @@ -18455,9 +19351,17 @@ block b2: br %b2:i1:u1, b31(), b32() block b3: - %b3:p0:i32:t12 + %b3:p0:i32:t4 + %b3:p1:i32:t5 + %b3:p2:i32:t6 + %b3:p3:i32:t7 + %b3:p4:i32:t8 + %b3:p5:i32:t9 + %b3:p6:i32:t10 + %b3:p7:i32:t11 + %b3:p8:i32:t12 %b3:i0:unit = nop - %b3:i1:u1 = cmp eq %b3:p0:i32 1:i32 + %b3:i1:u1 = cmp eq %b3:p8:i32 1:i32 %b3:i2:i32 = typecast %b3:i1:u1 to i32 ret %b3:i2:i32 @@ -18472,9 +19376,11 @@ block b5: br %b5:i1:u1, b13(), b14() block b6: - %b6:p0:i32:t3 + %b6:p0:i32:t1 + %b6:p1:i32:t2 + %b6:p2:i32:t3 %b6:i0:unit = nop - %b6:i1:u1 = cmp ne %b6:p0:i32 0:i32 + %b6:i1:u1 = cmp ne %b6:p2:i32 0:i32 br %b6:i1:u1, b1(), b2() block b7: @@ -18507,7 +19413,7 @@ block b12: %b12:p0:i32:t1 %b12:i0:unit = nop %b12:i1:unit = nop - j b6(%b12:p0:i32) + j b6(%b12:p0:i32, undef:i32, %b12:p0:i32) block b13: %b13:i0:unit = nop @@ -18523,7 +19429,7 @@ block b15: %b15:p0:i32:t2 %b15:i0:unit = nop %b15:i1:unit = nop - j b6(%b15:p0:i32) + j b6(undef:i32, %b15:p0:i32, %b15:p0:i32) block b16: %b16:i0:unit = nop @@ -18536,10 +19442,12 @@ block b17: br %b17:i1:u1, b25(), b26() block b18: - %b18:p0:i32:t7 + %b18:p0:i32:t5 + %b18:p1:i32:t6 + %b18:p2:i32:t7 %b18:i0:unit = nop %b18:i1:unit = nop - j b3(%b18:p0:i32) + j b3(%b21:p0:i32, %b18:p0:i32, %b18:p1:i32, %b18:p2:i32, undef:i32, undef:i32, undef:i32, undef:i32, %b18:p2:i32) block b19: %b19:i0:unit = nop @@ -18571,7 +19479,7 @@ block b24: %b24:p0:i32:t5 %b24:i0:unit = nop %b24:i1:unit = nop - j b18(%b24:p0:i32) + j b18(%b24:p0:i32, undef:i32, %b24:p0:i32) block b25: %b25:i0:unit = nop @@ -18587,7 +19495,7 @@ block b27: %b27:p0:i32:t6 %b27:i0:unit = nop %b27:i1:unit = nop - j b18(%b27:p0:i32) + j b18(undef:i32, %b27:p0:i32, %b27:p0:i32) block b28: %b28:i0:unit = nop @@ -18600,10 +19508,12 @@ block b29: br %b29:i1:u1, b37(), b38() block b30: - %b30:p0:i32:t11 + %b30:p0:i32:t9 + %b30:p1:i32:t10 + %b30:p2:i32:t11 %b30:i0:unit = nop %b30:i1:unit = nop - j b3(%b30:p0:i32) + j b3(undef:i32, undef:i32, undef:i32, undef:i32, %b33:p0:i32, %b30:p0:i32, %b30:p1:i32, %b30:p2:i32, %b30:p2:i32) block b31: %b31:i0:unit = nop @@ -18635,7 +19545,7 @@ block b36: %b36:p0:i32:t9 %b36:i0:unit = nop %b36:i1:unit = nop - j b30(%b36:p0:i32) + j b30(%b36:p0:i32, undef:i32, %b36:p0:i32) block b37: %b37:i0:unit = nop @@ -18651,7 +19561,7 @@ block b39: %b39:p0:i32:t10 %b39:i0:unit = nop %b39:i1:unit = nop - j b30(%b39:p0:i32) + j b30(undef:i32, %b39:p0:i32, %b39:p0:i32) } fun i32 @func_68 () { @@ -18742,9 +19652,17 @@ block b2: br %b2:i1:u1, b31(), b32() block b3: - %b3:p0:i32:t12 + %b3:p0:i32:t4 + %b3:p1:i32:t5 + %b3:p2:i32:t6 + %b3:p3:i32:t7 + %b3:p4:i32:t8 + %b3:p5:i32:t9 + %b3:p6:i32:t10 + %b3:p7:i32:t11 + %b3:p8:i32:t12 %b3:i0:unit = nop - %b3:i1:u1 = cmp eq %b3:p0:i32 1:i32 + %b3:i1:u1 = cmp eq %b3:p8:i32 1:i32 %b3:i2:i32 = typecast %b3:i1:u1 to i32 ret %b3:i2:i32 @@ -18759,9 +19677,11 @@ block b5: br %b5:i1:u1, b13(), b14() block b6: - %b6:p0:i32:t3 + %b6:p0:i32:t1 + %b6:p1:i32:t2 + %b6:p2:i32:t3 %b6:i0:unit = nop - %b6:i1:u1 = cmp ne %b6:p0:i32 0:i32 + %b6:i1:u1 = cmp ne %b6:p2:i32 0:i32 br %b6:i1:u1, b1(), b2() block b7: @@ -18794,7 +19714,7 @@ block b12: %b12:p0:i32:t1 %b12:i0:unit = nop %b12:i1:unit = nop - j b6(%b12:p0:i32) + j b6(%b12:p0:i32, undef:i32, %b12:p0:i32) block b13: %b13:i0:unit = nop @@ -18810,7 +19730,7 @@ block b15: %b15:p0:i32:t2 %b15:i0:unit = nop %b15:i1:unit = nop - j b6(%b15:p0:i32) + j b6(undef:i32, %b15:p0:i32, %b15:p0:i32) block b16: %b16:i0:unit = nop @@ -18823,10 +19743,12 @@ block b17: br %b17:i1:u1, b25(), b26() block b18: - %b18:p0:i32:t7 + %b18:p0:i32:t5 + %b18:p1:i32:t6 + %b18:p2:i32:t7 %b18:i0:unit = nop %b18:i1:unit = nop - j b3(%b18:p0:i32) + j b3(%b21:p0:i32, %b18:p0:i32, %b18:p1:i32, %b18:p2:i32, undef:i32, undef:i32, undef:i32, undef:i32, %b18:p2:i32) block b19: %b19:i0:unit = nop @@ -18858,7 +19780,7 @@ block b24: %b24:p0:i32:t5 %b24:i0:unit = nop %b24:i1:unit = nop - j b18(%b24:p0:i32) + j b18(%b24:p0:i32, undef:i32, %b24:p0:i32) block b25: %b25:i0:unit = nop @@ -18874,7 +19796,7 @@ block b27: %b27:p0:i32:t6 %b27:i0:unit = nop %b27:i1:unit = nop - j b18(%b27:p0:i32) + j b18(undef:i32, %b27:p0:i32, %b27:p0:i32) block b28: %b28:i0:unit = nop @@ -18887,10 +19809,12 @@ block b29: br %b29:i1:u1, b37(), b38() block b30: - %b30:p0:i32:t11 + %b30:p0:i32:t9 + %b30:p1:i32:t10 + %b30:p2:i32:t11 %b30:i0:unit = nop %b30:i1:unit = nop - j b3(%b30:p0:i32) + j b3(undef:i32, undef:i32, undef:i32, undef:i32, %b33:p0:i32, %b30:p0:i32, %b30:p1:i32, %b30:p2:i32, %b30:p2:i32) block b31: %b31:i0:unit = nop @@ -18922,7 +19846,7 @@ block b36: %b36:p0:i32:t9 %b36:i0:unit = nop %b36:i1:unit = nop - j b30(%b36:p0:i32) + j b30(%b36:p0:i32, undef:i32, %b36:p0:i32) block b37: %b37:i0:unit = nop @@ -18938,7 +19862,7 @@ block b39: %b39:p0:i32:t10 %b39:i0:unit = nop %b39:i1:unit = nop - j b30(%b39:p0:i32) + j b30(undef:i32, %b39:p0:i32, %b39:p0:i32) } fun i32 @func_69 () { @@ -19029,9 +19953,17 @@ block b2: br %b2:i1:u1, b31(), b32() block b3: - %b3:p0:i32:t12 + %b3:p0:i32:t4 + %b3:p1:i32:t5 + %b3:p2:i32:t6 + %b3:p3:i32:t7 + %b3:p4:i32:t8 + %b3:p5:i32:t9 + %b3:p6:i32:t10 + %b3:p7:i32:t11 + %b3:p8:i32:t12 %b3:i0:unit = nop - %b3:i1:u1 = cmp eq %b3:p0:i32 0:i32 + %b3:i1:u1 = cmp eq %b3:p8:i32 0:i32 %b3:i2:i32 = typecast %b3:i1:u1 to i32 ret %b3:i2:i32 @@ -19046,9 +19978,11 @@ block b5: br %b5:i1:u1, b13(), b14() block b6: - %b6:p0:i32:t3 + %b6:p0:i32:t1 + %b6:p1:i32:t2 + %b6:p2:i32:t3 %b6:i0:unit = nop - %b6:i1:u1 = cmp ne %b6:p0:i32 0:i32 + %b6:i1:u1 = cmp ne %b6:p2:i32 0:i32 br %b6:i1:u1, b1(), b2() block b7: @@ -19081,7 +20015,7 @@ block b12: %b12:p0:i32:t1 %b12:i0:unit = nop %b12:i1:unit = nop - j b6(%b12:p0:i32) + j b6(%b12:p0:i32, undef:i32, %b12:p0:i32) block b13: %b13:i0:unit = nop @@ -19097,7 +20031,7 @@ block b15: %b15:p0:i32:t2 %b15:i0:unit = nop %b15:i1:unit = nop - j b6(%b15:p0:i32) + j b6(undef:i32, %b15:p0:i32, %b15:p0:i32) block b16: %b16:i0:unit = nop @@ -19110,10 +20044,12 @@ block b17: br %b17:i1:u1, b25(), b26() block b18: - %b18:p0:i32:t7 + %b18:p0:i32:t5 + %b18:p1:i32:t6 + %b18:p2:i32:t7 %b18:i0:unit = nop %b18:i1:unit = nop - j b3(%b18:p0:i32) + j b3(%b21:p0:i32, %b18:p0:i32, %b18:p1:i32, %b18:p2:i32, undef:i32, undef:i32, undef:i32, undef:i32, %b18:p2:i32) block b19: %b19:i0:unit = nop @@ -19145,7 +20081,7 @@ block b24: %b24:p0:i32:t5 %b24:i0:unit = nop %b24:i1:unit = nop - j b18(%b24:p0:i32) + j b18(%b24:p0:i32, undef:i32, %b24:p0:i32) block b25: %b25:i0:unit = nop @@ -19161,7 +20097,7 @@ block b27: %b27:p0:i32:t6 %b27:i0:unit = nop %b27:i1:unit = nop - j b18(%b27:p0:i32) + j b18(undef:i32, %b27:p0:i32, %b27:p0:i32) block b28: %b28:i0:unit = nop @@ -19174,10 +20110,12 @@ block b29: br %b29:i1:u1, b37(), b38() block b30: - %b30:p0:i32:t11 + %b30:p0:i32:t9 + %b30:p1:i32:t10 + %b30:p2:i32:t11 %b30:i0:unit = nop %b30:i1:unit = nop - j b3(%b30:p0:i32) + j b3(undef:i32, undef:i32, undef:i32, undef:i32, %b33:p0:i32, %b30:p0:i32, %b30:p1:i32, %b30:p2:i32, %b30:p2:i32) block b31: %b31:i0:unit = nop @@ -19209,7 +20147,7 @@ block b36: %b36:p0:i32:t9 %b36:i0:unit = nop %b36:i1:unit = nop - j b30(%b36:p0:i32) + j b30(%b36:p0:i32, undef:i32, %b36:p0:i32) block b37: %b37:i0:unit = nop @@ -19225,7 +20163,7 @@ block b39: %b39:p0:i32:t10 %b39:i0:unit = nop %b39:i1:unit = nop - j b30(%b39:p0:i32) + j b30(undef:i32, %b39:p0:i32, %b39:p0:i32) } fun i32 @func_7 () { @@ -19316,9 +20254,17 @@ block b2: br %b2:i1:u1, b31(), b32() block b3: - %b3:p0:i32:t12 + %b3:p0:i32:t4 + %b3:p1:i32:t5 + %b3:p2:i32:t6 + %b3:p3:i32:t7 + %b3:p4:i32:t8 + %b3:p5:i32:t9 + %b3:p6:i32:t10 + %b3:p7:i32:t11 + %b3:p8:i32:t12 %b3:i0:unit = nop - %b3:i1:u1 = cmp eq %b3:p0:i32 0:i32 + %b3:i1:u1 = cmp eq %b3:p8:i32 0:i32 %b3:i2:i32 = typecast %b3:i1:u1 to i32 ret %b3:i2:i32 @@ -19333,9 +20279,11 @@ block b5: br %b5:i1:u1, b13(), b14() block b6: - %b6:p0:i32:t3 + %b6:p0:i32:t1 + %b6:p1:i32:t2 + %b6:p2:i32:t3 %b6:i0:unit = nop - %b6:i1:u1 = cmp ne %b6:p0:i32 0:i32 + %b6:i1:u1 = cmp ne %b6:p2:i32 0:i32 br %b6:i1:u1, b1(), b2() block b7: @@ -19368,7 +20316,7 @@ block b12: %b12:p0:i32:t1 %b12:i0:unit = nop %b12:i1:unit = nop - j b6(%b12:p0:i32) + j b6(%b12:p0:i32, undef:i32, %b12:p0:i32) block b13: %b13:i0:unit = nop @@ -19384,7 +20332,7 @@ block b15: %b15:p0:i32:t2 %b15:i0:unit = nop %b15:i1:unit = nop - j b6(%b15:p0:i32) + j b6(undef:i32, %b15:p0:i32, %b15:p0:i32) block b16: %b16:i0:unit = nop @@ -19397,10 +20345,12 @@ block b17: br %b17:i1:u1, b25(), b26() block b18: - %b18:p0:i32:t7 + %b18:p0:i32:t5 + %b18:p1:i32:t6 + %b18:p2:i32:t7 %b18:i0:unit = nop %b18:i1:unit = nop - j b3(%b18:p0:i32) + j b3(%b21:p0:i32, %b18:p0:i32, %b18:p1:i32, %b18:p2:i32, undef:i32, undef:i32, undef:i32, undef:i32, %b18:p2:i32) block b19: %b19:i0:unit = nop @@ -19432,7 +20382,7 @@ block b24: %b24:p0:i32:t5 %b24:i0:unit = nop %b24:i1:unit = nop - j b18(%b24:p0:i32) + j b18(%b24:p0:i32, undef:i32, %b24:p0:i32) block b25: %b25:i0:unit = nop @@ -19448,7 +20398,7 @@ block b27: %b27:p0:i32:t6 %b27:i0:unit = nop %b27:i1:unit = nop - j b18(%b27:p0:i32) + j b18(undef:i32, %b27:p0:i32, %b27:p0:i32) block b28: %b28:i0:unit = nop @@ -19461,10 +20411,12 @@ block b29: br %b29:i1:u1, b37(), b38() block b30: - %b30:p0:i32:t11 + %b30:p0:i32:t9 + %b30:p1:i32:t10 + %b30:p2:i32:t11 %b30:i0:unit = nop %b30:i1:unit = nop - j b3(%b30:p0:i32) + j b3(undef:i32, undef:i32, undef:i32, undef:i32, %b33:p0:i32, %b30:p0:i32, %b30:p1:i32, %b30:p2:i32, %b30:p2:i32) block b31: %b31:i0:unit = nop @@ -19496,7 +20448,7 @@ block b36: %b36:p0:i32:t9 %b36:i0:unit = nop %b36:i1:unit = nop - j b30(%b36:p0:i32) + j b30(%b36:p0:i32, undef:i32, %b36:p0:i32) block b37: %b37:i0:unit = nop @@ -19512,7 +20464,7 @@ block b39: %b39:p0:i32:t10 %b39:i0:unit = nop %b39:i1:unit = nop - j b30(%b39:p0:i32) + j b30(undef:i32, %b39:p0:i32, %b39:p0:i32) } fun i32 @func_70 () { @@ -19603,9 +20555,17 @@ block b2: br %b2:i1:u1, b31(), b32() block b3: - %b3:p0:i32:t12 + %b3:p0:i32:t4 + %b3:p1:i32:t5 + %b3:p2:i32:t6 + %b3:p3:i32:t7 + %b3:p4:i32:t8 + %b3:p5:i32:t9 + %b3:p6:i32:t10 + %b3:p7:i32:t11 + %b3:p8:i32:t12 %b3:i0:unit = nop - %b3:i1:u1 = cmp eq %b3:p0:i32 1:i32 + %b3:i1:u1 = cmp eq %b3:p8:i32 1:i32 %b3:i2:i32 = typecast %b3:i1:u1 to i32 ret %b3:i2:i32 @@ -19620,9 +20580,11 @@ block b5: br %b5:i1:u1, b13(), b14() block b6: - %b6:p0:i32:t3 + %b6:p0:i32:t1 + %b6:p1:i32:t2 + %b6:p2:i32:t3 %b6:i0:unit = nop - %b6:i1:u1 = cmp ne %b6:p0:i32 0:i32 + %b6:i1:u1 = cmp ne %b6:p2:i32 0:i32 br %b6:i1:u1, b1(), b2() block b7: @@ -19655,7 +20617,7 @@ block b12: %b12:p0:i32:t1 %b12:i0:unit = nop %b12:i1:unit = nop - j b6(%b12:p0:i32) + j b6(%b12:p0:i32, undef:i32, %b12:p0:i32) block b13: %b13:i0:unit = nop @@ -19671,7 +20633,7 @@ block b15: %b15:p0:i32:t2 %b15:i0:unit = nop %b15:i1:unit = nop - j b6(%b15:p0:i32) + j b6(undef:i32, %b15:p0:i32, %b15:p0:i32) block b16: %b16:i0:unit = nop @@ -19684,10 +20646,12 @@ block b17: br %b17:i1:u1, b25(), b26() block b18: - %b18:p0:i32:t7 + %b18:p0:i32:t5 + %b18:p1:i32:t6 + %b18:p2:i32:t7 %b18:i0:unit = nop %b18:i1:unit = nop - j b3(%b18:p0:i32) + j b3(%b21:p0:i32, %b18:p0:i32, %b18:p1:i32, %b18:p2:i32, undef:i32, undef:i32, undef:i32, undef:i32, %b18:p2:i32) block b19: %b19:i0:unit = nop @@ -19719,7 +20683,7 @@ block b24: %b24:p0:i32:t5 %b24:i0:unit = nop %b24:i1:unit = nop - j b18(%b24:p0:i32) + j b18(%b24:p0:i32, undef:i32, %b24:p0:i32) block b25: %b25:i0:unit = nop @@ -19735,7 +20699,7 @@ block b27: %b27:p0:i32:t6 %b27:i0:unit = nop %b27:i1:unit = nop - j b18(%b27:p0:i32) + j b18(undef:i32, %b27:p0:i32, %b27:p0:i32) block b28: %b28:i0:unit = nop @@ -19748,10 +20712,12 @@ block b29: br %b29:i1:u1, b37(), b38() block b30: - %b30:p0:i32:t11 + %b30:p0:i32:t9 + %b30:p1:i32:t10 + %b30:p2:i32:t11 %b30:i0:unit = nop %b30:i1:unit = nop - j b3(%b30:p0:i32) + j b3(undef:i32, undef:i32, undef:i32, undef:i32, %b33:p0:i32, %b30:p0:i32, %b30:p1:i32, %b30:p2:i32, %b30:p2:i32) block b31: %b31:i0:unit = nop @@ -19783,7 +20749,7 @@ block b36: %b36:p0:i32:t9 %b36:i0:unit = nop %b36:i1:unit = nop - j b30(%b36:p0:i32) + j b30(%b36:p0:i32, undef:i32, %b36:p0:i32) block b37: %b37:i0:unit = nop @@ -19799,7 +20765,7 @@ block b39: %b39:p0:i32:t10 %b39:i0:unit = nop %b39:i1:unit = nop - j b30(%b39:p0:i32) + j b30(undef:i32, %b39:p0:i32, %b39:p0:i32) } fun i32 @func_71 () { @@ -19890,9 +20856,17 @@ block b2: br %b2:i1:u1, b31(), b32() block b3: - %b3:p0:i32:t12 + %b3:p0:i32:t4 + %b3:p1:i32:t5 + %b3:p2:i32:t6 + %b3:p3:i32:t7 + %b3:p4:i32:t8 + %b3:p5:i32:t9 + %b3:p6:i32:t10 + %b3:p7:i32:t11 + %b3:p8:i32:t12 %b3:i0:unit = nop - %b3:i1:u1 = cmp eq %b3:p0:i32 1:i32 + %b3:i1:u1 = cmp eq %b3:p8:i32 1:i32 %b3:i2:i32 = typecast %b3:i1:u1 to i32 ret %b3:i2:i32 @@ -19907,9 +20881,11 @@ block b5: br %b5:i1:u1, b13(), b14() block b6: - %b6:p0:i32:t3 + %b6:p0:i32:t1 + %b6:p1:i32:t2 + %b6:p2:i32:t3 %b6:i0:unit = nop - %b6:i1:u1 = cmp ne %b6:p0:i32 0:i32 + %b6:i1:u1 = cmp ne %b6:p2:i32 0:i32 br %b6:i1:u1, b1(), b2() block b7: @@ -19942,7 +20918,7 @@ block b12: %b12:p0:i32:t1 %b12:i0:unit = nop %b12:i1:unit = nop - j b6(%b12:p0:i32) + j b6(%b12:p0:i32, undef:i32, %b12:p0:i32) block b13: %b13:i0:unit = nop @@ -19958,7 +20934,7 @@ block b15: %b15:p0:i32:t2 %b15:i0:unit = nop %b15:i1:unit = nop - j b6(%b15:p0:i32) + j b6(undef:i32, %b15:p0:i32, %b15:p0:i32) block b16: %b16:i0:unit = nop @@ -19971,10 +20947,12 @@ block b17: br %b17:i1:u1, b25(), b26() block b18: - %b18:p0:i32:t7 + %b18:p0:i32:t5 + %b18:p1:i32:t6 + %b18:p2:i32:t7 %b18:i0:unit = nop %b18:i1:unit = nop - j b3(%b18:p0:i32) + j b3(%b21:p0:i32, %b18:p0:i32, %b18:p1:i32, %b18:p2:i32, undef:i32, undef:i32, undef:i32, undef:i32, %b18:p2:i32) block b19: %b19:i0:unit = nop @@ -20006,7 +20984,7 @@ block b24: %b24:p0:i32:t5 %b24:i0:unit = nop %b24:i1:unit = nop - j b18(%b24:p0:i32) + j b18(%b24:p0:i32, undef:i32, %b24:p0:i32) block b25: %b25:i0:unit = nop @@ -20022,7 +21000,7 @@ block b27: %b27:p0:i32:t6 %b27:i0:unit = nop %b27:i1:unit = nop - j b18(%b27:p0:i32) + j b18(undef:i32, %b27:p0:i32, %b27:p0:i32) block b28: %b28:i0:unit = nop @@ -20035,10 +21013,12 @@ block b29: br %b29:i1:u1, b37(), b38() block b30: - %b30:p0:i32:t11 + %b30:p0:i32:t9 + %b30:p1:i32:t10 + %b30:p2:i32:t11 %b30:i0:unit = nop %b30:i1:unit = nop - j b3(%b30:p0:i32) + j b3(undef:i32, undef:i32, undef:i32, undef:i32, %b33:p0:i32, %b30:p0:i32, %b30:p1:i32, %b30:p2:i32, %b30:p2:i32) block b31: %b31:i0:unit = nop @@ -20070,7 +21050,7 @@ block b36: %b36:p0:i32:t9 %b36:i0:unit = nop %b36:i1:unit = nop - j b30(%b36:p0:i32) + j b30(%b36:p0:i32, undef:i32, %b36:p0:i32) block b37: %b37:i0:unit = nop @@ -20086,7 +21066,7 @@ block b39: %b39:p0:i32:t10 %b39:i0:unit = nop %b39:i1:unit = nop - j b30(%b39:p0:i32) + j b30(undef:i32, %b39:p0:i32, %b39:p0:i32) } fun i32 @func_72 () { @@ -20177,9 +21157,17 @@ block b2: br %b2:i1:u1, b31(), b32() block b3: - %b3:p0:i32:t12 + %b3:p0:i32:t4 + %b3:p1:i32:t5 + %b3:p2:i32:t6 + %b3:p3:i32:t7 + %b3:p4:i32:t8 + %b3:p5:i32:t9 + %b3:p6:i32:t10 + %b3:p7:i32:t11 + %b3:p8:i32:t12 %b3:i0:unit = nop - %b3:i1:u1 = cmp eq %b3:p0:i32 0:i32 + %b3:i1:u1 = cmp eq %b3:p8:i32 0:i32 %b3:i2:i32 = typecast %b3:i1:u1 to i32 ret %b3:i2:i32 @@ -20194,9 +21182,11 @@ block b5: br %b5:i1:u1, b13(), b14() block b6: - %b6:p0:i32:t3 + %b6:p0:i32:t1 + %b6:p1:i32:t2 + %b6:p2:i32:t3 %b6:i0:unit = nop - %b6:i1:u1 = cmp ne %b6:p0:i32 0:i32 + %b6:i1:u1 = cmp ne %b6:p2:i32 0:i32 br %b6:i1:u1, b1(), b2() block b7: @@ -20229,7 +21219,7 @@ block b12: %b12:p0:i32:t1 %b12:i0:unit = nop %b12:i1:unit = nop - j b6(%b12:p0:i32) + j b6(%b12:p0:i32, undef:i32, %b12:p0:i32) block b13: %b13:i0:unit = nop @@ -20245,7 +21235,7 @@ block b15: %b15:p0:i32:t2 %b15:i0:unit = nop %b15:i1:unit = nop - j b6(%b15:p0:i32) + j b6(undef:i32, %b15:p0:i32, %b15:p0:i32) block b16: %b16:i0:unit = nop @@ -20258,10 +21248,12 @@ block b17: br %b17:i1:u1, b25(), b26() block b18: - %b18:p0:i32:t7 + %b18:p0:i32:t5 + %b18:p1:i32:t6 + %b18:p2:i32:t7 %b18:i0:unit = nop %b18:i1:unit = nop - j b3(%b18:p0:i32) + j b3(%b21:p0:i32, %b18:p0:i32, %b18:p1:i32, %b18:p2:i32, undef:i32, undef:i32, undef:i32, undef:i32, %b18:p2:i32) block b19: %b19:i0:unit = nop @@ -20293,7 +21285,7 @@ block b24: %b24:p0:i32:t5 %b24:i0:unit = nop %b24:i1:unit = nop - j b18(%b24:p0:i32) + j b18(%b24:p0:i32, undef:i32, %b24:p0:i32) block b25: %b25:i0:unit = nop @@ -20309,7 +21301,7 @@ block b27: %b27:p0:i32:t6 %b27:i0:unit = nop %b27:i1:unit = nop - j b18(%b27:p0:i32) + j b18(undef:i32, %b27:p0:i32, %b27:p0:i32) block b28: %b28:i0:unit = nop @@ -20322,10 +21314,12 @@ block b29: br %b29:i1:u1, b37(), b38() block b30: - %b30:p0:i32:t11 + %b30:p0:i32:t9 + %b30:p1:i32:t10 + %b30:p2:i32:t11 %b30:i0:unit = nop %b30:i1:unit = nop - j b3(%b30:p0:i32) + j b3(undef:i32, undef:i32, undef:i32, undef:i32, %b33:p0:i32, %b30:p0:i32, %b30:p1:i32, %b30:p2:i32, %b30:p2:i32) block b31: %b31:i0:unit = nop @@ -20357,7 +21351,7 @@ block b36: %b36:p0:i32:t9 %b36:i0:unit = nop %b36:i1:unit = nop - j b30(%b36:p0:i32) + j b30(%b36:p0:i32, undef:i32, %b36:p0:i32) block b37: %b37:i0:unit = nop @@ -20373,7 +21367,7 @@ block b39: %b39:p0:i32:t10 %b39:i0:unit = nop %b39:i1:unit = nop - j b30(%b39:p0:i32) + j b30(undef:i32, %b39:p0:i32, %b39:p0:i32) } fun i32 @func_73 () { @@ -20464,9 +21458,17 @@ block b2: br %b2:i1:u1, b31(), b32() block b3: - %b3:p0:i32:t12 + %b3:p0:i32:t4 + %b3:p1:i32:t5 + %b3:p2:i32:t6 + %b3:p3:i32:t7 + %b3:p4:i32:t8 + %b3:p5:i32:t9 + %b3:p6:i32:t10 + %b3:p7:i32:t11 + %b3:p8:i32:t12 %b3:i0:unit = nop - %b3:i1:u1 = cmp eq %b3:p0:i32 0:i32 + %b3:i1:u1 = cmp eq %b3:p8:i32 0:i32 %b3:i2:i32 = typecast %b3:i1:u1 to i32 ret %b3:i2:i32 @@ -20481,9 +21483,11 @@ block b5: br %b5:i1:u1, b13(), b14() block b6: - %b6:p0:i32:t3 + %b6:p0:i32:t1 + %b6:p1:i32:t2 + %b6:p2:i32:t3 %b6:i0:unit = nop - %b6:i1:u1 = cmp ne %b6:p0:i32 0:i32 + %b6:i1:u1 = cmp ne %b6:p2:i32 0:i32 br %b6:i1:u1, b1(), b2() block b7: @@ -20516,7 +21520,7 @@ block b12: %b12:p0:i32:t1 %b12:i0:unit = nop %b12:i1:unit = nop - j b6(%b12:p0:i32) + j b6(%b12:p0:i32, undef:i32, %b12:p0:i32) block b13: %b13:i0:unit = nop @@ -20532,7 +21536,7 @@ block b15: %b15:p0:i32:t2 %b15:i0:unit = nop %b15:i1:unit = nop - j b6(%b15:p0:i32) + j b6(undef:i32, %b15:p0:i32, %b15:p0:i32) block b16: %b16:i0:unit = nop @@ -20545,10 +21549,12 @@ block b17: br %b17:i1:u1, b25(), b26() block b18: - %b18:p0:i32:t7 + %b18:p0:i32:t5 + %b18:p1:i32:t6 + %b18:p2:i32:t7 %b18:i0:unit = nop %b18:i1:unit = nop - j b3(%b18:p0:i32) + j b3(%b21:p0:i32, %b18:p0:i32, %b18:p1:i32, %b18:p2:i32, undef:i32, undef:i32, undef:i32, undef:i32, %b18:p2:i32) block b19: %b19:i0:unit = nop @@ -20580,7 +21586,7 @@ block b24: %b24:p0:i32:t5 %b24:i0:unit = nop %b24:i1:unit = nop - j b18(%b24:p0:i32) + j b18(%b24:p0:i32, undef:i32, %b24:p0:i32) block b25: %b25:i0:unit = nop @@ -20596,7 +21602,7 @@ block b27: %b27:p0:i32:t6 %b27:i0:unit = nop %b27:i1:unit = nop - j b18(%b27:p0:i32) + j b18(undef:i32, %b27:p0:i32, %b27:p0:i32) block b28: %b28:i0:unit = nop @@ -20609,10 +21615,12 @@ block b29: br %b29:i1:u1, b37(), b38() block b30: - %b30:p0:i32:t11 + %b30:p0:i32:t9 + %b30:p1:i32:t10 + %b30:p2:i32:t11 %b30:i0:unit = nop %b30:i1:unit = nop - j b3(%b30:p0:i32) + j b3(undef:i32, undef:i32, undef:i32, undef:i32, %b33:p0:i32, %b30:p0:i32, %b30:p1:i32, %b30:p2:i32, %b30:p2:i32) block b31: %b31:i0:unit = nop @@ -20644,7 +21652,7 @@ block b36: %b36:p0:i32:t9 %b36:i0:unit = nop %b36:i1:unit = nop - j b30(%b36:p0:i32) + j b30(%b36:p0:i32, undef:i32, %b36:p0:i32) block b37: %b37:i0:unit = nop @@ -20660,7 +21668,7 @@ block b39: %b39:p0:i32:t10 %b39:i0:unit = nop %b39:i1:unit = nop - j b30(%b39:p0:i32) + j b30(undef:i32, %b39:p0:i32, %b39:p0:i32) } fun i32 @func_74 () { @@ -20751,9 +21759,17 @@ block b2: br %b2:i1:u1, b31(), b32() block b3: - %b3:p0:i32:t12 + %b3:p0:i32:t4 + %b3:p1:i32:t5 + %b3:p2:i32:t6 + %b3:p3:i32:t7 + %b3:p4:i32:t8 + %b3:p5:i32:t9 + %b3:p6:i32:t10 + %b3:p7:i32:t11 + %b3:p8:i32:t12 %b3:i0:unit = nop - %b3:i1:u1 = cmp eq %b3:p0:i32 0:i32 + %b3:i1:u1 = cmp eq %b3:p8:i32 0:i32 %b3:i2:i32 = typecast %b3:i1:u1 to i32 ret %b3:i2:i32 @@ -20768,9 +21784,11 @@ block b5: br %b5:i1:u1, b13(), b14() block b6: - %b6:p0:i32:t3 + %b6:p0:i32:t1 + %b6:p1:i32:t2 + %b6:p2:i32:t3 %b6:i0:unit = nop - %b6:i1:u1 = cmp ne %b6:p0:i32 0:i32 + %b6:i1:u1 = cmp ne %b6:p2:i32 0:i32 br %b6:i1:u1, b1(), b2() block b7: @@ -20803,7 +21821,7 @@ block b12: %b12:p0:i32:t1 %b12:i0:unit = nop %b12:i1:unit = nop - j b6(%b12:p0:i32) + j b6(%b12:p0:i32, undef:i32, %b12:p0:i32) block b13: %b13:i0:unit = nop @@ -20819,7 +21837,7 @@ block b15: %b15:p0:i32:t2 %b15:i0:unit = nop %b15:i1:unit = nop - j b6(%b15:p0:i32) + j b6(undef:i32, %b15:p0:i32, %b15:p0:i32) block b16: %b16:i0:unit = nop @@ -20832,10 +21850,12 @@ block b17: br %b17:i1:u1, b25(), b26() block b18: - %b18:p0:i32:t7 + %b18:p0:i32:t5 + %b18:p1:i32:t6 + %b18:p2:i32:t7 %b18:i0:unit = nop %b18:i1:unit = nop - j b3(%b18:p0:i32) + j b3(%b21:p0:i32, %b18:p0:i32, %b18:p1:i32, %b18:p2:i32, undef:i32, undef:i32, undef:i32, undef:i32, %b18:p2:i32) block b19: %b19:i0:unit = nop @@ -20867,7 +21887,7 @@ block b24: %b24:p0:i32:t5 %b24:i0:unit = nop %b24:i1:unit = nop - j b18(%b24:p0:i32) + j b18(%b24:p0:i32, undef:i32, %b24:p0:i32) block b25: %b25:i0:unit = nop @@ -20883,7 +21903,7 @@ block b27: %b27:p0:i32:t6 %b27:i0:unit = nop %b27:i1:unit = nop - j b18(%b27:p0:i32) + j b18(undef:i32, %b27:p0:i32, %b27:p0:i32) block b28: %b28:i0:unit = nop @@ -20896,10 +21916,12 @@ block b29: br %b29:i1:u1, b37(), b38() block b30: - %b30:p0:i32:t11 + %b30:p0:i32:t9 + %b30:p1:i32:t10 + %b30:p2:i32:t11 %b30:i0:unit = nop %b30:i1:unit = nop - j b3(%b30:p0:i32) + j b3(undef:i32, undef:i32, undef:i32, undef:i32, %b33:p0:i32, %b30:p0:i32, %b30:p1:i32, %b30:p2:i32, %b30:p2:i32) block b31: %b31:i0:unit = nop @@ -20931,7 +21953,7 @@ block b36: %b36:p0:i32:t9 %b36:i0:unit = nop %b36:i1:unit = nop - j b30(%b36:p0:i32) + j b30(%b36:p0:i32, undef:i32, %b36:p0:i32) block b37: %b37:i0:unit = nop @@ -20947,7 +21969,7 @@ block b39: %b39:p0:i32:t10 %b39:i0:unit = nop %b39:i1:unit = nop - j b30(%b39:p0:i32) + j b30(undef:i32, %b39:p0:i32, %b39:p0:i32) } fun i32 @func_75 () { @@ -21038,9 +22060,17 @@ block b2: br %b2:i1:u1, b31(), b32() block b3: - %b3:p0:i32:t12 + %b3:p0:i32:t4 + %b3:p1:i32:t5 + %b3:p2:i32:t6 + %b3:p3:i32:t7 + %b3:p4:i32:t8 + %b3:p5:i32:t9 + %b3:p6:i32:t10 + %b3:p7:i32:t11 + %b3:p8:i32:t12 %b3:i0:unit = nop - %b3:i1:u1 = cmp eq %b3:p0:i32 0:i32 + %b3:i1:u1 = cmp eq %b3:p8:i32 0:i32 %b3:i2:i32 = typecast %b3:i1:u1 to i32 ret %b3:i2:i32 @@ -21055,9 +22085,11 @@ block b5: br %b5:i1:u1, b13(), b14() block b6: - %b6:p0:i32:t3 + %b6:p0:i32:t1 + %b6:p1:i32:t2 + %b6:p2:i32:t3 %b6:i0:unit = nop - %b6:i1:u1 = cmp ne %b6:p0:i32 0:i32 + %b6:i1:u1 = cmp ne %b6:p2:i32 0:i32 br %b6:i1:u1, b1(), b2() block b7: @@ -21090,7 +22122,7 @@ block b12: %b12:p0:i32:t1 %b12:i0:unit = nop %b12:i1:unit = nop - j b6(%b12:p0:i32) + j b6(%b12:p0:i32, undef:i32, %b12:p0:i32) block b13: %b13:i0:unit = nop @@ -21106,7 +22138,7 @@ block b15: %b15:p0:i32:t2 %b15:i0:unit = nop %b15:i1:unit = nop - j b6(%b15:p0:i32) + j b6(undef:i32, %b15:p0:i32, %b15:p0:i32) block b16: %b16:i0:unit = nop @@ -21119,10 +22151,12 @@ block b17: br %b17:i1:u1, b25(), b26() block b18: - %b18:p0:i32:t7 + %b18:p0:i32:t5 + %b18:p1:i32:t6 + %b18:p2:i32:t7 %b18:i0:unit = nop %b18:i1:unit = nop - j b3(%b18:p0:i32) + j b3(%b21:p0:i32, %b18:p0:i32, %b18:p1:i32, %b18:p2:i32, undef:i32, undef:i32, undef:i32, undef:i32, %b18:p2:i32) block b19: %b19:i0:unit = nop @@ -21154,7 +22188,7 @@ block b24: %b24:p0:i32:t5 %b24:i0:unit = nop %b24:i1:unit = nop - j b18(%b24:p0:i32) + j b18(%b24:p0:i32, undef:i32, %b24:p0:i32) block b25: %b25:i0:unit = nop @@ -21170,7 +22204,7 @@ block b27: %b27:p0:i32:t6 %b27:i0:unit = nop %b27:i1:unit = nop - j b18(%b27:p0:i32) + j b18(undef:i32, %b27:p0:i32, %b27:p0:i32) block b28: %b28:i0:unit = nop @@ -21183,10 +22217,12 @@ block b29: br %b29:i1:u1, b37(), b38() block b30: - %b30:p0:i32:t11 + %b30:p0:i32:t9 + %b30:p1:i32:t10 + %b30:p2:i32:t11 %b30:i0:unit = nop %b30:i1:unit = nop - j b3(%b30:p0:i32) + j b3(undef:i32, undef:i32, undef:i32, undef:i32, %b33:p0:i32, %b30:p0:i32, %b30:p1:i32, %b30:p2:i32, %b30:p2:i32) block b31: %b31:i0:unit = nop @@ -21218,7 +22254,7 @@ block b36: %b36:p0:i32:t9 %b36:i0:unit = nop %b36:i1:unit = nop - j b30(%b36:p0:i32) + j b30(%b36:p0:i32, undef:i32, %b36:p0:i32) block b37: %b37:i0:unit = nop @@ -21234,7 +22270,7 @@ block b39: %b39:p0:i32:t10 %b39:i0:unit = nop %b39:i1:unit = nop - j b30(%b39:p0:i32) + j b30(undef:i32, %b39:p0:i32, %b39:p0:i32) } fun i32 @func_76 () { @@ -21325,9 +22361,17 @@ block b2: br %b2:i1:u1, b31(), b32() block b3: - %b3:p0:i32:t12 + %b3:p0:i32:t4 + %b3:p1:i32:t5 + %b3:p2:i32:t6 + %b3:p3:i32:t7 + %b3:p4:i32:t8 + %b3:p5:i32:t9 + %b3:p6:i32:t10 + %b3:p7:i32:t11 + %b3:p8:i32:t12 %b3:i0:unit = nop - %b3:i1:u1 = cmp eq %b3:p0:i32 0:i32 + %b3:i1:u1 = cmp eq %b3:p8:i32 0:i32 %b3:i2:i32 = typecast %b3:i1:u1 to i32 ret %b3:i2:i32 @@ -21342,9 +22386,11 @@ block b5: br %b5:i1:u1, b13(), b14() block b6: - %b6:p0:i32:t3 + %b6:p0:i32:t1 + %b6:p1:i32:t2 + %b6:p2:i32:t3 %b6:i0:unit = nop - %b6:i1:u1 = cmp ne %b6:p0:i32 0:i32 + %b6:i1:u1 = cmp ne %b6:p2:i32 0:i32 br %b6:i1:u1, b1(), b2() block b7: @@ -21377,7 +22423,7 @@ block b12: %b12:p0:i32:t1 %b12:i0:unit = nop %b12:i1:unit = nop - j b6(%b12:p0:i32) + j b6(%b12:p0:i32, undef:i32, %b12:p0:i32) block b13: %b13:i0:unit = nop @@ -21393,7 +22439,7 @@ block b15: %b15:p0:i32:t2 %b15:i0:unit = nop %b15:i1:unit = nop - j b6(%b15:p0:i32) + j b6(undef:i32, %b15:p0:i32, %b15:p0:i32) block b16: %b16:i0:unit = nop @@ -21406,10 +22452,12 @@ block b17: br %b17:i1:u1, b25(), b26() block b18: - %b18:p0:i32:t7 + %b18:p0:i32:t5 + %b18:p1:i32:t6 + %b18:p2:i32:t7 %b18:i0:unit = nop %b18:i1:unit = nop - j b3(%b18:p0:i32) + j b3(%b21:p0:i32, %b18:p0:i32, %b18:p1:i32, %b18:p2:i32, undef:i32, undef:i32, undef:i32, undef:i32, %b18:p2:i32) block b19: %b19:i0:unit = nop @@ -21441,7 +22489,7 @@ block b24: %b24:p0:i32:t5 %b24:i0:unit = nop %b24:i1:unit = nop - j b18(%b24:p0:i32) + j b18(%b24:p0:i32, undef:i32, %b24:p0:i32) block b25: %b25:i0:unit = nop @@ -21457,7 +22505,7 @@ block b27: %b27:p0:i32:t6 %b27:i0:unit = nop %b27:i1:unit = nop - j b18(%b27:p0:i32) + j b18(undef:i32, %b27:p0:i32, %b27:p0:i32) block b28: %b28:i0:unit = nop @@ -21470,10 +22518,12 @@ block b29: br %b29:i1:u1, b37(), b38() block b30: - %b30:p0:i32:t11 + %b30:p0:i32:t9 + %b30:p1:i32:t10 + %b30:p2:i32:t11 %b30:i0:unit = nop %b30:i1:unit = nop - j b3(%b30:p0:i32) + j b3(undef:i32, undef:i32, undef:i32, undef:i32, %b33:p0:i32, %b30:p0:i32, %b30:p1:i32, %b30:p2:i32, %b30:p2:i32) block b31: %b31:i0:unit = nop @@ -21505,7 +22555,7 @@ block b36: %b36:p0:i32:t9 %b36:i0:unit = nop %b36:i1:unit = nop - j b30(%b36:p0:i32) + j b30(%b36:p0:i32, undef:i32, %b36:p0:i32) block b37: %b37:i0:unit = nop @@ -21521,7 +22571,7 @@ block b39: %b39:p0:i32:t10 %b39:i0:unit = nop %b39:i1:unit = nop - j b30(%b39:p0:i32) + j b30(undef:i32, %b39:p0:i32, %b39:p0:i32) } fun i32 @func_77 () { @@ -21612,9 +22662,17 @@ block b2: br %b2:i1:u1, b31(), b32() block b3: - %b3:p0:i32:t12 + %b3:p0:i32:t4 + %b3:p1:i32:t5 + %b3:p2:i32:t6 + %b3:p3:i32:t7 + %b3:p4:i32:t8 + %b3:p5:i32:t9 + %b3:p6:i32:t10 + %b3:p7:i32:t11 + %b3:p8:i32:t12 %b3:i0:unit = nop - %b3:i1:u1 = cmp eq %b3:p0:i32 0:i32 + %b3:i1:u1 = cmp eq %b3:p8:i32 0:i32 %b3:i2:i32 = typecast %b3:i1:u1 to i32 ret %b3:i2:i32 @@ -21629,9 +22687,11 @@ block b5: br %b5:i1:u1, b13(), b14() block b6: - %b6:p0:i32:t3 + %b6:p0:i32:t1 + %b6:p1:i32:t2 + %b6:p2:i32:t3 %b6:i0:unit = nop - %b6:i1:u1 = cmp ne %b6:p0:i32 0:i32 + %b6:i1:u1 = cmp ne %b6:p2:i32 0:i32 br %b6:i1:u1, b1(), b2() block b7: @@ -21664,7 +22724,7 @@ block b12: %b12:p0:i32:t1 %b12:i0:unit = nop %b12:i1:unit = nop - j b6(%b12:p0:i32) + j b6(%b12:p0:i32, undef:i32, %b12:p0:i32) block b13: %b13:i0:unit = nop @@ -21680,7 +22740,7 @@ block b15: %b15:p0:i32:t2 %b15:i0:unit = nop %b15:i1:unit = nop - j b6(%b15:p0:i32) + j b6(undef:i32, %b15:p0:i32, %b15:p0:i32) block b16: %b16:i0:unit = nop @@ -21693,10 +22753,12 @@ block b17: br %b17:i1:u1, b25(), b26() block b18: - %b18:p0:i32:t7 + %b18:p0:i32:t5 + %b18:p1:i32:t6 + %b18:p2:i32:t7 %b18:i0:unit = nop %b18:i1:unit = nop - j b3(%b18:p0:i32) + j b3(%b21:p0:i32, %b18:p0:i32, %b18:p1:i32, %b18:p2:i32, undef:i32, undef:i32, undef:i32, undef:i32, %b18:p2:i32) block b19: %b19:i0:unit = nop @@ -21728,7 +22790,7 @@ block b24: %b24:p0:i32:t5 %b24:i0:unit = nop %b24:i1:unit = nop - j b18(%b24:p0:i32) + j b18(%b24:p0:i32, undef:i32, %b24:p0:i32) block b25: %b25:i0:unit = nop @@ -21744,7 +22806,7 @@ block b27: %b27:p0:i32:t6 %b27:i0:unit = nop %b27:i1:unit = nop - j b18(%b27:p0:i32) + j b18(undef:i32, %b27:p0:i32, %b27:p0:i32) block b28: %b28:i0:unit = nop @@ -21757,10 +22819,12 @@ block b29: br %b29:i1:u1, b37(), b38() block b30: - %b30:p0:i32:t11 + %b30:p0:i32:t9 + %b30:p1:i32:t10 + %b30:p2:i32:t11 %b30:i0:unit = nop %b30:i1:unit = nop - j b3(%b30:p0:i32) + j b3(undef:i32, undef:i32, undef:i32, undef:i32, %b33:p0:i32, %b30:p0:i32, %b30:p1:i32, %b30:p2:i32, %b30:p2:i32) block b31: %b31:i0:unit = nop @@ -21792,7 +22856,7 @@ block b36: %b36:p0:i32:t9 %b36:i0:unit = nop %b36:i1:unit = nop - j b30(%b36:p0:i32) + j b30(%b36:p0:i32, undef:i32, %b36:p0:i32) block b37: %b37:i0:unit = nop @@ -21808,7 +22872,7 @@ block b39: %b39:p0:i32:t10 %b39:i0:unit = nop %b39:i1:unit = nop - j b30(%b39:p0:i32) + j b30(undef:i32, %b39:p0:i32, %b39:p0:i32) } fun i32 @func_78 () { @@ -21899,9 +22963,17 @@ block b2: br %b2:i1:u1, b31(), b32() block b3: - %b3:p0:i32:t12 + %b3:p0:i32:t4 + %b3:p1:i32:t5 + %b3:p2:i32:t6 + %b3:p3:i32:t7 + %b3:p4:i32:t8 + %b3:p5:i32:t9 + %b3:p6:i32:t10 + %b3:p7:i32:t11 + %b3:p8:i32:t12 %b3:i0:unit = nop - %b3:i1:u1 = cmp eq %b3:p0:i32 0:i32 + %b3:i1:u1 = cmp eq %b3:p8:i32 0:i32 %b3:i2:i32 = typecast %b3:i1:u1 to i32 ret %b3:i2:i32 @@ -21916,9 +22988,11 @@ block b5: br %b5:i1:u1, b13(), b14() block b6: - %b6:p0:i32:t3 + %b6:p0:i32:t1 + %b6:p1:i32:t2 + %b6:p2:i32:t3 %b6:i0:unit = nop - %b6:i1:u1 = cmp ne %b6:p0:i32 0:i32 + %b6:i1:u1 = cmp ne %b6:p2:i32 0:i32 br %b6:i1:u1, b1(), b2() block b7: @@ -21951,7 +23025,7 @@ block b12: %b12:p0:i32:t1 %b12:i0:unit = nop %b12:i1:unit = nop - j b6(%b12:p0:i32) + j b6(%b12:p0:i32, undef:i32, %b12:p0:i32) block b13: %b13:i0:unit = nop @@ -21967,7 +23041,7 @@ block b15: %b15:p0:i32:t2 %b15:i0:unit = nop %b15:i1:unit = nop - j b6(%b15:p0:i32) + j b6(undef:i32, %b15:p0:i32, %b15:p0:i32) block b16: %b16:i0:unit = nop @@ -21980,10 +23054,12 @@ block b17: br %b17:i1:u1, b25(), b26() block b18: - %b18:p0:i32:t7 + %b18:p0:i32:t5 + %b18:p1:i32:t6 + %b18:p2:i32:t7 %b18:i0:unit = nop %b18:i1:unit = nop - j b3(%b18:p0:i32) + j b3(%b21:p0:i32, %b18:p0:i32, %b18:p1:i32, %b18:p2:i32, undef:i32, undef:i32, undef:i32, undef:i32, %b18:p2:i32) block b19: %b19:i0:unit = nop @@ -22015,7 +23091,7 @@ block b24: %b24:p0:i32:t5 %b24:i0:unit = nop %b24:i1:unit = nop - j b18(%b24:p0:i32) + j b18(%b24:p0:i32, undef:i32, %b24:p0:i32) block b25: %b25:i0:unit = nop @@ -22031,7 +23107,7 @@ block b27: %b27:p0:i32:t6 %b27:i0:unit = nop %b27:i1:unit = nop - j b18(%b27:p0:i32) + j b18(undef:i32, %b27:p0:i32, %b27:p0:i32) block b28: %b28:i0:unit = nop @@ -22044,10 +23120,12 @@ block b29: br %b29:i1:u1, b37(), b38() block b30: - %b30:p0:i32:t11 + %b30:p0:i32:t9 + %b30:p1:i32:t10 + %b30:p2:i32:t11 %b30:i0:unit = nop %b30:i1:unit = nop - j b3(%b30:p0:i32) + j b3(undef:i32, undef:i32, undef:i32, undef:i32, %b33:p0:i32, %b30:p0:i32, %b30:p1:i32, %b30:p2:i32, %b30:p2:i32) block b31: %b31:i0:unit = nop @@ -22079,7 +23157,7 @@ block b36: %b36:p0:i32:t9 %b36:i0:unit = nop %b36:i1:unit = nop - j b30(%b36:p0:i32) + j b30(%b36:p0:i32, undef:i32, %b36:p0:i32) block b37: %b37:i0:unit = nop @@ -22095,7 +23173,7 @@ block b39: %b39:p0:i32:t10 %b39:i0:unit = nop %b39:i1:unit = nop - j b30(%b39:p0:i32) + j b30(undef:i32, %b39:p0:i32, %b39:p0:i32) } fun i32 @func_79 () { @@ -22186,9 +23264,17 @@ block b2: br %b2:i1:u1, b31(), b32() block b3: - %b3:p0:i32:t12 + %b3:p0:i32:t4 + %b3:p1:i32:t5 + %b3:p2:i32:t6 + %b3:p3:i32:t7 + %b3:p4:i32:t8 + %b3:p5:i32:t9 + %b3:p6:i32:t10 + %b3:p7:i32:t11 + %b3:p8:i32:t12 %b3:i0:unit = nop - %b3:i1:u1 = cmp eq %b3:p0:i32 0:i32 + %b3:i1:u1 = cmp eq %b3:p8:i32 0:i32 %b3:i2:i32 = typecast %b3:i1:u1 to i32 ret %b3:i2:i32 @@ -22203,9 +23289,11 @@ block b5: br %b5:i1:u1, b13(), b14() block b6: - %b6:p0:i32:t3 + %b6:p0:i32:t1 + %b6:p1:i32:t2 + %b6:p2:i32:t3 %b6:i0:unit = nop - %b6:i1:u1 = cmp ne %b6:p0:i32 0:i32 + %b6:i1:u1 = cmp ne %b6:p2:i32 0:i32 br %b6:i1:u1, b1(), b2() block b7: @@ -22238,7 +23326,7 @@ block b12: %b12:p0:i32:t1 %b12:i0:unit = nop %b12:i1:unit = nop - j b6(%b12:p0:i32) + j b6(%b12:p0:i32, undef:i32, %b12:p0:i32) block b13: %b13:i0:unit = nop @@ -22254,7 +23342,7 @@ block b15: %b15:p0:i32:t2 %b15:i0:unit = nop %b15:i1:unit = nop - j b6(%b15:p0:i32) + j b6(undef:i32, %b15:p0:i32, %b15:p0:i32) block b16: %b16:i0:unit = nop @@ -22267,10 +23355,12 @@ block b17: br %b17:i1:u1, b25(), b26() block b18: - %b18:p0:i32:t7 + %b18:p0:i32:t5 + %b18:p1:i32:t6 + %b18:p2:i32:t7 %b18:i0:unit = nop %b18:i1:unit = nop - j b3(%b18:p0:i32) + j b3(%b21:p0:i32, %b18:p0:i32, %b18:p1:i32, %b18:p2:i32, undef:i32, undef:i32, undef:i32, undef:i32, %b18:p2:i32) block b19: %b19:i0:unit = nop @@ -22302,7 +23392,7 @@ block b24: %b24:p0:i32:t5 %b24:i0:unit = nop %b24:i1:unit = nop - j b18(%b24:p0:i32) + j b18(%b24:p0:i32, undef:i32, %b24:p0:i32) block b25: %b25:i0:unit = nop @@ -22318,7 +23408,7 @@ block b27: %b27:p0:i32:t6 %b27:i0:unit = nop %b27:i1:unit = nop - j b18(%b27:p0:i32) + j b18(undef:i32, %b27:p0:i32, %b27:p0:i32) block b28: %b28:i0:unit = nop @@ -22331,10 +23421,12 @@ block b29: br %b29:i1:u1, b37(), b38() block b30: - %b30:p0:i32:t11 + %b30:p0:i32:t9 + %b30:p1:i32:t10 + %b30:p2:i32:t11 %b30:i0:unit = nop %b30:i1:unit = nop - j b3(%b30:p0:i32) + j b3(undef:i32, undef:i32, undef:i32, undef:i32, %b33:p0:i32, %b30:p0:i32, %b30:p1:i32, %b30:p2:i32, %b30:p2:i32) block b31: %b31:i0:unit = nop @@ -22366,7 +23458,7 @@ block b36: %b36:p0:i32:t9 %b36:i0:unit = nop %b36:i1:unit = nop - j b30(%b36:p0:i32) + j b30(%b36:p0:i32, undef:i32, %b36:p0:i32) block b37: %b37:i0:unit = nop @@ -22382,7 +23474,7 @@ block b39: %b39:p0:i32:t10 %b39:i0:unit = nop %b39:i1:unit = nop - j b30(%b39:p0:i32) + j b30(undef:i32, %b39:p0:i32, %b39:p0:i32) } fun i32 @func_8 () { @@ -22473,9 +23565,17 @@ block b2: br %b2:i1:u1, b31(), b32() block b3: - %b3:p0:i32:t12 + %b3:p0:i32:t4 + %b3:p1:i32:t5 + %b3:p2:i32:t6 + %b3:p3:i32:t7 + %b3:p4:i32:t8 + %b3:p5:i32:t9 + %b3:p6:i32:t10 + %b3:p7:i32:t11 + %b3:p8:i32:t12 %b3:i0:unit = nop - %b3:i1:u1 = cmp eq %b3:p0:i32 1:i32 + %b3:i1:u1 = cmp eq %b3:p8:i32 1:i32 %b3:i2:i32 = typecast %b3:i1:u1 to i32 ret %b3:i2:i32 @@ -22490,9 +23590,11 @@ block b5: br %b5:i1:u1, b13(), b14() block b6: - %b6:p0:i32:t3 + %b6:p0:i32:t1 + %b6:p1:i32:t2 + %b6:p2:i32:t3 %b6:i0:unit = nop - %b6:i1:u1 = cmp ne %b6:p0:i32 0:i32 + %b6:i1:u1 = cmp ne %b6:p2:i32 0:i32 br %b6:i1:u1, b1(), b2() block b7: @@ -22525,7 +23627,7 @@ block b12: %b12:p0:i32:t1 %b12:i0:unit = nop %b12:i1:unit = nop - j b6(%b12:p0:i32) + j b6(%b12:p0:i32, undef:i32, %b12:p0:i32) block b13: %b13:i0:unit = nop @@ -22541,7 +23643,7 @@ block b15: %b15:p0:i32:t2 %b15:i0:unit = nop %b15:i1:unit = nop - j b6(%b15:p0:i32) + j b6(undef:i32, %b15:p0:i32, %b15:p0:i32) block b16: %b16:i0:unit = nop @@ -22554,10 +23656,12 @@ block b17: br %b17:i1:u1, b25(), b26() block b18: - %b18:p0:i32:t7 + %b18:p0:i32:t5 + %b18:p1:i32:t6 + %b18:p2:i32:t7 %b18:i0:unit = nop %b18:i1:unit = nop - j b3(%b18:p0:i32) + j b3(%b21:p0:i32, %b18:p0:i32, %b18:p1:i32, %b18:p2:i32, undef:i32, undef:i32, undef:i32, undef:i32, %b18:p2:i32) block b19: %b19:i0:unit = nop @@ -22589,7 +23693,7 @@ block b24: %b24:p0:i32:t5 %b24:i0:unit = nop %b24:i1:unit = nop - j b18(%b24:p0:i32) + j b18(%b24:p0:i32, undef:i32, %b24:p0:i32) block b25: %b25:i0:unit = nop @@ -22605,7 +23709,7 @@ block b27: %b27:p0:i32:t6 %b27:i0:unit = nop %b27:i1:unit = nop - j b18(%b27:p0:i32) + j b18(undef:i32, %b27:p0:i32, %b27:p0:i32) block b28: %b28:i0:unit = nop @@ -22618,10 +23722,12 @@ block b29: br %b29:i1:u1, b37(), b38() block b30: - %b30:p0:i32:t11 + %b30:p0:i32:t9 + %b30:p1:i32:t10 + %b30:p2:i32:t11 %b30:i0:unit = nop %b30:i1:unit = nop - j b3(%b30:p0:i32) + j b3(undef:i32, undef:i32, undef:i32, undef:i32, %b33:p0:i32, %b30:p0:i32, %b30:p1:i32, %b30:p2:i32, %b30:p2:i32) block b31: %b31:i0:unit = nop @@ -22653,7 +23759,7 @@ block b36: %b36:p0:i32:t9 %b36:i0:unit = nop %b36:i1:unit = nop - j b30(%b36:p0:i32) + j b30(%b36:p0:i32, undef:i32, %b36:p0:i32) block b37: %b37:i0:unit = nop @@ -22669,7 +23775,7 @@ block b39: %b39:p0:i32:t10 %b39:i0:unit = nop %b39:i1:unit = nop - j b30(%b39:p0:i32) + j b30(undef:i32, %b39:p0:i32, %b39:p0:i32) } fun i32 @func_80 () { @@ -22760,9 +23866,17 @@ block b2: br %b2:i1:u1, b31(), b32() block b3: - %b3:p0:i32:t12 + %b3:p0:i32:t4 + %b3:p1:i32:t5 + %b3:p2:i32:t6 + %b3:p3:i32:t7 + %b3:p4:i32:t8 + %b3:p5:i32:t9 + %b3:p6:i32:t10 + %b3:p7:i32:t11 + %b3:p8:i32:t12 %b3:i0:unit = nop - %b3:i1:u1 = cmp eq %b3:p0:i32 1:i32 + %b3:i1:u1 = cmp eq %b3:p8:i32 1:i32 %b3:i2:i32 = typecast %b3:i1:u1 to i32 ret %b3:i2:i32 @@ -22777,9 +23891,11 @@ block b5: br %b5:i1:u1, b13(), b14() block b6: - %b6:p0:i32:t3 + %b6:p0:i32:t1 + %b6:p1:i32:t2 + %b6:p2:i32:t3 %b6:i0:unit = nop - %b6:i1:u1 = cmp ne %b6:p0:i32 0:i32 + %b6:i1:u1 = cmp ne %b6:p2:i32 0:i32 br %b6:i1:u1, b1(), b2() block b7: @@ -22812,7 +23928,7 @@ block b12: %b12:p0:i32:t1 %b12:i0:unit = nop %b12:i1:unit = nop - j b6(%b12:p0:i32) + j b6(%b12:p0:i32, undef:i32, %b12:p0:i32) block b13: %b13:i0:unit = nop @@ -22828,7 +23944,7 @@ block b15: %b15:p0:i32:t2 %b15:i0:unit = nop %b15:i1:unit = nop - j b6(%b15:p0:i32) + j b6(undef:i32, %b15:p0:i32, %b15:p0:i32) block b16: %b16:i0:unit = nop @@ -22841,10 +23957,12 @@ block b17: br %b17:i1:u1, b25(), b26() block b18: - %b18:p0:i32:t7 + %b18:p0:i32:t5 + %b18:p1:i32:t6 + %b18:p2:i32:t7 %b18:i0:unit = nop %b18:i1:unit = nop - j b3(%b18:p0:i32) + j b3(%b21:p0:i32, %b18:p0:i32, %b18:p1:i32, %b18:p2:i32, undef:i32, undef:i32, undef:i32, undef:i32, %b18:p2:i32) block b19: %b19:i0:unit = nop @@ -22876,7 +23994,7 @@ block b24: %b24:p0:i32:t5 %b24:i0:unit = nop %b24:i1:unit = nop - j b18(%b24:p0:i32) + j b18(%b24:p0:i32, undef:i32, %b24:p0:i32) block b25: %b25:i0:unit = nop @@ -22892,7 +24010,7 @@ block b27: %b27:p0:i32:t6 %b27:i0:unit = nop %b27:i1:unit = nop - j b18(%b27:p0:i32) + j b18(undef:i32, %b27:p0:i32, %b27:p0:i32) block b28: %b28:i0:unit = nop @@ -22905,10 +24023,12 @@ block b29: br %b29:i1:u1, b37(), b38() block b30: - %b30:p0:i32:t11 + %b30:p0:i32:t9 + %b30:p1:i32:t10 + %b30:p2:i32:t11 %b30:i0:unit = nop %b30:i1:unit = nop - j b3(%b30:p0:i32) + j b3(undef:i32, undef:i32, undef:i32, undef:i32, %b33:p0:i32, %b30:p0:i32, %b30:p1:i32, %b30:p2:i32, %b30:p2:i32) block b31: %b31:i0:unit = nop @@ -22940,7 +24060,7 @@ block b36: %b36:p0:i32:t9 %b36:i0:unit = nop %b36:i1:unit = nop - j b30(%b36:p0:i32) + j b30(%b36:p0:i32, undef:i32, %b36:p0:i32) block b37: %b37:i0:unit = nop @@ -22956,7 +24076,7 @@ block b39: %b39:p0:i32:t10 %b39:i0:unit = nop %b39:i1:unit = nop - j b30(%b39:p0:i32) + j b30(undef:i32, %b39:p0:i32, %b39:p0:i32) } fun i32 @func_81 () { @@ -23047,9 +24167,17 @@ block b2: br %b2:i1:u1, b31(), b32() block b3: - %b3:p0:i32:t12 + %b3:p0:i32:t4 + %b3:p1:i32:t5 + %b3:p2:i32:t6 + %b3:p3:i32:t7 + %b3:p4:i32:t8 + %b3:p5:i32:t9 + %b3:p6:i32:t10 + %b3:p7:i32:t11 + %b3:p8:i32:t12 %b3:i0:unit = nop - %b3:i1:u1 = cmp eq %b3:p0:i32 1:i32 + %b3:i1:u1 = cmp eq %b3:p8:i32 1:i32 %b3:i2:i32 = typecast %b3:i1:u1 to i32 ret %b3:i2:i32 @@ -23064,9 +24192,11 @@ block b5: br %b5:i1:u1, b13(), b14() block b6: - %b6:p0:i32:t3 + %b6:p0:i32:t1 + %b6:p1:i32:t2 + %b6:p2:i32:t3 %b6:i0:unit = nop - %b6:i1:u1 = cmp ne %b6:p0:i32 0:i32 + %b6:i1:u1 = cmp ne %b6:p2:i32 0:i32 br %b6:i1:u1, b1(), b2() block b7: @@ -23099,7 +24229,7 @@ block b12: %b12:p0:i32:t1 %b12:i0:unit = nop %b12:i1:unit = nop - j b6(%b12:p0:i32) + j b6(%b12:p0:i32, undef:i32, %b12:p0:i32) block b13: %b13:i0:unit = nop @@ -23115,7 +24245,7 @@ block b15: %b15:p0:i32:t2 %b15:i0:unit = nop %b15:i1:unit = nop - j b6(%b15:p0:i32) + j b6(undef:i32, %b15:p0:i32, %b15:p0:i32) block b16: %b16:i0:unit = nop @@ -23128,10 +24258,12 @@ block b17: br %b17:i1:u1, b25(), b26() block b18: - %b18:p0:i32:t7 + %b18:p0:i32:t5 + %b18:p1:i32:t6 + %b18:p2:i32:t7 %b18:i0:unit = nop %b18:i1:unit = nop - j b3(%b18:p0:i32) + j b3(%b21:p0:i32, %b18:p0:i32, %b18:p1:i32, %b18:p2:i32, undef:i32, undef:i32, undef:i32, undef:i32, %b18:p2:i32) block b19: %b19:i0:unit = nop @@ -23163,7 +24295,7 @@ block b24: %b24:p0:i32:t5 %b24:i0:unit = nop %b24:i1:unit = nop - j b18(%b24:p0:i32) + j b18(%b24:p0:i32, undef:i32, %b24:p0:i32) block b25: %b25:i0:unit = nop @@ -23179,7 +24311,7 @@ block b27: %b27:p0:i32:t6 %b27:i0:unit = nop %b27:i1:unit = nop - j b18(%b27:p0:i32) + j b18(undef:i32, %b27:p0:i32, %b27:p0:i32) block b28: %b28:i0:unit = nop @@ -23192,10 +24324,12 @@ block b29: br %b29:i1:u1, b37(), b38() block b30: - %b30:p0:i32:t11 + %b30:p0:i32:t9 + %b30:p1:i32:t10 + %b30:p2:i32:t11 %b30:i0:unit = nop %b30:i1:unit = nop - j b3(%b30:p0:i32) + j b3(undef:i32, undef:i32, undef:i32, undef:i32, %b33:p0:i32, %b30:p0:i32, %b30:p1:i32, %b30:p2:i32, %b30:p2:i32) block b31: %b31:i0:unit = nop @@ -23227,7 +24361,7 @@ block b36: %b36:p0:i32:t9 %b36:i0:unit = nop %b36:i1:unit = nop - j b30(%b36:p0:i32) + j b30(%b36:p0:i32, undef:i32, %b36:p0:i32) block b37: %b37:i0:unit = nop @@ -23243,7 +24377,7 @@ block b39: %b39:p0:i32:t10 %b39:i0:unit = nop %b39:i1:unit = nop - j b30(%b39:p0:i32) + j b30(undef:i32, %b39:p0:i32, %b39:p0:i32) } fun i32 @func_82 () { @@ -23334,9 +24468,17 @@ block b2: br %b2:i1:u1, b31(), b32() block b3: - %b3:p0:i32:t12 + %b3:p0:i32:t4 + %b3:p1:i32:t5 + %b3:p2:i32:t6 + %b3:p3:i32:t7 + %b3:p4:i32:t8 + %b3:p5:i32:t9 + %b3:p6:i32:t10 + %b3:p7:i32:t11 + %b3:p8:i32:t12 %b3:i0:unit = nop - %b3:i1:u1 = cmp eq %b3:p0:i32 1:i32 + %b3:i1:u1 = cmp eq %b3:p8:i32 1:i32 %b3:i2:i32 = typecast %b3:i1:u1 to i32 ret %b3:i2:i32 @@ -23351,9 +24493,11 @@ block b5: br %b5:i1:u1, b13(), b14() block b6: - %b6:p0:i32:t3 + %b6:p0:i32:t1 + %b6:p1:i32:t2 + %b6:p2:i32:t3 %b6:i0:unit = nop - %b6:i1:u1 = cmp ne %b6:p0:i32 0:i32 + %b6:i1:u1 = cmp ne %b6:p2:i32 0:i32 br %b6:i1:u1, b1(), b2() block b7: @@ -23386,7 +24530,7 @@ block b12: %b12:p0:i32:t1 %b12:i0:unit = nop %b12:i1:unit = nop - j b6(%b12:p0:i32) + j b6(%b12:p0:i32, undef:i32, %b12:p0:i32) block b13: %b13:i0:unit = nop @@ -23402,7 +24546,7 @@ block b15: %b15:p0:i32:t2 %b15:i0:unit = nop %b15:i1:unit = nop - j b6(%b15:p0:i32) + j b6(undef:i32, %b15:p0:i32, %b15:p0:i32) block b16: %b16:i0:unit = nop @@ -23415,10 +24559,12 @@ block b17: br %b17:i1:u1, b25(), b26() block b18: - %b18:p0:i32:t7 + %b18:p0:i32:t5 + %b18:p1:i32:t6 + %b18:p2:i32:t7 %b18:i0:unit = nop %b18:i1:unit = nop - j b3(%b18:p0:i32) + j b3(%b21:p0:i32, %b18:p0:i32, %b18:p1:i32, %b18:p2:i32, undef:i32, undef:i32, undef:i32, undef:i32, %b18:p2:i32) block b19: %b19:i0:unit = nop @@ -23450,7 +24596,7 @@ block b24: %b24:p0:i32:t5 %b24:i0:unit = nop %b24:i1:unit = nop - j b18(%b24:p0:i32) + j b18(%b24:p0:i32, undef:i32, %b24:p0:i32) block b25: %b25:i0:unit = nop @@ -23466,7 +24612,7 @@ block b27: %b27:p0:i32:t6 %b27:i0:unit = nop %b27:i1:unit = nop - j b18(%b27:p0:i32) + j b18(undef:i32, %b27:p0:i32, %b27:p0:i32) block b28: %b28:i0:unit = nop @@ -23479,10 +24625,12 @@ block b29: br %b29:i1:u1, b37(), b38() block b30: - %b30:p0:i32:t11 + %b30:p0:i32:t9 + %b30:p1:i32:t10 + %b30:p2:i32:t11 %b30:i0:unit = nop %b30:i1:unit = nop - j b3(%b30:p0:i32) + j b3(undef:i32, undef:i32, undef:i32, undef:i32, %b33:p0:i32, %b30:p0:i32, %b30:p1:i32, %b30:p2:i32, %b30:p2:i32) block b31: %b31:i0:unit = nop @@ -23514,7 +24662,7 @@ block b36: %b36:p0:i32:t9 %b36:i0:unit = nop %b36:i1:unit = nop - j b30(%b36:p0:i32) + j b30(%b36:p0:i32, undef:i32, %b36:p0:i32) block b37: %b37:i0:unit = nop @@ -23530,7 +24678,7 @@ block b39: %b39:p0:i32:t10 %b39:i0:unit = nop %b39:i1:unit = nop - j b30(%b39:p0:i32) + j b30(undef:i32, %b39:p0:i32, %b39:p0:i32) } fun i32 @func_83 () { @@ -23621,9 +24769,17 @@ block b2: br %b2:i1:u1, b31(), b32() block b3: - %b3:p0:i32:t12 + %b3:p0:i32:t4 + %b3:p1:i32:t5 + %b3:p2:i32:t6 + %b3:p3:i32:t7 + %b3:p4:i32:t8 + %b3:p5:i32:t9 + %b3:p6:i32:t10 + %b3:p7:i32:t11 + %b3:p8:i32:t12 %b3:i0:unit = nop - %b3:i1:u1 = cmp eq %b3:p0:i32 1:i32 + %b3:i1:u1 = cmp eq %b3:p8:i32 1:i32 %b3:i2:i32 = typecast %b3:i1:u1 to i32 ret %b3:i2:i32 @@ -23638,9 +24794,11 @@ block b5: br %b5:i1:u1, b13(), b14() block b6: - %b6:p0:i32:t3 + %b6:p0:i32:t1 + %b6:p1:i32:t2 + %b6:p2:i32:t3 %b6:i0:unit = nop - %b6:i1:u1 = cmp ne %b6:p0:i32 0:i32 + %b6:i1:u1 = cmp ne %b6:p2:i32 0:i32 br %b6:i1:u1, b1(), b2() block b7: @@ -23673,7 +24831,7 @@ block b12: %b12:p0:i32:t1 %b12:i0:unit = nop %b12:i1:unit = nop - j b6(%b12:p0:i32) + j b6(%b12:p0:i32, undef:i32, %b12:p0:i32) block b13: %b13:i0:unit = nop @@ -23689,7 +24847,7 @@ block b15: %b15:p0:i32:t2 %b15:i0:unit = nop %b15:i1:unit = nop - j b6(%b15:p0:i32) + j b6(undef:i32, %b15:p0:i32, %b15:p0:i32) block b16: %b16:i0:unit = nop @@ -23702,10 +24860,12 @@ block b17: br %b17:i1:u1, b25(), b26() block b18: - %b18:p0:i32:t7 + %b18:p0:i32:t5 + %b18:p1:i32:t6 + %b18:p2:i32:t7 %b18:i0:unit = nop %b18:i1:unit = nop - j b3(%b18:p0:i32) + j b3(%b21:p0:i32, %b18:p0:i32, %b18:p1:i32, %b18:p2:i32, undef:i32, undef:i32, undef:i32, undef:i32, %b18:p2:i32) block b19: %b19:i0:unit = nop @@ -23737,7 +24897,7 @@ block b24: %b24:p0:i32:t5 %b24:i0:unit = nop %b24:i1:unit = nop - j b18(%b24:p0:i32) + j b18(%b24:p0:i32, undef:i32, %b24:p0:i32) block b25: %b25:i0:unit = nop @@ -23753,7 +24913,7 @@ block b27: %b27:p0:i32:t6 %b27:i0:unit = nop %b27:i1:unit = nop - j b18(%b27:p0:i32) + j b18(undef:i32, %b27:p0:i32, %b27:p0:i32) block b28: %b28:i0:unit = nop @@ -23766,10 +24926,12 @@ block b29: br %b29:i1:u1, b37(), b38() block b30: - %b30:p0:i32:t11 + %b30:p0:i32:t9 + %b30:p1:i32:t10 + %b30:p2:i32:t11 %b30:i0:unit = nop %b30:i1:unit = nop - j b3(%b30:p0:i32) + j b3(undef:i32, undef:i32, undef:i32, undef:i32, %b33:p0:i32, %b30:p0:i32, %b30:p1:i32, %b30:p2:i32, %b30:p2:i32) block b31: %b31:i0:unit = nop @@ -23801,7 +24963,7 @@ block b36: %b36:p0:i32:t9 %b36:i0:unit = nop %b36:i1:unit = nop - j b30(%b36:p0:i32) + j b30(%b36:p0:i32, undef:i32, %b36:p0:i32) block b37: %b37:i0:unit = nop @@ -23817,7 +24979,7 @@ block b39: %b39:p0:i32:t10 %b39:i0:unit = nop %b39:i1:unit = nop - j b30(%b39:p0:i32) + j b30(undef:i32, %b39:p0:i32, %b39:p0:i32) } fun i32 @func_84 () { @@ -23908,9 +25070,17 @@ block b2: br %b2:i1:u1, b31(), b32() block b3: - %b3:p0:i32:t12 + %b3:p0:i32:t4 + %b3:p1:i32:t5 + %b3:p2:i32:t6 + %b3:p3:i32:t7 + %b3:p4:i32:t8 + %b3:p5:i32:t9 + %b3:p6:i32:t10 + %b3:p7:i32:t11 + %b3:p8:i32:t12 %b3:i0:unit = nop - %b3:i1:u1 = cmp eq %b3:p0:i32 1:i32 + %b3:i1:u1 = cmp eq %b3:p8:i32 1:i32 %b3:i2:i32 = typecast %b3:i1:u1 to i32 ret %b3:i2:i32 @@ -23925,9 +25095,11 @@ block b5: br %b5:i1:u1, b13(), b14() block b6: - %b6:p0:i32:t3 + %b6:p0:i32:t1 + %b6:p1:i32:t2 + %b6:p2:i32:t3 %b6:i0:unit = nop - %b6:i1:u1 = cmp ne %b6:p0:i32 0:i32 + %b6:i1:u1 = cmp ne %b6:p2:i32 0:i32 br %b6:i1:u1, b1(), b2() block b7: @@ -23960,7 +25132,7 @@ block b12: %b12:p0:i32:t1 %b12:i0:unit = nop %b12:i1:unit = nop - j b6(%b12:p0:i32) + j b6(%b12:p0:i32, undef:i32, %b12:p0:i32) block b13: %b13:i0:unit = nop @@ -23976,7 +25148,7 @@ block b15: %b15:p0:i32:t2 %b15:i0:unit = nop %b15:i1:unit = nop - j b6(%b15:p0:i32) + j b6(undef:i32, %b15:p0:i32, %b15:p0:i32) block b16: %b16:i0:unit = nop @@ -23989,10 +25161,12 @@ block b17: br %b17:i1:u1, b25(), b26() block b18: - %b18:p0:i32:t7 + %b18:p0:i32:t5 + %b18:p1:i32:t6 + %b18:p2:i32:t7 %b18:i0:unit = nop %b18:i1:unit = nop - j b3(%b18:p0:i32) + j b3(%b21:p0:i32, %b18:p0:i32, %b18:p1:i32, %b18:p2:i32, undef:i32, undef:i32, undef:i32, undef:i32, %b18:p2:i32) block b19: %b19:i0:unit = nop @@ -24024,7 +25198,7 @@ block b24: %b24:p0:i32:t5 %b24:i0:unit = nop %b24:i1:unit = nop - j b18(%b24:p0:i32) + j b18(%b24:p0:i32, undef:i32, %b24:p0:i32) block b25: %b25:i0:unit = nop @@ -24040,7 +25214,7 @@ block b27: %b27:p0:i32:t6 %b27:i0:unit = nop %b27:i1:unit = nop - j b18(%b27:p0:i32) + j b18(undef:i32, %b27:p0:i32, %b27:p0:i32) block b28: %b28:i0:unit = nop @@ -24053,10 +25227,12 @@ block b29: br %b29:i1:u1, b37(), b38() block b30: - %b30:p0:i32:t11 + %b30:p0:i32:t9 + %b30:p1:i32:t10 + %b30:p2:i32:t11 %b30:i0:unit = nop %b30:i1:unit = nop - j b3(%b30:p0:i32) + j b3(undef:i32, undef:i32, undef:i32, undef:i32, %b33:p0:i32, %b30:p0:i32, %b30:p1:i32, %b30:p2:i32, %b30:p2:i32) block b31: %b31:i0:unit = nop @@ -24088,7 +25264,7 @@ block b36: %b36:p0:i32:t9 %b36:i0:unit = nop %b36:i1:unit = nop - j b30(%b36:p0:i32) + j b30(%b36:p0:i32, undef:i32, %b36:p0:i32) block b37: %b37:i0:unit = nop @@ -24104,7 +25280,7 @@ block b39: %b39:p0:i32:t10 %b39:i0:unit = nop %b39:i1:unit = nop - j b30(%b39:p0:i32) + j b30(undef:i32, %b39:p0:i32, %b39:p0:i32) } fun i32 @func_85 () { @@ -24195,9 +25371,17 @@ block b2: br %b2:i1:u1, b31(), b32() block b3: - %b3:p0:i32:t12 + %b3:p0:i32:t4 + %b3:p1:i32:t5 + %b3:p2:i32:t6 + %b3:p3:i32:t7 + %b3:p4:i32:t8 + %b3:p5:i32:t9 + %b3:p6:i32:t10 + %b3:p7:i32:t11 + %b3:p8:i32:t12 %b3:i0:unit = nop - %b3:i1:u1 = cmp eq %b3:p0:i32 1:i32 + %b3:i1:u1 = cmp eq %b3:p8:i32 1:i32 %b3:i2:i32 = typecast %b3:i1:u1 to i32 ret %b3:i2:i32 @@ -24212,9 +25396,11 @@ block b5: br %b5:i1:u1, b13(), b14() block b6: - %b6:p0:i32:t3 + %b6:p0:i32:t1 + %b6:p1:i32:t2 + %b6:p2:i32:t3 %b6:i0:unit = nop - %b6:i1:u1 = cmp ne %b6:p0:i32 0:i32 + %b6:i1:u1 = cmp ne %b6:p2:i32 0:i32 br %b6:i1:u1, b1(), b2() block b7: @@ -24247,7 +25433,7 @@ block b12: %b12:p0:i32:t1 %b12:i0:unit = nop %b12:i1:unit = nop - j b6(%b12:p0:i32) + j b6(%b12:p0:i32, undef:i32, %b12:p0:i32) block b13: %b13:i0:unit = nop @@ -24263,7 +25449,7 @@ block b15: %b15:p0:i32:t2 %b15:i0:unit = nop %b15:i1:unit = nop - j b6(%b15:p0:i32) + j b6(undef:i32, %b15:p0:i32, %b15:p0:i32) block b16: %b16:i0:unit = nop @@ -24276,10 +25462,12 @@ block b17: br %b17:i1:u1, b25(), b26() block b18: - %b18:p0:i32:t7 + %b18:p0:i32:t5 + %b18:p1:i32:t6 + %b18:p2:i32:t7 %b18:i0:unit = nop %b18:i1:unit = nop - j b3(%b18:p0:i32) + j b3(%b21:p0:i32, %b18:p0:i32, %b18:p1:i32, %b18:p2:i32, undef:i32, undef:i32, undef:i32, undef:i32, %b18:p2:i32) block b19: %b19:i0:unit = nop @@ -24311,7 +25499,7 @@ block b24: %b24:p0:i32:t5 %b24:i0:unit = nop %b24:i1:unit = nop - j b18(%b24:p0:i32) + j b18(%b24:p0:i32, undef:i32, %b24:p0:i32) block b25: %b25:i0:unit = nop @@ -24327,7 +25515,7 @@ block b27: %b27:p0:i32:t6 %b27:i0:unit = nop %b27:i1:unit = nop - j b18(%b27:p0:i32) + j b18(undef:i32, %b27:p0:i32, %b27:p0:i32) block b28: %b28:i0:unit = nop @@ -24340,10 +25528,12 @@ block b29: br %b29:i1:u1, b37(), b38() block b30: - %b30:p0:i32:t11 + %b30:p0:i32:t9 + %b30:p1:i32:t10 + %b30:p2:i32:t11 %b30:i0:unit = nop %b30:i1:unit = nop - j b3(%b30:p0:i32) + j b3(undef:i32, undef:i32, undef:i32, undef:i32, %b33:p0:i32, %b30:p0:i32, %b30:p1:i32, %b30:p2:i32, %b30:p2:i32) block b31: %b31:i0:unit = nop @@ -24375,7 +25565,7 @@ block b36: %b36:p0:i32:t9 %b36:i0:unit = nop %b36:i1:unit = nop - j b30(%b36:p0:i32) + j b30(%b36:p0:i32, undef:i32, %b36:p0:i32) block b37: %b37:i0:unit = nop @@ -24391,7 +25581,7 @@ block b39: %b39:p0:i32:t10 %b39:i0:unit = nop %b39:i1:unit = nop - j b30(%b39:p0:i32) + j b30(undef:i32, %b39:p0:i32, %b39:p0:i32) } fun i32 @func_86 () { @@ -24482,9 +25672,17 @@ block b2: br %b2:i1:u1, b31(), b32() block b3: - %b3:p0:i32:t12 + %b3:p0:i32:t4 + %b3:p1:i32:t5 + %b3:p2:i32:t6 + %b3:p3:i32:t7 + %b3:p4:i32:t8 + %b3:p5:i32:t9 + %b3:p6:i32:t10 + %b3:p7:i32:t11 + %b3:p8:i32:t12 %b3:i0:unit = nop - %b3:i1:u1 = cmp eq %b3:p0:i32 1:i32 + %b3:i1:u1 = cmp eq %b3:p8:i32 1:i32 %b3:i2:i32 = typecast %b3:i1:u1 to i32 ret %b3:i2:i32 @@ -24499,9 +25697,11 @@ block b5: br %b5:i1:u1, b13(), b14() block b6: - %b6:p0:i32:t3 + %b6:p0:i32:t1 + %b6:p1:i32:t2 + %b6:p2:i32:t3 %b6:i0:unit = nop - %b6:i1:u1 = cmp ne %b6:p0:i32 0:i32 + %b6:i1:u1 = cmp ne %b6:p2:i32 0:i32 br %b6:i1:u1, b1(), b2() block b7: @@ -24534,7 +25734,7 @@ block b12: %b12:p0:i32:t1 %b12:i0:unit = nop %b12:i1:unit = nop - j b6(%b12:p0:i32) + j b6(%b12:p0:i32, undef:i32, %b12:p0:i32) block b13: %b13:i0:unit = nop @@ -24550,7 +25750,7 @@ block b15: %b15:p0:i32:t2 %b15:i0:unit = nop %b15:i1:unit = nop - j b6(%b15:p0:i32) + j b6(undef:i32, %b15:p0:i32, %b15:p0:i32) block b16: %b16:i0:unit = nop @@ -24563,10 +25763,12 @@ block b17: br %b17:i1:u1, b25(), b26() block b18: - %b18:p0:i32:t7 + %b18:p0:i32:t5 + %b18:p1:i32:t6 + %b18:p2:i32:t7 %b18:i0:unit = nop %b18:i1:unit = nop - j b3(%b18:p0:i32) + j b3(%b21:p0:i32, %b18:p0:i32, %b18:p1:i32, %b18:p2:i32, undef:i32, undef:i32, undef:i32, undef:i32, %b18:p2:i32) block b19: %b19:i0:unit = nop @@ -24598,7 +25800,7 @@ block b24: %b24:p0:i32:t5 %b24:i0:unit = nop %b24:i1:unit = nop - j b18(%b24:p0:i32) + j b18(%b24:p0:i32, undef:i32, %b24:p0:i32) block b25: %b25:i0:unit = nop @@ -24614,7 +25816,7 @@ block b27: %b27:p0:i32:t6 %b27:i0:unit = nop %b27:i1:unit = nop - j b18(%b27:p0:i32) + j b18(undef:i32, %b27:p0:i32, %b27:p0:i32) block b28: %b28:i0:unit = nop @@ -24627,10 +25829,12 @@ block b29: br %b29:i1:u1, b37(), b38() block b30: - %b30:p0:i32:t11 + %b30:p0:i32:t9 + %b30:p1:i32:t10 + %b30:p2:i32:t11 %b30:i0:unit = nop %b30:i1:unit = nop - j b3(%b30:p0:i32) + j b3(undef:i32, undef:i32, undef:i32, undef:i32, %b33:p0:i32, %b30:p0:i32, %b30:p1:i32, %b30:p2:i32, %b30:p2:i32) block b31: %b31:i0:unit = nop @@ -24662,7 +25866,7 @@ block b36: %b36:p0:i32:t9 %b36:i0:unit = nop %b36:i1:unit = nop - j b30(%b36:p0:i32) + j b30(%b36:p0:i32, undef:i32, %b36:p0:i32) block b37: %b37:i0:unit = nop @@ -24678,7 +25882,7 @@ block b39: %b39:p0:i32:t10 %b39:i0:unit = nop %b39:i1:unit = nop - j b30(%b39:p0:i32) + j b30(undef:i32, %b39:p0:i32, %b39:p0:i32) } fun i32 @func_87 () { @@ -24769,9 +25973,17 @@ block b2: br %b2:i1:u1, b31(), b32() block b3: - %b3:p0:i32:t12 + %b3:p0:i32:t4 + %b3:p1:i32:t5 + %b3:p2:i32:t6 + %b3:p3:i32:t7 + %b3:p4:i32:t8 + %b3:p5:i32:t9 + %b3:p6:i32:t10 + %b3:p7:i32:t11 + %b3:p8:i32:t12 %b3:i0:unit = nop - %b3:i1:u1 = cmp eq %b3:p0:i32 1:i32 + %b3:i1:u1 = cmp eq %b3:p8:i32 1:i32 %b3:i2:i32 = typecast %b3:i1:u1 to i32 ret %b3:i2:i32 @@ -24786,9 +25998,11 @@ block b5: br %b5:i1:u1, b13(), b14() block b6: - %b6:p0:i32:t3 + %b6:p0:i32:t1 + %b6:p1:i32:t2 + %b6:p2:i32:t3 %b6:i0:unit = nop - %b6:i1:u1 = cmp ne %b6:p0:i32 0:i32 + %b6:i1:u1 = cmp ne %b6:p2:i32 0:i32 br %b6:i1:u1, b1(), b2() block b7: @@ -24821,7 +26035,7 @@ block b12: %b12:p0:i32:t1 %b12:i0:unit = nop %b12:i1:unit = nop - j b6(%b12:p0:i32) + j b6(%b12:p0:i32, undef:i32, %b12:p0:i32) block b13: %b13:i0:unit = nop @@ -24837,7 +26051,7 @@ block b15: %b15:p0:i32:t2 %b15:i0:unit = nop %b15:i1:unit = nop - j b6(%b15:p0:i32) + j b6(undef:i32, %b15:p0:i32, %b15:p0:i32) block b16: %b16:i0:unit = nop @@ -24850,10 +26064,12 @@ block b17: br %b17:i1:u1, b25(), b26() block b18: - %b18:p0:i32:t7 + %b18:p0:i32:t5 + %b18:p1:i32:t6 + %b18:p2:i32:t7 %b18:i0:unit = nop %b18:i1:unit = nop - j b3(%b18:p0:i32) + j b3(%b21:p0:i32, %b18:p0:i32, %b18:p1:i32, %b18:p2:i32, undef:i32, undef:i32, undef:i32, undef:i32, %b18:p2:i32) block b19: %b19:i0:unit = nop @@ -24885,7 +26101,7 @@ block b24: %b24:p0:i32:t5 %b24:i0:unit = nop %b24:i1:unit = nop - j b18(%b24:p0:i32) + j b18(%b24:p0:i32, undef:i32, %b24:p0:i32) block b25: %b25:i0:unit = nop @@ -24901,7 +26117,7 @@ block b27: %b27:p0:i32:t6 %b27:i0:unit = nop %b27:i1:unit = nop - j b18(%b27:p0:i32) + j b18(undef:i32, %b27:p0:i32, %b27:p0:i32) block b28: %b28:i0:unit = nop @@ -24914,10 +26130,12 @@ block b29: br %b29:i1:u1, b37(), b38() block b30: - %b30:p0:i32:t11 + %b30:p0:i32:t9 + %b30:p1:i32:t10 + %b30:p2:i32:t11 %b30:i0:unit = nop %b30:i1:unit = nop - j b3(%b30:p0:i32) + j b3(undef:i32, undef:i32, undef:i32, undef:i32, %b33:p0:i32, %b30:p0:i32, %b30:p1:i32, %b30:p2:i32, %b30:p2:i32) block b31: %b31:i0:unit = nop @@ -24949,7 +26167,7 @@ block b36: %b36:p0:i32:t9 %b36:i0:unit = nop %b36:i1:unit = nop - j b30(%b36:p0:i32) + j b30(%b36:p0:i32, undef:i32, %b36:p0:i32) block b37: %b37:i0:unit = nop @@ -24965,7 +26183,7 @@ block b39: %b39:p0:i32:t10 %b39:i0:unit = nop %b39:i1:unit = nop - j b30(%b39:p0:i32) + j b30(undef:i32, %b39:p0:i32, %b39:p0:i32) } fun i32 @func_88 () { @@ -25056,9 +26274,17 @@ block b2: br %b2:i1:u1, b31(), b32() block b3: - %b3:p0:i32:t12 + %b3:p0:i32:t4 + %b3:p1:i32:t5 + %b3:p2:i32:t6 + %b3:p3:i32:t7 + %b3:p4:i32:t8 + %b3:p5:i32:t9 + %b3:p6:i32:t10 + %b3:p7:i32:t11 + %b3:p8:i32:t12 %b3:i0:unit = nop - %b3:i1:u1 = cmp eq %b3:p0:i32 1:i32 + %b3:i1:u1 = cmp eq %b3:p8:i32 1:i32 %b3:i2:i32 = typecast %b3:i1:u1 to i32 ret %b3:i2:i32 @@ -25073,9 +26299,11 @@ block b5: br %b5:i1:u1, b13(), b14() block b6: - %b6:p0:i32:t3 + %b6:p0:i32:t1 + %b6:p1:i32:t2 + %b6:p2:i32:t3 %b6:i0:unit = nop - %b6:i1:u1 = cmp ne %b6:p0:i32 0:i32 + %b6:i1:u1 = cmp ne %b6:p2:i32 0:i32 br %b6:i1:u1, b1(), b2() block b7: @@ -25108,7 +26336,7 @@ block b12: %b12:p0:i32:t1 %b12:i0:unit = nop %b12:i1:unit = nop - j b6(%b12:p0:i32) + j b6(%b12:p0:i32, undef:i32, %b12:p0:i32) block b13: %b13:i0:unit = nop @@ -25124,7 +26352,7 @@ block b15: %b15:p0:i32:t2 %b15:i0:unit = nop %b15:i1:unit = nop - j b6(%b15:p0:i32) + j b6(undef:i32, %b15:p0:i32, %b15:p0:i32) block b16: %b16:i0:unit = nop @@ -25137,10 +26365,12 @@ block b17: br %b17:i1:u1, b25(), b26() block b18: - %b18:p0:i32:t7 + %b18:p0:i32:t5 + %b18:p1:i32:t6 + %b18:p2:i32:t7 %b18:i0:unit = nop %b18:i1:unit = nop - j b3(%b18:p0:i32) + j b3(%b21:p0:i32, %b18:p0:i32, %b18:p1:i32, %b18:p2:i32, undef:i32, undef:i32, undef:i32, undef:i32, %b18:p2:i32) block b19: %b19:i0:unit = nop @@ -25172,7 +26402,7 @@ block b24: %b24:p0:i32:t5 %b24:i0:unit = nop %b24:i1:unit = nop - j b18(%b24:p0:i32) + j b18(%b24:p0:i32, undef:i32, %b24:p0:i32) block b25: %b25:i0:unit = nop @@ -25188,7 +26418,7 @@ block b27: %b27:p0:i32:t6 %b27:i0:unit = nop %b27:i1:unit = nop - j b18(%b27:p0:i32) + j b18(undef:i32, %b27:p0:i32, %b27:p0:i32) block b28: %b28:i0:unit = nop @@ -25201,10 +26431,12 @@ block b29: br %b29:i1:u1, b37(), b38() block b30: - %b30:p0:i32:t11 + %b30:p0:i32:t9 + %b30:p1:i32:t10 + %b30:p2:i32:t11 %b30:i0:unit = nop %b30:i1:unit = nop - j b3(%b30:p0:i32) + j b3(undef:i32, undef:i32, undef:i32, undef:i32, %b33:p0:i32, %b30:p0:i32, %b30:p1:i32, %b30:p2:i32, %b30:p2:i32) block b31: %b31:i0:unit = nop @@ -25236,7 +26468,7 @@ block b36: %b36:p0:i32:t9 %b36:i0:unit = nop %b36:i1:unit = nop - j b30(%b36:p0:i32) + j b30(%b36:p0:i32, undef:i32, %b36:p0:i32) block b37: %b37:i0:unit = nop @@ -25252,7 +26484,7 @@ block b39: %b39:p0:i32:t10 %b39:i0:unit = nop %b39:i1:unit = nop - j b30(%b39:p0:i32) + j b30(undef:i32, %b39:p0:i32, %b39:p0:i32) } fun i32 @func_89 () { @@ -25343,9 +26575,17 @@ block b2: br %b2:i1:u1, b31(), b32() block b3: - %b3:p0:i32:t12 + %b3:p0:i32:t4 + %b3:p1:i32:t5 + %b3:p2:i32:t6 + %b3:p3:i32:t7 + %b3:p4:i32:t8 + %b3:p5:i32:t9 + %b3:p6:i32:t10 + %b3:p7:i32:t11 + %b3:p8:i32:t12 %b3:i0:unit = nop - %b3:i1:u1 = cmp eq %b3:p0:i32 0:i32 + %b3:i1:u1 = cmp eq %b3:p8:i32 0:i32 %b3:i2:i32 = typecast %b3:i1:u1 to i32 ret %b3:i2:i32 @@ -25360,9 +26600,11 @@ block b5: br %b5:i1:u1, b13(), b14() block b6: - %b6:p0:i32:t3 + %b6:p0:i32:t1 + %b6:p1:i32:t2 + %b6:p2:i32:t3 %b6:i0:unit = nop - %b6:i1:u1 = cmp ne %b6:p0:i32 0:i32 + %b6:i1:u1 = cmp ne %b6:p2:i32 0:i32 br %b6:i1:u1, b1(), b2() block b7: @@ -25395,7 +26637,7 @@ block b12: %b12:p0:i32:t1 %b12:i0:unit = nop %b12:i1:unit = nop - j b6(%b12:p0:i32) + j b6(%b12:p0:i32, undef:i32, %b12:p0:i32) block b13: %b13:i0:unit = nop @@ -25411,7 +26653,7 @@ block b15: %b15:p0:i32:t2 %b15:i0:unit = nop %b15:i1:unit = nop - j b6(%b15:p0:i32) + j b6(undef:i32, %b15:p0:i32, %b15:p0:i32) block b16: %b16:i0:unit = nop @@ -25424,10 +26666,12 @@ block b17: br %b17:i1:u1, b25(), b26() block b18: - %b18:p0:i32:t7 + %b18:p0:i32:t5 + %b18:p1:i32:t6 + %b18:p2:i32:t7 %b18:i0:unit = nop %b18:i1:unit = nop - j b3(%b18:p0:i32) + j b3(%b21:p0:i32, %b18:p0:i32, %b18:p1:i32, %b18:p2:i32, undef:i32, undef:i32, undef:i32, undef:i32, %b18:p2:i32) block b19: %b19:i0:unit = nop @@ -25459,7 +26703,7 @@ block b24: %b24:p0:i32:t5 %b24:i0:unit = nop %b24:i1:unit = nop - j b18(%b24:p0:i32) + j b18(%b24:p0:i32, undef:i32, %b24:p0:i32) block b25: %b25:i0:unit = nop @@ -25475,7 +26719,7 @@ block b27: %b27:p0:i32:t6 %b27:i0:unit = nop %b27:i1:unit = nop - j b18(%b27:p0:i32) + j b18(undef:i32, %b27:p0:i32, %b27:p0:i32) block b28: %b28:i0:unit = nop @@ -25488,10 +26732,12 @@ block b29: br %b29:i1:u1, b37(), b38() block b30: - %b30:p0:i32:t11 + %b30:p0:i32:t9 + %b30:p1:i32:t10 + %b30:p2:i32:t11 %b30:i0:unit = nop %b30:i1:unit = nop - j b3(%b30:p0:i32) + j b3(undef:i32, undef:i32, undef:i32, undef:i32, %b33:p0:i32, %b30:p0:i32, %b30:p1:i32, %b30:p2:i32, %b30:p2:i32) block b31: %b31:i0:unit = nop @@ -25523,7 +26769,7 @@ block b36: %b36:p0:i32:t9 %b36:i0:unit = nop %b36:i1:unit = nop - j b30(%b36:p0:i32) + j b30(%b36:p0:i32, undef:i32, %b36:p0:i32) block b37: %b37:i0:unit = nop @@ -25539,7 +26785,7 @@ block b39: %b39:p0:i32:t10 %b39:i0:unit = nop %b39:i1:unit = nop - j b30(%b39:p0:i32) + j b30(undef:i32, %b39:p0:i32, %b39:p0:i32) } fun i32 @func_9 () { @@ -25630,9 +26876,17 @@ block b2: br %b2:i1:u1, b31(), b32() block b3: - %b3:p0:i32:t12 + %b3:p0:i32:t4 + %b3:p1:i32:t5 + %b3:p2:i32:t6 + %b3:p3:i32:t7 + %b3:p4:i32:t8 + %b3:p5:i32:t9 + %b3:p6:i32:t10 + %b3:p7:i32:t11 + %b3:p8:i32:t12 %b3:i0:unit = nop - %b3:i1:u1 = cmp eq %b3:p0:i32 0:i32 + %b3:i1:u1 = cmp eq %b3:p8:i32 0:i32 %b3:i2:i32 = typecast %b3:i1:u1 to i32 ret %b3:i2:i32 @@ -25647,9 +26901,11 @@ block b5: br %b5:i1:u1, b13(), b14() block b6: - %b6:p0:i32:t3 + %b6:p0:i32:t1 + %b6:p1:i32:t2 + %b6:p2:i32:t3 %b6:i0:unit = nop - %b6:i1:u1 = cmp ne %b6:p0:i32 0:i32 + %b6:i1:u1 = cmp ne %b6:p2:i32 0:i32 br %b6:i1:u1, b1(), b2() block b7: @@ -25682,7 +26938,7 @@ block b12: %b12:p0:i32:t1 %b12:i0:unit = nop %b12:i1:unit = nop - j b6(%b12:p0:i32) + j b6(%b12:p0:i32, undef:i32, %b12:p0:i32) block b13: %b13:i0:unit = nop @@ -25698,7 +26954,7 @@ block b15: %b15:p0:i32:t2 %b15:i0:unit = nop %b15:i1:unit = nop - j b6(%b15:p0:i32) + j b6(undef:i32, %b15:p0:i32, %b15:p0:i32) block b16: %b16:i0:unit = nop @@ -25711,10 +26967,12 @@ block b17: br %b17:i1:u1, b25(), b26() block b18: - %b18:p0:i32:t7 + %b18:p0:i32:t5 + %b18:p1:i32:t6 + %b18:p2:i32:t7 %b18:i0:unit = nop %b18:i1:unit = nop - j b3(%b18:p0:i32) + j b3(%b21:p0:i32, %b18:p0:i32, %b18:p1:i32, %b18:p2:i32, undef:i32, undef:i32, undef:i32, undef:i32, %b18:p2:i32) block b19: %b19:i0:unit = nop @@ -25746,7 +27004,7 @@ block b24: %b24:p0:i32:t5 %b24:i0:unit = nop %b24:i1:unit = nop - j b18(%b24:p0:i32) + j b18(%b24:p0:i32, undef:i32, %b24:p0:i32) block b25: %b25:i0:unit = nop @@ -25762,7 +27020,7 @@ block b27: %b27:p0:i32:t6 %b27:i0:unit = nop %b27:i1:unit = nop - j b18(%b27:p0:i32) + j b18(undef:i32, %b27:p0:i32, %b27:p0:i32) block b28: %b28:i0:unit = nop @@ -25775,10 +27033,12 @@ block b29: br %b29:i1:u1, b37(), b38() block b30: - %b30:p0:i32:t11 + %b30:p0:i32:t9 + %b30:p1:i32:t10 + %b30:p2:i32:t11 %b30:i0:unit = nop %b30:i1:unit = nop - j b3(%b30:p0:i32) + j b3(undef:i32, undef:i32, undef:i32, undef:i32, %b33:p0:i32, %b30:p0:i32, %b30:p1:i32, %b30:p2:i32, %b30:p2:i32) block b31: %b31:i0:unit = nop @@ -25810,7 +27070,7 @@ block b36: %b36:p0:i32:t9 %b36:i0:unit = nop %b36:i1:unit = nop - j b30(%b36:p0:i32) + j b30(%b36:p0:i32, undef:i32, %b36:p0:i32) block b37: %b37:i0:unit = nop @@ -25826,7 +27086,7 @@ block b39: %b39:p0:i32:t10 %b39:i0:unit = nop %b39:i1:unit = nop - j b30(%b39:p0:i32) + j b30(undef:i32, %b39:p0:i32, %b39:p0:i32) } fun i32 @func_90 () { @@ -25917,9 +27177,17 @@ block b2: br %b2:i1:u1, b31(), b32() block b3: - %b3:p0:i32:t12 + %b3:p0:i32:t4 + %b3:p1:i32:t5 + %b3:p2:i32:t6 + %b3:p3:i32:t7 + %b3:p4:i32:t8 + %b3:p5:i32:t9 + %b3:p6:i32:t10 + %b3:p7:i32:t11 + %b3:p8:i32:t12 %b3:i0:unit = nop - %b3:i1:u1 = cmp eq %b3:p0:i32 0:i32 + %b3:i1:u1 = cmp eq %b3:p8:i32 0:i32 %b3:i2:i32 = typecast %b3:i1:u1 to i32 ret %b3:i2:i32 @@ -25934,9 +27202,11 @@ block b5: br %b5:i1:u1, b13(), b14() block b6: - %b6:p0:i32:t3 + %b6:p0:i32:t1 + %b6:p1:i32:t2 + %b6:p2:i32:t3 %b6:i0:unit = nop - %b6:i1:u1 = cmp ne %b6:p0:i32 0:i32 + %b6:i1:u1 = cmp ne %b6:p2:i32 0:i32 br %b6:i1:u1, b1(), b2() block b7: @@ -25969,7 +27239,7 @@ block b12: %b12:p0:i32:t1 %b12:i0:unit = nop %b12:i1:unit = nop - j b6(%b12:p0:i32) + j b6(%b12:p0:i32, undef:i32, %b12:p0:i32) block b13: %b13:i0:unit = nop @@ -25985,7 +27255,7 @@ block b15: %b15:p0:i32:t2 %b15:i0:unit = nop %b15:i1:unit = nop - j b6(%b15:p0:i32) + j b6(undef:i32, %b15:p0:i32, %b15:p0:i32) block b16: %b16:i0:unit = nop @@ -25998,10 +27268,12 @@ block b17: br %b17:i1:u1, b25(), b26() block b18: - %b18:p0:i32:t7 + %b18:p0:i32:t5 + %b18:p1:i32:t6 + %b18:p2:i32:t7 %b18:i0:unit = nop %b18:i1:unit = nop - j b3(%b18:p0:i32) + j b3(%b21:p0:i32, %b18:p0:i32, %b18:p1:i32, %b18:p2:i32, undef:i32, undef:i32, undef:i32, undef:i32, %b18:p2:i32) block b19: %b19:i0:unit = nop @@ -26033,7 +27305,7 @@ block b24: %b24:p0:i32:t5 %b24:i0:unit = nop %b24:i1:unit = nop - j b18(%b24:p0:i32) + j b18(%b24:p0:i32, undef:i32, %b24:p0:i32) block b25: %b25:i0:unit = nop @@ -26049,7 +27321,7 @@ block b27: %b27:p0:i32:t6 %b27:i0:unit = nop %b27:i1:unit = nop - j b18(%b27:p0:i32) + j b18(undef:i32, %b27:p0:i32, %b27:p0:i32) block b28: %b28:i0:unit = nop @@ -26062,10 +27334,12 @@ block b29: br %b29:i1:u1, b37(), b38() block b30: - %b30:p0:i32:t11 + %b30:p0:i32:t9 + %b30:p1:i32:t10 + %b30:p2:i32:t11 %b30:i0:unit = nop %b30:i1:unit = nop - j b3(%b30:p0:i32) + j b3(undef:i32, undef:i32, undef:i32, undef:i32, %b33:p0:i32, %b30:p0:i32, %b30:p1:i32, %b30:p2:i32, %b30:p2:i32) block b31: %b31:i0:unit = nop @@ -26097,7 +27371,7 @@ block b36: %b36:p0:i32:t9 %b36:i0:unit = nop %b36:i1:unit = nop - j b30(%b36:p0:i32) + j b30(%b36:p0:i32, undef:i32, %b36:p0:i32) block b37: %b37:i0:unit = nop @@ -26113,7 +27387,7 @@ block b39: %b39:p0:i32:t10 %b39:i0:unit = nop %b39:i1:unit = nop - j b30(%b39:p0:i32) + j b30(undef:i32, %b39:p0:i32, %b39:p0:i32) } fun i32 @func_91 () { @@ -26204,9 +27478,17 @@ block b2: br %b2:i1:u1, b31(), b32() block b3: - %b3:p0:i32:t12 + %b3:p0:i32:t4 + %b3:p1:i32:t5 + %b3:p2:i32:t6 + %b3:p3:i32:t7 + %b3:p4:i32:t8 + %b3:p5:i32:t9 + %b3:p6:i32:t10 + %b3:p7:i32:t11 + %b3:p8:i32:t12 %b3:i0:unit = nop - %b3:i1:u1 = cmp eq %b3:p0:i32 1:i32 + %b3:i1:u1 = cmp eq %b3:p8:i32 1:i32 %b3:i2:i32 = typecast %b3:i1:u1 to i32 ret %b3:i2:i32 @@ -26221,9 +27503,11 @@ block b5: br %b5:i1:u1, b13(), b14() block b6: - %b6:p0:i32:t3 + %b6:p0:i32:t1 + %b6:p1:i32:t2 + %b6:p2:i32:t3 %b6:i0:unit = nop - %b6:i1:u1 = cmp ne %b6:p0:i32 0:i32 + %b6:i1:u1 = cmp ne %b6:p2:i32 0:i32 br %b6:i1:u1, b1(), b2() block b7: @@ -26256,7 +27540,7 @@ block b12: %b12:p0:i32:t1 %b12:i0:unit = nop %b12:i1:unit = nop - j b6(%b12:p0:i32) + j b6(%b12:p0:i32, undef:i32, %b12:p0:i32) block b13: %b13:i0:unit = nop @@ -26272,7 +27556,7 @@ block b15: %b15:p0:i32:t2 %b15:i0:unit = nop %b15:i1:unit = nop - j b6(%b15:p0:i32) + j b6(undef:i32, %b15:p0:i32, %b15:p0:i32) block b16: %b16:i0:unit = nop @@ -26285,10 +27569,12 @@ block b17: br %b17:i1:u1, b25(), b26() block b18: - %b18:p0:i32:t7 + %b18:p0:i32:t5 + %b18:p1:i32:t6 + %b18:p2:i32:t7 %b18:i0:unit = nop %b18:i1:unit = nop - j b3(%b18:p0:i32) + j b3(%b21:p0:i32, %b18:p0:i32, %b18:p1:i32, %b18:p2:i32, undef:i32, undef:i32, undef:i32, undef:i32, %b18:p2:i32) block b19: %b19:i0:unit = nop @@ -26320,7 +27606,7 @@ block b24: %b24:p0:i32:t5 %b24:i0:unit = nop %b24:i1:unit = nop - j b18(%b24:p0:i32) + j b18(%b24:p0:i32, undef:i32, %b24:p0:i32) block b25: %b25:i0:unit = nop @@ -26336,7 +27622,7 @@ block b27: %b27:p0:i32:t6 %b27:i0:unit = nop %b27:i1:unit = nop - j b18(%b27:p0:i32) + j b18(undef:i32, %b27:p0:i32, %b27:p0:i32) block b28: %b28:i0:unit = nop @@ -26349,10 +27635,12 @@ block b29: br %b29:i1:u1, b37(), b38() block b30: - %b30:p0:i32:t11 + %b30:p0:i32:t9 + %b30:p1:i32:t10 + %b30:p2:i32:t11 %b30:i0:unit = nop %b30:i1:unit = nop - j b3(%b30:p0:i32) + j b3(undef:i32, undef:i32, undef:i32, undef:i32, %b33:p0:i32, %b30:p0:i32, %b30:p1:i32, %b30:p2:i32, %b30:p2:i32) block b31: %b31:i0:unit = nop @@ -26384,7 +27672,7 @@ block b36: %b36:p0:i32:t9 %b36:i0:unit = nop %b36:i1:unit = nop - j b30(%b36:p0:i32) + j b30(%b36:p0:i32, undef:i32, %b36:p0:i32) block b37: %b37:i0:unit = nop @@ -26400,7 +27688,7 @@ block b39: %b39:p0:i32:t10 %b39:i0:unit = nop %b39:i1:unit = nop - j b30(%b39:p0:i32) + j b30(undef:i32, %b39:p0:i32, %b39:p0:i32) } fun i32 @func_92 () { @@ -26491,9 +27779,17 @@ block b2: br %b2:i1:u1, b31(), b32() block b3: - %b3:p0:i32:t12 + %b3:p0:i32:t4 + %b3:p1:i32:t5 + %b3:p2:i32:t6 + %b3:p3:i32:t7 + %b3:p4:i32:t8 + %b3:p5:i32:t9 + %b3:p6:i32:t10 + %b3:p7:i32:t11 + %b3:p8:i32:t12 %b3:i0:unit = nop - %b3:i1:u1 = cmp eq %b3:p0:i32 0:i32 + %b3:i1:u1 = cmp eq %b3:p8:i32 0:i32 %b3:i2:i32 = typecast %b3:i1:u1 to i32 ret %b3:i2:i32 @@ -26508,9 +27804,11 @@ block b5: br %b5:i1:u1, b13(), b14() block b6: - %b6:p0:i32:t3 + %b6:p0:i32:t1 + %b6:p1:i32:t2 + %b6:p2:i32:t3 %b6:i0:unit = nop - %b6:i1:u1 = cmp ne %b6:p0:i32 0:i32 + %b6:i1:u1 = cmp ne %b6:p2:i32 0:i32 br %b6:i1:u1, b1(), b2() block b7: @@ -26543,7 +27841,7 @@ block b12: %b12:p0:i32:t1 %b12:i0:unit = nop %b12:i1:unit = nop - j b6(%b12:p0:i32) + j b6(%b12:p0:i32, undef:i32, %b12:p0:i32) block b13: %b13:i0:unit = nop @@ -26559,7 +27857,7 @@ block b15: %b15:p0:i32:t2 %b15:i0:unit = nop %b15:i1:unit = nop - j b6(%b15:p0:i32) + j b6(undef:i32, %b15:p0:i32, %b15:p0:i32) block b16: %b16:i0:unit = nop @@ -26572,10 +27870,12 @@ block b17: br %b17:i1:u1, b25(), b26() block b18: - %b18:p0:i32:t7 + %b18:p0:i32:t5 + %b18:p1:i32:t6 + %b18:p2:i32:t7 %b18:i0:unit = nop %b18:i1:unit = nop - j b3(%b18:p0:i32) + j b3(%b21:p0:i32, %b18:p0:i32, %b18:p1:i32, %b18:p2:i32, undef:i32, undef:i32, undef:i32, undef:i32, %b18:p2:i32) block b19: %b19:i0:unit = nop @@ -26607,7 +27907,7 @@ block b24: %b24:p0:i32:t5 %b24:i0:unit = nop %b24:i1:unit = nop - j b18(%b24:p0:i32) + j b18(%b24:p0:i32, undef:i32, %b24:p0:i32) block b25: %b25:i0:unit = nop @@ -26623,7 +27923,7 @@ block b27: %b27:p0:i32:t6 %b27:i0:unit = nop %b27:i1:unit = nop - j b18(%b27:p0:i32) + j b18(undef:i32, %b27:p0:i32, %b27:p0:i32) block b28: %b28:i0:unit = nop @@ -26636,10 +27936,12 @@ block b29: br %b29:i1:u1, b37(), b38() block b30: - %b30:p0:i32:t11 + %b30:p0:i32:t9 + %b30:p1:i32:t10 + %b30:p2:i32:t11 %b30:i0:unit = nop %b30:i1:unit = nop - j b3(%b30:p0:i32) + j b3(undef:i32, undef:i32, undef:i32, undef:i32, %b33:p0:i32, %b30:p0:i32, %b30:p1:i32, %b30:p2:i32, %b30:p2:i32) block b31: %b31:i0:unit = nop @@ -26671,7 +27973,7 @@ block b36: %b36:p0:i32:t9 %b36:i0:unit = nop %b36:i1:unit = nop - j b30(%b36:p0:i32) + j b30(%b36:p0:i32, undef:i32, %b36:p0:i32) block b37: %b37:i0:unit = nop @@ -26687,7 +27989,7 @@ block b39: %b39:p0:i32:t10 %b39:i0:unit = nop %b39:i1:unit = nop - j b30(%b39:p0:i32) + j b30(undef:i32, %b39:p0:i32, %b39:p0:i32) } fun i32 @func_93 () { @@ -26778,9 +28080,17 @@ block b2: br %b2:i1:u1, b31(), b32() block b3: - %b3:p0:i32:t12 + %b3:p0:i32:t4 + %b3:p1:i32:t5 + %b3:p2:i32:t6 + %b3:p3:i32:t7 + %b3:p4:i32:t8 + %b3:p5:i32:t9 + %b3:p6:i32:t10 + %b3:p7:i32:t11 + %b3:p8:i32:t12 %b3:i0:unit = nop - %b3:i1:u1 = cmp eq %b3:p0:i32 0:i32 + %b3:i1:u1 = cmp eq %b3:p8:i32 0:i32 %b3:i2:i32 = typecast %b3:i1:u1 to i32 ret %b3:i2:i32 @@ -26795,9 +28105,11 @@ block b5: br %b5:i1:u1, b13(), b14() block b6: - %b6:p0:i32:t3 + %b6:p0:i32:t1 + %b6:p1:i32:t2 + %b6:p2:i32:t3 %b6:i0:unit = nop - %b6:i1:u1 = cmp ne %b6:p0:i32 0:i32 + %b6:i1:u1 = cmp ne %b6:p2:i32 0:i32 br %b6:i1:u1, b1(), b2() block b7: @@ -26830,7 +28142,7 @@ block b12: %b12:p0:i32:t1 %b12:i0:unit = nop %b12:i1:unit = nop - j b6(%b12:p0:i32) + j b6(%b12:p0:i32, undef:i32, %b12:p0:i32) block b13: %b13:i0:unit = nop @@ -26846,7 +28158,7 @@ block b15: %b15:p0:i32:t2 %b15:i0:unit = nop %b15:i1:unit = nop - j b6(%b15:p0:i32) + j b6(undef:i32, %b15:p0:i32, %b15:p0:i32) block b16: %b16:i0:unit = nop @@ -26859,10 +28171,12 @@ block b17: br %b17:i1:u1, b25(), b26() block b18: - %b18:p0:i32:t7 + %b18:p0:i32:t5 + %b18:p1:i32:t6 + %b18:p2:i32:t7 %b18:i0:unit = nop %b18:i1:unit = nop - j b3(%b18:p0:i32) + j b3(%b21:p0:i32, %b18:p0:i32, %b18:p1:i32, %b18:p2:i32, undef:i32, undef:i32, undef:i32, undef:i32, %b18:p2:i32) block b19: %b19:i0:unit = nop @@ -26894,7 +28208,7 @@ block b24: %b24:p0:i32:t5 %b24:i0:unit = nop %b24:i1:unit = nop - j b18(%b24:p0:i32) + j b18(%b24:p0:i32, undef:i32, %b24:p0:i32) block b25: %b25:i0:unit = nop @@ -26910,7 +28224,7 @@ block b27: %b27:p0:i32:t6 %b27:i0:unit = nop %b27:i1:unit = nop - j b18(%b27:p0:i32) + j b18(undef:i32, %b27:p0:i32, %b27:p0:i32) block b28: %b28:i0:unit = nop @@ -26923,10 +28237,12 @@ block b29: br %b29:i1:u1, b37(), b38() block b30: - %b30:p0:i32:t11 + %b30:p0:i32:t9 + %b30:p1:i32:t10 + %b30:p2:i32:t11 %b30:i0:unit = nop %b30:i1:unit = nop - j b3(%b30:p0:i32) + j b3(undef:i32, undef:i32, undef:i32, undef:i32, %b33:p0:i32, %b30:p0:i32, %b30:p1:i32, %b30:p2:i32, %b30:p2:i32) block b31: %b31:i0:unit = nop @@ -26958,7 +28274,7 @@ block b36: %b36:p0:i32:t9 %b36:i0:unit = nop %b36:i1:unit = nop - j b30(%b36:p0:i32) + j b30(%b36:p0:i32, undef:i32, %b36:p0:i32) block b37: %b37:i0:unit = nop @@ -26974,7 +28290,7 @@ block b39: %b39:p0:i32:t10 %b39:i0:unit = nop %b39:i1:unit = nop - j b30(%b39:p0:i32) + j b30(undef:i32, %b39:p0:i32, %b39:p0:i32) } fun i32 @func_94 () { @@ -27065,9 +28381,17 @@ block b2: br %b2:i1:u1, b31(), b32() block b3: - %b3:p0:i32:t12 + %b3:p0:i32:t4 + %b3:p1:i32:t5 + %b3:p2:i32:t6 + %b3:p3:i32:t7 + %b3:p4:i32:t8 + %b3:p5:i32:t9 + %b3:p6:i32:t10 + %b3:p7:i32:t11 + %b3:p8:i32:t12 %b3:i0:unit = nop - %b3:i1:u1 = cmp eq %b3:p0:i32 1:i32 + %b3:i1:u1 = cmp eq %b3:p8:i32 1:i32 %b3:i2:i32 = typecast %b3:i1:u1 to i32 ret %b3:i2:i32 @@ -27082,9 +28406,11 @@ block b5: br %b5:i1:u1, b13(), b14() block b6: - %b6:p0:i32:t3 + %b6:p0:i32:t1 + %b6:p1:i32:t2 + %b6:p2:i32:t3 %b6:i0:unit = nop - %b6:i1:u1 = cmp ne %b6:p0:i32 0:i32 + %b6:i1:u1 = cmp ne %b6:p2:i32 0:i32 br %b6:i1:u1, b1(), b2() block b7: @@ -27117,7 +28443,7 @@ block b12: %b12:p0:i32:t1 %b12:i0:unit = nop %b12:i1:unit = nop - j b6(%b12:p0:i32) + j b6(%b12:p0:i32, undef:i32, %b12:p0:i32) block b13: %b13:i0:unit = nop @@ -27133,7 +28459,7 @@ block b15: %b15:p0:i32:t2 %b15:i0:unit = nop %b15:i1:unit = nop - j b6(%b15:p0:i32) + j b6(undef:i32, %b15:p0:i32, %b15:p0:i32) block b16: %b16:i0:unit = nop @@ -27146,10 +28472,12 @@ block b17: br %b17:i1:u1, b25(), b26() block b18: - %b18:p0:i32:t7 + %b18:p0:i32:t5 + %b18:p1:i32:t6 + %b18:p2:i32:t7 %b18:i0:unit = nop %b18:i1:unit = nop - j b3(%b18:p0:i32) + j b3(%b21:p0:i32, %b18:p0:i32, %b18:p1:i32, %b18:p2:i32, undef:i32, undef:i32, undef:i32, undef:i32, %b18:p2:i32) block b19: %b19:i0:unit = nop @@ -27181,7 +28509,7 @@ block b24: %b24:p0:i32:t5 %b24:i0:unit = nop %b24:i1:unit = nop - j b18(%b24:p0:i32) + j b18(%b24:p0:i32, undef:i32, %b24:p0:i32) block b25: %b25:i0:unit = nop @@ -27197,7 +28525,7 @@ block b27: %b27:p0:i32:t6 %b27:i0:unit = nop %b27:i1:unit = nop - j b18(%b27:p0:i32) + j b18(undef:i32, %b27:p0:i32, %b27:p0:i32) block b28: %b28:i0:unit = nop @@ -27210,10 +28538,12 @@ block b29: br %b29:i1:u1, b37(), b38() block b30: - %b30:p0:i32:t11 + %b30:p0:i32:t9 + %b30:p1:i32:t10 + %b30:p2:i32:t11 %b30:i0:unit = nop %b30:i1:unit = nop - j b3(%b30:p0:i32) + j b3(undef:i32, undef:i32, undef:i32, undef:i32, %b33:p0:i32, %b30:p0:i32, %b30:p1:i32, %b30:p2:i32, %b30:p2:i32) block b31: %b31:i0:unit = nop @@ -27245,7 +28575,7 @@ block b36: %b36:p0:i32:t9 %b36:i0:unit = nop %b36:i1:unit = nop - j b30(%b36:p0:i32) + j b30(%b36:p0:i32, undef:i32, %b36:p0:i32) block b37: %b37:i0:unit = nop @@ -27261,7 +28591,7 @@ block b39: %b39:p0:i32:t10 %b39:i0:unit = nop %b39:i1:unit = nop - j b30(%b39:p0:i32) + j b30(undef:i32, %b39:p0:i32, %b39:p0:i32) } fun i32 @func_95 () { @@ -27352,9 +28682,17 @@ block b2: br %b2:i1:u1, b31(), b32() block b3: - %b3:p0:i32:t12 + %b3:p0:i32:t4 + %b3:p1:i32:t5 + %b3:p2:i32:t6 + %b3:p3:i32:t7 + %b3:p4:i32:t8 + %b3:p5:i32:t9 + %b3:p6:i32:t10 + %b3:p7:i32:t11 + %b3:p8:i32:t12 %b3:i0:unit = nop - %b3:i1:u1 = cmp eq %b3:p0:i32 1:i32 + %b3:i1:u1 = cmp eq %b3:p8:i32 1:i32 %b3:i2:i32 = typecast %b3:i1:u1 to i32 ret %b3:i2:i32 @@ -27369,9 +28707,11 @@ block b5: br %b5:i1:u1, b13(), b14() block b6: - %b6:p0:i32:t3 + %b6:p0:i32:t1 + %b6:p1:i32:t2 + %b6:p2:i32:t3 %b6:i0:unit = nop - %b6:i1:u1 = cmp ne %b6:p0:i32 0:i32 + %b6:i1:u1 = cmp ne %b6:p2:i32 0:i32 br %b6:i1:u1, b1(), b2() block b7: @@ -27404,7 +28744,7 @@ block b12: %b12:p0:i32:t1 %b12:i0:unit = nop %b12:i1:unit = nop - j b6(%b12:p0:i32) + j b6(%b12:p0:i32, undef:i32, %b12:p0:i32) block b13: %b13:i0:unit = nop @@ -27420,7 +28760,7 @@ block b15: %b15:p0:i32:t2 %b15:i0:unit = nop %b15:i1:unit = nop - j b6(%b15:p0:i32) + j b6(undef:i32, %b15:p0:i32, %b15:p0:i32) block b16: %b16:i0:unit = nop @@ -27433,10 +28773,12 @@ block b17: br %b17:i1:u1, b25(), b26() block b18: - %b18:p0:i32:t7 + %b18:p0:i32:t5 + %b18:p1:i32:t6 + %b18:p2:i32:t7 %b18:i0:unit = nop %b18:i1:unit = nop - j b3(%b18:p0:i32) + j b3(%b21:p0:i32, %b18:p0:i32, %b18:p1:i32, %b18:p2:i32, undef:i32, undef:i32, undef:i32, undef:i32, %b18:p2:i32) block b19: %b19:i0:unit = nop @@ -27468,7 +28810,7 @@ block b24: %b24:p0:i32:t5 %b24:i0:unit = nop %b24:i1:unit = nop - j b18(%b24:p0:i32) + j b18(%b24:p0:i32, undef:i32, %b24:p0:i32) block b25: %b25:i0:unit = nop @@ -27484,7 +28826,7 @@ block b27: %b27:p0:i32:t6 %b27:i0:unit = nop %b27:i1:unit = nop - j b18(%b27:p0:i32) + j b18(undef:i32, %b27:p0:i32, %b27:p0:i32) block b28: %b28:i0:unit = nop @@ -27497,10 +28839,12 @@ block b29: br %b29:i1:u1, b37(), b38() block b30: - %b30:p0:i32:t11 + %b30:p0:i32:t9 + %b30:p1:i32:t10 + %b30:p2:i32:t11 %b30:i0:unit = nop %b30:i1:unit = nop - j b3(%b30:p0:i32) + j b3(undef:i32, undef:i32, undef:i32, undef:i32, %b33:p0:i32, %b30:p0:i32, %b30:p1:i32, %b30:p2:i32, %b30:p2:i32) block b31: %b31:i0:unit = nop @@ -27532,7 +28876,7 @@ block b36: %b36:p0:i32:t9 %b36:i0:unit = nop %b36:i1:unit = nop - j b30(%b36:p0:i32) + j b30(%b36:p0:i32, undef:i32, %b36:p0:i32) block b37: %b37:i0:unit = nop @@ -27548,7 +28892,7 @@ block b39: %b39:p0:i32:t10 %b39:i0:unit = nop %b39:i1:unit = nop - j b30(%b39:p0:i32) + j b30(undef:i32, %b39:p0:i32, %b39:p0:i32) } fun i32 @func_96 () { @@ -27639,9 +28983,17 @@ block b2: br %b2:i1:u1, b31(), b32() block b3: - %b3:p0:i32:t12 + %b3:p0:i32:t4 + %b3:p1:i32:t5 + %b3:p2:i32:t6 + %b3:p3:i32:t7 + %b3:p4:i32:t8 + %b3:p5:i32:t9 + %b3:p6:i32:t10 + %b3:p7:i32:t11 + %b3:p8:i32:t12 %b3:i0:unit = nop - %b3:i1:u1 = cmp eq %b3:p0:i32 0:i32 + %b3:i1:u1 = cmp eq %b3:p8:i32 0:i32 %b3:i2:i32 = typecast %b3:i1:u1 to i32 ret %b3:i2:i32 @@ -27656,9 +29008,11 @@ block b5: br %b5:i1:u1, b13(), b14() block b6: - %b6:p0:i32:t3 + %b6:p0:i32:t1 + %b6:p1:i32:t2 + %b6:p2:i32:t3 %b6:i0:unit = nop - %b6:i1:u1 = cmp ne %b6:p0:i32 0:i32 + %b6:i1:u1 = cmp ne %b6:p2:i32 0:i32 br %b6:i1:u1, b1(), b2() block b7: @@ -27691,7 +29045,7 @@ block b12: %b12:p0:i32:t1 %b12:i0:unit = nop %b12:i1:unit = nop - j b6(%b12:p0:i32) + j b6(%b12:p0:i32, undef:i32, %b12:p0:i32) block b13: %b13:i0:unit = nop @@ -27707,7 +29061,7 @@ block b15: %b15:p0:i32:t2 %b15:i0:unit = nop %b15:i1:unit = nop - j b6(%b15:p0:i32) + j b6(undef:i32, %b15:p0:i32, %b15:p0:i32) block b16: %b16:i0:unit = nop @@ -27720,10 +29074,12 @@ block b17: br %b17:i1:u1, b25(), b26() block b18: - %b18:p0:i32:t7 + %b18:p0:i32:t5 + %b18:p1:i32:t6 + %b18:p2:i32:t7 %b18:i0:unit = nop %b18:i1:unit = nop - j b3(%b18:p0:i32) + j b3(%b21:p0:i32, %b18:p0:i32, %b18:p1:i32, %b18:p2:i32, undef:i32, undef:i32, undef:i32, undef:i32, %b18:p2:i32) block b19: %b19:i0:unit = nop @@ -27755,7 +29111,7 @@ block b24: %b24:p0:i32:t5 %b24:i0:unit = nop %b24:i1:unit = nop - j b18(%b24:p0:i32) + j b18(%b24:p0:i32, undef:i32, %b24:p0:i32) block b25: %b25:i0:unit = nop @@ -27771,7 +29127,7 @@ block b27: %b27:p0:i32:t6 %b27:i0:unit = nop %b27:i1:unit = nop - j b18(%b27:p0:i32) + j b18(undef:i32, %b27:p0:i32, %b27:p0:i32) block b28: %b28:i0:unit = nop @@ -27784,10 +29140,12 @@ block b29: br %b29:i1:u1, b37(), b38() block b30: - %b30:p0:i32:t11 + %b30:p0:i32:t9 + %b30:p1:i32:t10 + %b30:p2:i32:t11 %b30:i0:unit = nop %b30:i1:unit = nop - j b3(%b30:p0:i32) + j b3(undef:i32, undef:i32, undef:i32, undef:i32, %b33:p0:i32, %b30:p0:i32, %b30:p1:i32, %b30:p2:i32, %b30:p2:i32) block b31: %b31:i0:unit = nop @@ -27819,7 +29177,7 @@ block b36: %b36:p0:i32:t9 %b36:i0:unit = nop %b36:i1:unit = nop - j b30(%b36:p0:i32) + j b30(%b36:p0:i32, undef:i32, %b36:p0:i32) block b37: %b37:i0:unit = nop @@ -27835,7 +29193,7 @@ block b39: %b39:p0:i32:t10 %b39:i0:unit = nop %b39:i1:unit = nop - j b30(%b39:p0:i32) + j b30(undef:i32, %b39:p0:i32, %b39:p0:i32) } fun i32 @func_97 () { @@ -27926,9 +29284,17 @@ block b2: br %b2:i1:u1, b31(), b32() block b3: - %b3:p0:i32:t12 + %b3:p0:i32:t4 + %b3:p1:i32:t5 + %b3:p2:i32:t6 + %b3:p3:i32:t7 + %b3:p4:i32:t8 + %b3:p5:i32:t9 + %b3:p6:i32:t10 + %b3:p7:i32:t11 + %b3:p8:i32:t12 %b3:i0:unit = nop - %b3:i1:u1 = cmp eq %b3:p0:i32 0:i32 + %b3:i1:u1 = cmp eq %b3:p8:i32 0:i32 %b3:i2:i32 = typecast %b3:i1:u1 to i32 ret %b3:i2:i32 @@ -27943,9 +29309,11 @@ block b5: br %b5:i1:u1, b13(), b14() block b6: - %b6:p0:i32:t3 + %b6:p0:i32:t1 + %b6:p1:i32:t2 + %b6:p2:i32:t3 %b6:i0:unit = nop - %b6:i1:u1 = cmp ne %b6:p0:i32 0:i32 + %b6:i1:u1 = cmp ne %b6:p2:i32 0:i32 br %b6:i1:u1, b1(), b2() block b7: @@ -27978,7 +29346,7 @@ block b12: %b12:p0:i32:t1 %b12:i0:unit = nop %b12:i1:unit = nop - j b6(%b12:p0:i32) + j b6(%b12:p0:i32, undef:i32, %b12:p0:i32) block b13: %b13:i0:unit = nop @@ -27994,7 +29362,7 @@ block b15: %b15:p0:i32:t2 %b15:i0:unit = nop %b15:i1:unit = nop - j b6(%b15:p0:i32) + j b6(undef:i32, %b15:p0:i32, %b15:p0:i32) block b16: %b16:i0:unit = nop @@ -28007,10 +29375,12 @@ block b17: br %b17:i1:u1, b25(), b26() block b18: - %b18:p0:i32:t7 + %b18:p0:i32:t5 + %b18:p1:i32:t6 + %b18:p2:i32:t7 %b18:i0:unit = nop %b18:i1:unit = nop - j b3(%b18:p0:i32) + j b3(%b21:p0:i32, %b18:p0:i32, %b18:p1:i32, %b18:p2:i32, undef:i32, undef:i32, undef:i32, undef:i32, %b18:p2:i32) block b19: %b19:i0:unit = nop @@ -28042,7 +29412,7 @@ block b24: %b24:p0:i32:t5 %b24:i0:unit = nop %b24:i1:unit = nop - j b18(%b24:p0:i32) + j b18(%b24:p0:i32, undef:i32, %b24:p0:i32) block b25: %b25:i0:unit = nop @@ -28058,7 +29428,7 @@ block b27: %b27:p0:i32:t6 %b27:i0:unit = nop %b27:i1:unit = nop - j b18(%b27:p0:i32) + j b18(undef:i32, %b27:p0:i32, %b27:p0:i32) block b28: %b28:i0:unit = nop @@ -28071,10 +29441,12 @@ block b29: br %b29:i1:u1, b37(), b38() block b30: - %b30:p0:i32:t11 + %b30:p0:i32:t9 + %b30:p1:i32:t10 + %b30:p2:i32:t11 %b30:i0:unit = nop %b30:i1:unit = nop - j b3(%b30:p0:i32) + j b3(undef:i32, undef:i32, undef:i32, undef:i32, %b33:p0:i32, %b30:p0:i32, %b30:p1:i32, %b30:p2:i32, %b30:p2:i32) block b31: %b31:i0:unit = nop @@ -28106,7 +29478,7 @@ block b36: %b36:p0:i32:t9 %b36:i0:unit = nop %b36:i1:unit = nop - j b30(%b36:p0:i32) + j b30(%b36:p0:i32, undef:i32, %b36:p0:i32) block b37: %b37:i0:unit = nop @@ -28122,7 +29494,7 @@ block b39: %b39:p0:i32:t10 %b39:i0:unit = nop %b39:i1:unit = nop - j b30(%b39:p0:i32) + j b30(undef:i32, %b39:p0:i32, %b39:p0:i32) } fun i32 @func_98 () { @@ -28213,9 +29585,17 @@ block b2: br %b2:i1:u1, b31(), b32() block b3: - %b3:p0:i32:t12 + %b3:p0:i32:t4 + %b3:p1:i32:t5 + %b3:p2:i32:t6 + %b3:p3:i32:t7 + %b3:p4:i32:t8 + %b3:p5:i32:t9 + %b3:p6:i32:t10 + %b3:p7:i32:t11 + %b3:p8:i32:t12 %b3:i0:unit = nop - %b3:i1:u1 = cmp eq %b3:p0:i32 0:i32 + %b3:i1:u1 = cmp eq %b3:p8:i32 0:i32 %b3:i2:i32 = typecast %b3:i1:u1 to i32 ret %b3:i2:i32 @@ -28230,9 +29610,11 @@ block b5: br %b5:i1:u1, b13(), b14() block b6: - %b6:p0:i32:t3 + %b6:p0:i32:t1 + %b6:p1:i32:t2 + %b6:p2:i32:t3 %b6:i0:unit = nop - %b6:i1:u1 = cmp ne %b6:p0:i32 0:i32 + %b6:i1:u1 = cmp ne %b6:p2:i32 0:i32 br %b6:i1:u1, b1(), b2() block b7: @@ -28265,7 +29647,7 @@ block b12: %b12:p0:i32:t1 %b12:i0:unit = nop %b12:i1:unit = nop - j b6(%b12:p0:i32) + j b6(%b12:p0:i32, undef:i32, %b12:p0:i32) block b13: %b13:i0:unit = nop @@ -28281,7 +29663,7 @@ block b15: %b15:p0:i32:t2 %b15:i0:unit = nop %b15:i1:unit = nop - j b6(%b15:p0:i32) + j b6(undef:i32, %b15:p0:i32, %b15:p0:i32) block b16: %b16:i0:unit = nop @@ -28294,10 +29676,12 @@ block b17: br %b17:i1:u1, b25(), b26() block b18: - %b18:p0:i32:t7 + %b18:p0:i32:t5 + %b18:p1:i32:t6 + %b18:p2:i32:t7 %b18:i0:unit = nop %b18:i1:unit = nop - j b3(%b18:p0:i32) + j b3(%b21:p0:i32, %b18:p0:i32, %b18:p1:i32, %b18:p2:i32, undef:i32, undef:i32, undef:i32, undef:i32, %b18:p2:i32) block b19: %b19:i0:unit = nop @@ -28329,7 +29713,7 @@ block b24: %b24:p0:i32:t5 %b24:i0:unit = nop %b24:i1:unit = nop - j b18(%b24:p0:i32) + j b18(%b24:p0:i32, undef:i32, %b24:p0:i32) block b25: %b25:i0:unit = nop @@ -28345,7 +29729,7 @@ block b27: %b27:p0:i32:t6 %b27:i0:unit = nop %b27:i1:unit = nop - j b18(%b27:p0:i32) + j b18(undef:i32, %b27:p0:i32, %b27:p0:i32) block b28: %b28:i0:unit = nop @@ -28358,10 +29742,12 @@ block b29: br %b29:i1:u1, b37(), b38() block b30: - %b30:p0:i32:t11 + %b30:p0:i32:t9 + %b30:p1:i32:t10 + %b30:p2:i32:t11 %b30:i0:unit = nop %b30:i1:unit = nop - j b3(%b30:p0:i32) + j b3(undef:i32, undef:i32, undef:i32, undef:i32, %b33:p0:i32, %b30:p0:i32, %b30:p1:i32, %b30:p2:i32, %b30:p2:i32) block b31: %b31:i0:unit = nop @@ -28393,7 +29779,7 @@ block b36: %b36:p0:i32:t9 %b36:i0:unit = nop %b36:i1:unit = nop - j b30(%b36:p0:i32) + j b30(%b36:p0:i32, undef:i32, %b36:p0:i32) block b37: %b37:i0:unit = nop @@ -28409,7 +29795,7 @@ block b39: %b39:p0:i32:t10 %b39:i0:unit = nop %b39:i1:unit = nop - j b30(%b39:p0:i32) + j b30(undef:i32, %b39:p0:i32, %b39:p0:i32) } fun i32 @func_99 () { @@ -28500,9 +29886,17 @@ block b2: br %b2:i1:u1, b31(), b32() block b3: - %b3:p0:i32:t12 + %b3:p0:i32:t4 + %b3:p1:i32:t5 + %b3:p2:i32:t6 + %b3:p3:i32:t7 + %b3:p4:i32:t8 + %b3:p5:i32:t9 + %b3:p6:i32:t10 + %b3:p7:i32:t11 + %b3:p8:i32:t12 %b3:i0:unit = nop - %b3:i1:u1 = cmp eq %b3:p0:i32 1:i32 + %b3:i1:u1 = cmp eq %b3:p8:i32 1:i32 %b3:i2:i32 = typecast %b3:i1:u1 to i32 ret %b3:i2:i32 @@ -28517,9 +29911,11 @@ block b5: br %b5:i1:u1, b13(), b14() block b6: - %b6:p0:i32:t3 + %b6:p0:i32:t1 + %b6:p1:i32:t2 + %b6:p2:i32:t3 %b6:i0:unit = nop - %b6:i1:u1 = cmp ne %b6:p0:i32 0:i32 + %b6:i1:u1 = cmp ne %b6:p2:i32 0:i32 br %b6:i1:u1, b1(), b2() block b7: @@ -28552,7 +29948,7 @@ block b12: %b12:p0:i32:t1 %b12:i0:unit = nop %b12:i1:unit = nop - j b6(%b12:p0:i32) + j b6(%b12:p0:i32, undef:i32, %b12:p0:i32) block b13: %b13:i0:unit = nop @@ -28568,7 +29964,7 @@ block b15: %b15:p0:i32:t2 %b15:i0:unit = nop %b15:i1:unit = nop - j b6(%b15:p0:i32) + j b6(undef:i32, %b15:p0:i32, %b15:p0:i32) block b16: %b16:i0:unit = nop @@ -28581,10 +29977,12 @@ block b17: br %b17:i1:u1, b25(), b26() block b18: - %b18:p0:i32:t7 + %b18:p0:i32:t5 + %b18:p1:i32:t6 + %b18:p2:i32:t7 %b18:i0:unit = nop %b18:i1:unit = nop - j b3(%b18:p0:i32) + j b3(%b21:p0:i32, %b18:p0:i32, %b18:p1:i32, %b18:p2:i32, undef:i32, undef:i32, undef:i32, undef:i32, %b18:p2:i32) block b19: %b19:i0:unit = nop @@ -28616,7 +30014,7 @@ block b24: %b24:p0:i32:t5 %b24:i0:unit = nop %b24:i1:unit = nop - j b18(%b24:p0:i32) + j b18(%b24:p0:i32, undef:i32, %b24:p0:i32) block b25: %b25:i0:unit = nop @@ -28632,7 +30030,7 @@ block b27: %b27:p0:i32:t6 %b27:i0:unit = nop %b27:i1:unit = nop - j b18(%b27:p0:i32) + j b18(undef:i32, %b27:p0:i32, %b27:p0:i32) block b28: %b28:i0:unit = nop @@ -28645,10 +30043,12 @@ block b29: br %b29:i1:u1, b37(), b38() block b30: - %b30:p0:i32:t11 + %b30:p0:i32:t9 + %b30:p1:i32:t10 + %b30:p2:i32:t11 %b30:i0:unit = nop %b30:i1:unit = nop - j b3(%b30:p0:i32) + j b3(undef:i32, undef:i32, undef:i32, undef:i32, %b33:p0:i32, %b30:p0:i32, %b30:p1:i32, %b30:p2:i32, %b30:p2:i32) block b31: %b31:i0:unit = nop @@ -28680,7 +30080,7 @@ block b36: %b36:p0:i32:t9 %b36:i0:unit = nop %b36:i1:unit = nop - j b30(%b36:p0:i32) + j b30(%b36:p0:i32, undef:i32, %b36:p0:i32) block b37: %b37:i0:unit = nop @@ -28696,7 +30096,7 @@ block b39: %b39:p0:i32:t10 %b39:i0:unit = nop %b39:i1:unit = nop - j b30(%b39:p0:i32) + j b30(undef:i32, %b39:p0:i32, %b39:p0:i32) } fun i32 @main () { diff --git a/examples/ir2/cond_and_loop.ir b/examples/ir2/cond_and_loop.ir index 1bc9f49..c85171a 100644 --- a/examples/ir2/cond_and_loop.ir +++ b/examples/ir2/cond_and_loop.ir @@ -30,18 +30,19 @@ block b2: %b2:i1:unit = nop %b2:i2:i32 = add 2:i32 5:i32 %b2:i3:unit = nop - j b3(2:i32, %b2:i2:i32) + j b3(2:i32, undef:i32, %b2:i2:i32) block b3: %b3:p0:i32:p - %b3:p1:i32:t1 + %b3:p1:i32:t0 + %b3:p2:i32:t1 %b3:i0:unit = nop %b3:i1:unit = nop %b3:i2:i32 = load @nonce:i32* %b3:i3:i32 = mod %b3:i2:i32 100:i32 %b3:i4:unit = nop %b3:i5:unit = nop - j b8(0:i32, %b3:p0:i32) + j b8(0:i32, %b3:p0:i32, undef:i32) block b4: %b4:i0:unit = nop @@ -62,11 +63,12 @@ block b6: %b6:p1:i32:t0 %b6:i0:unit = nop %b6:i1:unit = nop - j b3(%b6:p0:i32, %b6:p1:i32) + j b3(%b6:p0:i32, %b6:p1:i32, %b6:p1:i32) block b8: %b8:p0:i32:i %b8:p1:i32:p + %b8:p2:i32:t2 %b8:i0:unit = nop %b8:i1:unit = nop %b8:i2:u1 = cmp lt %b8:p0:i32 %b3:i3:i32 @@ -92,7 +94,7 @@ block b12: block b13: %b13:i0:unit = nop %b13:i1:unit = nop - %b13:i2:i32 = add %b8:p1:i32 %b3:p1:i32 + %b13:i2:i32 = add %b8:p1:i32 %b3:p2:i32 %b13:i3:unit = nop j b14(%b13:i2:i32) @@ -121,5 +123,5 @@ block b17: %b17:p0:i32:i %b17:p1:i32:t2 %b17:i0:unit = nop - j b8(%b17:p0:i32, %b14:p0:i32) + j b8(%b17:p0:i32, %b14:p0:i32, %b17:p1:i32) } diff --git a/examples/ir2/fib3.ir b/examples/ir2/fib3.ir index 9543732..ce6679c 100644 --- a/examples/ir2/fib3.ir +++ b/examples/ir2/fib3.ir @@ -26,12 +26,13 @@ block b1: block b2: %b2:i0:unit = nop - j b6(1:i32, 0:i32, 1:i32) + j b6(1:i32, 0:i32, 1:i32, 0:i32) block b6: %b6:p0:i32:i %b6:p1:i32:t1 %b6:p2:i32:t2 + %b6:p3:i32:next_term %b6:i0:unit = nop %b6:i1:unit = nop %b6:i2:u1 = cmp lt %b6:p0:i32 %b0:p0:i32 @@ -49,7 +50,7 @@ block b7: %b7:i8:unit = nop %b7:i9:i32 = add %b6:p0:i32 1:i32 %b7:i10:unit = nop - j b6(%b7:i9:i32, %b6:p2:i32, %b7:i2:i32) + j b6(%b7:i9:i32, %b6:p2:i32, %b7:i2:i32, %b7:i2:i32) block b9: %b9:i0:unit = nop diff --git a/examples/ir2/fib4.ir b/examples/ir2/fib4.ir index 7d84cf8..aabc0c3 100644 --- a/examples/ir2/fib4.ir +++ b/examples/ir2/fib4.ir @@ -26,12 +26,13 @@ block b1: block b2: %b2:i0:unit = nop - j b5(1:i32, 0:i32, 1:i32) + j b5(1:i32, 0:i32, 1:i32, 0:i32) block b5: %b5:p0:i32:i %b5:p1:i32:t1 %b5:p2:i32:t2 + %b5:p3:i32:next_term %b5:i0:unit = nop %b5:i1:unit = nop %b5:i2:u1 = cmp lt %b5:p0:i32 %b0:p0:i32 @@ -49,7 +50,7 @@ block b6: %b6:i8:unit = nop %b6:i9:i32 = add %b5:p0:i32 1:i32 %b6:i10:unit = nop - j b5(%b6:i9:i32, %b5:p2:i32, %b6:i2:i32) + j b5(%b6:i9:i32, %b5:p2:i32, %b6:i2:i32, %b6:i2:i32) block b7: %b7:i0:unit = nop diff --git a/examples/ir2/fib5.ir b/examples/ir2/fib5.ir index 7ae3579..a409db6 100644 --- a/examples/ir2/fib5.ir +++ b/examples/ir2/fib5.ir @@ -26,12 +26,13 @@ block b1: block b2: %b2:i0:unit = nop - j b5(1:i32, 0:i32, 1:i32) + j b5(1:i32, 0:i32, 1:i32, 0:i32) block b5: %b5:p0:i32:i %b5:p1:i32:t1 %b5:p2:i32:t2 + %b5:p3:i32:next_term %b5:i0:unit = nop %b5:i1:unit = nop %b5:i2:i32 = add %b5:p1:i32 %b5:p2:i32 @@ -46,7 +47,7 @@ block b5: %b5:i11:unit = nop %b5:i12:unit = nop %b5:i13:u1 = cmp lt %b5:i9:i32 %b0:p0:i32 - br %b5:i13:u1, b5(%b5:i9:i32, %b5:p2:i32, %b5:i2:i32), b7() + br %b5:i13:u1, b5(%b5:i9:i32, %b5:p2:i32, %b5:i2:i32, %b5:i2:i32), b7() block b7: %b7:i0:unit = nop diff --git a/examples/ir2/foo2.ir b/examples/ir2/foo2.ir index c1cfb58..61f8859 100644 --- a/examples/ir2/foo2.ir +++ b/examples/ir2/foo2.ir @@ -11,10 +11,12 @@ init: block b0: %b0:i0:unit = nop %b0:i1:unit = nop - j b2(0:i32) + j b2(0:i32, undef:i32, undef:i32) block b2: %b2:p0:i32:i + %b2:p1:i32:i + %b2:p2:i32:k %b2:i0:unit = nop %b2:i1:u1 = cmp lt %b2:p0:i32 10:i32 br %b2:i1:u1, b3(), b5() @@ -25,7 +27,7 @@ block b3: %b3:i2:unit = nop %b3:i3:i32 = add %b2:p0:i32 1:i32 %b3:i4:unit = nop - j b2(%b3:i3:i32) + j b2(%b3:i3:i32, 0:i32, 0:i32) block b5: ret 1:i32 diff --git a/examples/ir2/lost_copy.ir b/examples/ir2/lost_copy.ir new file mode 100644 index 0000000..69076fb --- /dev/null +++ b/examples/ir2/lost_copy.ir @@ -0,0 +1,29 @@ + +fun i32 @main () { +init: + bid: b0 + allocations: + %l0:i32:i + %l1:i32:result + +block b0: + %b0:i0:unit = nop + %b0:i1:unit = nop + j b1(0:i32, 0:i32) + +block b1: + %b1:p0:i32:i + %b1:p1:i32:result + %b1:i0:unit = nop + %b1:i1:unit = nop + %b1:i2:unit = nop + %b1:i3:i32 = add %b1:p0:i32 1:i32 + %b1:i4:unit = nop + %b1:i5:unit = nop + %b1:i6:u1 = cmp lt %b1:i3:i32 4:i32 + br %b1:i6:u1, b1(%b1:i3:i32, %b1:p0:i32), b3() + +block b3: + %b3:i0:unit = nop + ret %b1:p0:i32 +} diff --git a/examples/ir2/struct.ir b/examples/ir2/struct.ir index bbb95ba..bf355f0 100644 --- a/examples/ir2/struct.ir +++ b/examples/ir2/struct.ir @@ -1,5 +1,5 @@ -struct %t1 : { a:i8, %anon:struct %t0, c:f64 } struct %t0 : { b:[4 x [5 x i32]] } +struct %t1 : { a:i8, %anon:struct %t0, c:f64 } fun unit @init (i32, i32, [5 x i32]*) { init: @@ -19,10 +19,11 @@ block b0: %b0:i1:unit = nop %b0:i2:unit = nop %b0:i3:unit = nop - j b2(0:i32) + j b2(0:i32, undef:i32) block b2: %b2:p0:i32:i + %b2:p1:i32:j %b2:i0:unit = nop %b2:i1:unit = nop %b2:i2:u1 = cmp lt %b2:p0:i32 %b0:p0:i32 @@ -66,7 +67,7 @@ block b10: %b10:i0:unit = nop %b10:i1:i32 = add %b2:p0:i32 1:i32 %b10:i2:unit = nop - j b2(%b10:i1:i32) + j b2(%b10:i1:i32, %b7:p0:i32) } fun i32 @main () { diff --git a/examples/ir2/swap.ir b/examples/ir2/swap.ir new file mode 100644 index 0000000..0acd5a6 --- /dev/null +++ b/examples/ir2/swap.ir @@ -0,0 +1,35 @@ + +fun i32 @main () { +init: + bid: b0 + allocations: + %l0:i32:a + %l1:i32:b + %l2:i32:t + +block b0: + %b0:i0:unit = nop + %b0:i1:unit = nop + j b1(1:i32, 2:i32, undef:i32) + +block b1: + %b1:p0:i32:a + %b1:p1:i32:b + %b1:p2:i32:t + %b1:i0:unit = nop + %b1:i1:unit = nop + %b1:i2:unit = nop + %b1:i3:unit = nop + %b1:i4:unit = nop + %b1:i5:unit = nop + %b1:i6:unit = nop + %b1:i7:u1 = cmp eq %b1:p0:i32 1:i32 + br %b1:i7:u1, b1(%b1:p1:i32, %b1:p0:i32, %b1:p0:i32), b3() + +block b3: + %b3:i0:unit = nop + %b3:i1:i32 = mul %b1:p1:i32 10:i32 + %b3:i2:unit = nop + %b3:i3:i32 = add %b3:i1:i32 %b1:p0:i32 + ret %b3:i3:i32 +} diff --git a/examples/ir2/temp2.ir b/examples/ir2/temp2.ir index 78ea5ed..450a2cd 100644 --- a/examples/ir2/temp2.ir +++ b/examples/ir2/temp2.ir @@ -45,14 +45,15 @@ block b0: %b0:i30:unit = nop %b0:i31:unit = nop %b0:i32:unit = nop - j b2(%b0:i29:i32, 0:i32) + j b2(%b0:i29:i32, 0:i32, undef:u1) block b2: %b2:p0:i32:temp %b2:p1:i32:i + %b2:p2:u1:t0 %b2:i0:unit = nop %b2:i1:u1 = cmp lt %b2:p1:i32 10:i32 - br %b2:i1:u1, b3(), b5() + br %b2:i1:u1, b3(), b5(%b2:p2:u1) block b3: %b3:i0:unit = nop @@ -60,6 +61,7 @@ block b3: br %b3:i1:u1, b9(), b10() block b5: + %b5:p0:u1:t0 %b5:i0:unit = nop switch %b2:p0:i32 default b13(%b2:p0:i32) [ 1:i32 b14() @@ -73,7 +75,7 @@ block b7: %b7:i4:unit = nop %b7:i5:i32 = add %b2:p1:i32 1:i32 %b7:i6:unit = nop - j b2(%b7:i2:i32, %b7:i5:i32) + j b2(%b7:i2:i32, %b7:i5:i32, %b11:p0:u1) block b9: %b9:i0:unit = nop @@ -88,7 +90,7 @@ block b10: block b11: %b11:p0:u1:t0 %b11:i0:unit = nop - br %b11:p0:u1, b5(), b7() + br %b11:p0:u1, b5(%b11:p0:u1), b7() block b13: %b13:p0:i32:temp diff --git a/examples/ir2/while_continue_break.ir b/examples/ir2/while_continue_break.ir index 1772e6c..0f54d12 100644 --- a/examples/ir2/while_continue_break.ir +++ b/examples/ir2/while_continue_break.ir @@ -21,7 +21,7 @@ block b1: %b1:p1:i32:i %b1:i0:unit = nop %b1:i1:u1 = cmp lt %b1:p1:i32 100:i32 - br %b1:i1:u1, b2(), b3(%b1:p0:i32) + br %b1:i1:u1, b2(), b3(%b1:p0:i32, %b1:p1:i32) block b2: %b2:i0:unit = nop @@ -31,6 +31,7 @@ block b2: block b3: %b3:p0:i32:sum + %b3:p1:i32:i %b3:i0:unit = nop ret %b3:p0:i32 @@ -52,7 +53,7 @@ block b5: %b5:i8:unit = nop %b5:i9:i32 = add %b0:i3:i32 2:i32 %b5:i10:u1 = cmp eq %b5:i5:i32 %b5:i9:i32 - br %b5:i10:u1, b3(%b5:i2:i32), b1(%b5:i2:i32, %b5:i5:i32) + br %b5:i10:u1, b3(%b5:i2:i32, %b5:i5:i32), b1(%b5:i2:i32, %b5:i5:i32) } fun i32 @main () { diff --git a/examples/ir3/lost_copy.ir b/examples/ir3/lost_copy.ir new file mode 100644 index 0000000..1cffe8e --- /dev/null +++ b/examples/ir3/lost_copy.ir @@ -0,0 +1,19 @@ + +fun i32 @main () { +init: + bid: b0 + allocations: + + +block b0: + j b1(0:i32) + +block b1: + %b1:p0:i32:i + %b1:i0:i32 = add %b1:p0:i32 1:i32 + %b1:i1:u1 = cmp lt %b1:i0:i32 4:i32 + br %b1:i1:u1, b1(%b1:i0:i32), b3() + +block b3: + ret %b1:p0:i32 +} diff --git a/examples/ir3/struct.ir b/examples/ir3/struct.ir index f55ebf2..651acd7 100644 --- a/examples/ir3/struct.ir +++ b/examples/ir3/struct.ir @@ -1,5 +1,5 @@ -struct %t1 : { a:i8, %anon:struct %t0, c:f64 } struct %t0 : { b:[4 x [5 x i32]] } +struct %t1 : { a:i8, %anon:struct %t0, c:f64 } fun unit @init (i32, i32, [5 x i32]*) { init: diff --git a/examples/ir3/struct3.ir b/examples/ir3/struct3.ir index 5d1c289..21e11f9 100644 --- a/examples/ir3/struct3.ir +++ b/examples/ir3/struct3.ir @@ -1,5 +1,5 @@ -struct Sub : { m1:i64, m2:i64, m3:i64, m4:i64 } struct Big : { m1:struct Sub, m2:struct Sub, m3:struct Sub } +struct Sub : { m1:i64, m2:i64, m3:i64, m4:i64 } fun struct Big @foo (struct Big) { init: diff --git a/examples/ir3/swap.ir b/examples/ir3/swap.ir new file mode 100644 index 0000000..4648e11 --- /dev/null +++ b/examples/ir3/swap.ir @@ -0,0 +1,21 @@ + +fun i32 @main () { +init: + bid: b0 + allocations: + + +block b0: + j b1(1:i32, 2:i32) + +block b1: + %b1:p0:i32:a + %b1:p1:i32:b + %b1:i0:u1 = cmp eq %b1:p0:i32 1:i32 + br %b1:i0:u1, b1(%b1:p1:i32, %b1:p0:i32), b3() + +block b3: + %b3:i0:i32 = mul %b1:p1:i32 10:i32 + %b3:i1:i32 = add %b3:i0:i32 %b1:p0:i32 + ret %b3:i1:i32 +} diff --git a/examples/ir4/lost_copy.ir b/examples/ir4/lost_copy.ir new file mode 100644 index 0000000..1cffe8e --- /dev/null +++ b/examples/ir4/lost_copy.ir @@ -0,0 +1,19 @@ + +fun i32 @main () { +init: + bid: b0 + allocations: + + +block b0: + j b1(0:i32) + +block b1: + %b1:p0:i32:i + %b1:i0:i32 = add %b1:p0:i32 1:i32 + %b1:i1:u1 = cmp lt %b1:i0:i32 4:i32 + br %b1:i1:u1, b1(%b1:i0:i32), b3() + +block b3: + ret %b1:p0:i32 +} diff --git a/examples/ir4/struct2.ir b/examples/ir4/struct2.ir index 1f2f45b..d1c1273 100644 --- a/examples/ir4/struct2.ir +++ b/examples/ir4/struct2.ir @@ -1,5 +1,5 @@ -struct %t1 : { a:i8, %anon:struct %t0, c:i64 } struct %t0 : { b:[4 x i32] } +struct %t1 : { a:i8, %anon:struct %t0, c:i64 } fun i32 @main () { init: diff --git a/examples/ir4/swap.ir b/examples/ir4/swap.ir new file mode 100644 index 0000000..4648e11 --- /dev/null +++ b/examples/ir4/swap.ir @@ -0,0 +1,21 @@ + +fun i32 @main () { +init: + bid: b0 + allocations: + + +block b0: + j b1(1:i32, 2:i32) + +block b1: + %b1:p0:i32:a + %b1:p1:i32:b + %b1:i0:u1 = cmp eq %b1:p0:i32 1:i32 + br %b1:i0:u1, b1(%b1:p1:i32, %b1:p0:i32), b3() + +block b3: + %b3:i0:i32 = mul %b1:p1:i32 10:i32 + %b3:i1:i32 = add %b3:i0:i32 %b1:p0:i32 + ret %b3:i1:i32 +} diff --git a/examples/mem2reg/mem2reg.output.ir b/examples/mem2reg/mem2reg.output.ir index 6fdcd9a..77400ab 100644 --- a/examples/mem2reg/mem2reg.output.ir +++ b/examples/mem2reg/mem2reg.output.ir @@ -85,7 +85,7 @@ block b0: %b0:i2:unit = nop switch undef:i32 default b1() [ 2:i32 b2(0:i32) - 3:i32 b3() + 3:i32 b3(0:i32) ] block b1: @@ -99,9 +99,10 @@ block b2: %b2:i0:unit = nop %b2:i1:unit = call @sink:[ret:unit params:(i32)]*(%b2:p0:i32) %b2:i2:unit = nop - j b3() + j b3(200:i32) block b3: + %b3:p0:i32:x %b3:i0:unit = nop j b0(300:i32) } @@ -139,8 +140,8 @@ block b0: %b0:i8:unit = nop switch undef:i32 default b1() [ - 2:i32 b2(0:i32) - 3:i32 b3() + 2:i32 b2(0:i32, 2:i64) + 3:i32 b3(0:i32, 1:i16, 2:i64) ] block b1: @@ -152,10 +153,11 @@ block b1: %b1:i4:unit = call @sink:[ret:unit params:(i32)]*(2:i64) %b1:i5:unit = nop - j b2(100:i32) + j b2(100:i32, 102:i64) block b2: %b2:p0:i32:x + %b2:p1:i64:z %b2:i0:unit = nop %b2:i1:unit = call @sink:[ret:unit params:(i32)]*(%b2:p0:i32) @@ -164,9 +166,12 @@ block b2: %b2:i4:unit = call @sink:[ret:unit params:(i32)]*(1:i16) %b2:i5:unit = nop - j b3() + j b3(200:i32, 201:i16, %b2:p1:i64) block b3: + %b3:p0:i32:x + %b3:p1:i16:y + %b3:p2:i64:z %b3:i0:unit = nop %b3:i1:unit = nop %b3:i2:unit = nop diff --git a/examples/opt/lost_copy.ir b/examples/opt/lost_copy.ir new file mode 100644 index 0000000..1cffe8e --- /dev/null +++ b/examples/opt/lost_copy.ir @@ -0,0 +1,19 @@ + +fun i32 @main () { +init: + bid: b0 + allocations: + + +block b0: + j b1(0:i32) + +block b1: + %b1:p0:i32:i + %b1:i0:i32 = add %b1:p0:i32 1:i32 + %b1:i1:u1 = cmp lt %b1:i0:i32 4:i32 + br %b1:i1:u1, b1(%b1:i0:i32), b3() + +block b3: + ret %b1:p0:i32 +} diff --git a/examples/opt/struct.ir b/examples/opt/struct.ir index 45895b9..034b36e 100644 --- a/examples/opt/struct.ir +++ b/examples/opt/struct.ir @@ -1,5 +1,5 @@ -struct %t1 : { a:i8, %anon:struct %t0, c:f64 } struct %t0 : { b:[4 x [5 x i32]] } +struct %t1 : { a:i8, %anon:struct %t0, c:f64 } fun unit @init (i32, i32, [5 x i32]*) { init: diff --git a/examples/opt/struct2.ir b/examples/opt/struct2.ir index 1f2f45b..d1c1273 100644 --- a/examples/opt/struct2.ir +++ b/examples/opt/struct2.ir @@ -1,5 +1,5 @@ -struct %t1 : { a:i8, %anon:struct %t0, c:i64 } struct %t0 : { b:[4 x i32] } +struct %t1 : { a:i8, %anon:struct %t0, c:i64 } fun i32 @main () { init: diff --git a/examples/opt/swap.ir b/examples/opt/swap.ir new file mode 100644 index 0000000..4648e11 --- /dev/null +++ b/examples/opt/swap.ir @@ -0,0 +1,21 @@ + +fun i32 @main () { +init: + bid: b0 + allocations: + + +block b0: + j b1(1:i32, 2:i32) + +block b1: + %b1:p0:i32:a + %b1:p1:i32:b + %b1:i0:u1 = cmp eq %b1:p0:i32 1:i32 + br %b1:i0:u1, b1(%b1:p1:i32, %b1:p0:i32), b3() + +block b3: + %b3:i0:i32 = mul %b1:p1:i32 10:i32 + %b3:i1:i32 = add %b3:i0:i32 %b1:p0:i32 + ret %b3:i1:i32 +} diff --git a/rust-toolchain.toml b/rust-toolchain.toml index cb83ddb..787a54a 100644 --- a/rust-toolchain.toml +++ b/rust-toolchain.toml @@ -1,3 +1,3 @@ [toolchain] -channel = "1.83.0" +channel = "1.85.0" components = ["rustfmt", "clippy", "rust-analyzer"] diff --git a/src/asmgen/mod.rs b/src/asmgen/mod.rs index b28c71f..26ba255 100644 --- a/src/asmgen/mod.rs +++ b/src/asmgen/mod.rs @@ -1,9 +1,10 @@ -use std::collections::{HashMap, HashSet, VecDeque}; +use std::collections::{BTreeMap, HashMap, HashSet, VecDeque}; use lang_c::ast; use crate::ir::HasDtype; -use crate::{asm, ir, Translate}; +use crate::opt::opt_utils; +use crate::{Translate, asm, ir}; #[derive(Debug)] pub struct Asmgen {} diff --git a/src/c/ast_equiv.rs b/src/c/ast_equiv.rs index f86a36c..b4b0318 100644 --- a/src/c/ast_equiv.rs +++ b/src/c/ast_equiv.rs @@ -523,7 +523,7 @@ impl IsEquiv for AlignOf { } } -pub fn assert_ast_equiv(lhs: &TranslationUnit, rhs: &TranslationUnit) { +pub(crate) fn assert_ast_equiv(lhs: &TranslationUnit, rhs: &TranslationUnit) { if !lhs.is_equiv(rhs) { panic!( r#"assertion failed: `(left.is_equiv(right))` diff --git a/src/c/mod.rs b/src/c/mod.rs index 106f998..5d6e942 100644 --- a/src/c/mod.rs +++ b/src/c/mod.rs @@ -2,5 +2,5 @@ mod ast_equiv; mod parse; mod write_c; -pub use ast_equiv::assert_ast_equiv; +pub(crate) use ast_equiv::assert_ast_equiv; pub use parse::Parse; diff --git a/src/c/parse.rs b/src/c/parse.rs index 16e4550..04fa0a7 100644 --- a/src/c/parse.rs +++ b/src/c/parse.rs @@ -2,11 +2,11 @@ use core::ops::Deref; use std::path::Path; use lang_c::ast::*; -use lang_c::driver::{parse, Config, Error as ParseError}; +use lang_c::driver::{Config, Error as ParseError, parse}; use lang_c::span::Node; -use crate::utils::AssertSupported; use crate::Translate; +use crate::utils::AssertSupported; /// Parse Error #[derive(Debug)] @@ -616,7 +616,7 @@ impl AssertSupported for AlignOf { } #[inline] -pub fn is_valid_global_variable_declaration(decl: &Declaration) -> bool { +fn is_valid_global_variable_declaration(decl: &Declaration) -> bool { let declarators = &decl.declarators; declarators.iter().all(|init_decl| { @@ -629,7 +629,7 @@ pub fn is_valid_global_variable_declaration(decl: &Declaration) -> bool { } #[inline] -pub fn is_valid_global_variable_initializer(initializer: &Initializer) -> bool { +fn is_valid_global_variable_initializer(initializer: &Initializer) -> bool { match initializer { Initializer::Expression(expr) => match &expr.node { Expression::Constant(_) => true, diff --git a/src/ir/dtype.rs b/src/ir/dtype.rs index f769483..b914288 100644 --- a/src/ir/dtype.rs +++ b/src/ir/dtype.rs @@ -1,16 +1,13 @@ use core::convert::TryFrom; use core::fmt; -use core::ops::Deref; use std::collections::{HashMap, HashSet}; use std::hash::Hash; -use itertools::izip; use lang_c::ast; use lang_c::span::Node; use thiserror::Error; use crate::ir::*; -use crate::some_or; /// TODO(document) #[derive(Debug, PartialEq, Eq, Error)] @@ -227,13 +224,13 @@ impl BaseDtype { tq => { return Err(DtypeError::Misc { message: format!("unsupported typq qualifier: {tq:#?}"), - }) + }); } } Ok(()) } - pub fn apply_specifier_qualifier( + pub(crate) fn apply_specifier_qualifier( &mut self, typename_specifier: &ast::SpecifierQualifier, ) -> Result<(), DtypeError> { @@ -247,14 +244,14 @@ impl BaseDtype { sq => { return Err(DtypeError::Misc { message: format!("unsupported specifier qualifier: {sq:#?}"), - }) + }); } } Ok(()) } - pub fn apply_declaration_specifier( + pub(crate) fn apply_declaration_specifier( &mut self, declaration_specifier: &ast::DeclarationSpecifier, ) -> Result<(), DtypeError> { @@ -271,7 +268,7 @@ impl BaseDtype { ds => { return Err(DtypeError::Misc { message: format!("unsupported declaration qualifier: {ds:#?}"), - }) + }); } } @@ -289,7 +286,7 @@ impl BaseDtype { /// /// * `self` - Part that has been converted to 'BaseDtype' on the pointer declarator. /// * `pointer_qualifier` - Pointer qualifiers required to apply to 'BaseDtype' immediately. - pub fn apply_pointer_qualifier( + pub(crate) fn apply_pointer_qualifier( &mut self, pointer_qualifier: &ast::PointerQualifier, ) -> Result<(), DtypeError> { @@ -300,14 +297,14 @@ impl BaseDtype { pq => { return Err(DtypeError::Misc { message: format!("unsupported pointer qualifier: {pq:#?}"), - }) + }); } } Ok(()) } - pub fn apply_specifier_qualifiers( + pub(crate) fn apply_specifier_qualifiers( &mut self, typename_specifiers: &[Node], ) -> Result<(), DtypeError> { @@ -318,7 +315,7 @@ impl BaseDtype { Ok(()) } - pub fn apply_declaration_specifiers( + pub(crate) fn apply_declaration_specifiers( &mut self, declaration_specifiers: &[Node], ) -> Result<(), DtypeError> { @@ -445,7 +442,7 @@ impl TryFrom for Dtype { _ => { return Err(DtypeError::Misc { message: "two or more size modifiers in declaration specifiers".to_string(), - }) + }); } }; @@ -985,17 +982,18 @@ impl Dtype { .expect("`offsets` must be `Some`"); assert_eq!(fields.len(), offsets.len()); - for (field, &offset) in izip!(fields, offsets) { + for (field, &offset) in fields.iter().zip(offsets) { if let Some(name) = field.name() { if name == field_name { return Some((offset, field.deref().clone())); } } else { let field_dtype = field.deref(); - let (offset_inner, dtype) = some_or!( - field_dtype.get_offset_struct_field(field_name, structs), - continue - ); + let Some((offset_inner, dtype)) = + field_dtype.get_offset_struct_field(field_name, structs) + else { + continue; + }; return Some((offset + offset_inner, dtype)); } } diff --git a/src/ir/interp.rs b/src/ir/interp.rs index c51412b..b38629c 100644 --- a/src/ir/interp.rs +++ b/src/ir/interp.rs @@ -1,7 +1,6 @@ use core::{fmt, iter, mem}; use std::collections::HashMap; -use itertools::izip; use ordered_float::OrderedFloat; use thiserror::Error; @@ -184,8 +183,7 @@ impl Value { Dtype::Float { width, .. } => Self::float(f64::default(), *width), Dtype::Pointer { inner, .. } => Self::nullptr(inner.deref().clone()), Dtype::Array { inner, size } => { - let values = iter::repeat(Self::default_from_dtype(inner, structs)) - .take(*size) + let values = iter::repeat_n(Self::default_from_dtype(inner, structs), *size) .collect::, _>>()?; Self::array(inner.deref().clone(), values) } @@ -605,7 +603,7 @@ mod calculator { } // TODO: change to template function in the future - pub fn calculate_binary_operator_expression( + pub(crate) fn calculate_binary_operator_expression( op: &ast::BinaryOperator, lhs: Value, rhs: Value, @@ -675,7 +673,7 @@ mod calculator { } } - pub fn calculate_unary_operator_expression( + pub(crate) fn calculate_unary_operator_expression( op: &ast::UnaryOperator, operand: Value, ) -> Result { @@ -727,7 +725,7 @@ mod calculator { } } - pub fn calculate_typecast(value: Value, dtype: Dtype) -> Result { + pub(crate) fn calculate_typecast(value: Value, dtype: Dtype) -> Result { if value.dtype() == dtype { return Ok(value); } @@ -851,7 +849,7 @@ impl Byte { fn block_from_dtype(dtype: &Dtype, structs: &HashMap>) -> Vec { let size = dtype.size_align_of(structs).unwrap().0; - iter::repeat(Self::Undef).take(size).collect() + iter::repeat_n(Self::Undef, size).collect() } fn u128_to_bytes(mut value: u128, size: usize) -> Vec { @@ -889,27 +887,25 @@ impl Byte { width, is_signed, .. } => { let size = dtype.size_align_of(structs).unwrap().0; - let bytes = bytes.by_ref().take(size).collect::>(); - let value = some_or!( - bytes - .iter() - .map(|b| b.get_concrete()) - .collect::>>(), - return Ok(Value::undef(dtype.clone())) - ); + let Some(value) = bytes + .take(size) + .map(Byte::get_concrete) + .collect::>>() + else { + return Ok(Value::undef(dtype.clone())); + }; let value = Self::bytes_to_u128(&value, *is_signed); Ok(Value::int(value, *width, *is_signed)) } Dtype::Float { width, .. } => { let size = dtype.size_align_of(structs).unwrap().0; - let bytes = bytes.by_ref().take(size).collect::>(); - let value = some_or!( - bytes - .iter() - .map(|b| b.get_concrete()) - .collect::>>(), - return Ok(Value::undef(dtype.clone())) - ); + let Some(value) = bytes + .take(size) + .map(Byte::get_concrete) + .collect::>>() + else { + return Ok(Value::undef(dtype.clone())); + }; let value = Self::bytes_to_u128(&value, false); let value = if size == Dtype::SIZE_OF_FLOAT { f32::from_bits(value as u32) as f64 @@ -920,17 +916,13 @@ impl Byte { Ok(Value::float(value, *width)) } Dtype::Pointer { inner, .. } => { - let bytes = bytes - .by_ref() + let Some(value) = bytes .take(Dtype::SIZE_OF_POINTER) - .collect::>(); - let value = some_or!( - bytes - .iter() - .map(|b| b.get_pointer()) - .collect::>>(), - return Ok(Value::undef(dtype.clone())) - ); + .map(Byte::get_pointer) + .collect::>>() + else { + return Ok(Value::undef(dtype.clone())); + }; let (bid, offset, _) = value.first().expect("not empty"); @@ -983,13 +975,15 @@ impl Byte { let bytes = bytes.by_ref().take(*size).cloned().collect::>(); assert_eq!(fields.len(), offsets.len()); - let fields = izip!(fields, offsets) + let fields = fields + .iter() + .zip(offsets) .map(|(f, o)| { let mut sub_bytes = bytes[*o..].iter(); let value = Self::bytes_to_value(&mut sub_bytes, f.deref(), structs)?; Ok(Named::new(f.name().cloned(), value)) }) - .collect::, InterpreterError>>()?; + .collect::, _>>()?; Ok(Value::Struct { name: name.clone(), @@ -1010,9 +1004,9 @@ impl Byte { } => { let size = value.dtype().size_align_of(structs).unwrap().0; Self::u128_to_bytes(*int_value, size) - .iter() - .map(|b| Self::concrete(*b)) - .collect::>() + .into_iter() + .map(Self::concrete) + .collect() } Value::Float { value: float_value, .. @@ -1025,9 +1019,9 @@ impl Byte { }; Self::u128_to_bytes(value_bits, size) - .iter() - .map(|b| Self::concrete(*b)) - .collect::>() + .into_iter() + .map(Self::concrete) + .collect() } Value::Pointer { bid, offset, .. } => (0..Dtype::SIZE_OF_POINTER) .map(|i| Self::pointer(*bid, *offset, i)) @@ -1042,7 +1036,7 @@ impl Byte { .iter() .flat_map(|v| { let mut result = Self::value_to_bytes(v, structs); - result.extend(iter::repeat(Byte::Undef).take(padding)); + result.extend(iter::repeat_n(Byte::Undef, padding)); result }) .collect() @@ -1058,10 +1052,10 @@ impl Byte { .expect("`struct_type` must be struct type") .as_ref() .expect("`offsets` must be `Some`"); - let mut values = iter::repeat(Byte::Undef).take(*size_of).collect::>(); + let mut values = iter::repeat_n(Byte::Undef, *size_of).collect::>(); assert_eq!(fields.len(), offsets.len()); - izip!(fields, offsets).for_each(|(f, o)| { + fields.iter().zip(offsets).for_each(|(f, o)| { let result = Self::value_to_bytes(f.deref(), structs); let size_of_data = f.deref().dtype().size_align_of(structs).unwrap().0; let _unused = values.splice(*o..(*o + size_of_data), result); @@ -1270,7 +1264,9 @@ impl<'i> State<'i> { } // Execute a block exit. - let return_value = some_or!(self.interp_block_exit(&block.exit)?, return Ok(None)); + let Some(return_value) = self.interp_block_exit(&block.exit)? else { + return Ok(None); + }; // If it's returning from a function, pop the stack frame. @@ -1288,7 +1284,9 @@ impl<'i> State<'i> { } // restore previous state - let prev_stack_frame = some_or!(self.stack.pop(), return Ok(Some(return_value))); + let Some(prev_stack_frame) = self.stack.pop() else { + return Ok(Some(return_value)); + }; self.stack_frame = prev_stack_frame; // create temporary register to write return value @@ -1313,7 +1311,9 @@ impl<'i> State<'i> { ) -> Result, InterpreterError> { // Check that the dtype of each args matches the expected if !(args.len() == signature.params.len() - && izip!(args, &signature.params) + && args + .iter() + .zip(&signature.params) .all(|(a, d)| a.dtype().set_const(false) == d.clone().set_const(false))) { panic!("dtype of args and params must be compatible") @@ -1333,7 +1333,7 @@ impl<'i> State<'i> { .expect("block matched with `arg.bid` must be exist"); assert_eq!(arg.args.len(), block.phinodes.len()); - for (a, d) in izip!(&arg.args, &block.phinodes) { + for (a, d) in arg.args.iter().zip(&block.phinodes) { assert!(a.dtype().set_const(false) == d.deref().clone().set_const(false)); } @@ -1394,6 +1394,7 @@ impl<'i> State<'i> { fn interp_instruction(&mut self, instruction: &Instruction) -> Result<(), InterpreterError> { let result = match instruction { Instruction::Nop => Value::unit(), + Instruction::Value { value, .. } => self.interp_operand(value)?, Instruction::BinOp { op, lhs, rhs, .. } => { let lhs = self.interp_operand(lhs)?; let rhs = self.interp_operand(rhs)?; @@ -1469,7 +1470,7 @@ impl<'i> State<'i> { .expect("init block must exists"); if !(args.len() == block_init.phinodes.len() - && izip!(args, &block_init.phinodes).all(|(a, d)| { + && args.iter().zip(&block_init.phinodes).all(|(a, d)| { a.dtype().set_const(false) == d.deref().clone().set_const(false) })) { diff --git a/src/ir/mod.rs b/src/ir/mod.rs index e32c262..8c552d5 100644 --- a/src/ir/mod.rs +++ b/src/ir/mod.rs @@ -15,7 +15,7 @@ use std::hash::{Hash, Hasher}; pub use dtype::{Dtype, DtypeError, HasDtype}; use hexf_parse::{parse_hexf32, parse_hexf64}; -pub use interp::{interp, Value}; +pub use interp::{Value, interp}; use itertools::Itertools; use lang_c::ast; use ordered_float::OrderedFloat; @@ -192,6 +192,9 @@ pub struct Block { #[derive(Debug, Clone, PartialEq, Eq)] pub enum Instruction { Nop, + Value { + value: Operand, + }, BinOp { op: ast::BinaryOperator, lhs: Operand, @@ -233,6 +236,7 @@ impl HasDtype for Instruction { fn dtype(&self) -> Dtype { match self { Self::Nop | Self::Store { .. } => Dtype::unit(), + Self::Value { value } => value.dtype(), Self::BinOp { dtype, .. } | Self::UnaryOp { dtype, .. } | Self::Call { @@ -316,6 +320,7 @@ impl fmt::Display for Instruction { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { match self { Instruction::Nop => write!(f, "nop"), + Instruction::Value { value } => write!(f, "{value}"), Instruction::BinOp { op, lhs, rhs, .. } => { write!(f, "{} {} {}", op.write_operation(), lhs, rhs) } @@ -440,7 +445,7 @@ impl fmt::Display for JumpArg { self.bid, self.args .iter() - .format_with(", ", |a, f| f(&format_args!("{}", a))) + .format_with(", ", |a, f| f(&format_args!("{a}"))) ) } } diff --git a/src/ir/parse.rs b/src/ir/parse.rs index e4aafc2..10648e1 100644 --- a/src/ir/parse.rs +++ b/src/ir/parse.rs @@ -17,28 +17,25 @@ peg::parser! { pub rule translation_unit() -> TranslationUnit = _ named_structs:(named_struct() ** __) _ ds:(named_decl() ** __) _ { - let mut structs = HashMap::new(); - for named_struct in &named_structs { + let mut structs = named_structs.iter().map(|named_struct| { let name = named_struct.name.as_ref().unwrap(); let struct_type = &named_struct.inner; - let result = structs.insert(name.clone(), struct_type.clone()); - assert!(result.is_none()); - } + (name.clone(), struct_type.clone()) + }).collect::>(); // Resolve struct type in structs + // TODO: This is needed? for named_struct in named_structs { let name = named_struct.name.unwrap(); - let dtype = some_or!(structs.get(&name).unwrap(), continue); + let Some(dtype) = structs.get(&name).unwrap() else { + continue; + }; if dtype.get_struct_size_align_offsets().unwrap().is_none() { resolve_structs(dtype.clone(), &mut structs); } } - let mut decls = BTreeMap::new(); - for decl in ds { - let result = decls.insert(decl.name.unwrap(), decl.inner); - assert!(result.is_none()); - } + let mut decls = ds.into_iter().map(|decl| (decl.name.unwrap(), decl.inner)).collect::>(); TranslationUnit { decls, structs } } @@ -211,11 +208,10 @@ peg::parser! { rule instruction() -> (BlockId, usize, Named) = "%" bid:bid() ":i" number:number() ":" dtype:dtype() name:(":" name:id() { name })? _ "=" _ instruction:instruction_inner() { - // TODO: The dtype of `GetElementPtr` instruction depends on the situation. - // Let's `ptr` has `*[5 x i32]` type, after applying `GetElementPtr` instruction, - // the dtype of the result can be `*i32` or `*[5 x i32]` in the current KECC. - // For this reason, we need to check the dtype of the result to confirm the dtype - // of `GetElementPtr` instruction when parsing IR. + // TODO: The dtype of `GetElementPtr` instruction depends on the situation. Say `ptr` + // has type `*[5 x i32]`, after applying `GetElementPtr`, result' dtype can currently + // be `*i32` or `*[5 x i32]`. Thus, we need to check the dtype of the result to confirm + // the dtype of `GetElementPtr` instruction when parsing IR. let instruction = if let Instruction::GetElementPtr { ptr, offset, .. } = instruction { Instruction::GetElementPtr { ptr, offset, dtype } } else { @@ -319,6 +315,10 @@ peg::parser! { dtype: Dtype::unit(), // TODO } } + / + value:operand() { + Instruction::Value { value } + } / "" { todo!() diff --git a/src/ir/visualize.rs b/src/ir/visualize.rs index 9b6286c..c274ffd 100644 --- a/src/ir/visualize.rs +++ b/src/ir/visualize.rs @@ -2,8 +2,8 @@ use std::collections::HashMap; -use crate::ir::*; use crate::Translate; +use crate::ir::*; #[derive(Default, Debug)] pub struct Visualizer { diff --git a/src/ir/write_ir.rs b/src/ir/write_ir.rs index b20a328..482c05b 100644 --- a/src/ir/write_ir.rs +++ b/src/ir/write_ir.rs @@ -6,7 +6,9 @@ use crate::write_base::*; impl WriteLine for TranslationUnit { fn write_line(&self, indent: usize, write: &mut dyn Write) -> Result<()> { // TODO: consider KECC IR parser in the future. - for (name, struct_type) in &self.structs { + let mut structs = self.structs.iter().collect::>(); + structs.sort_unstable_by_key(|&(name, _)| name); + for (name, struct_type) in structs { let definition = if let Some(struct_type) = struct_type { let fields = struct_type .get_struct_fields() diff --git a/src/irgen/mod.rs b/src/irgen/mod.rs index d32ad9f..3ab0d04 100644 --- a/src/irgen/mod.rs +++ b/src/irgen/mod.rs @@ -426,10 +426,9 @@ impl Irgen { /// /// Returns error if the previous declearation is incompatible with `decl`. fn add_decl(&mut self, name: &str, decl: ir::Declaration) -> Result<(), IrgenError> { - let old_decl = some_or!( - self.decls.insert(name.to_string(), decl.clone()), - return Ok(()) - ); + let Some(old_decl) = self.decls.insert(name.to_string(), decl.clone()) else { + return Ok(()); + }; // Check if type is conflicting for pre-declared one if !old_decl.is_compatible(&decl) { @@ -781,9 +780,7 @@ fn is_invalid_structure(dtype: &ir::Dtype, structs: &HashMap #![deny( absolute_paths_not_starting_with_crate, - // Old, historical lint - // box_pointers, elided_lifetimes_in_paths, explicit_outlives_requirements, keyword_idents, @@ -16,25 +14,22 @@ macro_use_extern_crate, meta_variable_misuse, missing_abi, - // Most stuff are reasonably not copy. + // These are stupid. // missing_copy_implementations, - missing_debug_implementations, + // missing_debug_implementations, // TODO - // missing_docs + // missing_docs, non_ascii_idents, noop_method_call, rust_2021_incompatible_closure_captures, rust_2021_incompatible_or_patterns, rust_2021_prefixes_incompatible_syntax, rust_2021_prelude_collisions, - // Necessary for skeleton code. - // single_use_lifetimes, + single_use_lifetimes, trivial_casts, trivial_numeric_casts, - // Necessary for skeleton code. - // unreachable_pub, + unreachable_pub, unsafe_code, - unsafe_op_in_unsafe_fn, unstable_features, // Necessary for `build-bin` trick. // unused_crate_dependencies, @@ -44,7 +39,7 @@ unused_macro_rules, unused_qualifications, unused_results, - // Allowed for more flexible variants. + // This is stupid. Allowed for more flexible variants. // variant_size_differences, )] // For skeleton code. @@ -67,9 +62,9 @@ pub use c::Parse; pub use ir::{Parse as IrParse, Visualizer as IrVisualizer}; pub use irgen::Irgen; pub use opt::{ - Deadcode, FunctionPass, Gvn, Mem2reg, Optimize, Repeat, SimplifyCfg, SimplifyCfgConstProp, - SimplifyCfgEmpty, SimplifyCfgMerge, SimplifyCfgReach, O0, O1, + Deadcode, FunctionPass, Gvn, Mem2reg, O0, O1, Optimize, Repeat, SimplifyCfg, + SimplifyCfgConstProp, SimplifyCfgEmpty, SimplifyCfgMerge, SimplifyCfgReach, }; pub use tests::*; pub use utils::*; -pub use write_base::write; +pub(crate) use write_base::write; diff --git a/src/opt/mod.rs b/src/opt/mod.rs index ed53684..f8bb564 100644 --- a/src/opt/mod.rs +++ b/src/opt/mod.rs @@ -3,7 +3,7 @@ use crate::*; mod deadcode; mod gvn; mod mem2reg; -pub mod opt_utils; +pub(crate) mod opt_utils; mod simplify_cfg; pub use deadcode::Deadcode; @@ -43,9 +43,7 @@ impl Optimize for Null { impl, O2: Optimize> Optimize for (O1, O2) { fn optimize(&mut self, code: &mut T) -> bool { - let changed1 = self.0.optimize(code); - let changed2 = self.1.optimize(code); - changed1 || changed2 + self.0.optimize(code) | self.1.optimize(code) } } @@ -67,8 +65,7 @@ where fn optimize(&mut self, code: &mut ir::TranslationUnit) -> bool { code.decls .values_mut() - .map(|decl| self.optimize(decl)) - .fold(false, |l, r| l | r) + .fold(false, |b, decl| b | self.optimize(decl)) } } @@ -77,8 +74,9 @@ where T: Optimize, { fn optimize(&mut self, code: &mut ir::Declaration) -> bool { - let (_, fdef) = some_or!(code.get_function_mut(), return false); - let fdef = some_or!(fdef, return false); + let Some((_, Some(fdef))) = code.get_function_mut() else { + return false; + }; self.inner.optimize(fdef) } } diff --git a/src/tests.rs b/src/tests.rs index d4b2b84..57cfb88 100644 --- a/src/tests.rs +++ b/src/tests.rs @@ -1,7 +1,8 @@ use std::fs::{self, File}; -use std::io::{stderr, Read, Write}; +use std::io::{Read, Write, stderr}; use std::path::Path; use std::process::{Command, Stdio}; +use std::time::Duration; use lang_c::*; use rand::Rng; @@ -107,7 +108,7 @@ pub fn test_irgen(path: &Path) { .translate(&unit) .unwrap_or_else(|irgen_error| panic!("{}", irgen_error)); - let rand_num = rand::thread_rng().gen_range(1..100); + let rand_num = rand::rng().random_range(1..100); let new_c = modify_c(path, rand_num); modify_ir(&mut ir, rand_num); @@ -148,17 +149,15 @@ pub fn test_irgen(path: &Path) { .spawn() .expect("failed to execute the compiled executable"); - let status = some_or!( - child - .wait_timeout_ms(1000) - .expect("failed to obtain exit status from child process"), - { - println!("timeout occurs"); - child.kill().unwrap(); - let _ = child.wait().unwrap(); - ::std::process::exit(SKIP_TEST); - } - ); + let Some(status) = child + .wait_timeout(Duration::from_millis(1000)) + .expect("failed to obtain exit status from child process") + else { + println!("timeout occurs"); + child.kill().unwrap(); + let _ = child.wait().unwrap(); + ::std::process::exit(SKIP_TEST); + }; if child .stderr @@ -302,7 +301,7 @@ pub fn test_asmgen(path: &Path) { .translate(&ir) .expect("fail to create riscv assembly code"); - let rand_num = rand::thread_rng().gen_range(1..100); + let rand_num = rand::rng().random_range(1..100); modify_ir(&mut ir, rand_num); modify_asm(&mut asm, rand_num); @@ -345,17 +344,15 @@ pub fn test_asmgen(path: &Path) { .spawn() .expect("failed to execute the compiled executable"); - let status = some_or!( - child - .wait_timeout_ms(1000) - .expect("failed to obtain exit status from child process"), - { - println!("timeout occurs"); - child.kill().unwrap(); - let _ = child.wait().unwrap(); - ::std::process::exit(SKIP_TEST); - } - ); + let Some(status) = child + .wait_timeout(Duration::from_millis(1000)) + .expect("failed to obtain exit status from child process") + else { + println!("timeout occurs"); + child.kill().unwrap(); + let _ = child.wait().unwrap(); + ::std::process::exit(SKIP_TEST); + }; if child .stderr @@ -425,17 +422,15 @@ pub fn test_end_to_end(path: &Path) { .status() .expect("failed to remove compiled executable"); - let status = some_or!( - child - .wait_timeout_ms(1000) - .expect("failed to obtain exit status from child process"), - { - println!("timeout occurs"); - child.kill().unwrap(); - let _ = child.wait().unwrap(); - ::std::process::exit(SKIP_TEST); - } - ); + let Some(status) = child + .wait_timeout(Duration::from_millis(1000)) + .expect("failed to obtain exit status from child process") + else { + println!("timeout occurs"); + child.kill().unwrap(); + let _ = child.wait().unwrap(); + ::std::process::exit(SKIP_TEST); + }; if child .stderr @@ -508,17 +503,15 @@ pub fn test_end_to_end(path: &Path) { .spawn() .expect("failed to execute the compiled executable"); - let status = some_or!( - child - .wait_timeout_ms(1000) - .expect("failed to obtain exit status from child process"), - { - println!("timeout occurs"); - child.kill().unwrap(); - let _ = child.wait().unwrap(); - ::std::process::exit(SKIP_TEST); - } - ); + let Some(status) = child + .wait_timeout(Duration::from_millis(1000)) + .expect("failed to obtain exit status from child process") + else { + println!("timeout occurs"); + child.kill().unwrap(); + let _ = child.wait().unwrap(); + ::std::process::exit(SKIP_TEST); + }; if child .stderr diff --git a/src/utils.rs b/src/utils.rs index e9fe130..222c01e 100644 --- a/src/utils.rs +++ b/src/utils.rs @@ -1,14 +1,3 @@ -#[macro_export] -/// Some or executing the given expression. -macro_rules! some_or { - ($e:expr_2021, $err:expr_2021) => {{ - match $e { - Some(r) => r, - None => $err, - } - }}; -} - #[macro_export] /// Ok or exiting the process. macro_rules! ok_or_exit { @@ -24,7 +13,7 @@ macro_rules! ok_or_exit { } #[macro_export] -/// Ok or exiting the process. +/// Some or exiting the process. macro_rules! some_or_exit { ($e:expr_2021, $code:expr_2021) => {{ match $e { diff --git a/src/write_base.rs b/src/write_base.rs index 3d87f57..037cf12 100644 --- a/src/write_base.rs +++ b/src/write_base.rs @@ -1,12 +1,12 @@ use std::io::{Result, Write}; /// Write `indent` number of double spaces to `write`. -pub fn write_indent(indent: usize, write: &mut dyn Write) -> Result<()> { +pub(crate) fn write_indent(indent: usize, write: &mut dyn Write) -> Result<()> { write!(write, "{}", " ".repeat(indent)) } /// A trait for writing a type to a `Write` stream with a new line. -pub trait WriteLine { +pub(crate) trait WriteLine { /// Write `self` to `write`, starting at `indent` number of double spaces, with a newline at the /// end. fn write_line(&self, indent: usize, write: &mut dyn Write) -> Result<()>; @@ -15,7 +15,7 @@ pub trait WriteLine { /// Essentially the same as [`ToString`]. /// /// Exists to make some foreign types into a string. -pub trait WriteString { +pub(crate) trait WriteString { /// See [`ToString::to_string`]. fn write_string(&self) -> String; } @@ -44,6 +44,6 @@ impl WriteString for Option { } /// Write `t` to `write`. -pub fn write(t: &T, write: &mut dyn Write) -> Result<()> { +pub(crate) fn write(t: &T, write: &mut dyn Write) -> Result<()> { t.write_line(0, write) }