[ 0:00] + cat [ 0:00] + sim --symbolic src.cpp [ 0:00] compiling src.cpp [ 0:00] [ 0:06] ^ —————. —.— . . —.— . . .————— . . [ 0:06] ——— | | | | | | |\ | | | | [ 0:06] —(o)— | | | | | | | \ | |———— '————| [ 0:06] ——————— | | | \ / | | \| | | [ 0:06] ————————— —————' —'— ' —'— ' ' '————— ' [ 0:06] [ 0:06] Welcome to 'divine sim', an interactive debugger. Type 'help' to get started. [ 0:06] # executing __boot at /dios/config/common.hpp:28 [ 0:06] > start [ 0:06] ▶ state #1 [new] -- active threads: [0:0] -- [ 0:06] ▶ state #2 [new] -- active threads: [0:0] -- [ 0:06] ▶ state #3 [new] -- active threads: [0:0] -- [ 0:06] ▶ state #4 [new] -- active threads: [0:0] -- [ 0:06] ▶ state #5 [new] -- active threads: [0:0] -- [ 0:06] ▶ state #6 [new] -- active threads: [0:0] -- [ 0:06] ▶ state #7 [new] -- active threads: [0:0] -- [ 0:06] ▶ state #8 [new] -- active threads: [0:0] -- [ 0:06] ▶ state #9 [new] -- active threads: [0:0] -- [ 0:06] ▶ state #10 [new] -- active threads: [0:0] -- [ 0:06] ▶ state #11 [new] -- active threads: [0:0] -- [ 0:06] ▶ state #12 [new] -- active threads: [0:0] -- [ 0:06] ▶ state #13 [new] -- active threads: [0:0] -- [ 0:06] ▶ state #14 [new] -- active threads: [0:0] -- [ 0:06] ▶ state #15 [new] -- active threads: [0:0] -- [ 0:06] ▶ state #16 [new] -- active threads: [0:0] -- [ 0:06] ▶ state #17 [new] -- active threads: [0:0] -- [ 0:06] ▶ state #18 [new] -- active threads: [0:0] -- [ 0:06] ▶ state #19 [new] -- active threads: [0:0] -- [ 0:06] ▶ state #20 [new] -- active threads: [0:0] -- [ 0:06] ▶ state #21 [new] -- active threads: [0:0] -- [ 0:06] ▶ state #22 [new] -- active threads: [0:0] -- [ 0:06] ▶ state #23 [new] -- active threads: [0:0] -- [ 0:06] ▶ state #24 [new] -- active threads: [0:0] -- [ 0:06] ▶ state #25 [new] -- active threads: [0:0] -- [ 0:06] ▶ state #26 [new] -- active threads: [0:0] -- [ 0:06] ▶ state #27 [new] -- active threads: [0:0] -- [ 0:06] ▶ state #28 [new] -- active threads: [0:0] -- [ 0:06] ▶ state #29 [new] -- active threads: [0:0] -- [ 0:06] ▶ state #30 [new] -- active threads: [0:0] -- [ 0:06] ▶ state #31 [new] -- active threads: [0:0] -- [ 0:06] ▶ state #32 [new] -- active threads: [0:0] -- [ 0:06] ▶ state #33 [new] -- active threads: [0:0] -- [ 0:06] ▶ state #34 [new] -- active threads: [0:0] -- [ 0:06] ▶ state #35 [new] -- active threads: [0:0] -- [ 0:06] ▶ state #36 [new] -- active threads: [0:0] -- [ 0:06] ▶ state #37 [new] -- active threads: [0:0] -- [ 0:06] ▶ state #38 [new] -- active threads: [0:0] -- [ 0:06] ▶ state #39 [new] -- active threads: [0:0] -- [ 0:06] ▶ state #40 [new] -- active threads: [0:0] -- [ 0:06] ▶ state #41 [new] -- active threads: [0:0] -- [ 0:06] ▶ state #42 [new] -- active threads: [0:0] -- [ 0:06] ▶ state #43 [new] -- active threads: [0:0] -- [ 0:06] ▶ state #44 [new] -- active threads: [0:0] -- [ 0:06] ▶ state #45 [new] -- active threads: [0:0] -- [ 0:06] ▶ state #46 [new] -- active threads: [0:0] -- [ 0:06] ▶ state #47 [new] -- active threads: [0:0] -- [ 0:06] ▶ state #48 [new] -- active threads: [0:0] -- [ 0:06] ▶ state #49 [new] -- active threads: [0:0] -- [ 0:06] ▶ state #50 [new] -- active threads: [0:0] -- [ 0:06] ▶ state #51 [new] -- active threads: [0:0] -- [ 0:06] ▶ state #52 [new] -- active threads: [0:0] -- [ 0:06] ▶ state #53 [new] -- active threads: [0:0] -- [ 0:06] ▶ state #54 [new] -- active threads: [0:0] -- [ 0:06] ▶ state #55 [new] -- active threads: [0:0] -- [ 0:06] ▶ state #56 [new] -- active threads: [0:0] -- [ 0:06] ▶ state #57 [new] -- active threads: [0:0] -- [ 0:06] ▶ state #58 [new] -- active threads: [0:0] -- [ 0:06] ▶ state #59 [new] -- active threads: [0:0] -- [ 0:06] ▶ state #60 [new] -- active threads: [0:0] -- [ 0:06] ▶ state #61 [new] -- active threads: [0:0] -- [ 0:06] ▶ state #62 [new] -- active threads: [0:0] -- [ 0:06] ▶ state #63 [new] -- active threads: [0:0] -- [ 0:06] ▶ state #64 [new] -- active threads: [0:0] -- [ 0:06] ▶ state #65 [new] -- active threads: [0:0] -- [ 0:06] ▶ state #66 [new] -- active threads: [0:0] -- [ 0:06] ▶ state #67 [new] -- active threads: [0:0] -- [ 0:06] ▶ state #68 [new] -- active threads: [0:0] -- [ 0:06] ▶ state #69 [new] -- active threads: [0:0] -- [ 0:06] ▶ state #70 [new] -- active threads: [0:0] -- [ 0:06] ▶ state #71 [new] -- active threads: [0:0] -- [ 0:06] ▶ state #72 [new] -- active threads: [0:0] -- [ 0:06] ▶ state #73 [new] -- active threads: [0:0] -- [ 0:06] ▶ state #74 [new] -- active threads: [0:0] -- [ 0:06] ▶ state #75 [new] -- active threads: [0:0] -- [ 0:06] ▶ state #76 [new] -- active threads: [0:0] -- [ 0:06] ▶ state #77 [new] -- active threads: [0:0] -- [ 0:06] ▶ state #78 [new] -- active threads: [0:0] -- [ 0:06] ▶ state #79 [new] -- active threads: [0:0] -- [ 0:06] ▶ state #80 [new] -- active threads: [0:0] -- [ 0:06] ▶ state #81 [new] -- active threads: [0:0] -- [ 0:07] ▶ state #82 [new] -- active threads: [0:0] -- [ 0:07] ▶ state #83 [new] -- active threads: [0:0] -- [ 0:07] ▶ state #84 [new] -- active threads: [0:0] -- [ 0:07] ▶ state #85 [new] -- active threads: [0:0] -- [ 0:07] ▶ state #86 [new] -- active threads: [0:0] -- [ 0:07] ▶ state #87 [new] -- active threads: [0:0] -- [ 0:07] ▶ state #88 [new] -- active threads: [0:0] -- [ 0:07] ▶ state #89 [new] -- active threads: [0:0] -- [ 0:07] ▶ state #90 [new] -- active threads: [0:0] -- [ 0:07] ▶ state #91 [new] -- active threads: [0:0] -- [ 0:07] ▶ state #92 [new] -- active threads: [0:0] -- [ 0:07] ▶ state #93 [new] -- active threads: [0:0] -- [ 0:07] ▶ state #94 [new] -- active threads: [0:0] -- [ 0:07] ▶ state #95 [new] -- active threads: [0:0] -- [ 0:07] ▶ state #96 [new] -- active threads: [0:0] -- [ 0:07] ▶ state #97 [new] -- active threads: [0:0] -- [ 0:07] ▶ state #98 [new] -- active threads: [0:0] -- [ 0:07] ▶ state #99 [new] -- active threads: [0:0] -- [ 0:07] ▶ state #100 [new] -- active threads: [0:0] -- [ 0:07] ▶ state #101 [new] -- active threads: [0:0] -- [ 0:07] ▶ state #102 [new] -- active threads: [0:0] -- [ 0:07] ▶ state #103 [new] -- active threads: [0:0] -- [ 0:07] ▶ state #104 [new] -- active threads: [0:0] -- [ 0:07] ▶ state #105 [new] -- active threads: [0:0] -- [ 0:07] ▶ state #106 [new] -- active threads: [0:0] -- [ 0:07] ▶ state #107 [new] -- active threads: [0:0] -- [ 0:07] ▶ state #108 [new] -- active threads: [0:0] -- [ 0:07] ▶ state #109 [new] -- active threads: [0:0] -- [ 0:07] ▶ state #110 [new] -- active threads: [0:0] -- [ 0:07] ▶ state #111 [new] -- active threads: [0:0] -- [ 0:07] ▶ state #112 [new] -- active threads: [0:0] -- [ 0:07] ▶ state #113 [new] -- active threads: [0:0] -- [ 0:07] ▶ state #114 [new] -- active threads: [0:0] -- [ 0:07] ▶ state #115 [new] -- active threads: [0:0] -- [ 0:07] ▶ state #116 [new] -- active threads: [0:0] -- [ 0:07] ▶ state #117 [new] -- active threads: [0:0] -- [ 0:07] ▶ state #118 [new] -- active threads: [0:0] -- [ 0:07] # executing main at src.cpp:22 [ 0:07] > break __lart_abstract.tobool.i1 [ 0:07] # executing main at src.cpp:22 [ 0:07] > step --out [ 0:07] call @_Z3foov [ 0:07] call @__lart_new_frame [ 0:07] %09 = icmp.eq %04 [i64 0 d] # [i1 0 1] [ 0:07] br %09 label %0b label %if.then5.i.i [ 0:07] %0c = inttoptr %04 # [weak* f9764cef 0 ddp] [ 0:07] %0d = vm.obj.size %0c # [i32 8 d] [ 0:07] %0e = ashr %0d [i32 3 d] # [i32 1 d] [ 0:07] %0f = add %0e [i32 1 d] # [i32 2 d] [ 0:07] %12 = icmp.eq %0f [i32 0 d] # [i1 0 1] [ 0:07] br %12 label %if.else9.i.i label %if.then2.i.i [ 0:07] %1d = shl %0f [i32 3 d] # [i32 16 d] [ 0:07] vm.obj.resize %0c %1d [ 0:07] br label %20 [ 0:07] %27 = vm.obj.size %22 # [i32 16 d] [ 0:07] %28 = ashr %27 [i32 3 d] # [i32 2 d] [ 0:07] %29 = sext %28 # [i64 2 d] [ 0:07] %2a = getelementptr %23 [i64 0 d] [i32 0 d] %29 # [weak* f9764cef 10h ddp] [ 0:07] %2d = getelementptr %2a # [weak* f9764cef 8 ddp] [ 0:07] [i64 18446744073709551615 d] [i32 0 d] [i32 0 d] [ 0:07] store [global* 0 0 ddn] %2d [ 0:07] %31 = icmp.eq %21 [i64 0 d] # [i1 0 1] [ 0:07] br %31 label %33 label %38 [ 0:07] %35 = inttoptr %21 # [weak* f9764cef 0 ddp] [ 0:07] %36 = vm.obj.size %35 # [i32 16 d] [ 0:07] br label %38 [ 0:07] %02 = alloca [i32 1 d] # [alloca* a9127ed 0 ddp] [ 0:07] %03 = alloca [i32 1 d] # [alloca* 685f438 0 ddp] [ 0:07] call @llvm.lifetime.start.p0i8 [i64 4 d] %04 [ 0:07] %07 = call @__lamp_any_i32 # [i32 0 u] [ 0:07] %01 = alloca [i32 1 d] # [alloca* f4f1c55 0 ddp] [ 0:07] call @llvm.lifetime.start.p0i8 [i64 8 d] %02 [ 0:07] call @_ZN6__lamp11semilatticeINS_11with_memoryIN6__lava4termEEEL15_VM_PointerType5EE3anyIjEES6_v.996 [ 0:07] %01 [ 0:07] %05 = alloca [i32 1 d] # [alloca* 6235b20 0 ddp] [ 0:07] %06 = alloca [i32 1 d] # [alloca* fc9b857 0 ddp] [ 0:07] call @llvm.lifetime.start.p0i8 [i64 8 d] %07 [ 0:07] %0a = getelementptr %05 [i64 0 d] [i32 0 d] # [alloca* 6235b20 0 ddp] [ 0:07] call @llvm.lifetime.start.p0i8 [i64 3 d] %0a [ 0:07] %0c = load [global* 146 0 ddp] # [i32 0 d] [ 0:07] %0d = add %0c [i32 1 d] # [i32 1 d] [ 0:07] store %0d [global* 146 0 ddp] [ 0:07] store [i8 9 d] %0a [ 0:07] %14 = trunc %0d # [i16 1 d] [ 0:07] %17 = getelementptr %05 [i64 0 d] [i32 1 d] # [alloca* 6235b20 1 ddp] [ 0:07] store %14 %18 [ 0:07] %1e = getelementptr %06 [i64 0 d] [i32 0 d] # [alloca* fc9b857 0 ddp] [ 0:07] [i32 0 d] [ 0:07] %27 = vm.obj.make [i32 1 d] [i32 4 d] # [marked* f51c6385 0 ddp] [ 0:07] %28 = ptrtoint %27 # [i64 17662101261522042880 dp] [ 0:07] store %27 %29 [ 0:07] %2d = icmp.eq %27 [global* 0 0 ddn] # [i1 0 1] [ 0:07] br %2d label %2f label %41 [ 0:07] %32 = vm.obj.size %27 # [i32 1 d] [ 0:07] %33 = sext %32 # [i64 1 d] [ 0:07] %34 = getelementptr %30 [i64 0 d] [i32 0 d] %33 # [marked* f51c6385 1 ddp] [ 0:07] %39 = icmp.eq %27 %34 # [i1 0 1] [ 0:07] br %39 label %3b label %41 [ 0:07] %3c = sub [i64 0 d] %28 # [i64 784642812187508736 d] [ 0:07] %3d = getelementptr %34 %3c # [global* 0 1 ddn] [ 0:07] %3e = ptrtoint %3d # [i64 1 d] [ 0:07] %3f = call @memset.915 %27 [i32 255 d] %3e # [global* 0 0 uun] [ 0:07] br label %41 [ 0:07] call @_ZN3brq8smt_exprIN6__lava20marked_array_adaptorEJEE5applyItEEvRKNS_10smt_atom_tIT_Xcl12storage_sizeIS6_EEEEE.958 [ 0:07] %1e %05 [ 0:07] %05 = alloca [i32 1 d] # [alloca* da10fd4 0 ddp] [ 0:07] %09 = getelementptr [alloca* 6235b20 0 ddp] # [alloca* 6235b20 0 ddp] [ 0:07] [i64 0 d] [i32 0 d] [ 0:07] %0a = load %09 # [i8 9 d] [ 0:07] switch %0a label %46 [i8 81 d] label %sw.bb1194.i.i.i [i8 82 d] [ 0:07] label %sw.bb1179.i.i.i [i8 79 d] label %sw.bb1150.i.i.i [i8 31 d] [ 0:07] label %sw.bb449.i.i.i [i8 30 d] label %sw.bb435.i.i.i [i8 5 d] [ 0:07] label %sw.bb64.i.i.i [i8 6 d] label %sw.bb78.i.i.i [i8 7 d] [ 0:07] label %sw.bb93.i.i.i [i8 8 d] label %sw.bb108.i.i.i [i8 9 d] [ 0:07] label %sw.bb123.i.i.i [i8 10 d] label %sw.bb138.i.i.i [i8 11 d] [ 0:07] label %sw.bb153.i.i.i [i8 12 d] label %sw.bb168.i.i.i [i8 13 d] [ 0:07] label %sw.bb183.i.i.i [i8 14 d] label %sw.bb198.i.i.i [i8 15 d] [ 0:07] label %sw.bb213.i.i.i [i8 16 d] label %sw.bb228.i.i.i [i8 17 d] [ 0:07] label %sw.bb243.i.i.i [i8 18 d] label %sw.bb258.i.i.i [i8 19 d] [ 0:07] label %sw.bb273.i.i.i [i8 27 d] label %sw.bb421.i.i.i [i8 26 d] [ 0:07] label %sw.bb407.i.i.i [i8 22 d] label %sw.bb317.i.i.i [i8 23 d] [ 0:07] label %sw.bb332.i.i.i [i8 25 d] label %sw.bb347.i.i.i [i8 24 d] [ 0:07] label %sw.bb362.i.i.i [i8 29 d] label %sw.bb377.i.i.i [i8 28 d] [ 0:07] label %sw.bb392.i.i.i [ 0:07] br label %46 [ 0:07] %48 = trunc %47 # [i32 3 d] [ 0:07] %4d = getelementptr [alloca* fc9b857 0 ddp] # [alloca* fc9b857 0 ddp] [ 0:07] [i64 0 d] [i32 0 d] [i32 0 d] [i32 0 d] [ 0:07] %4e = load %4d # [marked* f51c6385 0 ddp] [ 0:07] %4f = icmp.eq %4e [global* 0 0 ddn] # [i1 0 1] [ 0:07] br %4f label %cond.false.i.i label %57 [ 0:07] %52 = getelementptr %4e [i64 0 d] [i32 0 d] # [marked* f51c6385 0 ddp] [ 0:07] [i64 0 d] [ 0:07] %53 = vm.obj.size %52 # [i32 1 d] [ 0:07] %54 = add %53 [i32 4294967295 d] # [i32 0 d] [ 0:07] %55 = load %4d # [marked* f51c6385 0 ddp] [ 0:07] br label %57 [ 0:07] %60 = getelementptr %58 [i64 0 d] [i32 0 d] # [marked* f51c6385 0 ddp] [ 0:07] [i64 0 d] [ 0:07] %62 = vm.obj.size %60 # [i32 1 d] [ 0:07] %63 = sext %62 # [i64 1 d] [ 0:07] %64 = getelementptr %58 [i64 0 d] [i32 0 d] %63 # [marked* f51c6385 1 ddp] [ 0:07] %65 = getelementptr %64 # [marked* f51c6385 0 ddp] [ 0:07] [i64 18446744073709551615 d] [ 0:07] %66 = load %65 # [i8 255 d] [ 0:07] %6a = getelementptr [alloca* fc9b857 0 ddp] # [alloca* fc9b857 0 ddp] [ 0:07] [i64 0 d] [i32 0 d] [i32 0 d] [ 0:07] %6b = add %48 [i32 1 d] # [i32 4 d] [ 0:07] %6c = add %6b %59 # [i32 4 d] [ 0:07] call @llvm.lifetime.start.p0i8 [i64 1 d] %05 [ 0:07] store [i8 0 d] %05 [ 0:07] call @_ZN6__dios5ArrayIhLi4EE6resizeEiRKh.917 %6a %6c %05 [ 0:07] %0a = getelementptr [alloca* fc9b857 0 ddp] # [alloca* fc9b857 0 ddp] [ 0:07] [i64 0 d] [i32 0 d] [ 0:07] %0b = load %0a # [marked* f51c6385 0 ddp] [ 0:07] %0c = icmp.eq %0b [global* 0 0 ddn] # [i1 0 1] [ 0:07] br %0c label %cond.false.i label %13 [ 0:07] %0f = getelementptr %0b [i64 0 d] [i32 0 d] # [marked* f51c6385 0 ddp] [ 0:07] [i64 0 d] [ 0:07] %10 = vm.obj.size %0f # [i32 1 d] [ 0:07] %11 = load %0a # [marked* f51c6385 0 ddp] [ 0:07] br label %13 [ 0:07] %19 = icmp.eq [i32 4 d] [i32 0 d] # [i1 0 1] [ 0:07] %1a = icmp.eq %14 [global* 0 0 ddn] # [i1 0 1] [ 0:07] %1b = getelementptr %14 [i64 0 d] [i32 0 d] # [marked* f51c6385 0 ddp] [ 0:07] [i64 0 d] [ 0:07] br %19 label %if.else.i label %if.then.i [ 0:07] br %1a label %if.else9.i label %if.then5.i [ 0:07] vm.obj.resize %1b [i32 4 d] [ 0:07] br label %2f [ 0:07] %30 = icmp.slt %15 [i32 4 d] # [i1 1 1] [ 0:07] br %30 label %if.end label %if.then [ 0:07] %34 = load %0a # [marked* f51c6385 0 ddp] [ 0:07] %35 = sext %15 # [i64 1 d] [ 0:07] %36 = getelementptr %34 [i64 0 d] [i32 0 d] %35 # [marked* f51c6385 1 ddp] [ 0:07] %38 = icmp.eq %34 [global* 0 0 ddn] # [i1 0 1] [ 0:07] br %38 label %3a label %42 [ 0:07] %3b = getelementptr %34 [i64 0 d] [i32 0 d] # [marked* f51c6385 0 ddp] [ 0:07] [i64 0 d] [ 0:07] %3e = vm.obj.size %3b # [i32 4 d] [ 0:07] %3f = sext %3e # [i64 4 d] [ 0:07] %40 = getelementptr %34 [i64 0 d] [i32 0 d] %3f # [marked* f51c6385 4 ddp] [ 0:07] br label %42 [ 0:07] %49 = icmp.eq %36 %43 # [i1 0 1] [ 0:07] br %49 label %for.body.i label %if.end [ 0:07] %4e = load [alloca* da10fd4 0 ddp] # [i8 0 d] [ 0:07] store %4e %4c [ 0:07] %50 = getelementptr %4c [i64 1 d] # [marked* f51c6385 2 ddp] [ 0:07] %52 = icmp.eq %50 %43 # [i1 0 1] [ 0:07] br %52 label %for.body.i label %if.end [ 0:07] %4e = load [alloca* da10fd4 0 ddp] # [i8 0 d] [ 0:07] store %4e %4c [ 0:07] %50 = getelementptr %4c [i64 1 d] # [marked* f51c6385 3 ddp] [ 0:07] %52 = icmp.eq %50 %43 # [i1 0 1] [ 0:07] br %52 label %for.body.i label %if.end [ 0:07] %4e = load [alloca* da10fd4 0 ddp] # [i8 0 d] [ 0:07] store %4e %4c [ 0:07] %50 = getelementptr %4c [i64 1 d] # [marked* f51c6385 4 ddp] [ 0:07] %52 = icmp.eq %50 %43 # [i1 1 1] [ 0:07] br %52 label %for.body.i label %if.end [ 0:07] ret [ 0:07] call @llvm.lifetime.end.p0i8 [i64 1 d] %05 [ 0:07] %73 = load %4d # [marked* f51c6385 0 ddp] [ 0:07] %75 = getelementptr %73 [i64 0 d] [i32 0 d] # [marked* f51c6385 0 ddp] [ 0:07] [i64 0 d] [ 0:07] %77 = vm.obj.size %75 # [i32 4 d] [ 0:07] %78 = sext %77 # [i64 4 d] [ 0:07] %79 = getelementptr %73 [i64 0 d] [i32 0 d] %78 # [marked* f51c6385 4 ddp] [ 0:07] %7a = getelementptr %79 # [marked* f51c6385 3 ddp] [ 0:07] [i64 18446744073709551615 d] [ 0:07] store %66 %7a [ 0:07] %7e = load %4d # [marked* f51c6385 0 ddp] [ 0:07] %7f = icmp.eq %7e [global* 0 0 ddn] # [i1 0 1] [ 0:07] br %7f label %81 label %89 [ 0:07] %83 = getelementptr %7e [i64 0 d] [i32 0 d] # [marked* f51c6385 0 ddp] [ 0:07] [i64 0 d] [ 0:07] %85 = vm.obj.size %83 # [i32 4 d] [ 0:07] %86 = sext %85 # [i64 4 d] [ 0:07] %87 = getelementptr %7e [i64 0 d] [i32 0 d] %86 # [marked* f51c6385 4 ddp] [ 0:07] br label %89 [ 0:07] %8b = getelementptr %8a # [marked* f51c6385 3 ddp] [ 0:07] [i64 18446744073709551615 d] [ 0:07] %8c = sub [i64 0 d] %47 # [i64 18446744073709551613 d] [ 0:07] %8d = getelementptr %8b %8c # [marked* f51c6385 0 ddp] [ 0:07] %93 = call @memcpy.918 %8d %09 %47 # [global* 0 0 uun] [ 0:07] ret [ 0:07] call @llvm.lifetime.end.p0i8 [i64 3 d] %0a [ 0:07] %48 = getelementptr %06 [i64 0 d] [i32 0 d] # [alloca* fc9b857 0 ddp] [ 0:07] [i32 0 d] [i32 0 d] [i32 0 d] [i32 0 d] [ 0:07] %49 = load %48 # [marked* f51c6385 0 ddp] [ 0:07] %4a = getelementptr %49 [i64 0 d] [i32 0 d] # [marked* f51c6385 0 ddp] [ 0:07] [i64 0 d] [ 0:07] store [global* 0 0 ddn] %48 [ 0:07] store %4a %51 [ 0:07] %58 = vm.obj.size %4a # [i32 4 d] [ 0:07] %59 = sext %58 # [i64 4 d] [ 0:07] %5a = getelementptr %56 [i64 0 d] [i32 0 d] %59 # [marked* f51c6385 4 ddp] [ 0:07] %5b = getelementptr %5a # [marked* f51c6385 3 ddp] [ 0:07] [i64 18446744073709551615 d] [ 0:07] store [i8 0 d] %5b [ 0:07] %5d = load %48 # [global* 0 0 ddn] [ 0:07] %5e = icmp.eq %5d [global* 0 0 ddn] # [i1 1 1] [ 0:07] br %5e label %if.end.i.i label %6a [ 0:07] call @llvm.lifetime.end.p0i8 [i64 8 d] %07 [ 0:07] ret [ 0:07] %05 = getelementptr %01 [i64 0 d] [i32 0 d] # [alloca* f4f1c55 0 ddp] [ 0:07] [i32 0 d] [i32 0 d] [ 0:07] %06 = load %05 # [marked* f51c6385 0 ddp] [ 0:07] %07 = getelementptr %06 [i64 0 d] [i32 0 d] # [marked* f51c6385 0 ddp] [ 0:07] [i64 0 d] [ 0:07] store [global* 0 0 ddn] %05 [ 0:07] call @__lart_stash_ret.922 %07 [ 0:07] %0b = load %05 # [global* 0 0 ddn] [ 0:07] %0c = icmp.eq %0b [global* 0 0 ddn] # [i1 1 1] [ 0:07] br %0c label %if.end.i.i.i label %1b [ 0:07] call @llvm.lifetime.end.p0i8 [i64 8 d] %02 [ 0:07] %1d = load [global* 31 0 ddp] # [i32 0 dt] [ 0:07] ret %1d [ 0:07] %08 = call @__lart_unstash_ret # [global* 0 0 uun] [ 0:07] br %0f label %11 label %19 [ 0:07] %14 = vm.obj.size %13 # [i32 16 d] [ 0:07] %15 = ashr %14 [i32 3 d] # [i32 2 d] [ 0:07] %16 = sext %15 # [i64 2 d] [ 0:07] %17 = getelementptr %0c [i64 0 d] [i32 0 d] %16 # [weak* f9764cef 10h ddp] [ 0:07] br label %19 [ 0:07] %1b = getelementptr %1a # [weak* f9764cef 8 ddp] [ 0:07] [i64 18446744073709551615 d] [i32 0 d] [ 0:07] %22 = load %21 # [global* 0 0 ddn] [ 0:07] %23 = icmp.eq %22 [global* 0 0 ddn] # [i1 1 1] [ 0:07] br %23 label %25 label %if.then5.i.i [ 0:07] store %39 %3a [ 0:07] br label %43 [ 0:07] %49 = vm.obj.size %44 # [i32 8 d] [ 0:07] %4a = ashr %49 [i32 3 d] # [i32 1 d] [ 0:07] %4b = sext %4a # [i64 1 d] [ 0:07] %4c = getelementptr %45 [i64 0 d] [i32 0 d] %4b # [weak* fcd85b22 8 ddp] [ 0:07] %4d = getelementptr %4c # [weak* fcd85b22 0 ddp] [ 0:07] [i64 18446744073709551615 d] [ 0:07] store %05 %4e [ 0:07] br label %return [ 0:07] store %07 %02 [ 0:07] vm.test.crit %09 [i32 4 d] [i32 2 d] __dios_reschedule [ 0:07] ▶ state #119 [new] -- active threads: [0:0] -- [ 0:07] %0c = vm.test.taint __lart_abstract.freeze.i32 # [global* 0 0 uun] [ 0:07] [global* 0 0 ddn] %07 %08 %02 [ 0:07] call @__lamp_freeze [marked* f51c6385 0 ddp] %09 [i8 4 d] [ 0:07] %05 = alloca [i32 1 d] # [alloca* 1b5769b 0 ddp] [ 0:07] %06 = alloca [i32 1 d] # [alloca* 1708c72 0 ddp] [ 0:07] %07 = alloca [i32 1 d] # [alloca* 645af77 0 ddp] [ 0:07] %08 = alloca [i32 1 d] # [alloca* ac2351b 0 ddp] [ 0:07] %09 = alloca [i32 1 d] # [alloca* a1373e3 0 ddp] [ 0:07] %0a = alloca [i32 1 d] # [alloca* c0d65f1 0 ddp] [ 0:07] call @llvm.lifetime.start.p0i8 [i64 8 d] %11 [ 0:07] store [marked* f51c6385 0 ddp] %1c [ 0:07] call @llvm.lifetime.start.p0i8 [i64 8 d] %1e [ 0:07] %20 = getelementptr %09 [i64 0 d] [i32 0 d] # [alloca* a1373e3 0 ddp] [ 0:07] call @_ZNK6__lamp11semilatticeINS_11with_memoryIN6__lava4termEEEL15_VM_PointerType5EE5cloneEv.987 [ 0:07] %0a %20 [ 0:07] %05 = alloca [i32 1 d] # [alloca* 4959631 0 ddp] [ 0:07] %06 = alloca [i32 1 d] # [alloca* 65acc7e 0 ddp] [ 0:07] %0f = getelementptr [alloca* a1373e3 0 ddp] # [alloca* a1373e3 0 ddp] [ 0:07] [i64 0 d] [i32 0 d] [i32 0 d] [i32 0 d] [ 0:07] %10 = load %0f # [marked* f51c6385 0 ddp] [ 0:07] %12 = getelementptr %10 [i64 0 d] [i32 0 d] # [marked* f51c6385 0 ddp] [ 0:07] [i64 0 d] [ 0:07] %14 = vm.obj.size %12 # [i32 4 d] [ 0:07] %15 = sext %14 # [i64 4 d] [ 0:07] %16 = getelementptr %10 [i64 0 d] [i32 0 d] %15 # [marked* f51c6385 4 ddp] [ 0:07] %17 = getelementptr %16 # [marked* f51c6385 3 ddp] [ 0:07] [i64 18446744073709551615 d] [ 0:07] %18 = load %17 # [i8 0 d] [ 0:07] %19 = icmp.eq %18 [i8 0 d] # [i1 1 1] [ 0:07] %1a = load %0f # [marked* f51c6385 0 ddp] [ 0:07] %1b = getelementptr %1a [i64 0 d] [i32 0 d] # [marked* f51c6385 0 ddp] [ 0:07] [i64 0 d] [ 0:07] br %19 label %if.else.i.i label %if.then.i.i [ 0:07] call @llvm.lifetime.start.p0i8 [i64 8 d] %26 [ 0:07] %29 = icmp.eq %1a [global* 0 0 ddn] # [i1 0 1] [ 0:07] br %29 label %3e label %2b [ 0:07] %40 = vm.obj.size %1b # [i32 4 d] [ 0:07] %42 = vm.obj.size %1b # [i32 4 d] [ 0:07] %43 = sext %42 # [i64 4 d] [ 0:07] %44 = getelementptr %3f [i64 0 d] [i32 0 d] %43 # [marked* f51c6385 4 ddp] [ 0:07] %49 = getelementptr %05 [i64 0 d] [i32 0 d] # [alloca* 4959631 0 ddp] [ 0:07] [i32 0 d] [i32 0 d] [i32 0 d] [i32 0 d] [ 0:07] store [global* 0 0 ddn] %49 [ 0:07] %52 = icmp.eq %40 [i32 0 d] # [i1 0 1] [ 0:07] br %52 label %59 label %54 [ 0:07] %5a = vm.obj.make %40 [i32 4 d] # [marked* f669dc69 0 ddp] [ 0:07] store %5a %5b [ 0:07] br label %5f [ 0:07] %67 = icmp.eq %1b %61 # [i1 0 1] [ 0:07] br %67 label %6c label %69 [ 0:07] %6d = getelementptr %60 [i64 0 d] [i32 0 d] # [marked* f669dc69 0 ddp] [ 0:07] [i64 0 d] [ 0:07] br label %70 [ 0:07] %75 = getelementptr %72 [i64 1 d] # [marked* f669dc69 1 ddp] [ 0:07] %76 = load %71 # [i8 9 d] [ 0:07] store %76 %72 [ 0:07] %78 = getelementptr %71 [i64 1 d] # [marked* f51c6385 1 ddp] [ 0:07] %7b = icmp.eq %78 %61 # [i1 0 1] [ 0:07] br %7b label %70 label %7d [ 0:07] %75 = getelementptr %72 [i64 1 d] # [marked* f669dc69 2 ddp] [ 0:07] %76 = load %71 # [i8 1 d] [ 0:07] store %76 %72 [ 0:07] %78 = getelementptr %71 [i64 1 d] # [marked* f51c6385 2 ddp] [ 0:07] %7b = icmp.eq %78 %61 # [i1 0 1] [ 0:07] br %7b label %70 label %7d [ 0:07] %75 = getelementptr %72 [i64 1 d] # [marked* f669dc69 3 ddp] [ 0:07] %76 = load %71 # [i8 0 d] [ 0:07] store %76 %72 [ 0:07] %78 = getelementptr %71 [i64 1 d] # [marked* f51c6385 3 ddp] [ 0:07] %7b = icmp.eq %78 %61 # [i1 0 1] [ 0:07] br %7b label %70 label %7d [ 0:07] %75 = getelementptr %72 [i64 1 d] # [marked* f669dc69 4 ddp] [ 0:07] %76 = load %71 # [i8 0 d] [ 0:07] store %76 %72 [ 0:07] %78 = getelementptr %71 [i64 1 d] # [marked* f51c6385 4 ddp] [ 0:07] %7b = icmp.eq %78 %61 # [i1 1 1] [ 0:07] br %7b label %70 label %7d [ 0:07] %7e = getelementptr %05 [i64 0 d] [i32 0 d] # [alloca* 4959631 0 ddp] [ 0:07] [i32 0 d] [i32 0 d] [i32 0 d] [i32 0 d] [ 0:07] %7f = load %7e # [marked* f669dc69 0 ddp] [ 0:07] br label %81 [ 0:07] %87 = getelementptr %83 [i64 0 d] [i32 0 d] # [marked* f669dc69 0 ddp] [ 0:07] [i64 0 d] [ 0:07] store [global* 0 0 ddn] %82 [ 0:07] %8b = vm.obj.size %87 # [i32 4 d] [ 0:07] %8c = sext %8b # [i64 4 d] [ 0:07] %8d = getelementptr %8a [i64 0 d] [i32 0 d] %8c # [marked* f669dc69 4 ddp] [ 0:07] %8e = getelementptr %8d # [marked* f669dc69 3 ddp] [ 0:07] [i64 18446744073709551615 d] [ 0:07] store [i8 0 d] %8e [ 0:07] %90 = load %82 # [global* 0 0 ddn] [ 0:07] %91 = icmp.eq %90 [global* 0 0 ddn] # [i1 1 1] [ 0:07] %92 = ptrtoint %83 # [i64 17755965349414567936 dp] [ 0:07] br %91 label %94 label %ce [ 0:07] call @llvm.lifetime.end.p0i8 [i64 8 d] %26 [ 0:07] store %92 %d6 [ 0:07] %24 = ptrtoint [alloca* a9127ed 0 ddp] # [i64 761433710863056896 dp] [ 0:07] %27 = lshr %24 [i64 32 d] # [i64 177285101 d] [ 0:07] %28 = trunc %27 # [i32 177285101 dp] [ 0:07] %29 = getelementptr %0a [i64 0 d] [i32 0 d] # [alloca* c0d65f1 0 ddp] [ 0:07] [i32 0 d] [ 0:07] %2c = getelementptr %0a [i64 0 d] [i32 0 d] # [alloca* c0d65f1 0 ddp] [ 0:07] [i32 0 d] [i32 0 d] [ 0:07] %2e = load %2d # [i64 17755965349414567936 dp] [ 0:07] store [global* 0 0 ddn] %2c [ 0:07] %33 = lshr %2e [i64 32 d] # [i64 4134132841 d] [ 0:07] %34 = trunc %33 # [i32 4134132841 dp] [ 0:07] %36 = and %24 [i64 4294967295 d] # [i64 0 d] [ 0:07] %38 = zext [i8 4 d] # [i32 4 d] [ 0:07] %39 = add %26 %38 # [i32 4 d] [ 0:07] %3a = zext %39 # [i64 4 d] [ 0:07] %3e = vm.peek [i32 3 d] %28 %26 %38 # [ 0:07] %3f = extractvalue %3e # [i64 0 d] [ 0:07] %40 = extractvalue %3e # [i32 0 d] [ 0:07] %41 = trunc %3f # [i32 0 d] [ 0:07] %42 = lshr %3f [i64 32 d] # [i64 0 d] [ 0:07] %43 = trunc %42 # [i32 0 d] [ 0:07] %45 = and %3f [i64 4294967295 d] # [i64 0 d] [ 0:07] %46 = icmp.ule %36 %45 # [i1 1 1] [ 0:07] %47 = icmp.eq %43 [i32 0 d] # [i1 1 1] [ 0:07] %48 = or %46 %47 # [i1 1 1] [ 0:07] br %48 label %if.then.i label %if.end.i [ 0:07] %99 = icmp.uge %36 %3a # [i1 0 1] [ 0:07] %9a = or %99 %47 # [i1 1 1] [ 0:07] br %9a label %while.body.i label %while.end.i [ 0:07] vm.poke [i32 3 d] %28 %26 %38 %34 [ 0:07] %11b = load %2c # [global* 0 0 ddn] [ 0:07] %11c = icmp.eq %11b [global* 0 0 ddn] # [i1 1 1] [ 0:07] br %11c label %if.end.i.i.i label %125 [ 0:07] call @llvm.lifetime.end.p0i8 [i64 8 d] %1e [ 0:07] call @llvm.lifetime.end.p0i8 [i64 8 d] %11 [ 0:07] ret [ 0:07] ret [global* 0 0 uun] [ 0:07] %0e = load %02 # [i32 0 dt] [ 0:07] vm.test.crit %0d [i32 4 d] [i32 1 d] __dios_reschedule [ 0:07] ▶ state #120 [new] -- active threads: [0:0] -- [ 0:07] %10 = vm.test.taint __lart_abstract.melt.i32 # [global* 0 0 uun] [ 0:07] [global* 0 0 ddn] %0e %02 [ 0:07] %06 = call @__lamp_melt %05 [i8 4 d] # [global* 0 0 uun] [ 0:07] %05 = alloca [i32 1 d] # [alloca* eb864e1 0 ddp] [ 0:07] %06 = alloca [i32 1 d] # [alloca* 26615dd 0 ddp] [ 0:07] %07 = alloca [i32 1 d] # [alloca* 7a7e400 0 ddp] [ 0:07] %08 = alloca [i32 1 d] # [alloca* a0b85f4 0 ddp] [ 0:07] %09 = alloca [i32 1 d] # [alloca* 548d03 0 ddp] [ 0:07] %0a = alloca [i32 1 d] # [alloca* 70aed72 0 ddp] [ 0:07] %0b = alloca [i32 1 d] # [alloca* 3645ea4 0 ddp] [ 0:07] %0c = alloca [i32 1 d] # [alloca* 1e4bc9d 0 ddp] [ 0:07] %0d = alloca [i32 1 d] # [alloca* 6d2a2ea 0 ddp] [ 0:07] %0e = alloca [i32 1 d] # [alloca* dce36f8 0 ddp] [ 0:07] %0f = alloca [i32 1 d] # [alloca* 6f5397b 0 ddp] [ 0:07] call @llvm.lifetime.start.p0i8 [i64 8 d] %12 [ 0:07] call @llvm.lifetime.start.p0i8 [i64 8 d] %14 [ 0:07] call @llvm.lifetime.start.p0i8 [i64 1 d] %07 [ 0:07] store [alloca* a9127ed 0 ddp] %06 [ 0:07] store [i8 4 d] %07 [ 0:07] call @llvm.lifetime.start.p0i8 [i64 8 d] %1b [ 0:07] %1f = ptrtoint [alloca* a9127ed 0 ddp] # [i64 761433710863056896 dp] [ 0:07] call @llvm.lifetime.start.p0i8 [i64 12 d] %22 [ 0:07] call @llvm.lifetime.start.p0i8 [i64 8 d] %24 [ 0:07] %26 = trunc %1f # [i32 0 d] [ 0:07] %28 = zext [i8 4 d] # [i32 4 d] [ 0:07] %29 = add %26 %28 # [i32 4 d] [ 0:07] %2a = zext %29 # [i64 4 d] [ 0:07] store %2a %0a [ 0:07] call @llvm.lifetime.start.p0i8 [i64 8 d] %2d [ 0:07] %2f = and %1f [i64 4294967295 d] # [i64 0 d] [ 0:07] store %2f %0b [ 0:07] call @llvm.lifetime.start.p0i8 [i64 48 d] %32 [ 0:07] %34 = getelementptr %0c [i64 0 d] [i32 0 d] # [alloca* 1e4bc9d 0 ddp] [ 0:07] store %09 %34 [ 0:07] %36 = getelementptr %0c [i64 0 d] [i32 1 d] # [alloca* 1e4bc9d 8 ddp] [ 0:07] store %06 %36 [ 0:07] %38 = getelementptr %0c [i64 0 d] [i32 2 d] # [alloca* 1e4bc9d 10h ddp] [ 0:07] store %0b %38 [ 0:07] %3a = getelementptr %0c [i64 0 d] [i32 3 d] # [alloca* 1e4bc9d 18h ddp] [ 0:07] store %0a %3a [ 0:07] %3c = getelementptr %0c [i64 0 d] [i32 4 d] # [alloca* 1e4bc9d 20h ddp] [ 0:07] store %07 %3c [ 0:07] %3e = getelementptr %0c [i64 0 d] [i32 5 d] # [alloca* 1e4bc9d 28h ddp] [ 0:07] store %08 %3f [ 0:07] %44 = getelementptr %41 [i64 0 d] [i32 1 d] # [alloca* a0b85f4 4 ddp] [ 0:07] %45 = lshr %1f [i64 32 d] # [i64 177285101 d] [ 0:07] %46 = trunc %45 # [i32 177285101 dp] [ 0:07] %47 = vm.peek [i32 3 d] %46 %26 %28 # [ 0:07] %48 = extractvalue %47 # [i64 17179869184 d] [ 0:07] %49 = extractvalue %47 # [i32 4134132841 dp] [ 0:07] store %48 %4a [ 0:07] %4c = getelementptr %09 [i64 0 d] [i32 2 d] # [alloca* 548d03 8 ddp] [ 0:07] store %49 %4c [ 0:07] call @_ZZL16__lamp_melt_implPvhENK4$_88clEv.990 %0f %0c [ 0:07] %05 = alloca [i32 1 d] # [alloca* 2bc872e 0 ddp] [ 0:07] %07 = getelementptr [alloca* 1e4bc9d 0 ddp] # [alloca* 1e4bc9d 0 ddp] [ 0:07] [i64 0 d] [i32 0 d] [ 0:07] %08 = load %07 # [alloca* 548d03 0 ddp] [ 0:07] %09 = getelementptr %08 [i64 0 d] [i32 1 d] # [alloca* 548d03 4 ddp] [ 0:07] %0a = load %09 # [i32 4 d] [ 0:07] %0b = icmp.eq %0a [i32 0 d] # [i1 0 1] [ 0:07] br %0b label %if.end label %if.then [ 0:07] %1c = getelementptr [alloca* 1e4bc9d 0 ddp] # [alloca* 1e4bc9d 10h ddp] [ 0:07] [i64 0 d] [i32 2 d] [ 0:07] %1d = load %1c # [alloca* 3645ea4 0 ddp] [ 0:07] %1e = load %1d # [i64 0 d] [ 0:07] %1f = getelementptr %08 [i64 0 d] [i32 0 d] # [alloca* 548d03 0 ddp] [ 0:07] %20 = load %1f # [i32 0 d] [ 0:07] %21 = zext %20 # [i64 0 d] [ 0:07] %22 = icmp.ult %1e %21 # [i1 0 1] [ 0:07] br %22 label %if.end11 label %if.then4 [ 0:07] %34 = getelementptr [alloca* 1e4bc9d 0 ddp] # [alloca* 1e4bc9d 20h ddp] [ 0:07] [i64 0 d] [i32 4 d] [ 0:07] %35 = load %34 # [alloca* 7a7e400 0 ddp] [ 0:07] %36 = getelementptr [alloca* 1e4bc9d 0 ddp] # [alloca* 1e4bc9d 28h ddp] [ 0:07] [i64 0 d] [i32 5 d] [ 0:07] %37 = load %36 # [alloca* a0b85f4 0 ddp] [ 0:07] %39 = load %35 # [i8 4 d] [ 0:07] %3a = zext %39 # [i64 4 d] [ 0:07] %3b = sub %3a %1e # [i64 4 d] [ 0:07] %3c = getelementptr %37 [i64 0 d] [i32 0 d] # [alloca* a0b85f4 0 ddp] [ 0:07] %3d = load %3c # [i32 0 d] [ 0:07] %3e = zext %3d # [i64 0 d] [ 0:07] %3f = add %3b %3e # [i64 4 d] [ 0:07] %41 = icmp.eq %1e %21 # [i1 1 1] [ 0:07] br %41 label %if.end.i label %land.lhs.true.i [ 0:07] %44 = zext %0a # [i64 4 d] [ 0:07] %45 = icmp.ult %3f %44 # [i1 0 1] [ 0:07] br %45 label %if.end.i label %if.then.i [ 0:07] %4e = sub %1e %21 # [i64 0 d] [ 0:07] %50 = icmp.ugt %1e %21 # [i1 0 1] [ 0:07] %51 = zext %0a # [i64 4 d] [ 0:07] br %50 label %if.end41.i label %land.lhs.true14.i [ 0:07] %78 = add %1e %70 # [i64 4 d] [ 0:07] store %78 %1d [ 0:07] call @llvm.lifetime.start.p0i8 [i64 8 d] %7a [ 0:07] %7c = getelementptr %08 [i64 0 d] [i32 2 d] # [alloca* 548d03 8 ddp] [ 0:07] %7d = load %7c # [i32 4134132841 dp] [ 0:07] %84 = zext %7d # [i64 4134132841 d] [ 0:07] %93 = icmp.eq %71 [i8 0 d] # [i1 1 1] [ 0:07] br %93 label %if.end24 label %land.lhs.true [ 0:07] %96 = and %72 [i16 255 d] # [i16 32 d] [ 0:07] %97 = zext %96 # [i32 32 d] [ 0:07] %98 = shl %0a [i32 3 d] # [i32 32 d] [ 0:07] %99 = icmp.eq %98 %97 # [i1 1 1] [ 0:07] br %99 label %if.end24 label %if.then23 [ 0:07] %9c = getelementptr %05 [i64 0 d] [i32 0 d] # [alloca* 2bc872e 0 ddp] [ 0:07] call @_ZNK6__lamp11semilatticeINS_11with_memoryIN6__lava4termEEEL15_VM_PointerType5EE5cloneEv.987 [ 0:07] [alloca* 6f5397b 0 ddp] %9c [ 0:07] %05 = alloca [i32 1 d] # [alloca* 5ecdb7c 0 ddp] [ 0:07] %06 = alloca [i32 1 d] # [alloca* 2112be5 0 ddp] [ 0:07] %0f = getelementptr [alloca* 2bc872e 0 ddp] # [alloca* 2bc872e 0 ddp] [ 0:07] [i64 0 d] [i32 0 d] [i32 0 d] [i32 0 d] [ 0:07] %10 = load %0f # [marked* f669dc69 0 ddp] [ 0:07] %12 = getelementptr %10 [i64 0 d] [i32 0 d] # [marked* f669dc69 0 ddp] [ 0:07] [i64 0 d] [ 0:07] %14 = vm.obj.size %12 # [i32 4 d] [ 0:07] %15 = sext %14 # [i64 4 d] [ 0:07] %16 = getelementptr %10 [i64 0 d] [i32 0 d] %15 # [marked* f669dc69 4 ddp] [ 0:07] %17 = getelementptr %16 # [marked* f669dc69 3 ddp] [ 0:07] [i64 18446744073709551615 d] [ 0:07] %18 = load %17 # [i8 0 d] [ 0:07] %19 = icmp.eq %18 [i8 0 d] # [i1 1 1] [ 0:07] %1a = load %0f # [marked* f669dc69 0 ddp] [ 0:07] %1b = getelementptr %1a [i64 0 d] [i32 0 d] # [marked* f669dc69 0 ddp] [ 0:07] [i64 0 d] [ 0:07] br %19 label %if.else.i.i label %if.then.i.i [ 0:07] call @llvm.lifetime.start.p0i8 [i64 8 d] %26 [ 0:07] %29 = icmp.eq %1a [global* 0 0 ddn] # [i1 0 1] [ 0:07] br %29 label %3e label %2b [ 0:07] %40 = vm.obj.size %1b # [i32 4 d] [ 0:07] %42 = vm.obj.size %1b # [i32 4 d] [ 0:07] %43 = sext %42 # [i64 4 d] [ 0:07] %44 = getelementptr %3f [i64 0 d] [i32 0 d] %43 # [marked* f669dc69 4 ddp] [ 0:07] %49 = getelementptr %05 [i64 0 d] [i32 0 d] # [alloca* 5ecdb7c 0 ddp] [ 0:07] [i32 0 d] [i32 0 d] [i32 0 d] [i32 0 d] [ 0:07] store [global* 0 0 ddn] %49 [ 0:07] %52 = icmp.eq %40 [i32 0 d] # [i1 0 1] [ 0:07] br %52 label %59 label %54 [ 0:07] %5a = vm.obj.make %40 [i32 4 d] # [marked* f6e72372 0 ddp] [ 0:07] store %5a %5b [ 0:07] br label %5f [ 0:07] %67 = icmp.eq %1b %61 # [i1 0 1] [ 0:07] br %67 label %6c label %69 [ 0:07] %6d = getelementptr %60 [i64 0 d] [i32 0 d] # [marked* f6e72372 0 ddp] [ 0:07] [i64 0 d] [ 0:07] br label %70 [ 0:07] %75 = getelementptr %72 [i64 1 d] # [marked* f6e72372 1 ddp] [ 0:07] %76 = load %71 # [i8 9 d] [ 0:07] store %76 %72 [ 0:07] %78 = getelementptr %71 [i64 1 d] # [marked* f669dc69 1 ddp] [ 0:07] %7b = icmp.eq %78 %61 # [i1 0 1] [ 0:07] br %7b label %70 label %7d [ 0:07] %75 = getelementptr %72 [i64 1 d] # [marked* f6e72372 2 ddp] [ 0:07] %76 = load %71 # [i8 1 d] [ 0:07] store %76 %72 [ 0:07] %78 = getelementptr %71 [i64 1 d] # [marked* f669dc69 2 ddp] [ 0:07] %7b = icmp.eq %78 %61 # [i1 0 1] [ 0:07] br %7b label %70 label %7d [ 0:07] %75 = getelementptr %72 [i64 1 d] # [marked* f6e72372 3 ddp] [ 0:07] %76 = load %71 # [i8 0 d] [ 0:07] store %76 %72 [ 0:07] %78 = getelementptr %71 [i64 1 d] # [marked* f669dc69 3 ddp] [ 0:07] %7b = icmp.eq %78 %61 # [i1 0 1] [ 0:07] br %7b label %70 label %7d [ 0:07] %75 = getelementptr %72 [i64 1 d] # [marked* f6e72372 4 ddp] [ 0:07] %76 = load %71 # [i8 0 d] [ 0:07] store %76 %72 [ 0:07] %78 = getelementptr %71 [i64 1 d] # [marked* f669dc69 4 ddp] [ 0:07] %7b = icmp.eq %78 %61 # [i1 1 1] [ 0:07] br %7b label %70 label %7d [ 0:07] %7e = getelementptr %05 [i64 0 d] [i32 0 d] # [alloca* 5ecdb7c 0 ddp] [ 0:07] [i32 0 d] [i32 0 d] [i32 0 d] [i32 0 d] [ 0:07] %7f = load %7e # [marked* f6e72372 0 ddp] [ 0:07] br label %81 [ 0:07] %87 = getelementptr %83 [i64 0 d] [i32 0 d] # [marked* f6e72372 0 ddp] [ 0:07] [i64 0 d] [ 0:07] store [global* 0 0 ddn] %82 [ 0:07] %8b = vm.obj.size %87 # [i32 4 d] [ 0:07] %8c = sext %8b # [i64 4 d] [ 0:07] %8d = getelementptr %8a [i64 0 d] [i32 0 d] %8c # [marked* f6e72372 4 ddp] [ 0:07] %8e = getelementptr %8d # [marked* f6e72372 3 ddp] [ 0:07] [i64 18446744073709551615 d] [ 0:07] store [i8 0 d] %8e [ 0:07] %90 = load %82 # [global* 0 0 ddn] [ 0:07] %91 = icmp.eq %90 [global* 0 0 ddn] # [i1 1 1] [ 0:07] %92 = ptrtoint %83 # [i64 17791227825483677696 dp] [ 0:07] br %91 label %94 label %ce [ 0:07] call @llvm.lifetime.end.p0i8 [i64 8 d] %26 [ 0:07] store %92 %d6 [ 0:07] br label %cleanup [ 0:07] call @llvm.lifetime.end.p0i8 [i64 8 d] %7a [ 0:07] br label %return [ 0:07] ret [ 0:07] %53 = load %44 # [i32 177285101 dp] [ 0:07] %54 = load %0b # [i64 4 d] [ 0:07] %55 = trunc %54 # [i32 4 d] [ 0:07] %56 = load %0a # [i64 4 d] [ 0:07] %57 = sub %56 %54 # [i64 0 d] [ 0:07] %58 = trunc %57 # [i32 0 d] [ 0:07] %59 = vm.peek [i32 3 d] %53 %55 %58 # [ 0:07] %5a = extractvalue %59 # [i64 0 d] [ 0:07] %5b = extractvalue %59 # [i32 0 d] [ 0:07] store %5a %4a [ 0:07] store %5b %4c [ 0:07] %5e = load %0b # [i64 4 d] [ 0:07] %60 = load %0a # [i64 4 d] [ 0:07] %62 = icmp.ult %5e %60 # [i1 0 1] [ 0:07] br %62 label %d0 label %for.body.lr.ph.i [ 0:07] call @llvm.lifetime.end.p0i8 [i64 48 d] %32 [ 0:07] call @llvm.lifetime.end.p0i8 [i64 8 d] %2d [ 0:07] call @llvm.lifetime.end.p0i8 [i64 8 d] %24 [ 0:07] call @llvm.lifetime.end.p0i8 [i64 12 d] %22 [ 0:07] call @llvm.lifetime.end.p0i8 [i64 8 d] %1b [ 0:07] call @llvm.lifetime.end.p0i8 [i64 8 d] %14 [ 0:07] call @llvm.lifetime.end.p0i8 [i64 1 d] %07 [ 0:07] %d8 = getelementptr %0f [i64 0 d] [i32 0 d] # [alloca* 6f5397b 0 ddp] [ 0:07] [i32 0 d] [i32 0 d] [ 0:07] %d9 = load %d8 # [marked* f6e72372 0 ddp] [ 0:07] %da = getelementptr %d9 [i64 0 d] [i32 0 d] # [marked* f6e72372 0 ddp] [ 0:07] [i64 0 d] [ 0:07] store [global* 0 0 ddn] %d8 [ 0:07] call @__lart_track.939 %da [ 0:07] br %0f label %11 label %19 [ 0:07] %14 = vm.obj.size %13 # [i32 16 d] [ 0:07] %15 = ashr %14 [i32 3 d] # [i32 2 d] [ 0:07] %16 = sext %15 # [i64 2 d] [ 0:07] %17 = getelementptr %0c [i64 0 d] [i32 0 d] %16 # [weak* f9764cef 10h ddp] [ 0:07] br label %19 [ 0:07] %1b = getelementptr %1a # [weak* f9764cef 8 ddp] [ 0:07] [i64 18446744073709551615 d] [i32 0 d] [ 0:07] %22 = load %21 # [weak* fcd85b22 0 ddp] [ 0:07] %23 = icmp.eq %22 [global* 0 0 ddn] # [i1 0 1] [ 0:07] br %23 label %25 label %if.then5.i.i [ 0:07] %27 = vm.obj.size %26 # [i32 8 d] [ 0:07] %28 = ashr %27 [i32 3 d] # [i32 1 d] [ 0:07] %29 = add %28 [i32 1 d] # [i32 2 d] [ 0:07] %2c = icmp.eq %29 [i32 0 d] # [i1 0 1] [ 0:07] %2d = load %21 # [weak* fcd85b22 0 ddp] [ 0:07] br %2c label %if.else.i.i label %if.then2.i.i [ 0:07] %34 = icmp.eq %2d [global* 0 0 ddn] # [i1 0 1] [ 0:07] %35 = shl %29 [i32 3 d] # [i32 16 d] [ 0:07] br %34 label %if.else9.i.i label %if.then5.i.i [ 0:07] vm.obj.resize %2e %35 [ 0:07] %40 = load %21 # [weak* fcd85b22 0 ddp] [ 0:07] br label %43 [ 0:07] %49 = vm.obj.size %44 # [i32 16 d] [ 0:07] %4a = ashr %49 [i32 3 d] # [i32 2 d] [ 0:07] %4b = sext %4a # [i64 2 d] [ 0:07] %4c = getelementptr %45 [i64 0 d] [i32 0 d] %4b # [weak* fcd85b22 10h ddp] [ 0:07] %4d = getelementptr %4c # [weak* fcd85b22 8 ddp] [ 0:07] [i64 18446744073709551615 d] [ 0:07] store %05 %4e [ 0:07] br label %return [ 0:07] %e2 = load %d8 # [global* 0 0 ddn] [ 0:07] %e3 = icmp.eq %e2 [global* 0 0 ddn] # [i1 1 1] [ 0:07] br %e3 label %if.end.i.i label %f2 [ 0:07] call @llvm.lifetime.end.p0i8 [i64 8 d] %12 [ 0:07] ret %da [ 0:07] ret %06 [ 0:07] %11 = icmp.eq %0e [i32 0 d] # [i1 1 1t] [ 0:07] %12 = vm.test.taint __lart_abstract.eq.cmp.i32 # [global* 0 0 uun] [ 0:07] [global* 0 0 ddn] %0e %10 [i32 0 d] [global* 0 0 ddn] [ 0:07] %09 = and [i1 1 d] [i1 0 d] # [i1 0 1] [ 0:07] br %09 label %check.abstract label %load.domain [ 0:07] br [i1 1 d] label %arg.1.lift label %arg.2.lift [ 0:07] %13 = call @__lamp_wrap_i32 [i32 0 d] # [global* 0 0 uun] [ 0:07] %05 = alloca [i32 1 d] # [alloca* bf992e6 0 ddp] [ 0:07] %06 = alloca [i32 1 d] # [alloca* 1cbd26a 0 ddp] [ 0:07] call @llvm.lifetime.start.p0i8 [i64 8 d] %08 [ 0:07] call @llvm.lifetime.start.p0i8 [i64 4 d] %0c [ 0:07] store [i32 0 d] %05 [ 0:07] call @_ZN6__lamp11semilatticeINS_11with_memoryIN6__lava4termEEEL15_VM_PointerType5EE4liftIjEES6_RKT_.955 [ 0:07] %06 %05 [ 0:07] %05 = alloca [i32 1 d] # [alloca* 86377bb 0 ddp] [ 0:07] %06 = alloca [i32 1 d] # [alloca* e5ff64e 0 ddp] [ 0:07] call @llvm.lifetime.start.p0i8 [i64 8 d] %08 [ 0:07] %0a = load [alloca* bf992e6 0 ddp] # [i32 0 d] [ 0:07] %0d = getelementptr %05 [i64 0 d] [i32 0 d] # [alloca* 86377bb 0 ddp] [ 0:07] call @llvm.lifetime.start.p0i8 [i64 5 d] %0d [ 0:07] store [i8 16 d] %0d [ 0:07] %16 = getelementptr %05 [i64 0 d] [i32 1 d] # [alloca* 86377bb 1 ddp] [ 0:07] store %0a %17 [ 0:07] %1d = getelementptr %06 [i64 0 d] [i32 0 d] # [alloca* e5ff64e 0 ddp] [ 0:07] [i32 0 d] [ 0:07] %26 = vm.obj.make [i32 1 d] [i32 4 d] # [marked* f0ff5347 0 ddp] [ 0:07] %27 = ptrtoint %26 # [i64 17365690252571705344 dp] [ 0:07] store %26 %28 [ 0:07] %2c = icmp.eq %26 [global* 0 0 ddn] # [i1 0 1] [ 0:07] br %2c label %2e label %40 [ 0:07] %31 = vm.obj.size %26 # [i32 1 d] [ 0:07] %32 = sext %31 # [i64 1 d] [ 0:07] %33 = getelementptr %2f [i64 0 d] [i32 0 d] %32 # [marked* f0ff5347 1 ddp] [ 0:07] %38 = icmp.eq %26 %33 # [i1 0 1] [ 0:07] br %38 label %3a label %40 [ 0:07] %3b = sub [i64 0 d] %27 # [i64 1081053821137846272 d] [ 0:07] %3c = getelementptr %33 %3b # [global* 0 1 ddn] [ 0:07] %3d = ptrtoint %3c # [i64 1 d] [ 0:07] %3e = call @memset.915 %26 [i32 255 d] %3d # [global* 0 0 uun] [ 0:07] br label %40 [ 0:07] call @_ZN3brq8smt_exprIN6__lava20marked_array_adaptorEJEE5applyIjEEvRKNS_10smt_atom_tIT_Xcl12storage_sizeIS6_EEEEE.956 [ 0:07] %1d %05 [ 0:07] %05 = alloca [i32 1 d] # [alloca* 5f2b4a0 0 ddp] [ 0:07] %09 = getelementptr [alloca* 86377bb 0 ddp] # [alloca* 86377bb 0 ddp] [ 0:07] [i64 0 d] [i32 0 d] [ 0:07] %0a = load %09 # [i8 16 d] [ 0:07] switch %0a label %46 [i8 81 d] label %sw.bb1194.i.i.i [i8 82 d] [ 0:07] label %sw.bb1179.i.i.i [i8 79 d] label %sw.bb1150.i.i.i [i8 31 d] [ 0:07] label %sw.bb449.i.i.i [i8 30 d] label %sw.bb435.i.i.i [i8 5 d] [ 0:07] label %sw.bb64.i.i.i [i8 6 d] label %sw.bb78.i.i.i [i8 7 d] [ 0:07] label %sw.bb93.i.i.i [i8 8 d] label %sw.bb108.i.i.i [i8 9 d] [ 0:07] label %sw.bb123.i.i.i [i8 10 d] label %sw.bb138.i.i.i [i8 11 d] [ 0:07] label %sw.bb153.i.i.i [i8 12 d] label %sw.bb168.i.i.i [i8 13 d] [ 0:07] label %sw.bb183.i.i.i [i8 14 d] label %sw.bb198.i.i.i [i8 15 d] [ 0:07] label %sw.bb213.i.i.i [i8 16 d] label %sw.bb228.i.i.i [i8 17 d] [ 0:07] label %sw.bb243.i.i.i [i8 18 d] label %sw.bb258.i.i.i [i8 19 d] [ 0:07] label %sw.bb273.i.i.i [i8 27 d] label %sw.bb421.i.i.i [i8 26 d] [ 0:07] label %sw.bb407.i.i.i [i8 22 d] label %sw.bb317.i.i.i [i8 23 d] [ 0:07] label %sw.bb332.i.i.i [i8 25 d] label %sw.bb347.i.i.i [i8 24 d] [ 0:07] label %sw.bb362.i.i.i [i8 29 d] label %sw.bb377.i.i.i [i8 28 d] [ 0:07] label %sw.bb392.i.i.i [ 0:07] br label %46 [ 0:07] %48 = trunc %47 # [i32 5 d] [ 0:07] %4d = getelementptr [alloca* e5ff64e 0 ddp] # [alloca* e5ff64e 0 ddp] [ 0:07] [i64 0 d] [i32 0 d] [i32 0 d] [i32 0 d] [ 0:07] %4e = load %4d # [marked* f0ff5347 0 ddp] [ 0:07] %4f = icmp.eq %4e [global* 0 0 ddn] # [i1 0 1] [ 0:07] br %4f label %cond.false.i.i label %57 [ 0:07] %52 = getelementptr %4e [i64 0 d] [i32 0 d] # [marked* f0ff5347 0 ddp] [ 0:07] [i64 0 d] [ 0:07] %53 = vm.obj.size %52 # [i32 1 d] [ 0:07] %54 = add %53 [i32 4294967295 d] # [i32 0 d] [ 0:07] %55 = load %4d # [marked* f0ff5347 0 ddp] [ 0:07] br label %57 [ 0:07] %60 = getelementptr %58 [i64 0 d] [i32 0 d] # [marked* f0ff5347 0 ddp] [ 0:07] [i64 0 d] [ 0:07] %62 = vm.obj.size %60 # [i32 1 d] [ 0:07] %63 = sext %62 # [i64 1 d] [ 0:07] %64 = getelementptr %58 [i64 0 d] [i32 0 d] %63 # [marked* f0ff5347 1 ddp] [ 0:07] %65 = getelementptr %64 # [marked* f0ff5347 0 ddp] [ 0:07] [i64 18446744073709551615 d] [ 0:07] %66 = load %65 # [i8 255 d] [ 0:07] %6a = getelementptr [alloca* e5ff64e 0 ddp] # [alloca* e5ff64e 0 ddp] [ 0:07] [i64 0 d] [i32 0 d] [i32 0 d] [ 0:07] %6b = add %48 [i32 1 d] # [i32 6 d] [ 0:07] %6c = add %6b %59 # [i32 6 d] [ 0:07] call @llvm.lifetime.start.p0i8 [i64 1 d] %05 [ 0:07] store [i8 0 d] %05 [ 0:07] call @_ZN6__dios5ArrayIhLi4EE6resizeEiRKh.917 %6a %6c %05 [ 0:07] %0a = getelementptr [alloca* e5ff64e 0 ddp] # [alloca* e5ff64e 0 ddp] [ 0:07] [i64 0 d] [i32 0 d] [ 0:07] %0b = load %0a # [marked* f0ff5347 0 ddp] [ 0:07] %0c = icmp.eq %0b [global* 0 0 ddn] # [i1 0 1] [ 0:07] br %0c label %cond.false.i label %13 [ 0:07] %0f = getelementptr %0b [i64 0 d] [i32 0 d] # [marked* f0ff5347 0 ddp] [ 0:07] [i64 0 d] [ 0:07] %10 = vm.obj.size %0f # [i32 1 d] [ 0:07] %11 = load %0a # [marked* f0ff5347 0 ddp] [ 0:07] br label %13 [ 0:07] %19 = icmp.eq [i32 6 d] [i32 0 d] # [i1 0 1] [ 0:07] %1a = icmp.eq %14 [global* 0 0 ddn] # [i1 0 1] [ 0:07] %1b = getelementptr %14 [i64 0 d] [i32 0 d] # [marked* f0ff5347 0 ddp] [ 0:07] [i64 0 d] [ 0:07] br %19 label %if.else.i label %if.then.i [ 0:07] br %1a label %if.else9.i label %if.then5.i [ 0:07] vm.obj.resize %1b [i32 6 d] [ 0:07] br label %2f [ 0:07] %30 = icmp.slt %15 [i32 6 d] # [i1 1 1] [ 0:07] br %30 label %if.end label %if.then [ 0:07] %34 = load %0a # [marked* f0ff5347 0 ddp] [ 0:07] %35 = sext %15 # [i64 1 d] [ 0:07] %36 = getelementptr %34 [i64 0 d] [i32 0 d] %35 # [marked* f0ff5347 1 ddp] [ 0:07] %38 = icmp.eq %34 [global* 0 0 ddn] # [i1 0 1] [ 0:07] br %38 label %3a label %42 [ 0:07] %3b = getelementptr %34 [i64 0 d] [i32 0 d] # [marked* f0ff5347 0 ddp] [ 0:07] [i64 0 d] [ 0:07] %3e = vm.obj.size %3b # [i32 6 d] [ 0:07] %3f = sext %3e # [i64 6 d] [ 0:07] %40 = getelementptr %34 [i64 0 d] [i32 0 d] %3f # [marked* f0ff5347 6 ddp] [ 0:07] br label %42 [ 0:07] %49 = icmp.eq %36 %43 # [i1 0 1] [ 0:07] br %49 label %for.body.i label %if.end [ 0:07] %4e = load [alloca* 5f2b4a0 0 ddp] # [i8 0 d] [ 0:07] store %4e %4c [ 0:07] %50 = getelementptr %4c [i64 1 d] # [marked* f0ff5347 2 ddp] [ 0:07] %52 = icmp.eq %50 %43 # [i1 0 1] [ 0:07] br %52 label %for.body.i label %if.end [ 0:07] %4e = load [alloca* 5f2b4a0 0 ddp] # [i8 0 d] [ 0:07] store %4e %4c [ 0:07] %50 = getelementptr %4c [i64 1 d] # [marked* f0ff5347 3 ddp] [ 0:07] %52 = icmp.eq %50 %43 # [i1 0 1] [ 0:07] br %52 label %for.body.i label %if.end [ 0:07] %4e = load [alloca* 5f2b4a0 0 ddp] # [i8 0 d] [ 0:07] store %4e %4c [ 0:07] %50 = getelementptr %4c [i64 1 d] # [marked* f0ff5347 4 ddp] [ 0:07] %52 = icmp.eq %50 %43 # [i1 0 1] [ 0:07] br %52 label %for.body.i label %if.end [ 0:07] %4e = load [alloca* 5f2b4a0 0 ddp] # [i8 0 d] [ 0:07] store %4e %4c [ 0:07] %50 = getelementptr %4c [i64 1 d] # [marked* f0ff5347 5 ddp] [ 0:07] %52 = icmp.eq %50 %43 # [i1 0 1] [ 0:07] br %52 label %for.body.i label %if.end [ 0:07] %4e = load [alloca* 5f2b4a0 0 ddp] # [i8 0 d] [ 0:07] store %4e %4c [ 0:07] %50 = getelementptr %4c [i64 1 d] # [marked* f0ff5347 6 ddp] [ 0:07] %52 = icmp.eq %50 %43 # [i1 1 1] [ 0:07] br %52 label %for.body.i label %if.end [ 0:07] ret [ 0:07] call @llvm.lifetime.end.p0i8 [i64 1 d] %05 [ 0:07] %73 = load %4d # [marked* f0ff5347 0 ddp] [ 0:07] %75 = getelementptr %73 [i64 0 d] [i32 0 d] # [marked* f0ff5347 0 ddp] [ 0:07] [i64 0 d] [ 0:07] %77 = vm.obj.size %75 # [i32 6 d] [ 0:07] %78 = sext %77 # [i64 6 d] [ 0:07] %79 = getelementptr %73 [i64 0 d] [i32 0 d] %78 # [marked* f0ff5347 6 ddp] [ 0:07] %7a = getelementptr %79 # [marked* f0ff5347 5 ddp] [ 0:07] [i64 18446744073709551615 d] [ 0:07] store %66 %7a [ 0:07] %7e = load %4d # [marked* f0ff5347 0 ddp] [ 0:07] %7f = icmp.eq %7e [global* 0 0 ddn] # [i1 0 1] [ 0:07] br %7f label %81 label %89 [ 0:07] %83 = getelementptr %7e [i64 0 d] [i32 0 d] # [marked* f0ff5347 0 ddp] [ 0:07] [i64 0 d] [ 0:07] %85 = vm.obj.size %83 # [i32 6 d] [ 0:07] %86 = sext %85 # [i64 6 d] [ 0:07] %87 = getelementptr %7e [i64 0 d] [i32 0 d] %86 # [marked* f0ff5347 6 ddp] [ 0:07] br label %89 [ 0:07] %8b = getelementptr %8a # [marked* f0ff5347 5 ddp] [ 0:07] [i64 18446744073709551615 d] [ 0:07] %8c = sub [i64 0 d] %47 # [i64 18446744073709551611 d] [ 0:07] %8d = getelementptr %8b %8c # [marked* f0ff5347 0 ddp] [ 0:07] %93 = call @memcpy.918 %8d %09 %47 # [global* 0 0 uun] [ 0:07] ret [ 0:07] call @llvm.lifetime.end.p0i8 [i64 5 d] %0d [ 0:07] %47 = getelementptr %06 [i64 0 d] [i32 0 d] # [alloca* e5ff64e 0 ddp] [ 0:07] [i32 0 d] [i32 0 d] [i32 0 d] [i32 0 d] [ 0:07] %48 = load %47 # [marked* f0ff5347 0 ddp] [ 0:07] %49 = getelementptr %48 [i64 0 d] [i32 0 d] # [marked* f0ff5347 0 ddp] [ 0:07] [i64 0 d] [ 0:07] store [global* 0 0 ddn] %47 [ 0:07] store %49 %50 [ 0:07] %57 = vm.obj.size %49 # [i32 6 d] [ 0:07] %58 = sext %57 # [i64 6 d] [ 0:07] %59 = getelementptr %55 [i64 0 d] [i32 0 d] %58 # [marked* f0ff5347 6 ddp] [ 0:07] %5a = getelementptr %59 # [marked* f0ff5347 5 ddp] [ 0:07] [i64 18446744073709551615 d] [ 0:07] store [i8 0 d] %5a [ 0:07] %5c = load %47 # [global* 0 0 ddn] [ 0:07] %5d = icmp.eq %5c [global* 0 0 ddn] # [i1 1 1] [ 0:07] br %5d label %if.end.i.i label %69 [ 0:07] call @llvm.lifetime.end.p0i8 [i64 8 d] %08 [ 0:07] ret [ 0:07] call @llvm.lifetime.end.p0i8 [i64 4 d] %0c [ 0:07] %15 = getelementptr %06 [i64 0 d] [i32 0 d] # [alloca* 1cbd26a 0 ddp] [ 0:07] [i32 0 d] [i32 0 d] [ 0:07] %16 = load %15 # [marked* f0ff5347 0 ddp] [ 0:07] %17 = getelementptr %16 [i64 0 d] [i32 0 d] # [marked* f0ff5347 0 ddp] [ 0:07] [i64 0 d] [ 0:07] call @llvm.lifetime.end.p0i8 [i64 8 d] %08 [ 0:07] call @__lart_track.939 %17 [ 0:07] br %0f label %11 label %19 [ 0:07] %14 = vm.obj.size %13 # [i32 16 d] [ 0:07] %15 = ashr %14 [i32 3 d] # [i32 2 d] [ 0:07] %16 = sext %15 # [i64 2 d] [ 0:07] %17 = getelementptr %0c [i64 0 d] [i32 0 d] %16 # [weak* f9764cef 10h ddp] [ 0:07] br label %19 [ 0:07] %1b = getelementptr %1a # [weak* f9764cef 8 ddp] [ 0:07] [i64 18446744073709551615 d] [i32 0 d] [ 0:07] %22 = load %21 # [weak* fcd85b22 0 ddp] [ 0:07] %23 = icmp.eq %22 [global* 0 0 ddn] # [i1 0 1] [ 0:07] br %23 label %25 label %if.then5.i.i [ 0:07] %27 = vm.obj.size %26 # [i32 16 d] [ 0:07] %28 = ashr %27 [i32 3 d] # [i32 2 d] [ 0:07] %29 = add %28 [i32 1 d] # [i32 3 d] [ 0:07] %2c = icmp.eq %29 [i32 0 d] # [i1 0 1] [ 0:07] %2d = load %21 # [weak* fcd85b22 0 ddp] [ 0:07] br %2c label %if.else.i.i label %if.then2.i.i [ 0:07] %34 = icmp.eq %2d [global* 0 0 ddn] # [i1 0 1] [ 0:07] %35 = shl %29 [i32 3 d] # [i32 24 d] [ 0:07] br %34 label %if.else9.i.i label %if.then5.i.i [ 0:07] vm.obj.resize %2e %35 [ 0:07] %40 = load %21 # [weak* fcd85b22 0 ddp] [ 0:07] br label %43 [ 0:07] %49 = vm.obj.size %44 # [i32 24 d] [ 0:07] %4a = ashr %49 [i32 3 d] # [i32 3 d] [ 0:07] %4b = sext %4a # [i64 3 d] [ 0:07] %4c = getelementptr %45 [i64 0 d] [i32 0 d] %4b # [weak* fcd85b22 18h ddp] [ 0:07] %4d = getelementptr %4c # [weak* fcd85b22 10h ddp] [ 0:07] [i64 18446744073709551615 d] [ 0:07] store %05 %4e [ 0:07] br label %return [ 0:07] ret %17 [ 0:07] br label %exit [ 0:07] %18 = call @__lamp_eq %16 %17 # [global* 0 0 uun] [ 0:07] %05 = alloca [i32 1 d] # [alloca* b264c4 0 ddp] [ 0:07] %06 = alloca [i32 1 d] # [alloca* db43f22 0 ddp] [ 0:07] %07 = alloca [i32 1 d] # [alloca* 99ff200 0 ddp] [ 0:07] %08 = alloca [i32 1 d] # [alloca* 8c02301 0 ddp] [ 0:07] %09 = alloca [i32 1 d] # [alloca* ef8702c 0 ddp] [ 0:07] %0a = alloca [i32 1 d] # [alloca* 3882c8f 0 ddp] [ 0:07] %0b = alloca [i32 1 d] # [alloca* df016a9 0 ddp] [ 0:07] %0c = alloca [i32 1 d] # [alloca* ac98528 0 ddp] [ 0:07] %36 = vm.obj.size [marked* f6e72372 0 ddp] # [i32 4 d] [ 0:07] %37 = sext %36 # [i64 4 d] [ 0:07] %38 = getelementptr %1a [i64 0 d] [i32 0 d] %37 # [marked* f6e72372 4 ddp] [ 0:07] %39 = getelementptr %38 # [marked* f6e72372 3 ddp] [ 0:07] [i64 18446744073709551615 d] [ 0:07] %3a = load %39 # [i8 0 d] [ 0:07] %40 = vm.obj.size [marked* f0ff5347 0 ddp] # [i32 6 d] [ 0:07] %41 = sext %40 # [i64 6 d] [ 0:07] %42 = getelementptr %26 [i64 0 d] [i32 0 d] %41 # [marked* f0ff5347 6 ddp] [ 0:07] %43 = getelementptr %42 # [marked* f0ff5347 5 ddp] [ 0:07] [i64 18446744073709551615 d] [ 0:07] %44 = load %43 # [i8 0 d] [ 0:07] %45 = icmp.eq %3a [i8 0 d] # [i1 1 1] [ 0:07] %46 = icmp.eq %44 [i8 0 d] # [i1 1 1] [ 0:07] %47 = select %46 %3a [i8 1 d] # [i8 0 d] [ 0:07] %48 = select %45 %44 %47 # [i8 0 d] [ 0:07] %58 = vm.obj.size [marked* f6e72372 0 ddp] # [i32 4 d] [ 0:07] %59 = sext %58 # [i64 4 d] [ 0:07] %5a = getelementptr %1a [i64 0 d] [i32 0 d] %59 # [marked* f6e72372 4 ddp] [ 0:07] %5b = getelementptr %5a # [marked* f6e72372 3 ddp] [ 0:07] [i64 18446744073709551615 d] [ 0:07] %5c = load %5b # [i8 0 d] [ 0:07] %5d = icmp.eq %5c [i8 0 d] # [i1 1 1] [ 0:07] br %5d label %if.else.i label %if.then.i [ 0:07] call @llvm.lifetime.start.p0i8 [i64 8 d] %60 [ 0:07] store [marked* f6e72372 0 ddp] %6d [ 0:07] %7e = vm.obj.size [marked* f0ff5347 0 ddp] # [i32 6 d] [ 0:07] %7f = sext %7e # [i64 6 d] [ 0:07] %80 = getelementptr %26 [i64 0 d] [i32 0 d] %7f # [marked* f0ff5347 6 ddp] [ 0:07] %81 = getelementptr %80 # [marked* f0ff5347 5 ddp] [ 0:07] [i64 18446744073709551615 d] [ 0:07] %82 = load %81 # [i8 0 d] [ 0:07] %83 = icmp.eq %82 [i8 0 d] # [i1 1 1] [ 0:07] br %83 label %if.else.i71 label %if.then.i68 [ 0:07] call @llvm.lifetime.start.p0i8 [i64 8 d] %87 [ 0:07] store [marked* f0ff5347 0 ddp] %94 [ 0:07] %a4 = icmp.eq %48 [i8 0 d] # [i1 1 1] [ 0:07] br %a4 label %d2 label %if.then.i181 [ 0:07] call @llvm.lifetime.start.p0i8 [i64 8 d] %a7 [ 0:07] %af = getelementptr %0c [i64 0 d] [i32 0 d] # [alloca* ac98528 0 ddp] [ 0:07] call @llvm.lifetime.start.p0i8 [i64 1 d] %06 [ 0:07] store [i8 1 d] %06 [ 0:07] call @_ZN6__lava4termCI2NS_5expr_IS0_N3brq8smt_exprINS_20marked_array_adaptorEJEEEEEIJS0_NS2_6smt_opEEEERKNS1_IS0_S5_EEDpRKT_.965 [ 0:07] %09 %af %0b %06 [ 0:07] %0d = getelementptr [alloca* ef8702c 0 ddp] # [alloca* ef8702c 0 ddp] [ 0:07] [i64 0 d] [i32 0 d] [i32 0 d] [ 0:07] %11 = getelementptr [alloca* ef8702c 0 ddp] # [alloca* ef8702c 0 ddp] [ 0:07] [i64 0 d] [i32 0 d] [i32 0 d] [i32 0 d] [i32 0 d] [ 0:07] [i32 0 d] [ 0:07] store [global* 0 0 ddn] %11 [ 0:07] %19 = vm.obj.make [i32 1 d] [i32 4 d] # [marked* f515be7b 0 ddp] [ 0:07] %1a = ptrtoint %19 # [i64 17660230949293522944 dp] [ 0:07] store %19 %1b [ 0:07] %1f = icmp.eq %19 [global* 0 0 ddn] # [i1 0 1] [ 0:07] br %1f label %21 label %33 [ 0:07] %24 = vm.obj.size %19 # [i32 1 d] [ 0:07] %25 = sext %24 # [i64 1 d] [ 0:07] %26 = getelementptr %22 [i64 0 d] [i32 0 d] %25 # [marked* f515be7b 1 ddp] [ 0:07] %2b = icmp.eq %19 %26 # [i1 0 1] [ 0:07] br %2b label %2d label %33 [ 0:07] %2e = sub [i64 0 d] %1a # [i64 786513124416028672 d] [ 0:07] %2f = getelementptr %26 %2e # [global* 0 1 ddn] [ 0:07] %30 = ptrtoint %2f # [i64 1 d] [ 0:07] %31 = call @memset.915 %19 [i32 255 d] %30 # [global* 0 0 uun] [ 0:07] br label %33 [ 0:07] %38 = getelementptr [alloca* ac98528 0 ddp] # [alloca* ac98528 0 ddp] [ 0:07] [i64 0 d] [i32 0 d] [ 0:07] call @_ZN3brq8smt_exprIN6__lava20marked_array_adaptorEJEE5applyERKS3_.963 [ 0:07] %0d %38 [ 0:07] %05 = alloca [i32 1 d] # [alloca* 3ac5e5b 0 ddp] [ 0:07] %0b = getelementptr [alloca* ac98528 0 ddp] # [alloca* ac98528 0 ddp] [ 0:07] [i64 0 d] [i32 0 d] [i32 0 d] [i32 0 d] [ 0:07] %0c = load %0b # [marked* f6e72372 0 ddp] [ 0:07] %0d = icmp.eq %0c [global* 0 0 ddn] # [i1 0 1] [ 0:07] br %0d label %cond.false.i.i label %14 [ 0:07] %10 = getelementptr %0c [i64 0 d] [i32 0 d] # [marked* f6e72372 0 ddp] [ 0:07] [i64 0 d] [ 0:07] %11 = vm.obj.size %10 # [i32 4 d] [ 0:07] %12 = add %11 [i32 4294967295 d] # [i32 3 d] [ 0:07] br label %14 [ 0:07] %1a = getelementptr [alloca* ef8702c 0 ddp] # [alloca* ef8702c 0 ddp] [ 0:07] [i64 0 d] [i32 0 d] [i32 0 d] [i32 0 d] [ 0:07] %1b = load %1a # [marked* f515be7b 0 ddp] [ 0:07] %1c = icmp.eq %1b [global* 0 0 ddn] # [i1 0 1] [ 0:07] br %1c label %cond.false.i.i16 label %24 [ 0:07] %1f = getelementptr %1b [i64 0 d] [i32 0 d] # [marked* f515be7b 0 ddp] [ 0:07] [i64 0 d] [ 0:07] %20 = vm.obj.size %1f # [i32 1 d] [ 0:07] %21 = add %20 [i32 4294967295 d] # [i32 0 d] [ 0:07] %22 = load %1a # [marked* f515be7b 0 ddp] [ 0:07] br label %24 [ 0:07] %2d = getelementptr %25 [i64 0 d] [i32 0 d] # [marked* f515be7b 0 ddp] [ 0:07] [i64 0 d] [ 0:07] %2f = vm.obj.size %2d # [i32 1 d] [ 0:07] %30 = sext %2f # [i64 1 d] [ 0:07] %31 = getelementptr %25 [i64 0 d] [i32 0 d] %30 # [marked* f515be7b 1 ddp] [ 0:07] %32 = getelementptr %31 # [marked* f515be7b 0 ddp] [ 0:07] [i64 18446744073709551615 d] [ 0:07] %33 = load %32 # [i8 255 d] [ 0:07] %37 = getelementptr [alloca* ef8702c 0 ddp] # [alloca* ef8702c 0 ddp] [ 0:07] [i64 0 d] [i32 0 d] [i32 0 d] [ 0:07] %38 = add %15 [i32 1 d] # [i32 4 d] [ 0:07] %39 = add %38 %26 # [i32 4 d] [ 0:07] call @llvm.lifetime.start.p0i8 [i64 1 d] %05 [ 0:07] store [i8 0 d] %05 [ 0:07] call @_ZN6__dios5ArrayIhLi4EE6resizeEiRKh.917 %37 %39 %05 [ 0:07] %0a = getelementptr [alloca* ef8702c 0 ddp] # [alloca* ef8702c 0 ddp] [ 0:07] [i64 0 d] [i32 0 d] [ 0:07] %0b = load %0a # [marked* f515be7b 0 ddp] [ 0:07] %0c = icmp.eq %0b [global* 0 0 ddn] # [i1 0 1] [ 0:07] br %0c label %cond.false.i label %13 [ 0:07] %0f = getelementptr %0b [i64 0 d] [i32 0 d] # [marked* f515be7b 0 ddp] [ 0:07] [i64 0 d] [ 0:07] %10 = vm.obj.size %0f # [i32 1 d] [ 0:07] %11 = load %0a # [marked* f515be7b 0 ddp] [ 0:07] br label %13 [ 0:07] %19 = icmp.eq [i32 4 d] [i32 0 d] # [i1 0 1] [ 0:07] %1a = icmp.eq %14 [global* 0 0 ddn] # [i1 0 1] [ 0:07] %1b = getelementptr %14 [i64 0 d] [i32 0 d] # [marked* f515be7b 0 ddp] [ 0:07] [i64 0 d] [ 0:07] br %19 label %if.else.i label %if.then.i [ 0:07] br %1a label %if.else9.i label %if.then5.i [ 0:07] vm.obj.resize %1b [i32 4 d] [ 0:07] br label %2f [ 0:07] %30 = icmp.slt %15 [i32 4 d] # [i1 1 1] [ 0:07] br %30 label %if.end label %if.then [ 0:07] %34 = load %0a # [marked* f515be7b 0 ddp] [ 0:07] %35 = sext %15 # [i64 1 d] [ 0:07] %36 = getelementptr %34 [i64 0 d] [i32 0 d] %35 # [marked* f515be7b 1 ddp] [ 0:07] %38 = icmp.eq %34 [global* 0 0 ddn] # [i1 0 1] [ 0:07] br %38 label %3a label %42 [ 0:07] %3b = getelementptr %34 [i64 0 d] [i32 0 d] # [marked* f515be7b 0 ddp] [ 0:07] [i64 0 d] [ 0:07] %3e = vm.obj.size %3b # [i32 4 d] [ 0:07] %3f = sext %3e # [i64 4 d] [ 0:07] %40 = getelementptr %34 [i64 0 d] [i32 0 d] %3f # [marked* f515be7b 4 ddp] [ 0:07] br label %42 [ 0:07] %49 = icmp.eq %36 %43 # [i1 0 1] [ 0:07] br %49 label %for.body.i label %if.end [ 0:07] %4e = load [alloca* 3ac5e5b 0 ddp] # [i8 0 d] [ 0:07] store %4e %4c [ 0:07] %50 = getelementptr %4c [i64 1 d] # [marked* f515be7b 2 ddp] [ 0:07] %52 = icmp.eq %50 %43 # [i1 0 1] [ 0:07] br %52 label %for.body.i label %if.end [ 0:07] %4e = load [alloca* 3ac5e5b 0 ddp] # [i8 0 d] [ 0:07] store %4e %4c [ 0:07] %50 = getelementptr %4c [i64 1 d] # [marked* f515be7b 3 ddp] [ 0:07] %52 = icmp.eq %50 %43 # [i1 0 1] [ 0:07] br %52 label %for.body.i label %if.end [ 0:07] %4e = load [alloca* 3ac5e5b 0 ddp] # [i8 0 d] [ 0:07] store %4e %4c [ 0:07] %50 = getelementptr %4c [i64 1 d] # [marked* f515be7b 4 ddp] [ 0:07] %52 = icmp.eq %50 %43 # [i1 1 1] [ 0:07] br %52 label %for.body.i label %if.end [ 0:07] ret [ 0:07] call @llvm.lifetime.end.p0i8 [i64 1 d] %05 [ 0:07] %40 = load %1a # [marked* f515be7b 0 ddp] [ 0:07] %42 = getelementptr %40 [i64 0 d] [i32 0 d] # [marked* f515be7b 0 ddp] [ 0:07] [i64 0 d] [ 0:07] %44 = vm.obj.size %42 # [i32 4 d] [ 0:07] %45 = sext %44 # [i64 4 d] [ 0:07] %46 = getelementptr %40 [i64 0 d] [i32 0 d] %45 # [marked* f515be7b 4 ddp] [ 0:07] %47 = getelementptr %46 # [marked* f515be7b 3 ddp] [ 0:07] [i64 18446744073709551615 d] [ 0:07] store %33 %47 [ 0:07] %4b = load %1a # [marked* f515be7b 0 ddp] [ 0:07] %4c = icmp.eq %4b [global* 0 0 ddn] # [i1 0 1] [ 0:07] br %4c label %4e label %56 [ 0:07] %50 = getelementptr %4b [i64 0 d] [i32 0 d] # [marked* f515be7b 0 ddp] [ 0:07] [i64 0 d] [ 0:07] %52 = vm.obj.size %50 # [i32 4 d] [ 0:07] %53 = sext %52 # [i64 4 d] [ 0:07] %54 = getelementptr %4b [i64 0 d] [i32 0 d] %53 # [marked* f515be7b 4 ddp] [ 0:07] br label %56 [ 0:07] %58 = getelementptr %57 # [marked* f515be7b 3 ddp] [ 0:07] [i64 18446744073709551615 d] [ 0:07] %59 = sext %15 # [i64 3 d] [ 0:07] %5a = sub [i64 0 d] %59 # [i64 18446744073709551613 d] [ 0:07] %5b = getelementptr %58 %5a # [marked* f515be7b 0 ddp] [ 0:07] %5e = load %0b # [marked* f6e72372 0 ddp] [ 0:07] %5f = getelementptr %5e [i64 0 d] [i32 0 d] # [marked* f6e72372 0 ddp] [ 0:07] [i64 0 d] [ 0:07] %62 = icmp.eq %5e [global* 0 0 ddn] # [i1 0 1] [ 0:07] br %62 label %64 label %6b [ 0:07] %67 = vm.obj.size %5f # [i32 4 d] [ 0:07] %68 = sext %67 # [i64 4 d] [ 0:07] %69 = getelementptr %5e [i64 0 d] [i32 0 d] %68 # [marked* f6e72372 4 ddp] [ 0:07] br label %6b [ 0:07] %6d = getelementptr %6c # [marked* f6e72372 3 ddp] [ 0:07] [i64 18446744073709551615 d] [ 0:07] %74 = ptrtoint %6d # [i64 17791227825483677699 dp] [ 0:07] ret [ 0:07] %3a = getelementptr [alloca* df016a9 0 ddp] # [alloca* df016a9 0 ddp] [ 0:07] [i64 0 d] [i32 0 d] [i32 0 d] [ 0:07] call @_ZN3brq8smt_exprIN6__lava20marked_array_adaptorEJEE5applyERKS3_.963 [ 0:07] %0d %3a [ 0:07] %05 = alloca [i32 1 d] # [alloca* 445f7c 0 ddp] [ 0:07] %0b = getelementptr [alloca* df016a9 0 ddp] # [alloca* df016a9 0 ddp] [ 0:07] [i64 0 d] [i32 0 d] [i32 0 d] [i32 0 d] [ 0:07] %0c = load %0b # [marked* f0ff5347 0 ddp] [ 0:07] %0d = icmp.eq %0c [global* 0 0 ddn] # [i1 0 1] [ 0:07] br %0d label %cond.false.i.i label %14 [ 0:07] %10 = getelementptr %0c [i64 0 d] [i32 0 d] # [marked* f0ff5347 0 ddp] [ 0:07] [i64 0 d] [ 0:07] %11 = vm.obj.size %10 # [i32 6 d] [ 0:07] %12 = add %11 [i32 4294967295 d] # [i32 5 d] [ 0:07] br label %14 [ 0:07] %1a = getelementptr [alloca* ef8702c 0 ddp] # [alloca* ef8702c 0 ddp] [ 0:07] [i64 0 d] [i32 0 d] [i32 0 d] [i32 0 d] [ 0:07] %1b = load %1a # [marked* f515be7b 0 ddp] [ 0:07] %1c = icmp.eq %1b [global* 0 0 ddn] # [i1 0 1] [ 0:07] br %1c label %cond.false.i.i16 label %24 [ 0:07] %1f = getelementptr %1b [i64 0 d] [i32 0 d] # [marked* f515be7b 0 ddp] [ 0:07] [i64 0 d] [ 0:07] %20 = vm.obj.size %1f # [i32 4 d] [ 0:07] %21 = add %20 [i32 4294967295 d] # [i32 3 d] [ 0:07] %22 = load %1a # [marked* f515be7b 0 ddp] [ 0:07] br label %24 [ 0:07] %2d = getelementptr %25 [i64 0 d] [i32 0 d] # [marked* f515be7b 0 ddp] [ 0:07] [i64 0 d] [ 0:07] %2f = vm.obj.size %2d # [i32 4 d] [ 0:07] %30 = sext %2f # [i64 4 d] [ 0:07] %31 = getelementptr %25 [i64 0 d] [i32 0 d] %30 # [marked* f515be7b 4 ddp] [ 0:07] %32 = getelementptr %31 # [marked* f515be7b 3 ddp] [ 0:07] [i64 18446744073709551615 d] [ 0:07] %33 = load %32 # [i8 255 d] [ 0:07] %37 = getelementptr [alloca* ef8702c 0 ddp] # [alloca* ef8702c 0 ddp] [ 0:07] [i64 0 d] [i32 0 d] [i32 0 d] [ 0:07] %38 = add %15 [i32 1 d] # [i32 6 d] [ 0:07] %39 = add %38 %26 # [i32 9 d] [ 0:07] call @llvm.lifetime.start.p0i8 [i64 1 d] %05 [ 0:07] store [i8 0 d] %05 [ 0:07] call @_ZN6__dios5ArrayIhLi4EE6resizeEiRKh.917 %37 %39 %05 [ 0:07] %0a = getelementptr [alloca* ef8702c 0 ddp] # [alloca* ef8702c 0 ddp] [ 0:07] [i64 0 d] [i32 0 d] [ 0:07] %0b = load %0a # [marked* f515be7b 0 ddp] [ 0:07] %0c = icmp.eq %0b [global* 0 0 ddn] # [i1 0 1] [ 0:07] br %0c label %cond.false.i label %13 [ 0:07] %0f = getelementptr %0b [i64 0 d] [i32 0 d] # [marked* f515be7b 0 ddp] [ 0:07] [i64 0 d] [ 0:07] %10 = vm.obj.size %0f # [i32 4 d] [ 0:07] %11 = load %0a # [marked* f515be7b 0 ddp] [ 0:07] br label %13 [ 0:07] %19 = icmp.eq [i32 9 d] [i32 0 d] # [i1 0 1] [ 0:07] %1a = icmp.eq %14 [global* 0 0 ddn] # [i1 0 1] [ 0:07] %1b = getelementptr %14 [i64 0 d] [i32 0 d] # [marked* f515be7b 0 ddp] [ 0:07] [i64 0 d] [ 0:07] br %19 label %if.else.i label %if.then.i [ 0:07] br %1a label %if.else9.i label %if.then5.i [ 0:07] vm.obj.resize %1b [i32 9 d] [ 0:07] br label %2f [ 0:07] %30 = icmp.slt %15 [i32 9 d] # [i1 1 1] [ 0:07] br %30 label %if.end label %if.then [ 0:07] %34 = load %0a # [marked* f515be7b 0 ddp] [ 0:07] %35 = sext %15 # [i64 4 d] [ 0:07] %36 = getelementptr %34 [i64 0 d] [i32 0 d] %35 # [marked* f515be7b 4 ddp] [ 0:07] %38 = icmp.eq %34 [global* 0 0 ddn] # [i1 0 1] [ 0:07] br %38 label %3a label %42 [ 0:07] %3b = getelementptr %34 [i64 0 d] [i32 0 d] # [marked* f515be7b 0 ddp] [ 0:07] [i64 0 d] [ 0:07] %3e = vm.obj.size %3b # [i32 9 d] [ 0:07] %3f = sext %3e # [i64 9 d] [ 0:07] %40 = getelementptr %34 [i64 0 d] [i32 0 d] %3f # [marked* f515be7b 9 ddp] [ 0:07] br label %42 [ 0:07] %49 = icmp.eq %36 %43 # [i1 0 1] [ 0:07] br %49 label %for.body.i label %if.end [ 0:07] %4e = load [alloca* 445f7c 0 ddp] # [i8 0 d] [ 0:07] store %4e %4c [ 0:07] %50 = getelementptr %4c [i64 1 d] # [marked* f515be7b 5 ddp] [ 0:07] %52 = icmp.eq %50 %43 # [i1 0 1] [ 0:07] br %52 label %for.body.i label %if.end [ 0:07] %4e = load [alloca* 445f7c 0 ddp] # [i8 0 d] [ 0:07] store %4e %4c [ 0:07] %50 = getelementptr %4c [i64 1 d] # [marked* f515be7b 6 ddp] [ 0:07] %52 = icmp.eq %50 %43 # [i1 0 1] [ 0:07] br %52 label %for.body.i label %if.end [ 0:07] %4e = load [alloca* 445f7c 0 ddp] # [i8 0 d] [ 0:07] store %4e %4c [ 0:07] %50 = getelementptr %4c [i64 1 d] # [marked* f515be7b 7 ddp] [ 0:07] %52 = icmp.eq %50 %43 # [i1 0 1] [ 0:07] br %52 label %for.body.i label %if.end [ 0:07] %4e = load [alloca* 445f7c 0 ddp] # [i8 0 d] [ 0:07] store %4e %4c [ 0:07] %50 = getelementptr %4c [i64 1 d] # [marked* f515be7b 8 ddp] [ 0:07] %52 = icmp.eq %50 %43 # [i1 0 1] [ 0:07] br %52 label %for.body.i label %if.end [ 0:07] %4e = load [alloca* 445f7c 0 ddp] # [i8 0 d] [ 0:07] store %4e %4c [ 0:07] %50 = getelementptr %4c [i64 1 d] # [marked* f515be7b 9 ddp] [ 0:07] %52 = icmp.eq %50 %43 # [i1 1 1] [ 0:07] br %52 label %for.body.i label %if.end [ 0:07] ret [ 0:07] call @llvm.lifetime.end.p0i8 [i64 1 d] %05 [ 0:07] %40 = load %1a # [marked* f515be7b 0 ddp] [ 0:07] %42 = getelementptr %40 [i64 0 d] [i32 0 d] # [marked* f515be7b 0 ddp] [ 0:07] [i64 0 d] [ 0:07] %44 = vm.obj.size %42 # [i32 9 d] [ 0:07] %45 = sext %44 # [i64 9 d] [ 0:07] %46 = getelementptr %40 [i64 0 d] [i32 0 d] %45 # [marked* f515be7b 9 ddp] [ 0:07] %47 = getelementptr %46 # [marked* f515be7b 8 ddp] [ 0:07] [i64 18446744073709551615 d] [ 0:07] store %33 %47 [ 0:07] %4b = load %1a # [marked* f515be7b 0 ddp] [ 0:07] %4c = icmp.eq %4b [global* 0 0 ddn] # [i1 0 1] [ 0:07] br %4c label %4e label %56 [ 0:07] %50 = getelementptr %4b [i64 0 d] [i32 0 d] # [marked* f515be7b 0 ddp] [ 0:07] [i64 0 d] [ 0:07] %52 = vm.obj.size %50 # [i32 9 d] [ 0:07] %53 = sext %52 # [i64 9 d] [ 0:07] %54 = getelementptr %4b [i64 0 d] [i32 0 d] %53 # [marked* f515be7b 9 ddp] [ 0:07] br label %56 [ 0:07] %58 = getelementptr %57 # [marked* f515be7b 8 ddp] [ 0:07] [i64 18446744073709551615 d] [ 0:07] %59 = sext %15 # [i64 5 d] [ 0:07] %5a = sub [i64 0 d] %59 # [i64 18446744073709551611 d] [ 0:07] %5b = getelementptr %58 %5a # [marked* f515be7b 3 ddp] [ 0:07] %5e = load %0b # [marked* f0ff5347 0 ddp] [ 0:07] %5f = getelementptr %5e [i64 0 d] [i32 0 d] # [marked* f0ff5347 0 ddp] [ 0:07] [i64 0 d] [ 0:07] %62 = icmp.eq %5e [global* 0 0 ddn] # [i1 0 1] [ 0:07] br %62 label %64 label %6b [ 0:07] %67 = vm.obj.size %5f # [i32 6 d] [ 0:07] %68 = sext %67 # [i64 6 d] [ 0:07] %69 = getelementptr %5e [i64 0 d] [i32 0 d] %68 # [marked* f0ff5347 6 ddp] [ 0:07] br label %6b [ 0:07] %6d = getelementptr %6c # [marked* f0ff5347 5 ddp] [ 0:07] [i64 18446744073709551615 d] [ 0:07] %74 = ptrtoint %6d # [i64 17365690252571705349 dp] [ 0:07] ret [ 0:07] %3c = load [alloca* db43f22 0 ddp] # [i8 1 d] [ 0:07] %44 = load %11 # [marked* f515be7b 0 ddp] [ 0:07] %46 = getelementptr %44 [i64 0 d] [i32 0 d] # [marked* f515be7b 0 ddp] [ 0:07] [i64 0 d] [ 0:07] %48 = vm.obj.size %46 # [i32 9 d] [ 0:07] %49 = sext %48 # [i64 9 d] [ 0:07] %4a = getelementptr %44 [i64 0 d] [i32 0 d] %49 # [marked* f515be7b 9 ddp] [ 0:07] %4b = getelementptr %4a # [marked* f515be7b 8 ddp] [ 0:07] [i64 18446744073709551615 d] [ 0:07] %4c = load %4b # [i8 255 d] [ 0:07] %52 = load %11 # [marked* f515be7b 0 ddp] [ 0:07] %54 = getelementptr %52 [i64 0 d] [i32 0 d] # [marked* f515be7b 0 ddp] [ 0:07] [i64 0 d] [ 0:07] %56 = vm.obj.size %54 # [i32 9 d] [ 0:07] %57 = sext %56 # [i64 9 d] [ 0:07] %58 = getelementptr %52 [i64 0 d] [i32 0 d] %57 # [marked* f515be7b 9 ddp] [ 0:07] %59 = getelementptr %58 # [marked* f515be7b 8 ddp] [ 0:07] [i64 18446744073709551615 d] [ 0:07] store %3c %59 [ 0:07] %5f = load %11 # [marked* f515be7b 0 ddp] [ 0:07] %60 = icmp.eq %5f [global* 0 0 ddn] # [i1 0 1] [ 0:07] br %60 label %62 label %if.then5.i.i.i.i [ 0:07] %63 = getelementptr %5f [i64 0 d] [i32 0 d] # [marked* f515be7b 0 ddp] [ 0:07] [i64 0 d] [ 0:07] %64 = vm.obj.size %63 # [i32 9 d] [ 0:07] %65 = add %64 [i32 1 d] # [i32 10 d] [ 0:07] %68 = icmp.eq %65 [i32 0 d] # [i1 0 1] [ 0:07] %69 = load %11 # [marked* f515be7b 0 ddp] [ 0:07] %6a = getelementptr %69 [i64 0 d] [i32 0 d] # [marked* f515be7b 0 ddp] [ 0:07] [i64 0 d] [ 0:07] br %68 label %if.else.i.i.i.i label %if.then2.i.i.i.i [ 0:07] %70 = icmp.eq %69 [global* 0 0 ddn] # [i1 0 1] [ 0:07] br %70 label %if.else9.i.i.i.i label %if.then5.i.i.i.i [ 0:07] vm.obj.resize %6a %65 [ 0:07] %7a = load %11 # [marked* f515be7b 0 ddp] [ 0:07] br label %7c [ 0:07] %81 = getelementptr %7d [i64 0 d] [i32 0 d] # [marked* f515be7b 0 ddp] [ 0:07] [i64 0 d] [ 0:07] %83 = vm.obj.size %81 # [i32 10 d] [ 0:07] %84 = sext %83 # [i64 10 d] [ 0:07] %85 = getelementptr %7d [i64 0 d] [i32 0 d] %84 # [marked* f515be7b a ddp] [ 0:07] %86 = getelementptr %85 # [marked* f515be7b 9 ddp] [ 0:07] [i64 18446744073709551615 d] [ 0:07] store [i8 0 d] %86 [ 0:07] %8a = load %11 # [marked* f515be7b 0 ddp] [ 0:07] %8c = getelementptr %8a [i64 0 d] [i32 0 d] # [marked* f515be7b 0 ddp] [ 0:07] [i64 0 d] [ 0:07] %8e = vm.obj.size %8c # [i32 10 d] [ 0:07] %8f = sext %8e # [i64 10 d] [ 0:07] %90 = getelementptr %8a [i64 0 d] [i32 0 d] %8f # [marked* f515be7b a ddp] [ 0:07] %91 = getelementptr %90 # [marked* f515be7b 9 ddp] [ 0:07] [i64 18446744073709551615 d] [ 0:07] store %4c %91 [ 0:07] ret [ 0:07] call @llvm.lifetime.end.p0i8 [i64 1 d] %06 [ 0:07] %b7 = getelementptr %09 [i64 0 d] [i32 0 d] # [alloca* ef8702c 0 ddp] [ 0:07] [i32 0 d] [i32 0 d] [i32 0 d] [i32 0 d] [ 0:07] %b8 = load %b7 # [marked* f515be7b 0 ddp] [ 0:07] %b9 = getelementptr %b8 [i64 0 d] [i32 0 d] # [marked* f515be7b 0 ddp] [ 0:07] [i64 0 d] [ 0:07] store [global* 0 0 ddn] %b7 [ 0:07] %bf = vm.obj.size %b9 # [i32 10 d] [ 0:07] %c0 = sext %bf # [i64 10 d] [ 0:07] %c1 = getelementptr %be [i64 0 d] [i32 0 d] %c0 # [marked* f515be7b a ddp] [ 0:07] %c2 = getelementptr %c1 # [marked* f515be7b 9 ddp] [ 0:07] [i64 18446744073709551615 d] [ 0:07] store [i8 0 d] %c2 [ 0:07] %c4 = load %b7 # [global* 0 0 ddn] [ 0:07] %c5 = icmp.eq %c4 [global* 0 0 ddn] # [i1 1 1] [ 0:07] br %c5 label %if.end.i.i283 label %192 [ 0:07] call @llvm.lifetime.end.p0i8 [i64 8 d] %a7 [ 0:07] call @llvm.lifetime.end.p0i8 [i64 8 d] %87 [ 0:07] call @llvm.lifetime.end.p0i8 [i64 8 d] %60 [ 0:07] %19c = getelementptr %b8 [i64 0 d] [i32 0 d] # [marked* f515be7b 0 ddp] [ 0:07] [i64 0 d] [ 0:07] call @__lart_track.939 %19c [ 0:07] br %0f label %11 label %19 [ 0:07] %14 = vm.obj.size %13 # [i32 16 d] [ 0:07] %15 = ashr %14 [i32 3 d] # [i32 2 d] [ 0:07] %16 = sext %15 # [i64 2 d] [ 0:07] %17 = getelementptr %0c [i64 0 d] [i32 0 d] %16 # [weak* f9764cef 10h ddp] [ 0:07] br label %19 [ 0:07] %1b = getelementptr %1a # [weak* f9764cef 8 ddp] [ 0:07] [i64 18446744073709551615 d] [i32 0 d] [ 0:07] %22 = load %21 # [weak* fcd85b22 0 ddp] [ 0:07] %23 = icmp.eq %22 [global* 0 0 ddn] # [i1 0 1] [ 0:07] br %23 label %25 label %if.then5.i.i [ 0:07] %27 = vm.obj.size %26 # [i32 24 d] [ 0:07] %28 = ashr %27 [i32 3 d] # [i32 3 d] [ 0:07] %29 = add %28 [i32 1 d] # [i32 4 d] [ 0:07] %2c = icmp.eq %29 [i32 0 d] # [i1 0 1] [ 0:07] %2d = load %21 # [weak* fcd85b22 0 ddp] [ 0:07] br %2c label %if.else.i.i label %if.then2.i.i [ 0:07] %34 = icmp.eq %2d [global* 0 0 ddn] # [i1 0 1] [ 0:07] %35 = shl %29 [i32 3 d] # [i32 32 d] [ 0:07] br %34 label %if.else9.i.i label %if.then5.i.i [ 0:07] vm.obj.resize %2e %35 [ 0:07] %40 = load %21 # [weak* fcd85b22 0 ddp] [ 0:07] br label %43 [ 0:07] %49 = vm.obj.size %44 # [i32 32 d] [ 0:07] %4a = ashr %49 [i32 3 d] # [i32 4 d] [ 0:07] %4b = sext %4a # [i64 4 d] [ 0:07] %4c = getelementptr %45 [i64 0 d] [i32 0 d] %4b # [weak* fcd85b22 20h ddp] [ 0:07] %4d = getelementptr %4c # [weak* fcd85b22 18h ddp] [ 0:07] [i64 18446744073709551615 d] [ 0:07] store %05 %4e [ 0:07] br label %return [ 0:07] ret %19c [ 0:07] ret %18 [ 0:07] %13 = vm.test.taint __lart_abstract.tobool.i1 %11 # [i1 0 u] [ 0:07] %11 %12 [ 0:07] # stopped at breakpoint __lart_abstract.tobool.i1 [ 0:07] # executing __lart_abstract.tobool.i1 at (unknown location) [ 0:07] > step --out [ 0:07] %05 = call @__lamp_to_tristate # [i8 0 u] [ 0:07] [marked* f515be7b 0 ddp] [ 0:07] %05 = alloca [i32 1 d] # [alloca* f14d6ca 0 ddp] [ 0:07] %06 = alloca [i32 1 d] # [alloca* c6f422d 0 ddp] [ 0:07] %1a = vm.obj.size [marked* f515be7b 0 ddp] # [i32 10 d] [ 0:07] %1b = sext %1a # [i64 10 d] [ 0:07] %1c = getelementptr %10 [i64 0 d] [i32 0 d] %1b # [marked* f515be7b a ddp] [ 0:07] %1d = getelementptr %1c # [marked* f515be7b 9 ddp] [ 0:07] [i64 18446744073709551615 d] [ 0:07] %1e = load %1d # [i8 0 d] [ 0:07] %1f = icmp.eq %1e [i8 0 d] # [i1 1 1] [ 0:07] br %1f label %if.else.i.i.i label %21 [ 0:07] call @llvm.lifetime.start.p0i8 [i64 8 d] %26 [ 0:07] %2b = vm.obj.size [marked* f515be7b 0 ddp] # [i32 10 d] [ 0:07] %2c = vm.obj.size [marked* f515be7b 0 ddp] # [i32 10 d] [ 0:07] %2d = sext %2c # [i64 10 d] [ 0:07] %2e = getelementptr %2a [i64 0 d] [i32 0 d] %2d # [marked* f515be7b a ddp] [ 0:07] %33 = getelementptr %05 [i64 0 d] [i32 0 d] # [alloca* f14d6ca 0 ddp] [ 0:07] [i32 0 d] [i32 0 d] [i32 0 d] [i32 0 d] [ 0:07] store [global* 0 0 ddn] %33 [ 0:07] %3c = icmp.eq %2b [i32 0 d] # [i1 0 1] [ 0:07] br %3c label %41 label %3e [ 0:07] %42 = vm.obj.make %2b [i32 4 d] # [marked* f059e7a3 0 ddp] [ 0:07] store %42 %43 [ 0:07] br label %47 [ 0:07] %4d = icmp.eq %2e [marked* f515be7b 0 ddp] # [i1 0 1] [ 0:07] br %4d label %52 label %4f [ 0:07] %53 = getelementptr %48 [i64 0 d] [i32 0 d] # [marked* f059e7a3 0 ddp] [ 0:07] [i64 0 d] [ 0:07] br label %56 [ 0:07] %5b = getelementptr %58 [i64 1 d] # [marked* f059e7a3 1 ddp] [ 0:07] %5c = load %57 # [i8 9 d] [ 0:07] store %5c %58 [ 0:07] %5e = getelementptr %57 [i64 1 d] # [marked* f515be7b 1 ddp] [ 0:07] %61 = icmp.eq %5e %2e # [i1 0 1] [ 0:07] br %61 label %56 label %63 [ 0:07] %5b = getelementptr %58 [i64 1 d] # [marked* f059e7a3 2 ddp] [ 0:07] %5c = load %57 # [i8 1 d] [ 0:07] store %5c %58 [ 0:07] %5e = getelementptr %57 [i64 1 d] # [marked* f515be7b 2 ddp] [ 0:07] %61 = icmp.eq %5e %2e # [i1 0 1] [ 0:07] br %61 label %56 label %63 [ 0:07] %5b = getelementptr %58 [i64 1 d] # [marked* f059e7a3 3 ddp] [ 0:07] %5c = load %57 # [i8 0 d] [ 0:07] store %5c %58 [ 0:07] %5e = getelementptr %57 [i64 1 d] # [marked* f515be7b 3 ddp] [ 0:07] %61 = icmp.eq %5e %2e # [i1 0 1] [ 0:07] br %61 label %56 label %63 [ 0:07] %5b = getelementptr %58 [i64 1 d] # [marked* f059e7a3 4 ddp] [ 0:07] %5c = load %57 # [i8 16 d] [ 0:07] store %5c %58 [ 0:07] %5e = getelementptr %57 [i64 1 d] # [marked* f515be7b 4 ddp] [ 0:07] %61 = icmp.eq %5e %2e # [i1 0 1] [ 0:07] br %61 label %56 label %63 [ 0:07] %5b = getelementptr %58 [i64 1 d] # [marked* f059e7a3 5 ddp] [ 0:07] %5c = load %57 # [i8 0 d] [ 0:07] store %5c %58 [ 0:07] %5e = getelementptr %57 [i64 1 d] # [marked* f515be7b 5 ddp] [ 0:07] %61 = icmp.eq %5e %2e # [i1 0 1] [ 0:07] br %61 label %56 label %63 [ 0:07] %5b = getelementptr %58 [i64 1 d] # [marked* f059e7a3 6 ddp] [ 0:07] %5c = load %57 # [i8 0 d] [ 0:07] store %5c %58 [ 0:07] %5e = getelementptr %57 [i64 1 d] # [marked* f515be7b 6 ddp] [ 0:07] %61 = icmp.eq %5e %2e # [i1 0 1] [ 0:07] br %61 label %56 label %63 [ 0:07] %5b = getelementptr %58 [i64 1 d] # [marked* f059e7a3 7 ddp] [ 0:07] %5c = load %57 # [i8 0 d] [ 0:07] store %5c %58 [ 0:07] %5e = getelementptr %57 [i64 1 d] # [marked* f515be7b 7 ddp] [ 0:07] %61 = icmp.eq %5e %2e # [i1 0 1] [ 0:07] br %61 label %56 label %63 [ 0:07] %5b = getelementptr %58 [i64 1 d] # [marked* f059e7a3 8 ddp] [ 0:07] %5c = load %57 # [i8 0 d] [ 0:07] store %5c %58 [ 0:07] %5e = getelementptr %57 [i64 1 d] # [marked* f515be7b 8 ddp] [ 0:07] %61 = icmp.eq %5e %2e # [i1 0 1] [ 0:07] br %61 label %56 label %63 [ 0:07] %5b = getelementptr %58 [i64 1 d] # [marked* f059e7a3 9 ddp] [ 0:07] %5c = load %57 # [i8 1 d] [ 0:07] store %5c %58 [ 0:07] %5e = getelementptr %57 [i64 1 d] # [marked* f515be7b 9 ddp] [ 0:07] %61 = icmp.eq %5e %2e # [i1 0 1] [ 0:07] br %61 label %56 label %63 [ 0:07] %5b = getelementptr %58 [i64 1 d] # [marked* f059e7a3 a ddp] [ 0:07] %5c = load %57 # [i8 0 d] [ 0:07] store %5c %58 [ 0:07] %5e = getelementptr %57 [i64 1 d] # [marked* f515be7b a ddp] [ 0:07] %61 = icmp.eq %5e %2e # [i1 1 1] [ 0:07] br %61 label %56 label %63 [ 0:07] %64 = getelementptr %05 [i64 0 d] [i32 0 d] # [alloca* f14d6ca 0 ddp] [ 0:07] [i32 0 d] [i32 0 d] [i32 0 d] [i32 0 d] [ 0:07] %65 = load %64 # [marked* f059e7a3 0 ddp] [ 0:07] br label %67 [ 0:07] %6a = icmp.eq %69 [global* 0 0 ddn] # [i1 0 1] [ 0:07] br %6a label %6c label %77 [ 0:07] %6d = getelementptr %05 [i64 0 d] [i32 0 d] # [alloca* f14d6ca 0 ddp] [ 0:07] [i32 0 d] [i32 0 d] [i32 0 d] [ 0:07] call @_ZN6__dios5ArrayIhLi4EE6_clearEv.921 %6d [ 0:07] %08 = getelementptr [alloca* f14d6ca 0 ddp] # [alloca* f14d6ca 0 ddp] [ 0:07] [i64 0 d] [i32 0 d] [ 0:07] %09 = load %08 # [marked* f059e7a3 0 ddp] [ 0:07] %0a = icmp.eq %09 [global* 0 0 ddn] # [i1 0 1] [ 0:07] br %0a label %cond.false.i label %10 [ 0:07] %0d = getelementptr %09 [i64 0 d] [i32 0 d] # [marked* f059e7a3 0 ddp] [ 0:07] [i64 0 d] [ 0:07] %0e = vm.obj.size %0d # [i32 10 d] [ 0:07] br label %10 [ 0:07] ret [ 0:07] %73 = load %72 # [marked* f059e7a3 0 ddp] [ 0:07] vm.obj.free %73 [ 0:07] store [global* 0 0 ddn] %68 [ 0:07] br label %77 [ 0:07] call @llvm.lifetime.end.p0i8 [i64 8 d] %26 [ 0:07] br label %9f [ 0:07] ret [i8 2 d] [ 0:07] %06 = call @__lamp_decide %05 # [i1 0 u] [ 0:07] %07 = icmp.eq [i8 2 d] [i8 2 d] # [i1 1 1] [ 0:07] br %07 label %if.end.i label %if.then.i [ 0:07] %0a = vm.choose [i32 2 d] # [i32 0 d] [ 0:07] %0b = icmp.ne %0a [i32 0 d] # [i1 0 1] [ 0:07] br label %10 [ 0:07] ret %11 [ 0:07] ret %06 [ 0:07] # executing foo() at src.cpp:11 [ 0:07] > bitcode [ 0:07] label %entry: [ 0:07] call @__lart_new_frame [ 0:07] %02 = alloca [i32 1 d] # [alloca* a9127ed 0 ddp] [ 0:07] %03 = alloca [i32 1 d] # [alloca* 685f438 0 ddp] [ 0:07] %04 = dbg.bitcast %02 to i8* # [alloca* a9127ed 0 ddp] [ 0:07] call @llvm.lifetime.start.p0i8 [i64 4 d] %04 [ 0:07] dbg.declare val [ 0:07] %07 = call @__lamp_any_i32 # [i32 0 dt] [ 0:07] %08 = call @__lart_unstash_ret # [marked* f51c6385 0 ddp] [ 0:07] %09 = dbg.bitcast %02 to i8* # [alloca* a9127ed 0 ddp] [ 0:07] store %07 %02 [ 0:07] vm.test.crit %09 [i32 4 d] [i32 2 d] __dios_reschedule [ 0:07] %0c = vm.test.taint __lart_abstract.freeze.i32 # [global* 0 0 uun] [ 0:07] [global* 0 0 ddn] %07 %08 %02 [ 0:07] %0d = dbg.bitcast %02 to i8* # [alloca* a9127ed 0 ddp] [ 0:07] %0e = load %02 # [i32 0 dt] [ 0:07] vm.test.crit %0d [i32 4 d] [i32 1 d] __dios_reschedule [ 0:07] %10 = vm.test.taint __lart_abstract.melt.i32 # [marked* f6e72372 0 ddp] [ 0:07] [global* 0 0 ddn] %0e %02 [ 0:07] %11 = icmp.eq %0e [i32 0 d] # [i1 1 1t] [ 0:07] %12 = vm.test.taint __lart_abstract.eq.cmp.i32 # [marked* f515be7b 0 ddp] [ 0:07] [global* 0 0 ddn] %0e %10 [i32 0 d] [global* 0 0 ddn] [ 0:07] %13 = vm.test.taint __lart_abstract.tobool.i1 # [i1 0 1] [ 0:07] %11 %11 %12 [ 0:07] >> br %13 label %if.else label %if.then [ 0:07] label %if.then: [ 0:07] %16 = vm.test.taint __lart_abstract.assume.i8* # [global* 0 0 uun] [ 0:07] [global* 0 0 ddn] %11 %12 [i1 1 d] [ 0:07] %17 = call @_Z3getv # [i32 0 u] [ 0:07] %18 = dbg.bitcast %02 to i8* # [alloca* a9127ed 0 ddp] [ 0:07] store %17 %02 [ 0:07] vm.test.crit %18 [i32 4 d] [i32 2 d] __dios_reschedule [ 0:07] br label %if.end [ 0:07] label %if.else: [ 0:07] %1d = vm.test.taint __lart_abstract.assume.i8* # [global* 0 0 uun] [ 0:07] [global* 0 0 ddn] %11 %12 [i1 0 d] [ 0:07] %1e = dbg.bitcast %02 to i8* # [alloca* a9127ed 0 ddp] [ 0:07] %1f = load %02 # [i32 0 u] [ 0:07] vm.test.crit %1e [i32 4 d] [i32 1 d] __dios_reschedule [ 0:07] %21 = vm.test.taint __lart_abstract.melt.i32 # [global* 0 0 uun] [ 0:07] [global* 0 0 ddn] %1f %02 [ 0:07] %22 = sub %1f [i32 1 d] # [i32 0 u] [ 0:07] %23 = vm.test.taint __lart_abstract.sub.i32 # [global* 0 0 uun] [ 0:07] [global* 0 0 ddn] %1f %21 [i32 1 d] [global* 0 0 ddn] [ 0:07] %24 = dbg.bitcast %02 to i8* # [alloca* a9127ed 0 ddp] [ 0:07] store %22 %02 [ 0:07] vm.test.crit %24 [i32 4 d] [i32 2 d] __dios_reschedule [ 0:07] %27 = vm.test.taint __lart_abstract.freeze.i32 # [global* 0 0 uun] [ 0:07] [global* 0 0 ddn] %22 %23 %02 [ 0:07] br label %if.end [ 0:07] label %if.end: [ 0:07] %2a = dbg.bitcast %03 to i8* # [alloca* 685f438 0 ddp] [ 0:07] call @llvm.lifetime.start.p0i8 [i64 4 d] %2a [ 0:07] dbg.declare y [ 0:07] %2d = call @_Z3getv # [i32 0 u] [ 0:07] %2e = dbg.bitcast %03 to i8* # [alloca* 685f438 0 ddp] [ 0:07] store %2d %03 [ 0:07] vm.test.crit %2e [i32 4 d] [i32 2 d] __dios_reschedule [ 0:07] %31 = load [global* 1 0 ddp] # [i32 0 u] [ 0:07] vm.test.crit [global* 1 0 ddp] [i32 4 d] [i32 1 d] __dios_reschedule [ 0:07] %33 = dbg.bitcast %03 to i8* # [alloca* 685f438 0 ddp] [ 0:07] %34 = load %03 # [i32 0 u] [ 0:07] vm.test.crit %33 [i32 4 d] [i32 1 d] __dios_reschedule [ 0:07] %36 = icmp.eq %31 %34 # [i1 0 u] [ 0:07] br %36 label %cond.false label %cond.true [ 0:07] label %cond.true: [ 0:07] br label %cond.end [ 0:07] label %cond.false: [ 0:07] call @lart.__assert_fail [global* 2 0 ddp] [global* 3 0 ddp] [i32 17 d] [ 0:07] [global* 4 0 ddp] [ 0:07] br label %cond.end [ 0:07] label %cond.end: [ 0:07] %3e = dbg.bitcast %03 to i8* # [alloca* 685f438 0 ddp] [ 0:07] call @llvm.lifetime.end.p0i8 [i64 4 d] %3e [ 0:07] %40 = dbg.bitcast %02 to i8* # [alloca* a9127ed 0 ddp] [ 0:07] call @__lamp_dealloca %40 [i64 4 d] [ 0:07] call @llvm.lifetime.end.p0i8 [i64 4 d] %40 [ 0:07] call @__lart_exit_frame [ 0:07] ret [ 0:07] # executing foo() at src.cpp:11 [ 0:07] > stepi [ 0:07] br %13 label %if.else label %if.then [ 0:07] # executing foo() at src.cpp:14 [ 0:07] [ 0:08] = expected ========== [ 0:08] > start [ 0:08] > break __lart_abstract.tobool.i1 [ 0:08] > step --out [ 0:08] > step --out [ 0:08] > bitcode [ 0:08] > stepi [ 0:08] - FAULT [ 0:08] + executing foo() [ 0:08] [ 0:08] = matched =========== [ 0:08] > start | ^> start [ 0:08] > break __lart_abstract.tobool.i1 | ^> break __lart_abstract.tobool.i1 [ 0:08] > step --out | ^> step --out [ 0:08] > step --out | ^> step --out [ 0:08] > bitcode | ^> bitcode [ 0:08] > stepi | ^> stepi [ 0:08] # executing foo() at src.cpp:14 | executing foo() [ 0:08] + check debris [ 0:08] + test -e warning