-
-
Save nikic/d66abc8901a21594d0798d169eb9d725 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
; ModuleID = '<stdin>' | |
source_filename = "rustc_nightly_reduction.4ebbea32-cgu.5" | |
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128" | |
target triple = "x86_64-unknown-linux-gnu" | |
%struct.ham = type { %struct.zot, %struct.quux } | |
%struct.zot = type {} | |
%struct.quux = type { %struct.wombat, i8 } | |
%struct.wombat = type { [14 x i8], i8 } | |
%struct.wombat.0 = type { %struct.blam, i8 } | |
%struct.blam = type { [6 x i8], i8 } | |
%struct.spam = type { %struct.foo } | |
%struct.foo = type { %struct.zot.1, i8 } | |
%struct.zot.1 = type { [5 x i8], i8 } | |
%struct.foo.2 = type { %struct.snork, i8 } | |
%struct.snork = type { [2 x i8], i8 } | |
%struct.bar.3 = type { %struct.wombat.4 } | |
%struct.wombat.4 = type { { i8, i8 }, i8 } | |
%struct.zot.5 = type { %struct.hoge, i8 } | |
%struct.hoge = type { [12 x i8], i8 } | |
%struct.pluto = type { %struct.foo.6 } | |
%struct.foo.6 = type { %struct.barney, i8 } | |
%struct.barney = type { [11 x i8], i8 } | |
%struct.wobble = type { %struct.quux.7, i8 } | |
%struct.quux.7 = type { [4 x i8], i8 } | |
%struct.barney.8 = type { %struct.widget } | |
%struct.widget = type { %struct.baz, i8 } | |
%struct.baz = type { [3 x i8], i8 } | |
%struct.foo.9 = type { %struct.quux.10 } | |
%struct.quux.10 = type { %struct.baz.11, i8 } | |
%struct.baz.11 = type { [10 x i8], i8 } | |
%struct.hoge.12 = type { %struct.blam.13, i8 } | |
%struct.blam.13 = type { [13 x i8], i8 } | |
%struct.ham.14 = type { %struct.zot.5 } | |
%struct.pluto.15 = type { %struct.bar.16, i8 } | |
%struct.bar.16 = type { [7 x i8], i8 } | |
%struct.quux.17 = type { %struct.wombat.0 } | |
%struct.blam.18 = type { %struct.hoge.12 } | |
%struct.ham.19 = type { %struct.widget.20, i8 } | |
%struct.widget.20 = type { [8 x i8], i8 } | |
%struct.foo.21 = type { %struct.pluto.15 } | |
%struct.blam.22 = type { %struct.wombat.23 } | |
%struct.wombat.23 = type { %struct.wombat.24, i8 } | |
%struct.wombat.24 = type { [9 x i8], i8 } | |
%struct.hoge.25 = type { %struct.wobble } | |
%struct.barney.26 = type { %struct.ham.19 } | |
%struct.wobble.27 = type { %struct.foo.2 } | |
%struct.spam.28 = type { { i8*, i64 }, i64 } | |
%struct.bar = type { [1 x i64], i64 } | |
%struct.zot.29 = type { { [0 x i8]*, i64 }, i32, i32 } | |
%struct.bar.30 = type { { i8*, i64 }, i64 } | |
%struct.quux.31 = type {} | |
%struct.widget.32 = type { [0 x i8] } | |
%struct.wibble = type { %struct.spam.28 } | |
%struct.eggs = type { { i64*, i64 }, i64 } | |
%struct.wombat.33 = type { %struct.hoge.34, { i64, i64 } } | |
%struct.hoge.34 = type { %struct.blam.35, %struct.hoge.39 } | |
%struct.blam.35 = type { %struct.pluto.36, %struct.foo.37 } | |
%struct.pluto.36 = type {} | |
%struct.foo.37 = type { %struct.blam.38, i64, i8*, i64, i64 } | |
%struct.blam.38 = type {} | |
%struct.hoge.39 = type { { i64*, i64 }, i64 } | |
%struct.wibble.40 = type { %struct.barney.41, { i64, i64 } } | |
%struct.barney.41 = type { %struct.blam.35, %struct.zot.42 } | |
%struct.zot.42 = type { { i64*, i64 }, i64 } | |
%struct.blam.43 = type { i64, %struct.baz.44, %struct.wibble.45 } | |
%struct.baz.44 = type { %struct.bar.30 } | |
%struct.wibble.45 = type { i32, [9 x i32] } | |
%struct.snork.46 = type { i64, %struct.baz.44, { i32, i32 } } | |
%struct.snork.47 = type { i64, %struct.baz.44, %struct.eggs.48 } | |
%struct.eggs.48 = type { i64, [3 x i64] } | |
%struct.ham.49 = type { {}*, [2 x i64] } | |
%struct.quux.50 = type { %struct.baz.51 } | |
%struct.baz.51 = type { { i64*, i64 }, i64 } | |
%struct.snork.52 = type { %struct.snork.53, %struct.spam.54, { i32, i32 }, { i32, i32 } } | |
%struct.snork.53 = type { {}*, [2 x i64] } | |
%struct.spam.54 = type { i64, [3 x i64] } | |
%struct.widget.55 = type { %struct.snork.56, i64, i32, i32 } | |
%struct.snork.56 = type { { i64*, i64 }, i64 } | |
%struct.zot.57 = type { %struct.wombat.33 } | |
%struct.barney.58 = type { %struct.eggs.59, %struct.eggs.59, %struct.zot.60, i32, i32, i32, [1 x i32] } | |
%struct.eggs.59 = type { {}*, [2 x i64] } | |
%struct.zot.60 = type { { i64*, i64 }, i64 } | |
%struct.wibble.61 = type { i64, i32, i32 } | |
%struct.foo.62 = type { %struct.pluto.63, %struct.pluto.64 } | |
%struct.pluto.63 = type {} | |
%struct.pluto.64 = type { i32, { i32, i32 }, i8, [3 x i8] } | |
%struct.blam.65 = type { i64, i32, { i32, i32 }, { i32, i32 }, [1 x i32] } | |
%struct.widget.66 = type { i32 } | |
%struct.baz.67 = type { i32, [19 x i32] } | |
%struct.pluto.68 = type { %struct.pluto.69, { i64, i64 }, i64, i64 } | |
%struct.pluto.69 = type { i64, { i64, i64 }, i8, i8, [6 x i8] } | |
%struct.eggs.70 = type { { [0 x i8]*, i64 }, i64, { [0 x i8]*, i64 }, i64 } | |
%struct.wibble.71 = type { %struct.blam.72, %struct.ham.49 } | |
%struct.blam.72 = type { i64, [4 x i64] } | |
%struct.widget.73 = type { %struct.snork.74, i32, [1 x i32] } | |
%struct.snork.74 = type { { [0 x i32]*, i64 }, i32, [1 x i32] } | |
%struct.blam.75 = type { { [0 x i32]*, i64 }, i32, { i32, i32 }, i32 } | |
%struct.widget.76 = type { i64, [3 x i64] } | |
%struct.ham.77 = type { %struct.eggs.78, %struct.barney.81 } | |
%struct.eggs.78 = type { %struct.hoge.79 } | |
%struct.hoge.79 = type { %struct.zot.80 } | |
%struct.zot.80 = type { i64, [3 x i64] } | |
%struct.barney.81 = type { { i64*, i64 }, i64 } | |
%struct.zot.82 = type { %struct.eggs.59, %struct.eggs.59, { i32, i32 }, { i32, i32 } } | |
%struct.wibble.83 = type { [1 x i64], {}*, [5 x i64] } | |
%struct.widget.84 = type { %struct.wombat.33, i32, [1 x i32] } | |
%struct.ham.85 = type { i32, [3 x i32] } | |
%struct.foo.86 = type { %struct.foo.87, i8, i8, [6 x i8] } | |
%struct.foo.87 = type { i32, [5 x i32] } | |
%struct.wombat.88 = type { %struct.snork.53, { i64, i64 }, %struct.baz.89, { i32, i32 }, { i32, i32 } } | |
%struct.baz.89 = type { {}*, [2 x i64] } | |
%struct.ham.90 = type { %struct.ham.91 } | |
%struct.ham.91 = type { %struct.pluto.92 } | |
%struct.pluto.92 = type { %struct.bar.30 } | |
%struct.foo.93 = type { { i16*, i64 }, i64 } | |
%struct.snork.94 = type { i64, [3 x i64] } | |
%struct.wibble.95 = type { [1 x i64], %struct.bar.30 } | |
%struct.foo.96 = type { [1 x i64], %struct.foo.93 } | |
%struct.blam.97 = type { i64, [2 x i64] } | |
%struct.eggs.98 = type { [1 x i64], i64* } | |
%struct.eggs.99 = type { { i64*, i64 }, i64 } | |
%struct.wombat.100 = type { [1 x i64], i64* } | |
%struct.wobble.101 = type { [1 x i64], %struct.blam.97 } | |
%struct.widget.102 = type { [1 x i64], i64* } | |
%struct.bar.103 = type { i64, [3 x i64] } | |
%struct.quux.104 = type { [1 x i64], %struct.ham.90 } | |
%struct.quux.105 = type { [1 x i64], %struct.ham.90 } | |
%struct.wombat.106 = type { i64, %struct.eggs.70 } | |
%struct.quux.107 = type { [1 x i32], { i32, i32 }, [1 x i32], %struct.baz.44, %struct.eggs.59 } | |
%struct.bar.108 = type { [1 x i32], i32, %struct.baz.44 } | |
%struct.pluto.109 = type { [1 x i32], i32, %struct.wibble.40 } | |
%struct.ham.110 = type { [1 x i64], i64, %struct.eggs.99, %struct.wombat.111 } | |
%struct.wombat.111 = type { { i64*, i64 }, i64 } | |
%struct.eggs.112 = type { %struct.ham.90 } | |
%struct.wombat.113 = type { %struct.baz.44 } | |
%struct.widget.114 = type { %struct.bar.30 } | |
%struct.baz.115 = type { %struct.snork.94 } | |
%struct.zot.116 = type { %struct.bar.103 } | |
%struct.eggs.117 = type { %struct.wombat.106 } | |
%struct.pluto.157 = type { %struct.eggs.158, %struct.eggs.158, %struct.blam.159 } | |
%struct.eggs.158 = type { i64 } | |
%struct.blam.159 = type { i64*, void (%struct.bar.160*, %struct.bar.160*, %struct.quux.162*, %struct.baz.163*)*, i64*, i64* } | |
%struct.bar.160 = type { %struct.hoge.161 } | |
%struct.hoge.161 = type {} | |
%struct.quux.162 = type { i8 } | |
%struct.baz.163 = type { [2 x i64] } | |
%struct.pluto.164 = type { %struct.eggs.158, %struct.eggs.158, %struct.baz.165 } | |
%struct.baz.165 = type { %struct.baz.166, { i64, i64 } } | |
%struct.baz.166 = type { %struct.blam.35, %struct.wombat.167 } | |
%struct.wombat.167 = type { { i64*, i64 }, i64 } | |
%struct.foo.168 = type { %struct.eggs.158, %struct.eggs.158, %struct.widget.169 } | |
%struct.widget.169 = type { i64*, i64*, %struct.wibble.170, %struct.bar.171, i64*, i64* } | |
%struct.wibble.170 = type { { i64*, i64 }, i64 } | |
%struct.bar.171 = type { { i64*, i64 }, i64 } | |
%struct.baz.172 = type { %struct.eggs.158, %struct.eggs.158, %struct.bar.173 } | |
%struct.bar.173 = type { { i64, i64 }, { i64, i64 }, { i64, i64 }, i64*, %struct.eggs.174, %struct.spam.177, %struct.hoge.178, { i64, i64 }, %struct.barney.179, %struct.snork.184 } | |
%struct.eggs.174 = type { %struct.hoge.175, %struct.wombat.176 } | |
%struct.hoge.175 = type {} | |
%struct.wombat.176 = type { { i64*, i64 }, i64 } | |
%struct.spam.177 = type { { i64*, i64 }, i64 } | |
%struct.hoge.178 = type { i64, i8, i8, i8, [5 x i8] } | |
%struct.barney.179 = type { %struct.wibble.180, %struct.wobble.182, i8, [7 x i8] } | |
%struct.wibble.180 = type { %struct.barney.181 } | |
%struct.barney.181 = type { i64*, { i64, i64 } } | |
%struct.wobble.182 = type { %struct.pluto.183 } | |
%struct.pluto.183 = type { {}*, [2 x i64] } | |
%struct.snork.184 = type { {}*, [2 x i64] } | |
%struct.eggs.185 = type { i8*, { i64*, i64 } } | |
%struct.bar.186 = type { %struct.eggs.185 } | |
%struct.wobble.187 = type { i8*, { i64*, i64 } } | |
%struct.wobble.188 = type { %struct.wobble.187 } | |
%struct.barney.189 = type { { i64*, i64 }, i64 } | |
%struct.ham.190 = type { { i64*, i64 }, i64 } | |
%struct.widget.191 = type { { i32*, i64 }, i64 } | |
%struct.quux.192 = type { { i64*, i64 }, i64 } | |
%struct.blam.193 = type { { i64*, i64 }, i64 } | |
%struct.blam.194 = type { { i32*, i64 }, i64 } | |
%struct.pluto.195 = type { { i64*, i64 }, i64 } | |
%struct.spam.196 = type { { i64*, i64 }, i64 } | |
%struct.ham.197 = type { { i64*, i64 }, i64 } | |
%struct.spam.198 = type { { i32*, i64 }, i64 } | |
%struct.zot.199 = type { { i64*, i64 }, i64 } | |
%struct.quux.200 = type { { i64*, i64 }, i64 } | |
%struct.zot.201 = type { { i64*, i64 }, i64 } | |
%struct.wibble.202 = type { { i64*, i64 }, i64 } | |
%struct.quux.203 = type { { i64*, i64 }, i64 } | |
%struct.hoge.204 = type { { i64*, i64 }, i64 } | |
%struct.blam.205 = type { { i64*, i64 }, i64 } | |
%struct.snork.206 = type { { i64*, i64 }, i64 } | |
%struct.blam.207 = type { { i32*, i64 }, i64 } | |
%struct.hoge.208 = type { { i32*, i64 }, i64 } | |
%struct.wobble.209 = type { { i32*, i64 }, i64 } | |
%struct.zot.210 = type { { i64*, i64 }, i64 } | |
%struct.snork.211 = type { i64, void (i32, %struct.snork.211*)*, [6 x i64] } | |
%struct.quux.212 = type { [0 x i8] } | |
@global = private unnamed_addr constant <{ [17 x i8] }> <{ [17 x i8] c"capacity overflow" }>, align 1 | |
@global.1 = private unnamed_addr constant <{ [94 x i8] }> <{ [94 x i8] c"/rustc/65c55bf931a55e6b1e5ed14ad8623814a7386424/library/alloc/src/vec/spec_from_iter_nested.rs" }>, align 1 | |
@global.2 = private unnamed_addr constant <{ i8*, [16 x i8] }> <{ i8* getelementptr inbounds (<{ [94 x i8] }>, <{ [94 x i8] }>* @global.1, i32 0, i32 0, i32 0), [16 x i8] c"^\00\00\00\00\00\00\005\00\00\00\12\00\00\00" }>, align 8 | |
@global.3 = private unnamed_addr constant <{ [75 x i8] }> <{ [75 x i8] c"/rustc/65c55bf931a55e6b1e5ed14ad8623814a7386424/library/core/src/ptr/mod.rs" }>, align 1 | |
@global.4 = private unnamed_addr constant <{ i8*, [16 x i8] }> <{ i8* getelementptr inbounds (<{ [75 x i8] }>, <{ [75 x i8] }>* @global.3, i32 0, i32 0, i32 0), [16 x i8] c"K\00\00\00\00\00\00\00\BE\02\00\00\0D\00\00\00" }>, align 8 | |
@global.5 = private unnamed_addr constant <{ [41 x i8] }> <{ [41 x i8] c"there is no such thing as a relaxed fence" }>, align 1 | |
@global.6 = private unnamed_addr constant <{ [79 x i8] }> <{ [79 x i8] c"/rustc/65c55bf931a55e6b1e5ed14ad8623814a7386424/library/core/src/sync/atomic.rs" }>, align 1 | |
@global.7 = private unnamed_addr constant <{ i8*, [16 x i8] }> <{ i8* getelementptr inbounds (<{ [79 x i8] }>, <{ [79 x i8] }>* @global.6, i32 0, i32 0, i32 0), [16 x i8] c"O\00\00\00\00\00\00\00~\0A\00\00\18\00\00\00" }>, align 8 | |
@global.8 = private unnamed_addr constant <{ [84 x i8] }> <{ [84 x i8] c"/rustc/65c55bf931a55e6b1e5ed14ad8623814a7386424/library/alloc/src/vec/spec_extend.rs" }>, align 1 | |
@global.9 = private unnamed_addr constant <{ i8*, [16 x i8] }> <{ i8* getelementptr inbounds (<{ [84 x i8] }>, <{ [84 x i8] }>* @global.8, i32 0, i32 0, i32 0), [16 x i8] c"T\00\00\00\00\00\00\007\00\00\00\0D\00\00\00" }>, align 8 | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal void @wombat({ i64, { i64, i64 } }* noalias nocapture sret({ i64, { i64, i64 } }) dereferenceable(24) %arg, i8* noalias readonly align 1 dereferenceable(1) %arg1) unnamed_addr #0 { | |
bb: | |
call void @snork.534({ i64, { i64, i64 } }* noalias nocapture sret({ i64, { i64, i64 } }) dereferenceable(24) %arg, i8* noalias readonly align 1 dereferenceable(1) %arg1) | |
ret void | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal void @quux({ i64, { i64, i64 } }* noalias nocapture sret({ i64, { i64, i64 } }) dereferenceable(24) %arg, %struct.ham* noalias readonly align 1 dereferenceable(16) %arg1) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast %struct.ham* %arg1 to %struct.quux* | |
call void @baz.12({ i64, { i64, i64 } }* noalias nocapture sret({ i64, { i64, i64 } }) dereferenceable(24) %arg, %struct.quux* noalias readonly align 1 dereferenceable(16) %tmp) | |
ret void | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal void @wobble({ i64, { i64, i64 } }* noalias nocapture sret({ i64, { i64, i64 } }) dereferenceable(24) %arg, %struct.wombat.0* noalias readonly align 1 dereferenceable(8) %arg1) unnamed_addr #0 { | |
bb: | |
%tmp4 = alloca { i64, { i64, i64 } }, align 8 | |
%tmp5 = alloca { i64, { i64, i64 } }, align 8 | |
%tmp6 = bitcast %struct.wombat.0* %arg1 to %struct.blam* | |
%tmp7 = getelementptr inbounds %struct.blam, %struct.blam* %tmp6, i32 0, i32 1 | |
%tmp8 = load i8, i8* %tmp7, align 1, !range !2 | |
%tmp9 = sub i8 %tmp8, 9 | |
%tmp10 = icmp eq i8 %tmp9, 0 | |
br i1 %tmp10, label %bb13, label %bb19 | |
bb13: ; preds = %bb | |
%tmp14 = getelementptr inbounds %struct.wombat.0, %struct.wombat.0* %arg1, i32 0, i32 1 | |
%tmp15 = load i8, i8* %tmp14, align 1, !range !3 | |
%tmp16 = sub i8 %tmp15, 8 | |
%tmp17 = icmp eq i8 %tmp16, 0 | |
br i1 %tmp17, label %bb99, label %bb113 | |
bb19: ; preds = %bb | |
%tmp20 = getelementptr inbounds %struct.wombat.0, %struct.wombat.0* %arg1, i32 0, i32 1 | |
%tmp21 = load i8, i8* %tmp20, align 1, !range !3 | |
%tmp22 = sub i8 %tmp21, 8 | |
%tmp23 = icmp eq i8 %tmp22, 0 | |
br i1 %tmp23, label %bb25, label %bb29 | |
bb25: ; preds = %bb19 | |
%tmp27 = bitcast %struct.blam* %tmp6 to %struct.spam* | |
%tmp28 = bitcast %struct.spam* %tmp27 to %struct.foo* | |
call void @snork({ i64, { i64, i64 } }* noalias nocapture sret({ i64, { i64, i64 } }) dereferenceable(24) %arg, %struct.foo* noalias readonly align 1 dereferenceable(7) %tmp28) | |
br label %bb97 | |
bb29: ; preds = %bb19 | |
%tmp31 = bitcast %struct.blam* %tmp6 to %struct.spam* | |
%tmp32 = bitcast %struct.spam* %tmp31 to %struct.foo* | |
%tmp34 = bitcast { i64, { i64, i64 } }* %tmp5 to i8* | |
call void @llvm.lifetime.start.p0i8(i64 24, i8* %tmp34) | |
call void @snork({ i64, { i64, i64 } }* noalias nocapture sret({ i64, { i64, i64 } }) dereferenceable(24) %tmp5, %struct.foo* noalias readonly align 1 dereferenceable(7) %tmp32) | |
%tmp36 = bitcast { i64, { i64, i64 } }* %tmp5 to i64* | |
%tmp37 = load i64, i64* %tmp36, align 8 | |
%tmp38 = getelementptr inbounds { i64, { i64, i64 } }, { i64, { i64, i64 } }* %tmp5, i32 0, i32 1 | |
%tmp39 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %tmp38, i32 0, i32 0 | |
%tmp40 = load i64, i64* %tmp39, align 8, !range !4 | |
%tmp41 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %tmp38, i32 0, i32 1 | |
%tmp42 = load i64, i64* %tmp41, align 8 | |
call void @llvm.lifetime.end.p0i8(i64 24, i8* %tmp34) | |
%tmp44 = bitcast { i64, { i64, i64 } }* %tmp4 to i8* | |
call void @llvm.lifetime.start.p0i8(i64 24, i8* %tmp44) | |
call void @snork.534({ i64, { i64, i64 } }* noalias nocapture sret({ i64, { i64, i64 } }) dereferenceable(24) %tmp4, i8* noalias readonly align 1 dereferenceable(1) %tmp20) | |
%tmp46 = bitcast { i64, { i64, i64 } }* %tmp4 to i64* | |
%tmp47 = load i64, i64* %tmp46, align 8 | |
%tmp48 = getelementptr inbounds { i64, { i64, i64 } }, { i64, { i64, i64 } }* %tmp4, i32 0, i32 1 | |
%tmp49 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %tmp48, i32 0, i32 0 | |
%tmp50 = load i64, i64* %tmp49, align 8, !range !4 | |
%tmp51 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %tmp48, i32 0, i32 1 | |
%tmp52 = load i64, i64* %tmp51, align 8 | |
call void @llvm.lifetime.end.p0i8(i64 24, i8* %tmp44) | |
%tmp54 = call i64 @spam.29(i64 %tmp37, i64 %tmp47) | |
%tmp67 = icmp eq i64 %tmp40, 1 | |
%tmp72 = icmp eq i64 %tmp50, 1 | |
%or.cond = select i1 %tmp67, i1 %tmp72, i1 false | |
br i1 %or.cond, label %bb75, label %bb73 | |
bb73: ; preds = %bb29 | |
br label %bb85 | |
bb75: ; preds = %bb29 | |
%tmp84 = call { i64, i64 } @wobble.28(i64 %tmp42, i64 %tmp52) | |
%tmp84.fca.0.extract = extractvalue { i64, i64 } %tmp84, 0 | |
%tmp84.fca.1.extract = extractvalue { i64, i64 } %tmp84, 1 | |
br label %bb85 | |
bb85: ; preds = %bb75, %bb73 | |
%tmp3.sroa.5.0 = phi i64 [ %tmp84.fca.1.extract, %bb75 ], [ undef, %bb73 ] | |
%tmp3.sroa.0.0 = phi i64 [ %tmp84.fca.0.extract, %bb75 ], [ 0, %bb73 ] | |
%tmp91 = bitcast { i64, { i64, i64 } }* %arg to i64* | |
store i64 %tmp54, i64* %tmp91, align 8 | |
%tmp92 = getelementptr inbounds { i64, { i64, i64 } }, { i64, { i64, i64 } }* %arg, i32 0, i32 1 | |
%tmp93 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %tmp92, i32 0, i32 0 | |
store i64 %tmp3.sroa.0.0, i64* %tmp93, align 8 | |
%tmp94 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %tmp92, i32 0, i32 1 | |
store i64 %tmp3.sroa.5.0, i64* %tmp94, align 8 | |
br label %bb97 | |
bb97: ; preds = %bb113, %bb99, %bb25, %bb85 | |
ret void | |
bb99: ; preds = %bb13 | |
%tmp104 = bitcast { i64, { i64, i64 } }* %arg to i64* | |
store i64 0, i64* %tmp104, align 8 | |
%tmp105 = getelementptr inbounds { i64, { i64, i64 } }, { i64, { i64, i64 } }* %arg, i32 0, i32 1 | |
%tmp110 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %tmp105, i32 0, i32 0 | |
store i64 1, i64* %tmp110, align 8 | |
%tmp111 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %tmp105, i32 0, i32 1 | |
store i64 0, i64* %tmp111, align 8 | |
br label %bb97 | |
bb113: ; preds = %bb13 | |
call void @snork.534({ i64, { i64, i64 } }* noalias nocapture sret({ i64, { i64, i64 } }) dereferenceable(24) %arg, i8* noalias readonly align 1 dereferenceable(1) %tmp14) | |
br label %bb97 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal void @hoge({ i64, { i64, i64 } }* noalias nocapture sret({ i64, { i64, i64 } }) dereferenceable(24) %arg, %struct.foo.2* noalias readonly align 1 dereferenceable(4) %arg1) unnamed_addr #0 { | |
bb: | |
%tmp4 = alloca { i64, { i64, i64 } }, align 8 | |
%tmp5 = alloca { i64, { i64, i64 } }, align 8 | |
%tmp6 = bitcast %struct.foo.2* %arg1 to %struct.snork* | |
%tmp7 = getelementptr inbounds %struct.snork, %struct.snork* %tmp6, i32 0, i32 1 | |
%tmp8 = load i8, i8* %tmp7, align 1, !range !2 | |
%tmp9 = sub i8 %tmp8, 9 | |
%tmp10 = icmp eq i8 %tmp9, 0 | |
br i1 %tmp10, label %bb13, label %bb19 | |
bb13: ; preds = %bb | |
%tmp14 = getelementptr inbounds %struct.foo.2, %struct.foo.2* %arg1, i32 0, i32 1 | |
%tmp15 = load i8, i8* %tmp14, align 1, !range !3 | |
%tmp16 = sub i8 %tmp15, 8 | |
%tmp17 = icmp eq i8 %tmp16, 0 | |
br i1 %tmp17, label %bb99, label %bb113 | |
bb19: ; preds = %bb | |
%tmp20 = getelementptr inbounds %struct.foo.2, %struct.foo.2* %arg1, i32 0, i32 1 | |
%tmp21 = load i8, i8* %tmp20, align 1, !range !3 | |
%tmp22 = sub i8 %tmp21, 8 | |
%tmp23 = icmp eq i8 %tmp22, 0 | |
br i1 %tmp23, label %bb25, label %bb29 | |
bb25: ; preds = %bb19 | |
%tmp27 = bitcast %struct.snork* %tmp6 to %struct.bar.3* | |
%tmp28 = bitcast %struct.bar.3* %tmp27 to %struct.wombat.4* | |
call void @widget.14({ i64, { i64, i64 } }* noalias nocapture sret({ i64, { i64, i64 } }) dereferenceable(24) %arg, %struct.wombat.4* noalias readonly align 1 dereferenceable(3) %tmp28) | |
br label %bb97 | |
bb29: ; preds = %bb19 | |
%tmp31 = bitcast %struct.snork* %tmp6 to %struct.bar.3* | |
%tmp32 = bitcast %struct.bar.3* %tmp31 to %struct.wombat.4* | |
%tmp34 = bitcast { i64, { i64, i64 } }* %tmp5 to i8* | |
call void @llvm.lifetime.start.p0i8(i64 24, i8* %tmp34) | |
call void @widget.14({ i64, { i64, i64 } }* noalias nocapture sret({ i64, { i64, i64 } }) dereferenceable(24) %tmp5, %struct.wombat.4* noalias readonly align 1 dereferenceable(3) %tmp32) | |
%tmp36 = bitcast { i64, { i64, i64 } }* %tmp5 to i64* | |
%tmp37 = load i64, i64* %tmp36, align 8 | |
%tmp38 = getelementptr inbounds { i64, { i64, i64 } }, { i64, { i64, i64 } }* %tmp5, i32 0, i32 1 | |
%tmp39 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %tmp38, i32 0, i32 0 | |
%tmp40 = load i64, i64* %tmp39, align 8, !range !4 | |
%tmp41 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %tmp38, i32 0, i32 1 | |
%tmp42 = load i64, i64* %tmp41, align 8 | |
call void @llvm.lifetime.end.p0i8(i64 24, i8* %tmp34) | |
%tmp44 = bitcast { i64, { i64, i64 } }* %tmp4 to i8* | |
call void @llvm.lifetime.start.p0i8(i64 24, i8* %tmp44) | |
call void @snork.534({ i64, { i64, i64 } }* noalias nocapture sret({ i64, { i64, i64 } }) dereferenceable(24) %tmp4, i8* noalias readonly align 1 dereferenceable(1) %tmp20) | |
%tmp46 = bitcast { i64, { i64, i64 } }* %tmp4 to i64* | |
%tmp47 = load i64, i64* %tmp46, align 8 | |
%tmp48 = getelementptr inbounds { i64, { i64, i64 } }, { i64, { i64, i64 } }* %tmp4, i32 0, i32 1 | |
%tmp49 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %tmp48, i32 0, i32 0 | |
%tmp50 = load i64, i64* %tmp49, align 8, !range !4 | |
%tmp51 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %tmp48, i32 0, i32 1 | |
%tmp52 = load i64, i64* %tmp51, align 8 | |
call void @llvm.lifetime.end.p0i8(i64 24, i8* %tmp44) | |
%tmp54 = call i64 @spam.29(i64 %tmp37, i64 %tmp47) | |
%tmp67 = icmp eq i64 %tmp40, 1 | |
%tmp72 = icmp eq i64 %tmp50, 1 | |
%or.cond = select i1 %tmp67, i1 %tmp72, i1 false | |
br i1 %or.cond, label %bb75, label %bb73 | |
bb73: ; preds = %bb29 | |
br label %bb85 | |
bb75: ; preds = %bb29 | |
%tmp84 = call { i64, i64 } @wobble.28(i64 %tmp42, i64 %tmp52) | |
%tmp84.fca.0.extract = extractvalue { i64, i64 } %tmp84, 0 | |
%tmp84.fca.1.extract = extractvalue { i64, i64 } %tmp84, 1 | |
br label %bb85 | |
bb85: ; preds = %bb75, %bb73 | |
%tmp3.sroa.5.0 = phi i64 [ %tmp84.fca.1.extract, %bb75 ], [ undef, %bb73 ] | |
%tmp3.sroa.0.0 = phi i64 [ %tmp84.fca.0.extract, %bb75 ], [ 0, %bb73 ] | |
%tmp91 = bitcast { i64, { i64, i64 } }* %arg to i64* | |
store i64 %tmp54, i64* %tmp91, align 8 | |
%tmp92 = getelementptr inbounds { i64, { i64, i64 } }, { i64, { i64, i64 } }* %arg, i32 0, i32 1 | |
%tmp93 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %tmp92, i32 0, i32 0 | |
store i64 %tmp3.sroa.0.0, i64* %tmp93, align 8 | |
%tmp94 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %tmp92, i32 0, i32 1 | |
store i64 %tmp3.sroa.5.0, i64* %tmp94, align 8 | |
br label %bb97 | |
bb97: ; preds = %bb113, %bb99, %bb25, %bb85 | |
ret void | |
bb99: ; preds = %bb13 | |
%tmp104 = bitcast { i64, { i64, i64 } }* %arg to i64* | |
store i64 0, i64* %tmp104, align 8 | |
%tmp105 = getelementptr inbounds { i64, { i64, i64 } }, { i64, { i64, i64 } }* %arg, i32 0, i32 1 | |
%tmp110 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %tmp105, i32 0, i32 0 | |
store i64 1, i64* %tmp110, align 8 | |
%tmp111 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %tmp105, i32 0, i32 1 | |
store i64 0, i64* %tmp111, align 8 | |
br label %bb97 | |
bb113: ; preds = %bb13 | |
call void @snork.534({ i64, { i64, i64 } }* noalias nocapture sret({ i64, { i64, i64 } }) dereferenceable(24) %arg, i8* noalias readonly align 1 dereferenceable(1) %tmp14) | |
br label %bb97 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal void @wobble.10({ i64, { i64, i64 } }* noalias nocapture sret({ i64, { i64, i64 } }) dereferenceable(24) %arg, %struct.zot.5* noalias readonly align 1 dereferenceable(14) %arg1) unnamed_addr #0 { | |
bb: | |
%tmp4 = alloca { i64, { i64, i64 } }, align 8 | |
%tmp5 = alloca { i64, { i64, i64 } }, align 8 | |
%tmp6 = bitcast %struct.zot.5* %arg1 to %struct.hoge* | |
%tmp7 = getelementptr inbounds %struct.hoge, %struct.hoge* %tmp6, i32 0, i32 1 | |
%tmp8 = load i8, i8* %tmp7, align 1, !range !2 | |
%tmp9 = sub i8 %tmp8, 9 | |
%tmp10 = icmp eq i8 %tmp9, 0 | |
br i1 %tmp10, label %bb13, label %bb19 | |
bb13: ; preds = %bb | |
%tmp14 = getelementptr inbounds %struct.zot.5, %struct.zot.5* %arg1, i32 0, i32 1 | |
%tmp15 = load i8, i8* %tmp14, align 1, !range !3 | |
%tmp16 = sub i8 %tmp15, 8 | |
%tmp17 = icmp eq i8 %tmp16, 0 | |
br i1 %tmp17, label %bb99, label %bb113 | |
bb19: ; preds = %bb | |
%tmp20 = getelementptr inbounds %struct.zot.5, %struct.zot.5* %arg1, i32 0, i32 1 | |
%tmp21 = load i8, i8* %tmp20, align 1, !range !3 | |
%tmp22 = sub i8 %tmp21, 8 | |
%tmp23 = icmp eq i8 %tmp22, 0 | |
br i1 %tmp23, label %bb25, label %bb29 | |
bb25: ; preds = %bb19 | |
%tmp27 = bitcast %struct.hoge* %tmp6 to %struct.pluto* | |
%tmp28 = bitcast %struct.pluto* %tmp27 to %struct.foo.6* | |
call void @widget({ i64, { i64, i64 } }* noalias nocapture sret({ i64, { i64, i64 } }) dereferenceable(24) %arg, %struct.foo.6* noalias readonly align 1 dereferenceable(13) %tmp28) | |
br label %bb97 | |
bb29: ; preds = %bb19 | |
%tmp31 = bitcast %struct.hoge* %tmp6 to %struct.pluto* | |
%tmp32 = bitcast %struct.pluto* %tmp31 to %struct.foo.6* | |
%tmp34 = bitcast { i64, { i64, i64 } }* %tmp5 to i8* | |
call void @llvm.lifetime.start.p0i8(i64 24, i8* %tmp34) | |
call void @widget({ i64, { i64, i64 } }* noalias nocapture sret({ i64, { i64, i64 } }) dereferenceable(24) %tmp5, %struct.foo.6* noalias readonly align 1 dereferenceable(13) %tmp32) | |
%tmp36 = bitcast { i64, { i64, i64 } }* %tmp5 to i64* | |
%tmp37 = load i64, i64* %tmp36, align 8 | |
%tmp38 = getelementptr inbounds { i64, { i64, i64 } }, { i64, { i64, i64 } }* %tmp5, i32 0, i32 1 | |
%tmp39 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %tmp38, i32 0, i32 0 | |
%tmp40 = load i64, i64* %tmp39, align 8, !range !4 | |
%tmp41 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %tmp38, i32 0, i32 1 | |
%tmp42 = load i64, i64* %tmp41, align 8 | |
call void @llvm.lifetime.end.p0i8(i64 24, i8* %tmp34) | |
%tmp44 = bitcast { i64, { i64, i64 } }* %tmp4 to i8* | |
call void @llvm.lifetime.start.p0i8(i64 24, i8* %tmp44) | |
call void @snork.534({ i64, { i64, i64 } }* noalias nocapture sret({ i64, { i64, i64 } }) dereferenceable(24) %tmp4, i8* noalias readonly align 1 dereferenceable(1) %tmp20) | |
%tmp46 = bitcast { i64, { i64, i64 } }* %tmp4 to i64* | |
%tmp47 = load i64, i64* %tmp46, align 8 | |
%tmp48 = getelementptr inbounds { i64, { i64, i64 } }, { i64, { i64, i64 } }* %tmp4, i32 0, i32 1 | |
%tmp49 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %tmp48, i32 0, i32 0 | |
%tmp50 = load i64, i64* %tmp49, align 8, !range !4 | |
%tmp51 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %tmp48, i32 0, i32 1 | |
%tmp52 = load i64, i64* %tmp51, align 8 | |
call void @llvm.lifetime.end.p0i8(i64 24, i8* %tmp44) | |
%tmp54 = call i64 @spam.29(i64 %tmp37, i64 %tmp47) | |
%tmp67 = icmp eq i64 %tmp40, 1 | |
%tmp72 = icmp eq i64 %tmp50, 1 | |
%or.cond = select i1 %tmp67, i1 %tmp72, i1 false | |
br i1 %or.cond, label %bb75, label %bb73 | |
bb73: ; preds = %bb29 | |
br label %bb85 | |
bb75: ; preds = %bb29 | |
%tmp84 = call { i64, i64 } @wobble.28(i64 %tmp42, i64 %tmp52) | |
%tmp84.fca.0.extract = extractvalue { i64, i64 } %tmp84, 0 | |
%tmp84.fca.1.extract = extractvalue { i64, i64 } %tmp84, 1 | |
br label %bb85 | |
bb85: ; preds = %bb75, %bb73 | |
%tmp3.sroa.5.0 = phi i64 [ %tmp84.fca.1.extract, %bb75 ], [ undef, %bb73 ] | |
%tmp3.sroa.0.0 = phi i64 [ %tmp84.fca.0.extract, %bb75 ], [ 0, %bb73 ] | |
%tmp91 = bitcast { i64, { i64, i64 } }* %arg to i64* | |
store i64 %tmp54, i64* %tmp91, align 8 | |
%tmp92 = getelementptr inbounds { i64, { i64, i64 } }, { i64, { i64, i64 } }* %arg, i32 0, i32 1 | |
%tmp93 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %tmp92, i32 0, i32 0 | |
store i64 %tmp3.sroa.0.0, i64* %tmp93, align 8 | |
%tmp94 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %tmp92, i32 0, i32 1 | |
store i64 %tmp3.sroa.5.0, i64* %tmp94, align 8 | |
br label %bb97 | |
bb97: ; preds = %bb113, %bb99, %bb25, %bb85 | |
ret void | |
bb99: ; preds = %bb13 | |
%tmp104 = bitcast { i64, { i64, i64 } }* %arg to i64* | |
store i64 0, i64* %tmp104, align 8 | |
%tmp105 = getelementptr inbounds { i64, { i64, i64 } }, { i64, { i64, i64 } }* %arg, i32 0, i32 1 | |
%tmp110 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %tmp105, i32 0, i32 0 | |
store i64 1, i64* %tmp110, align 8 | |
%tmp111 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %tmp105, i32 0, i32 1 | |
store i64 0, i64* %tmp111, align 8 | |
br label %bb97 | |
bb113: ; preds = %bb13 | |
call void @snork.534({ i64, { i64, i64 } }* noalias nocapture sret({ i64, { i64, i64 } }) dereferenceable(24) %arg, i8* noalias readonly align 1 dereferenceable(1) %tmp14) | |
br label %bb97 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal void @baz({ i64, { i64, i64 } }* noalias nocapture sret({ i64, { i64, i64 } }) dereferenceable(24) %arg, %struct.wobble* noalias readonly align 1 dereferenceable(6) %arg1) unnamed_addr #0 { | |
bb: | |
%tmp4 = alloca { i64, { i64, i64 } }, align 8 | |
%tmp5 = alloca { i64, { i64, i64 } }, align 8 | |
%tmp6 = bitcast %struct.wobble* %arg1 to %struct.quux.7* | |
%tmp7 = getelementptr inbounds %struct.quux.7, %struct.quux.7* %tmp6, i32 0, i32 1 | |
%tmp8 = load i8, i8* %tmp7, align 1, !range !2 | |
%tmp9 = sub i8 %tmp8, 9 | |
%tmp10 = icmp eq i8 %tmp9, 0 | |
br i1 %tmp10, label %bb13, label %bb19 | |
bb13: ; preds = %bb | |
%tmp14 = getelementptr inbounds %struct.wobble, %struct.wobble* %arg1, i32 0, i32 1 | |
%tmp15 = load i8, i8* %tmp14, align 1, !range !3 | |
%tmp16 = sub i8 %tmp15, 8 | |
%tmp17 = icmp eq i8 %tmp16, 0 | |
br i1 %tmp17, label %bb99, label %bb113 | |
bb19: ; preds = %bb | |
%tmp20 = getelementptr inbounds %struct.wobble, %struct.wobble* %arg1, i32 0, i32 1 | |
%tmp21 = load i8, i8* %tmp20, align 1, !range !3 | |
%tmp22 = sub i8 %tmp21, 8 | |
%tmp23 = icmp eq i8 %tmp22, 0 | |
br i1 %tmp23, label %bb25, label %bb29 | |
bb25: ; preds = %bb19 | |
%tmp27 = bitcast %struct.quux.7* %tmp6 to %struct.barney.8* | |
%tmp28 = bitcast %struct.barney.8* %tmp27 to %struct.widget* | |
call void @wobble.17({ i64, { i64, i64 } }* noalias nocapture sret({ i64, { i64, i64 } }) dereferenceable(24) %arg, %struct.widget* noalias readonly align 1 dereferenceable(5) %tmp28) | |
br label %bb97 | |
bb29: ; preds = %bb19 | |
%tmp31 = bitcast %struct.quux.7* %tmp6 to %struct.barney.8* | |
%tmp32 = bitcast %struct.barney.8* %tmp31 to %struct.widget* | |
%tmp34 = bitcast { i64, { i64, i64 } }* %tmp5 to i8* | |
call void @llvm.lifetime.start.p0i8(i64 24, i8* %tmp34) | |
call void @wobble.17({ i64, { i64, i64 } }* noalias nocapture sret({ i64, { i64, i64 } }) dereferenceable(24) %tmp5, %struct.widget* noalias readonly align 1 dereferenceable(5) %tmp32) | |
%tmp36 = bitcast { i64, { i64, i64 } }* %tmp5 to i64* | |
%tmp37 = load i64, i64* %tmp36, align 8 | |
%tmp38 = getelementptr inbounds { i64, { i64, i64 } }, { i64, { i64, i64 } }* %tmp5, i32 0, i32 1 | |
%tmp39 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %tmp38, i32 0, i32 0 | |
%tmp40 = load i64, i64* %tmp39, align 8, !range !4 | |
%tmp41 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %tmp38, i32 0, i32 1 | |
%tmp42 = load i64, i64* %tmp41, align 8 | |
call void @llvm.lifetime.end.p0i8(i64 24, i8* %tmp34) | |
%tmp44 = bitcast { i64, { i64, i64 } }* %tmp4 to i8* | |
call void @llvm.lifetime.start.p0i8(i64 24, i8* %tmp44) | |
call void @snork.534({ i64, { i64, i64 } }* noalias nocapture sret({ i64, { i64, i64 } }) dereferenceable(24) %tmp4, i8* noalias readonly align 1 dereferenceable(1) %tmp20) | |
%tmp46 = bitcast { i64, { i64, i64 } }* %tmp4 to i64* | |
%tmp47 = load i64, i64* %tmp46, align 8 | |
%tmp48 = getelementptr inbounds { i64, { i64, i64 } }, { i64, { i64, i64 } }* %tmp4, i32 0, i32 1 | |
%tmp49 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %tmp48, i32 0, i32 0 | |
%tmp50 = load i64, i64* %tmp49, align 8, !range !4 | |
%tmp51 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %tmp48, i32 0, i32 1 | |
%tmp52 = load i64, i64* %tmp51, align 8 | |
call void @llvm.lifetime.end.p0i8(i64 24, i8* %tmp44) | |
%tmp54 = call i64 @spam.29(i64 %tmp37, i64 %tmp47) | |
%tmp67 = icmp eq i64 %tmp40, 1 | |
%tmp72 = icmp eq i64 %tmp50, 1 | |
%or.cond = select i1 %tmp67, i1 %tmp72, i1 false | |
br i1 %or.cond, label %bb75, label %bb73 | |
bb73: ; preds = %bb29 | |
br label %bb85 | |
bb75: ; preds = %bb29 | |
%tmp84 = call { i64, i64 } @wobble.28(i64 %tmp42, i64 %tmp52) | |
%tmp84.fca.0.extract = extractvalue { i64, i64 } %tmp84, 0 | |
%tmp84.fca.1.extract = extractvalue { i64, i64 } %tmp84, 1 | |
br label %bb85 | |
bb85: ; preds = %bb75, %bb73 | |
%tmp3.sroa.5.0 = phi i64 [ %tmp84.fca.1.extract, %bb75 ], [ undef, %bb73 ] | |
%tmp3.sroa.0.0 = phi i64 [ %tmp84.fca.0.extract, %bb75 ], [ 0, %bb73 ] | |
%tmp91 = bitcast { i64, { i64, i64 } }* %arg to i64* | |
store i64 %tmp54, i64* %tmp91, align 8 | |
%tmp92 = getelementptr inbounds { i64, { i64, i64 } }, { i64, { i64, i64 } }* %arg, i32 0, i32 1 | |
%tmp93 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %tmp92, i32 0, i32 0 | |
store i64 %tmp3.sroa.0.0, i64* %tmp93, align 8 | |
%tmp94 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %tmp92, i32 0, i32 1 | |
store i64 %tmp3.sroa.5.0, i64* %tmp94, align 8 | |
br label %bb97 | |
bb97: ; preds = %bb113, %bb99, %bb25, %bb85 | |
ret void | |
bb99: ; preds = %bb13 | |
%tmp104 = bitcast { i64, { i64, i64 } }* %arg to i64* | |
store i64 0, i64* %tmp104, align 8 | |
%tmp105 = getelementptr inbounds { i64, { i64, i64 } }, { i64, { i64, i64 } }* %arg, i32 0, i32 1 | |
%tmp110 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %tmp105, i32 0, i32 0 | |
store i64 1, i64* %tmp110, align 8 | |
%tmp111 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %tmp105, i32 0, i32 1 | |
store i64 0, i64* %tmp111, align 8 | |
br label %bb97 | |
bb113: ; preds = %bb13 | |
call void @snork.534({ i64, { i64, i64 } }* noalias nocapture sret({ i64, { i64, i64 } }) dereferenceable(24) %arg, i8* noalias readonly align 1 dereferenceable(1) %tmp14) | |
br label %bb97 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal void @widget({ i64, { i64, i64 } }* noalias nocapture sret({ i64, { i64, i64 } }) dereferenceable(24) %arg, %struct.foo.6* noalias readonly align 1 dereferenceable(13) %arg1) unnamed_addr #0 { | |
bb: | |
%tmp4 = alloca { i64, { i64, i64 } }, align 8 | |
%tmp5 = alloca { i64, { i64, i64 } }, align 8 | |
%tmp6 = bitcast %struct.foo.6* %arg1 to %struct.barney* | |
%tmp7 = getelementptr inbounds %struct.barney, %struct.barney* %tmp6, i32 0, i32 1 | |
%tmp8 = load i8, i8* %tmp7, align 1, !range !2 | |
%tmp9 = sub i8 %tmp8, 9 | |
%tmp10 = icmp eq i8 %tmp9, 0 | |
br i1 %tmp10, label %bb13, label %bb19 | |
bb13: ; preds = %bb | |
%tmp14 = getelementptr inbounds %struct.foo.6, %struct.foo.6* %arg1, i32 0, i32 1 | |
%tmp15 = load i8, i8* %tmp14, align 1, !range !3 | |
%tmp16 = sub i8 %tmp15, 8 | |
%tmp17 = icmp eq i8 %tmp16, 0 | |
br i1 %tmp17, label %bb99, label %bb113 | |
bb19: ; preds = %bb | |
%tmp20 = getelementptr inbounds %struct.foo.6, %struct.foo.6* %arg1, i32 0, i32 1 | |
%tmp21 = load i8, i8* %tmp20, align 1, !range !3 | |
%tmp22 = sub i8 %tmp21, 8 | |
%tmp23 = icmp eq i8 %tmp22, 0 | |
br i1 %tmp23, label %bb25, label %bb29 | |
bb25: ; preds = %bb19 | |
%tmp27 = bitcast %struct.barney* %tmp6 to %struct.foo.9* | |
%tmp28 = bitcast %struct.foo.9* %tmp27 to %struct.quux.10* | |
call void @wibble.13({ i64, { i64, i64 } }* noalias nocapture sret({ i64, { i64, i64 } }) dereferenceable(24) %arg, %struct.quux.10* noalias readonly align 1 dereferenceable(12) %tmp28) | |
br label %bb97 | |
bb29: ; preds = %bb19 | |
%tmp31 = bitcast %struct.barney* %tmp6 to %struct.foo.9* | |
%tmp32 = bitcast %struct.foo.9* %tmp31 to %struct.quux.10* | |
%tmp34 = bitcast { i64, { i64, i64 } }* %tmp5 to i8* | |
call void @llvm.lifetime.start.p0i8(i64 24, i8* %tmp34) | |
call void @wibble.13({ i64, { i64, i64 } }* noalias nocapture sret({ i64, { i64, i64 } }) dereferenceable(24) %tmp5, %struct.quux.10* noalias readonly align 1 dereferenceable(12) %tmp32) | |
%tmp36 = bitcast { i64, { i64, i64 } }* %tmp5 to i64* | |
%tmp37 = load i64, i64* %tmp36, align 8 | |
%tmp38 = getelementptr inbounds { i64, { i64, i64 } }, { i64, { i64, i64 } }* %tmp5, i32 0, i32 1 | |
%tmp39 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %tmp38, i32 0, i32 0 | |
%tmp40 = load i64, i64* %tmp39, align 8, !range !4 | |
%tmp41 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %tmp38, i32 0, i32 1 | |
%tmp42 = load i64, i64* %tmp41, align 8 | |
call void @llvm.lifetime.end.p0i8(i64 24, i8* %tmp34) | |
%tmp44 = bitcast { i64, { i64, i64 } }* %tmp4 to i8* | |
call void @llvm.lifetime.start.p0i8(i64 24, i8* %tmp44) | |
call void @snork.534({ i64, { i64, i64 } }* noalias nocapture sret({ i64, { i64, i64 } }) dereferenceable(24) %tmp4, i8* noalias readonly align 1 dereferenceable(1) %tmp20) | |
%tmp46 = bitcast { i64, { i64, i64 } }* %tmp4 to i64* | |
%tmp47 = load i64, i64* %tmp46, align 8 | |
%tmp48 = getelementptr inbounds { i64, { i64, i64 } }, { i64, { i64, i64 } }* %tmp4, i32 0, i32 1 | |
%tmp49 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %tmp48, i32 0, i32 0 | |
%tmp50 = load i64, i64* %tmp49, align 8, !range !4 | |
%tmp51 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %tmp48, i32 0, i32 1 | |
%tmp52 = load i64, i64* %tmp51, align 8 | |
call void @llvm.lifetime.end.p0i8(i64 24, i8* %tmp44) | |
%tmp54 = call i64 @spam.29(i64 %tmp37, i64 %tmp47) | |
%tmp67 = icmp eq i64 %tmp40, 1 | |
%tmp72 = icmp eq i64 %tmp50, 1 | |
%or.cond = select i1 %tmp67, i1 %tmp72, i1 false | |
br i1 %or.cond, label %bb75, label %bb73 | |
bb73: ; preds = %bb29 | |
br label %bb85 | |
bb75: ; preds = %bb29 | |
%tmp84 = call { i64, i64 } @wobble.28(i64 %tmp42, i64 %tmp52) | |
%tmp84.fca.0.extract = extractvalue { i64, i64 } %tmp84, 0 | |
%tmp84.fca.1.extract = extractvalue { i64, i64 } %tmp84, 1 | |
br label %bb85 | |
bb85: ; preds = %bb75, %bb73 | |
%tmp3.sroa.5.0 = phi i64 [ %tmp84.fca.1.extract, %bb75 ], [ undef, %bb73 ] | |
%tmp3.sroa.0.0 = phi i64 [ %tmp84.fca.0.extract, %bb75 ], [ 0, %bb73 ] | |
%tmp91 = bitcast { i64, { i64, i64 } }* %arg to i64* | |
store i64 %tmp54, i64* %tmp91, align 8 | |
%tmp92 = getelementptr inbounds { i64, { i64, i64 } }, { i64, { i64, i64 } }* %arg, i32 0, i32 1 | |
%tmp93 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %tmp92, i32 0, i32 0 | |
store i64 %tmp3.sroa.0.0, i64* %tmp93, align 8 | |
%tmp94 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %tmp92, i32 0, i32 1 | |
store i64 %tmp3.sroa.5.0, i64* %tmp94, align 8 | |
br label %bb97 | |
bb97: ; preds = %bb113, %bb99, %bb25, %bb85 | |
ret void | |
bb99: ; preds = %bb13 | |
%tmp104 = bitcast { i64, { i64, i64 } }* %arg to i64* | |
store i64 0, i64* %tmp104, align 8 | |
%tmp105 = getelementptr inbounds { i64, { i64, i64 } }, { i64, { i64, i64 } }* %arg, i32 0, i32 1 | |
%tmp110 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %tmp105, i32 0, i32 0 | |
store i64 1, i64* %tmp110, align 8 | |
%tmp111 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %tmp105, i32 0, i32 1 | |
store i64 0, i64* %tmp111, align 8 | |
br label %bb97 | |
bb113: ; preds = %bb13 | |
call void @snork.534({ i64, { i64, i64 } }* noalias nocapture sret({ i64, { i64, i64 } }) dereferenceable(24) %arg, i8* noalias readonly align 1 dereferenceable(1) %tmp14) | |
br label %bb97 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal void @wibble({ i64, { i64, i64 } }* noalias nocapture sret({ i64, { i64, i64 } }) dereferenceable(24) %arg, %struct.hoge.12* noalias readonly align 1 dereferenceable(15) %arg1) unnamed_addr #0 { | |
bb: | |
%tmp4 = alloca { i64, { i64, i64 } }, align 8 | |
%tmp5 = alloca { i64, { i64, i64 } }, align 8 | |
%tmp6 = bitcast %struct.hoge.12* %arg1 to %struct.blam.13* | |
%tmp7 = getelementptr inbounds %struct.blam.13, %struct.blam.13* %tmp6, i32 0, i32 1 | |
%tmp8 = load i8, i8* %tmp7, align 1, !range !2 | |
%tmp9 = sub i8 %tmp8, 9 | |
%tmp10 = icmp eq i8 %tmp9, 0 | |
br i1 %tmp10, label %bb13, label %bb19 | |
bb13: ; preds = %bb | |
%tmp14 = getelementptr inbounds %struct.hoge.12, %struct.hoge.12* %arg1, i32 0, i32 1 | |
%tmp15 = load i8, i8* %tmp14, align 1, !range !3 | |
%tmp16 = sub i8 %tmp15, 8 | |
%tmp17 = icmp eq i8 %tmp16, 0 | |
br i1 %tmp17, label %bb99, label %bb113 | |
bb19: ; preds = %bb | |
%tmp20 = getelementptr inbounds %struct.hoge.12, %struct.hoge.12* %arg1, i32 0, i32 1 | |
%tmp21 = load i8, i8* %tmp20, align 1, !range !3 | |
%tmp22 = sub i8 %tmp21, 8 | |
%tmp23 = icmp eq i8 %tmp22, 0 | |
br i1 %tmp23, label %bb25, label %bb29 | |
bb25: ; preds = %bb19 | |
%tmp27 = bitcast %struct.blam.13* %tmp6 to %struct.ham.14* | |
%tmp28 = bitcast %struct.ham.14* %tmp27 to %struct.zot.5* | |
call void @wobble.10({ i64, { i64, i64 } }* noalias nocapture sret({ i64, { i64, i64 } }) dereferenceable(24) %arg, %struct.zot.5* noalias readonly align 1 dereferenceable(14) %tmp28) | |
br label %bb97 | |
bb29: ; preds = %bb19 | |
%tmp31 = bitcast %struct.blam.13* %tmp6 to %struct.ham.14* | |
%tmp32 = bitcast %struct.ham.14* %tmp31 to %struct.zot.5* | |
%tmp34 = bitcast { i64, { i64, i64 } }* %tmp5 to i8* | |
call void @llvm.lifetime.start.p0i8(i64 24, i8* %tmp34) | |
call void @wobble.10({ i64, { i64, i64 } }* noalias nocapture sret({ i64, { i64, i64 } }) dereferenceable(24) %tmp5, %struct.zot.5* noalias readonly align 1 dereferenceable(14) %tmp32) | |
%tmp36 = bitcast { i64, { i64, i64 } }* %tmp5 to i64* | |
%tmp37 = load i64, i64* %tmp36, align 8 | |
%tmp38 = getelementptr inbounds { i64, { i64, i64 } }, { i64, { i64, i64 } }* %tmp5, i32 0, i32 1 | |
%tmp39 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %tmp38, i32 0, i32 0 | |
%tmp40 = load i64, i64* %tmp39, align 8, !range !4 | |
%tmp41 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %tmp38, i32 0, i32 1 | |
%tmp42 = load i64, i64* %tmp41, align 8 | |
call void @llvm.lifetime.end.p0i8(i64 24, i8* %tmp34) | |
%tmp44 = bitcast { i64, { i64, i64 } }* %tmp4 to i8* | |
call void @llvm.lifetime.start.p0i8(i64 24, i8* %tmp44) | |
call void @snork.534({ i64, { i64, i64 } }* noalias nocapture sret({ i64, { i64, i64 } }) dereferenceable(24) %tmp4, i8* noalias readonly align 1 dereferenceable(1) %tmp20) | |
%tmp46 = bitcast { i64, { i64, i64 } }* %tmp4 to i64* | |
%tmp47 = load i64, i64* %tmp46, align 8 | |
%tmp48 = getelementptr inbounds { i64, { i64, i64 } }, { i64, { i64, i64 } }* %tmp4, i32 0, i32 1 | |
%tmp49 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %tmp48, i32 0, i32 0 | |
%tmp50 = load i64, i64* %tmp49, align 8, !range !4 | |
%tmp51 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %tmp48, i32 0, i32 1 | |
%tmp52 = load i64, i64* %tmp51, align 8 | |
call void @llvm.lifetime.end.p0i8(i64 24, i8* %tmp44) | |
%tmp54 = call i64 @spam.29(i64 %tmp37, i64 %tmp47) | |
%tmp67 = icmp eq i64 %tmp40, 1 | |
%tmp72 = icmp eq i64 %tmp50, 1 | |
%or.cond = select i1 %tmp67, i1 %tmp72, i1 false | |
br i1 %or.cond, label %bb75, label %bb73 | |
bb73: ; preds = %bb29 | |
br label %bb85 | |
bb75: ; preds = %bb29 | |
%tmp84 = call { i64, i64 } @wobble.28(i64 %tmp42, i64 %tmp52) | |
%tmp84.fca.0.extract = extractvalue { i64, i64 } %tmp84, 0 | |
%tmp84.fca.1.extract = extractvalue { i64, i64 } %tmp84, 1 | |
br label %bb85 | |
bb85: ; preds = %bb75, %bb73 | |
%tmp3.sroa.5.0 = phi i64 [ %tmp84.fca.1.extract, %bb75 ], [ undef, %bb73 ] | |
%tmp3.sroa.0.0 = phi i64 [ %tmp84.fca.0.extract, %bb75 ], [ 0, %bb73 ] | |
%tmp91 = bitcast { i64, { i64, i64 } }* %arg to i64* | |
store i64 %tmp54, i64* %tmp91, align 8 | |
%tmp92 = getelementptr inbounds { i64, { i64, i64 } }, { i64, { i64, i64 } }* %arg, i32 0, i32 1 | |
%tmp93 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %tmp92, i32 0, i32 0 | |
store i64 %tmp3.sroa.0.0, i64* %tmp93, align 8 | |
%tmp94 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %tmp92, i32 0, i32 1 | |
store i64 %tmp3.sroa.5.0, i64* %tmp94, align 8 | |
br label %bb97 | |
bb97: ; preds = %bb113, %bb99, %bb25, %bb85 | |
ret void | |
bb99: ; preds = %bb13 | |
%tmp104 = bitcast { i64, { i64, i64 } }* %arg to i64* | |
store i64 0, i64* %tmp104, align 8 | |
%tmp105 = getelementptr inbounds { i64, { i64, i64 } }, { i64, { i64, i64 } }* %arg, i32 0, i32 1 | |
%tmp110 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %tmp105, i32 0, i32 0 | |
store i64 1, i64* %tmp110, align 8 | |
%tmp111 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %tmp105, i32 0, i32 1 | |
store i64 0, i64* %tmp111, align 8 | |
br label %bb97 | |
bb113: ; preds = %bb13 | |
call void @snork.534({ i64, { i64, i64 } }* noalias nocapture sret({ i64, { i64, i64 } }) dereferenceable(24) %arg, i8* noalias readonly align 1 dereferenceable(1) %tmp14) | |
br label %bb97 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal void @hoge.11({ i64, { i64, i64 } }* noalias nocapture sret({ i64, { i64, i64 } }) dereferenceable(24) %arg, %struct.pluto.15* noalias readonly align 1 dereferenceable(9) %arg1) unnamed_addr #0 { | |
bb: | |
%tmp4 = alloca { i64, { i64, i64 } }, align 8 | |
%tmp5 = alloca { i64, { i64, i64 } }, align 8 | |
%tmp6 = bitcast %struct.pluto.15* %arg1 to %struct.bar.16* | |
%tmp7 = getelementptr inbounds %struct.bar.16, %struct.bar.16* %tmp6, i32 0, i32 1 | |
%tmp8 = load i8, i8* %tmp7, align 1, !range !2 | |
%tmp9 = sub i8 %tmp8, 9 | |
%tmp10 = icmp eq i8 %tmp9, 0 | |
br i1 %tmp10, label %bb13, label %bb19 | |
bb13: ; preds = %bb | |
%tmp14 = getelementptr inbounds %struct.pluto.15, %struct.pluto.15* %arg1, i32 0, i32 1 | |
%tmp15 = load i8, i8* %tmp14, align 1, !range !3 | |
%tmp16 = sub i8 %tmp15, 8 | |
%tmp17 = icmp eq i8 %tmp16, 0 | |
br i1 %tmp17, label %bb99, label %bb113 | |
bb19: ; preds = %bb | |
%tmp20 = getelementptr inbounds %struct.pluto.15, %struct.pluto.15* %arg1, i32 0, i32 1 | |
%tmp21 = load i8, i8* %tmp20, align 1, !range !3 | |
%tmp22 = sub i8 %tmp21, 8 | |
%tmp23 = icmp eq i8 %tmp22, 0 | |
br i1 %tmp23, label %bb25, label %bb29 | |
bb25: ; preds = %bb19 | |
%tmp27 = bitcast %struct.bar.16* %tmp6 to %struct.quux.17* | |
%tmp28 = bitcast %struct.quux.17* %tmp27 to %struct.wombat.0* | |
call void @wobble({ i64, { i64, i64 } }* noalias nocapture sret({ i64, { i64, i64 } }) dereferenceable(24) %arg, %struct.wombat.0* noalias readonly align 1 dereferenceable(8) %tmp28) | |
br label %bb97 | |
bb29: ; preds = %bb19 | |
%tmp31 = bitcast %struct.bar.16* %tmp6 to %struct.quux.17* | |
%tmp32 = bitcast %struct.quux.17* %tmp31 to %struct.wombat.0* | |
%tmp34 = bitcast { i64, { i64, i64 } }* %tmp5 to i8* | |
call void @llvm.lifetime.start.p0i8(i64 24, i8* %tmp34) | |
call void @wobble({ i64, { i64, i64 } }* noalias nocapture sret({ i64, { i64, i64 } }) dereferenceable(24) %tmp5, %struct.wombat.0* noalias readonly align 1 dereferenceable(8) %tmp32) | |
%tmp36 = bitcast { i64, { i64, i64 } }* %tmp5 to i64* | |
%tmp37 = load i64, i64* %tmp36, align 8 | |
%tmp38 = getelementptr inbounds { i64, { i64, i64 } }, { i64, { i64, i64 } }* %tmp5, i32 0, i32 1 | |
%tmp39 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %tmp38, i32 0, i32 0 | |
%tmp40 = load i64, i64* %tmp39, align 8, !range !4 | |
%tmp41 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %tmp38, i32 0, i32 1 | |
%tmp42 = load i64, i64* %tmp41, align 8 | |
call void @llvm.lifetime.end.p0i8(i64 24, i8* %tmp34) | |
%tmp44 = bitcast { i64, { i64, i64 } }* %tmp4 to i8* | |
call void @llvm.lifetime.start.p0i8(i64 24, i8* %tmp44) | |
call void @snork.534({ i64, { i64, i64 } }* noalias nocapture sret({ i64, { i64, i64 } }) dereferenceable(24) %tmp4, i8* noalias readonly align 1 dereferenceable(1) %tmp20) | |
%tmp46 = bitcast { i64, { i64, i64 } }* %tmp4 to i64* | |
%tmp47 = load i64, i64* %tmp46, align 8 | |
%tmp48 = getelementptr inbounds { i64, { i64, i64 } }, { i64, { i64, i64 } }* %tmp4, i32 0, i32 1 | |
%tmp49 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %tmp48, i32 0, i32 0 | |
%tmp50 = load i64, i64* %tmp49, align 8, !range !4 | |
%tmp51 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %tmp48, i32 0, i32 1 | |
%tmp52 = load i64, i64* %tmp51, align 8 | |
call void @llvm.lifetime.end.p0i8(i64 24, i8* %tmp44) | |
%tmp54 = call i64 @spam.29(i64 %tmp37, i64 %tmp47) | |
%tmp67 = icmp eq i64 %tmp40, 1 | |
%tmp72 = icmp eq i64 %tmp50, 1 | |
%or.cond = select i1 %tmp67, i1 %tmp72, i1 false | |
br i1 %or.cond, label %bb75, label %bb73 | |
bb73: ; preds = %bb29 | |
br label %bb85 | |
bb75: ; preds = %bb29 | |
%tmp84 = call { i64, i64 } @wobble.28(i64 %tmp42, i64 %tmp52) | |
%tmp84.fca.0.extract = extractvalue { i64, i64 } %tmp84, 0 | |
%tmp84.fca.1.extract = extractvalue { i64, i64 } %tmp84, 1 | |
br label %bb85 | |
bb85: ; preds = %bb75, %bb73 | |
%tmp3.sroa.5.0 = phi i64 [ %tmp84.fca.1.extract, %bb75 ], [ undef, %bb73 ] | |
%tmp3.sroa.0.0 = phi i64 [ %tmp84.fca.0.extract, %bb75 ], [ 0, %bb73 ] | |
%tmp91 = bitcast { i64, { i64, i64 } }* %arg to i64* | |
store i64 %tmp54, i64* %tmp91, align 8 | |
%tmp92 = getelementptr inbounds { i64, { i64, i64 } }, { i64, { i64, i64 } }* %arg, i32 0, i32 1 | |
%tmp93 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %tmp92, i32 0, i32 0 | |
store i64 %tmp3.sroa.0.0, i64* %tmp93, align 8 | |
%tmp94 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %tmp92, i32 0, i32 1 | |
store i64 %tmp3.sroa.5.0, i64* %tmp94, align 8 | |
br label %bb97 | |
bb97: ; preds = %bb113, %bb99, %bb25, %bb85 | |
ret void | |
bb99: ; preds = %bb13 | |
%tmp104 = bitcast { i64, { i64, i64 } }* %arg to i64* | |
store i64 0, i64* %tmp104, align 8 | |
%tmp105 = getelementptr inbounds { i64, { i64, i64 } }, { i64, { i64, i64 } }* %arg, i32 0, i32 1 | |
%tmp110 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %tmp105, i32 0, i32 0 | |
store i64 1, i64* %tmp110, align 8 | |
%tmp111 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %tmp105, i32 0, i32 1 | |
store i64 0, i64* %tmp111, align 8 | |
br label %bb97 | |
bb113: ; preds = %bb13 | |
call void @snork.534({ i64, { i64, i64 } }* noalias nocapture sret({ i64, { i64, i64 } }) dereferenceable(24) %arg, i8* noalias readonly align 1 dereferenceable(1) %tmp14) | |
br label %bb97 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal void @baz.12({ i64, { i64, i64 } }* noalias nocapture sret({ i64, { i64, i64 } }) dereferenceable(24) %arg, %struct.quux* noalias readonly align 1 dereferenceable(16) %arg1) unnamed_addr #0 { | |
bb: | |
%tmp4 = alloca { i64, { i64, i64 } }, align 8 | |
%tmp5 = alloca { i64, { i64, i64 } }, align 8 | |
%tmp6 = bitcast %struct.quux* %arg1 to %struct.wombat* | |
%tmp7 = getelementptr inbounds %struct.wombat, %struct.wombat* %tmp6, i32 0, i32 1 | |
%tmp8 = load i8, i8* %tmp7, align 1, !range !2 | |
%tmp9 = sub i8 %tmp8, 9 | |
%tmp10 = icmp eq i8 %tmp9, 0 | |
br i1 %tmp10, label %bb13, label %bb19 | |
bb13: ; preds = %bb | |
%tmp14 = getelementptr inbounds %struct.quux, %struct.quux* %arg1, i32 0, i32 1 | |
%tmp15 = load i8, i8* %tmp14, align 1, !range !3 | |
%tmp16 = sub i8 %tmp15, 8 | |
%tmp17 = icmp eq i8 %tmp16, 0 | |
br i1 %tmp17, label %bb99, label %bb113 | |
bb19: ; preds = %bb | |
%tmp20 = getelementptr inbounds %struct.quux, %struct.quux* %arg1, i32 0, i32 1 | |
%tmp21 = load i8, i8* %tmp20, align 1, !range !3 | |
%tmp22 = sub i8 %tmp21, 8 | |
%tmp23 = icmp eq i8 %tmp22, 0 | |
br i1 %tmp23, label %bb25, label %bb29 | |
bb25: ; preds = %bb19 | |
%tmp27 = bitcast %struct.wombat* %tmp6 to %struct.blam.18* | |
%tmp28 = bitcast %struct.blam.18* %tmp27 to %struct.hoge.12* | |
call void @wibble({ i64, { i64, i64 } }* noalias nocapture sret({ i64, { i64, i64 } }) dereferenceable(24) %arg, %struct.hoge.12* noalias readonly align 1 dereferenceable(15) %tmp28) | |
br label %bb97 | |
bb29: ; preds = %bb19 | |
%tmp31 = bitcast %struct.wombat* %tmp6 to %struct.blam.18* | |
%tmp32 = bitcast %struct.blam.18* %tmp31 to %struct.hoge.12* | |
%tmp34 = bitcast { i64, { i64, i64 } }* %tmp5 to i8* | |
call void @llvm.lifetime.start.p0i8(i64 24, i8* %tmp34) | |
call void @wibble({ i64, { i64, i64 } }* noalias nocapture sret({ i64, { i64, i64 } }) dereferenceable(24) %tmp5, %struct.hoge.12* noalias readonly align 1 dereferenceable(15) %tmp32) | |
%tmp36 = bitcast { i64, { i64, i64 } }* %tmp5 to i64* | |
%tmp37 = load i64, i64* %tmp36, align 8 | |
%tmp38 = getelementptr inbounds { i64, { i64, i64 } }, { i64, { i64, i64 } }* %tmp5, i32 0, i32 1 | |
%tmp39 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %tmp38, i32 0, i32 0 | |
%tmp40 = load i64, i64* %tmp39, align 8, !range !4 | |
%tmp41 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %tmp38, i32 0, i32 1 | |
%tmp42 = load i64, i64* %tmp41, align 8 | |
call void @llvm.lifetime.end.p0i8(i64 24, i8* %tmp34) | |
%tmp44 = bitcast { i64, { i64, i64 } }* %tmp4 to i8* | |
call void @llvm.lifetime.start.p0i8(i64 24, i8* %tmp44) | |
call void @snork.534({ i64, { i64, i64 } }* noalias nocapture sret({ i64, { i64, i64 } }) dereferenceable(24) %tmp4, i8* noalias readonly align 1 dereferenceable(1) %tmp20) | |
%tmp46 = bitcast { i64, { i64, i64 } }* %tmp4 to i64* | |
%tmp47 = load i64, i64* %tmp46, align 8 | |
%tmp48 = getelementptr inbounds { i64, { i64, i64 } }, { i64, { i64, i64 } }* %tmp4, i32 0, i32 1 | |
%tmp49 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %tmp48, i32 0, i32 0 | |
%tmp50 = load i64, i64* %tmp49, align 8, !range !4 | |
%tmp51 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %tmp48, i32 0, i32 1 | |
%tmp52 = load i64, i64* %tmp51, align 8 | |
call void @llvm.lifetime.end.p0i8(i64 24, i8* %tmp44) | |
%tmp54 = call i64 @spam.29(i64 %tmp37, i64 %tmp47) | |
%tmp67 = icmp eq i64 %tmp40, 1 | |
%tmp72 = icmp eq i64 %tmp50, 1 | |
%or.cond = select i1 %tmp67, i1 %tmp72, i1 false | |
br i1 %or.cond, label %bb75, label %bb73 | |
bb73: ; preds = %bb29 | |
br label %bb85 | |
bb75: ; preds = %bb29 | |
%tmp84 = call { i64, i64 } @wobble.28(i64 %tmp42, i64 %tmp52) | |
%tmp84.fca.0.extract = extractvalue { i64, i64 } %tmp84, 0 | |
%tmp84.fca.1.extract = extractvalue { i64, i64 } %tmp84, 1 | |
br label %bb85 | |
bb85: ; preds = %bb75, %bb73 | |
%tmp3.sroa.5.0 = phi i64 [ %tmp84.fca.1.extract, %bb75 ], [ undef, %bb73 ] | |
%tmp3.sroa.0.0 = phi i64 [ %tmp84.fca.0.extract, %bb75 ], [ 0, %bb73 ] | |
%tmp91 = bitcast { i64, { i64, i64 } }* %arg to i64* | |
store i64 %tmp54, i64* %tmp91, align 8 | |
%tmp92 = getelementptr inbounds { i64, { i64, i64 } }, { i64, { i64, i64 } }* %arg, i32 0, i32 1 | |
%tmp93 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %tmp92, i32 0, i32 0 | |
store i64 %tmp3.sroa.0.0, i64* %tmp93, align 8 | |
%tmp94 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %tmp92, i32 0, i32 1 | |
store i64 %tmp3.sroa.5.0, i64* %tmp94, align 8 | |
br label %bb97 | |
bb97: ; preds = %bb113, %bb99, %bb25, %bb85 | |
ret void | |
bb99: ; preds = %bb13 | |
%tmp104 = bitcast { i64, { i64, i64 } }* %arg to i64* | |
store i64 0, i64* %tmp104, align 8 | |
%tmp105 = getelementptr inbounds { i64, { i64, i64 } }, { i64, { i64, i64 } }* %arg, i32 0, i32 1 | |
%tmp110 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %tmp105, i32 0, i32 0 | |
store i64 1, i64* %tmp110, align 8 | |
%tmp111 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %tmp105, i32 0, i32 1 | |
store i64 0, i64* %tmp111, align 8 | |
br label %bb97 | |
bb113: ; preds = %bb13 | |
call void @snork.534({ i64, { i64, i64 } }* noalias nocapture sret({ i64, { i64, i64 } }) dereferenceable(24) %arg, i8* noalias readonly align 1 dereferenceable(1) %tmp14) | |
br label %bb97 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal void @blam({ i64, { i64, i64 } }* noalias nocapture sret({ i64, { i64, i64 } }) dereferenceable(24) %arg, %struct.ham.19* noalias readonly align 1 dereferenceable(10) %arg1) unnamed_addr #0 { | |
bb: | |
%tmp4 = alloca { i64, { i64, i64 } }, align 8 | |
%tmp5 = alloca { i64, { i64, i64 } }, align 8 | |
%tmp6 = bitcast %struct.ham.19* %arg1 to %struct.widget.20* | |
%tmp7 = getelementptr inbounds %struct.widget.20, %struct.widget.20* %tmp6, i32 0, i32 1 | |
%tmp8 = load i8, i8* %tmp7, align 1, !range !2 | |
%tmp9 = sub i8 %tmp8, 9 | |
%tmp10 = icmp eq i8 %tmp9, 0 | |
br i1 %tmp10, label %bb13, label %bb19 | |
bb13: ; preds = %bb | |
%tmp14 = getelementptr inbounds %struct.ham.19, %struct.ham.19* %arg1, i32 0, i32 1 | |
%tmp15 = load i8, i8* %tmp14, align 1, !range !3 | |
%tmp16 = sub i8 %tmp15, 8 | |
%tmp17 = icmp eq i8 %tmp16, 0 | |
br i1 %tmp17, label %bb99, label %bb113 | |
bb19: ; preds = %bb | |
%tmp20 = getelementptr inbounds %struct.ham.19, %struct.ham.19* %arg1, i32 0, i32 1 | |
%tmp21 = load i8, i8* %tmp20, align 1, !range !3 | |
%tmp22 = sub i8 %tmp21, 8 | |
%tmp23 = icmp eq i8 %tmp22, 0 | |
br i1 %tmp23, label %bb25, label %bb29 | |
bb25: ; preds = %bb19 | |
%tmp27 = bitcast %struct.widget.20* %tmp6 to %struct.foo.21* | |
%tmp28 = bitcast %struct.foo.21* %tmp27 to %struct.pluto.15* | |
call void @hoge.11({ i64, { i64, i64 } }* noalias nocapture sret({ i64, { i64, i64 } }) dereferenceable(24) %arg, %struct.pluto.15* noalias readonly align 1 dereferenceable(9) %tmp28) | |
br label %bb97 | |
bb29: ; preds = %bb19 | |
%tmp31 = bitcast %struct.widget.20* %tmp6 to %struct.foo.21* | |
%tmp32 = bitcast %struct.foo.21* %tmp31 to %struct.pluto.15* | |
%tmp34 = bitcast { i64, { i64, i64 } }* %tmp5 to i8* | |
call void @llvm.lifetime.start.p0i8(i64 24, i8* %tmp34) | |
call void @hoge.11({ i64, { i64, i64 } }* noalias nocapture sret({ i64, { i64, i64 } }) dereferenceable(24) %tmp5, %struct.pluto.15* noalias readonly align 1 dereferenceable(9) %tmp32) | |
%tmp36 = bitcast { i64, { i64, i64 } }* %tmp5 to i64* | |
%tmp37 = load i64, i64* %tmp36, align 8 | |
%tmp38 = getelementptr inbounds { i64, { i64, i64 } }, { i64, { i64, i64 } }* %tmp5, i32 0, i32 1 | |
%tmp39 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %tmp38, i32 0, i32 0 | |
%tmp40 = load i64, i64* %tmp39, align 8, !range !4 | |
%tmp41 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %tmp38, i32 0, i32 1 | |
%tmp42 = load i64, i64* %tmp41, align 8 | |
call void @llvm.lifetime.end.p0i8(i64 24, i8* %tmp34) | |
%tmp44 = bitcast { i64, { i64, i64 } }* %tmp4 to i8* | |
call void @llvm.lifetime.start.p0i8(i64 24, i8* %tmp44) | |
call void @snork.534({ i64, { i64, i64 } }* noalias nocapture sret({ i64, { i64, i64 } }) dereferenceable(24) %tmp4, i8* noalias readonly align 1 dereferenceable(1) %tmp20) | |
%tmp46 = bitcast { i64, { i64, i64 } }* %tmp4 to i64* | |
%tmp47 = load i64, i64* %tmp46, align 8 | |
%tmp48 = getelementptr inbounds { i64, { i64, i64 } }, { i64, { i64, i64 } }* %tmp4, i32 0, i32 1 | |
%tmp49 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %tmp48, i32 0, i32 0 | |
%tmp50 = load i64, i64* %tmp49, align 8, !range !4 | |
%tmp51 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %tmp48, i32 0, i32 1 | |
%tmp52 = load i64, i64* %tmp51, align 8 | |
call void @llvm.lifetime.end.p0i8(i64 24, i8* %tmp44) | |
%tmp54 = call i64 @spam.29(i64 %tmp37, i64 %tmp47) | |
%tmp67 = icmp eq i64 %tmp40, 1 | |
%tmp72 = icmp eq i64 %tmp50, 1 | |
%or.cond = select i1 %tmp67, i1 %tmp72, i1 false | |
br i1 %or.cond, label %bb75, label %bb73 | |
bb73: ; preds = %bb29 | |
br label %bb85 | |
bb75: ; preds = %bb29 | |
%tmp84 = call { i64, i64 } @wobble.28(i64 %tmp42, i64 %tmp52) | |
%tmp84.fca.0.extract = extractvalue { i64, i64 } %tmp84, 0 | |
%tmp84.fca.1.extract = extractvalue { i64, i64 } %tmp84, 1 | |
br label %bb85 | |
bb85: ; preds = %bb75, %bb73 | |
%tmp3.sroa.5.0 = phi i64 [ %tmp84.fca.1.extract, %bb75 ], [ undef, %bb73 ] | |
%tmp3.sroa.0.0 = phi i64 [ %tmp84.fca.0.extract, %bb75 ], [ 0, %bb73 ] | |
%tmp91 = bitcast { i64, { i64, i64 } }* %arg to i64* | |
store i64 %tmp54, i64* %tmp91, align 8 | |
%tmp92 = getelementptr inbounds { i64, { i64, i64 } }, { i64, { i64, i64 } }* %arg, i32 0, i32 1 | |
%tmp93 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %tmp92, i32 0, i32 0 | |
store i64 %tmp3.sroa.0.0, i64* %tmp93, align 8 | |
%tmp94 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %tmp92, i32 0, i32 1 | |
store i64 %tmp3.sroa.5.0, i64* %tmp94, align 8 | |
br label %bb97 | |
bb97: ; preds = %bb113, %bb99, %bb25, %bb85 | |
ret void | |
bb99: ; preds = %bb13 | |
%tmp104 = bitcast { i64, { i64, i64 } }* %arg to i64* | |
store i64 0, i64* %tmp104, align 8 | |
%tmp105 = getelementptr inbounds { i64, { i64, i64 } }, { i64, { i64, i64 } }* %arg, i32 0, i32 1 | |
%tmp110 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %tmp105, i32 0, i32 0 | |
store i64 1, i64* %tmp110, align 8 | |
%tmp111 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %tmp105, i32 0, i32 1 | |
store i64 0, i64* %tmp111, align 8 | |
br label %bb97 | |
bb113: ; preds = %bb13 | |
call void @snork.534({ i64, { i64, i64 } }* noalias nocapture sret({ i64, { i64, i64 } }) dereferenceable(24) %arg, i8* noalias readonly align 1 dereferenceable(1) %tmp14) | |
br label %bb97 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal void @wibble.13({ i64, { i64, i64 } }* noalias nocapture sret({ i64, { i64, i64 } }) dereferenceable(24) %arg, %struct.quux.10* noalias readonly align 1 dereferenceable(12) %arg1) unnamed_addr #0 { | |
bb: | |
%tmp4 = alloca { i64, { i64, i64 } }, align 8 | |
%tmp5 = alloca { i64, { i64, i64 } }, align 8 | |
%tmp6 = bitcast %struct.quux.10* %arg1 to %struct.baz.11* | |
%tmp7 = getelementptr inbounds %struct.baz.11, %struct.baz.11* %tmp6, i32 0, i32 1 | |
%tmp8 = load i8, i8* %tmp7, align 1, !range !2 | |
%tmp9 = sub i8 %tmp8, 9 | |
%tmp10 = icmp eq i8 %tmp9, 0 | |
br i1 %tmp10, label %bb13, label %bb19 | |
bb13: ; preds = %bb | |
%tmp14 = getelementptr inbounds %struct.quux.10, %struct.quux.10* %arg1, i32 0, i32 1 | |
%tmp15 = load i8, i8* %tmp14, align 1, !range !3 | |
%tmp16 = sub i8 %tmp15, 8 | |
%tmp17 = icmp eq i8 %tmp16, 0 | |
br i1 %tmp17, label %bb99, label %bb113 | |
bb19: ; preds = %bb | |
%tmp20 = getelementptr inbounds %struct.quux.10, %struct.quux.10* %arg1, i32 0, i32 1 | |
%tmp21 = load i8, i8* %tmp20, align 1, !range !3 | |
%tmp22 = sub i8 %tmp21, 8 | |
%tmp23 = icmp eq i8 %tmp22, 0 | |
br i1 %tmp23, label %bb25, label %bb29 | |
bb25: ; preds = %bb19 | |
%tmp27 = bitcast %struct.baz.11* %tmp6 to %struct.blam.22* | |
%tmp28 = bitcast %struct.blam.22* %tmp27 to %struct.wombat.23* | |
call void @hoge.15({ i64, { i64, i64 } }* noalias nocapture sret({ i64, { i64, i64 } }) dereferenceable(24) %arg, %struct.wombat.23* noalias readonly align 1 dereferenceable(11) %tmp28) | |
br label %bb97 | |
bb29: ; preds = %bb19 | |
%tmp31 = bitcast %struct.baz.11* %tmp6 to %struct.blam.22* | |
%tmp32 = bitcast %struct.blam.22* %tmp31 to %struct.wombat.23* | |
%tmp34 = bitcast { i64, { i64, i64 } }* %tmp5 to i8* | |
call void @llvm.lifetime.start.p0i8(i64 24, i8* %tmp34) | |
call void @hoge.15({ i64, { i64, i64 } }* noalias nocapture sret({ i64, { i64, i64 } }) dereferenceable(24) %tmp5, %struct.wombat.23* noalias readonly align 1 dereferenceable(11) %tmp32) | |
%tmp36 = bitcast { i64, { i64, i64 } }* %tmp5 to i64* | |
%tmp37 = load i64, i64* %tmp36, align 8 | |
%tmp38 = getelementptr inbounds { i64, { i64, i64 } }, { i64, { i64, i64 } }* %tmp5, i32 0, i32 1 | |
%tmp39 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %tmp38, i32 0, i32 0 | |
%tmp40 = load i64, i64* %tmp39, align 8, !range !4 | |
%tmp41 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %tmp38, i32 0, i32 1 | |
%tmp42 = load i64, i64* %tmp41, align 8 | |
call void @llvm.lifetime.end.p0i8(i64 24, i8* %tmp34) | |
%tmp44 = bitcast { i64, { i64, i64 } }* %tmp4 to i8* | |
call void @llvm.lifetime.start.p0i8(i64 24, i8* %tmp44) | |
call void @snork.534({ i64, { i64, i64 } }* noalias nocapture sret({ i64, { i64, i64 } }) dereferenceable(24) %tmp4, i8* noalias readonly align 1 dereferenceable(1) %tmp20) | |
%tmp46 = bitcast { i64, { i64, i64 } }* %tmp4 to i64* | |
%tmp47 = load i64, i64* %tmp46, align 8 | |
%tmp48 = getelementptr inbounds { i64, { i64, i64 } }, { i64, { i64, i64 } }* %tmp4, i32 0, i32 1 | |
%tmp49 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %tmp48, i32 0, i32 0 | |
%tmp50 = load i64, i64* %tmp49, align 8, !range !4 | |
%tmp51 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %tmp48, i32 0, i32 1 | |
%tmp52 = load i64, i64* %tmp51, align 8 | |
call void @llvm.lifetime.end.p0i8(i64 24, i8* %tmp44) | |
%tmp54 = call i64 @spam.29(i64 %tmp37, i64 %tmp47) | |
%tmp67 = icmp eq i64 %tmp40, 1 | |
%tmp72 = icmp eq i64 %tmp50, 1 | |
%or.cond = select i1 %tmp67, i1 %tmp72, i1 false | |
br i1 %or.cond, label %bb75, label %bb73 | |
bb73: ; preds = %bb29 | |
br label %bb85 | |
bb75: ; preds = %bb29 | |
%tmp84 = call { i64, i64 } @wobble.28(i64 %tmp42, i64 %tmp52) | |
%tmp84.fca.0.extract = extractvalue { i64, i64 } %tmp84, 0 | |
%tmp84.fca.1.extract = extractvalue { i64, i64 } %tmp84, 1 | |
br label %bb85 | |
bb85: ; preds = %bb75, %bb73 | |
%tmp3.sroa.5.0 = phi i64 [ %tmp84.fca.1.extract, %bb75 ], [ undef, %bb73 ] | |
%tmp3.sroa.0.0 = phi i64 [ %tmp84.fca.0.extract, %bb75 ], [ 0, %bb73 ] | |
%tmp91 = bitcast { i64, { i64, i64 } }* %arg to i64* | |
store i64 %tmp54, i64* %tmp91, align 8 | |
%tmp92 = getelementptr inbounds { i64, { i64, i64 } }, { i64, { i64, i64 } }* %arg, i32 0, i32 1 | |
%tmp93 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %tmp92, i32 0, i32 0 | |
store i64 %tmp3.sroa.0.0, i64* %tmp93, align 8 | |
%tmp94 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %tmp92, i32 0, i32 1 | |
store i64 %tmp3.sroa.5.0, i64* %tmp94, align 8 | |
br label %bb97 | |
bb97: ; preds = %bb113, %bb99, %bb25, %bb85 | |
ret void | |
bb99: ; preds = %bb13 | |
%tmp104 = bitcast { i64, { i64, i64 } }* %arg to i64* | |
store i64 0, i64* %tmp104, align 8 | |
%tmp105 = getelementptr inbounds { i64, { i64, i64 } }, { i64, { i64, i64 } }* %arg, i32 0, i32 1 | |
%tmp110 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %tmp105, i32 0, i32 0 | |
store i64 1, i64* %tmp110, align 8 | |
%tmp111 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %tmp105, i32 0, i32 1 | |
store i64 0, i64* %tmp111, align 8 | |
br label %bb97 | |
bb113: ; preds = %bb13 | |
call void @snork.534({ i64, { i64, i64 } }* noalias nocapture sret({ i64, { i64, i64 } }) dereferenceable(24) %arg, i8* noalias readonly align 1 dereferenceable(1) %tmp14) | |
br label %bb97 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal void @widget.14({ i64, { i64, i64 } }* noalias nocapture sret({ i64, { i64, i64 } }) dereferenceable(24) %arg, %struct.wombat.4* noalias readonly align 1 dereferenceable(3) %arg1) unnamed_addr #0 { | |
bb: | |
%tmp4 = alloca { i64, { i64, i64 } }, align 8 | |
%tmp5 = alloca { i64, { i64, i64 } }, align 8 | |
%tmp6 = bitcast %struct.wombat.4* %arg1 to { i8, i8 }* | |
%tmp7 = bitcast { i8, i8 }* %tmp6 to i8* | |
%tmp8 = load i8, i8* %tmp7, align 1, !range !2 | |
%tmp9 = sub i8 %tmp8, 9 | |
%tmp10 = icmp eq i8 %tmp9, 0 | |
br i1 %tmp10, label %bb13, label %bb19 | |
bb13: ; preds = %bb | |
%tmp14 = getelementptr inbounds %struct.wombat.4, %struct.wombat.4* %arg1, i32 0, i32 1 | |
%tmp15 = load i8, i8* %tmp14, align 1, !range !3 | |
%tmp16 = sub i8 %tmp15, 8 | |
%tmp17 = icmp eq i8 %tmp16, 0 | |
br i1 %tmp17, label %bb95, label %bb109 | |
bb19: ; preds = %bb | |
%tmp20 = getelementptr inbounds %struct.wombat.4, %struct.wombat.4* %arg1, i32 0, i32 1 | |
%tmp21 = load i8, i8* %tmp20, align 1, !range !3 | |
%tmp22 = sub i8 %tmp21, 8 | |
%tmp23 = icmp eq i8 %tmp22, 0 | |
br i1 %tmp23, label %bb25, label %bb27 | |
bb25: ; preds = %bb19 | |
call void @quux.16({ i64, { i64, i64 } }* noalias nocapture sret({ i64, { i64, i64 } }) dereferenceable(24) %arg, { i8, i8 }* noalias readonly align 1 dereferenceable(2) %tmp6) | |
br label %bb93 | |
bb27: ; preds = %bb19 | |
%tmp30 = bitcast { i64, { i64, i64 } }* %tmp5 to i8* | |
call void @llvm.lifetime.start.p0i8(i64 24, i8* %tmp30) | |
call void @quux.16({ i64, { i64, i64 } }* noalias nocapture sret({ i64, { i64, i64 } }) dereferenceable(24) %tmp5, { i8, i8 }* noalias readonly align 1 dereferenceable(2) %tmp6) | |
%tmp32 = bitcast { i64, { i64, i64 } }* %tmp5 to i64* | |
%tmp33 = load i64, i64* %tmp32, align 8 | |
%tmp34 = getelementptr inbounds { i64, { i64, i64 } }, { i64, { i64, i64 } }* %tmp5, i32 0, i32 1 | |
%tmp35 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %tmp34, i32 0, i32 0 | |
%tmp36 = load i64, i64* %tmp35, align 8, !range !4 | |
%tmp37 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %tmp34, i32 0, i32 1 | |
%tmp38 = load i64, i64* %tmp37, align 8 | |
call void @llvm.lifetime.end.p0i8(i64 24, i8* %tmp30) | |
%tmp40 = bitcast { i64, { i64, i64 } }* %tmp4 to i8* | |
call void @llvm.lifetime.start.p0i8(i64 24, i8* %tmp40) | |
call void @snork.534({ i64, { i64, i64 } }* noalias nocapture sret({ i64, { i64, i64 } }) dereferenceable(24) %tmp4, i8* noalias readonly align 1 dereferenceable(1) %tmp20) | |
%tmp42 = bitcast { i64, { i64, i64 } }* %tmp4 to i64* | |
%tmp43 = load i64, i64* %tmp42, align 8 | |
%tmp44 = getelementptr inbounds { i64, { i64, i64 } }, { i64, { i64, i64 } }* %tmp4, i32 0, i32 1 | |
%tmp45 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %tmp44, i32 0, i32 0 | |
%tmp46 = load i64, i64* %tmp45, align 8, !range !4 | |
%tmp47 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %tmp44, i32 0, i32 1 | |
%tmp48 = load i64, i64* %tmp47, align 8 | |
call void @llvm.lifetime.end.p0i8(i64 24, i8* %tmp40) | |
%tmp50 = call i64 @spam.29(i64 %tmp33, i64 %tmp43) | |
%tmp63 = icmp eq i64 %tmp36, 1 | |
%tmp68 = icmp eq i64 %tmp46, 1 | |
%or.cond = select i1 %tmp63, i1 %tmp68, i1 false | |
br i1 %or.cond, label %bb71, label %bb69 | |
bb69: ; preds = %bb27 | |
br label %bb81 | |
bb71: ; preds = %bb27 | |
%tmp80 = call { i64, i64 } @wobble.28(i64 %tmp38, i64 %tmp48) | |
%tmp80.fca.0.extract = extractvalue { i64, i64 } %tmp80, 0 | |
%tmp80.fca.1.extract = extractvalue { i64, i64 } %tmp80, 1 | |
br label %bb81 | |
bb81: ; preds = %bb71, %bb69 | |
%tmp3.sroa.5.0 = phi i64 [ %tmp80.fca.1.extract, %bb71 ], [ undef, %bb69 ] | |
%tmp3.sroa.0.0 = phi i64 [ %tmp80.fca.0.extract, %bb71 ], [ 0, %bb69 ] | |
%tmp87 = bitcast { i64, { i64, i64 } }* %arg to i64* | |
store i64 %tmp50, i64* %tmp87, align 8 | |
%tmp88 = getelementptr inbounds { i64, { i64, i64 } }, { i64, { i64, i64 } }* %arg, i32 0, i32 1 | |
%tmp89 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %tmp88, i32 0, i32 0 | |
store i64 %tmp3.sroa.0.0, i64* %tmp89, align 8 | |
%tmp90 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %tmp88, i32 0, i32 1 | |
store i64 %tmp3.sroa.5.0, i64* %tmp90, align 8 | |
br label %bb93 | |
bb93: ; preds = %bb109, %bb95, %bb25, %bb81 | |
ret void | |
bb95: ; preds = %bb13 | |
%tmp100 = bitcast { i64, { i64, i64 } }* %arg to i64* | |
store i64 0, i64* %tmp100, align 8 | |
%tmp101 = getelementptr inbounds { i64, { i64, i64 } }, { i64, { i64, i64 } }* %arg, i32 0, i32 1 | |
%tmp106 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %tmp101, i32 0, i32 0 | |
store i64 1, i64* %tmp106, align 8 | |
%tmp107 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %tmp101, i32 0, i32 1 | |
store i64 0, i64* %tmp107, align 8 | |
br label %bb93 | |
bb109: ; preds = %bb13 | |
call void @snork.534({ i64, { i64, i64 } }* noalias nocapture sret({ i64, { i64, i64 } }) dereferenceable(24) %arg, i8* noalias readonly align 1 dereferenceable(1) %tmp14) | |
br label %bb93 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal void @snork({ i64, { i64, i64 } }* noalias nocapture sret({ i64, { i64, i64 } }) dereferenceable(24) %arg, %struct.foo* noalias readonly align 1 dereferenceable(7) %arg1) unnamed_addr #0 { | |
bb: | |
%tmp4 = alloca { i64, { i64, i64 } }, align 8 | |
%tmp5 = alloca { i64, { i64, i64 } }, align 8 | |
%tmp6 = bitcast %struct.foo* %arg1 to %struct.zot.1* | |
%tmp7 = getelementptr inbounds %struct.zot.1, %struct.zot.1* %tmp6, i32 0, i32 1 | |
%tmp8 = load i8, i8* %tmp7, align 1, !range !2 | |
%tmp9 = sub i8 %tmp8, 9 | |
%tmp10 = icmp eq i8 %tmp9, 0 | |
br i1 %tmp10, label %bb13, label %bb19 | |
bb13: ; preds = %bb | |
%tmp14 = getelementptr inbounds %struct.foo, %struct.foo* %arg1, i32 0, i32 1 | |
%tmp15 = load i8, i8* %tmp14, align 1, !range !3 | |
%tmp16 = sub i8 %tmp15, 8 | |
%tmp17 = icmp eq i8 %tmp16, 0 | |
br i1 %tmp17, label %bb99, label %bb113 | |
bb19: ; preds = %bb | |
%tmp20 = getelementptr inbounds %struct.foo, %struct.foo* %arg1, i32 0, i32 1 | |
%tmp21 = load i8, i8* %tmp20, align 1, !range !3 | |
%tmp22 = sub i8 %tmp21, 8 | |
%tmp23 = icmp eq i8 %tmp22, 0 | |
br i1 %tmp23, label %bb25, label %bb29 | |
bb25: ; preds = %bb19 | |
%tmp27 = bitcast %struct.zot.1* %tmp6 to %struct.hoge.25* | |
%tmp28 = bitcast %struct.hoge.25* %tmp27 to %struct.wobble* | |
call void @baz({ i64, { i64, i64 } }* noalias nocapture sret({ i64, { i64, i64 } }) dereferenceable(24) %arg, %struct.wobble* noalias readonly align 1 dereferenceable(6) %tmp28) | |
br label %bb97 | |
bb29: ; preds = %bb19 | |
%tmp31 = bitcast %struct.zot.1* %tmp6 to %struct.hoge.25* | |
%tmp32 = bitcast %struct.hoge.25* %tmp31 to %struct.wobble* | |
%tmp34 = bitcast { i64, { i64, i64 } }* %tmp5 to i8* | |
call void @llvm.lifetime.start.p0i8(i64 24, i8* %tmp34) | |
call void @baz({ i64, { i64, i64 } }* noalias nocapture sret({ i64, { i64, i64 } }) dereferenceable(24) %tmp5, %struct.wobble* noalias readonly align 1 dereferenceable(6) %tmp32) | |
%tmp36 = bitcast { i64, { i64, i64 } }* %tmp5 to i64* | |
%tmp37 = load i64, i64* %tmp36, align 8 | |
%tmp38 = getelementptr inbounds { i64, { i64, i64 } }, { i64, { i64, i64 } }* %tmp5, i32 0, i32 1 | |
%tmp39 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %tmp38, i32 0, i32 0 | |
%tmp40 = load i64, i64* %tmp39, align 8, !range !4 | |
%tmp41 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %tmp38, i32 0, i32 1 | |
%tmp42 = load i64, i64* %tmp41, align 8 | |
call void @llvm.lifetime.end.p0i8(i64 24, i8* %tmp34) | |
%tmp44 = bitcast { i64, { i64, i64 } }* %tmp4 to i8* | |
call void @llvm.lifetime.start.p0i8(i64 24, i8* %tmp44) | |
call void @snork.534({ i64, { i64, i64 } }* noalias nocapture sret({ i64, { i64, i64 } }) dereferenceable(24) %tmp4, i8* noalias readonly align 1 dereferenceable(1) %tmp20) | |
%tmp46 = bitcast { i64, { i64, i64 } }* %tmp4 to i64* | |
%tmp47 = load i64, i64* %tmp46, align 8 | |
%tmp48 = getelementptr inbounds { i64, { i64, i64 } }, { i64, { i64, i64 } }* %tmp4, i32 0, i32 1 | |
%tmp49 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %tmp48, i32 0, i32 0 | |
%tmp50 = load i64, i64* %tmp49, align 8, !range !4 | |
%tmp51 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %tmp48, i32 0, i32 1 | |
%tmp52 = load i64, i64* %tmp51, align 8 | |
call void @llvm.lifetime.end.p0i8(i64 24, i8* %tmp44) | |
%tmp54 = call i64 @spam.29(i64 %tmp37, i64 %tmp47) | |
%tmp67 = icmp eq i64 %tmp40, 1 | |
%tmp72 = icmp eq i64 %tmp50, 1 | |
%or.cond = select i1 %tmp67, i1 %tmp72, i1 false | |
br i1 %or.cond, label %bb75, label %bb73 | |
bb73: ; preds = %bb29 | |
br label %bb85 | |
bb75: ; preds = %bb29 | |
%tmp84 = call { i64, i64 } @wobble.28(i64 %tmp42, i64 %tmp52) | |
%tmp84.fca.0.extract = extractvalue { i64, i64 } %tmp84, 0 | |
%tmp84.fca.1.extract = extractvalue { i64, i64 } %tmp84, 1 | |
br label %bb85 | |
bb85: ; preds = %bb75, %bb73 | |
%tmp3.sroa.5.0 = phi i64 [ %tmp84.fca.1.extract, %bb75 ], [ undef, %bb73 ] | |
%tmp3.sroa.0.0 = phi i64 [ %tmp84.fca.0.extract, %bb75 ], [ 0, %bb73 ] | |
%tmp91 = bitcast { i64, { i64, i64 } }* %arg to i64* | |
store i64 %tmp54, i64* %tmp91, align 8 | |
%tmp92 = getelementptr inbounds { i64, { i64, i64 } }, { i64, { i64, i64 } }* %arg, i32 0, i32 1 | |
%tmp93 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %tmp92, i32 0, i32 0 | |
store i64 %tmp3.sroa.0.0, i64* %tmp93, align 8 | |
%tmp94 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %tmp92, i32 0, i32 1 | |
store i64 %tmp3.sroa.5.0, i64* %tmp94, align 8 | |
br label %bb97 | |
bb97: ; preds = %bb113, %bb99, %bb25, %bb85 | |
ret void | |
bb99: ; preds = %bb13 | |
%tmp104 = bitcast { i64, { i64, i64 } }* %arg to i64* | |
store i64 0, i64* %tmp104, align 8 | |
%tmp105 = getelementptr inbounds { i64, { i64, i64 } }, { i64, { i64, i64 } }* %arg, i32 0, i32 1 | |
%tmp110 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %tmp105, i32 0, i32 0 | |
store i64 1, i64* %tmp110, align 8 | |
%tmp111 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %tmp105, i32 0, i32 1 | |
store i64 0, i64* %tmp111, align 8 | |
br label %bb97 | |
bb113: ; preds = %bb13 | |
call void @snork.534({ i64, { i64, i64 } }* noalias nocapture sret({ i64, { i64, i64 } }) dereferenceable(24) %arg, i8* noalias readonly align 1 dereferenceable(1) %tmp14) | |
br label %bb97 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal void @hoge.15({ i64, { i64, i64 } }* noalias nocapture sret({ i64, { i64, i64 } }) dereferenceable(24) %arg, %struct.wombat.23* noalias readonly align 1 dereferenceable(11) %arg1) unnamed_addr #0 { | |
bb: | |
%tmp4 = alloca { i64, { i64, i64 } }, align 8 | |
%tmp5 = alloca { i64, { i64, i64 } }, align 8 | |
%tmp6 = bitcast %struct.wombat.23* %arg1 to %struct.wombat.24* | |
%tmp7 = getelementptr inbounds %struct.wombat.24, %struct.wombat.24* %tmp6, i32 0, i32 1 | |
%tmp8 = load i8, i8* %tmp7, align 1, !range !2 | |
%tmp9 = sub i8 %tmp8, 9 | |
%tmp10 = icmp eq i8 %tmp9, 0 | |
br i1 %tmp10, label %bb13, label %bb19 | |
bb13: ; preds = %bb | |
%tmp14 = getelementptr inbounds %struct.wombat.23, %struct.wombat.23* %arg1, i32 0, i32 1 | |
%tmp15 = load i8, i8* %tmp14, align 1, !range !3 | |
%tmp16 = sub i8 %tmp15, 8 | |
%tmp17 = icmp eq i8 %tmp16, 0 | |
br i1 %tmp17, label %bb99, label %bb113 | |
bb19: ; preds = %bb | |
%tmp20 = getelementptr inbounds %struct.wombat.23, %struct.wombat.23* %arg1, i32 0, i32 1 | |
%tmp21 = load i8, i8* %tmp20, align 1, !range !3 | |
%tmp22 = sub i8 %tmp21, 8 | |
%tmp23 = icmp eq i8 %tmp22, 0 | |
br i1 %tmp23, label %bb25, label %bb29 | |
bb25: ; preds = %bb19 | |
%tmp27 = bitcast %struct.wombat.24* %tmp6 to %struct.barney.26* | |
%tmp28 = bitcast %struct.barney.26* %tmp27 to %struct.ham.19* | |
call void @blam({ i64, { i64, i64 } }* noalias nocapture sret({ i64, { i64, i64 } }) dereferenceable(24) %arg, %struct.ham.19* noalias readonly align 1 dereferenceable(10) %tmp28) | |
br label %bb97 | |
bb29: ; preds = %bb19 | |
%tmp31 = bitcast %struct.wombat.24* %tmp6 to %struct.barney.26* | |
%tmp32 = bitcast %struct.barney.26* %tmp31 to %struct.ham.19* | |
%tmp34 = bitcast { i64, { i64, i64 } }* %tmp5 to i8* | |
call void @llvm.lifetime.start.p0i8(i64 24, i8* %tmp34) | |
call void @blam({ i64, { i64, i64 } }* noalias nocapture sret({ i64, { i64, i64 } }) dereferenceable(24) %tmp5, %struct.ham.19* noalias readonly align 1 dereferenceable(10) %tmp32) | |
%tmp36 = bitcast { i64, { i64, i64 } }* %tmp5 to i64* | |
%tmp37 = load i64, i64* %tmp36, align 8 | |
%tmp38 = getelementptr inbounds { i64, { i64, i64 } }, { i64, { i64, i64 } }* %tmp5, i32 0, i32 1 | |
%tmp39 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %tmp38, i32 0, i32 0 | |
%tmp40 = load i64, i64* %tmp39, align 8, !range !4 | |
%tmp41 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %tmp38, i32 0, i32 1 | |
%tmp42 = load i64, i64* %tmp41, align 8 | |
call void @llvm.lifetime.end.p0i8(i64 24, i8* %tmp34) | |
%tmp44 = bitcast { i64, { i64, i64 } }* %tmp4 to i8* | |
call void @llvm.lifetime.start.p0i8(i64 24, i8* %tmp44) | |
call void @snork.534({ i64, { i64, i64 } }* noalias nocapture sret({ i64, { i64, i64 } }) dereferenceable(24) %tmp4, i8* noalias readonly align 1 dereferenceable(1) %tmp20) | |
%tmp46 = bitcast { i64, { i64, i64 } }* %tmp4 to i64* | |
%tmp47 = load i64, i64* %tmp46, align 8 | |
%tmp48 = getelementptr inbounds { i64, { i64, i64 } }, { i64, { i64, i64 } }* %tmp4, i32 0, i32 1 | |
%tmp49 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %tmp48, i32 0, i32 0 | |
%tmp50 = load i64, i64* %tmp49, align 8, !range !4 | |
%tmp51 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %tmp48, i32 0, i32 1 | |
%tmp52 = load i64, i64* %tmp51, align 8 | |
call void @llvm.lifetime.end.p0i8(i64 24, i8* %tmp44) | |
%tmp54 = call i64 @spam.29(i64 %tmp37, i64 %tmp47) | |
%tmp67 = icmp eq i64 %tmp40, 1 | |
%tmp72 = icmp eq i64 %tmp50, 1 | |
%or.cond = select i1 %tmp67, i1 %tmp72, i1 false | |
br i1 %or.cond, label %bb75, label %bb73 | |
bb73: ; preds = %bb29 | |
br label %bb85 | |
bb75: ; preds = %bb29 | |
%tmp84 = call { i64, i64 } @wobble.28(i64 %tmp42, i64 %tmp52) | |
%tmp84.fca.0.extract = extractvalue { i64, i64 } %tmp84, 0 | |
%tmp84.fca.1.extract = extractvalue { i64, i64 } %tmp84, 1 | |
br label %bb85 | |
bb85: ; preds = %bb75, %bb73 | |
%tmp3.sroa.5.0 = phi i64 [ %tmp84.fca.1.extract, %bb75 ], [ undef, %bb73 ] | |
%tmp3.sroa.0.0 = phi i64 [ %tmp84.fca.0.extract, %bb75 ], [ 0, %bb73 ] | |
%tmp91 = bitcast { i64, { i64, i64 } }* %arg to i64* | |
store i64 %tmp54, i64* %tmp91, align 8 | |
%tmp92 = getelementptr inbounds { i64, { i64, i64 } }, { i64, { i64, i64 } }* %arg, i32 0, i32 1 | |
%tmp93 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %tmp92, i32 0, i32 0 | |
store i64 %tmp3.sroa.0.0, i64* %tmp93, align 8 | |
%tmp94 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %tmp92, i32 0, i32 1 | |
store i64 %tmp3.sroa.5.0, i64* %tmp94, align 8 | |
br label %bb97 | |
bb97: ; preds = %bb113, %bb99, %bb25, %bb85 | |
ret void | |
bb99: ; preds = %bb13 | |
%tmp104 = bitcast { i64, { i64, i64 } }* %arg to i64* | |
store i64 0, i64* %tmp104, align 8 | |
%tmp105 = getelementptr inbounds { i64, { i64, i64 } }, { i64, { i64, i64 } }* %arg, i32 0, i32 1 | |
%tmp110 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %tmp105, i32 0, i32 0 | |
store i64 1, i64* %tmp110, align 8 | |
%tmp111 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %tmp105, i32 0, i32 1 | |
store i64 0, i64* %tmp111, align 8 | |
br label %bb97 | |
bb113: ; preds = %bb13 | |
call void @snork.534({ i64, { i64, i64 } }* noalias nocapture sret({ i64, { i64, i64 } }) dereferenceable(24) %arg, i8* noalias readonly align 1 dereferenceable(1) %tmp14) | |
br label %bb97 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal void @quux.16({ i64, { i64, i64 } }* noalias nocapture sret({ i64, { i64, i64 } }) dereferenceable(24) %arg, { i8, i8 }* noalias readonly align 1 dereferenceable(2) %arg1) unnamed_addr #0 { | |
bb: | |
%tmp4 = alloca { i64, { i64, i64 } }, align 8 | |
%tmp5 = alloca { i64, { i64, i64 } }, align 8 | |
%tmp6 = bitcast { i8, i8 }* %arg1 to i8* | |
%tmp7 = load i8, i8* %tmp6, align 1, !range !3 | |
%tmp8 = sub i8 %tmp7, 8 | |
%tmp9 = icmp eq i8 %tmp8, 0 | |
br i1 %tmp9, label %bb12, label %bb18 | |
bb12: ; preds = %bb | |
%tmp13 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %arg1, i32 0, i32 1 | |
%tmp14 = load i8, i8* %tmp13, align 1, !range !3 | |
%tmp15 = sub i8 %tmp14, 8 | |
%tmp16 = icmp eq i8 %tmp15, 0 | |
br i1 %tmp16, label %bb94, label %bb108 | |
bb18: ; preds = %bb | |
%tmp19 = getelementptr inbounds { i8, i8 }, { i8, i8 }* %arg1, i32 0, i32 1 | |
%tmp20 = load i8, i8* %tmp19, align 1, !range !3 | |
%tmp21 = sub i8 %tmp20, 8 | |
%tmp22 = icmp eq i8 %tmp21, 0 | |
br i1 %tmp22, label %bb24, label %bb26 | |
bb24: ; preds = %bb18 | |
call void @snork.534({ i64, { i64, i64 } }* noalias nocapture sret({ i64, { i64, i64 } }) dereferenceable(24) %arg, i8* noalias readonly align 1 dereferenceable(1) %tmp6) | |
br label %bb92 | |
bb26: ; preds = %bb18 | |
%tmp29 = bitcast { i64, { i64, i64 } }* %tmp5 to i8* | |
call void @llvm.lifetime.start.p0i8(i64 24, i8* %tmp29) | |
call void @snork.534({ i64, { i64, i64 } }* noalias nocapture sret({ i64, { i64, i64 } }) dereferenceable(24) %tmp5, i8* noalias readonly align 1 dereferenceable(1) %tmp6) | |
%tmp31 = bitcast { i64, { i64, i64 } }* %tmp5 to i64* | |
%tmp32 = load i64, i64* %tmp31, align 8 | |
%tmp33 = getelementptr inbounds { i64, { i64, i64 } }, { i64, { i64, i64 } }* %tmp5, i32 0, i32 1 | |
%tmp34 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %tmp33, i32 0, i32 0 | |
%tmp35 = load i64, i64* %tmp34, align 8, !range !4 | |
%tmp36 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %tmp33, i32 0, i32 1 | |
%tmp37 = load i64, i64* %tmp36, align 8 | |
call void @llvm.lifetime.end.p0i8(i64 24, i8* %tmp29) | |
%tmp39 = bitcast { i64, { i64, i64 } }* %tmp4 to i8* | |
call void @llvm.lifetime.start.p0i8(i64 24, i8* %tmp39) | |
call void @snork.534({ i64, { i64, i64 } }* noalias nocapture sret({ i64, { i64, i64 } }) dereferenceable(24) %tmp4, i8* noalias readonly align 1 dereferenceable(1) %tmp19) | |
%tmp41 = bitcast { i64, { i64, i64 } }* %tmp4 to i64* | |
%tmp42 = load i64, i64* %tmp41, align 8 | |
%tmp43 = getelementptr inbounds { i64, { i64, i64 } }, { i64, { i64, i64 } }* %tmp4, i32 0, i32 1 | |
%tmp44 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %tmp43, i32 0, i32 0 | |
%tmp45 = load i64, i64* %tmp44, align 8, !range !4 | |
%tmp46 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %tmp43, i32 0, i32 1 | |
%tmp47 = load i64, i64* %tmp46, align 8 | |
call void @llvm.lifetime.end.p0i8(i64 24, i8* %tmp39) | |
%tmp49 = call i64 @spam.29(i64 %tmp32, i64 %tmp42) | |
%tmp62 = icmp eq i64 %tmp35, 1 | |
%tmp67 = icmp eq i64 %tmp45, 1 | |
%or.cond = select i1 %tmp62, i1 %tmp67, i1 false | |
br i1 %or.cond, label %bb70, label %bb68 | |
bb68: ; preds = %bb26 | |
br label %bb80 | |
bb70: ; preds = %bb26 | |
%tmp79 = call { i64, i64 } @wobble.28(i64 %tmp37, i64 %tmp47) | |
%tmp79.fca.0.extract = extractvalue { i64, i64 } %tmp79, 0 | |
%tmp79.fca.1.extract = extractvalue { i64, i64 } %tmp79, 1 | |
br label %bb80 | |
bb80: ; preds = %bb70, %bb68 | |
%tmp3.sroa.5.0 = phi i64 [ %tmp79.fca.1.extract, %bb70 ], [ undef, %bb68 ] | |
%tmp3.sroa.0.0 = phi i64 [ %tmp79.fca.0.extract, %bb70 ], [ 0, %bb68 ] | |
%tmp86 = bitcast { i64, { i64, i64 } }* %arg to i64* | |
store i64 %tmp49, i64* %tmp86, align 8 | |
%tmp87 = getelementptr inbounds { i64, { i64, i64 } }, { i64, { i64, i64 } }* %arg, i32 0, i32 1 | |
%tmp88 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %tmp87, i32 0, i32 0 | |
store i64 %tmp3.sroa.0.0, i64* %tmp88, align 8 | |
%tmp89 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %tmp87, i32 0, i32 1 | |
store i64 %tmp3.sroa.5.0, i64* %tmp89, align 8 | |
br label %bb92 | |
bb92: ; preds = %bb108, %bb94, %bb24, %bb80 | |
ret void | |
bb94: ; preds = %bb12 | |
%tmp99 = bitcast { i64, { i64, i64 } }* %arg to i64* | |
store i64 0, i64* %tmp99, align 8 | |
%tmp100 = getelementptr inbounds { i64, { i64, i64 } }, { i64, { i64, i64 } }* %arg, i32 0, i32 1 | |
%tmp105 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %tmp100, i32 0, i32 0 | |
store i64 1, i64* %tmp105, align 8 | |
%tmp106 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %tmp100, i32 0, i32 1 | |
store i64 0, i64* %tmp106, align 8 | |
br label %bb92 | |
bb108: ; preds = %bb12 | |
call void @snork.534({ i64, { i64, i64 } }* noalias nocapture sret({ i64, { i64, i64 } }) dereferenceable(24) %arg, i8* noalias readonly align 1 dereferenceable(1) %tmp13) | |
br label %bb92 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal void @wobble.17({ i64, { i64, i64 } }* noalias nocapture sret({ i64, { i64, i64 } }) dereferenceable(24) %arg, %struct.widget* noalias readonly align 1 dereferenceable(5) %arg1) unnamed_addr #0 { | |
bb: | |
%tmp4 = alloca { i64, { i64, i64 } }, align 8 | |
%tmp5 = alloca { i64, { i64, i64 } }, align 8 | |
%tmp6 = bitcast %struct.widget* %arg1 to %struct.baz* | |
%tmp7 = getelementptr inbounds %struct.baz, %struct.baz* %tmp6, i32 0, i32 1 | |
%tmp8 = load i8, i8* %tmp7, align 1, !range !2 | |
%tmp9 = sub i8 %tmp8, 9 | |
%tmp10 = icmp eq i8 %tmp9, 0 | |
br i1 %tmp10, label %bb13, label %bb19 | |
bb13: ; preds = %bb | |
%tmp14 = getelementptr inbounds %struct.widget, %struct.widget* %arg1, i32 0, i32 1 | |
%tmp15 = load i8, i8* %tmp14, align 1, !range !3 | |
%tmp16 = sub i8 %tmp15, 8 | |
%tmp17 = icmp eq i8 %tmp16, 0 | |
br i1 %tmp17, label %bb99, label %bb113 | |
bb19: ; preds = %bb | |
%tmp20 = getelementptr inbounds %struct.widget, %struct.widget* %arg1, i32 0, i32 1 | |
%tmp21 = load i8, i8* %tmp20, align 1, !range !3 | |
%tmp22 = sub i8 %tmp21, 8 | |
%tmp23 = icmp eq i8 %tmp22, 0 | |
br i1 %tmp23, label %bb25, label %bb29 | |
bb25: ; preds = %bb19 | |
%tmp27 = bitcast %struct.baz* %tmp6 to %struct.wobble.27* | |
%tmp28 = bitcast %struct.wobble.27* %tmp27 to %struct.foo.2* | |
call void @hoge({ i64, { i64, i64 } }* noalias nocapture sret({ i64, { i64, i64 } }) dereferenceable(24) %arg, %struct.foo.2* noalias readonly align 1 dereferenceable(4) %tmp28) | |
br label %bb97 | |
bb29: ; preds = %bb19 | |
%tmp31 = bitcast %struct.baz* %tmp6 to %struct.wobble.27* | |
%tmp32 = bitcast %struct.wobble.27* %tmp31 to %struct.foo.2* | |
%tmp34 = bitcast { i64, { i64, i64 } }* %tmp5 to i8* | |
call void @llvm.lifetime.start.p0i8(i64 24, i8* %tmp34) | |
call void @hoge({ i64, { i64, i64 } }* noalias nocapture sret({ i64, { i64, i64 } }) dereferenceable(24) %tmp5, %struct.foo.2* noalias readonly align 1 dereferenceable(4) %tmp32) | |
%tmp36 = bitcast { i64, { i64, i64 } }* %tmp5 to i64* | |
%tmp37 = load i64, i64* %tmp36, align 8 | |
%tmp38 = getelementptr inbounds { i64, { i64, i64 } }, { i64, { i64, i64 } }* %tmp5, i32 0, i32 1 | |
%tmp39 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %tmp38, i32 0, i32 0 | |
%tmp40 = load i64, i64* %tmp39, align 8, !range !4 | |
%tmp41 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %tmp38, i32 0, i32 1 | |
%tmp42 = load i64, i64* %tmp41, align 8 | |
call void @llvm.lifetime.end.p0i8(i64 24, i8* %tmp34) | |
%tmp44 = bitcast { i64, { i64, i64 } }* %tmp4 to i8* | |
call void @llvm.lifetime.start.p0i8(i64 24, i8* %tmp44) | |
call void @snork.534({ i64, { i64, i64 } }* noalias nocapture sret({ i64, { i64, i64 } }) dereferenceable(24) %tmp4, i8* noalias readonly align 1 dereferenceable(1) %tmp20) | |
%tmp46 = bitcast { i64, { i64, i64 } }* %tmp4 to i64* | |
%tmp47 = load i64, i64* %tmp46, align 8 | |
%tmp48 = getelementptr inbounds { i64, { i64, i64 } }, { i64, { i64, i64 } }* %tmp4, i32 0, i32 1 | |
%tmp49 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %tmp48, i32 0, i32 0 | |
%tmp50 = load i64, i64* %tmp49, align 8, !range !4 | |
%tmp51 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %tmp48, i32 0, i32 1 | |
%tmp52 = load i64, i64* %tmp51, align 8 | |
call void @llvm.lifetime.end.p0i8(i64 24, i8* %tmp44) | |
%tmp54 = call i64 @spam.29(i64 %tmp37, i64 %tmp47) | |
%tmp67 = icmp eq i64 %tmp40, 1 | |
%tmp72 = icmp eq i64 %tmp50, 1 | |
%or.cond = select i1 %tmp67, i1 %tmp72, i1 false | |
br i1 %or.cond, label %bb75, label %bb73 | |
bb73: ; preds = %bb29 | |
br label %bb85 | |
bb75: ; preds = %bb29 | |
%tmp84 = call { i64, i64 } @wobble.28(i64 %tmp42, i64 %tmp52) | |
%tmp84.fca.0.extract = extractvalue { i64, i64 } %tmp84, 0 | |
%tmp84.fca.1.extract = extractvalue { i64, i64 } %tmp84, 1 | |
br label %bb85 | |
bb85: ; preds = %bb75, %bb73 | |
%tmp3.sroa.5.0 = phi i64 [ %tmp84.fca.1.extract, %bb75 ], [ undef, %bb73 ] | |
%tmp3.sroa.0.0 = phi i64 [ %tmp84.fca.0.extract, %bb75 ], [ 0, %bb73 ] | |
%tmp91 = bitcast { i64, { i64, i64 } }* %arg to i64* | |
store i64 %tmp54, i64* %tmp91, align 8 | |
%tmp92 = getelementptr inbounds { i64, { i64, i64 } }, { i64, { i64, i64 } }* %arg, i32 0, i32 1 | |
%tmp93 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %tmp92, i32 0, i32 0 | |
store i64 %tmp3.sroa.0.0, i64* %tmp93, align 8 | |
%tmp94 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %tmp92, i32 0, i32 1 | |
store i64 %tmp3.sroa.5.0, i64* %tmp94, align 8 | |
br label %bb97 | |
bb97: ; preds = %bb113, %bb99, %bb25, %bb85 | |
ret void | |
bb99: ; preds = %bb13 | |
%tmp104 = bitcast { i64, { i64, i64 } }* %arg to i64* | |
store i64 0, i64* %tmp104, align 8 | |
%tmp105 = getelementptr inbounds { i64, { i64, i64 } }, { i64, { i64, i64 } }* %arg, i32 0, i32 1 | |
%tmp110 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %tmp105, i32 0, i32 0 | |
store i64 1, i64* %tmp110, align 8 | |
%tmp111 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %tmp105, i32 0, i32 1 | |
store i64 0, i64* %tmp111, align 8 | |
br label %bb97 | |
bb113: ; preds = %bb13 | |
call void @snork.534({ i64, { i64, i64 } }* noalias nocapture sret({ i64, { i64, i64 } }) dereferenceable(24) %arg, i8* noalias readonly align 1 dereferenceable(1) %tmp14) | |
br label %bb97 | |
} | |
; Function Attrs: nonlazybind uwtable | |
define internal void @spam(%struct.spam.28* noalias nocapture sret(%struct.spam.28) dereferenceable(24) %arg, i8 %arg1) unnamed_addr #1 personality i32 (i32, i32, i64, %struct.snork.211*, %struct.quux.212*)* @foo.542 { | |
bb: | |
%tmp3 = alloca { i64, { i64, i64 } }, align 8 | |
%tmp4 = alloca i8, align 1 | |
store i8 %arg1, i8* %tmp4, align 1 | |
%tmp5 = bitcast { i64, { i64, i64 } }* %tmp3 to i8* | |
call void @llvm.lifetime.start.p0i8(i64 24, i8* %tmp5) | |
invoke void @wombat({ i64, { i64, i64 } }* noalias nocapture sret({ i64, { i64, i64 } }) dereferenceable(24) %tmp3, i8* noalias readonly align 1 dereferenceable(1) %tmp4) | |
to label %bb6 unwind label %bb14 | |
bb6: ; preds = %bb | |
%tmp7 = getelementptr inbounds { i64, { i64, i64 } }, { i64, { i64, i64 } }* %tmp3, i32 0, i32 1 | |
%tmp8 = bitcast { i64, i64 }* %tmp7 to i64* | |
%tmp9 = load i64, i64* %tmp8, align 8, !range !4 | |
%tmp10 = icmp eq i64 %tmp9, 1 | |
br i1 %tmp10, label %bb21, label %bb26 | |
bb14: ; preds = %bb26, %bb21, %bb | |
%tmp15 = landingpad { i8*, i32 } | |
cleanup | |
%tmp17 = extractvalue { i8*, i32 } %tmp15, 0 | |
%tmp18 = extractvalue { i8*, i32 } %tmp15, 1 | |
br label %bb40 | |
bb21: ; preds = %bb6 | |
%tmp23 = bitcast { i64, i64 }* %tmp7 to %struct.bar* | |
%tmp24 = getelementptr inbounds %struct.bar, %struct.bar* %tmp23, i32 0, i32 1 | |
%tmp25 = load i64, i64* %tmp24, align 8 | |
invoke void @foo.377(%struct.spam.28* noalias nocapture sret(%struct.spam.28) dereferenceable(24) %arg, i64 %tmp25) | |
to label %bb28 unwind label %bb14 | |
bb26: ; preds = %bb6 | |
invoke void @wibble.543([0 x i8]* noalias nonnull readonly align 1 bitcast (<{ [17 x i8] }>* @global to [0 x i8]*), i64 17, %struct.zot.29* noalias readonly align 8 dereferenceable(24) bitcast (<{ i8*, [16 x i8] }>* @global.2 to %struct.zot.29*)) #12 | |
to label %bb27 unwind label %bb14 | |
bb27: ; preds = %bb26 | |
unreachable | |
bb28: ; preds = %bb21 | |
call void @llvm.lifetime.end.p0i8(i64 24, i8* %tmp5) | |
%tmp30 = load i8, i8* %tmp4, align 1, !range !5 | |
invoke void @pluto.539(%struct.spam.28* noalias align 8 dereferenceable(24) %arg, i8 %tmp30) | |
to label %bb31 unwind label %bb33 | |
bb31: ; preds = %bb28 | |
ret void | |
bb33: ; preds = %bb28 | |
%tmp34 = landingpad { i8*, i32 } | |
cleanup | |
%tmp36 = extractvalue { i8*, i32 } %tmp34, 0 | |
%tmp37 = extractvalue { i8*, i32 } %tmp34, 1 | |
call void @wibble.130(%struct.spam.28* %arg) #13 | |
br label %bb40 | |
bb40: ; preds = %bb14, %bb33 | |
%tmp.sroa.6.0 = phi i32 [ %tmp37, %bb33 ], [ %tmp18, %bb14 ] | |
%tmp.sroa.0.0 = phi i8* [ %tmp36, %bb33 ], [ %tmp17, %bb14 ] | |
%tmp46 = insertvalue { i8*, i32 } undef, i8* %tmp.sroa.0.0, 0 | |
%tmp47 = insertvalue { i8*, i32 } %tmp46, i32 %tmp.sroa.6.0, 1 | |
resume { i8*, i32 } %tmp47 | |
} | |
; Function Attrs: nonlazybind uwtable | |
define internal void @bar(%struct.spam.28* noalias nocapture sret(%struct.spam.28) dereferenceable(24) %arg, i128 %arg1) unnamed_addr #1 personality i32 (i32, i32, i64, %struct.snork.211*, %struct.quux.212*)* @foo.542 { | |
bb: | |
%tmp4 = alloca { i64, { i64, i64 } }, align 8 | |
%tmp6 = alloca %struct.ham, align 1 | |
%tmp5.0.tmp8.sroa_cast = bitcast %struct.ham* %tmp6 to i128* | |
store i128 %arg1, i128* %tmp5.0.tmp8.sroa_cast, align 1 | |
%tmp11 = bitcast { i64, { i64, i64 } }* %tmp4 to i8* | |
call void @llvm.lifetime.start.p0i8(i64 24, i8* %tmp11) | |
invoke void @quux({ i64, { i64, i64 } }* noalias nocapture sret({ i64, { i64, i64 } }) dereferenceable(24) %tmp4, %struct.ham* noalias readonly align 1 dereferenceable(16) %tmp6) | |
to label %bb12 unwind label %bb20 | |
bb12: ; preds = %bb | |
%tmp13 = getelementptr inbounds { i64, { i64, i64 } }, { i64, { i64, i64 } }* %tmp4, i32 0, i32 1 | |
%tmp14 = bitcast { i64, i64 }* %tmp13 to i64* | |
%tmp15 = load i64, i64* %tmp14, align 8, !range !4 | |
%tmp16 = icmp eq i64 %tmp15, 1 | |
br i1 %tmp16, label %bb27, label %bb32 | |
bb20: ; preds = %bb32, %bb27, %bb | |
%tmp21 = landingpad { i8*, i32 } | |
cleanup | |
%tmp23 = extractvalue { i8*, i32 } %tmp21, 0 | |
%tmp24 = extractvalue { i8*, i32 } %tmp21, 1 | |
br label %bb51 | |
bb27: ; preds = %bb12 | |
%tmp29 = bitcast { i64, i64 }* %tmp13 to %struct.bar* | |
%tmp30 = getelementptr inbounds %struct.bar, %struct.bar* %tmp29, i32 0, i32 1 | |
%tmp31 = load i64, i64* %tmp30, align 8 | |
invoke void @foo.377(%struct.spam.28* noalias nocapture sret(%struct.spam.28) dereferenceable(24) %arg, i64 %tmp31) | |
to label %bb34 unwind label %bb20 | |
bb32: ; preds = %bb12 | |
invoke void @wibble.543([0 x i8]* noalias nonnull readonly align 1 bitcast (<{ [17 x i8] }>* @global to [0 x i8]*), i64 17, %struct.zot.29* noalias readonly align 8 dereferenceable(24) bitcast (<{ i8*, [16 x i8] }>* @global.2 to %struct.zot.29*)) #12 | |
to label %bb33 unwind label %bb20 | |
bb33: ; preds = %bb32 | |
unreachable | |
bb34: ; preds = %bb27 | |
call void @llvm.lifetime.end.p0i8(i64 24, i8* %tmp11) | |
%tmp3.sroa.0.0.copyload = load i128, i128* %tmp5.0.tmp8.sroa_cast, align 1 | |
invoke void @snork.538(%struct.spam.28* noalias align 8 dereferenceable(24) %arg, i128 %tmp3.sroa.0.0.copyload) | |
to label %bb41 unwind label %bb44 | |
bb41: ; preds = %bb34 | |
ret void | |
bb44: ; preds = %bb34 | |
%tmp45 = landingpad { i8*, i32 } | |
cleanup | |
%tmp47 = extractvalue { i8*, i32 } %tmp45, 0 | |
%tmp48 = extractvalue { i8*, i32 } %tmp45, 1 | |
call void @wibble.130(%struct.spam.28* %arg) #13 | |
br label %bb51 | |
bb51: ; preds = %bb20, %bb44 | |
%tmp.sroa.0.0 = phi i8* [ %tmp47, %bb44 ], [ %tmp23, %bb20 ] | |
%tmp.sroa.6.0 = phi i32 [ %tmp48, %bb44 ], [ %tmp24, %bb20 ] | |
%tmp57 = insertvalue { i8*, i32 } undef, i8* %tmp.sroa.0.0, 0 | |
%tmp58 = insertvalue { i8*, i32 } %tmp57, i32 %tmp.sroa.6.0, 1 | |
resume { i8*, i32 } %tmp58 | |
} | |
; Function Attrs: nonlazybind uwtable | |
define internal void @pluto(%struct.bar.30* noalias align 8 dereferenceable(24) %arg, i8* nonnull %arg1, i8* %arg2) unnamed_addr #1 { | |
bb: | |
%tmp = alloca { i8*, i8* }, align 8 | |
%tmp3 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %tmp, i32 0, i32 0 | |
store i8* %arg1, i8** %tmp3, align 8 | |
%tmp4 = getelementptr inbounds { i8*, i8* }, { i8*, i8* }* %tmp, i32 0, i32 1 | |
store i8* %arg2, i8** %tmp4, align 8 | |
%tmp5 = call { [0 x i8]*, i64 } @barney.544({ i8*, i8* }* noalias readonly align 8 dereferenceable(16) %tmp) | |
%tmp6 = extractvalue { [0 x i8]*, i64 } %tmp5, 0 | |
%tmp7 = extractvalue { [0 x i8]*, i64 } %tmp5, 1 | |
call void @baz.418(%struct.bar.30* noalias align 8 dereferenceable(24) %arg, [0 x i8]* %tmp6, i64 %tmp7) | |
ret void | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal void @baz.18(i8* %arg, i8* %arg1, i64 %arg2) unnamed_addr #0 { | |
bb: | |
call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 %arg1, i8* align 1 %arg, i64 %arg2, i1 false) | |
ret void | |
} | |
; Function Attrs: alwaysinline nonlazybind uwtable | |
define internal %struct.quux.31* @barney(%struct.widget.32* noalias nonnull align 1 %arg) unnamed_addr #2 { | |
bb: | |
%tmp = bitcast %struct.widget.32* %arg to %struct.quux.31* | |
ret %struct.quux.31* %tmp | |
} | |
; Function Attrs: alwaysinline nonlazybind uwtable | |
define internal { i8*, i64 }* @spam.19({ i8*, i64 }* noalias align 8 dereferenceable(16) %arg) unnamed_addr #2 { | |
bb: | |
ret { i8*, i64 }* %arg | |
} | |
; Function Attrs: alwaysinline nonlazybind uwtable | |
define internal { i8*, i64 } @zot(i8* %arg, i64 %arg1, %struct.zot.29* noalias readonly align 8 dereferenceable(24) %arg2) unnamed_addr #2 { | |
bb: | |
%tmp = call { i8*, i64 } @baz.24(i8* nonnull %arg, i64 %arg1) | |
%tmp4 = extractvalue { i8*, i64 } %tmp, 0 | |
%tmp5 = extractvalue { i8*, i64 } %tmp, 1 | |
ret { i8*, i64 } %tmp | |
} | |
; Function Attrs: alwaysinline nonlazybind uwtable | |
define internal void @snork.20(%struct.zot.29* noalias readonly align 8 dereferenceable(24) %arg) unnamed_addr #2 { | |
bb: | |
call void @zot.23() | |
ret void | |
} | |
; Function Attrs: alwaysinline nonlazybind uwtable | |
define internal { i8*, i64 } @spam.21() unnamed_addr #2 { | |
bb: | |
ret { i8*, i64 } undef | |
} | |
; Function Attrs: alwaysinline nonlazybind uwtable | |
define internal void @quux.22() unnamed_addr #2 { | |
bb: | |
%tmp = alloca %struct.widget.32, align 1 | |
ret void | |
} | |
; Function Attrs: alwaysinline nonlazybind uwtable | |
define internal void @zot.23() unnamed_addr #2 { | |
bb: | |
ret void | |
} | |
; Function Attrs: alwaysinline nonlazybind uwtable | |
define internal { i8*, i64 } @baz.24(i8* nonnull %arg, i64 %arg1) unnamed_addr #2 { | |
bb: | |
%tmp = insertvalue { i8*, i64 } undef, i8* %arg, 0 | |
%tmp2 = insertvalue { i8*, i64 } %tmp, i64 %arg1, 1 | |
ret { i8*, i64 } %tmp2 | |
} | |
; Function Attrs: alwaysinline nonlazybind uwtable | |
define internal void @wobble.25(%struct.wibble* noalias nocapture sret(%struct.wibble) dereferenceable(24) %arg, %struct.spam.28* noalias nocapture dereferenceable(24) %arg1) unnamed_addr #2 { | |
bb: | |
%tmp = alloca %struct.spam.28, align 8 | |
%tmp.0.tmp2.sroa_cast = bitcast %struct.spam.28* %tmp to i8* | |
call void @llvm.lifetime.start.p0i8(i64 24, i8* %tmp.0.tmp2.sroa_cast) | |
%tmp4 = bitcast %struct.spam.28* %arg1 to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 8 %tmp.0.tmp2.sroa_cast, i8* align 8 %tmp4, i64 24, i1 false) | |
%tmp5 = bitcast %struct.wibble* %arg to %struct.spam.28* | |
%tmp6 = bitcast %struct.spam.28* %tmp5 to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 8 %tmp6, i8* align 8 %tmp.0.tmp2.sroa_cast, i64 24, i1 false) | |
call void @llvm.lifetime.end.p0i8(i64 24, i8* %tmp.0.tmp2.sroa_cast) | |
ret void | |
} | |
; Function Attrs: alwaysinline nonlazybind uwtable | |
define internal { i8*, i64 } @pluto.26([0 x i8]* noalias nonnull align 1 %arg, i64 %arg1) unnamed_addr #2 { | |
bb: | |
%0 = bitcast [0 x i8]* %arg to i8* | |
%tmp9 = insertvalue { i8*, i64 } undef, i8* %0, 0 | |
%tmp10 = insertvalue { i8*, i64 } %tmp9, i64 %arg1, 1 | |
ret { i8*, i64 } %tmp10 | |
} | |
; Function Attrs: alwaysinline nonlazybind uwtable | |
define internal i64 @blam.27() unnamed_addr #2 { | |
bb: | |
ret i64 1 | |
} | |
; Function Attrs: alwaysinline nonlazybind uwtable | |
define internal i64 @foo() unnamed_addr #2 { | |
bb: | |
ret i64 1 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal { i64, i64 } @wobble.28(i64 %arg, i64 %arg1) unnamed_addr #0 { | |
bb: | |
%tmp3 = call { i64, i8 } @baz.30(i64 %arg, i64 %arg1) | |
%tmp4 = extractvalue { i64, i8 } %tmp3, 0 | |
%tmp5 = extractvalue { i64, i8 } %tmp3, 1 | |
%tmp6 = trunc i8 %tmp5 to i1 | |
%tmp9 = zext i1 %tmp6 to i8 | |
br i1 %tmp6, label %bb17, label %bb13 | |
bb13: ; preds = %bb | |
br label %bb19 | |
bb17: ; preds = %bb | |
br label %bb19 | |
bb19: ; preds = %bb17, %bb13 | |
%tmp2.sroa.0.0 = phi i64 [ 0, %bb17 ], [ 1, %bb13 ] | |
%tmp24 = insertvalue { i64, i64 } undef, i64 %tmp2.sroa.0.0, 0 | |
%tmp25 = insertvalue { i64, i64 } %tmp24, i64 %tmp4, 1 | |
ret { i64, i64 } %tmp25 | |
} | |
; Function Attrs: alwaysinline nonlazybind uwtable | |
define internal i64 @spam.29(i64 %arg, i64 %arg1) unnamed_addr #2 { | |
bb: | |
%tmp3 = call i64 @llvm.uadd.sat.i64(i64 %arg, i64 %arg1) | |
ret i64 %tmp3 | |
} | |
; Function Attrs: alwaysinline nonlazybind uwtable | |
define internal { i64, i8 } @baz.30(i64 %arg, i64 %arg1) unnamed_addr #2 { | |
bb: | |
%tmp4 = call { i64, i1 } @llvm.uadd.with.overflow.i64(i64 %arg, i64 %arg1) | |
%tmp5 = extractvalue { i64, i1 } %tmp4, 0 | |
%tmp6 = extractvalue { i64, i1 } %tmp4, 1 | |
%tmp7 = zext i1 %tmp6 to i8 | |
%tmp26 = insertvalue { i64, i8 } undef, i64 %tmp5, 0 | |
%tmp27 = insertvalue { i64, i8 } %tmp26, i8 %tmp7, 1 | |
ret { i64, i8 } %tmp27 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal i64 @wombat.31(i64 %arg) unnamed_addr #0 { | |
bb: | |
ret i64 %arg | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal i64 @wobble.32(i64 %arg) unnamed_addr #0 { | |
bb: | |
ret i64 %arg | |
} | |
; Function Attrs: nonlazybind uwtable | |
define internal void @spam.33({ i64*, i64 }* %arg) unnamed_addr #1 { | |
bb: | |
call void @snork.545({ i64*, i64 }* noalias align 8 dereferenceable(16) %arg) | |
ret void | |
} | |
; Function Attrs: nonlazybind uwtable | |
define internal void @wibble.34([0 x %struct.eggs]* %arg, i64 %arg1) unnamed_addr #1 personality i32 (i32, i32, i64, %struct.snork.211*, %struct.quux.212*)* @foo.542 { | |
bb: | |
%tmp6 = bitcast [0 x %struct.eggs]* %arg to %struct.eggs* | |
%tmp8 = getelementptr inbounds %struct.eggs, %struct.eggs* %tmp6, i64 %arg1 | |
br label %bb9 | |
bb9: ; preds = %bb12, %bb | |
%tmp2.0 = phi %struct.eggs* [ %tmp6, %bb ], [ %tmp15, %bb12 ] | |
%tmp11 = icmp eq %struct.eggs* %tmp2.0, %tmp8 | |
br i1 %tmp11, label %bb16, label %bb12 | |
bb12: ; preds = %bb9 | |
%tmp15 = getelementptr inbounds %struct.eggs, %struct.eggs* %tmp2.0, i64 1 | |
invoke void @eggs.344(%struct.eggs* %tmp2.0) | |
to label %bb9 unwind label %bb20 | |
bb16: ; preds = %bb9 | |
ret void | |
bb17: ; preds = %bb27, %bb20 | |
%tmp2.1 = phi %struct.eggs* [ %tmp15, %bb20 ], [ %tmp30, %bb27 ] | |
%tmp19 = icmp eq %struct.eggs* %tmp2.1, %tmp8 | |
br i1 %tmp19, label %bb31, label %bb27 | |
bb20: ; preds = %bb12 | |
%tmp21 = landingpad { i8*, i32 } | |
cleanup | |
%tmp23 = extractvalue { i8*, i32 } %tmp21, 0 | |
%tmp24 = extractvalue { i8*, i32 } %tmp21, 1 | |
br label %bb17 | |
bb27: ; preds = %bb17 | |
%tmp30 = getelementptr inbounds %struct.eggs, %struct.eggs* %tmp2.1, i64 1 | |
call void @eggs.344(%struct.eggs* %tmp2.1) #13 | |
br label %bb17 | |
bb31: ; preds = %bb17 | |
resume { i8*, i32 } %tmp21 | |
} | |
; Function Attrs: nonlazybind uwtable | |
define internal void @blam.35(%struct.wombat.33* %arg) unnamed_addr #1 { | |
bb: | |
%tmp = bitcast %struct.wombat.33* %arg to %struct.hoge.34* | |
call void @baz.41(%struct.hoge.34* %tmp) | |
ret void | |
} | |
; Function Attrs: nonlazybind uwtable | |
define internal void @foo.36(%struct.wibble.40* %arg) unnamed_addr #1 { | |
bb: | |
%tmp = bitcast %struct.wibble.40* %arg to %struct.barney.41* | |
call void @eggs(%struct.barney.41* %tmp) | |
ret void | |
} | |
; Function Attrs: nonlazybind uwtable | |
define internal void @bar.37([0 x %struct.blam.43]* %arg, i64 %arg1) unnamed_addr #1 personality i32 (i32, i32, i64, %struct.snork.211*, %struct.quux.212*)* @foo.542 { | |
bb: | |
%tmp6 = bitcast [0 x %struct.blam.43]* %arg to %struct.blam.43* | |
%tmp8 = getelementptr inbounds %struct.blam.43, %struct.blam.43* %tmp6, i64 %arg1 | |
br label %bb9 | |
bb9: ; preds = %bb12, %bb | |
%tmp2.0 = phi %struct.blam.43* [ %tmp6, %bb ], [ %tmp15, %bb12 ] | |
%tmp11 = icmp eq %struct.blam.43* %tmp2.0, %tmp8 | |
br i1 %tmp11, label %bb16, label %bb12 | |
bb12: ; preds = %bb9 | |
%tmp15 = getelementptr inbounds %struct.blam.43, %struct.blam.43* %tmp2.0, i64 1 | |
invoke void @quux.348(%struct.blam.43* %tmp2.0) | |
to label %bb9 unwind label %bb20 | |
bb16: ; preds = %bb9 | |
ret void | |
bb17: ; preds = %bb27, %bb20 | |
%tmp2.1 = phi %struct.blam.43* [ %tmp15, %bb20 ], [ %tmp30, %bb27 ] | |
%tmp19 = icmp eq %struct.blam.43* %tmp2.1, %tmp8 | |
br i1 %tmp19, label %bb31, label %bb27 | |
bb20: ; preds = %bb12 | |
%tmp21 = landingpad { i8*, i32 } | |
cleanup | |
%tmp23 = extractvalue { i8*, i32 } %tmp21, 0 | |
%tmp24 = extractvalue { i8*, i32 } %tmp21, 1 | |
br label %bb17 | |
bb27: ; preds = %bb17 | |
%tmp30 = getelementptr inbounds %struct.blam.43, %struct.blam.43* %tmp2.1, i64 1 | |
call void @quux.348(%struct.blam.43* %tmp2.1) #13 | |
br label %bb17 | |
bb31: ; preds = %bb17 | |
resume { i8*, i32 } %tmp21 | |
} | |
; Function Attrs: nonlazybind uwtable | |
define internal void @foo.38([0 x %struct.snork.46]* %arg, i64 %arg1) unnamed_addr #1 personality i32 (i32, i32, i64, %struct.snork.211*, %struct.quux.212*)* @foo.542 { | |
bb: | |
%tmp6 = bitcast [0 x %struct.snork.46]* %arg to %struct.snork.46* | |
%tmp8 = getelementptr inbounds %struct.snork.46, %struct.snork.46* %tmp6, i64 %arg1 | |
br label %bb9 | |
bb9: ; preds = %bb12, %bb | |
%tmp2.0 = phi %struct.snork.46* [ %tmp6, %bb ], [ %tmp15, %bb12 ] | |
%tmp11 = icmp eq %struct.snork.46* %tmp2.0, %tmp8 | |
br i1 %tmp11, label %bb16, label %bb12 | |
bb12: ; preds = %bb9 | |
%tmp15 = getelementptr inbounds %struct.snork.46, %struct.snork.46* %tmp2.0, i64 1 | |
invoke void @quux.350(%struct.snork.46* %tmp2.0) | |
to label %bb9 unwind label %bb20 | |
bb16: ; preds = %bb9 | |
ret void | |
bb17: ; preds = %bb27, %bb20 | |
%tmp2.1 = phi %struct.snork.46* [ %tmp15, %bb20 ], [ %tmp30, %bb27 ] | |
%tmp19 = icmp eq %struct.snork.46* %tmp2.1, %tmp8 | |
br i1 %tmp19, label %bb31, label %bb27 | |
bb20: ; preds = %bb12 | |
%tmp21 = landingpad { i8*, i32 } | |
cleanup | |
%tmp23 = extractvalue { i8*, i32 } %tmp21, 0 | |
%tmp24 = extractvalue { i8*, i32 } %tmp21, 1 | |
br label %bb17 | |
bb27: ; preds = %bb17 | |
%tmp30 = getelementptr inbounds %struct.snork.46, %struct.snork.46* %tmp2.1, i64 1 | |
call void @quux.350(%struct.snork.46* %tmp2.1) #13 | |
br label %bb17 | |
bb31: ; preds = %bb17 | |
resume { i8*, i32 } %tmp21 | |
} | |
; Function Attrs: nonlazybind uwtable | |
define internal void @hoge.39([0 x %struct.snork.47]* %arg, i64 %arg1) unnamed_addr #1 personality i32 (i32, i32, i64, %struct.snork.211*, %struct.quux.212*)* @foo.542 { | |
bb: | |
%tmp6 = bitcast [0 x %struct.snork.47]* %arg to %struct.snork.47* | |
%tmp8 = getelementptr inbounds %struct.snork.47, %struct.snork.47* %tmp6, i64 %arg1 | |
br label %bb9 | |
bb9: ; preds = %bb12, %bb | |
%tmp2.0 = phi %struct.snork.47* [ %tmp6, %bb ], [ %tmp15, %bb12 ] | |
%tmp11 = icmp eq %struct.snork.47* %tmp2.0, %tmp8 | |
br i1 %tmp11, label %bb16, label %bb12 | |
bb12: ; preds = %bb9 | |
%tmp15 = getelementptr inbounds %struct.snork.47, %struct.snork.47* %tmp2.0, i64 1 | |
invoke void @wibble.351(%struct.snork.47* %tmp2.0) | |
to label %bb9 unwind label %bb20 | |
bb16: ; preds = %bb9 | |
ret void | |
bb17: ; preds = %bb27, %bb20 | |
%tmp2.1 = phi %struct.snork.47* [ %tmp15, %bb20 ], [ %tmp30, %bb27 ] | |
%tmp19 = icmp eq %struct.snork.47* %tmp2.1, %tmp8 | |
br i1 %tmp19, label %bb31, label %bb27 | |
bb20: ; preds = %bb12 | |
%tmp21 = landingpad { i8*, i32 } | |
cleanup | |
%tmp23 = extractvalue { i8*, i32 } %tmp21, 0 | |
%tmp24 = extractvalue { i8*, i32 } %tmp21, 1 | |
br label %bb17 | |
bb27: ; preds = %bb17 | |
%tmp30 = getelementptr inbounds %struct.snork.47, %struct.snork.47* %tmp2.1, i64 1 | |
call void @wibble.351(%struct.snork.47* %tmp2.1) #13 | |
br label %bb17 | |
bb31: ; preds = %bb17 | |
resume { i8*, i32 } %tmp21 | |
} | |
; Function Attrs: nonlazybind uwtable | |
define internal void @quux.40(%struct.ham.49* %arg) unnamed_addr #1 { | |
bb: | |
%tmp = bitcast %struct.ham.49* %arg to {}** | |
%tmp1 = load {}*, {}** %tmp, align 8 | |
%tmp2 = icmp eq {}* %tmp1, null | |
%tmp3 = select i1 %tmp2, i64 0, i64 1 | |
br i1 %tmp2, label %bb5, label %bb6 | |
bb5: ; preds = %bb6, %bb | |
ret void | |
bb6: ; preds = %bb | |
%tmp7 = bitcast %struct.ham.49* %arg to %struct.quux.50* | |
%tmp8 = bitcast %struct.quux.50* %tmp7 to %struct.baz.51* | |
call void @wibble.197(%struct.baz.51* %tmp8) | |
br label %bb5 | |
} | |
; Function Attrs: nonlazybind uwtable | |
define internal void @baz.41(%struct.hoge.34* %arg) unnamed_addr #1 personality i32 (i32, i32, i64, %struct.snork.211*, %struct.quux.212*)* @foo.542 { | |
bb: | |
%tmp1 = bitcast %struct.hoge.34* %arg to %struct.blam.35* | |
invoke void @zot.125(%struct.blam.35* %tmp1) | |
to label %bb2 unwind label %bb6 | |
bb2: ; preds = %bb | |
%tmp3 = getelementptr inbounds %struct.hoge.34, %struct.hoge.34* %arg, i32 0, i32 1 | |
call void @widget.42(%struct.hoge.39* %tmp3) | |
ret void | |
bb6: ; preds = %bb | |
%tmp7 = landingpad { i8*, i32 } | |
cleanup | |
%tmp9 = extractvalue { i8*, i32 } %tmp7, 0 | |
%tmp10 = extractvalue { i8*, i32 } %tmp7, 1 | |
%tmp5 = getelementptr inbounds %struct.hoge.34, %struct.hoge.34* %arg, i32 0, i32 1 | |
call void @widget.42(%struct.hoge.39* %tmp5) #13 | |
resume { i8*, i32 } %tmp7 | |
} | |
; Function Attrs: nonlazybind uwtable | |
define internal void @eggs(%struct.barney.41* %arg) unnamed_addr #1 personality i32 (i32, i32, i64, %struct.snork.211*, %struct.quux.212*)* @foo.542 { | |
bb: | |
%tmp1 = bitcast %struct.barney.41* %arg to %struct.blam.35* | |
invoke void @zot.125(%struct.blam.35* %tmp1) | |
to label %bb2 unwind label %bb6 | |
bb2: ; preds = %bb | |
%tmp3 = getelementptr inbounds %struct.barney.41, %struct.barney.41* %arg, i32 0, i32 1 | |
call void @widget.43(%struct.zot.42* %tmp3) | |
ret void | |
bb6: ; preds = %bb | |
%tmp7 = landingpad { i8*, i32 } | |
cleanup | |
%tmp9 = extractvalue { i8*, i32 } %tmp7, 0 | |
%tmp10 = extractvalue { i8*, i32 } %tmp7, 1 | |
%tmp5 = getelementptr inbounds %struct.barney.41, %struct.barney.41* %arg, i32 0, i32 1 | |
call void @widget.43(%struct.zot.42* %tmp5) #13 | |
resume { i8*, i32 } %tmp7 | |
} | |
; Function Attrs: nonlazybind uwtable | |
define internal void @widget.42(%struct.hoge.39* %arg) unnamed_addr #1 personality i32 (i32, i32, i64, %struct.snork.211*, %struct.quux.212*)* @foo.542 { | |
bb: | |
invoke void @barney.507(%struct.hoge.39* noalias align 8 dereferenceable(24) %arg) | |
to label %bb1 unwind label %bb5 | |
bb1: ; preds = %bb | |
%tmp2 = bitcast %struct.hoge.39* %arg to { i64*, i64 }* | |
call void @spam.45({ i64*, i64 }* %tmp2) | |
ret void | |
bb5: ; preds = %bb | |
%tmp6 = landingpad { i8*, i32 } | |
cleanup | |
%tmp8 = extractvalue { i8*, i32 } %tmp6, 0 | |
%tmp9 = extractvalue { i8*, i32 } %tmp6, 1 | |
%tmp4 = bitcast %struct.hoge.39* %arg to { i64*, i64 }* | |
call void @spam.45({ i64*, i64 }* %tmp4) #13 | |
resume { i8*, i32 } %tmp6 | |
} | |
; Function Attrs: nonlazybind uwtable | |
define internal void @widget.43(%struct.zot.42* %arg) unnamed_addr #1 personality i32 (i32, i32, i64, %struct.snork.211*, %struct.quux.212*)* @foo.542 { | |
bb: | |
invoke void @pluto.501(%struct.zot.42* noalias align 8 dereferenceable(24) %arg) | |
to label %bb1 unwind label %bb5 | |
bb1: ; preds = %bb | |
%tmp2 = bitcast %struct.zot.42* %arg to { i64*, i64 }* | |
call void @pluto.46({ i64*, i64 }* %tmp2) | |
ret void | |
bb5: ; preds = %bb | |
%tmp6 = landingpad { i8*, i32 } | |
cleanup | |
%tmp8 = extractvalue { i8*, i32 } %tmp6, 0 | |
%tmp9 = extractvalue { i8*, i32 } %tmp6, 1 | |
%tmp4 = bitcast %struct.zot.42* %arg to { i64*, i64 }* | |
call void @pluto.46({ i64*, i64 }* %tmp4) #13 | |
resume { i8*, i32 } %tmp6 | |
} | |
; Function Attrs: nonlazybind uwtable | |
define internal void @spam.44({ [0 x i8]*, i64 }* %arg) unnamed_addr #1 personality i32 (i32, i32, i64, %struct.snork.211*, %struct.quux.212*)* @foo.542 { | |
bb: | |
%tmp2 = bitcast { [0 x i8]*, i64 }* %arg to { i8*, i64 }* | |
%tmp3 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %tmp2, i32 0, i32 0 | |
%tmp4 = load i8*, i8** %tmp3, align 8, !nonnull !6 | |
%tmp5 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %tmp2, i32 0, i32 1 | |
%tmp6 = load i64, i64* %tmp5, align 8 | |
call void @foo.437(i8* nonnull %tmp4, i64 %tmp6) | |
ret void | |
} | |
; Function Attrs: nonlazybind uwtable | |
define internal void @spam.45({ i64*, i64 }* %arg) unnamed_addr #1 { | |
bb: | |
call void @ham.546({ i64*, i64 }* noalias align 8 dereferenceable(16) %arg) | |
ret void | |
} | |
; Function Attrs: nonlazybind uwtable | |
define internal void @pluto.46({ i64*, i64 }* %arg) unnamed_addr #1 { | |
bb: | |
call void @widget.547({ i64*, i64 }* noalias align 8 dereferenceable(16) %arg) | |
ret void | |
} | |
; Function Attrs: nonlazybind uwtable | |
define internal void @wombat.47(i64** %arg) unnamed_addr #1 { | |
bb: | |
call void @foo.491(i64** noalias align 8 dereferenceable(8) %arg) | |
ret void | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal { [0 x i8]*, i64 } @foo.48(i8* %arg, i64 %arg1) unnamed_addr #0 { | |
bb: | |
%tmp = call {}* @hoge.358(i8* %arg) | |
%tmp3 = call { [0 x i8]*, i64 } @ham.292({}* %tmp, i64 %arg1) | |
%tmp4 = extractvalue { [0 x i8]*, i64 } %tmp3, 0 | |
%tmp5 = extractvalue { [0 x i8]*, i64 } %tmp3, 1 | |
ret { [0 x i8]*, i64 } %tmp3 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal { [0 x { i64*, i64 }]*, i64 } @snork.49({ i64*, i64 }* %arg, i64 %arg1) unnamed_addr #0 { | |
bb: | |
%tmp = call {}* @quux.357({ i64*, i64 }* %arg) | |
%tmp3 = call { [0 x { i64*, i64 }]*, i64 } @baz.291({}* %tmp, i64 %arg1) | |
%tmp4 = extractvalue { [0 x { i64*, i64 }]*, i64 } %tmp3, 0 | |
%tmp5 = extractvalue { [0 x { i64*, i64 }]*, i64 } %tmp3, 1 | |
ret { [0 x { i64*, i64 }]*, i64 } %tmp3 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal { [0 x i8]*, i64 } @bar.50(i8* %arg, i64 %arg1) unnamed_addr #0 { | |
bb: | |
%tmp = call {}* @quux.228(i8* %arg) | |
%tmp3 = call { [0 x i8]*, i64 } @quux.316({}* %tmp, i64 %arg1) | |
%tmp4 = extractvalue { [0 x i8]*, i64 } %tmp3, 0 | |
%tmp5 = extractvalue { [0 x i8]*, i64 } %tmp3, 1 | |
ret { [0 x i8]*, i64 } %tmp3 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal { [0 x %struct.snork.46]*, i64 } @ham(%struct.snork.46* %arg, i64 %arg1) unnamed_addr #0 { | |
bb: | |
%tmp = call {}* @ham.233(%struct.snork.46* %arg) | |
%tmp3 = call { [0 x %struct.snork.46]*, i64 } @quux.330({}* %tmp, i64 %arg1) | |
%tmp4 = extractvalue { [0 x %struct.snork.46]*, i64 } %tmp3, 0 | |
%tmp5 = extractvalue { [0 x %struct.snork.46]*, i64 } %tmp3, 1 | |
ret { [0 x %struct.snork.46]*, i64 } %tmp3 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal { [0 x i64*]*, i64 } @snork.51(i64** %arg, i64 %arg1) unnamed_addr #0 { | |
bb: | |
%tmp = call {}* @wobble.211(i64** %arg) | |
%tmp3 = call { [0 x i64*]*, i64 } @wombat.314({}* %tmp, i64 %arg1) | |
%tmp4 = extractvalue { [0 x i64*]*, i64 } %tmp3, 0 | |
%tmp5 = extractvalue { [0 x i64*]*, i64 } %tmp3, 1 | |
ret { [0 x i64*]*, i64 } %tmp3 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal { [0 x %struct.snork.52]*, i64 } @ham.52(%struct.snork.52* %arg, i64 %arg1) unnamed_addr #0 { | |
bb: | |
%tmp = call {}* @bar.235(%struct.snork.52* %arg) | |
%tmp3 = call { [0 x %struct.snork.52]*, i64 } @ham.322({}* %tmp, i64 %arg1) | |
%tmp4 = extractvalue { [0 x %struct.snork.52]*, i64 } %tmp3, 0 | |
%tmp5 = extractvalue { [0 x %struct.snork.52]*, i64 } %tmp3, 1 | |
ret { [0 x %struct.snork.52]*, i64 } %tmp3 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal { [0 x %struct.blam.43]*, i64 } @snork.53(%struct.blam.43* %arg, i64 %arg1) unnamed_addr #0 { | |
bb: | |
%tmp = call {}* @bar.230(%struct.blam.43* %arg) | |
%tmp3 = call { [0 x %struct.blam.43]*, i64 } @eggs.307({}* %tmp, i64 %arg1) | |
%tmp4 = extractvalue { [0 x %struct.blam.43]*, i64 } %tmp3, 0 | |
%tmp5 = extractvalue { [0 x %struct.blam.43]*, i64 } %tmp3, 1 | |
ret { [0 x %struct.blam.43]*, i64 } %tmp3 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal { [0 x %struct.widget.55]*, i64 } @quux.54(%struct.widget.55* %arg, i64 %arg1) unnamed_addr #0 { | |
bb: | |
%tmp = call {}* @barney.204(%struct.widget.55* %arg) | |
%tmp3 = call { [0 x %struct.widget.55]*, i64 } @pluto.295({}* %tmp, i64 %arg1) | |
%tmp4 = extractvalue { [0 x %struct.widget.55]*, i64 } %tmp3, 0 | |
%tmp5 = extractvalue { [0 x %struct.widget.55]*, i64 } %tmp3, 1 | |
ret { [0 x %struct.widget.55]*, i64 } %tmp3 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal { [0 x %struct.zot.57]*, i64 } @widget.55(%struct.zot.57* %arg, i64 %arg1) unnamed_addr #0 { | |
bb: | |
%tmp = call {}* @hoge.214(%struct.zot.57* %arg) | |
%tmp3 = call { [0 x %struct.zot.57]*, i64 } @baz.310({}* %tmp, i64 %arg1) | |
%tmp4 = extractvalue { [0 x %struct.zot.57]*, i64 } %tmp3, 0 | |
%tmp5 = extractvalue { [0 x %struct.zot.57]*, i64 } %tmp3, 1 | |
ret { [0 x %struct.zot.57]*, i64 } %tmp3 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal { [0 x %struct.barney.58]*, i64 } @wombat.56(%struct.barney.58* %arg, i64 %arg1) unnamed_addr #0 { | |
bb: | |
%tmp = call {}* @spam.210(%struct.barney.58* %arg) | |
%tmp3 = call { [0 x %struct.barney.58]*, i64 } @widget.321({}* %tmp, i64 %arg1) | |
%tmp4 = extractvalue { [0 x %struct.barney.58]*, i64 } %tmp3, 0 | |
%tmp5 = extractvalue { [0 x %struct.barney.58]*, i64 } %tmp3, 1 | |
ret { [0 x %struct.barney.58]*, i64 } %tmp3 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal { [0 x %struct.wibble.61]*, i64 } @foo.57(%struct.wibble.61* %arg, i64 %arg1) unnamed_addr #0 { | |
bb: | |
%tmp = call {}* @spam.231(%struct.wibble.61* %arg) | |
%tmp3 = call { [0 x %struct.wibble.61]*, i64 } @foo.299({}* %tmp, i64 %arg1) | |
%tmp4 = extractvalue { [0 x %struct.wibble.61]*, i64 } %tmp3, 0 | |
%tmp5 = extractvalue { [0 x %struct.wibble.61]*, i64 } %tmp3, 1 | |
ret { [0 x %struct.wibble.61]*, i64 } %tmp3 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal { [0 x %struct.foo.62]*, i64 } @wobble.58(%struct.foo.62* %arg, i64 %arg1) unnamed_addr #0 { | |
bb: | |
%tmp = call {}* @barney.237(%struct.foo.62* %arg) | |
%tmp3 = call { [0 x %struct.foo.62]*, i64 } @zot.304({}* %tmp, i64 %arg1) | |
%tmp4 = extractvalue { [0 x %struct.foo.62]*, i64 } %tmp3, 0 | |
%tmp5 = extractvalue { [0 x %struct.foo.62]*, i64 } %tmp3, 1 | |
ret { [0 x %struct.foo.62]*, i64 } %tmp3 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal { [0 x i64]*, i64 } @bar.59(i64* %arg, i64 %arg1) unnamed_addr #0 { | |
bb: | |
%tmp = call {}* @eggs.209(i64* %arg) | |
%tmp3 = call { [0 x i64]*, i64 } @ham.320({}* %tmp, i64 %arg1) | |
%tmp4 = extractvalue { [0 x i64]*, i64 } %tmp3, 0 | |
%tmp5 = extractvalue { [0 x i64]*, i64 } %tmp3, 1 | |
ret { [0 x i64]*, i64 } %tmp3 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal { [0 x %struct.snork.47]*, i64 } @bar.60(%struct.snork.47* %arg, i64 %arg1) unnamed_addr #0 { | |
bb: | |
%tmp = call {}* @eggs.219(%struct.snork.47* %arg) | |
%tmp3 = call { [0 x %struct.snork.47]*, i64 } @ham.301({}* %tmp, i64 %arg1) | |
%tmp4 = extractvalue { [0 x %struct.snork.47]*, i64 } %tmp3, 0 | |
%tmp5 = extractvalue { [0 x %struct.snork.47]*, i64 } %tmp3, 1 | |
ret { [0 x %struct.snork.47]*, i64 } %tmp3 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal { [0 x %struct.blam.65]*, i64 } @foo.61(%struct.blam.65* %arg, i64 %arg1) unnamed_addr #0 { | |
bb: | |
%tmp = call {}* @barney.207(%struct.blam.65* %arg) | |
%tmp3 = call { [0 x %struct.blam.65]*, i64 } @barney.305({}* %tmp, i64 %arg1) | |
%tmp4 = extractvalue { [0 x %struct.blam.65]*, i64 } %tmp3, 0 | |
%tmp5 = extractvalue { [0 x %struct.blam.65]*, i64 } %tmp3, 1 | |
ret { [0 x %struct.blam.65]*, i64 } %tmp3 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal { [0 x %struct.widget.66]*, i64 } @bar.62(%struct.widget.66* %arg, i64 %arg1) unnamed_addr #0 { | |
bb: | |
%tmp = call {}* @snork.206(%struct.widget.66* %arg) | |
%tmp3 = call { [0 x %struct.widget.66]*, i64 } @bar.327({}* %tmp, i64 %arg1) | |
%tmp4 = extractvalue { [0 x %struct.widget.66]*, i64 } %tmp3, 0 | |
%tmp5 = extractvalue { [0 x %struct.widget.66]*, i64 } %tmp3, 1 | |
ret { [0 x %struct.widget.66]*, i64 } %tmp3 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal { [0 x %struct.baz.67]*, i64 } @ham.63(%struct.baz.67* %arg, i64 %arg1) unnamed_addr #0 { | |
bb: | |
%tmp = call {}* @hoge.217(%struct.baz.67* %arg) | |
%tmp3 = call { [0 x %struct.baz.67]*, i64 } @foo.298({}* %tmp, i64 %arg1) | |
%tmp4 = extractvalue { [0 x %struct.baz.67]*, i64 } %tmp3, 0 | |
%tmp5 = extractvalue { [0 x %struct.baz.67]*, i64 } %tmp3, 1 | |
ret { [0 x %struct.baz.67]*, i64 } %tmp3 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal { [0 x %struct.pluto.68]*, i64 } @spam.64(%struct.pluto.68* %arg, i64 %arg1) unnamed_addr #0 { | |
bb: | |
%tmp = call {}* @spam.208(%struct.pluto.68* %arg) | |
%tmp3 = call { [0 x %struct.pluto.68]*, i64 } @zot.313({}* %tmp, i64 %arg1) | |
%tmp4 = extractvalue { [0 x %struct.pluto.68]*, i64 } %tmp3, 0 | |
%tmp5 = extractvalue { [0 x %struct.pluto.68]*, i64 } %tmp3, 1 | |
ret { [0 x %struct.pluto.68]*, i64 } %tmp3 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal { [0 x { i32, i32 }]*, i64 } @wibble.65({ i32, i32 }* %arg, i64 %arg1) unnamed_addr #0 { | |
bb: | |
%tmp = call {}* @zot.218({ i32, i32 }* %arg) | |
%tmp3 = call { [0 x { i32, i32 }]*, i64 } @ham.312({}* %tmp, i64 %arg1) | |
%tmp4 = extractvalue { [0 x { i32, i32 }]*, i64 } %tmp3, 0 | |
%tmp5 = extractvalue { [0 x { i32, i32 }]*, i64 } %tmp3, 1 | |
ret { [0 x { i32, i32 }]*, i64 } %tmp3 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal { [0 x %struct.eggs.70]*, i64 } @wibble.66(%struct.eggs.70* %arg, i64 %arg1) unnamed_addr #0 { | |
bb: | |
%tmp = call {}* @blam.215(%struct.eggs.70* %arg) | |
%tmp3 = call { [0 x %struct.eggs.70]*, i64 } @wombat.319({}* %tmp, i64 %arg1) | |
%tmp4 = extractvalue { [0 x %struct.eggs.70]*, i64 } %tmp3, 0 | |
%tmp5 = extractvalue { [0 x %struct.eggs.70]*, i64 } %tmp3, 1 | |
ret { [0 x %struct.eggs.70]*, i64 } %tmp3 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal { [0 x %struct.eggs]*, i64 } @eggs.67(%struct.eggs* %arg, i64 %arg1) unnamed_addr #0 { | |
bb: | |
%tmp = call {}* @baz.221(%struct.eggs* %arg) | |
%tmp3 = call { [0 x %struct.eggs]*, i64 } @barney.293({}* %tmp, i64 %arg1) | |
%tmp4 = extractvalue { [0 x %struct.eggs]*, i64 } %tmp3, 0 | |
%tmp5 = extractvalue { [0 x %struct.eggs]*, i64 } %tmp3, 1 | |
ret { [0 x %struct.eggs]*, i64 } %tmp3 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal { [0 x %struct.wibble.71]*, i64 } @bar.68(%struct.wibble.71* %arg, i64 %arg1) unnamed_addr #0 { | |
bb: | |
%tmp = call {}* @eggs.203(%struct.wibble.71* %arg) | |
%tmp3 = call { [0 x %struct.wibble.71]*, i64 } @baz.323({}* %tmp, i64 %arg1) | |
%tmp4 = extractvalue { [0 x %struct.wibble.71]*, i64 } %tmp3, 0 | |
%tmp5 = extractvalue { [0 x %struct.wibble.71]*, i64 } %tmp3, 1 | |
ret { [0 x %struct.wibble.71]*, i64 } %tmp3 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal { [0 x i16]*, i64 } @ham.69(i16* %arg, i64 %arg1) unnamed_addr #0 { | |
bb: | |
%tmp = call {}* @ham.201(i16* %arg) | |
%tmp3 = call { [0 x i16]*, i64 } @blam.300({}* %tmp, i64 %arg1) | |
%tmp4 = extractvalue { [0 x i16]*, i64 } %tmp3, 0 | |
%tmp5 = extractvalue { [0 x i16]*, i64 } %tmp3, 1 | |
ret { [0 x i16]*, i64 } %tmp3 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal { [0 x i64*]*, i64 } @widget.70(i64** %arg, i64 %arg1) unnamed_addr #0 { | |
bb: | |
%tmp = call {}* @barney.232(i64** %arg) | |
%tmp3 = call { [0 x i64*]*, i64 } @pluto.303({}* %tmp, i64 %arg1) | |
%tmp4 = extractvalue { [0 x i64*]*, i64 } %tmp3, 0 | |
%tmp5 = extractvalue { [0 x i64*]*, i64 } %tmp3, 1 | |
ret { [0 x i64*]*, i64 } %tmp3 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal { [0 x i8]*, i64 } @pluto.71(i8* %arg, i64 %arg1) unnamed_addr #0 { | |
bb: | |
%tmp = call {}* @quux.220(i8* %arg) | |
%tmp3 = call { [0 x i8]*, i64 } @foo.309({}* %tmp, i64 %arg1) | |
%tmp4 = extractvalue { [0 x i8]*, i64 } %tmp3, 0 | |
%tmp5 = extractvalue { [0 x i8]*, i64 } %tmp3, 1 | |
ret { [0 x i8]*, i64 } %tmp3 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal { [0 x i32]*, i64 } @widget.72(i32* %arg, i64 %arg1) unnamed_addr #0 { | |
bb: | |
%tmp = call {}* @pluto.212(i32* %arg) | |
%tmp3 = call { [0 x i32]*, i64 } @blam.324({}* %tmp, i64 %arg1) | |
%tmp4 = extractvalue { [0 x i32]*, i64 } %tmp3, 0 | |
%tmp5 = extractvalue { [0 x i32]*, i64 } %tmp3, 1 | |
ret { [0 x i32]*, i64 } %tmp3 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal { [0 x %struct.widget.73]*, i64 } @wibble.73(%struct.widget.73* %arg, i64 %arg1) unnamed_addr #0 { | |
bb: | |
%tmp = call {}* @pluto.216(%struct.widget.73* %arg) | |
%tmp3 = call { [0 x %struct.widget.73]*, i64 } @zot.325({}* %tmp, i64 %arg1) | |
%tmp4 = extractvalue { [0 x %struct.widget.73]*, i64 } %tmp3, 0 | |
%tmp5 = extractvalue { [0 x %struct.widget.73]*, i64 } %tmp3, 1 | |
ret { [0 x %struct.widget.73]*, i64 } %tmp3 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal { [0 x i32]*, i64 } @baz.74(i32* %arg, i64 %arg1) unnamed_addr #0 { | |
bb: | |
%tmp = call {}* @quux.222(i32* %arg) | |
%tmp3 = call { [0 x i32]*, i64 } @zot.306({}* %tmp, i64 %arg1) | |
%tmp4 = extractvalue { [0 x i32]*, i64 } %tmp3, 0 | |
%tmp5 = extractvalue { [0 x i32]*, i64 } %tmp3, 1 | |
ret { [0 x i32]*, i64 } %tmp3 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal { [0 x %struct.blam.75]*, i64 } @foo.75(%struct.blam.75* %arg, i64 %arg1) unnamed_addr #0 { | |
bb: | |
%tmp = call {}* @ham.224(%struct.blam.75* %arg) | |
%tmp3 = call { [0 x %struct.blam.75]*, i64 } @wobble.294({}* %tmp, i64 %arg1) | |
%tmp4 = extractvalue { [0 x %struct.blam.75]*, i64 } %tmp3, 0 | |
%tmp5 = extractvalue { [0 x %struct.blam.75]*, i64 } %tmp3, 1 | |
ret { [0 x %struct.blam.75]*, i64 } %tmp3 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal { [0 x %struct.widget.76]*, i64 } @spam.76(%struct.widget.76* %arg, i64 %arg1) unnamed_addr #0 { | |
bb: | |
%tmp = call {}* @zot.205(%struct.widget.76* %arg) | |
%tmp3 = call { [0 x %struct.widget.76]*, i64 } @hoge.297({}* %tmp, i64 %arg1) | |
%tmp4 = extractvalue { [0 x %struct.widget.76]*, i64 } %tmp3, 0 | |
%tmp5 = extractvalue { [0 x %struct.widget.76]*, i64 } %tmp3, 1 | |
ret { [0 x %struct.widget.76]*, i64 } %tmp3 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal { [0 x { i64, { i32, i32 } }]*, i64 } @snork.77({ i64, { i32, i32 } }* %arg, i64 %arg1) unnamed_addr #0 { | |
bb: | |
%tmp = call {}* @eggs.227({ i64, { i32, i32 } }* %arg) | |
%tmp3 = call { [0 x { i64, { i32, i32 } }]*, i64 } @quux.317({}* %tmp, i64 %arg1) | |
%tmp4 = extractvalue { [0 x { i64, { i32, i32 } }]*, i64 } %tmp3, 0 | |
%tmp5 = extractvalue { [0 x { i64, { i32, i32 } }]*, i64 } %tmp3, 1 | |
ret { [0 x { i64, { i32, i32 } }]*, i64 } %tmp3 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal { [0 x %struct.ham.77]*, i64 } @spam.78(%struct.ham.77* %arg, i64 %arg1) unnamed_addr #0 { | |
bb: | |
%tmp = call {}* @wobble.225(%struct.ham.77* %arg) | |
%tmp3 = call { [0 x %struct.ham.77]*, i64 } @eggs.315({}* %tmp, i64 %arg1) | |
%tmp4 = extractvalue { [0 x %struct.ham.77]*, i64 } %tmp3, 0 | |
%tmp5 = extractvalue { [0 x %struct.ham.77]*, i64 } %tmp3, 1 | |
ret { [0 x %struct.ham.77]*, i64 } %tmp3 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal { [0 x %struct.zot.82]*, i64 } @quux.79(%struct.zot.82* %arg, i64 %arg1) unnamed_addr #0 { | |
bb: | |
%tmp = call {}* @zot.234(%struct.zot.82* %arg) | |
%tmp3 = call { [0 x %struct.zot.82]*, i64 } @bar.329({}* %tmp, i64 %arg1) | |
%tmp4 = extractvalue { [0 x %struct.zot.82]*, i64 } %tmp3, 0 | |
%tmp5 = extractvalue { [0 x %struct.zot.82]*, i64 } %tmp3, 1 | |
ret { [0 x %struct.zot.82]*, i64 } %tmp3 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal { [0 x %struct.wibble.83]*, i64 } @zot.80(%struct.wibble.83* %arg, i64 %arg1) unnamed_addr #0 { | |
bb: | |
%tmp = call {}* @foo.202(%struct.wibble.83* %arg) | |
%tmp3 = call { [0 x %struct.wibble.83]*, i64 } @spam.302({}* %tmp, i64 %arg1) | |
%tmp4 = extractvalue { [0 x %struct.wibble.83]*, i64 } %tmp3, 0 | |
%tmp5 = extractvalue { [0 x %struct.wibble.83]*, i64 } %tmp3, 1 | |
ret { [0 x %struct.wibble.83]*, i64 } %tmp3 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal { [0 x { [0 x i32]*, i64 }]*, i64 } @wibble.81({ [0 x i32]*, i64 }* %arg, i64 %arg1) unnamed_addr #0 { | |
bb: | |
%tmp = call {}* @ham.229({ [0 x i32]*, i64 }* %arg) | |
%tmp3 = call { [0 x { [0 x i32]*, i64 }]*, i64 } @hoge.296({}* %tmp, i64 %arg1) | |
%tmp4 = extractvalue { [0 x { [0 x i32]*, i64 }]*, i64 } %tmp3, 0 | |
%tmp5 = extractvalue { [0 x { [0 x i32]*, i64 }]*, i64 } %tmp3, 1 | |
ret { [0 x { [0 x i32]*, i64 }]*, i64 } %tmp3 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal { [0 x %struct.widget.84]*, i64 } @wobble.82(%struct.widget.84* %arg, i64 %arg1) unnamed_addr #0 { | |
bb: | |
%tmp = call {}* @pluto.213(%struct.widget.84* %arg) | |
%tmp3 = call { [0 x %struct.widget.84]*, i64 } @ham.318({}* %tmp, i64 %arg1) | |
%tmp4 = extractvalue { [0 x %struct.widget.84]*, i64 } %tmp3, 0 | |
%tmp5 = extractvalue { [0 x %struct.widget.84]*, i64 } %tmp3, 1 | |
ret { [0 x %struct.widget.84]*, i64 } %tmp3 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal { [0 x %struct.ham.85]*, i64 } @zot.83(%struct.ham.85* %arg, i64 %arg1) unnamed_addr #0 { | |
bb: | |
%tmp = call {}* @barney.226(%struct.ham.85* %arg) | |
%tmp3 = call { [0 x %struct.ham.85]*, i64 } @wobble.311({}* %tmp, i64 %arg1) | |
%tmp4 = extractvalue { [0 x %struct.ham.85]*, i64 } %tmp3, 0 | |
%tmp5 = extractvalue { [0 x %struct.ham.85]*, i64 } %tmp3, 1 | |
ret { [0 x %struct.ham.85]*, i64 } %tmp3 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal { [0 x i32]*, i64 } @eggs.84(i32* %arg, i64 %arg1) unnamed_addr #0 { | |
bb: | |
%tmp = call {}* @eggs.236(i32* %arg) | |
%tmp3 = call { [0 x i32]*, i64 } @pluto.308({}* %tmp, i64 %arg1) | |
%tmp4 = extractvalue { [0 x i32]*, i64 } %tmp3, 0 | |
%tmp5 = extractvalue { [0 x i32]*, i64 } %tmp3, 1 | |
ret { [0 x i32]*, i64 } %tmp3 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal { [0 x %struct.foo.86]*, i64 } @widget.85(%struct.foo.86* %arg, i64 %arg1) unnamed_addr #0 { | |
bb: | |
%tmp = call {}* @blam.238(%struct.foo.86* %arg) | |
%tmp3 = call { [0 x %struct.foo.86]*, i64 } @eggs.328({}* %tmp, i64 %arg1) | |
%tmp4 = extractvalue { [0 x %struct.foo.86]*, i64 } %tmp3, 0 | |
%tmp5 = extractvalue { [0 x %struct.foo.86]*, i64 } %tmp3, 1 | |
ret { [0 x %struct.foo.86]*, i64 } %tmp3 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal { [0 x %struct.wombat.88]*, i64 } @spam.86(%struct.wombat.88* %arg, i64 %arg1) unnamed_addr #0 { | |
bb: | |
%tmp = call {}* @baz.223(%struct.wombat.88* %arg) | |
%tmp3 = call { [0 x %struct.wombat.88]*, i64 } @wibble.326({}* %tmp, i64 %arg1) | |
%tmp4 = extractvalue { [0 x %struct.wombat.88]*, i64 } %tmp3, 0 | |
%tmp5 = extractvalue { [0 x %struct.wombat.88]*, i64 } %tmp3, 1 | |
ret { [0 x %struct.wombat.88]*, i64 } %tmp3 | |
} | |
; Function Attrs: nonlazybind uwtable | |
define internal void @spam.87(%struct.ham.90* %arg) unnamed_addr #1 { | |
bb: | |
%tmp = bitcast %struct.ham.90* %arg to %struct.ham.91* | |
call void @bar.92(%struct.ham.91* %tmp) | |
ret void | |
} | |
; Function Attrs: nonlazybind uwtable | |
define internal void @spam.88(%struct.baz.44* %arg) unnamed_addr #1 { | |
bb: | |
%tmp = bitcast %struct.baz.44* %arg to %struct.bar.30* | |
call void @wobble.90(%struct.bar.30* %tmp) | |
ret void | |
} | |
; Function Attrs: nonlazybind uwtable | |
define internal void @snork.89(i64** %arg) unnamed_addr #1 { | |
bb: | |
call void @eggs.192(i64** %arg) | |
ret void | |
} | |
; Function Attrs: nonlazybind uwtable | |
define internal void @wobble.90(%struct.bar.30* %arg) unnamed_addr #1 personality i32 (i32, i32, i64, %struct.snork.211*, %struct.quux.212*)* @foo.542 { | |
bb: | |
invoke void @pluto.504(%struct.bar.30* noalias align 8 dereferenceable(24) %arg) | |
to label %bb1 unwind label %bb5 | |
bb1: ; preds = %bb | |
%tmp2 = bitcast %struct.bar.30* %arg to { i8*, i64 }* | |
call void @barney.104({ i8*, i64 }* %tmp2) | |
ret void | |
bb5: ; preds = %bb | |
%tmp6 = landingpad { i8*, i32 } | |
cleanup | |
%tmp8 = extractvalue { i8*, i32 } %tmp6, 0 | |
%tmp9 = extractvalue { i8*, i32 } %tmp6, 1 | |
%tmp4 = bitcast %struct.bar.30* %arg to { i8*, i64 }* | |
call void @barney.104({ i8*, i64 }* %tmp4) #13 | |
resume { i8*, i32 } %tmp6 | |
} | |
; Function Attrs: nonlazybind uwtable | |
define internal void @hoge.91(%struct.foo.93* %arg) unnamed_addr #1 personality i32 (i32, i32, i64, %struct.snork.211*, %struct.quux.212*)* @foo.542 { | |
bb: | |
invoke void @widget.497(%struct.foo.93* noalias align 8 dereferenceable(24) %arg) | |
to label %bb1 unwind label %bb5 | |
bb1: ; preds = %bb | |
%tmp2 = bitcast %struct.foo.93* %arg to { i16*, i64 }* | |
call void @foo.105({ i16*, i64 }* %tmp2) | |
ret void | |
bb5: ; preds = %bb | |
%tmp6 = landingpad { i8*, i32 } | |
cleanup | |
%tmp8 = extractvalue { i8*, i32 } %tmp6, 0 | |
%tmp9 = extractvalue { i8*, i32 } %tmp6, 1 | |
%tmp4 = bitcast %struct.foo.93* %arg to { i16*, i64 }* | |
call void @foo.105({ i16*, i64 }* %tmp4) #13 | |
resume { i8*, i32 } %tmp6 | |
} | |
; Function Attrs: nonlazybind uwtable | |
define internal void @bar.92(%struct.ham.91* %arg) unnamed_addr #1 { | |
bb: | |
%tmp = bitcast %struct.ham.91* %arg to %struct.pluto.92* | |
call void @zot.94(%struct.pluto.92* %tmp) | |
ret void | |
} | |
; Function Attrs: nonlazybind uwtable | |
define internal void @pluto.93(%struct.snork.94* %arg) unnamed_addr #1 { | |
bb: | |
%tmp = bitcast %struct.snork.94* %arg to i64* | |
%tmp1 = load i64, i64* %tmp, align 8, !range !4 | |
%tmp2 = icmp eq i64 %tmp1, 0 | |
br i1 %tmp2, label %bb3, label %bb6 | |
bb3: ; preds = %bb | |
%tmp4 = bitcast %struct.snork.94* %arg to %struct.wibble.95* | |
%tmp5 = getelementptr inbounds %struct.wibble.95, %struct.wibble.95* %tmp4, i32 0, i32 1 | |
call void @wobble.90(%struct.bar.30* %tmp5) | |
br label %bb9 | |
bb6: ; preds = %bb | |
%tmp7 = bitcast %struct.snork.94* %arg to %struct.foo.96* | |
%tmp8 = getelementptr inbounds %struct.foo.96, %struct.foo.96* %tmp7, i32 0, i32 1 | |
call void @hoge.91(%struct.foo.93* %tmp8) | |
br label %bb9 | |
bb9: ; preds = %bb6, %bb3 | |
ret void | |
} | |
; Function Attrs: nonlazybind uwtable | |
define internal void @zot.94(%struct.pluto.92* %arg) unnamed_addr #1 { | |
bb: | |
%tmp = bitcast %struct.pluto.92* %arg to %struct.bar.30* | |
call void @wobble.90(%struct.bar.30* %tmp) | |
ret void | |
} | |
; Function Attrs: nonlazybind uwtable | |
define internal void @baz.95(%struct.blam.97* %arg) unnamed_addr #1 { | |
bb: | |
%tmp = bitcast %struct.blam.97* %arg to i64* | |
%tmp1 = load i64, i64* %tmp, align 8, !range !7 | |
%switch = icmp ult i64 %tmp1, 5 | |
br i1 %switch, label %bb5, label %bb2 | |
bb2: ; preds = %bb | |
%tmp3 = bitcast %struct.blam.97* %arg to %struct.eggs.98* | |
%tmp4 = getelementptr inbounds %struct.eggs.98, %struct.eggs.98* %tmp3, i32 0, i32 1 | |
call void @snork.89(i64** %tmp4) | |
br label %bb5 | |
bb5: ; preds = %bb, %bb2 | |
ret void | |
} | |
; Function Attrs: nonlazybind uwtable | |
define internal void @pluto.96(%struct.eggs.99* %arg) unnamed_addr #1 personality i32 (i32, i32, i64, %struct.snork.211*, %struct.quux.212*)* @foo.542 { | |
bb: | |
invoke void @wibble.527(%struct.eggs.99* noalias align 8 dereferenceable(24) %arg) | |
to label %bb1 unwind label %bb5 | |
bb1: ; preds = %bb | |
%tmp2 = bitcast %struct.eggs.99* %arg to { i64*, i64 }* | |
call void @hoge.109({ i64*, i64 }* %tmp2) | |
ret void | |
bb5: ; preds = %bb | |
%tmp6 = landingpad { i8*, i32 } | |
cleanup | |
%tmp8 = extractvalue { i8*, i32 } %tmp6, 0 | |
%tmp9 = extractvalue { i8*, i32 } %tmp6, 1 | |
%tmp4 = bitcast %struct.eggs.99* %arg to { i64*, i64 }* | |
call void @hoge.109({ i64*, i64 }* %tmp4) #13 | |
resume { i8*, i32 } %tmp6 | |
} | |
; Function Attrs: nonlazybind uwtable | |
define internal void @spam.97(%struct.eggs.48* %arg) unnamed_addr #1 { | |
bb: | |
%tmp = bitcast %struct.eggs.48* %arg to i64* | |
%tmp1 = load i64, i64* %tmp, align 8, !range !8 | |
switch i64 %tmp1, label %bb2 [ | |
i64 0, label %bb5 | |
i64 1, label %bb8 | |
] | |
bb2: ; preds = %bb | |
%tmp3 = bitcast %struct.eggs.48* %arg to %struct.wombat.100* | |
%tmp4 = getelementptr inbounds %struct.wombat.100, %struct.wombat.100* %tmp3, i32 0, i32 1 | |
call void @wombat.47(i64** %tmp4) | |
br label %bb11 | |
bb5: ; preds = %bb | |
%tmp6 = bitcast %struct.eggs.48* %arg to %struct.wobble.101* | |
%tmp7 = getelementptr inbounds %struct.wobble.101, %struct.wobble.101* %tmp6, i32 0, i32 1 | |
call void @baz.95(%struct.blam.97* %tmp7) | |
br label %bb11 | |
bb8: ; preds = %bb | |
%tmp9 = bitcast %struct.eggs.48* %arg to %struct.widget.102* | |
%tmp10 = getelementptr inbounds %struct.widget.102, %struct.widget.102* %tmp9, i32 0, i32 1 | |
call void @widget.131(i64** %tmp10) | |
br label %bb11 | |
bb11: ; preds = %bb8, %bb5, %bb2 | |
ret void | |
} | |
; Function Attrs: nonlazybind uwtable | |
define internal void @blam.98(%struct.eggs.70* %arg) unnamed_addr #1 personality i32 (i32, i32, i64, %struct.snork.211*, %struct.quux.212*)* @foo.542 { | |
bb: | |
%tmp1 = bitcast %struct.eggs.70* %arg to { [0 x i8]*, i64 }* | |
invoke void @snork.280({ [0 x i8]*, i64 }* %tmp1) | |
to label %bb2 unwind label %bb6 | |
bb2: ; preds = %bb | |
%tmp3 = getelementptr inbounds %struct.eggs.70, %struct.eggs.70* %arg, i32 0, i32 2 | |
call void @snork.280({ [0 x i8]*, i64 }* %tmp3) | |
ret void | |
bb6: ; preds = %bb | |
%tmp7 = landingpad { i8*, i32 } | |
cleanup | |
%tmp9 = extractvalue { i8*, i32 } %tmp7, 0 | |
%tmp10 = extractvalue { i8*, i32 } %tmp7, 1 | |
%tmp5 = getelementptr inbounds %struct.eggs.70, %struct.eggs.70* %arg, i32 0, i32 2 | |
call void @snork.280({ [0 x i8]*, i64 }* %tmp5) #13 | |
resume { i8*, i32 } %tmp7 | |
} | |
; Function Attrs: alwaysinline nonlazybind uwtable | |
define internal i8* @blam.99() unnamed_addr #2 { | |
bb: | |
ret i8* null | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal { i8*, i64 } @foo.100({ i8*, i64 }* %arg) unnamed_addr #0 { | |
bb: | |
%tmp = alloca { i8*, i64 }, align 8 | |
%tmp1 = bitcast { i8*, i64 }* %tmp to i8* | |
call void @llvm.lifetime.start.p0i8(i64 16, i8* %tmp1) | |
%tmp2 = call { i8*, i64 } @spam.21() | |
%tmp2.fca.0.extract = extractvalue { i8*, i64 } %tmp2, 0 | |
%tmp2.fca.0.gep = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %tmp, i32 0, i32 0 | |
store i8* %tmp2.fca.0.extract, i8** %tmp2.fca.0.gep, align 8 | |
%tmp2.fca.1.extract = extractvalue { i8*, i64 } %tmp2, 1 | |
%tmp2.fca.1.gep = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %tmp, i32 0, i32 1 | |
store i64 %tmp2.fca.1.extract, i64* %tmp2.fca.1.gep, align 8 | |
%tmp4 = call { i8*, i64 }* @spam.19({ i8*, i64 }* noalias align 8 dereferenceable(16) %tmp) | |
%tmp6 = bitcast { i8*, i64 }* %tmp4 to i8* | |
%tmp7 = bitcast { i8*, i64 }* %arg to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 8 %tmp6, i8* align 8 %tmp7, i64 16, i1 false) | |
%tmp9 = load i8*, i8** %tmp2.fca.0.gep, align 8 | |
%tmp11 = load i64, i64* %tmp2.fca.1.gep, align 8 | |
%tmp12 = call { i8*, i64 } @zot(i8* %tmp9, i64 %tmp11, %struct.zot.29* noalias readonly align 8 dereferenceable(24) bitcast (<{ i8*, [16 x i8] }>* @global.4 to %struct.zot.29*)) | |
%tmp13 = extractvalue { i8*, i64 } %tmp12, 0 | |
%tmp14 = extractvalue { i8*, i64 } %tmp12, 1 | |
call void @llvm.lifetime.end.p0i8(i64 16, i8* %tmp1) | |
ret { i8*, i64 } %tmp12 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal void @wibble.101(%struct.quux.31* %arg) unnamed_addr #0 { | |
bb: | |
%tmp = alloca %struct.widget.32, align 1 | |
call void @quux.22() | |
%tmp2 = call %struct.quux.31* @barney(%struct.widget.32* noalias nonnull align 1 %tmp) | |
%tmp4 = bitcast %struct.quux.31* %tmp2 to i8* | |
%tmp5 = bitcast %struct.quux.31* %arg to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 1 %tmp4, i8* align 1 %tmp5, i64 0, i1 false) | |
call void @snork.20(%struct.zot.29* noalias readonly align 8 dereferenceable(24) bitcast (<{ i8*, [16 x i8] }>* @global.4 to %struct.zot.29*)) | |
ret void | |
} | |
; Function Attrs: nonlazybind uwtable | |
define internal void @snork.102(%struct.ham.77* %arg) unnamed_addr #1 { | |
bb: | |
%tmp = getelementptr inbounds %struct.ham.77, %struct.ham.77* %arg, i32 0, i32 1 | |
call void @eggs.195(%struct.barney.81* %tmp) | |
ret void | |
} | |
; Function Attrs: nonlazybind uwtable | |
define internal void @bar.103(%struct.snork.52* %arg) unnamed_addr #1 personality i32 (i32, i32, i64, %struct.snork.211*, %struct.quux.212*)* @foo.542 { | |
bb: | |
%tmp1 = bitcast %struct.snork.52* %arg to %struct.snork.53* | |
invoke void @foo.193(%struct.snork.53* %tmp1) | |
to label %bb2 unwind label %bb6 | |
bb2: ; preds = %bb | |
%tmp3 = getelementptr inbounds %struct.snork.52, %struct.snork.52* %arg, i32 0, i32 1 | |
call void @wobble.196(%struct.spam.54* %tmp3) | |
ret void | |
bb6: ; preds = %bb | |
%tmp7 = landingpad { i8*, i32 } | |
cleanup | |
%tmp9 = extractvalue { i8*, i32 } %tmp7, 0 | |
%tmp10 = extractvalue { i8*, i32 } %tmp7, 1 | |
%tmp5 = getelementptr inbounds %struct.snork.52, %struct.snork.52* %arg, i32 0, i32 1 | |
call void @wobble.196(%struct.spam.54* %tmp5) #13 | |
resume { i8*, i32 } %tmp7 | |
} | |
; Function Attrs: nonlazybind uwtable | |
define internal void @barney.104({ i8*, i64 }* %arg) unnamed_addr #1 { | |
bb: | |
call void @quux.548({ i8*, i64 }* noalias align 8 dereferenceable(16) %arg) | |
ret void | |
} | |
; Function Attrs: nonlazybind uwtable | |
define internal void @foo.105({ i16*, i64 }* %arg) unnamed_addr #1 { | |
bb: | |
call void @baz.549({ i16*, i64 }* noalias align 8 dereferenceable(16) %arg) | |
ret void | |
} | |
; Function Attrs: nonlazybind uwtable | |
define internal void @widget.106([0 x i64*]* %arg, i64 %arg1) unnamed_addr #1 personality i32 (i32, i32, i64, %struct.snork.211*, %struct.quux.212*)* @foo.542 { | |
bb: | |
%tmp6 = bitcast [0 x i64*]* %arg to i64** | |
%tmp8 = getelementptr inbounds i64*, i64** %tmp6, i64 %arg1 | |
br label %bb9 | |
bb9: ; preds = %bb12, %bb | |
%tmp2.0 = phi i64** [ %tmp6, %bb ], [ %tmp15, %bb12 ] | |
%tmp11 = icmp eq i64** %tmp2.0, %tmp8 | |
br i1 %tmp11, label %bb16, label %bb12 | |
bb12: ; preds = %bb9 | |
%tmp15 = getelementptr inbounds i64*, i64** %tmp2.0, i64 1 | |
invoke void @snork.89(i64** %tmp2.0) | |
to label %bb9 unwind label %bb20 | |
bb16: ; preds = %bb9 | |
ret void | |
bb17: ; preds = %bb27, %bb20 | |
%tmp2.1 = phi i64** [ %tmp15, %bb20 ], [ %tmp30, %bb27 ] | |
%tmp19 = icmp eq i64** %tmp2.1, %tmp8 | |
br i1 %tmp19, label %bb31, label %bb27 | |
bb20: ; preds = %bb12 | |
%tmp21 = landingpad { i8*, i32 } | |
cleanup | |
%tmp23 = extractvalue { i8*, i32 } %tmp21, 0 | |
%tmp24 = extractvalue { i8*, i32 } %tmp21, 1 | |
br label %bb17 | |
bb27: ; preds = %bb17 | |
%tmp30 = getelementptr inbounds i64*, i64** %tmp2.1, i64 1 | |
call void @snork.89(i64** %tmp2.1) #13 | |
br label %bb17 | |
bb31: ; preds = %bb17 | |
resume { i8*, i32 } %tmp21 | |
} | |
; Function Attrs: nonlazybind uwtable | |
define internal void @pluto.107(%struct.wibble.71* %arg) unnamed_addr #1 { | |
bb: | |
%tmp = getelementptr inbounds %struct.wibble.71, %struct.wibble.71* %arg, i32 0, i32 1 | |
call void @quux.40(%struct.ham.49* %tmp) | |
ret void | |
} | |
; Function Attrs: nonlazybind uwtable | |
define internal void @spam.108(%struct.bar.103* %arg) unnamed_addr #1 { | |
bb: | |
%tmp = bitcast %struct.bar.103* %arg to i64* | |
%tmp1 = load i64, i64* %tmp, align 8, !range !4 | |
%tmp2 = icmp eq i64 %tmp1, 0 | |
br i1 %tmp2, label %bb3, label %bb6 | |
bb3: ; preds = %bb | |
%tmp4 = bitcast %struct.bar.103* %arg to %struct.quux.104* | |
%tmp5 = getelementptr inbounds %struct.quux.104, %struct.quux.104* %tmp4, i32 0, i32 1 | |
call void @spam.87(%struct.ham.90* %tmp5) | |
br label %bb9 | |
bb6: ; preds = %bb | |
%tmp7 = bitcast %struct.bar.103* %arg to %struct.quux.105* | |
%tmp8 = getelementptr inbounds %struct.quux.105, %struct.quux.105* %tmp7, i32 0, i32 1 | |
call void @spam.87(%struct.ham.90* %tmp8) | |
br label %bb9 | |
bb9: ; preds = %bb6, %bb3 | |
ret void | |
} | |
; Function Attrs: nonlazybind uwtable | |
define internal void @hoge.109({ i64*, i64 }* %arg) unnamed_addr #1 { | |
bb: | |
call void @baz.550({ i64*, i64 }* noalias align 8 dereferenceable(16) %arg) | |
ret void | |
} | |
; Function Attrs: nonlazybind uwtable | |
define internal void @wombat.110(%struct.wombat.88* %arg) unnamed_addr #1 personality i32 (i32, i32, i64, %struct.snork.211*, %struct.quux.212*)* @foo.542 { | |
bb: | |
%tmp1 = bitcast %struct.wombat.88* %arg to %struct.snork.53* | |
invoke void @foo.193(%struct.snork.53* %tmp1) | |
to label %bb2 unwind label %bb6 | |
bb2: ; preds = %bb | |
%tmp3 = getelementptr inbounds %struct.wombat.88, %struct.wombat.88* %arg, i32 0, i32 2 | |
call void @zot.127(%struct.baz.89* %tmp3) | |
ret void | |
bb6: ; preds = %bb | |
%tmp7 = landingpad { i8*, i32 } | |
cleanup | |
%tmp9 = extractvalue { i8*, i32 } %tmp7, 0 | |
%tmp10 = extractvalue { i8*, i32 } %tmp7, 1 | |
%tmp5 = getelementptr inbounds %struct.wombat.88, %struct.wombat.88* %arg, i32 0, i32 2 | |
call void @zot.127(%struct.baz.89* %tmp5) #13 | |
resume { i8*, i32 } %tmp7 | |
} | |
; Function Attrs: nonlazybind uwtable | |
define internal void @ham.111(%struct.wombat.106* %arg) unnamed_addr #1 { | |
bb: | |
%tmp = getelementptr inbounds %struct.wombat.106, %struct.wombat.106* %arg, i32 0, i32 1 | |
call void @blam.98(%struct.eggs.70* %tmp) | |
ret void | |
} | |
; Function Attrs: nonlazybind uwtable | |
define internal void @snork.112(%struct.barney.58* %arg) unnamed_addr #1 personality i32 (i32, i32, i64, %struct.snork.211*, %struct.quux.212*)* @foo.542 { | |
bb: | |
%tmp1 = bitcast %struct.barney.58* %arg to %struct.eggs.59* | |
invoke void @snork.186(%struct.eggs.59* %tmp1) | |
to label %bb2 unwind label %bb6 | |
bb2: ; preds = %bb | |
%tmp3 = getelementptr inbounds %struct.barney.58, %struct.barney.58* %arg, i32 0, i32 1 | |
invoke void @snork.186(%struct.eggs.59* %tmp3) | |
to label %bb15 unwind label %bb17 | |
bb6: ; preds = %bb | |
%tmp7 = landingpad { i8*, i32 } | |
cleanup | |
%tmp9 = extractvalue { i8*, i32 } %tmp7, 0 | |
%tmp10 = extractvalue { i8*, i32 } %tmp7, 1 | |
%tmp5 = getelementptr inbounds %struct.barney.58, %struct.barney.58* %arg, i32 0, i32 1 | |
call void @snork.186(%struct.eggs.59* %tmp5) #13 | |
br label %bb13 | |
bb13: ; preds = %bb17, %bb6 | |
%tmp.sroa.6.0 = phi i32 [ %tmp21, %bb17 ], [ %tmp10, %bb6 ] | |
%tmp.sroa.0.0 = phi i8* [ %tmp20, %bb17 ], [ %tmp9, %bb6 ] | |
%tmp14 = getelementptr inbounds %struct.barney.58, %struct.barney.58* %arg, i32 0, i32 2 | |
call void @hoge.285(%struct.zot.60* %tmp14) #13 | |
%tmp30 = insertvalue { i8*, i32 } undef, i8* %tmp.sroa.0.0, 0 | |
%tmp31 = insertvalue { i8*, i32 } %tmp30, i32 %tmp.sroa.6.0, 1 | |
resume { i8*, i32 } %tmp31 | |
bb15: ; preds = %bb2 | |
%tmp16 = getelementptr inbounds %struct.barney.58, %struct.barney.58* %arg, i32 0, i32 2 | |
call void @hoge.285(%struct.zot.60* %tmp16) | |
ret void | |
bb17: ; preds = %bb2 | |
%tmp18 = landingpad { i8*, i32 } | |
cleanup | |
%tmp20 = extractvalue { i8*, i32 } %tmp18, 0 | |
%tmp21 = extractvalue { i8*, i32 } %tmp18, 1 | |
br label %bb13 | |
} | |
; Function Attrs: nonlazybind uwtable | |
define internal void @ham.113(%struct.baz.67* %arg) unnamed_addr #1 personality i32 (i32, i32, i64, %struct.snork.211*, %struct.quux.212*)* @foo.542 { | |
bb: | |
%tmp1 = bitcast %struct.baz.67* %arg to i32* | |
%tmp2 = load i32, i32* %tmp1, align 8, !range !9 | |
%tmp3 = zext i32 %tmp2 to i64 | |
switch i64 %tmp3, label %bb4 [ | |
i64 0, label %bb5 | |
i64 1, label %bb8 | |
i64 2, label %bb11 | |
i64 3, label %bb14 | |
] | |
bb4: ; preds = %bb38, %bb17, %bb11, %bb8, %bb | |
ret void | |
bb5: ; preds = %bb | |
%tmp6 = bitcast %struct.baz.67* %arg to %struct.quux.107* | |
%tmp7 = getelementptr inbounds %struct.quux.107, %struct.quux.107* %tmp6, i32 0, i32 3 | |
invoke void @spam.88(%struct.baz.44* %tmp7) | |
to label %bb38 unwind label %bb44 | |
bb8: ; preds = %bb | |
%tmp9 = bitcast %struct.baz.67* %arg to %struct.bar.108* | |
%tmp10 = getelementptr inbounds %struct.bar.108, %struct.bar.108* %tmp9, i32 0, i32 2 | |
call void @spam.88(%struct.baz.44* %tmp10) | |
br label %bb4 | |
bb11: ; preds = %bb | |
%tmp12 = bitcast %struct.baz.67* %arg to %struct.pluto.109* | |
%tmp13 = getelementptr inbounds %struct.pluto.109, %struct.pluto.109* %tmp12, i32 0, i32 2 | |
call void @foo.36(%struct.wibble.40* %tmp13) | |
br label %bb4 | |
bb14: ; preds = %bb | |
%tmp15 = bitcast %struct.baz.67* %arg to %struct.ham.110* | |
%tmp16 = getelementptr inbounds %struct.ham.110, %struct.ham.110* %tmp15, i32 0, i32 2 | |
invoke void @pluto.96(%struct.eggs.99* %tmp16) | |
to label %bb17 unwind label %bb23 | |
bb17: ; preds = %bb14 | |
%tmp19 = getelementptr inbounds %struct.ham.110, %struct.ham.110* %tmp15, i32 0, i32 3 | |
call void @ham.283(%struct.wombat.111* %tmp19) | |
br label %bb4 | |
bb23: ; preds = %bb14 | |
%tmp24 = landingpad { i8*, i32 } | |
cleanup | |
%tmp26 = extractvalue { i8*, i32 } %tmp24, 0 | |
%tmp27 = extractvalue { i8*, i32 } %tmp24, 1 | |
%tmp22 = getelementptr inbounds %struct.ham.110, %struct.ham.110* %tmp15, i32 0, i32 3 | |
call void @ham.283(%struct.wombat.111* %tmp22) #13 | |
br label %bb30 | |
bb30: ; preds = %bb44, %bb23 | |
%tmp.sroa.6.0 = phi i32 [ %tmp27, %bb23 ], [ %tmp48, %bb44 ] | |
%tmp.sroa.0.0 = phi i8* [ %tmp26, %bb23 ], [ %tmp47, %bb44 ] | |
%tmp36 = insertvalue { i8*, i32 } undef, i8* %tmp.sroa.0.0, 0 | |
%tmp37 = insertvalue { i8*, i32 } %tmp36, i32 %tmp.sroa.6.0, 1 | |
resume { i8*, i32 } %tmp37 | |
bb38: ; preds = %bb5 | |
%tmp40 = getelementptr inbounds %struct.quux.107, %struct.quux.107* %tmp6, i32 0, i32 4 | |
call void @snork.186(%struct.eggs.59* %tmp40) | |
br label %bb4 | |
bb44: ; preds = %bb5 | |
%tmp45 = landingpad { i8*, i32 } | |
cleanup | |
%tmp47 = extractvalue { i8*, i32 } %tmp45, 0 | |
%tmp48 = extractvalue { i8*, i32 } %tmp45, 1 | |
%tmp43 = getelementptr inbounds %struct.quux.107, %struct.quux.107* %tmp6, i32 0, i32 4 | |
call void @snork.186(%struct.eggs.59* %tmp43) #13 | |
br label %bb30 | |
} | |
; Function Attrs: nonlazybind uwtable | |
define internal void @widget.114(%struct.snork.74* %arg) unnamed_addr #1 { | |
bb: | |
%tmp = bitcast %struct.snork.74* %arg to { [0 x i32]*, i64 }* | |
call void @eggs.116({ [0 x i32]*, i64 }* %tmp) | |
ret void | |
} | |
; Function Attrs: nonlazybind uwtable | |
define internal void @wombat.115([0 x %struct.eggs.70]* %arg, i64 %arg1) unnamed_addr #1 personality i32 (i32, i32, i64, %struct.snork.211*, %struct.quux.212*)* @foo.542 { | |
bb: | |
%tmp6 = bitcast [0 x %struct.eggs.70]* %arg to %struct.eggs.70* | |
%tmp8 = getelementptr inbounds %struct.eggs.70, %struct.eggs.70* %tmp6, i64 %arg1 | |
br label %bb9 | |
bb9: ; preds = %bb12, %bb | |
%tmp2.0 = phi %struct.eggs.70* [ %tmp6, %bb ], [ %tmp15, %bb12 ] | |
%tmp11 = icmp eq %struct.eggs.70* %tmp2.0, %tmp8 | |
br i1 %tmp11, label %bb16, label %bb12 | |
bb12: ; preds = %bb9 | |
%tmp15 = getelementptr inbounds %struct.eggs.70, %struct.eggs.70* %tmp2.0, i64 1 | |
invoke void @blam.98(%struct.eggs.70* %tmp2.0) | |
to label %bb9 unwind label %bb20 | |
bb16: ; preds = %bb9 | |
ret void | |
bb17: ; preds = %bb27, %bb20 | |
%tmp2.1 = phi %struct.eggs.70* [ %tmp15, %bb20 ], [ %tmp30, %bb27 ] | |
%tmp19 = icmp eq %struct.eggs.70* %tmp2.1, %tmp8 | |
br i1 %tmp19, label %bb31, label %bb27 | |
bb20: ; preds = %bb12 | |
%tmp21 = landingpad { i8*, i32 } | |
cleanup | |
%tmp23 = extractvalue { i8*, i32 } %tmp21, 0 | |
%tmp24 = extractvalue { i8*, i32 } %tmp21, 1 | |
br label %bb17 | |
bb27: ; preds = %bb17 | |
%tmp30 = getelementptr inbounds %struct.eggs.70, %struct.eggs.70* %tmp2.1, i64 1 | |
call void @blam.98(%struct.eggs.70* %tmp2.1) #13 | |
br label %bb17 | |
bb31: ; preds = %bb17 | |
resume { i8*, i32 } %tmp21 | |
} | |
; Function Attrs: nonlazybind uwtable | |
define internal void @eggs.116({ [0 x i32]*, i64 }* %arg) unnamed_addr #1 personality i32 (i32, i32, i64, %struct.snork.211*, %struct.quux.212*)* @foo.542 { | |
bb: | |
%tmp2 = bitcast { [0 x i32]*, i64 }* %arg to { i32*, i64 }* | |
%tmp3 = getelementptr inbounds { i32*, i64 }, { i32*, i64 }* %tmp2, i32 0, i32 0 | |
%tmp4 = load i32*, i32** %tmp3, align 8, !nonnull !6 | |
%tmp5 = getelementptr inbounds { i32*, i64 }, { i32*, i64 }* %tmp2, i32 0, i32 1 | |
%tmp6 = load i64, i64* %tmp5, align 8 | |
call void @quux.436(i32* nonnull %tmp4, i64 %tmp6) | |
ret void | |
} | |
; Function Attrs: nonlazybind uwtable | |
define internal void @quux.117(%struct.zot.82* %arg) unnamed_addr #1 personality i32 (i32, i32, i64, %struct.snork.211*, %struct.quux.212*)* @foo.542 { | |
bb: | |
%tmp1 = bitcast %struct.zot.82* %arg to %struct.eggs.59* | |
invoke void @snork.186(%struct.eggs.59* %tmp1) | |
to label %bb2 unwind label %bb6 | |
bb2: ; preds = %bb | |
%tmp3 = getelementptr inbounds %struct.zot.82, %struct.zot.82* %arg, i32 0, i32 1 | |
call void @snork.186(%struct.eggs.59* %tmp3) | |
ret void | |
bb6: ; preds = %bb | |
%tmp7 = landingpad { i8*, i32 } | |
cleanup | |
%tmp9 = extractvalue { i8*, i32 } %tmp7, 0 | |
%tmp10 = extractvalue { i8*, i32 } %tmp7, 1 | |
%tmp5 = getelementptr inbounds %struct.zot.82, %struct.zot.82* %arg, i32 0, i32 1 | |
call void @snork.186(%struct.eggs.59* %tmp5) #13 | |
resume { i8*, i32 } %tmp7 | |
} | |
; Function Attrs: nonlazybind uwtable | |
define internal void @wibble.118([0 x %struct.ham.77]* %arg, i64 %arg1) unnamed_addr #1 personality i32 (i32, i32, i64, %struct.snork.211*, %struct.quux.212*)* @foo.542 { | |
bb: | |
%tmp6 = bitcast [0 x %struct.ham.77]* %arg to %struct.ham.77* | |
%tmp8 = getelementptr inbounds %struct.ham.77, %struct.ham.77* %tmp6, i64 %arg1 | |
br label %bb9 | |
bb9: ; preds = %bb12, %bb | |
%tmp2.0 = phi %struct.ham.77* [ %tmp6, %bb ], [ %tmp15, %bb12 ] | |
%tmp11 = icmp eq %struct.ham.77* %tmp2.0, %tmp8 | |
br i1 %tmp11, label %bb16, label %bb12 | |
bb12: ; preds = %bb9 | |
%tmp15 = getelementptr inbounds %struct.ham.77, %struct.ham.77* %tmp2.0, i64 1 | |
invoke void @snork.102(%struct.ham.77* %tmp2.0) | |
to label %bb9 unwind label %bb20 | |
bb16: ; preds = %bb9 | |
ret void | |
bb17: ; preds = %bb27, %bb20 | |
%tmp2.1 = phi %struct.ham.77* [ %tmp15, %bb20 ], [ %tmp30, %bb27 ] | |
%tmp19 = icmp eq %struct.ham.77* %tmp2.1, %tmp8 | |
br i1 %tmp19, label %bb31, label %bb27 | |
bb20: ; preds = %bb12 | |
%tmp21 = landingpad { i8*, i32 } | |
cleanup | |
%tmp23 = extractvalue { i8*, i32 } %tmp21, 0 | |
%tmp24 = extractvalue { i8*, i32 } %tmp21, 1 | |
br label %bb17 | |
bb27: ; preds = %bb17 | |
%tmp30 = getelementptr inbounds %struct.ham.77, %struct.ham.77* %tmp2.1, i64 1 | |
call void @snork.102(%struct.ham.77* %tmp2.1) #13 | |
br label %bb17 | |
bb31: ; preds = %bb17 | |
resume { i8*, i32 } %tmp21 | |
} | |
; Function Attrs: nonlazybind uwtable | |
define internal void @wibble.119([0 x %struct.snork.52]* %arg, i64 %arg1) unnamed_addr #1 personality i32 (i32, i32, i64, %struct.snork.211*, %struct.quux.212*)* @foo.542 { | |
bb: | |
%tmp6 = bitcast [0 x %struct.snork.52]* %arg to %struct.snork.52* | |
%tmp8 = getelementptr inbounds %struct.snork.52, %struct.snork.52* %tmp6, i64 %arg1 | |
br label %bb9 | |
bb9: ; preds = %bb12, %bb | |
%tmp2.0 = phi %struct.snork.52* [ %tmp6, %bb ], [ %tmp15, %bb12 ] | |
%tmp11 = icmp eq %struct.snork.52* %tmp2.0, %tmp8 | |
br i1 %tmp11, label %bb16, label %bb12 | |
bb12: ; preds = %bb9 | |
%tmp15 = getelementptr inbounds %struct.snork.52, %struct.snork.52* %tmp2.0, i64 1 | |
invoke void @bar.103(%struct.snork.52* %tmp2.0) | |
to label %bb9 unwind label %bb20 | |
bb16: ; preds = %bb9 | |
ret void | |
bb17: ; preds = %bb27, %bb20 | |
%tmp2.1 = phi %struct.snork.52* [ %tmp15, %bb20 ], [ %tmp30, %bb27 ] | |
%tmp19 = icmp eq %struct.snork.52* %tmp2.1, %tmp8 | |
br i1 %tmp19, label %bb31, label %bb27 | |
bb20: ; preds = %bb12 | |
%tmp21 = landingpad { i8*, i32 } | |
cleanup | |
%tmp23 = extractvalue { i8*, i32 } %tmp21, 0 | |
%tmp24 = extractvalue { i8*, i32 } %tmp21, 1 | |
br label %bb17 | |
bb27: ; preds = %bb17 | |
%tmp30 = getelementptr inbounds %struct.snork.52, %struct.snork.52* %tmp2.1, i64 1 | |
call void @bar.103(%struct.snork.52* %tmp2.1) #13 | |
br label %bb17 | |
bb31: ; preds = %bb17 | |
resume { i8*, i32 } %tmp21 | |
} | |
; Function Attrs: nonlazybind uwtable | |
define internal void @hoge.120(%struct.widget.84* %arg) unnamed_addr #1 { | |
bb: | |
%tmp = bitcast %struct.widget.84* %arg to %struct.wombat.33* | |
call void @blam.35(%struct.wombat.33* %tmp) | |
ret void | |
} | |
; Function Attrs: nonlazybind uwtable | |
define internal void @hoge.121(%struct.blam.75* %arg) unnamed_addr #1 { | |
bb: | |
%tmp = bitcast %struct.blam.75* %arg to { [0 x i32]*, i64 }* | |
call void @spam.282({ [0 x i32]*, i64 }* %tmp) | |
ret void | |
} | |
; Function Attrs: nonlazybind uwtable | |
define internal void @wobble.122(%struct.widget.55* %arg) unnamed_addr #1 { | |
bb: | |
%tmp = bitcast %struct.widget.55* %arg to %struct.snork.56* | |
call void @blam.347(%struct.snork.56* %tmp) | |
ret void | |
} | |
; Function Attrs: nonlazybind uwtable | |
define internal void @snork.123(%struct.zot.57* %arg) unnamed_addr #1 { | |
bb: | |
%tmp = bitcast %struct.zot.57* %arg to %struct.wombat.33* | |
call void @blam.35(%struct.wombat.33* %tmp) | |
ret void | |
} | |
; Function Attrs: nonlazybind uwtable | |
define internal void @wombat.124([0 x %struct.wibble.71]* %arg, i64 %arg1) unnamed_addr #1 personality i32 (i32, i32, i64, %struct.snork.211*, %struct.quux.212*)* @foo.542 { | |
bb: | |
%tmp6 = bitcast [0 x %struct.wibble.71]* %arg to %struct.wibble.71* | |
%tmp8 = getelementptr inbounds %struct.wibble.71, %struct.wibble.71* %tmp6, i64 %arg1 | |
br label %bb9 | |
bb9: ; preds = %bb12, %bb | |
%tmp2.0 = phi %struct.wibble.71* [ %tmp6, %bb ], [ %tmp15, %bb12 ] | |
%tmp11 = icmp eq %struct.wibble.71* %tmp2.0, %tmp8 | |
br i1 %tmp11, label %bb16, label %bb12 | |
bb12: ; preds = %bb9 | |
%tmp15 = getelementptr inbounds %struct.wibble.71, %struct.wibble.71* %tmp2.0, i64 1 | |
invoke void @pluto.107(%struct.wibble.71* %tmp2.0) | |
to label %bb9 unwind label %bb20 | |
bb16: ; preds = %bb9 | |
ret void | |
bb17: ; preds = %bb27, %bb20 | |
%tmp2.1 = phi %struct.wibble.71* [ %tmp15, %bb20 ], [ %tmp30, %bb27 ] | |
%tmp19 = icmp eq %struct.wibble.71* %tmp2.1, %tmp8 | |
br i1 %tmp19, label %bb31, label %bb27 | |
bb20: ; preds = %bb12 | |
%tmp21 = landingpad { i8*, i32 } | |
cleanup | |
%tmp23 = extractvalue { i8*, i32 } %tmp21, 0 | |
%tmp24 = extractvalue { i8*, i32 } %tmp21, 1 | |
br label %bb17 | |
bb27: ; preds = %bb17 | |
%tmp30 = getelementptr inbounds %struct.wibble.71, %struct.wibble.71* %tmp2.1, i64 1 | |
call void @pluto.107(%struct.wibble.71* %tmp2.1) #13 | |
br label %bb17 | |
bb31: ; preds = %bb17 | |
resume { i8*, i32 } %tmp21 | |
} | |
; Function Attrs: nonlazybind uwtable | |
define internal void @zot.125(%struct.blam.35* %arg) unnamed_addr #1 { | |
bb: | |
call void @wobble.551(%struct.blam.35* noalias align 8 dereferenceable(32) %arg) | |
ret void | |
} | |
; Function Attrs: nonlazybind uwtable | |
define internal void @quux.126([0 x %struct.wombat.88]* %arg, i64 %arg1) unnamed_addr #1 personality i32 (i32, i32, i64, %struct.snork.211*, %struct.quux.212*)* @foo.542 { | |
bb: | |
%tmp6 = bitcast [0 x %struct.wombat.88]* %arg to %struct.wombat.88* | |
%tmp8 = getelementptr inbounds %struct.wombat.88, %struct.wombat.88* %tmp6, i64 %arg1 | |
br label %bb9 | |
bb9: ; preds = %bb12, %bb | |
%tmp2.0 = phi %struct.wombat.88* [ %tmp6, %bb ], [ %tmp15, %bb12 ] | |
%tmp11 = icmp eq %struct.wombat.88* %tmp2.0, %tmp8 | |
br i1 %tmp11, label %bb16, label %bb12 | |
bb12: ; preds = %bb9 | |
%tmp15 = getelementptr inbounds %struct.wombat.88, %struct.wombat.88* %tmp2.0, i64 1 | |
invoke void @wombat.110(%struct.wombat.88* %tmp2.0) | |
to label %bb9 unwind label %bb20 | |
bb16: ; preds = %bb9 | |
ret void | |
bb17: ; preds = %bb27, %bb20 | |
%tmp2.1 = phi %struct.wombat.88* [ %tmp15, %bb20 ], [ %tmp30, %bb27 ] | |
%tmp19 = icmp eq %struct.wombat.88* %tmp2.1, %tmp8 | |
br i1 %tmp19, label %bb31, label %bb27 | |
bb20: ; preds = %bb12 | |
%tmp21 = landingpad { i8*, i32 } | |
cleanup | |
%tmp23 = extractvalue { i8*, i32 } %tmp21, 0 | |
%tmp24 = extractvalue { i8*, i32 } %tmp21, 1 | |
br label %bb17 | |
bb27: ; preds = %bb17 | |
%tmp30 = getelementptr inbounds %struct.wombat.88, %struct.wombat.88* %tmp2.1, i64 1 | |
call void @wombat.110(%struct.wombat.88* %tmp2.1) #13 | |
br label %bb17 | |
bb31: ; preds = %bb17 | |
resume { i8*, i32 } %tmp21 | |
} | |
; Function Attrs: nonlazybind uwtable | |
define internal void @zot.127(%struct.baz.89* %arg) unnamed_addr #1 { | |
bb: | |
%tmp = bitcast %struct.baz.89* %arg to {}** | |
%tmp1 = load {}*, {}** %tmp, align 8 | |
%tmp2 = icmp eq {}* %tmp1, null | |
%tmp3 = select i1 %tmp2, i64 0, i64 1 | |
br i1 %tmp2, label %bb5, label %bb6 | |
bb5: ; preds = %bb6, %bb | |
ret void | |
bb6: ; preds = %bb | |
%tmp7 = bitcast %struct.baz.89* %arg to %struct.eggs.112* | |
%tmp8 = bitcast %struct.eggs.112* %tmp7 to %struct.ham.90* | |
call void @spam.87(%struct.ham.90* %tmp8) | |
br label %bb5 | |
} | |
; Function Attrs: nonlazybind uwtable | |
define internal void @baz.128([0 x %struct.barney.58]* %arg, i64 %arg1) unnamed_addr #1 personality i32 (i32, i32, i64, %struct.snork.211*, %struct.quux.212*)* @foo.542 { | |
bb: | |
%tmp6 = bitcast [0 x %struct.barney.58]* %arg to %struct.barney.58* | |
%tmp8 = getelementptr inbounds %struct.barney.58, %struct.barney.58* %tmp6, i64 %arg1 | |
br label %bb9 | |
bb9: ; preds = %bb12, %bb | |
%tmp2.0 = phi %struct.barney.58* [ %tmp6, %bb ], [ %tmp15, %bb12 ] | |
%tmp11 = icmp eq %struct.barney.58* %tmp2.0, %tmp8 | |
br i1 %tmp11, label %bb16, label %bb12 | |
bb12: ; preds = %bb9 | |
%tmp15 = getelementptr inbounds %struct.barney.58, %struct.barney.58* %tmp2.0, i64 1 | |
invoke void @snork.112(%struct.barney.58* %tmp2.0) | |
to label %bb9 unwind label %bb20 | |
bb16: ; preds = %bb9 | |
ret void | |
bb17: ; preds = %bb27, %bb20 | |
%tmp2.1 = phi %struct.barney.58* [ %tmp15, %bb20 ], [ %tmp30, %bb27 ] | |
%tmp19 = icmp eq %struct.barney.58* %tmp2.1, %tmp8 | |
br i1 %tmp19, label %bb31, label %bb27 | |
bb20: ; preds = %bb12 | |
%tmp21 = landingpad { i8*, i32 } | |
cleanup | |
%tmp23 = extractvalue { i8*, i32 } %tmp21, 0 | |
%tmp24 = extractvalue { i8*, i32 } %tmp21, 1 | |
br label %bb17 | |
bb27: ; preds = %bb17 | |
%tmp30 = getelementptr inbounds %struct.barney.58, %struct.barney.58* %tmp2.1, i64 1 | |
call void @snork.112(%struct.barney.58* %tmp2.1) #13 | |
br label %bb17 | |
bb31: ; preds = %bb17 | |
resume { i8*, i32 } %tmp21 | |
} | |
; Function Attrs: nonlazybind uwtable | |
define internal void @ham.129([0 x %struct.baz.67]* %arg, i64 %arg1) unnamed_addr #1 personality i32 (i32, i32, i64, %struct.snork.211*, %struct.quux.212*)* @foo.542 { | |
bb: | |
%tmp6 = bitcast [0 x %struct.baz.67]* %arg to %struct.baz.67* | |
%tmp8 = getelementptr inbounds %struct.baz.67, %struct.baz.67* %tmp6, i64 %arg1 | |
br label %bb9 | |
bb9: ; preds = %bb12, %bb | |
%tmp2.0 = phi %struct.baz.67* [ %tmp6, %bb ], [ %tmp15, %bb12 ] | |
%tmp11 = icmp eq %struct.baz.67* %tmp2.0, %tmp8 | |
br i1 %tmp11, label %bb16, label %bb12 | |
bb12: ; preds = %bb9 | |
%tmp15 = getelementptr inbounds %struct.baz.67, %struct.baz.67* %tmp2.0, i64 1 | |
invoke void @ham.113(%struct.baz.67* %tmp2.0) | |
to label %bb9 unwind label %bb20 | |
bb16: ; preds = %bb9 | |
ret void | |
bb17: ; preds = %bb27, %bb20 | |
%tmp2.1 = phi %struct.baz.67* [ %tmp15, %bb20 ], [ %tmp30, %bb27 ] | |
%tmp19 = icmp eq %struct.baz.67* %tmp2.1, %tmp8 | |
br i1 %tmp19, label %bb31, label %bb27 | |
bb20: ; preds = %bb12 | |
%tmp21 = landingpad { i8*, i32 } | |
cleanup | |
%tmp23 = extractvalue { i8*, i32 } %tmp21, 0 | |
%tmp24 = extractvalue { i8*, i32 } %tmp21, 1 | |
br label %bb17 | |
bb27: ; preds = %bb17 | |
%tmp30 = getelementptr inbounds %struct.baz.67, %struct.baz.67* %tmp2.1, i64 1 | |
call void @ham.113(%struct.baz.67* %tmp2.1) #13 | |
br label %bb17 | |
bb31: ; preds = %bb17 | |
resume { i8*, i32 } %tmp21 | |
} | |
; Function Attrs: nonlazybind uwtable | |
define internal void @wibble.130(%struct.spam.28* %arg) unnamed_addr #1 personality i32 (i32, i32, i64, %struct.snork.211*, %struct.quux.212*)* @foo.542 { | |
bb: | |
invoke void @snork.516(%struct.spam.28* noalias align 8 dereferenceable(24) %arg) | |
to label %bb1 unwind label %bb5 | |
bb1: ; preds = %bb | |
%tmp2 = bitcast %struct.spam.28* %arg to { i8*, i64 }* | |
call void @blam.194({ i8*, i64 }* %tmp2) | |
ret void | |
bb5: ; preds = %bb | |
%tmp6 = landingpad { i8*, i32 } | |
cleanup | |
%tmp8 = extractvalue { i8*, i32 } %tmp6, 0 | |
%tmp9 = extractvalue { i8*, i32 } %tmp6, 1 | |
%tmp4 = bitcast %struct.spam.28* %arg to { i8*, i64 }* | |
call void @blam.194({ i8*, i64 }* %tmp4) #13 | |
resume { i8*, i32 } %tmp6 | |
} | |
; Function Attrs: nonlazybind uwtable | |
define internal void @widget.131(i64** %arg) unnamed_addr #1 { | |
bb: | |
call void @hoge.489(i64** noalias align 8 dereferenceable(8) %arg) | |
ret void | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal { i8*, i64 } @wombat.132([0 x i8]* %arg, i64 %arg1) unnamed_addr #0 { | |
bb: | |
%0 = bitcast [0 x i8]* %arg to i8* | |
%1 = icmp ne i8* %0, null | |
call void @llvm.assume(i1 %1) | |
%tmp9 = insertvalue { i8*, i64 } undef, i8* %0, 0 | |
%tmp10 = insertvalue { i8*, i64 } %tmp9, i64 %arg1, 1 | |
ret { i8*, i64 } %tmp10 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal nonnull i8* @spam.133(i8* %arg) unnamed_addr #0 { | |
bb: | |
%0 = icmp ne i8* %arg, null | |
call void @llvm.assume(i1 %0) | |
ret i8* %arg | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal nonnull i8* @spam.134(i8* nonnull %arg, i64 %arg1) unnamed_addr #0 { | |
bb: | |
%tmp = call { [0 x i8]*, i64 } @widget.172(i8* nonnull %arg, i64 %arg1) | |
%tmp2 = extractvalue { [0 x i8]*, i64 } %tmp, 0 | |
%tmp5 = bitcast [0 x i8]* %tmp2 to i8* | |
%tmp6 = call nonnull i8* @spam.133(i8* %tmp5) | |
ret i8* %tmp6 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal nonnull i8* @widget.135(i8* nonnull %arg, i64 %arg1) unnamed_addr #0 { | |
bb: | |
%tmp = call { [0 x i8]*, i64 } @bar.180(i8* nonnull %arg, i64 %arg1) | |
%tmp2 = extractvalue { [0 x i8]*, i64 } %tmp, 0 | |
%tmp5 = bitcast [0 x i8]* %tmp2 to i8* | |
%tmp6 = call nonnull i8* @spam.133(i8* %tmp5) | |
ret i8* %tmp6 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal nonnull i8* @widget.136(i32* nonnull %arg, i64 %arg1) unnamed_addr #0 { | |
bb: | |
%tmp = call { [0 x i32]*, i64 } @snork.156(i32* nonnull %arg, i64 %arg1) | |
%tmp2 = extractvalue { [0 x i32]*, i64 } %tmp, 0 | |
%tmp5 = bitcast [0 x i32]* %tmp2 to i8* | |
%tmp6 = call nonnull i8* @spam.133(i8* %tmp5) | |
ret i8* %tmp6 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal nonnull i8* @pluto.137(i32* nonnull %arg, i64 %arg1) unnamed_addr #0 { | |
bb: | |
%tmp = call { [0 x i32]*, i64 } @spam.141(i32* nonnull %arg, i64 %arg1) | |
%tmp2 = extractvalue { [0 x i32]*, i64 } %tmp, 0 | |
%tmp5 = bitcast [0 x i32]* %tmp2 to i8* | |
%tmp6 = call nonnull i8* @spam.133(i8* %tmp5) | |
ret i8* %tmp6 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal %struct.wombat.88* @eggs.138(i64* nonnull %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast i64* %arg to %struct.wombat.88* | |
ret %struct.wombat.88* %tmp | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal %struct.wibble.71* @quux.139(i64* nonnull %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast i64* %arg to %struct.wibble.71* | |
ret %struct.wibble.71* %tmp | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal %struct.wibble.61* @foo.140(i64* nonnull %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast i64* %arg to %struct.wibble.61* | |
ret %struct.wibble.61* %tmp | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal { [0 x i32]*, i64 } @spam.141(i32* nonnull %arg, i64 %arg1) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast i32* %arg to [0 x i32]* | |
%tmp2 = insertvalue { [0 x i32]*, i64 } undef, [0 x i32]* %tmp, 0 | |
%tmp3 = insertvalue { [0 x i32]*, i64 } %tmp2, i64 %arg1, 1 | |
ret { [0 x i32]*, i64 } %tmp3 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal %struct.ham.85* @baz.142(i64* nonnull %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast i64* %arg to %struct.ham.85* | |
ret %struct.ham.85* %tmp | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal %struct.pluto.68* @baz.143(i64* nonnull %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast i64* %arg to %struct.pluto.68* | |
ret %struct.pluto.68* %tmp | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal i64* @wombat.144(i64* nonnull %arg) unnamed_addr #0 { | |
bb: | |
ret i64* %arg | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal %struct.wibble.83* @blam.145(i64* nonnull %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast i64* %arg to %struct.wibble.83* | |
ret %struct.wibble.83* %tmp | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal %struct.widget.76* @ham.146(i64* nonnull %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast i64* %arg to %struct.widget.76* | |
ret %struct.widget.76* %tmp | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal i16* @foo.147(i16* nonnull %arg) unnamed_addr #0 { | |
bb: | |
ret i16* %arg | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal %struct.eggs* @snork.148(i64* nonnull %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast i64* %arg to %struct.eggs* | |
ret %struct.eggs* %tmp | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal i32* @barney.149(i32* nonnull %arg) unnamed_addr #0 { | |
bb: | |
ret i32* %arg | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal %struct.eggs.70* @hoge.150(i64* nonnull %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast i64* %arg to %struct.eggs.70* | |
ret %struct.eggs.70* %tmp | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal %struct.baz.67* @ham.151(i64* nonnull %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast i64* %arg to %struct.baz.67* | |
ret %struct.baz.67* %tmp | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal %struct.zot.82* @baz.152(i64* nonnull %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast i64* %arg to %struct.zot.82* | |
ret %struct.zot.82* %tmp | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal %struct.widget.73* @wibble.153(i64* nonnull %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast i64* %arg to %struct.widget.73* | |
ret %struct.widget.73* %tmp | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal %struct.ham.77* @baz.154(i64* nonnull %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast i64* %arg to %struct.ham.77* | |
ret %struct.ham.77* %tmp | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal %struct.barney.58* @widget.155(i64* nonnull %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast i64* %arg to %struct.barney.58* | |
ret %struct.barney.58* %tmp | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal { [0 x i32]*, i64 } @snork.156(i32* nonnull %arg, i64 %arg1) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast i32* %arg to [0 x i32]* | |
%tmp2 = insertvalue { [0 x i32]*, i64 } undef, [0 x i32]* %tmp, 0 | |
%tmp3 = insertvalue { [0 x i32]*, i64 } %tmp2, i64 %arg1, 1 | |
ret { [0 x i32]*, i64 } %tmp3 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal { i32, i32 }* @ham.157(i32* nonnull %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast i32* %arg to { i32, i32 }* | |
ret { i32, i32 }* %tmp | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal i64** @bar.158(i64* nonnull %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast i64* %arg to i64** | |
ret i64** %tmp | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal %struct.snork.52* @foo.159(i64* nonnull %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast i64* %arg to %struct.snork.52* | |
ret %struct.snork.52* %tmp | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal %struct.blam.75* @widget.160(i64* nonnull %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast i64* %arg to %struct.blam.75* | |
ret %struct.blam.75* %tmp | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal %struct.foo.62* @foo.161(i32* nonnull %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast i32* %arg to %struct.foo.62* | |
ret %struct.foo.62* %tmp | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal %struct.widget.55* @wombat.162(i64* nonnull %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast i64* %arg to %struct.widget.55* | |
ret %struct.widget.55* %tmp | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal %struct.snork.47* @zot.163(i64* nonnull %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast i64* %arg to %struct.snork.47* | |
ret %struct.snork.47* %tmp | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal i32* @snork.164(i32* nonnull %arg) unnamed_addr #0 { | |
bb: | |
ret i32* %arg | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal i8* @snork.165(i8* nonnull %arg) unnamed_addr #0 { | |
bb: | |
ret i8* %arg | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal { i64*, i64 }* @wombat.166(i64* nonnull %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast i64* %arg to { i64*, i64 }* | |
ret { i64*, i64 }* %tmp | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal %struct.widget.84* @blam.167(i64* nonnull %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast i64* %arg to %struct.widget.84* | |
ret %struct.widget.84* %tmp | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal i64** @spam.168(i64* nonnull %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast i64* %arg to i64** | |
ret i64** %tmp | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal %struct.foo.86* @snork.169(i64* nonnull %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast i64* %arg to %struct.foo.86* | |
ret %struct.foo.86* %tmp | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal %struct.widget.66* @quux.170(i32* nonnull %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast i32* %arg to %struct.widget.66* | |
ret %struct.widget.66* %tmp | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal %struct.snork.46* @spam.171(i64* nonnull %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast i64* %arg to %struct.snork.46* | |
ret %struct.snork.46* %tmp | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal { [0 x i8]*, i64 } @widget.172(i8* nonnull %arg, i64 %arg1) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast i8* %arg to [0 x i8]* | |
%tmp2 = insertvalue { [0 x i8]*, i64 } undef, [0 x i8]* %tmp, 0 | |
%tmp3 = insertvalue { [0 x i8]*, i64 } %tmp2, i64 %arg1, 1 | |
ret { [0 x i8]*, i64 } %tmp3 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal i32* @quux.173(i32* nonnull %arg) unnamed_addr #0 { | |
bb: | |
ret i32* %arg | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal %struct.blam.43* @wibble.174(i64* nonnull %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast i64* %arg to %struct.blam.43* | |
ret %struct.blam.43* %tmp | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal %struct.zot.57* @foo.175(i64* nonnull %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast i64* %arg to %struct.zot.57* | |
ret %struct.zot.57* %tmp | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal %struct.blam.65* @snork.176(i64* nonnull %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast i64* %arg to %struct.blam.65* | |
ret %struct.blam.65* %tmp | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal { i64, { i32, i32 } }* @eggs.177(i64* nonnull %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast i64* %arg to { i64, { i32, i32 } }* | |
ret { i64, { i32, i32 } }* %tmp | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal i8* @zot.178(i8* nonnull %arg) unnamed_addr #0 { | |
bb: | |
ret i8* %arg | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal { [0 x i32]*, i64 }* @ham.179(i64* nonnull %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast i64* %arg to { [0 x i32]*, i64 }* | |
ret { [0 x i32]*, i64 }* %tmp | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal { [0 x i8]*, i64 } @bar.180(i8* nonnull %arg, i64 %arg1) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast i8* %arg to [0 x i8]* | |
%tmp2 = insertvalue { [0 x i8]*, i64 } undef, [0 x i8]* %tmp, 0 | |
%tmp3 = insertvalue { [0 x i8]*, i64 } %tmp2, i64 %arg1, 1 | |
ret { [0 x i8]*, i64 } %tmp3 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal { [0 x i8]*, i64 } @baz.181({ i8*, i64 }* noalias readonly align 8 dereferenceable(16) %arg) unnamed_addr #0 { | |
bb: | |
%tmp = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %arg, i32 0, i32 0 | |
%tmp1 = load i8*, i8** %tmp, align 8, !nonnull !6 | |
%tmp2 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %arg, i32 0, i32 1 | |
%tmp3 = load i64, i64* %tmp2, align 8 | |
%tmp4 = call { [0 x i8]*, i64 } @widget.172(i8* nonnull %tmp1, i64 %tmp3) | |
%tmp5 = extractvalue { [0 x i8]*, i64 } %tmp4, 0 | |
%tmp6 = extractvalue { [0 x i8]*, i64 } %tmp4, 1 | |
ret { [0 x i8]*, i64 } %tmp4 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal { [0 x i8]*, i64 } @wobble.182({ i8*, i64 }* noalias readonly align 8 dereferenceable(16) %arg) unnamed_addr #0 { | |
bb: | |
%tmp = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %arg, i32 0, i32 0 | |
%tmp1 = load i8*, i8** %tmp, align 8, !nonnull !6 | |
%tmp2 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %arg, i32 0, i32 1 | |
%tmp3 = load i64, i64* %tmp2, align 8 | |
%tmp4 = call { [0 x i8]*, i64 } @bar.180(i8* nonnull %tmp1, i64 %tmp3) | |
%tmp5 = extractvalue { [0 x i8]*, i64 } %tmp4, 0 | |
%tmp6 = extractvalue { [0 x i8]*, i64 } %tmp4, 1 | |
ret { [0 x i8]*, i64 } %tmp4 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal { [0 x i32]*, i64 } @pluto.183({ i32*, i64 }* noalias readonly align 8 dereferenceable(16) %arg) unnamed_addr #0 { | |
bb: | |
%tmp = getelementptr inbounds { i32*, i64 }, { i32*, i64 }* %arg, i32 0, i32 0 | |
%tmp1 = load i32*, i32** %tmp, align 8, !nonnull !6 | |
%tmp2 = getelementptr inbounds { i32*, i64 }, { i32*, i64 }* %arg, i32 0, i32 1 | |
%tmp3 = load i64, i64* %tmp2, align 8 | |
%tmp4 = call { [0 x i32]*, i64 } @snork.156(i32* nonnull %tmp1, i64 %tmp3) | |
%tmp5 = extractvalue { [0 x i32]*, i64 } %tmp4, 0 | |
%tmp6 = extractvalue { [0 x i32]*, i64 } %tmp4, 1 | |
ret { [0 x i32]*, i64 } %tmp4 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal { [0 x i32]*, i64 } @quux.184({ i32*, i64 }* noalias readonly align 8 dereferenceable(16) %arg) unnamed_addr #0 { | |
bb: | |
%tmp = getelementptr inbounds { i32*, i64 }, { i32*, i64 }* %arg, i32 0, i32 0 | |
%tmp1 = load i32*, i32** %tmp, align 8, !nonnull !6 | |
%tmp2 = getelementptr inbounds { i32*, i64 }, { i32*, i64 }* %arg, i32 0, i32 1 | |
%tmp3 = load i64, i64* %tmp2, align 8 | |
%tmp4 = call { [0 x i32]*, i64 } @spam.141(i32* nonnull %tmp1, i64 %tmp3) | |
%tmp5 = extractvalue { [0 x i32]*, i64 } %tmp4, 0 | |
%tmp6 = extractvalue { [0 x i32]*, i64 } %tmp4, 1 | |
ret { [0 x i32]*, i64 } %tmp4 | |
} | |
; Function Attrs: nonlazybind uwtable | |
define internal void @ham.185([0 x %struct.zot.82]* %arg, i64 %arg1) unnamed_addr #1 personality i32 (i32, i32, i64, %struct.snork.211*, %struct.quux.212*)* @foo.542 { | |
bb: | |
%tmp6 = bitcast [0 x %struct.zot.82]* %arg to %struct.zot.82* | |
%tmp8 = getelementptr inbounds %struct.zot.82, %struct.zot.82* %tmp6, i64 %arg1 | |
br label %bb9 | |
bb9: ; preds = %bb12, %bb | |
%tmp2.0 = phi %struct.zot.82* [ %tmp6, %bb ], [ %tmp15, %bb12 ] | |
%tmp11 = icmp eq %struct.zot.82* %tmp2.0, %tmp8 | |
br i1 %tmp11, label %bb16, label %bb12 | |
bb12: ; preds = %bb9 | |
%tmp15 = getelementptr inbounds %struct.zot.82, %struct.zot.82* %tmp2.0, i64 1 | |
invoke void @quux.117(%struct.zot.82* %tmp2.0) | |
to label %bb9 unwind label %bb20 | |
bb16: ; preds = %bb9 | |
ret void | |
bb17: ; preds = %bb27, %bb20 | |
%tmp2.1 = phi %struct.zot.82* [ %tmp15, %bb20 ], [ %tmp30, %bb27 ] | |
%tmp19 = icmp eq %struct.zot.82* %tmp2.1, %tmp8 | |
br i1 %tmp19, label %bb31, label %bb27 | |
bb20: ; preds = %bb12 | |
%tmp21 = landingpad { i8*, i32 } | |
cleanup | |
%tmp23 = extractvalue { i8*, i32 } %tmp21, 0 | |
%tmp24 = extractvalue { i8*, i32 } %tmp21, 1 | |
br label %bb17 | |
bb27: ; preds = %bb17 | |
%tmp30 = getelementptr inbounds %struct.zot.82, %struct.zot.82* %tmp2.1, i64 1 | |
call void @quux.117(%struct.zot.82* %tmp2.1) #13 | |
br label %bb17 | |
bb31: ; preds = %bb17 | |
resume { i8*, i32 } %tmp21 | |
} | |
; Function Attrs: nonlazybind uwtable | |
define internal void @snork.186(%struct.eggs.59* %arg) unnamed_addr #1 { | |
bb: | |
%tmp = bitcast %struct.eggs.59* %arg to {}** | |
%tmp1 = load {}*, {}** %tmp, align 8 | |
%tmp2 = icmp eq {}* %tmp1, null | |
%tmp3 = select i1 %tmp2, i64 0, i64 1 | |
br i1 %tmp2, label %bb5, label %bb6 | |
bb5: ; preds = %bb6, %bb | |
ret void | |
bb6: ; preds = %bb | |
%tmp7 = bitcast %struct.eggs.59* %arg to %struct.wombat.113* | |
%tmp8 = bitcast %struct.wombat.113* %tmp7 to %struct.baz.44* | |
call void @spam.88(%struct.baz.44* %tmp8) | |
br label %bb5 | |
} | |
; Function Attrs: nonlazybind uwtable | |
define internal void @bar.187(%struct.widget.73* %arg) unnamed_addr #1 { | |
bb: | |
%tmp = bitcast %struct.widget.73* %arg to %struct.snork.74* | |
call void @widget.114(%struct.snork.74* %tmp) | |
ret void | |
} | |
; Function Attrs: nonlazybind uwtable | |
define internal void @quux.188([0 x %struct.widget.84]* %arg, i64 %arg1) unnamed_addr #1 personality i32 (i32, i32, i64, %struct.snork.211*, %struct.quux.212*)* @foo.542 { | |
bb: | |
%tmp6 = bitcast [0 x %struct.widget.84]* %arg to %struct.widget.84* | |
%tmp8 = getelementptr inbounds %struct.widget.84, %struct.widget.84* %tmp6, i64 %arg1 | |
br label %bb9 | |
bb9: ; preds = %bb12, %bb | |
%tmp2.0 = phi %struct.widget.84* [ %tmp6, %bb ], [ %tmp15, %bb12 ] | |
%tmp11 = icmp eq %struct.widget.84* %tmp2.0, %tmp8 | |
br i1 %tmp11, label %bb16, label %bb12 | |
bb12: ; preds = %bb9 | |
%tmp15 = getelementptr inbounds %struct.widget.84, %struct.widget.84* %tmp2.0, i64 1 | |
invoke void @hoge.120(%struct.widget.84* %tmp2.0) | |
to label %bb9 unwind label %bb20 | |
bb16: ; preds = %bb9 | |
ret void | |
bb17: ; preds = %bb27, %bb20 | |
%tmp2.1 = phi %struct.widget.84* [ %tmp15, %bb20 ], [ %tmp30, %bb27 ] | |
%tmp19 = icmp eq %struct.widget.84* %tmp2.1, %tmp8 | |
br i1 %tmp19, label %bb31, label %bb27 | |
bb20: ; preds = %bb12 | |
%tmp21 = landingpad { i8*, i32 } | |
cleanup | |
%tmp23 = extractvalue { i8*, i32 } %tmp21, 0 | |
%tmp24 = extractvalue { i8*, i32 } %tmp21, 1 | |
br label %bb17 | |
bb27: ; preds = %bb17 | |
%tmp30 = getelementptr inbounds %struct.widget.84, %struct.widget.84* %tmp2.1, i64 1 | |
call void @hoge.120(%struct.widget.84* %tmp2.1) #13 | |
br label %bb17 | |
bb31: ; preds = %bb17 | |
resume { i8*, i32 } %tmp21 | |
} | |
; Function Attrs: nonlazybind uwtable | |
define internal void @eggs.189([0 x %struct.blam.75]* %arg, i64 %arg1) unnamed_addr #1 personality i32 (i32, i32, i64, %struct.snork.211*, %struct.quux.212*)* @foo.542 { | |
bb: | |
%tmp6 = bitcast [0 x %struct.blam.75]* %arg to %struct.blam.75* | |
%tmp8 = getelementptr inbounds %struct.blam.75, %struct.blam.75* %tmp6, i64 %arg1 | |
br label %bb9 | |
bb9: ; preds = %bb12, %bb | |
%tmp2.0 = phi %struct.blam.75* [ %tmp6, %bb ], [ %tmp15, %bb12 ] | |
%tmp11 = icmp eq %struct.blam.75* %tmp2.0, %tmp8 | |
br i1 %tmp11, label %bb16, label %bb12 | |
bb12: ; preds = %bb9 | |
%tmp15 = getelementptr inbounds %struct.blam.75, %struct.blam.75* %tmp2.0, i64 1 | |
invoke void @hoge.121(%struct.blam.75* %tmp2.0) | |
to label %bb9 unwind label %bb20 | |
bb16: ; preds = %bb9 | |
ret void | |
bb17: ; preds = %bb27, %bb20 | |
%tmp2.1 = phi %struct.blam.75* [ %tmp15, %bb20 ], [ %tmp30, %bb27 ] | |
%tmp19 = icmp eq %struct.blam.75* %tmp2.1, %tmp8 | |
br i1 %tmp19, label %bb31, label %bb27 | |
bb20: ; preds = %bb12 | |
%tmp21 = landingpad { i8*, i32 } | |
cleanup | |
%tmp23 = extractvalue { i8*, i32 } %tmp21, 0 | |
%tmp24 = extractvalue { i8*, i32 } %tmp21, 1 | |
br label %bb17 | |
bb27: ; preds = %bb17 | |
%tmp30 = getelementptr inbounds %struct.blam.75, %struct.blam.75* %tmp2.1, i64 1 | |
call void @hoge.121(%struct.blam.75* %tmp2.1) #13 | |
br label %bb17 | |
bb31: ; preds = %bb17 | |
resume { i8*, i32 } %tmp21 | |
} | |
; Function Attrs: nonlazybind uwtable | |
define internal void @zot.190([0 x %struct.widget.55]* %arg, i64 %arg1) unnamed_addr #1 personality i32 (i32, i32, i64, %struct.snork.211*, %struct.quux.212*)* @foo.542 { | |
bb: | |
%tmp6 = bitcast [0 x %struct.widget.55]* %arg to %struct.widget.55* | |
%tmp8 = getelementptr inbounds %struct.widget.55, %struct.widget.55* %tmp6, i64 %arg1 | |
br label %bb9 | |
bb9: ; preds = %bb12, %bb | |
%tmp2.0 = phi %struct.widget.55* [ %tmp6, %bb ], [ %tmp15, %bb12 ] | |
%tmp11 = icmp eq %struct.widget.55* %tmp2.0, %tmp8 | |
br i1 %tmp11, label %bb16, label %bb12 | |
bb12: ; preds = %bb9 | |
%tmp15 = getelementptr inbounds %struct.widget.55, %struct.widget.55* %tmp2.0, i64 1 | |
invoke void @wobble.122(%struct.widget.55* %tmp2.0) | |
to label %bb9 unwind label %bb20 | |
bb16: ; preds = %bb9 | |
ret void | |
bb17: ; preds = %bb27, %bb20 | |
%tmp2.1 = phi %struct.widget.55* [ %tmp15, %bb20 ], [ %tmp30, %bb27 ] | |
%tmp19 = icmp eq %struct.widget.55* %tmp2.1, %tmp8 | |
br i1 %tmp19, label %bb31, label %bb27 | |
bb20: ; preds = %bb12 | |
%tmp21 = landingpad { i8*, i32 } | |
cleanup | |
%tmp23 = extractvalue { i8*, i32 } %tmp21, 0 | |
%tmp24 = extractvalue { i8*, i32 } %tmp21, 1 | |
br label %bb17 | |
bb27: ; preds = %bb17 | |
%tmp30 = getelementptr inbounds %struct.widget.55, %struct.widget.55* %tmp2.1, i64 1 | |
call void @wobble.122(%struct.widget.55* %tmp2.1) #13 | |
br label %bb17 | |
bb31: ; preds = %bb17 | |
resume { i8*, i32 } %tmp21 | |
} | |
; Function Attrs: nonlazybind uwtable | |
define internal void @pluto.191([0 x %struct.zot.57]* %arg, i64 %arg1) unnamed_addr #1 personality i32 (i32, i32, i64, %struct.snork.211*, %struct.quux.212*)* @foo.542 { | |
bb: | |
%tmp6 = bitcast [0 x %struct.zot.57]* %arg to %struct.zot.57* | |
%tmp8 = getelementptr inbounds %struct.zot.57, %struct.zot.57* %tmp6, i64 %arg1 | |
br label %bb9 | |
bb9: ; preds = %bb12, %bb | |
%tmp2.0 = phi %struct.zot.57* [ %tmp6, %bb ], [ %tmp15, %bb12 ] | |
%tmp11 = icmp eq %struct.zot.57* %tmp2.0, %tmp8 | |
br i1 %tmp11, label %bb16, label %bb12 | |
bb12: ; preds = %bb9 | |
%tmp15 = getelementptr inbounds %struct.zot.57, %struct.zot.57* %tmp2.0, i64 1 | |
invoke void @snork.123(%struct.zot.57* %tmp2.0) | |
to label %bb9 unwind label %bb20 | |
bb16: ; preds = %bb9 | |
ret void | |
bb17: ; preds = %bb27, %bb20 | |
%tmp2.1 = phi %struct.zot.57* [ %tmp15, %bb20 ], [ %tmp30, %bb27 ] | |
%tmp19 = icmp eq %struct.zot.57* %tmp2.1, %tmp8 | |
br i1 %tmp19, label %bb31, label %bb27 | |
bb20: ; preds = %bb12 | |
%tmp21 = landingpad { i8*, i32 } | |
cleanup | |
%tmp23 = extractvalue { i8*, i32 } %tmp21, 0 | |
%tmp24 = extractvalue { i8*, i32 } %tmp21, 1 | |
br label %bb17 | |
bb27: ; preds = %bb17 | |
%tmp30 = getelementptr inbounds %struct.zot.57, %struct.zot.57* %tmp2.1, i64 1 | |
call void @snork.123(%struct.zot.57* %tmp2.1) #13 | |
br label %bb17 | |
bb31: ; preds = %bb17 | |
resume { i8*, i32 } %tmp21 | |
} | |
; Function Attrs: nonlazybind uwtable | |
define internal void @eggs.192(i64** %arg) unnamed_addr #1 { | |
bb: | |
call void @snork.492(i64** noalias align 8 dereferenceable(8) %arg) | |
ret void | |
} | |
; Function Attrs: nonlazybind uwtable | |
define internal void @foo.193(%struct.snork.53* %arg) unnamed_addr #1 { | |
bb: | |
%tmp = bitcast %struct.snork.53* %arg to {}** | |
%tmp1 = load {}*, {}** %tmp, align 8 | |
%tmp2 = icmp eq {}* %tmp1, null | |
%tmp3 = select i1 %tmp2, i64 0, i64 1 | |
br i1 %tmp2, label %bb5, label %bb6 | |
bb5: ; preds = %bb6, %bb | |
ret void | |
bb6: ; preds = %bb | |
%tmp7 = bitcast %struct.snork.53* %arg to %struct.widget.114* | |
%tmp8 = bitcast %struct.widget.114* %tmp7 to %struct.bar.30* | |
call void @wobble.90(%struct.bar.30* %tmp8) | |
br label %bb5 | |
} | |
; Function Attrs: nonlazybind uwtable | |
define internal void @blam.194({ i8*, i64 }* %arg) unnamed_addr #1 { | |
bb: | |
call void @spam.552({ i8*, i64 }* noalias align 8 dereferenceable(16) %arg) | |
ret void | |
} | |
; Function Attrs: nonlazybind uwtable | |
define internal void @eggs.195(%struct.barney.81* %arg) unnamed_addr #1 personality i32 (i32, i32, i64, %struct.snork.211*, %struct.quux.212*)* @foo.542 { | |
bb: | |
invoke void @barney.500(%struct.barney.81* noalias align 8 dereferenceable(24) %arg) | |
to label %bb1 unwind label %bb5 | |
bb1: ; preds = %bb | |
%tmp2 = bitcast %struct.barney.81* %arg to { i64*, i64 }* | |
call void @foo.284({ i64*, i64 }* %tmp2) | |
ret void | |
bb5: ; preds = %bb | |
%tmp6 = landingpad { i8*, i32 } | |
cleanup | |
%tmp8 = extractvalue { i8*, i32 } %tmp6, 0 | |
%tmp9 = extractvalue { i8*, i32 } %tmp6, 1 | |
%tmp4 = bitcast %struct.barney.81* %arg to { i64*, i64 }* | |
call void @foo.284({ i64*, i64 }* %tmp4) #13 | |
resume { i8*, i32 } %tmp6 | |
} | |
; Function Attrs: nonlazybind uwtable | |
define internal void @wobble.196(%struct.spam.54* %arg) unnamed_addr #1 { | |
bb: | |
%tmp = bitcast %struct.spam.54* %arg to i64* | |
%tmp1 = load i64, i64* %tmp, align 8, !range !8 | |
%tmp2 = sub i64 %tmp1, 2 | |
%tmp3 = icmp eq i64 %tmp2, 0 | |
%tmp4 = select i1 %tmp3, i64 0, i64 1 | |
br i1 %tmp3, label %bb6, label %bb7 | |
bb6: ; preds = %bb7, %bb | |
ret void | |
bb7: ; preds = %bb | |
%tmp8 = bitcast %struct.spam.54* %arg to %struct.baz.115* | |
%tmp9 = bitcast %struct.baz.115* %tmp8 to %struct.snork.94* | |
call void @pluto.93(%struct.snork.94* %tmp9) | |
br label %bb6 | |
} | |
; Function Attrs: nonlazybind uwtable | |
define internal void @wibble.197(%struct.baz.51* %arg) unnamed_addr #1 personality i32 (i32, i32, i64, %struct.snork.211*, %struct.quux.212*)* @foo.542 { | |
bb: | |
invoke void @snork.493(%struct.baz.51* noalias align 8 dereferenceable(24) %arg) | |
to label %bb1 unwind label %bb5 | |
bb1: ; preds = %bb | |
%tmp2 = bitcast %struct.baz.51* %arg to { i64*, i64 }* | |
call void @wobble.288({ i64*, i64 }* %tmp2) | |
ret void | |
bb5: ; preds = %bb | |
%tmp6 = landingpad { i8*, i32 } | |
cleanup | |
%tmp8 = extractvalue { i8*, i32 } %tmp6, 0 | |
%tmp9 = extractvalue { i8*, i32 } %tmp6, 1 | |
%tmp4 = bitcast %struct.baz.51* %arg to { i64*, i64 }* | |
call void @wobble.288({ i64*, i64 }* %tmp4) #13 | |
resume { i8*, i32 } %tmp6 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal zeroext i1 @widget.198(i8* %arg, i8* %arg1) unnamed_addr #0 { | |
bb: | |
%tmp2 = icmp eq i8* %arg, %arg1 | |
%tmp3 = zext i1 %tmp2 to i8 | |
ret i1 %tmp2 | |
} | |
; Function Attrs: alwaysinline nonlazybind uwtable | |
define internal i8* @wobble.199(i8* %arg, i64 %arg1) unnamed_addr #2 { | |
bb: | |
%tmp = call i8* @quux.239(i8* %arg, i64 %arg1) | |
ret i8* %tmp | |
} | |
; Function Attrs: alwaysinline nonlazybind uwtable | |
define internal i8* @wombat.200(i8* %arg, i64 %arg1) unnamed_addr #2 { | |
bb: | |
%tmp = call i8* @pluto.240(i8* %arg, i64 %arg1) | |
ret i8* %tmp | |
} | |
; Function Attrs: alwaysinline nonlazybind uwtable | |
define internal {}* @ham.201(i16* %arg) unnamed_addr #2 { | |
bb: | |
%tmp = bitcast i16* %arg to {}* | |
ret {}* %tmp | |
} | |
; Function Attrs: alwaysinline nonlazybind uwtable | |
define internal {}* @foo.202(%struct.wibble.83* %arg) unnamed_addr #2 { | |
bb: | |
%tmp = bitcast %struct.wibble.83* %arg to {}* | |
ret {}* %tmp | |
} | |
; Function Attrs: alwaysinline nonlazybind uwtable | |
define internal {}* @eggs.203(%struct.wibble.71* %arg) unnamed_addr #2 { | |
bb: | |
%tmp = bitcast %struct.wibble.71* %arg to {}* | |
ret {}* %tmp | |
} | |
; Function Attrs: alwaysinline nonlazybind uwtable | |
define internal {}* @barney.204(%struct.widget.55* %arg) unnamed_addr #2 { | |
bb: | |
%tmp = bitcast %struct.widget.55* %arg to {}* | |
ret {}* %tmp | |
} | |
; Function Attrs: alwaysinline nonlazybind uwtable | |
define internal {}* @zot.205(%struct.widget.76* %arg) unnamed_addr #2 { | |
bb: | |
%tmp = bitcast %struct.widget.76* %arg to {}* | |
ret {}* %tmp | |
} | |
; Function Attrs: alwaysinline nonlazybind uwtable | |
define internal {}* @snork.206(%struct.widget.66* %arg) unnamed_addr #2 { | |
bb: | |
%tmp = bitcast %struct.widget.66* %arg to {}* | |
ret {}* %tmp | |
} | |
; Function Attrs: alwaysinline nonlazybind uwtable | |
define internal {}* @barney.207(%struct.blam.65* %arg) unnamed_addr #2 { | |
bb: | |
%tmp = bitcast %struct.blam.65* %arg to {}* | |
ret {}* %tmp | |
} | |
; Function Attrs: alwaysinline nonlazybind uwtable | |
define internal {}* @spam.208(%struct.pluto.68* %arg) unnamed_addr #2 { | |
bb: | |
%tmp = bitcast %struct.pluto.68* %arg to {}* | |
ret {}* %tmp | |
} | |
; Function Attrs: alwaysinline nonlazybind uwtable | |
define internal {}* @eggs.209(i64* %arg) unnamed_addr #2 { | |
bb: | |
%tmp = bitcast i64* %arg to {}* | |
ret {}* %tmp | |
} | |
; Function Attrs: alwaysinline nonlazybind uwtable | |
define internal {}* @spam.210(%struct.barney.58* %arg) unnamed_addr #2 { | |
bb: | |
%tmp = bitcast %struct.barney.58* %arg to {}* | |
ret {}* %tmp | |
} | |
; Function Attrs: alwaysinline nonlazybind uwtable | |
define internal {}* @wobble.211(i64** %arg) unnamed_addr #2 { | |
bb: | |
%tmp = bitcast i64** %arg to {}* | |
ret {}* %tmp | |
} | |
; Function Attrs: alwaysinline nonlazybind uwtable | |
define internal {}* @pluto.212(i32* %arg) unnamed_addr #2 { | |
bb: | |
%tmp = bitcast i32* %arg to {}* | |
ret {}* %tmp | |
} | |
; Function Attrs: alwaysinline nonlazybind uwtable | |
define internal {}* @pluto.213(%struct.widget.84* %arg) unnamed_addr #2 { | |
bb: | |
%tmp = bitcast %struct.widget.84* %arg to {}* | |
ret {}* %tmp | |
} | |
; Function Attrs: alwaysinline nonlazybind uwtable | |
define internal {}* @hoge.214(%struct.zot.57* %arg) unnamed_addr #2 { | |
bb: | |
%tmp = bitcast %struct.zot.57* %arg to {}* | |
ret {}* %tmp | |
} | |
; Function Attrs: alwaysinline nonlazybind uwtable | |
define internal {}* @blam.215(%struct.eggs.70* %arg) unnamed_addr #2 { | |
bb: | |
%tmp = bitcast %struct.eggs.70* %arg to {}* | |
ret {}* %tmp | |
} | |
; Function Attrs: alwaysinline nonlazybind uwtable | |
define internal {}* @pluto.216(%struct.widget.73* %arg) unnamed_addr #2 { | |
bb: | |
%tmp = bitcast %struct.widget.73* %arg to {}* | |
ret {}* %tmp | |
} | |
; Function Attrs: alwaysinline nonlazybind uwtable | |
define internal {}* @hoge.217(%struct.baz.67* %arg) unnamed_addr #2 { | |
bb: | |
%tmp = bitcast %struct.baz.67* %arg to {}* | |
ret {}* %tmp | |
} | |
; Function Attrs: alwaysinline nonlazybind uwtable | |
define internal {}* @zot.218({ i32, i32 }* %arg) unnamed_addr #2 { | |
bb: | |
%tmp = bitcast { i32, i32 }* %arg to {}* | |
ret {}* %tmp | |
} | |
; Function Attrs: alwaysinline nonlazybind uwtable | |
define internal {}* @eggs.219(%struct.snork.47* %arg) unnamed_addr #2 { | |
bb: | |
%tmp = bitcast %struct.snork.47* %arg to {}* | |
ret {}* %tmp | |
} | |
; Function Attrs: alwaysinline nonlazybind uwtable | |
define internal {}* @quux.220(i8* %arg) unnamed_addr #2 { | |
bb: | |
%tmp = bitcast i8* %arg to {}* | |
ret {}* %tmp | |
} | |
; Function Attrs: alwaysinline nonlazybind uwtable | |
define internal {}* @baz.221(%struct.eggs* %arg) unnamed_addr #2 { | |
bb: | |
%tmp = bitcast %struct.eggs* %arg to {}* | |
ret {}* %tmp | |
} | |
; Function Attrs: alwaysinline nonlazybind uwtable | |
define internal {}* @quux.222(i32* %arg) unnamed_addr #2 { | |
bb: | |
%tmp = bitcast i32* %arg to {}* | |
ret {}* %tmp | |
} | |
; Function Attrs: alwaysinline nonlazybind uwtable | |
define internal {}* @baz.223(%struct.wombat.88* %arg) unnamed_addr #2 { | |
bb: | |
%tmp = bitcast %struct.wombat.88* %arg to {}* | |
ret {}* %tmp | |
} | |
; Function Attrs: alwaysinline nonlazybind uwtable | |
define internal {}* @ham.224(%struct.blam.75* %arg) unnamed_addr #2 { | |
bb: | |
%tmp = bitcast %struct.blam.75* %arg to {}* | |
ret {}* %tmp | |
} | |
; Function Attrs: alwaysinline nonlazybind uwtable | |
define internal {}* @wobble.225(%struct.ham.77* %arg) unnamed_addr #2 { | |
bb: | |
%tmp = bitcast %struct.ham.77* %arg to {}* | |
ret {}* %tmp | |
} | |
; Function Attrs: alwaysinline nonlazybind uwtable | |
define internal {}* @barney.226(%struct.ham.85* %arg) unnamed_addr #2 { | |
bb: | |
%tmp = bitcast %struct.ham.85* %arg to {}* | |
ret {}* %tmp | |
} | |
; Function Attrs: alwaysinline nonlazybind uwtable | |
define internal {}* @eggs.227({ i64, { i32, i32 } }* %arg) unnamed_addr #2 { | |
bb: | |
%tmp = bitcast { i64, { i32, i32 } }* %arg to {}* | |
ret {}* %tmp | |
} | |
; Function Attrs: alwaysinline nonlazybind uwtable | |
define internal {}* @quux.228(i8* %arg) unnamed_addr #2 { | |
bb: | |
%tmp = bitcast i8* %arg to {}* | |
ret {}* %tmp | |
} | |
; Function Attrs: alwaysinline nonlazybind uwtable | |
define internal {}* @ham.229({ [0 x i32]*, i64 }* %arg) unnamed_addr #2 { | |
bb: | |
%tmp = bitcast { [0 x i32]*, i64 }* %arg to {}* | |
ret {}* %tmp | |
} | |
; Function Attrs: alwaysinline nonlazybind uwtable | |
define internal {}* @bar.230(%struct.blam.43* %arg) unnamed_addr #2 { | |
bb: | |
%tmp = bitcast %struct.blam.43* %arg to {}* | |
ret {}* %tmp | |
} | |
; Function Attrs: alwaysinline nonlazybind uwtable | |
define internal {}* @spam.231(%struct.wibble.61* %arg) unnamed_addr #2 { | |
bb: | |
%tmp = bitcast %struct.wibble.61* %arg to {}* | |
ret {}* %tmp | |
} | |
; Function Attrs: alwaysinline nonlazybind uwtable | |
define internal {}* @barney.232(i64** %arg) unnamed_addr #2 { | |
bb: | |
%tmp = bitcast i64** %arg to {}* | |
ret {}* %tmp | |
} | |
; Function Attrs: alwaysinline nonlazybind uwtable | |
define internal {}* @ham.233(%struct.snork.46* %arg) unnamed_addr #2 { | |
bb: | |
%tmp = bitcast %struct.snork.46* %arg to {}* | |
ret {}* %tmp | |
} | |
; Function Attrs: alwaysinline nonlazybind uwtable | |
define internal {}* @zot.234(%struct.zot.82* %arg) unnamed_addr #2 { | |
bb: | |
%tmp = bitcast %struct.zot.82* %arg to {}* | |
ret {}* %tmp | |
} | |
; Function Attrs: alwaysinline nonlazybind uwtable | |
define internal {}* @bar.235(%struct.snork.52* %arg) unnamed_addr #2 { | |
bb: | |
%tmp = bitcast %struct.snork.52* %arg to {}* | |
ret {}* %tmp | |
} | |
; Function Attrs: alwaysinline nonlazybind uwtable | |
define internal {}* @eggs.236(i32* %arg) unnamed_addr #2 { | |
bb: | |
%tmp = bitcast i32* %arg to {}* | |
ret {}* %tmp | |
} | |
; Function Attrs: alwaysinline nonlazybind uwtable | |
define internal {}* @barney.237(%struct.foo.62* %arg) unnamed_addr #2 { | |
bb: | |
%tmp = bitcast %struct.foo.62* %arg to {}* | |
ret {}* %tmp | |
} | |
; Function Attrs: alwaysinline nonlazybind uwtable | |
define internal {}* @blam.238(%struct.foo.86* %arg) unnamed_addr #2 { | |
bb: | |
%tmp = bitcast %struct.foo.86* %arg to {}* | |
ret {}* %tmp | |
} | |
; Function Attrs: alwaysinline nonlazybind uwtable | |
define internal i8* @quux.239(i8* %arg, i64 %arg1) unnamed_addr #2 { | |
bb: | |
%tmp3 = getelementptr inbounds i8, i8* %arg, i64 %arg1 | |
ret i8* %tmp3 | |
} | |
; Function Attrs: alwaysinline nonlazybind uwtable | |
define internal i8* @pluto.240(i8* %arg, i64 %arg1) unnamed_addr #2 { | |
bb: | |
%tmp3 = getelementptr inbounds i8, i8* %arg, i64 %arg1 | |
ret i8* %tmp3 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal zeroext i1 @quux.241(%struct.blam.65* %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast %struct.blam.65* %arg to i8* | |
%tmp1 = call i8* @quux.341() | |
%tmp3 = call zeroext i1 @widget.198(i8* %tmp, i8* %tmp1) | |
ret i1 %tmp3 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal zeroext i1 @bar.242(%struct.snork.52* %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast %struct.snork.52* %arg to i8* | |
%tmp1 = call i8* @quux.341() | |
%tmp3 = call zeroext i1 @widget.198(i8* %tmp, i8* %tmp1) | |
ret i1 %tmp3 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal zeroext i1 @foo.243(%struct.widget.66* %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast %struct.widget.66* %arg to i8* | |
%tmp1 = call i8* @quux.341() | |
%tmp3 = call zeroext i1 @widget.198(i8* %tmp, i8* %tmp1) | |
ret i1 %tmp3 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal zeroext i1 @wobble.244(%struct.foo.62* %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast %struct.foo.62* %arg to i8* | |
%tmp1 = call i8* @quux.341() | |
%tmp3 = call zeroext i1 @widget.198(i8* %tmp, i8* %tmp1) | |
ret i1 %tmp3 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal zeroext i1 @widget.245(%struct.wibble.83* %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast %struct.wibble.83* %arg to i8* | |
%tmp1 = call i8* @quux.341() | |
%tmp3 = call zeroext i1 @widget.198(i8* %tmp, i8* %tmp1) | |
ret i1 %tmp3 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal zeroext i1 @wombat.246(%struct.barney.58* %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast %struct.barney.58* %arg to i8* | |
%tmp1 = call i8* @quux.341() | |
%tmp3 = call zeroext i1 @widget.198(i8* %tmp, i8* %tmp1) | |
ret i1 %tmp3 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal zeroext i1 @hoge.247(%struct.zot.57* %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast %struct.zot.57* %arg to i8* | |
%tmp1 = call i8* @quux.341() | |
%tmp3 = call zeroext i1 @widget.198(i8* %tmp, i8* %tmp1) | |
ret i1 %tmp3 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal zeroext i1 @zot.248({ i64, { i32, i32 } }* %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast { i64, { i32, i32 } }* %arg to i8* | |
%tmp1 = call i8* @quux.341() | |
%tmp3 = call zeroext i1 @widget.198(i8* %tmp, i8* %tmp1) | |
ret i1 %tmp3 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal zeroext i1 @wombat.249(i32* %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast i32* %arg to i8* | |
%tmp1 = call i8* @quux.341() | |
%tmp3 = call zeroext i1 @widget.198(i8* %tmp, i8* %tmp1) | |
ret i1 %tmp3 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal zeroext i1 @baz.250(%struct.widget.55* %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast %struct.widget.55* %arg to i8* | |
%tmp1 = call i8* @quux.341() | |
%tmp3 = call zeroext i1 @widget.198(i8* %tmp, i8* %tmp1) | |
ret i1 %tmp3 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal zeroext i1 @wibble.251(%struct.blam.75* %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast %struct.blam.75* %arg to i8* | |
%tmp1 = call i8* @quux.341() | |
%tmp3 = call zeroext i1 @widget.198(i8* %tmp, i8* %tmp1) | |
ret i1 %tmp3 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal zeroext i1 @wobble.252(%struct.wibble.61* %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast %struct.wibble.61* %arg to i8* | |
%tmp1 = call i8* @quux.341() | |
%tmp3 = call zeroext i1 @widget.198(i8* %tmp, i8* %tmp1) | |
ret i1 %tmp3 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal zeroext i1 @barney.253(i64** %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast i64** %arg to i8* | |
%tmp1 = call i8* @quux.341() | |
%tmp3 = call zeroext i1 @widget.198(i8* %tmp, i8* %tmp1) | |
ret i1 %tmp3 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal zeroext i1 @wobble.254(%struct.eggs* %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast %struct.eggs* %arg to i8* | |
%tmp1 = call i8* @quux.341() | |
%tmp3 = call zeroext i1 @widget.198(i8* %tmp, i8* %tmp1) | |
ret i1 %tmp3 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal zeroext i1 @wibble.255(%struct.wibble.71* %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast %struct.wibble.71* %arg to i8* | |
%tmp1 = call i8* @quux.341() | |
%tmp3 = call zeroext i1 @widget.198(i8* %tmp, i8* %tmp1) | |
ret i1 %tmp3 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal zeroext i1 @ham.256(%struct.snork.46* %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast %struct.snork.46* %arg to i8* | |
%tmp1 = call i8* @quux.341() | |
%tmp3 = call zeroext i1 @widget.198(i8* %tmp, i8* %tmp1) | |
ret i1 %tmp3 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal zeroext i1 @zot.257(%struct.eggs.70* %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast %struct.eggs.70* %arg to i8* | |
%tmp1 = call i8* @quux.341() | |
%tmp3 = call zeroext i1 @widget.198(i8* %tmp, i8* %tmp1) | |
ret i1 %tmp3 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal zeroext i1 @barney.258(%struct.widget.84* %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast %struct.widget.84* %arg to i8* | |
%tmp1 = call i8* @quux.341() | |
%tmp3 = call zeroext i1 @widget.198(i8* %tmp, i8* %tmp1) | |
ret i1 %tmp3 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal zeroext i1 @eggs.259(%struct.foo.86* %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast %struct.foo.86* %arg to i8* | |
%tmp1 = call i8* @quux.341() | |
%tmp3 = call zeroext i1 @widget.198(i8* %tmp, i8* %tmp1) | |
ret i1 %tmp3 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal zeroext i1 @snork.260(%struct.ham.85* %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast %struct.ham.85* %arg to i8* | |
%tmp1 = call i8* @quux.341() | |
%tmp3 = call zeroext i1 @widget.198(i8* %tmp, i8* %tmp1) | |
ret i1 %tmp3 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal zeroext i1 @wombat.261(%struct.blam.43* %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast %struct.blam.43* %arg to i8* | |
%tmp1 = call i8* @quux.341() | |
%tmp3 = call zeroext i1 @widget.198(i8* %tmp, i8* %tmp1) | |
ret i1 %tmp3 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal zeroext i1 @foo.262(i32* %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast i32* %arg to i8* | |
%tmp1 = call i8* @quux.341() | |
%tmp3 = call zeroext i1 @widget.198(i8* %tmp, i8* %tmp1) | |
ret i1 %tmp3 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal zeroext i1 @baz.263(i64* %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast i64* %arg to i8* | |
%tmp1 = call i8* @quux.341() | |
%tmp3 = call zeroext i1 @widget.198(i8* %tmp, i8* %tmp1) | |
ret i1 %tmp3 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal zeroext i1 @bar.264(%struct.wombat.88* %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast %struct.wombat.88* %arg to i8* | |
%tmp1 = call i8* @quux.341() | |
%tmp3 = call zeroext i1 @widget.198(i8* %tmp, i8* %tmp1) | |
ret i1 %tmp3 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal zeroext i1 @baz.265(i64** %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast i64** %arg to i8* | |
%tmp1 = call i8* @quux.341() | |
%tmp3 = call zeroext i1 @widget.198(i8* %tmp, i8* %tmp1) | |
ret i1 %tmp3 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal zeroext i1 @eggs.266(%struct.widget.76* %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast %struct.widget.76* %arg to i8* | |
%tmp1 = call i8* @quux.341() | |
%tmp3 = call zeroext i1 @widget.198(i8* %tmp, i8* %tmp1) | |
ret i1 %tmp3 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal zeroext i1 @barney.267({ [0 x i32]*, i64 }* %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast { [0 x i32]*, i64 }* %arg to i8* | |
%tmp1 = call i8* @quux.341() | |
%tmp3 = call zeroext i1 @widget.198(i8* %tmp, i8* %tmp1) | |
ret i1 %tmp3 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal zeroext i1 @wibble.268(%struct.ham.77* %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast %struct.ham.77* %arg to i8* | |
%tmp1 = call i8* @quux.341() | |
%tmp3 = call zeroext i1 @widget.198(i8* %tmp, i8* %tmp1) | |
ret i1 %tmp3 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal zeroext i1 @zot.269(i16* %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast i16* %arg to i8* | |
%tmp1 = call i8* @quux.341() | |
%tmp3 = call zeroext i1 @widget.198(i8* %tmp, i8* %tmp1) | |
ret i1 %tmp3 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal zeroext i1 @blam.270(i32* %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast i32* %arg to i8* | |
%tmp1 = call i8* @quux.341() | |
%tmp3 = call zeroext i1 @widget.198(i8* %tmp, i8* %tmp1) | |
ret i1 %tmp3 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal zeroext i1 @snork.271({ i64*, i64 }* %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast { i64*, i64 }* %arg to i8* | |
%tmp1 = call i8* @quux.341() | |
%tmp3 = call zeroext i1 @widget.198(i8* %tmp, i8* %tmp1) | |
ret i1 %tmp3 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal zeroext i1 @ham.272(%struct.zot.82* %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast %struct.zot.82* %arg to i8* | |
%tmp1 = call i8* @quux.341() | |
%tmp3 = call zeroext i1 @widget.198(i8* %tmp, i8* %tmp1) | |
ret i1 %tmp3 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal zeroext i1 @hoge.273(%struct.snork.47* %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast %struct.snork.47* %arg to i8* | |
%tmp1 = call i8* @quux.341() | |
%tmp3 = call zeroext i1 @widget.198(i8* %tmp, i8* %tmp1) | |
ret i1 %tmp3 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal zeroext i1 @hoge.274({ i32, i32 }* %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast { i32, i32 }* %arg to i8* | |
%tmp1 = call i8* @quux.341() | |
%tmp3 = call zeroext i1 @widget.198(i8* %tmp, i8* %tmp1) | |
ret i1 %tmp3 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal zeroext i1 @barney.275(%struct.baz.67* %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast %struct.baz.67* %arg to i8* | |
%tmp1 = call i8* @quux.341() | |
%tmp3 = call zeroext i1 @widget.198(i8* %tmp, i8* %tmp1) | |
ret i1 %tmp3 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal zeroext i1 @pluto.276(%struct.widget.73* %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast %struct.widget.73* %arg to i8* | |
%tmp1 = call i8* @quux.341() | |
%tmp3 = call zeroext i1 @widget.198(i8* %tmp, i8* %tmp1) | |
ret i1 %tmp3 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal zeroext i1 @barney.277(i8* %arg) unnamed_addr #0 { | |
bb: | |
%tmp = call i8* @quux.341() | |
%tmp2 = call zeroext i1 @widget.198(i8* %arg, i8* %tmp) | |
ret i1 %tmp2 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal zeroext i1 @bar.278(i8* %arg) unnamed_addr #0 { | |
bb: | |
%tmp = call i8* @quux.341() | |
%tmp2 = call zeroext i1 @widget.198(i8* %arg, i8* %tmp) | |
ret i1 %tmp2 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal zeroext i1 @wobble.279(%struct.pluto.68* %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast %struct.pluto.68* %arg to i8* | |
%tmp1 = call i8* @quux.341() | |
%tmp3 = call zeroext i1 @widget.198(i8* %tmp, i8* %tmp1) | |
ret i1 %tmp3 | |
} | |
; Function Attrs: nonlazybind uwtable | |
define internal void @snork.280({ [0 x i8]*, i64 }* %arg) unnamed_addr #1 personality i32 (i32, i32, i64, %struct.snork.211*, %struct.quux.212*)* @foo.542 { | |
bb: | |
%tmp2 = bitcast { [0 x i8]*, i64 }* %arg to { i8*, i64 }* | |
%tmp3 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %tmp2, i32 0, i32 0 | |
%tmp4 = load i8*, i8** %tmp3, align 8, !nonnull !6 | |
%tmp5 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %tmp2, i32 0, i32 1 | |
%tmp6 = load i64, i64* %tmp5, align 8 | |
call void @ham.438(i8* nonnull %tmp4, i64 %tmp6) | |
ret void | |
} | |
; Function Attrs: nonlazybind uwtable | |
define internal void @bar.281([0 x %struct.widget.73]* %arg, i64 %arg1) unnamed_addr #1 personality i32 (i32, i32, i64, %struct.snork.211*, %struct.quux.212*)* @foo.542 { | |
bb: | |
%tmp6 = bitcast [0 x %struct.widget.73]* %arg to %struct.widget.73* | |
%tmp8 = getelementptr inbounds %struct.widget.73, %struct.widget.73* %tmp6, i64 %arg1 | |
br label %bb9 | |
bb9: ; preds = %bb12, %bb | |
%tmp2.0 = phi %struct.widget.73* [ %tmp6, %bb ], [ %tmp15, %bb12 ] | |
%tmp11 = icmp eq %struct.widget.73* %tmp2.0, %tmp8 | |
br i1 %tmp11, label %bb16, label %bb12 | |
bb12: ; preds = %bb9 | |
%tmp15 = getelementptr inbounds %struct.widget.73, %struct.widget.73* %tmp2.0, i64 1 | |
invoke void @bar.187(%struct.widget.73* %tmp2.0) | |
to label %bb9 unwind label %bb20 | |
bb16: ; preds = %bb9 | |
ret void | |
bb17: ; preds = %bb27, %bb20 | |
%tmp2.1 = phi %struct.widget.73* [ %tmp15, %bb20 ], [ %tmp30, %bb27 ] | |
%tmp19 = icmp eq %struct.widget.73* %tmp2.1, %tmp8 | |
br i1 %tmp19, label %bb31, label %bb27 | |
bb20: ; preds = %bb12 | |
%tmp21 = landingpad { i8*, i32 } | |
cleanup | |
%tmp23 = extractvalue { i8*, i32 } %tmp21, 0 | |
%tmp24 = extractvalue { i8*, i32 } %tmp21, 1 | |
br label %bb17 | |
bb27: ; preds = %bb17 | |
%tmp30 = getelementptr inbounds %struct.widget.73, %struct.widget.73* %tmp2.1, i64 1 | |
call void @bar.187(%struct.widget.73* %tmp2.1) #13 | |
br label %bb17 | |
bb31: ; preds = %bb17 | |
resume { i8*, i32 } %tmp21 | |
} | |
; Function Attrs: nonlazybind uwtable | |
define internal void @spam.282({ [0 x i32]*, i64 }* %arg) unnamed_addr #1 personality i32 (i32, i32, i64, %struct.snork.211*, %struct.quux.212*)* @foo.542 { | |
bb: | |
%tmp2 = bitcast { [0 x i32]*, i64 }* %arg to { i32*, i64 }* | |
%tmp3 = getelementptr inbounds { i32*, i64 }, { i32*, i64 }* %tmp2, i32 0, i32 0 | |
%tmp4 = load i32*, i32** %tmp3, align 8, !nonnull !6 | |
%tmp5 = getelementptr inbounds { i32*, i64 }, { i32*, i64 }* %tmp2, i32 0, i32 1 | |
%tmp6 = load i64, i64* %tmp5, align 8 | |
call void @barney.435(i32* nonnull %tmp4, i64 %tmp6) | |
ret void | |
} | |
; Function Attrs: nonlazybind uwtable | |
define internal void @ham.283(%struct.wombat.111* %arg) unnamed_addr #1 personality i32 (i32, i32, i64, %struct.snork.211*, %struct.quux.212*)* @foo.542 { | |
bb: | |
invoke void @blam.521(%struct.wombat.111* noalias align 8 dereferenceable(24) %arg) | |
to label %bb1 unwind label %bb5 | |
bb1: ; preds = %bb | |
%tmp2 = bitcast %struct.wombat.111* %arg to { i64*, i64 }* | |
call void @wombat.290({ i64*, i64 }* %tmp2) | |
ret void | |
bb5: ; preds = %bb | |
%tmp6 = landingpad { i8*, i32 } | |
cleanup | |
%tmp8 = extractvalue { i8*, i32 } %tmp6, 0 | |
%tmp9 = extractvalue { i8*, i32 } %tmp6, 1 | |
%tmp4 = bitcast %struct.wombat.111* %arg to { i64*, i64 }* | |
call void @wombat.290({ i64*, i64 }* %tmp4) #13 | |
resume { i8*, i32 } %tmp6 | |
} | |
; Function Attrs: nonlazybind uwtable | |
define internal void @foo.284({ i64*, i64 }* %arg) unnamed_addr #1 { | |
bb: | |
call void @ham.553({ i64*, i64 }* noalias align 8 dereferenceable(16) %arg) | |
ret void | |
} | |
; Function Attrs: nonlazybind uwtable | |
define internal void @hoge.285(%struct.zot.60* %arg) unnamed_addr #1 personality i32 (i32, i32, i64, %struct.snork.211*, %struct.quux.212*)* @foo.542 { | |
bb: | |
invoke void @wobble.498(%struct.zot.60* noalias align 8 dereferenceable(24) %arg) | |
to label %bb1 unwind label %bb5 | |
bb1: ; preds = %bb | |
%tmp2 = bitcast %struct.zot.60* %arg to { i64*, i64 }* | |
call void @spam.342({ i64*, i64 }* %tmp2) | |
ret void | |
bb5: ; preds = %bb | |
%tmp6 = landingpad { i8*, i32 } | |
cleanup | |
%tmp8 = extractvalue { i8*, i32 } %tmp6, 0 | |
%tmp9 = extractvalue { i8*, i32 } %tmp6, 1 | |
%tmp4 = bitcast %struct.zot.60* %arg to { i64*, i64 }* | |
call void @spam.342({ i64*, i64 }* %tmp4) #13 | |
resume { i8*, i32 } %tmp6 | |
} | |
; Function Attrs: nonlazybind uwtable | |
define internal void @zot.286(%struct.widget.76* %arg) unnamed_addr #1 { | |
bb: | |
%tmp = bitcast %struct.widget.76* %arg to i64* | |
%tmp1 = load i64, i64* %tmp, align 8, !range !8 | |
%tmp2 = sub i64 %tmp1, 2 | |
%tmp3 = icmp eq i64 %tmp2, 0 | |
%tmp4 = select i1 %tmp3, i64 0, i64 1 | |
br i1 %tmp3, label %bb6, label %bb7 | |
bb6: ; preds = %bb7, %bb | |
ret void | |
bb7: ; preds = %bb | |
%tmp8 = bitcast %struct.widget.76* %arg to %struct.zot.116* | |
%tmp9 = bitcast %struct.zot.116* %tmp8 to %struct.bar.103* | |
call void @spam.108(%struct.bar.103* %tmp9) | |
br label %bb6 | |
} | |
; Function Attrs: nonlazybind uwtable | |
define internal void @barney.287(%struct.wibble.83* %arg) unnamed_addr #1 { | |
bb: | |
%tmp = getelementptr inbounds %struct.wibble.83, %struct.wibble.83* %arg, i32 0, i32 1 | |
%tmp1 = load {}*, {}** %tmp, align 8 | |
%tmp2 = icmp eq {}* %tmp1, null | |
%tmp3 = select i1 %tmp2, i64 0, i64 1 | |
br i1 %tmp2, label %bb5, label %bb6 | |
bb5: ; preds = %bb6, %bb | |
ret void | |
bb6: ; preds = %bb | |
%tmp7 = bitcast %struct.wibble.83* %arg to %struct.eggs.117* | |
%tmp8 = bitcast %struct.eggs.117* %tmp7 to %struct.wombat.106* | |
call void @ham.111(%struct.wombat.106* %tmp8) | |
br label %bb5 | |
} | |
; Function Attrs: nonlazybind uwtable | |
define internal void @wobble.288({ i64*, i64 }* %arg) unnamed_addr #1 { | |
bb: | |
call void @wibble.554({ i64*, i64 }* noalias align 8 dereferenceable(16) %arg) | |
ret void | |
} | |
; Function Attrs: nonlazybind uwtable | |
define internal void @pluto.289(i64** %arg) unnamed_addr #1 { | |
bb: | |
call void @hoge.490(i64** noalias align 8 dereferenceable(8) %arg) | |
ret void | |
} | |
; Function Attrs: nonlazybind uwtable | |
define internal void @wombat.290({ i64*, i64 }* %arg) unnamed_addr #1 { | |
bb: | |
call void @quux.555({ i64*, i64 }* noalias align 8 dereferenceable(16) %arg) | |
ret void | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal { [0 x { i64*, i64 }]*, i64 } @baz.291({}* %arg, i64 %arg1) unnamed_addr #0 { | |
bb: | |
%0 = bitcast {}* %arg to i8* | |
%1 = ptrtoint i8* %0 to i64 | |
%2 = inttoptr i64 %1 to [0 x { i64*, i64 }]* | |
%tmp21 = insertvalue { [0 x { i64*, i64 }]*, i64 } undef, [0 x { i64*, i64 }]* %2, 0 | |
%tmp22 = insertvalue { [0 x { i64*, i64 }]*, i64 } %tmp21, i64 %arg1, 1 | |
ret { [0 x { i64*, i64 }]*, i64 } %tmp22 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal { [0 x i8]*, i64 } @ham.292({}* %arg, i64 %arg1) unnamed_addr #0 { | |
bb: | |
%0 = bitcast {}* %arg to i8* | |
%1 = ptrtoint i8* %0 to i64 | |
%2 = inttoptr i64 %1 to [0 x i8]* | |
%tmp21 = insertvalue { [0 x i8]*, i64 } undef, [0 x i8]* %2, 0 | |
%tmp22 = insertvalue { [0 x i8]*, i64 } %tmp21, i64 %arg1, 1 | |
ret { [0 x i8]*, i64 } %tmp22 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal { [0 x %struct.eggs]*, i64 } @barney.293({}* %arg, i64 %arg1) unnamed_addr #0 { | |
bb: | |
%0 = bitcast {}* %arg to i8* | |
%1 = ptrtoint i8* %0 to i64 | |
%2 = inttoptr i64 %1 to [0 x %struct.eggs]* | |
%tmp21 = insertvalue { [0 x %struct.eggs]*, i64 } undef, [0 x %struct.eggs]* %2, 0 | |
%tmp22 = insertvalue { [0 x %struct.eggs]*, i64 } %tmp21, i64 %arg1, 1 | |
ret { [0 x %struct.eggs]*, i64 } %tmp22 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal { [0 x %struct.blam.75]*, i64 } @wobble.294({}* %arg, i64 %arg1) unnamed_addr #0 { | |
bb: | |
%0 = bitcast {}* %arg to i8* | |
%1 = ptrtoint i8* %0 to i64 | |
%2 = inttoptr i64 %1 to [0 x %struct.blam.75]* | |
%tmp21 = insertvalue { [0 x %struct.blam.75]*, i64 } undef, [0 x %struct.blam.75]* %2, 0 | |
%tmp22 = insertvalue { [0 x %struct.blam.75]*, i64 } %tmp21, i64 %arg1, 1 | |
ret { [0 x %struct.blam.75]*, i64 } %tmp22 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal { [0 x %struct.widget.55]*, i64 } @pluto.295({}* %arg, i64 %arg1) unnamed_addr #0 { | |
bb: | |
%0 = bitcast {}* %arg to i8* | |
%1 = ptrtoint i8* %0 to i64 | |
%2 = inttoptr i64 %1 to [0 x %struct.widget.55]* | |
%tmp21 = insertvalue { [0 x %struct.widget.55]*, i64 } undef, [0 x %struct.widget.55]* %2, 0 | |
%tmp22 = insertvalue { [0 x %struct.widget.55]*, i64 } %tmp21, i64 %arg1, 1 | |
ret { [0 x %struct.widget.55]*, i64 } %tmp22 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal { [0 x { [0 x i32]*, i64 }]*, i64 } @hoge.296({}* %arg, i64 %arg1) unnamed_addr #0 { | |
bb: | |
%0 = bitcast {}* %arg to i8* | |
%1 = ptrtoint i8* %0 to i64 | |
%2 = inttoptr i64 %1 to [0 x { [0 x i32]*, i64 }]* | |
%tmp21 = insertvalue { [0 x { [0 x i32]*, i64 }]*, i64 } undef, [0 x { [0 x i32]*, i64 }]* %2, 0 | |
%tmp22 = insertvalue { [0 x { [0 x i32]*, i64 }]*, i64 } %tmp21, i64 %arg1, 1 | |
ret { [0 x { [0 x i32]*, i64 }]*, i64 } %tmp22 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal { [0 x %struct.widget.76]*, i64 } @hoge.297({}* %arg, i64 %arg1) unnamed_addr #0 { | |
bb: | |
%0 = bitcast {}* %arg to i8* | |
%1 = ptrtoint i8* %0 to i64 | |
%2 = inttoptr i64 %1 to [0 x %struct.widget.76]* | |
%tmp21 = insertvalue { [0 x %struct.widget.76]*, i64 } undef, [0 x %struct.widget.76]* %2, 0 | |
%tmp22 = insertvalue { [0 x %struct.widget.76]*, i64 } %tmp21, i64 %arg1, 1 | |
ret { [0 x %struct.widget.76]*, i64 } %tmp22 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal { [0 x %struct.baz.67]*, i64 } @foo.298({}* %arg, i64 %arg1) unnamed_addr #0 { | |
bb: | |
%0 = bitcast {}* %arg to i8* | |
%1 = ptrtoint i8* %0 to i64 | |
%2 = inttoptr i64 %1 to [0 x %struct.baz.67]* | |
%tmp21 = insertvalue { [0 x %struct.baz.67]*, i64 } undef, [0 x %struct.baz.67]* %2, 0 | |
%tmp22 = insertvalue { [0 x %struct.baz.67]*, i64 } %tmp21, i64 %arg1, 1 | |
ret { [0 x %struct.baz.67]*, i64 } %tmp22 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal { [0 x %struct.wibble.61]*, i64 } @foo.299({}* %arg, i64 %arg1) unnamed_addr #0 { | |
bb: | |
%0 = bitcast {}* %arg to i8* | |
%1 = ptrtoint i8* %0 to i64 | |
%2 = inttoptr i64 %1 to [0 x %struct.wibble.61]* | |
%tmp21 = insertvalue { [0 x %struct.wibble.61]*, i64 } undef, [0 x %struct.wibble.61]* %2, 0 | |
%tmp22 = insertvalue { [0 x %struct.wibble.61]*, i64 } %tmp21, i64 %arg1, 1 | |
ret { [0 x %struct.wibble.61]*, i64 } %tmp22 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal { [0 x i16]*, i64 } @blam.300({}* %arg, i64 %arg1) unnamed_addr #0 { | |
bb: | |
%0 = bitcast {}* %arg to i8* | |
%1 = ptrtoint i8* %0 to i64 | |
%2 = inttoptr i64 %1 to [0 x i16]* | |
%tmp21 = insertvalue { [0 x i16]*, i64 } undef, [0 x i16]* %2, 0 | |
%tmp22 = insertvalue { [0 x i16]*, i64 } %tmp21, i64 %arg1, 1 | |
ret { [0 x i16]*, i64 } %tmp22 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal { [0 x %struct.snork.47]*, i64 } @ham.301({}* %arg, i64 %arg1) unnamed_addr #0 { | |
bb: | |
%0 = bitcast {}* %arg to i8* | |
%1 = ptrtoint i8* %0 to i64 | |
%2 = inttoptr i64 %1 to [0 x %struct.snork.47]* | |
%tmp21 = insertvalue { [0 x %struct.snork.47]*, i64 } undef, [0 x %struct.snork.47]* %2, 0 | |
%tmp22 = insertvalue { [0 x %struct.snork.47]*, i64 } %tmp21, i64 %arg1, 1 | |
ret { [0 x %struct.snork.47]*, i64 } %tmp22 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal { [0 x %struct.wibble.83]*, i64 } @spam.302({}* %arg, i64 %arg1) unnamed_addr #0 { | |
bb: | |
%0 = bitcast {}* %arg to i8* | |
%1 = ptrtoint i8* %0 to i64 | |
%2 = inttoptr i64 %1 to [0 x %struct.wibble.83]* | |
%tmp21 = insertvalue { [0 x %struct.wibble.83]*, i64 } undef, [0 x %struct.wibble.83]* %2, 0 | |
%tmp22 = insertvalue { [0 x %struct.wibble.83]*, i64 } %tmp21, i64 %arg1, 1 | |
ret { [0 x %struct.wibble.83]*, i64 } %tmp22 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal { [0 x i64*]*, i64 } @pluto.303({}* %arg, i64 %arg1) unnamed_addr #0 { | |
bb: | |
%0 = bitcast {}* %arg to i8* | |
%1 = ptrtoint i8* %0 to i64 | |
%2 = inttoptr i64 %1 to [0 x i64*]* | |
%tmp21 = insertvalue { [0 x i64*]*, i64 } undef, [0 x i64*]* %2, 0 | |
%tmp22 = insertvalue { [0 x i64*]*, i64 } %tmp21, i64 %arg1, 1 | |
ret { [0 x i64*]*, i64 } %tmp22 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal { [0 x %struct.foo.62]*, i64 } @zot.304({}* %arg, i64 %arg1) unnamed_addr #0 { | |
bb: | |
%0 = bitcast {}* %arg to i8* | |
%1 = ptrtoint i8* %0 to i64 | |
%2 = inttoptr i64 %1 to [0 x %struct.foo.62]* | |
%tmp21 = insertvalue { [0 x %struct.foo.62]*, i64 } undef, [0 x %struct.foo.62]* %2, 0 | |
%tmp22 = insertvalue { [0 x %struct.foo.62]*, i64 } %tmp21, i64 %arg1, 1 | |
ret { [0 x %struct.foo.62]*, i64 } %tmp22 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal { [0 x %struct.blam.65]*, i64 } @barney.305({}* %arg, i64 %arg1) unnamed_addr #0 { | |
bb: | |
%0 = bitcast {}* %arg to i8* | |
%1 = ptrtoint i8* %0 to i64 | |
%2 = inttoptr i64 %1 to [0 x %struct.blam.65]* | |
%tmp21 = insertvalue { [0 x %struct.blam.65]*, i64 } undef, [0 x %struct.blam.65]* %2, 0 | |
%tmp22 = insertvalue { [0 x %struct.blam.65]*, i64 } %tmp21, i64 %arg1, 1 | |
ret { [0 x %struct.blam.65]*, i64 } %tmp22 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal { [0 x i32]*, i64 } @zot.306({}* %arg, i64 %arg1) unnamed_addr #0 { | |
bb: | |
%0 = bitcast {}* %arg to i8* | |
%1 = ptrtoint i8* %0 to i64 | |
%2 = inttoptr i64 %1 to [0 x i32]* | |
%tmp21 = insertvalue { [0 x i32]*, i64 } undef, [0 x i32]* %2, 0 | |
%tmp22 = insertvalue { [0 x i32]*, i64 } %tmp21, i64 %arg1, 1 | |
ret { [0 x i32]*, i64 } %tmp22 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal { [0 x %struct.blam.43]*, i64 } @eggs.307({}* %arg, i64 %arg1) unnamed_addr #0 { | |
bb: | |
%0 = bitcast {}* %arg to i8* | |
%1 = ptrtoint i8* %0 to i64 | |
%2 = inttoptr i64 %1 to [0 x %struct.blam.43]* | |
%tmp21 = insertvalue { [0 x %struct.blam.43]*, i64 } undef, [0 x %struct.blam.43]* %2, 0 | |
%tmp22 = insertvalue { [0 x %struct.blam.43]*, i64 } %tmp21, i64 %arg1, 1 | |
ret { [0 x %struct.blam.43]*, i64 } %tmp22 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal { [0 x i32]*, i64 } @pluto.308({}* %arg, i64 %arg1) unnamed_addr #0 { | |
bb: | |
%0 = bitcast {}* %arg to i8* | |
%1 = ptrtoint i8* %0 to i64 | |
%2 = inttoptr i64 %1 to [0 x i32]* | |
%tmp21 = insertvalue { [0 x i32]*, i64 } undef, [0 x i32]* %2, 0 | |
%tmp22 = insertvalue { [0 x i32]*, i64 } %tmp21, i64 %arg1, 1 | |
ret { [0 x i32]*, i64 } %tmp22 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal { [0 x i8]*, i64 } @foo.309({}* %arg, i64 %arg1) unnamed_addr #0 { | |
bb: | |
%0 = bitcast {}* %arg to i8* | |
%1 = ptrtoint i8* %0 to i64 | |
%2 = inttoptr i64 %1 to [0 x i8]* | |
%tmp21 = insertvalue { [0 x i8]*, i64 } undef, [0 x i8]* %2, 0 | |
%tmp22 = insertvalue { [0 x i8]*, i64 } %tmp21, i64 %arg1, 1 | |
ret { [0 x i8]*, i64 } %tmp22 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal { [0 x %struct.zot.57]*, i64 } @baz.310({}* %arg, i64 %arg1) unnamed_addr #0 { | |
bb: | |
%0 = bitcast {}* %arg to i8* | |
%1 = ptrtoint i8* %0 to i64 | |
%2 = inttoptr i64 %1 to [0 x %struct.zot.57]* | |
%tmp21 = insertvalue { [0 x %struct.zot.57]*, i64 } undef, [0 x %struct.zot.57]* %2, 0 | |
%tmp22 = insertvalue { [0 x %struct.zot.57]*, i64 } %tmp21, i64 %arg1, 1 | |
ret { [0 x %struct.zot.57]*, i64 } %tmp22 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal { [0 x %struct.ham.85]*, i64 } @wobble.311({}* %arg, i64 %arg1) unnamed_addr #0 { | |
bb: | |
%0 = bitcast {}* %arg to i8* | |
%1 = ptrtoint i8* %0 to i64 | |
%2 = inttoptr i64 %1 to [0 x %struct.ham.85]* | |
%tmp21 = insertvalue { [0 x %struct.ham.85]*, i64 } undef, [0 x %struct.ham.85]* %2, 0 | |
%tmp22 = insertvalue { [0 x %struct.ham.85]*, i64 } %tmp21, i64 %arg1, 1 | |
ret { [0 x %struct.ham.85]*, i64 } %tmp22 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal { [0 x { i32, i32 }]*, i64 } @ham.312({}* %arg, i64 %arg1) unnamed_addr #0 { | |
bb: | |
%0 = bitcast {}* %arg to i8* | |
%1 = ptrtoint i8* %0 to i64 | |
%2 = inttoptr i64 %1 to [0 x { i32, i32 }]* | |
%tmp21 = insertvalue { [0 x { i32, i32 }]*, i64 } undef, [0 x { i32, i32 }]* %2, 0 | |
%tmp22 = insertvalue { [0 x { i32, i32 }]*, i64 } %tmp21, i64 %arg1, 1 | |
ret { [0 x { i32, i32 }]*, i64 } %tmp22 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal { [0 x %struct.pluto.68]*, i64 } @zot.313({}* %arg, i64 %arg1) unnamed_addr #0 { | |
bb: | |
%0 = bitcast {}* %arg to i8* | |
%1 = ptrtoint i8* %0 to i64 | |
%2 = inttoptr i64 %1 to [0 x %struct.pluto.68]* | |
%tmp21 = insertvalue { [0 x %struct.pluto.68]*, i64 } undef, [0 x %struct.pluto.68]* %2, 0 | |
%tmp22 = insertvalue { [0 x %struct.pluto.68]*, i64 } %tmp21, i64 %arg1, 1 | |
ret { [0 x %struct.pluto.68]*, i64 } %tmp22 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal { [0 x i64*]*, i64 } @wombat.314({}* %arg, i64 %arg1) unnamed_addr #0 { | |
bb: | |
%0 = bitcast {}* %arg to i8* | |
%1 = ptrtoint i8* %0 to i64 | |
%2 = inttoptr i64 %1 to [0 x i64*]* | |
%tmp21 = insertvalue { [0 x i64*]*, i64 } undef, [0 x i64*]* %2, 0 | |
%tmp22 = insertvalue { [0 x i64*]*, i64 } %tmp21, i64 %arg1, 1 | |
ret { [0 x i64*]*, i64 } %tmp22 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal { [0 x %struct.ham.77]*, i64 } @eggs.315({}* %arg, i64 %arg1) unnamed_addr #0 { | |
bb: | |
%0 = bitcast {}* %arg to i8* | |
%1 = ptrtoint i8* %0 to i64 | |
%2 = inttoptr i64 %1 to [0 x %struct.ham.77]* | |
%tmp21 = insertvalue { [0 x %struct.ham.77]*, i64 } undef, [0 x %struct.ham.77]* %2, 0 | |
%tmp22 = insertvalue { [0 x %struct.ham.77]*, i64 } %tmp21, i64 %arg1, 1 | |
ret { [0 x %struct.ham.77]*, i64 } %tmp22 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal { [0 x i8]*, i64 } @quux.316({}* %arg, i64 %arg1) unnamed_addr #0 { | |
bb: | |
%0 = bitcast {}* %arg to i8* | |
%1 = ptrtoint i8* %0 to i64 | |
%2 = inttoptr i64 %1 to [0 x i8]* | |
%tmp21 = insertvalue { [0 x i8]*, i64 } undef, [0 x i8]* %2, 0 | |
%tmp22 = insertvalue { [0 x i8]*, i64 } %tmp21, i64 %arg1, 1 | |
ret { [0 x i8]*, i64 } %tmp22 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal { [0 x { i64, { i32, i32 } }]*, i64 } @quux.317({}* %arg, i64 %arg1) unnamed_addr #0 { | |
bb: | |
%0 = bitcast {}* %arg to i8* | |
%1 = ptrtoint i8* %0 to i64 | |
%2 = inttoptr i64 %1 to [0 x { i64, { i32, i32 } }]* | |
%tmp21 = insertvalue { [0 x { i64, { i32, i32 } }]*, i64 } undef, [0 x { i64, { i32, i32 } }]* %2, 0 | |
%tmp22 = insertvalue { [0 x { i64, { i32, i32 } }]*, i64 } %tmp21, i64 %arg1, 1 | |
ret { [0 x { i64, { i32, i32 } }]*, i64 } %tmp22 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal { [0 x %struct.widget.84]*, i64 } @ham.318({}* %arg, i64 %arg1) unnamed_addr #0 { | |
bb: | |
%0 = bitcast {}* %arg to i8* | |
%1 = ptrtoint i8* %0 to i64 | |
%2 = inttoptr i64 %1 to [0 x %struct.widget.84]* | |
%tmp21 = insertvalue { [0 x %struct.widget.84]*, i64 } undef, [0 x %struct.widget.84]* %2, 0 | |
%tmp22 = insertvalue { [0 x %struct.widget.84]*, i64 } %tmp21, i64 %arg1, 1 | |
ret { [0 x %struct.widget.84]*, i64 } %tmp22 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal { [0 x %struct.eggs.70]*, i64 } @wombat.319({}* %arg, i64 %arg1) unnamed_addr #0 { | |
bb: | |
%0 = bitcast {}* %arg to i8* | |
%1 = ptrtoint i8* %0 to i64 | |
%2 = inttoptr i64 %1 to [0 x %struct.eggs.70]* | |
%tmp21 = insertvalue { [0 x %struct.eggs.70]*, i64 } undef, [0 x %struct.eggs.70]* %2, 0 | |
%tmp22 = insertvalue { [0 x %struct.eggs.70]*, i64 } %tmp21, i64 %arg1, 1 | |
ret { [0 x %struct.eggs.70]*, i64 } %tmp22 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal { [0 x i64]*, i64 } @ham.320({}* %arg, i64 %arg1) unnamed_addr #0 { | |
bb: | |
%0 = bitcast {}* %arg to i8* | |
%1 = ptrtoint i8* %0 to i64 | |
%2 = inttoptr i64 %1 to [0 x i64]* | |
%tmp21 = insertvalue { [0 x i64]*, i64 } undef, [0 x i64]* %2, 0 | |
%tmp22 = insertvalue { [0 x i64]*, i64 } %tmp21, i64 %arg1, 1 | |
ret { [0 x i64]*, i64 } %tmp22 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal { [0 x %struct.barney.58]*, i64 } @widget.321({}* %arg, i64 %arg1) unnamed_addr #0 { | |
bb: | |
%0 = bitcast {}* %arg to i8* | |
%1 = ptrtoint i8* %0 to i64 | |
%2 = inttoptr i64 %1 to [0 x %struct.barney.58]* | |
%tmp21 = insertvalue { [0 x %struct.barney.58]*, i64 } undef, [0 x %struct.barney.58]* %2, 0 | |
%tmp22 = insertvalue { [0 x %struct.barney.58]*, i64 } %tmp21, i64 %arg1, 1 | |
ret { [0 x %struct.barney.58]*, i64 } %tmp22 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal { [0 x %struct.snork.52]*, i64 } @ham.322({}* %arg, i64 %arg1) unnamed_addr #0 { | |
bb: | |
%0 = bitcast {}* %arg to i8* | |
%1 = ptrtoint i8* %0 to i64 | |
%2 = inttoptr i64 %1 to [0 x %struct.snork.52]* | |
%tmp21 = insertvalue { [0 x %struct.snork.52]*, i64 } undef, [0 x %struct.snork.52]* %2, 0 | |
%tmp22 = insertvalue { [0 x %struct.snork.52]*, i64 } %tmp21, i64 %arg1, 1 | |
ret { [0 x %struct.snork.52]*, i64 } %tmp22 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal { [0 x %struct.wibble.71]*, i64 } @baz.323({}* %arg, i64 %arg1) unnamed_addr #0 { | |
bb: | |
%0 = bitcast {}* %arg to i8* | |
%1 = ptrtoint i8* %0 to i64 | |
%2 = inttoptr i64 %1 to [0 x %struct.wibble.71]* | |
%tmp21 = insertvalue { [0 x %struct.wibble.71]*, i64 } undef, [0 x %struct.wibble.71]* %2, 0 | |
%tmp22 = insertvalue { [0 x %struct.wibble.71]*, i64 } %tmp21, i64 %arg1, 1 | |
ret { [0 x %struct.wibble.71]*, i64 } %tmp22 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal { [0 x i32]*, i64 } @blam.324({}* %arg, i64 %arg1) unnamed_addr #0 { | |
bb: | |
%0 = bitcast {}* %arg to i8* | |
%1 = ptrtoint i8* %0 to i64 | |
%2 = inttoptr i64 %1 to [0 x i32]* | |
%tmp21 = insertvalue { [0 x i32]*, i64 } undef, [0 x i32]* %2, 0 | |
%tmp22 = insertvalue { [0 x i32]*, i64 } %tmp21, i64 %arg1, 1 | |
ret { [0 x i32]*, i64 } %tmp22 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal { [0 x %struct.widget.73]*, i64 } @zot.325({}* %arg, i64 %arg1) unnamed_addr #0 { | |
bb: | |
%0 = bitcast {}* %arg to i8* | |
%1 = ptrtoint i8* %0 to i64 | |
%2 = inttoptr i64 %1 to [0 x %struct.widget.73]* | |
%tmp21 = insertvalue { [0 x %struct.widget.73]*, i64 } undef, [0 x %struct.widget.73]* %2, 0 | |
%tmp22 = insertvalue { [0 x %struct.widget.73]*, i64 } %tmp21, i64 %arg1, 1 | |
ret { [0 x %struct.widget.73]*, i64 } %tmp22 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal { [0 x %struct.wombat.88]*, i64 } @wibble.326({}* %arg, i64 %arg1) unnamed_addr #0 { | |
bb: | |
%0 = bitcast {}* %arg to i8* | |
%1 = ptrtoint i8* %0 to i64 | |
%2 = inttoptr i64 %1 to [0 x %struct.wombat.88]* | |
%tmp21 = insertvalue { [0 x %struct.wombat.88]*, i64 } undef, [0 x %struct.wombat.88]* %2, 0 | |
%tmp22 = insertvalue { [0 x %struct.wombat.88]*, i64 } %tmp21, i64 %arg1, 1 | |
ret { [0 x %struct.wombat.88]*, i64 } %tmp22 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal { [0 x %struct.widget.66]*, i64 } @bar.327({}* %arg, i64 %arg1) unnamed_addr #0 { | |
bb: | |
%0 = bitcast {}* %arg to i8* | |
%1 = ptrtoint i8* %0 to i64 | |
%2 = inttoptr i64 %1 to [0 x %struct.widget.66]* | |
%tmp21 = insertvalue { [0 x %struct.widget.66]*, i64 } undef, [0 x %struct.widget.66]* %2, 0 | |
%tmp22 = insertvalue { [0 x %struct.widget.66]*, i64 } %tmp21, i64 %arg1, 1 | |
ret { [0 x %struct.widget.66]*, i64 } %tmp22 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal { [0 x %struct.foo.86]*, i64 } @eggs.328({}* %arg, i64 %arg1) unnamed_addr #0 { | |
bb: | |
%0 = bitcast {}* %arg to i8* | |
%1 = ptrtoint i8* %0 to i64 | |
%2 = inttoptr i64 %1 to [0 x %struct.foo.86]* | |
%tmp21 = insertvalue { [0 x %struct.foo.86]*, i64 } undef, [0 x %struct.foo.86]* %2, 0 | |
%tmp22 = insertvalue { [0 x %struct.foo.86]*, i64 } %tmp21, i64 %arg1, 1 | |
ret { [0 x %struct.foo.86]*, i64 } %tmp22 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal { [0 x %struct.zot.82]*, i64 } @bar.329({}* %arg, i64 %arg1) unnamed_addr #0 { | |
bb: | |
%0 = bitcast {}* %arg to i8* | |
%1 = ptrtoint i8* %0 to i64 | |
%2 = inttoptr i64 %1 to [0 x %struct.zot.82]* | |
%tmp21 = insertvalue { [0 x %struct.zot.82]*, i64 } undef, [0 x %struct.zot.82]* %2, 0 | |
%tmp22 = insertvalue { [0 x %struct.zot.82]*, i64 } %tmp21, i64 %arg1, 1 | |
ret { [0 x %struct.zot.82]*, i64 } %tmp22 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal { [0 x %struct.snork.46]*, i64 } @quux.330({}* %arg, i64 %arg1) unnamed_addr #0 { | |
bb: | |
%0 = bitcast {}* %arg to i8* | |
%1 = ptrtoint i8* %0 to i64 | |
%2 = inttoptr i64 %1 to [0 x %struct.snork.46]* | |
%tmp21 = insertvalue { [0 x %struct.snork.46]*, i64 } undef, [0 x %struct.snork.46]* %2, 0 | |
%tmp22 = insertvalue { [0 x %struct.snork.46]*, i64 } %tmp21, i64 %arg1, 1 | |
ret { [0 x %struct.snork.46]*, i64 } %tmp22 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal nonnull i8* @wobble.331(i8* %arg) unnamed_addr #0 { | |
bb: | |
%0 = icmp ne i8* %arg, null | |
call void @llvm.assume(i1 %0) | |
ret i8* %arg | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal %struct.pluto.157* @wibble.332(i64* nonnull %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast i64* %arg to %struct.pluto.157* | |
ret %struct.pluto.157* %tmp | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal %struct.pluto.164* @baz.333(i64* nonnull %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast i64* %arg to %struct.pluto.164* | |
ret %struct.pluto.164* %tmp | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal %struct.foo.168* @bar.334(i64* nonnull %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast i64* %arg to %struct.foo.168* | |
ret %struct.foo.168* %tmp | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal %struct.baz.172* @zot.335(i64* nonnull %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast i64* %arg to %struct.baz.172* | |
ret %struct.baz.172* %tmp | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal i8* @quux.336(i8* nonnull %arg) unnamed_addr #0 { | |
bb: | |
ret i8* %arg | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal align 8 dereferenceable(88) %struct.pluto.164* @eggs.337(i64** noalias readonly align 8 dereferenceable(8) %arg) unnamed_addr #0 { | |
bb: | |
%tmp = load i64*, i64** %arg, align 8, !nonnull !6 | |
%tmp1 = call %struct.pluto.164* @baz.333(i64* nonnull %tmp) | |
ret %struct.pluto.164* %tmp1 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal align 8 dereferenceable(232) %struct.baz.172* @hoge.338(i64** noalias readonly align 8 dereferenceable(8) %arg) unnamed_addr #0 { | |
bb: | |
%tmp = load i64*, i64** %arg, align 8, !nonnull !6 | |
%tmp1 = call %struct.baz.172* @zot.335(i64* nonnull %tmp) | |
ret %struct.baz.172* %tmp1 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal align 8 dereferenceable(96) %struct.foo.168* @zot.339(i64** noalias readonly align 8 dereferenceable(8) %arg) unnamed_addr #0 { | |
bb: | |
%tmp = load i64*, i64** %arg, align 8, !nonnull !6 | |
%tmp1 = call %struct.foo.168* @bar.334(i64* nonnull %tmp) | |
ret %struct.foo.168* %tmp1 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal align 8 dereferenceable(48) %struct.pluto.157* @zot.340(i64** noalias readonly align 8 dereferenceable(8) %arg) unnamed_addr #0 { | |
bb: | |
%tmp = load i64*, i64** %arg, align 8, !nonnull !6 | |
%tmp1 = call %struct.pluto.157* @wibble.332(i64* nonnull %tmp) | |
ret %struct.pluto.157* %tmp1 | |
} | |
; Function Attrs: alwaysinline nonlazybind uwtable | |
define internal i8* @quux.341() unnamed_addr #2 { | |
bb: | |
ret i8* null | |
} | |
; Function Attrs: nonlazybind uwtable | |
define internal void @spam.342({ i64*, i64 }* %arg) unnamed_addr #1 { | |
bb: | |
call void @snork.556({ i64*, i64 }* noalias align 8 dereferenceable(16) %arg) | |
ret void | |
} | |
; Function Attrs: nonlazybind uwtable | |
define internal void @spam.343([0 x { [0 x i32]*, i64 }]* %arg, i64 %arg1) unnamed_addr #1 personality i32 (i32, i32, i64, %struct.snork.211*, %struct.quux.212*)* @foo.542 { | |
bb: | |
%tmp6 = bitcast [0 x { [0 x i32]*, i64 }]* %arg to { [0 x i32]*, i64 }* | |
%tmp8 = getelementptr inbounds { [0 x i32]*, i64 }, { [0 x i32]*, i64 }* %tmp6, i64 %arg1 | |
br label %bb9 | |
bb9: ; preds = %bb12, %bb | |
%tmp2.0 = phi { [0 x i32]*, i64 }* [ %tmp6, %bb ], [ %tmp15, %bb12 ] | |
%tmp11 = icmp eq { [0 x i32]*, i64 }* %tmp2.0, %tmp8 | |
br i1 %tmp11, label %bb16, label %bb12 | |
bb12: ; preds = %bb9 | |
%tmp15 = getelementptr inbounds { [0 x i32]*, i64 }, { [0 x i32]*, i64 }* %tmp2.0, i64 1 | |
invoke void @spam.282({ [0 x i32]*, i64 }* %tmp2.0) | |
to label %bb9 unwind label %bb20 | |
bb16: ; preds = %bb9 | |
ret void | |
bb17: ; preds = %bb27, %bb20 | |
%tmp2.1 = phi { [0 x i32]*, i64 }* [ %tmp15, %bb20 ], [ %tmp30, %bb27 ] | |
%tmp19 = icmp eq { [0 x i32]*, i64 }* %tmp2.1, %tmp8 | |
br i1 %tmp19, label %bb31, label %bb27 | |
bb20: ; preds = %bb12 | |
%tmp21 = landingpad { i8*, i32 } | |
cleanup | |
%tmp23 = extractvalue { i8*, i32 } %tmp21, 0 | |
%tmp24 = extractvalue { i8*, i32 } %tmp21, 1 | |
br label %bb17 | |
bb27: ; preds = %bb17 | |
%tmp30 = getelementptr inbounds { [0 x i32]*, i64 }, { [0 x i32]*, i64 }* %tmp2.1, i64 1 | |
call void @spam.282({ [0 x i32]*, i64 }* %tmp2.1) #13 | |
br label %bb17 | |
bb31: ; preds = %bb17 | |
resume { i8*, i32 } %tmp21 | |
} | |
; Function Attrs: nonlazybind uwtable | |
define internal void @eggs.344(%struct.eggs* %arg) unnamed_addr #1 personality i32 (i32, i32, i64, %struct.snork.211*, %struct.quux.212*)* @foo.542 { | |
bb: | |
invoke void @baz.524(%struct.eggs* noalias align 8 dereferenceable(24) %arg) | |
to label %bb1 unwind label %bb5 | |
bb1: ; preds = %bb | |
%tmp2 = bitcast %struct.eggs* %arg to { i64*, i64 }* | |
call void @spam.352({ i64*, i64 }* %tmp2) | |
ret void | |
bb5: ; preds = %bb | |
%tmp6 = landingpad { i8*, i32 } | |
cleanup | |
%tmp8 = extractvalue { i8*, i32 } %tmp6, 0 | |
%tmp9 = extractvalue { i8*, i32 } %tmp6, 1 | |
%tmp4 = bitcast %struct.eggs* %arg to { i64*, i64 }* | |
call void @spam.352({ i64*, i64 }* %tmp4) #13 | |
resume { i8*, i32 } %tmp6 | |
} | |
; Function Attrs: nonlazybind uwtable | |
define internal void @spam.345([0 x %struct.widget.76]* %arg, i64 %arg1) unnamed_addr #1 personality i32 (i32, i32, i64, %struct.snork.211*, %struct.quux.212*)* @foo.542 { | |
bb: | |
%tmp6 = bitcast [0 x %struct.widget.76]* %arg to %struct.widget.76* | |
%tmp8 = getelementptr inbounds %struct.widget.76, %struct.widget.76* %tmp6, i64 %arg1 | |
br label %bb9 | |
bb9: ; preds = %bb12, %bb | |
%tmp2.0 = phi %struct.widget.76* [ %tmp6, %bb ], [ %tmp15, %bb12 ] | |
%tmp11 = icmp eq %struct.widget.76* %tmp2.0, %tmp8 | |
br i1 %tmp11, label %bb16, label %bb12 | |
bb12: ; preds = %bb9 | |
%tmp15 = getelementptr inbounds %struct.widget.76, %struct.widget.76* %tmp2.0, i64 1 | |
invoke void @zot.286(%struct.widget.76* %tmp2.0) | |
to label %bb9 unwind label %bb20 | |
bb16: ; preds = %bb9 | |
ret void | |
bb17: ; preds = %bb27, %bb20 | |
%tmp2.1 = phi %struct.widget.76* [ %tmp15, %bb20 ], [ %tmp30, %bb27 ] | |
%tmp19 = icmp eq %struct.widget.76* %tmp2.1, %tmp8 | |
br i1 %tmp19, label %bb31, label %bb27 | |
bb20: ; preds = %bb12 | |
%tmp21 = landingpad { i8*, i32 } | |
cleanup | |
%tmp23 = extractvalue { i8*, i32 } %tmp21, 0 | |
%tmp24 = extractvalue { i8*, i32 } %tmp21, 1 | |
br label %bb17 | |
bb27: ; preds = %bb17 | |
%tmp30 = getelementptr inbounds %struct.widget.76, %struct.widget.76* %tmp2.1, i64 1 | |
call void @zot.286(%struct.widget.76* %tmp2.1) #13 | |
br label %bb17 | |
bb31: ; preds = %bb17 | |
resume { i8*, i32 } %tmp21 | |
} | |
; Function Attrs: nonlazybind uwtable | |
define internal void @hoge.346([0 x %struct.wibble.83]* %arg, i64 %arg1) unnamed_addr #1 personality i32 (i32, i32, i64, %struct.snork.211*, %struct.quux.212*)* @foo.542 { | |
bb: | |
%tmp6 = bitcast [0 x %struct.wibble.83]* %arg to %struct.wibble.83* | |
%tmp8 = getelementptr inbounds %struct.wibble.83, %struct.wibble.83* %tmp6, i64 %arg1 | |
br label %bb9 | |
bb9: ; preds = %bb12, %bb | |
%tmp2.0 = phi %struct.wibble.83* [ %tmp6, %bb ], [ %tmp15, %bb12 ] | |
%tmp11 = icmp eq %struct.wibble.83* %tmp2.0, %tmp8 | |
br i1 %tmp11, label %bb16, label %bb12 | |
bb12: ; preds = %bb9 | |
%tmp15 = getelementptr inbounds %struct.wibble.83, %struct.wibble.83* %tmp2.0, i64 1 | |
invoke void @barney.287(%struct.wibble.83* %tmp2.0) | |
to label %bb9 unwind label %bb20 | |
bb16: ; preds = %bb9 | |
ret void | |
bb17: ; preds = %bb27, %bb20 | |
%tmp2.1 = phi %struct.wibble.83* [ %tmp15, %bb20 ], [ %tmp30, %bb27 ] | |
%tmp19 = icmp eq %struct.wibble.83* %tmp2.1, %tmp8 | |
br i1 %tmp19, label %bb31, label %bb27 | |
bb20: ; preds = %bb12 | |
%tmp21 = landingpad { i8*, i32 } | |
cleanup | |
%tmp23 = extractvalue { i8*, i32 } %tmp21, 0 | |
%tmp24 = extractvalue { i8*, i32 } %tmp21, 1 | |
br label %bb17 | |
bb27: ; preds = %bb17 | |
%tmp30 = getelementptr inbounds %struct.wibble.83, %struct.wibble.83* %tmp2.1, i64 1 | |
call void @barney.287(%struct.wibble.83* %tmp2.1) #13 | |
br label %bb17 | |
bb31: ; preds = %bb17 | |
resume { i8*, i32 } %tmp21 | |
} | |
; Function Attrs: nonlazybind uwtable | |
define internal void @blam.347(%struct.snork.56* %arg) unnamed_addr #1 personality i32 (i32, i32, i64, %struct.snork.211*, %struct.quux.212*)* @foo.542 { | |
bb: | |
invoke void @snork.513(%struct.snork.56* noalias align 8 dereferenceable(24) %arg) | |
to label %bb1 unwind label %bb5 | |
bb1: ; preds = %bb | |
%tmp2 = bitcast %struct.snork.56* %arg to { i64*, i64 }* | |
call void @spam.33({ i64*, i64 }* %tmp2) | |
ret void | |
bb5: ; preds = %bb | |
%tmp6 = landingpad { i8*, i32 } | |
cleanup | |
%tmp8 = extractvalue { i8*, i32 } %tmp6, 0 | |
%tmp9 = extractvalue { i8*, i32 } %tmp6, 1 | |
%tmp4 = bitcast %struct.snork.56* %arg to { i64*, i64 }* | |
call void @spam.33({ i64*, i64 }* %tmp4) #13 | |
resume { i8*, i32 } %tmp6 | |
} | |
; Function Attrs: nonlazybind uwtable | |
define internal void @quux.348(%struct.blam.43* %arg) unnamed_addr #1 { | |
bb: | |
%tmp = getelementptr inbounds %struct.blam.43, %struct.blam.43* %arg, i32 0, i32 1 | |
call void @spam.88(%struct.baz.44* %tmp) | |
ret void | |
} | |
; Function Attrs: nonlazybind uwtable | |
define internal void @blam.349([0 x i64*]* %arg, i64 %arg1) unnamed_addr #1 personality i32 (i32, i32, i64, %struct.snork.211*, %struct.quux.212*)* @foo.542 { | |
bb: | |
%tmp6 = bitcast [0 x i64*]* %arg to i64** | |
%tmp8 = getelementptr inbounds i64*, i64** %tmp6, i64 %arg1 | |
br label %bb9 | |
bb9: ; preds = %bb12, %bb | |
%tmp2.0 = phi i64** [ %tmp6, %bb ], [ %tmp15, %bb12 ] | |
%tmp11 = icmp eq i64** %tmp2.0, %tmp8 | |
br i1 %tmp11, label %bb16, label %bb12 | |
bb12: ; preds = %bb9 | |
%tmp15 = getelementptr inbounds i64*, i64** %tmp2.0, i64 1 | |
invoke void @pluto.289(i64** %tmp2.0) | |
to label %bb9 unwind label %bb20 | |
bb16: ; preds = %bb9 | |
ret void | |
bb17: ; preds = %bb27, %bb20 | |
%tmp2.1 = phi i64** [ %tmp15, %bb20 ], [ %tmp30, %bb27 ] | |
%tmp19 = icmp eq i64** %tmp2.1, %tmp8 | |
br i1 %tmp19, label %bb31, label %bb27 | |
bb20: ; preds = %bb12 | |
%tmp21 = landingpad { i8*, i32 } | |
cleanup | |
%tmp23 = extractvalue { i8*, i32 } %tmp21, 0 | |
%tmp24 = extractvalue { i8*, i32 } %tmp21, 1 | |
br label %bb17 | |
bb27: ; preds = %bb17 | |
%tmp30 = getelementptr inbounds i64*, i64** %tmp2.1, i64 1 | |
call void @pluto.289(i64** %tmp2.1) #13 | |
br label %bb17 | |
bb31: ; preds = %bb17 | |
resume { i8*, i32 } %tmp21 | |
} | |
; Function Attrs: nonlazybind uwtable | |
define internal void @quux.350(%struct.snork.46* %arg) unnamed_addr #1 { | |
bb: | |
%tmp = getelementptr inbounds %struct.snork.46, %struct.snork.46* %arg, i32 0, i32 1 | |
call void @spam.88(%struct.baz.44* %tmp) | |
ret void | |
} | |
; Function Attrs: nonlazybind uwtable | |
define internal void @wibble.351(%struct.snork.47* %arg) unnamed_addr #1 personality i32 (i32, i32, i64, %struct.snork.211*, %struct.quux.212*)* @foo.542 { | |
bb: | |
%tmp1 = getelementptr inbounds %struct.snork.47, %struct.snork.47* %arg, i32 0, i32 1 | |
invoke void @spam.88(%struct.baz.44* %tmp1) | |
to label %bb2 unwind label %bb6 | |
bb2: ; preds = %bb | |
%tmp3 = getelementptr inbounds %struct.snork.47, %struct.snork.47* %arg, i32 0, i32 2 | |
call void @spam.97(%struct.eggs.48* %tmp3) | |
ret void | |
bb6: ; preds = %bb | |
%tmp7 = landingpad { i8*, i32 } | |
cleanup | |
%tmp9 = extractvalue { i8*, i32 } %tmp7, 0 | |
%tmp10 = extractvalue { i8*, i32 } %tmp7, 1 | |
%tmp5 = getelementptr inbounds %struct.snork.47, %struct.snork.47* %arg, i32 0, i32 2 | |
call void @spam.97(%struct.eggs.48* %tmp5) #13 | |
resume { i8*, i32 } %tmp7 | |
} | |
; Function Attrs: nonlazybind uwtable | |
define internal void @spam.352({ i64*, i64 }* %arg) unnamed_addr #1 { | |
bb: | |
call void @barney.557({ i64*, i64 }* noalias align 8 dereferenceable(16) %arg) | |
ret void | |
} | |
; Function Attrs: alwaysinline nonlazybind uwtable | |
define internal i8* @spam.353(i8* %arg, i64 %arg1) unnamed_addr #2 { | |
bb: | |
%tmp = call i8* @widget.355(i8* %arg, i64 %arg1) | |
ret i8* %tmp | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal zeroext i1 @blam.354(i8* %arg, i8* %arg1) unnamed_addr #0 { | |
bb: | |
%tmp2 = icmp eq i8* %arg, %arg1 | |
%tmp3 = zext i1 %tmp2 to i8 | |
ret i1 %tmp2 | |
} | |
; Function Attrs: alwaysinline nonlazybind uwtable | |
define internal i8* @widget.355(i8* %arg, i64 %arg1) unnamed_addr #2 { | |
bb: | |
%tmp3 = getelementptr i8, i8* %arg, i64 %arg1 | |
ret i8* %tmp3 | |
} | |
; Function Attrs: alwaysinline nonlazybind uwtable | |
define internal i8* @hoge.356(i8* %arg, i64 %arg1) unnamed_addr #2 { | |
bb: | |
%tmp = call i8* @spam.359(i8* %arg, i64 %arg1) | |
ret i8* %tmp | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal {}* @quux.357({ i64*, i64 }* %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast { i64*, i64 }* %arg to {}* | |
ret {}* %tmp | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal {}* @hoge.358(i8* %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast i8* %arg to {}* | |
ret {}* %tmp | |
} | |
; Function Attrs: alwaysinline nonlazybind uwtable | |
define internal i8* @spam.359(i8* %arg, i64 %arg1) unnamed_addr #2 { | |
bb: | |
%tmp3 = getelementptr inbounds i8, i8* %arg, i64 %arg1 | |
ret i8* %tmp3 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal zeroext i1 @pluto.360(i8* %arg) unnamed_addr #0 { | |
bb: | |
%tmp = call i8* @blam.99() | |
%tmp2 = call zeroext i1 @blam.354(i8* %arg, i8* %tmp) | |
ret i1 %tmp2 | |
} | |
; Function Attrs: alwaysinline nonlazybind uwtable | |
define internal i64* @quux.361(i64* align 8 dereferenceable(8) %arg) unnamed_addr #2 { | |
bb: | |
ret i64* %arg | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal void @quux.362(i128 %arg, %struct.eggs.185* noalias nocapture dereferenceable(24) %arg1) unnamed_addr #0 personality i32 (i32, i32, i64, %struct.snork.211*, %struct.quux.212*)* @foo.542 { | |
bb: | |
%tmp3 = alloca %struct.eggs.185, align 8 | |
%tmp4 = alloca %struct.bar.186, align 8 | |
%tmp15 = bitcast %struct.bar.186* %tmp4 to i8* | |
call void @llvm.lifetime.start.p0i8(i64 24, i8* %tmp15) | |
%tmp16 = bitcast %struct.eggs.185* %tmp3 to i8* | |
call void @llvm.lifetime.start.p0i8(i64 24, i8* %tmp16) | |
%tmp18 = bitcast %struct.eggs.185* %arg1 to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 8 %tmp16, i8* align 8 %tmp18, i64 24, i1 false) | |
invoke void @spam.365(%struct.bar.186* noalias nocapture sret(%struct.bar.186) dereferenceable(24) %tmp4, %struct.eggs.185* noalias nocapture dereferenceable(24) %tmp3) | |
to label %bb19 unwind label %bb26 | |
bb19: ; preds = %bb | |
call void @llvm.lifetime.end.p0i8(i64 24, i8* %tmp16) | |
invoke void @pluto.558(i128 %arg, %struct.bar.186* noalias nocapture dereferenceable(24) %tmp4) | |
to label %bb33 unwind label %bb26 | |
bb26: ; preds = %bb19, %bb | |
%tmp27 = landingpad { i8*, i32 } | |
cleanup | |
%tmp29 = extractvalue { i8*, i32 } %tmp27, 0 | |
%tmp30 = extractvalue { i8*, i32 } %tmp27, 1 | |
resume { i8*, i32 } %tmp27 | |
bb33: ; preds = %bb19 | |
call void @llvm.lifetime.end.p0i8(i64 24, i8* %tmp15) | |
ret void | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal void @ham.363(i8 %arg, %struct.wobble.187* noalias nocapture dereferenceable(24) %arg1) unnamed_addr #0 personality i32 (i32, i32, i64, %struct.snork.211*, %struct.quux.212*)* @foo.542 { | |
bb: | |
%tmp3 = alloca %struct.wobble.187, align 8 | |
%tmp4 = alloca %struct.wobble.188, align 8 | |
%tmp5 = bitcast %struct.wobble.188* %tmp4 to i8* | |
call void @llvm.lifetime.start.p0i8(i64 24, i8* %tmp5) | |
%tmp6 = bitcast %struct.wobble.187* %tmp3 to i8* | |
call void @llvm.lifetime.start.p0i8(i64 24, i8* %tmp6) | |
%tmp8 = bitcast %struct.wobble.187* %arg1 to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 8 %tmp6, i8* align 8 %tmp8, i64 24, i1 false) | |
invoke void @barney.364(%struct.wobble.188* noalias nocapture sret(%struct.wobble.188) dereferenceable(24) %tmp4, %struct.wobble.187* noalias nocapture dereferenceable(24) %tmp3) | |
to label %bb9 unwind label %bb14 | |
bb9: ; preds = %bb | |
call void @llvm.lifetime.end.p0i8(i64 24, i8* %tmp6) | |
invoke void @wobble.559(i8 %arg, %struct.wobble.188* noalias nocapture dereferenceable(24) %tmp4) | |
to label %bb21 unwind label %bb14 | |
bb14: ; preds = %bb9, %bb | |
%tmp15 = landingpad { i8*, i32 } | |
cleanup | |
%tmp17 = extractvalue { i8*, i32 } %tmp15, 0 | |
%tmp18 = extractvalue { i8*, i32 } %tmp15, 1 | |
resume { i8*, i32 } %tmp15 | |
bb21: ; preds = %bb9 | |
call void @llvm.lifetime.end.p0i8(i64 24, i8* %tmp5) | |
ret void | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal void @barney.364(%struct.wobble.188* noalias nocapture sret(%struct.wobble.188) dereferenceable(24) %arg, %struct.wobble.187* noalias nocapture dereferenceable(24) %arg1) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast %struct.wobble.188* %arg to %struct.wobble.187* | |
%tmp2 = bitcast %struct.wobble.187* %tmp to i8* | |
%tmp3 = bitcast %struct.wobble.187* %arg1 to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 8 %tmp2, i8* align 8 %tmp3, i64 24, i1 false) | |
ret void | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal void @spam.365(%struct.bar.186* noalias nocapture sret(%struct.bar.186) dereferenceable(24) %arg, %struct.eggs.185* noalias nocapture dereferenceable(24) %arg1) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast %struct.bar.186* %arg to %struct.eggs.185* | |
%tmp2 = bitcast %struct.eggs.185* %tmp to i8* | |
%tmp3 = bitcast %struct.eggs.185* %arg1 to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 8 %tmp2, i8* align 8 %tmp3, i64 24, i1 false) | |
ret void | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal i64 @snork.366(i64* %arg, i64 %arg1, i8 %arg2) unnamed_addr #0 { | |
bb: | |
%tmp5 = zext i8 %arg2 to i64 | |
switch i64 %tmp5, label %bb6 [ | |
i64 0, label %bb7 | |
i64 1, label %bb9 | |
i64 2, label %bb11 | |
i64 3, label %bb13 | |
i64 4, label %bb15 | |
] | |
bb6: ; preds = %bb | |
unreachable | |
bb7: ; preds = %bb | |
%tmp8 = atomicrmw sub i64* %arg, i64 %arg1 monotonic, align 8 | |
br label %bb18 | |
bb9: ; preds = %bb | |
%tmp10 = atomicrmw sub i64* %arg, i64 %arg1 release, align 8 | |
br label %bb18 | |
bb11: ; preds = %bb | |
%tmp12 = atomicrmw sub i64* %arg, i64 %arg1 acquire, align 8 | |
br label %bb18 | |
bb13: ; preds = %bb | |
%tmp14 = atomicrmw sub i64* %arg, i64 %arg1 acq_rel, align 8 | |
br label %bb18 | |
bb15: ; preds = %bb | |
%tmp16 = atomicrmw sub i64* %arg, i64 %arg1 seq_cst, align 8 | |
br label %bb18 | |
bb18: ; preds = %bb7, %bb9, %bb11, %bb13, %bb15 | |
%tmp.0 = phi i64 [ %tmp16, %bb15 ], [ %tmp14, %bb13 ], [ %tmp12, %bb11 ], [ %tmp10, %bb9 ], [ %tmp8, %bb7 ] | |
ret i64 %tmp.0 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal i64 @wobble.367(%struct.eggs.158* align 8 dereferenceable(8) %arg, i64 %arg1, i8 %arg2) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast %struct.eggs.158* %arg to i64* | |
%tmp3 = call i64* @quux.361(i64* align 8 dereferenceable(8) %tmp) | |
%tmp5 = call i64 @snork.366(i64* %tmp3, i64 %arg1, i8 %arg2) | |
ret i64 %tmp5 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal void @snork.368(i8 %arg) unnamed_addr #0 { | |
bb: | |
%tmp2 = zext i8 %arg to i64 | |
switch i64 %tmp2, label %bb3 [ | |
i64 0, label %bb4 | |
i64 1, label %bb5 | |
i64 2, label %bb6 | |
i64 3, label %bb7 | |
i64 4, label %bb8 | |
] | |
bb3: ; preds = %bb | |
unreachable | |
bb4: ; preds = %bb | |
call void @wibble.543([0 x i8]* noalias nonnull readonly align 1 bitcast (<{ [41 x i8] }>* @global.5 to [0 x i8]*), i64 41, %struct.zot.29* noalias readonly align 8 dereferenceable(24) bitcast (<{ i8*, [16 x i8] }>* @global.7 to %struct.zot.29*)) #12 | |
unreachable | |
bb5: ; preds = %bb | |
fence release | |
br label %bb9 | |
bb6: ; preds = %bb | |
fence acquire | |
br label %bb9 | |
bb7: ; preds = %bb | |
fence acq_rel | |
br label %bb9 | |
bb8: ; preds = %bb | |
fence seq_cst | |
br label %bb9 | |
bb9: ; preds = %bb8, %bb7, %bb6, %bb5 | |
ret void | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal { i64, i64 } @hoge.369(i64 %arg, i64 %arg1) unnamed_addr #0 { | |
bb: | |
%tmp2 = call i64 @wombat.31(i64 %arg1), !range !10 | |
%tmp10 = insertvalue { i64, i64 } undef, i64 %arg, 0 | |
%tmp11 = insertvalue { i64, i64 } %tmp10, i64 %tmp2, 1 | |
ret { i64, i64 } %tmp11 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal i64 @eggs.370({ i64, i64 }* noalias readonly align 8 dereferenceable(16) %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast { i64, i64 }* %arg to i64* | |
%tmp1 = load i64, i64* %tmp, align 8 | |
ret i64 %tmp1 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal i64 @baz.371({ i64, i64 }* noalias readonly align 8 dereferenceable(16) %arg) unnamed_addr #0 { | |
bb: | |
%tmp = getelementptr inbounds { i64, i64 }, { i64, i64 }* %arg, i32 0, i32 1 | |
%tmp1 = load i64, i64* %tmp, align 8, !range !10 | |
%tmp2 = call i64 @wobble.32(i64 %tmp1) | |
ret i64 %tmp2 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal { i8*, i8* } @quux.372([0 x i8]* noalias nonnull readonly align 1 %arg, i64 %arg1) unnamed_addr #0 { | |
bb: | |
%tmp = call { i8*, i8* } @zot.376([0 x i8]* noalias nonnull readonly align 1 %arg, i64 %arg1) | |
%tmp2 = extractvalue { i8*, i8* } %tmp, 0 | |
%tmp3 = extractvalue { i8*, i8* } %tmp, 1 | |
ret { i8*, i8* } %tmp | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal i8* @pluto.373([0 x i8]* noalias nonnull readonly align 1 %arg, i64 %arg1) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast [0 x i8]* %arg to i8* | |
ret i8* %tmp | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal { [0 x { i64*, i64 }]*, i64 } @ham.374({ i64*, i64 }* %arg, i64 %arg1) unnamed_addr #0 { | |
bb: | |
call void @wombat.560({ i64*, i64 }* %arg, i64 %arg1) | |
%tmp = call { [0 x { i64*, i64 }]*, i64 } @snork.49({ i64*, i64 }* %arg, i64 %arg1) | |
%tmp3 = extractvalue { [0 x { i64*, i64 }]*, i64 } %tmp, 0 | |
%tmp4 = extractvalue { [0 x { i64*, i64 }]*, i64 } %tmp, 1 | |
ret { [0 x { i64*, i64 }]*, i64 } %tmp | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal { [0 x i8]*, i64 } @hoge.375(i8* %arg, i64 %arg1) unnamed_addr #0 { | |
bb: | |
call void @zot.561(i8* %arg, i64 %arg1) | |
%tmp = call { [0 x i8]*, i64 } @foo.48(i8* %arg, i64 %arg1) | |
%tmp3 = extractvalue { [0 x i8]*, i64 } %tmp, 0 | |
%tmp4 = extractvalue { [0 x i8]*, i64 } %tmp, 1 | |
ret { [0 x i8]*, i64 } %tmp | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal { i8*, i8* } @zot.376([0 x i8]* noalias nonnull readonly align 1 %arg, i64 %arg1) unnamed_addr #0 { | |
bb: | |
%tmp3 = call i8* @pluto.373([0 x i8]* noalias nonnull readonly align 1 %arg, i64 %arg1) | |
%tmp5 = call zeroext i1 @pluto.360(i8* %tmp3) | |
%tmp7 = xor i1 %tmp5, true | |
call void @llvm.assume(i1 %tmp7) | |
%tmp10 = call i64 @blam.27() | |
%tmp12 = icmp eq i64 %tmp10, 0 | |
br i1 %tmp12, label %bb13, label %bb15 | |
bb13: ; preds = %bb | |
%tmp14 = call i8* @spam.353(i8* %tmp3, i64 %arg1) | |
br label %bb18 | |
bb15: ; preds = %bb | |
%tmp16 = call i8* @hoge.356(i8* %tmp3, i64 %arg1) | |
br label %bb18 | |
bb18: ; preds = %bb13, %bb15 | |
%tmp.0 = phi i8* [ %tmp14, %bb13 ], [ %tmp16, %bb15 ] | |
%tmp19 = call nonnull i8* @wobble.331(i8* %tmp3) | |
%tmp30 = insertvalue { i8*, i8* } undef, i8* %tmp19, 0 | |
%tmp31 = insertvalue { i8*, i8* } %tmp30, i8* %tmp.0, 1 | |
ret { i8*, i8* } %tmp31 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal void @foo.377(%struct.spam.28* noalias nocapture sret(%struct.spam.28) dereferenceable(24) %arg, i64 %arg1) unnamed_addr #0 { | |
bb: | |
call void @zot.420(%struct.spam.28* noalias nocapture sret(%struct.spam.28) dereferenceable(24) %arg, i64 %arg1) | |
ret void | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal { i64*, i64 } @eggs.378(i64* noalias align 8 dereferenceable(8) %arg) unnamed_addr #0 { | |
bb: | |
%tmp1 = load i64, i64* %arg, align 8 | |
%tmp8 = insertvalue { i64*, i64 } undef, i64* %arg, 0 | |
%tmp9 = insertvalue { i64*, i64 } %tmp8, i64 %tmp1, 1 | |
ret { i64*, i64 } %tmp9 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal %struct.eggs* @widget.379(%struct.barney.189* noalias align 8 dereferenceable(24) %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast %struct.barney.189* %arg to { i64*, i64 }* | |
%tmp1 = call %struct.eggs* @foo.462({ i64*, i64 }* noalias readonly align 8 dereferenceable(16) %tmp) | |
%tmp3 = call zeroext i1 @wobble.254(%struct.eggs* %tmp1) | |
%tmp5 = xor i1 %tmp3, true | |
call void @llvm.assume(i1 %tmp5) | |
ret %struct.eggs* %tmp1 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal %struct.widget.55* @baz.380(%struct.wombat.176* noalias align 8 dereferenceable(24) %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast %struct.wombat.176* %arg to { i64*, i64 }* | |
%tmp1 = call %struct.widget.55* @blam.446({ i64*, i64 }* noalias readonly align 8 dereferenceable(16) %tmp) | |
%tmp3 = call zeroext i1 @baz.250(%struct.widget.55* %tmp1) | |
%tmp5 = xor i1 %tmp3, true | |
call void @llvm.assume(i1 %tmp5) | |
ret %struct.widget.55* %tmp1 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal i64* @spam.381(%struct.eggs.99* noalias align 8 dereferenceable(24) %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast %struct.eggs.99* %arg to { i64*, i64 }* | |
%tmp1 = call i64* @snork.452({ i64*, i64 }* noalias readonly align 8 dereferenceable(16) %tmp) | |
%tmp3 = call zeroext i1 @baz.263(i64* %tmp1) | |
%tmp5 = xor i1 %tmp3, true | |
call void @llvm.assume(i1 %tmp5) | |
ret i64* %tmp1 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal %struct.wombat.88* @pluto.382(%struct.baz.51* noalias align 8 dereferenceable(24) %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast %struct.baz.51* %arg to { i64*, i64 }* | |
%tmp1 = call %struct.wombat.88* @quux.458({ i64*, i64 }* noalias readonly align 8 dereferenceable(16) %tmp) | |
%tmp3 = call zeroext i1 @bar.264(%struct.wombat.88* %tmp1) | |
%tmp5 = xor i1 %tmp3, true | |
call void @llvm.assume(i1 %tmp5) | |
ret %struct.wombat.88* %tmp1 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal %struct.blam.65* @baz.383(%struct.ham.190* noalias align 8 dereferenceable(24) %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast %struct.ham.190* %arg to { i64*, i64 }* | |
%tmp1 = call %struct.blam.65* @bar.476({ i64*, i64 }* noalias readonly align 8 dereferenceable(16) %tmp) | |
%tmp3 = call zeroext i1 @quux.241(%struct.blam.65* %tmp1) | |
%tmp5 = xor i1 %tmp3, true | |
call void @llvm.assume(i1 %tmp5) | |
ret %struct.blam.65* %tmp1 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal %struct.widget.66* @widget.384(%struct.widget.191* noalias align 8 dereferenceable(24) %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast %struct.widget.191* %arg to { i32*, i64 }* | |
%tmp1 = call %struct.widget.66* @snork.460({ i32*, i64 }* noalias readonly align 8 dereferenceable(16) %tmp) | |
%tmp3 = call zeroext i1 @foo.243(%struct.widget.66* %tmp1) | |
%tmp5 = xor i1 %tmp3, true | |
call void @llvm.assume(i1 %tmp5) | |
ret %struct.widget.66* %tmp1 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal %struct.wibble.61* @wibble.385(%struct.spam.177* noalias align 8 dereferenceable(24) %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast %struct.spam.177* %arg to { i64*, i64 }* | |
%tmp1 = call %struct.wibble.61* @hoge.471({ i64*, i64 }* noalias readonly align 8 dereferenceable(16) %tmp) | |
%tmp3 = call zeroext i1 @wobble.252(%struct.wibble.61* %tmp1) | |
%tmp5 = xor i1 %tmp3, true | |
call void @llvm.assume(i1 %tmp5) | |
ret %struct.wibble.61* %tmp1 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal %struct.wibble.71* @wibble.386(%struct.quux.192* noalias align 8 dereferenceable(24) %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast %struct.quux.192* %arg to { i64*, i64 }* | |
%tmp1 = call %struct.wibble.71* @blam.465({ i64*, i64 }* noalias readonly align 8 dereferenceable(16) %tmp) | |
%tmp3 = call zeroext i1 @wibble.255(%struct.wibble.71* %tmp1) | |
%tmp5 = xor i1 %tmp3, true | |
call void @llvm.assume(i1 %tmp5) | |
ret %struct.wibble.71* %tmp1 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal %struct.snork.52* @wombat.387(%struct.barney.81* noalias align 8 dereferenceable(24) %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast %struct.barney.81* %arg to { i64*, i64 }* | |
%tmp1 = call %struct.snork.52* @widget.475({ i64*, i64 }* noalias readonly align 8 dereferenceable(16) %tmp) | |
%tmp3 = call zeroext i1 @bar.242(%struct.snork.52* %tmp1) | |
%tmp5 = xor i1 %tmp3, true | |
call void @llvm.assume(i1 %tmp5) | |
ret %struct.snork.52* %tmp1 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal %struct.barney.58* @foo.388(%struct.blam.193* noalias align 8 dereferenceable(24) %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast %struct.blam.193* %arg to { i64*, i64 }* | |
%tmp1 = call %struct.barney.58* @eggs.450({ i64*, i64 }* noalias readonly align 8 dereferenceable(16) %tmp) | |
%tmp3 = call zeroext i1 @wombat.246(%struct.barney.58* %tmp1) | |
%tmp5 = xor i1 %tmp3, true | |
call void @llvm.assume(i1 %tmp5) | |
ret %struct.barney.58* %tmp1 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal i32* @bar.389(%struct.blam.194* noalias align 8 dereferenceable(24) %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast %struct.blam.194* %arg to { i32*, i64 }* | |
%tmp1 = call i32* @hoge.451({ i32*, i64 }* noalias readonly align 8 dereferenceable(16) %tmp) | |
%tmp3 = call zeroext i1 @foo.262(i32* %tmp1) | |
%tmp5 = xor i1 %tmp3, true | |
call void @llvm.assume(i1 %tmp5) | |
ret i32* %tmp1 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal %struct.pluto.68* @pluto.390(%struct.pluto.195* noalias align 8 dereferenceable(24) %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast %struct.pluto.195* %arg to { i64*, i64 }* | |
%tmp1 = call %struct.pluto.68* @quux.453({ i64*, i64 }* noalias readonly align 8 dereferenceable(16) %tmp) | |
%tmp3 = call zeroext i1 @wobble.279(%struct.pluto.68* %tmp1) | |
%tmp5 = xor i1 %tmp3, true | |
call void @llvm.assume(i1 %tmp5) | |
ret %struct.pluto.68* %tmp1 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal %struct.widget.73* @wombat.391(%struct.snork.56* noalias align 8 dereferenceable(24) %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast %struct.snork.56* %arg to { i64*, i64 }* | |
%tmp1 = call %struct.widget.73* @widget.464({ i64*, i64 }* noalias readonly align 8 dereferenceable(16) %tmp) | |
%tmp3 = call zeroext i1 @pluto.276(%struct.widget.73* %tmp1) | |
%tmp5 = xor i1 %tmp3, true | |
call void @llvm.assume(i1 %tmp5) | |
ret %struct.widget.73* %tmp1 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal { [0 x i32]*, i64 }* @snork.392(%struct.spam.196* noalias align 8 dereferenceable(24) %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast %struct.spam.196* %arg to { i64*, i64 }* | |
%tmp1 = call { [0 x i32]*, i64 }* @ham.447({ i64*, i64 }* noalias readonly align 8 dereferenceable(16) %tmp) | |
%tmp3 = call zeroext i1 @barney.267({ [0 x i32]*, i64 }* %tmp1) | |
%tmp5 = xor i1 %tmp3, true | |
call void @llvm.assume(i1 %tmp5) | |
ret { [0 x i32]*, i64 }* %tmp1 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal %struct.foo.86* @pluto.393(%struct.ham.197* noalias align 8 dereferenceable(24) %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast %struct.ham.197* %arg to { i64*, i64 }* | |
%tmp1 = call %struct.foo.86* @quux.445({ i64*, i64 }* noalias readonly align 8 dereferenceable(16) %tmp) | |
%tmp3 = call zeroext i1 @eggs.259(%struct.foo.86* %tmp1) | |
%tmp5 = xor i1 %tmp3, true | |
call void @llvm.assume(i1 %tmp5) | |
ret %struct.foo.86* %tmp1 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal %struct.foo.62* @eggs.394(%struct.spam.198* noalias align 8 dereferenceable(24) %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast %struct.spam.198* %arg to { i32*, i64 }* | |
%tmp1 = call %struct.foo.62* @spam.461({ i32*, i64 }* noalias readonly align 8 dereferenceable(16) %tmp) | |
%tmp3 = call zeroext i1 @wobble.244(%struct.foo.62* %tmp1) | |
%tmp5 = xor i1 %tmp3, true | |
call void @llvm.assume(i1 %tmp5) | |
ret %struct.foo.62* %tmp1 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal %struct.ham.77* @quux.395(%struct.zot.199* noalias align 8 dereferenceable(24) %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast %struct.zot.199* %arg to { i64*, i64 }* | |
%tmp1 = call %struct.ham.77* @baz.470({ i64*, i64 }* noalias readonly align 8 dereferenceable(16) %tmp) | |
%tmp3 = call zeroext i1 @wibble.268(%struct.ham.77* %tmp1) | |
%tmp5 = xor i1 %tmp3, true | |
call void @llvm.assume(i1 %tmp5) | |
ret %struct.ham.77* %tmp1 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal %struct.wibble.83* @bar.396(%struct.quux.200* noalias align 8 dereferenceable(24) %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast %struct.quux.200* %arg to { i64*, i64 }* | |
%tmp1 = call %struct.wibble.83* @baz.454({ i64*, i64 }* noalias readonly align 8 dereferenceable(16) %tmp) | |
%tmp3 = call zeroext i1 @widget.245(%struct.wibble.83* %tmp1) | |
%tmp5 = xor i1 %tmp3, true | |
call void @llvm.assume(i1 %tmp5) | |
ret %struct.wibble.83* %tmp1 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal %struct.blam.43* @wobble.397(%struct.hoge.39* noalias align 8 dereferenceable(24) %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast %struct.hoge.39* %arg to { i64*, i64 }* | |
%tmp1 = call %struct.blam.43* @bar.483({ i64*, i64 }* noalias readonly align 8 dereferenceable(16) %tmp) | |
%tmp3 = call zeroext i1 @wombat.261(%struct.blam.43* %tmp1) | |
%tmp5 = xor i1 %tmp3, true | |
call void @llvm.assume(i1 %tmp5) | |
ret %struct.blam.43* %tmp1 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal %struct.zot.82* @ham.398(%struct.zot.60* noalias align 8 dereferenceable(24) %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast %struct.zot.60* %arg to { i64*, i64 }* | |
%tmp1 = call %struct.zot.82* @widget.472({ i64*, i64 }* noalias readonly align 8 dereferenceable(16) %tmp) | |
%tmp3 = call zeroext i1 @ham.272(%struct.zot.82* %tmp1) | |
%tmp5 = xor i1 %tmp3, true | |
call void @llvm.assume(i1 %tmp5) | |
ret %struct.zot.82* %tmp1 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal %struct.blam.75* @baz.399(%struct.zot.201* noalias align 8 dereferenceable(24) %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast %struct.zot.201* %arg to { i64*, i64 }* | |
%tmp1 = call %struct.blam.75* @foo.477({ i64*, i64 }* noalias readonly align 8 dereferenceable(16) %tmp) | |
%tmp3 = call zeroext i1 @wibble.251(%struct.blam.75* %tmp1) | |
%tmp5 = xor i1 %tmp3, true | |
call void @llvm.assume(i1 %tmp5) | |
ret %struct.blam.75* %tmp1 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal %struct.zot.57* @eggs.400(%struct.wibble.202* noalias align 8 dereferenceable(24) %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast %struct.wibble.202* %arg to { i64*, i64 }* | |
%tmp1 = call %struct.zot.57* @spam.479({ i64*, i64 }* noalias readonly align 8 dereferenceable(16) %tmp) | |
%tmp3 = call zeroext i1 @hoge.247(%struct.zot.57* %tmp1) | |
%tmp5 = xor i1 %tmp3, true | |
call void @llvm.assume(i1 %tmp5) | |
ret %struct.zot.57* %tmp1 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal i16* @spam.401(%struct.foo.93* noalias align 8 dereferenceable(24) %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast %struct.foo.93* %arg to { i16*, i64 }* | |
%tmp1 = call i16* @ham.474({ i16*, i64 }* noalias readonly align 8 dereferenceable(16) %tmp) | |
%tmp3 = call zeroext i1 @zot.269(i16* %tmp1) | |
%tmp5 = xor i1 %tmp3, true | |
call void @llvm.assume(i1 %tmp5) | |
ret i16* %tmp1 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal %struct.snork.47* @eggs.402(%struct.wombat.167* noalias align 8 dereferenceable(24) %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast %struct.wombat.167* %arg to { i64*, i64 }* | |
%tmp1 = call %struct.snork.47* @pluto.468({ i64*, i64 }* noalias readonly align 8 dereferenceable(16) %tmp) | |
%tmp3 = call zeroext i1 @hoge.273(%struct.snork.47* %tmp1) | |
%tmp5 = xor i1 %tmp3, true | |
call void @llvm.assume(i1 %tmp5) | |
ret %struct.snork.47* %tmp1 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal { i64, { i32, i32 } }* @wombat.403(%struct.eggs* noalias align 8 dereferenceable(24) %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast %struct.eggs* %arg to { i64*, i64 }* | |
%tmp1 = call { i64, { i32, i32 } }* @pluto.449({ i64*, i64 }* noalias readonly align 8 dereferenceable(16) %tmp) | |
%tmp3 = call zeroext i1 @zot.248({ i64, { i32, i32 } }* %tmp1) | |
%tmp5 = xor i1 %tmp3, true | |
call void @llvm.assume(i1 %tmp5) | |
ret { i64, { i32, i32 } }* %tmp1 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal %struct.eggs.70* @spam.404(%struct.quux.203* noalias align 8 dereferenceable(24) %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast %struct.quux.203* %arg to { i64*, i64 }* | |
%tmp1 = call %struct.eggs.70* @widget.480({ i64*, i64 }* noalias readonly align 8 dereferenceable(16) %tmp) | |
%tmp3 = call zeroext i1 @zot.257(%struct.eggs.70* %tmp1) | |
%tmp5 = xor i1 %tmp3, true | |
call void @llvm.assume(i1 %tmp5) | |
ret %struct.eggs.70* %tmp1 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal %struct.widget.76* @hoge.405(%struct.hoge.204* noalias align 8 dereferenceable(24) %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast %struct.hoge.204* %arg to { i64*, i64 }* | |
%tmp1 = call %struct.widget.76* @barney.459({ i64*, i64 }* noalias readonly align 8 dereferenceable(16) %tmp) | |
%tmp3 = call zeroext i1 @eggs.266(%struct.widget.76* %tmp1) | |
%tmp5 = xor i1 %tmp3, true | |
call void @llvm.assume(i1 %tmp5) | |
ret %struct.widget.76* %tmp1 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal %struct.baz.67* @quux.406(%struct.blam.205* noalias align 8 dereferenceable(24) %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast %struct.blam.205* %arg to { i64*, i64 }* | |
%tmp1 = call %struct.baz.67* @blam.457({ i64*, i64 }* noalias readonly align 8 dereferenceable(16) %tmp) | |
%tmp3 = call zeroext i1 @barney.275(%struct.baz.67* %tmp1) | |
%tmp5 = xor i1 %tmp3, true | |
call void @llvm.assume(i1 %tmp5) | |
ret %struct.baz.67* %tmp1 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal %struct.widget.84* @wombat.407(%struct.snork.206* noalias align 8 dereferenceable(24) %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast %struct.snork.206* %arg to { i64*, i64 }* | |
%tmp1 = call %struct.widget.84* @pluto.473({ i64*, i64 }* noalias readonly align 8 dereferenceable(16) %tmp) | |
%tmp3 = call zeroext i1 @barney.258(%struct.widget.84* %tmp1) | |
%tmp5 = xor i1 %tmp3, true | |
call void @llvm.assume(i1 %tmp5) | |
ret %struct.widget.84* %tmp1 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal { i32, i32 }* @spam.408(%struct.blam.207* noalias align 8 dereferenceable(24) %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast %struct.blam.207* %arg to { i32*, i64 }* | |
%tmp1 = call { i32, i32 }* @bar.455({ i32*, i64 }* noalias readonly align 8 dereferenceable(16) %tmp) | |
%tmp3 = call zeroext i1 @hoge.274({ i32, i32 }* %tmp1) | |
%tmp5 = xor i1 %tmp3, true | |
call void @llvm.assume(i1 %tmp5) | |
ret { i32, i32 }* %tmp1 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal i8* @quux.409(%struct.bar.30* noalias align 8 dereferenceable(24) %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast %struct.bar.30* %arg to { i8*, i64 }* | |
%tmp1 = call i8* @wibble.466({ i8*, i64 }* noalias readonly align 8 dereferenceable(16) %tmp) | |
%tmp3 = call zeroext i1 @bar.278(i8* %tmp1) | |
%tmp5 = xor i1 %tmp3, true | |
call void @llvm.assume(i1 %tmp5) | |
ret i8* %tmp1 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal i32* @hoge.410(%struct.hoge.208* noalias align 8 dereferenceable(24) %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast %struct.hoge.208* %arg to { i32*, i64 }* | |
%tmp1 = call i32* @wombat.482({ i32*, i64 }* noalias readonly align 8 dereferenceable(16) %tmp) | |
%tmp3 = call zeroext i1 @blam.270(i32* %tmp1) | |
%tmp5 = xor i1 %tmp3, true | |
call void @llvm.assume(i1 %tmp5) | |
ret i32* %tmp1 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal i8* @zot.411(%struct.spam.28* noalias align 8 dereferenceable(24) %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast %struct.spam.28* %arg to { i8*, i64 }* | |
%tmp1 = call i8* @wibble.463({ i8*, i64 }* noalias readonly align 8 dereferenceable(16) %tmp) | |
%tmp3 = call zeroext i1 @barney.277(i8* %tmp1) | |
%tmp5 = xor i1 %tmp3, true | |
call void @llvm.assume(i1 %tmp5) | |
ret i8* %tmp1 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal %struct.ham.85* @eggs.412(%struct.wombat.111* noalias align 8 dereferenceable(24) %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast %struct.wombat.111* %arg to { i64*, i64 }* | |
%tmp1 = call %struct.ham.85* @wibble.481({ i64*, i64 }* noalias readonly align 8 dereferenceable(16) %tmp) | |
%tmp3 = call zeroext i1 @snork.260(%struct.ham.85* %tmp1) | |
%tmp5 = xor i1 %tmp3, true | |
call void @llvm.assume(i1 %tmp5) | |
ret %struct.ham.85* %tmp1 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal i32* @wibble.413(%struct.wobble.209* noalias align 8 dereferenceable(24) %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast %struct.wobble.209* %arg to { i32*, i64 }* | |
%tmp1 = call i32* @wibble.469({ i32*, i64 }* noalias readonly align 8 dereferenceable(16) %tmp) | |
%tmp3 = call zeroext i1 @wombat.249(i32* %tmp1) | |
%tmp5 = xor i1 %tmp3, true | |
call void @llvm.assume(i1 %tmp5) | |
ret i32* %tmp1 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal i64** @quux.414(%struct.bar.171* noalias align 8 dereferenceable(24) %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast %struct.bar.171* %arg to { i64*, i64 }* | |
%tmp1 = call i64** @blam.478({ i64*, i64 }* noalias readonly align 8 dereferenceable(16) %tmp) | |
%tmp3 = call zeroext i1 @barney.253(i64** %tmp1) | |
%tmp5 = xor i1 %tmp3, true | |
call void @llvm.assume(i1 %tmp5) | |
ret i64** %tmp1 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal %struct.snork.46* @wombat.415(%struct.zot.42* noalias align 8 dereferenceable(24) %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast %struct.zot.42* %arg to { i64*, i64 }* | |
%tmp1 = call %struct.snork.46* @bar.456({ i64*, i64 }* noalias readonly align 8 dereferenceable(16) %tmp) | |
%tmp3 = call zeroext i1 @ham.256(%struct.snork.46* %tmp1) | |
%tmp5 = xor i1 %tmp3, true | |
call void @llvm.assume(i1 %tmp5) | |
ret %struct.snork.46* %tmp1 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal i64** @blam.416(%struct.wibble.170* noalias align 8 dereferenceable(24) %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast %struct.wibble.170* %arg to { i64*, i64 }* | |
%tmp1 = call i64** @bar.448({ i64*, i64 }* noalias readonly align 8 dereferenceable(16) %tmp) | |
%tmp3 = call zeroext i1 @baz.265(i64** %tmp1) | |
%tmp5 = xor i1 %tmp3, true | |
call void @llvm.assume(i1 %tmp5) | |
ret i64** %tmp1 | |
} | |
; Function Attrs: nonlazybind uwtable | |
define internal void @foo.417(%struct.spam.28* noalias align 8 dereferenceable(24) %arg) unnamed_addr #1 { | |
bb: | |
%tmp = call i64 @eggs.429(%struct.spam.28* noalias readonly align 8 dereferenceable(24) %arg) | |
%tmp2 = getelementptr inbounds %struct.spam.28, %struct.spam.28* %arg, i32 0, i32 1 | |
%tmp3 = load i64, i64* %tmp2, align 8 | |
%tmp4 = icmp ugt i64 %tmp, %tmp3 | |
br i1 %tmp4, label %bb6, label %bb5 | |
bb5: ; preds = %bb6, %bb | |
ret void | |
bb6: ; preds = %bb | |
%tmp7 = bitcast %struct.spam.28* %arg to { i8*, i64 }* | |
call void @wibble.562({ i8*, i64 }* noalias align 8 dereferenceable(16) %tmp7, i64 %tmp3) | |
br label %bb5 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal void @baz.418(%struct.bar.30* noalias align 8 dereferenceable(24) %arg, [0 x i8]* %arg1, i64 %arg2) unnamed_addr #0 { | |
bb: | |
call void @snork.428(%struct.bar.30* noalias align 8 dereferenceable(24) %arg, i64 %arg2) | |
%tmp = call i64 @pluto.423(%struct.bar.30* noalias readonly align 8 dereferenceable(24) %arg) | |
%tmp5 = bitcast [0 x i8]* %arg1 to i8* | |
%tmp6 = call i8* @quux.409(%struct.bar.30* noalias align 8 dereferenceable(24) %arg) | |
%tmp8 = call i8* @wombat.200(i8* %tmp6, i64 %tmp) | |
call void @baz.18(i8* %tmp5, i8* %tmp8, i64 %arg2) | |
%tmp11 = getelementptr inbounds %struct.bar.30, %struct.bar.30* %arg, i32 0, i32 1 | |
%tmp13 = load i64, i64* %tmp11, align 8 | |
%tmp14 = add i64 %tmp13, %arg2 | |
store i64 %tmp14, i64* %tmp11, align 8 | |
ret void | |
} | |
; Function Attrs: nonlazybind uwtable | |
define hidden { [0 x i8]*, i64 } @widget.419(%struct.spam.28* noalias nocapture dereferenceable(24) %arg) unnamed_addr #1 personality i32 (i32, i32, i64, %struct.snork.211*, %struct.quux.212*)* @foo.542 { | |
bb: | |
%tmp3 = alloca { i8*, i64 }, align 8 | |
%tmp4 = alloca %struct.spam.28, align 8 | |
%tmp5 = alloca %struct.wibble, align 8 | |
invoke void @foo.417(%struct.spam.28* noalias align 8 dereferenceable(24) %arg) | |
to label %bb6 unwind label %bb14 | |
bb6: ; preds = %bb | |
%tmp7 = bitcast %struct.wibble* %tmp5 to i8* | |
call void @llvm.lifetime.start.p0i8(i64 24, i8* %tmp7) | |
%tmp8 = bitcast %struct.spam.28* %tmp4 to i8* | |
call void @llvm.lifetime.start.p0i8(i64 24, i8* %tmp8) | |
%tmp10 = bitcast %struct.spam.28* %arg to i8* | |
call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 8 %tmp8, i8* align 8 %tmp10, i64 24, i1 false) | |
invoke void @wobble.25(%struct.wibble* noalias nocapture sret(%struct.wibble) dereferenceable(24) %tmp5, %struct.spam.28* noalias nocapture dereferenceable(24) %tmp4) | |
to label %bb21 unwind label %bb14 | |
bb11: ; preds = %bb59, %bb35, %bb14 | |
%tmp.sroa.6.0 = phi i32 [ %tmp39, %bb59 ], [ %tmp39, %bb35 ], [ %tmp18, %bb14 ] | |
%tmp.sroa.0.0 = phi i8* [ %tmp38, %bb59 ], [ %tmp38, %bb35 ], [ %tmp17, %bb14 ] | |
%tmp1.0 = phi i8 [ 0, %bb59 ], [ 0, %bb35 ], [ %tmp1.1, %bb14 ] | |
%tmp13 = trunc i8 %tmp1.0 to i1 | |
br i1 %tmp13, label %bb68, label %bb60 | |
bb14: ; preds = %bb25, %bb21, %bb6, %bb | |
%tmp1.1 = phi i8 [ 0, %bb25 ], [ 0, %bb21 ], [ 0, %bb6 ], [ 1, %bb ] | |
%tmp15 = landingpad { i8*, i32 } | |
cleanup | |
%tmp17 = extractvalue { i8*, i32 } %tmp15, 0 | |
%tmp18 = extractvalue { i8*, i32 } %tmp15, 1 | |
br label %bb11 | |
bb21: ; preds = %bb6 | |
call void @llvm.lifetime.end.p0i8(i64 24, i8* %tmp8) | |
%tmp23 = bitcast { i8*, i64 }* %tmp3 to i8* | |
call void @llvm.lifetime.start.p0i8(i64 16, i8* %tmp23) | |
%tmp24 = invoke align 8 dereferenceable(24) %struct.spam.28* @blam.536(%struct.wibble* noalias readonly align 8 dereferenceable(24) %tmp5) | |
to label %bb25 unwind label %bb14 | |
bb25: ; preds = %bb21 | |
%tmp26 = bitcast %struct.spam.28* %tmp24 to { i8*, i64 }* | |
%tmp27 = invoke { i8*, i64 } @foo.100({ i8*, i64 }* %tmp26) | |
to label %bb28 unwind label %bb14 | |
bb28: ; preds = %bb25 | |
%tmp27.fca.0.extract = extractvalue { i8*, i64 } %tmp27, 0 | |
%tmp27.fca.0.gep = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %tmp3, i32 0, i32 0 | |
store i8* %tmp27.fca.0.extract, i8** %tmp27.fca.0.gep, align 8 | |
%tmp27.fca.1.extract = extractvalue { i8*, i64 } %tmp27, 1 | |
%tmp27.fca.1.gep = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %tmp3, i32 0, i32 1 | |
store i64 %tmp27.fca.1.extract, i64* %tmp27.fca.1.gep, align 8 | |
%tmp29 = invoke align 8 dereferenceable(24) %struct.spam.28* @blam.536(%struct.wibble* noalias readonly align 8 dereferenceable(24) %tmp5) | |
to label %bb30 unwind label %bb35 | |
bb30: ; preds = %bb28 | |
%tmp31 = invoke i64 @wobble.422(%struct.spam.28* noalias readonly align 8 dereferenceable(24) %tmp29) | |
to label %bb42 unwind label %bb35 | |
bb35: ; preds = %bb48, %bb42, %bb30, %bb28 | |
%tmp2.0 = phi i8 [ 0, %bb48 ], [ 0, %bb42 ], [ 1, %bb30 ], [ 1, %bb28 ] | |
%tmp36 = landingpad { i8*, i32 } | |
cleanup | |
%tmp38 = extractvalue { i8*, i32 } %tmp36, 0 | |
%tmp39 = extractvalue { i8*, i32 } %tmp36, 1 | |
%tmp34 = trunc i8 %tmp2.0 to i1 | |
br i1 %tmp34, label %bb59, label %bb11 | |
bb42: ; preds = %bb30 | |
%tmp44 = load i8*, i8** %tmp27.fca.0.gep, align 8, !nonnull !6 | |
%tmp46 = load i64, i64* %tmp27.fca.1.gep, align 8 | |
%tmp47 = invoke { [0 x i8]*, i64 } @quux.563(i8* nonnull %tmp44, i64 %tmp46, i64 %tmp31) | |
to label %bb48 unwind label %bb35 | |
bb48: ; preds = %bb42 | |
%tmp49 = extractvalue { [0 x i8]*, i64 } %tmp47, 0 | |
%tmp50 = extractvalue { [0 x i8]*, i64 } %tmp47, 1 | |
%tmp51 = invoke { [0 x i8]*, i64 } @snork.443([0 x i8]* noalias nonnull align 1 %tmp49, i64 %tmp50) | |
to label %bb52 unwind label %bb35 | |
bb52: ; preds = %bb48 | |
%tmp53 = extractvalue { [0 x i8]*, i64 } %tmp51, 0 | |
%tmp54 = extractvalue { [0 x i8]*, i64 } %tmp51, 1 | |
call void @llvm.lifetime.end.p0i8(i64 16, i8* %tmp23) | |
call void @llvm.lifetime.end.p0i8(i64 24, i8* %tmp7) | |
ret { [0 x i8]*, i64 } %tmp51 | |
bb59: ; preds = %bb35 | |
call void @blam.194({ i8*, i64 }* %tmp3) #13 | |
br label %bb11 | |
bb60: ; preds = %bb68, %bb11 | |
%tmp66 = insertvalue { i8*, i32 } undef, i8* %tmp.sroa.0.0, 0 | |
%tmp67 = insertvalue { i8*, i32 } %tmp66, i32 %tmp.sroa.6.0, 1 | |
resume { i8*, i32 } %tmp67 | |
bb68: ; preds = %bb11 | |
call void @wibble.130(%struct.spam.28* %arg) #13 | |
br label %bb60 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal void @zot.420(%struct.spam.28* noalias nocapture sret(%struct.spam.28) dereferenceable(24) %arg, i64 %arg1) unnamed_addr #0 { | |
bb: | |
%tmp = call { i8*, i64 } @baz.444(i64 %arg1) | |
%tmp2 = extractvalue { i8*, i64 } %tmp, 0 | |
%tmp3 = extractvalue { i8*, i64 } %tmp, 1 | |
%tmp5 = bitcast %struct.spam.28* %arg to { i8*, i64 }* | |
%tmp6 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %tmp5, i32 0, i32 0 | |
store i8* %tmp2, i8** %tmp6, align 8 | |
%tmp7 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %tmp5, i32 0, i32 1 | |
store i64 %tmp3, i64* %tmp7, align 8 | |
%tmp8 = getelementptr inbounds %struct.spam.28, %struct.spam.28* %arg, i32 0, i32 1 | |
store i64 0, i64* %tmp8, align 8 | |
ret void | |
} | |
; Function Attrs: nonlazybind uwtable | |
define hidden void @pluto.421(%struct.bar.30* noalias align 8 dereferenceable(24) %arg, [0 x i8]* noalias nonnull readonly align 1 %arg1, i64 %arg2) unnamed_addr #1 { | |
bb: | |
%tmp = call { i8*, i8* } @quux.372([0 x i8]* noalias nonnull readonly align 1 %arg1, i64 %arg2) | |
%tmp3 = extractvalue { i8*, i8* } %tmp, 0 | |
%tmp4 = extractvalue { i8*, i8* } %tmp, 1 | |
call void @pluto(%struct.bar.30* noalias align 8 dereferenceable(24) %arg, i8* nonnull %tmp3, i8* %tmp4) | |
ret void | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal i64 @wobble.422(%struct.spam.28* noalias readonly align 8 dereferenceable(24) %arg) unnamed_addr #0 { | |
bb: | |
%tmp = getelementptr inbounds %struct.spam.28, %struct.spam.28* %arg, i32 0, i32 1 | |
%tmp1 = load i64, i64* %tmp, align 8 | |
ret i64 %tmp1 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal i64 @pluto.423(%struct.bar.30* noalias readonly align 8 dereferenceable(24) %arg) unnamed_addr #0 { | |
bb: | |
%tmp = getelementptr inbounds %struct.bar.30, %struct.bar.30* %arg, i32 0, i32 1 | |
%tmp1 = load i64, i64* %tmp, align 8 | |
ret i64 %tmp1 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal i8* @eggs.424(%struct.bar.30* noalias readonly align 8 dereferenceable(24) %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast %struct.bar.30* %arg to { i8*, i64 }* | |
%tmp1 = call i8* @wibble.466({ i8*, i64 }* noalias readonly align 8 dereferenceable(16) %tmp) | |
%tmp3 = call zeroext i1 @bar.278(i8* %tmp1) | |
%tmp5 = xor i1 %tmp3, true | |
call void @llvm.assume(i1 %tmp5) | |
ret i8* %tmp1 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal { i64*, i64 }* @spam.425(%struct.zot.210* noalias readonly align 8 dereferenceable(24) %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast %struct.zot.210* %arg to { i64*, i64 }* | |
%tmp1 = call { i64*, i64 }* @hoge.467({ i64*, i64 }* noalias readonly align 8 dereferenceable(16) %tmp) | |
%tmp3 = call zeroext i1 @snork.271({ i64*, i64 }* %tmp1) | |
%tmp5 = xor i1 %tmp3, true | |
call void @llvm.assume(i1 %tmp5) | |
ret { i64*, i64 }* %tmp1 | |
} | |
; Function Attrs: nonlazybind uwtable | |
define hidden void @widget.426(%struct.zot.210* noalias align 8 dereferenceable(24) %arg, i64 %arg1) unnamed_addr #1 { | |
bb: | |
%tmp = bitcast %struct.zot.210* %arg to { i64*, i64 }* | |
%tmp2 = getelementptr inbounds %struct.zot.210, %struct.zot.210* %arg, i32 0, i32 1 | |
%tmp3 = load i64, i64* %tmp2, align 8 | |
call void @wibble.486({ i64*, i64 }* noalias align 8 dereferenceable(16) %tmp, i64 %tmp3, i64 %arg1) | |
ret void | |
} | |
; Function Attrs: nonlazybind uwtable | |
define internal void @bar.427(%struct.spam.28* noalias align 8 dereferenceable(24) %arg, i64 %arg1) unnamed_addr #1 { | |
bb: | |
%tmp = bitcast %struct.spam.28* %arg to { i8*, i64 }* | |
%tmp2 = getelementptr inbounds %struct.spam.28, %struct.spam.28* %arg, i32 0, i32 1 | |
%tmp3 = load i64, i64* %tmp2, align 8 | |
call void @quux.484({ i8*, i64 }* noalias align 8 dereferenceable(16) %tmp, i64 %tmp3, i64 %arg1) | |
ret void | |
} | |
; Function Attrs: nonlazybind uwtable | |
define hidden void @snork.428(%struct.bar.30* noalias align 8 dereferenceable(24) %arg, i64 %arg1) unnamed_addr #1 { | |
bb: | |
%tmp = bitcast %struct.bar.30* %arg to { i8*, i64 }* | |
%tmp2 = getelementptr inbounds %struct.bar.30, %struct.bar.30* %arg, i32 0, i32 1 | |
%tmp3 = load i64, i64* %tmp2, align 8 | |
call void @ham.485({ i8*, i64 }* noalias align 8 dereferenceable(16) %tmp, i64 %tmp3, i64 %arg1) | |
ret void | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal i64 @eggs.429(%struct.spam.28* noalias readonly align 8 dereferenceable(24) %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast %struct.spam.28* %arg to { i8*, i64 }* | |
%tmp1 = call i64 @ham.487({ i8*, i64 }* noalias readonly align 8 dereferenceable(16) %tmp) | |
ret i64 %tmp1 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal align 8 dereferenceable(48) %struct.pluto.157* @foo.430(i64** noalias readonly align 8 dereferenceable(8) %arg) unnamed_addr #0 { | |
bb: | |
%tmp = call align 8 dereferenceable(48) %struct.pluto.157* @zot.340(i64** noalias readonly align 8 dereferenceable(8) %arg) | |
ret %struct.pluto.157* %tmp | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal align 8 dereferenceable(232) %struct.baz.172* @ham.431(i64** noalias readonly align 8 dereferenceable(8) %arg) unnamed_addr #0 { | |
bb: | |
%tmp = call align 8 dereferenceable(232) %struct.baz.172* @hoge.338(i64** noalias readonly align 8 dereferenceable(8) %arg) | |
ret %struct.baz.172* %tmp | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal align 8 dereferenceable(88) %struct.pluto.164* @wobble.432(i64** noalias readonly align 8 dereferenceable(8) %arg) unnamed_addr #0 { | |
bb: | |
%tmp = call align 8 dereferenceable(88) %struct.pluto.164* @eggs.337(i64** noalias readonly align 8 dereferenceable(8) %arg) | |
ret %struct.pluto.164* %tmp | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal align 8 dereferenceable(96) %struct.foo.168* @snork.433(i64** noalias readonly align 8 dereferenceable(8) %arg) unnamed_addr #0 { | |
bb: | |
%tmp = call align 8 dereferenceable(96) %struct.foo.168* @zot.339(i64** noalias readonly align 8 dereferenceable(8) %arg) | |
ret %struct.foo.168* %tmp | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal void @wibble.434(i8* %arg, i64 %arg1, i64 %arg2) unnamed_addr #0 { | |
bb: | |
%tmp = alloca { i64, i64 }, align 8 | |
%tmp3 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %tmp, i32 0, i32 0 | |
store i64 %arg1, i64* %tmp3, align 8 | |
%tmp4 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %tmp, i32 0, i32 1 | |
store i64 %arg2, i64* %tmp4, align 8 | |
%tmp5 = call i64 @eggs.370({ i64, i64 }* noalias readonly align 8 dereferenceable(16) %tmp) | |
%tmp7 = call i64 @baz.371({ i64, i64 }* noalias readonly align 8 dereferenceable(16) %tmp) | |
call void @quux.564(i8* %arg, i64 %tmp5, i64 %tmp7) #14 | |
ret void | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal void @barney.435(i32* nonnull %arg, i64 %arg1) unnamed_addr #0 personality i32 (i32, i32, i64, %struct.snork.211*, %struct.quux.212*)* @foo.542 { | |
bb: | |
%tmp4 = alloca %struct.quux.31, align 1 | |
%tmp5 = alloca { i32*, i64 }, align 8 | |
%tmp6 = getelementptr inbounds { i32*, i64 }, { i32*, i64 }* %tmp5, i32 0, i32 0 | |
store i32* %arg, i32** %tmp6, align 8 | |
%tmp7 = getelementptr inbounds { i32*, i64 }, { i32*, i64 }* %tmp5, i32 0, i32 1 | |
store i64 %arg1, i64* %tmp7, align 8 | |
%tmp8 = invoke { [0 x i32]*, i64 } @pluto.183({ i32*, i64 }* noalias readonly align 8 dereferenceable(16) %tmp5) | |
to label %bb9 unwind label %bb17 | |
bb9: ; preds = %bb | |
%tmp11 = extractvalue { [0 x i32]*, i64 } %tmp8, 1 | |
%tmp13 = mul i64 %tmp11, 4 | |
%tmp25 = invoke { [0 x i32]*, i64 } @pluto.183({ i32*, i64 }* noalias readonly align 8 dereferenceable(16) %tmp5) | |
to label %bb26 unwind label %bb17 | |
bb17: ; preds = %bb45, %bb43, %bb35, %bb26, %bb9, %bb | |
%tmp18 = landingpad { i8*, i32 } | |
cleanup | |
%tmp20 = extractvalue { i8*, i32 } %tmp18, 0 | |
%tmp21 = extractvalue { i8*, i32 } %tmp18, 1 | |
resume { i8*, i32 } %tmp18 | |
bb26: ; preds = %bb9 | |
%tmp28 = extractvalue { [0 x i32]*, i64 } %tmp25, 1 | |
%tmp34 = invoke { i64, i64 } @hoge.369(i64 %tmp13, i64 4) | |
to label %bb35 unwind label %bb17 | |
bb35: ; preds = %bb26 | |
%tmp36 = extractvalue { i64, i64 } %tmp34, 0 | |
%tmp37 = extractvalue { i64, i64 } %tmp34, 1 | |
%tmp39 = load i32*, i32** %tmp6, align 8, !nonnull !6 | |
%tmp41 = load i64, i64* %tmp7, align 8 | |
%tmp42 = invoke nonnull i8* @widget.136(i32* nonnull %tmp39, i64 %tmp41) | |
to label %bb43 unwind label %bb17 | |
bb43: ; preds = %bb35 | |
%tmp44 = invoke nonnull i8* @foo.565(i8* nonnull %tmp42) | |
to label %bb45 unwind label %bb17 | |
bb45: ; preds = %bb43 | |
invoke void @wibble.488(%struct.quux.31* noalias nonnull readonly align 1 %tmp4, i8* nonnull %tmp44, i64 %tmp36, i64 %tmp37) | |
to label %bb55 unwind label %bb17 | |
bb55: ; preds = %bb45 | |
ret void | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal void @quux.436(i32* nonnull %arg, i64 %arg1) unnamed_addr #0 personality i32 (i32, i32, i64, %struct.snork.211*, %struct.quux.212*)* @foo.542 { | |
bb: | |
%tmp4 = alloca %struct.quux.31, align 1 | |
%tmp5 = alloca { i32*, i64 }, align 8 | |
%tmp6 = getelementptr inbounds { i32*, i64 }, { i32*, i64 }* %tmp5, i32 0, i32 0 | |
store i32* %arg, i32** %tmp6, align 8 | |
%tmp7 = getelementptr inbounds { i32*, i64 }, { i32*, i64 }* %tmp5, i32 0, i32 1 | |
store i64 %arg1, i64* %tmp7, align 8 | |
%tmp8 = invoke { [0 x i32]*, i64 } @quux.184({ i32*, i64 }* noalias readonly align 8 dereferenceable(16) %tmp5) | |
to label %bb9 unwind label %bb17 | |
bb9: ; preds = %bb | |
%tmp11 = extractvalue { [0 x i32]*, i64 } %tmp8, 1 | |
%tmp13 = mul i64 %tmp11, 4 | |
%tmp25 = invoke { [0 x i32]*, i64 } @quux.184({ i32*, i64 }* noalias readonly align 8 dereferenceable(16) %tmp5) | |
to label %bb26 unwind label %bb17 | |
bb17: ; preds = %bb45, %bb43, %bb35, %bb26, %bb9, %bb | |
%tmp18 = landingpad { i8*, i32 } | |
cleanup | |
%tmp20 = extractvalue { i8*, i32 } %tmp18, 0 | |
%tmp21 = extractvalue { i8*, i32 } %tmp18, 1 | |
resume { i8*, i32 } %tmp18 | |
bb26: ; preds = %bb9 | |
%tmp28 = extractvalue { [0 x i32]*, i64 } %tmp25, 1 | |
%tmp34 = invoke { i64, i64 } @hoge.369(i64 %tmp13, i64 4) | |
to label %bb35 unwind label %bb17 | |
bb35: ; preds = %bb26 | |
%tmp36 = extractvalue { i64, i64 } %tmp34, 0 | |
%tmp37 = extractvalue { i64, i64 } %tmp34, 1 | |
%tmp39 = load i32*, i32** %tmp6, align 8, !nonnull !6 | |
%tmp41 = load i64, i64* %tmp7, align 8 | |
%tmp42 = invoke nonnull i8* @pluto.137(i32* nonnull %tmp39, i64 %tmp41) | |
to label %bb43 unwind label %bb17 | |
bb43: ; preds = %bb35 | |
%tmp44 = invoke nonnull i8* @foo.565(i8* nonnull %tmp42) | |
to label %bb45 unwind label %bb17 | |
bb45: ; preds = %bb43 | |
invoke void @wibble.488(%struct.quux.31* noalias nonnull readonly align 1 %tmp4, i8* nonnull %tmp44, i64 %tmp36, i64 %tmp37) | |
to label %bb55 unwind label %bb17 | |
bb55: ; preds = %bb45 | |
ret void | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal void @foo.437(i8* nonnull %arg, i64 %arg1) unnamed_addr #0 personality i32 (i32, i32, i64, %struct.snork.211*, %struct.quux.212*)* @foo.542 { | |
bb: | |
%tmp4 = alloca %struct.quux.31, align 1 | |
%tmp5 = alloca { i8*, i64 }, align 8 | |
%tmp6 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %tmp5, i32 0, i32 0 | |
store i8* %arg, i8** %tmp6, align 8 | |
%tmp7 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %tmp5, i32 0, i32 1 | |
store i64 %arg1, i64* %tmp7, align 8 | |
%tmp8 = invoke { [0 x i8]*, i64 } @wobble.182({ i8*, i64 }* noalias readonly align 8 dereferenceable(16) %tmp5) | |
to label %bb9 unwind label %bb17 | |
bb9: ; preds = %bb | |
%tmp11 = extractvalue { [0 x i8]*, i64 } %tmp8, 1 | |
%tmp25 = invoke { [0 x i8]*, i64 } @wobble.182({ i8*, i64 }* noalias readonly align 8 dereferenceable(16) %tmp5) | |
to label %bb26 unwind label %bb17 | |
bb17: ; preds = %bb45, %bb43, %bb35, %bb26, %bb9, %bb | |
%tmp18 = landingpad { i8*, i32 } | |
cleanup | |
%tmp20 = extractvalue { i8*, i32 } %tmp18, 0 | |
%tmp21 = extractvalue { i8*, i32 } %tmp18, 1 | |
resume { i8*, i32 } %tmp18 | |
bb26: ; preds = %bb9 | |
%tmp28 = extractvalue { [0 x i8]*, i64 } %tmp25, 1 | |
%tmp34 = invoke { i64, i64 } @hoge.369(i64 %tmp11, i64 1) | |
to label %bb35 unwind label %bb17 | |
bb35: ; preds = %bb26 | |
%tmp36 = extractvalue { i64, i64 } %tmp34, 0 | |
%tmp37 = extractvalue { i64, i64 } %tmp34, 1 | |
%tmp39 = load i8*, i8** %tmp6, align 8, !nonnull !6 | |
%tmp41 = load i64, i64* %tmp7, align 8 | |
%tmp42 = invoke nonnull i8* @widget.135(i8* nonnull %tmp39, i64 %tmp41) | |
to label %bb43 unwind label %bb17 | |
bb43: ; preds = %bb35 | |
%tmp44 = invoke nonnull i8* @foo.565(i8* nonnull %tmp42) | |
to label %bb45 unwind label %bb17 | |
bb45: ; preds = %bb43 | |
invoke void @wibble.488(%struct.quux.31* noalias nonnull readonly align 1 %tmp4, i8* nonnull %tmp44, i64 %tmp36, i64 %tmp37) | |
to label %bb55 unwind label %bb17 | |
bb55: ; preds = %bb45 | |
ret void | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal void @ham.438(i8* nonnull %arg, i64 %arg1) unnamed_addr #0 personality i32 (i32, i32, i64, %struct.snork.211*, %struct.quux.212*)* @foo.542 { | |
bb: | |
%tmp4 = alloca %struct.quux.31, align 1 | |
%tmp5 = alloca { i8*, i64 }, align 8 | |
%tmp6 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %tmp5, i32 0, i32 0 | |
store i8* %arg, i8** %tmp6, align 8 | |
%tmp7 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %tmp5, i32 0, i32 1 | |
store i64 %arg1, i64* %tmp7, align 8 | |
%tmp8 = invoke { [0 x i8]*, i64 } @baz.181({ i8*, i64 }* noalias readonly align 8 dereferenceable(16) %tmp5) | |
to label %bb9 unwind label %bb17 | |
bb9: ; preds = %bb | |
%tmp11 = extractvalue { [0 x i8]*, i64 } %tmp8, 1 | |
%tmp25 = invoke { [0 x i8]*, i64 } @baz.181({ i8*, i64 }* noalias readonly align 8 dereferenceable(16) %tmp5) | |
to label %bb26 unwind label %bb17 | |
bb17: ; preds = %bb45, %bb43, %bb35, %bb26, %bb9, %bb | |
%tmp18 = landingpad { i8*, i32 } | |
cleanup | |
%tmp20 = extractvalue { i8*, i32 } %tmp18, 0 | |
%tmp21 = extractvalue { i8*, i32 } %tmp18, 1 | |
resume { i8*, i32 } %tmp18 | |
bb26: ; preds = %bb9 | |
%tmp28 = extractvalue { [0 x i8]*, i64 } %tmp25, 1 | |
%tmp34 = invoke { i64, i64 } @hoge.369(i64 %tmp11, i64 1) | |
to label %bb35 unwind label %bb17 | |
bb35: ; preds = %bb26 | |
%tmp36 = extractvalue { i64, i64 } %tmp34, 0 | |
%tmp37 = extractvalue { i64, i64 } %tmp34, 1 | |
%tmp39 = load i8*, i8** %tmp6, align 8, !nonnull !6 | |
%tmp41 = load i64, i64* %tmp7, align 8 | |
%tmp42 = invoke nonnull i8* @spam.134(i8* nonnull %tmp39, i64 %tmp41) | |
to label %bb43 unwind label %bb17 | |
bb43: ; preds = %bb35 | |
%tmp44 = invoke nonnull i8* @foo.565(i8* nonnull %tmp42) | |
to label %bb45 unwind label %bb17 | |
bb45: ; preds = %bb43 | |
invoke void @wibble.488(%struct.quux.31* noalias nonnull readonly align 1 %tmp4, i8* nonnull %tmp44, i64 %tmp36, i64 %tmp37) | |
to label %bb55 unwind label %bb17 | |
bb55: ; preds = %bb45 | |
ret void | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal { [0 x i8]*, i64 } @foo.439([0 x i8]* %arg, i64 %arg1) unnamed_addr #0 personality i32 (i32, i32, i64, %struct.snork.211*, %struct.quux.212*)* @foo.542 { | |
bb: | |
%tmp3 = invoke { i8*, i64 } @wombat.132([0 x i8]* %arg, i64 %arg1) | |
to label %bb4 unwind label %bb18 | |
bb4: ; preds = %bb | |
%tmp5 = extractvalue { i8*, i64 } %tmp3, 0 | |
%tmp6 = extractvalue { i8*, i64 } %tmp3, 1 | |
%0 = bitcast i8* %tmp5 to [0 x i8]* | |
%1 = icmp ne [0 x i8]* %0, null | |
call void @llvm.assume(i1 %1) | |
%tmp15 = insertvalue { [0 x i8]*, i64 } undef, [0 x i8]* %0, 0 | |
%tmp16 = insertvalue { [0 x i8]*, i64 } %tmp15, i64 %tmp6, 1 | |
ret { [0 x i8]*, i64 } %tmp16 | |
bb18: ; preds = %bb | |
%tmp19 = landingpad { i8*, i32 } | |
cleanup | |
%tmp21 = extractvalue { i8*, i32 } %tmp19, 0 | |
%tmp22 = extractvalue { i8*, i32 } %tmp19, 1 | |
resume { i8*, i32 } %tmp19 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal { i8*, i64 } @spam.440([0 x i8]* noalias nonnull align 1 %arg, i64 %arg1) unnamed_addr #0 personality i32 (i32, i32, i64, %struct.snork.211*, %struct.quux.212*)* @foo.542 { | |
bb: | |
%tmp4 = alloca { [0 x i8]*, i64 }, align 8 | |
%tmp5 = getelementptr inbounds { [0 x i8]*, i64 }, { [0 x i8]*, i64 }* %tmp4, i32 0, i32 0 | |
store [0 x i8]* %arg, [0 x i8]** %tmp5, align 8 | |
%tmp6 = getelementptr inbounds { [0 x i8]*, i64 }, { [0 x i8]*, i64 }* %tmp4, i32 0, i32 1 | |
store i64 %arg1, i64* %tmp6, align 8 | |
%tmp7 = bitcast { [0 x i8]*, i64 }* %tmp4 to %struct.quux.31* | |
invoke void @wibble.101(%struct.quux.31* %tmp7) | |
to label %bb8 unwind label %bb17 | |
bb8: ; preds = %bb | |
%tmp10 = load [0 x i8]*, [0 x i8]** %tmp5, align 8, !nonnull !6 | |
%tmp12 = load i64, i64* %tmp6, align 8 | |
%tmp13 = invoke { [0 x i8]*, i64 } @quux.442([0 x i8]* noalias nonnull align 1 %tmp10, i64 %tmp12) | |
to label %bb24 unwind label %bb29 | |
bb14: ; preds = %bb29, %bb17 | |
%tmp2.0 = phi i8 [ 0, %bb29 ], [ 1, %bb17 ] | |
%tmp.sroa.0.0 = phi i8* [ %tmp32, %bb29 ], [ %tmp20, %bb17 ] | |
%tmp.sroa.6.0 = phi i32 [ %tmp33, %bb29 ], [ %tmp21, %bb17 ] | |
%tmp16 = trunc i8 %tmp2.0 to i1 | |
br i1 %tmp16, label %bb58, label %bb50 | |
bb17: ; preds = %bb | |
%tmp18 = landingpad { i8*, i32 } | |
cleanup | |
%tmp20 = extractvalue { i8*, i32 } %tmp18, 0 | |
%tmp21 = extractvalue { i8*, i32 } %tmp18, 1 | |
br label %bb14 | |
bb24: ; preds = %bb8 | |
%tmp25 = extractvalue { [0 x i8]*, i64 } %tmp13, 0 | |
%tmp26 = extractvalue { [0 x i8]*, i64 } %tmp13, 1 | |
%tmp27 = invoke { i8*, i64 } @wobble.537([0 x i8]* noalias nonnull align 1 %tmp25, i64 %tmp26) | |
to label %bb36 unwind label %bb29 | |
bb29: ; preds = %bb24, %bb8 | |
%tmp30 = landingpad { i8*, i32 } | |
cleanup | |
%tmp32 = extractvalue { i8*, i32 } %tmp30, 0 | |
%tmp33 = extractvalue { i8*, i32 } %tmp30, 1 | |
br label %bb14 | |
bb36: ; preds = %bb24 | |
%tmp37 = extractvalue { i8*, i64 } %tmp27, 0 | |
%tmp38 = extractvalue { i8*, i64 } %tmp27, 1 | |
%0 = icmp ne i8* %tmp37, null | |
call void @llvm.assume(i1 %0) | |
ret { i8*, i64 } %tmp27 | |
bb50: ; preds = %bb58, %bb14 | |
%tmp56 = insertvalue { i8*, i32 } undef, i8* %tmp.sroa.0.0, 0 | |
%tmp57 = insertvalue { i8*, i32 } %tmp56, i32 %tmp.sroa.6.0, 1 | |
resume { i8*, i32 } %tmp57 | |
bb58: ; preds = %bb14 | |
call void @spam.44({ [0 x i8]*, i64 }* %tmp4) #13 | |
br label %bb50 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal { i8*, i64 } @zot.441([0 x i8]* noalias nonnull align 1 %arg, i64 %arg1) unnamed_addr #0 personality i32 (i32, i32, i64, %struct.snork.211*, %struct.quux.212*)* @foo.542 { | |
bb: | |
%tmp3 = call { i8*, i64 } @spam.440([0 x i8]* noalias nonnull align 1 %arg, i64 %arg1) | |
%tmp4 = extractvalue { i8*, i64 } %tmp3, 0 | |
%tmp5 = extractvalue { i8*, i64 } %tmp3, 1 | |
%tmp7 = invoke { [0 x i8]*, i64 } @bar.180(i8* nonnull %tmp4, i64 %tmp5) | |
to label %bb8 unwind label %bb24 | |
bb8: ; preds = %bb | |
%tmp9 = extractvalue { [0 x i8]*, i64 } %tmp7, 0 | |
%tmp10 = extractvalue { [0 x i8]*, i64 } %tmp7, 1 | |
%0 = bitcast [0 x i8]* %tmp9 to i8* | |
%tmp21 = insertvalue { i8*, i64 } undef, i8* %0, 0 | |
%tmp22 = insertvalue { i8*, i64 } %tmp21, i64 %tmp10, 1 | |
ret { i8*, i64 } %tmp22 | |
bb24: ; preds = %bb | |
%tmp25 = landingpad { i8*, i32 } | |
cleanup | |
%tmp27 = extractvalue { i8*, i32 } %tmp25, 0 | |
%tmp28 = extractvalue { i8*, i32 } %tmp25, 1 | |
resume { i8*, i32 } %tmp25 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal { [0 x i8]*, i64 } @quux.442([0 x i8]* noalias nonnull align 1 %arg, i64 %arg1) unnamed_addr #0 { | |
bb: | |
%tmp = alloca { i8*, i64 }, align 8 | |
%tmp2 = bitcast { i8*, i64 }* %tmp to i8* | |
call void @llvm.lifetime.start.p0i8(i64 16, i8* %tmp2) | |
%tmp3 = call { i8*, i64 } @pluto.26([0 x i8]* noalias nonnull align 1 %arg, i64 %arg1) | |
%tmp3.fca.0.extract = extractvalue { i8*, i64 } %tmp3, 0 | |
%tmp3.fca.0.gep = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %tmp, i32 0, i32 0 | |
store i8* %tmp3.fca.0.extract, i8** %tmp3.fca.0.gep, align 8 | |
%tmp3.fca.1.extract = extractvalue { i8*, i64 } %tmp3, 1 | |
%tmp3.fca.1.gep = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %tmp, i32 0, i32 1 | |
store i64 %tmp3.fca.1.extract, i64* %tmp3.fca.1.gep, align 8 | |
%tmp5 = call align 8 dereferenceable(16) { [0 x i8]*, i64 }* @hoge.535({ i8*, i64 }* noalias readonly align 8 dereferenceable(16) %tmp) | |
%tmp7 = bitcast { [0 x i8]*, i64 }* %tmp5 to { i8*, i64 }* | |
%tmp8 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %tmp7, i32 0, i32 0 | |
%tmp9 = load i8*, i8** %tmp8, align 8, !nonnull !6 | |
%tmp10 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %tmp7, i32 0, i32 1 | |
%tmp11 = load i64, i64* %tmp10, align 8 | |
%tmp12 = call { [0 x i8]*, i64 } @bar.180(i8* nonnull %tmp9, i64 %tmp11) | |
%tmp13 = extractvalue { [0 x i8]*, i64 } %tmp12, 0 | |
%tmp14 = extractvalue { [0 x i8]*, i64 } %tmp12, 1 | |
call void @llvm.lifetime.end.p0i8(i64 16, i8* %tmp2) | |
ret { [0 x i8]*, i64 } %tmp12 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal { [0 x i8]*, i64 } @snork.443([0 x i8]* noalias nonnull align 1 %arg, i64 %arg1) unnamed_addr #0 personality i32 (i32, i32, i64, %struct.snork.211*, %struct.quux.212*)* @foo.542 { | |
bb: | |
%tmp3 = call { i8*, i64 } @zot.441([0 x i8]* noalias nonnull align 1 %arg, i64 %arg1) | |
%tmp4 = extractvalue { i8*, i64 } %tmp3, 0 | |
%tmp5 = extractvalue { i8*, i64 } %tmp3, 1 | |
%tmp7 = bitcast i8* %tmp4 to [0 x i8]* | |
%tmp8 = invoke { [0 x i8]*, i64 } @foo.439([0 x i8]* %tmp7, i64 %tmp5) | |
to label %bb9 unwind label %bb17 | |
bb9: ; preds = %bb | |
%tmp10 = extractvalue { [0 x i8]*, i64 } %tmp8, 0 | |
%tmp11 = extractvalue { [0 x i8]*, i64 } %tmp8, 1 | |
ret { [0 x i8]*, i64 } %tmp8 | |
bb17: ; preds = %bb | |
%tmp18 = landingpad { i8*, i32 } | |
cleanup | |
%tmp20 = extractvalue { i8*, i32 } %tmp18, 0 | |
%tmp21 = extractvalue { i8*, i32 } %tmp18, 1 | |
resume { i8*, i32 } %tmp18 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal { i8*, i64 } @baz.444(i64 %arg) unnamed_addr #0 { | |
bb: | |
%tmp3 = call { i8*, i64 } @ham.566(i64 %arg, i1 zeroext false) | |
%tmp4 = extractvalue { i8*, i64 } %tmp3, 0 | |
%tmp5 = extractvalue { i8*, i64 } %tmp3, 1 | |
ret { i8*, i64 } %tmp3 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal %struct.foo.86* @quux.445({ i64*, i64 }* noalias readonly align 8 dereferenceable(16) %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast { i64*, i64 }* %arg to i64** | |
%tmp1 = load i64*, i64** %tmp, align 8, !nonnull !6 | |
%tmp2 = call %struct.foo.86* @snork.169(i64* nonnull %tmp1) | |
ret %struct.foo.86* %tmp2 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal %struct.widget.55* @blam.446({ i64*, i64 }* noalias readonly align 8 dereferenceable(16) %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast { i64*, i64 }* %arg to i64** | |
%tmp1 = load i64*, i64** %tmp, align 8, !nonnull !6 | |
%tmp2 = call %struct.widget.55* @wombat.162(i64* nonnull %tmp1) | |
ret %struct.widget.55* %tmp2 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal { [0 x i32]*, i64 }* @ham.447({ i64*, i64 }* noalias readonly align 8 dereferenceable(16) %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast { i64*, i64 }* %arg to i64** | |
%tmp1 = load i64*, i64** %tmp, align 8, !nonnull !6 | |
%tmp2 = call { [0 x i32]*, i64 }* @ham.179(i64* nonnull %tmp1) | |
ret { [0 x i32]*, i64 }* %tmp2 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal i64** @bar.448({ i64*, i64 }* noalias readonly align 8 dereferenceable(16) %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast { i64*, i64 }* %arg to i64** | |
%tmp1 = load i64*, i64** %tmp, align 8, !nonnull !6 | |
%tmp2 = call i64** @spam.168(i64* nonnull %tmp1) | |
ret i64** %tmp2 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal { i64, { i32, i32 } }* @pluto.449({ i64*, i64 }* noalias readonly align 8 dereferenceable(16) %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast { i64*, i64 }* %arg to i64** | |
%tmp1 = load i64*, i64** %tmp, align 8, !nonnull !6 | |
%tmp2 = call { i64, { i32, i32 } }* @eggs.177(i64* nonnull %tmp1) | |
ret { i64, { i32, i32 } }* %tmp2 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal %struct.barney.58* @eggs.450({ i64*, i64 }* noalias readonly align 8 dereferenceable(16) %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast { i64*, i64 }* %arg to i64** | |
%tmp1 = load i64*, i64** %tmp, align 8, !nonnull !6 | |
%tmp2 = call %struct.barney.58* @widget.155(i64* nonnull %tmp1) | |
ret %struct.barney.58* %tmp2 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal i32* @hoge.451({ i32*, i64 }* noalias readonly align 8 dereferenceable(16) %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast { i32*, i64 }* %arg to i32** | |
%tmp1 = load i32*, i32** %tmp, align 8, !nonnull !6 | |
%tmp2 = call i32* @barney.149(i32* nonnull %tmp1) | |
ret i32* %tmp2 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal i64* @snork.452({ i64*, i64 }* noalias readonly align 8 dereferenceable(16) %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast { i64*, i64 }* %arg to i64** | |
%tmp1 = load i64*, i64** %tmp, align 8, !nonnull !6 | |
%tmp2 = call i64* @wombat.144(i64* nonnull %tmp1) | |
ret i64* %tmp2 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal %struct.pluto.68* @quux.453({ i64*, i64 }* noalias readonly align 8 dereferenceable(16) %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast { i64*, i64 }* %arg to i64** | |
%tmp1 = load i64*, i64** %tmp, align 8, !nonnull !6 | |
%tmp2 = call %struct.pluto.68* @baz.143(i64* nonnull %tmp1) | |
ret %struct.pluto.68* %tmp2 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal %struct.wibble.83* @baz.454({ i64*, i64 }* noalias readonly align 8 dereferenceable(16) %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast { i64*, i64 }* %arg to i64** | |
%tmp1 = load i64*, i64** %tmp, align 8, !nonnull !6 | |
%tmp2 = call %struct.wibble.83* @blam.145(i64* nonnull %tmp1) | |
ret %struct.wibble.83* %tmp2 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal { i32, i32 }* @bar.455({ i32*, i64 }* noalias readonly align 8 dereferenceable(16) %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast { i32*, i64 }* %arg to i32** | |
%tmp1 = load i32*, i32** %tmp, align 8, !nonnull !6 | |
%tmp2 = call { i32, i32 }* @ham.157(i32* nonnull %tmp1) | |
ret { i32, i32 }* %tmp2 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal %struct.snork.46* @bar.456({ i64*, i64 }* noalias readonly align 8 dereferenceable(16) %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast { i64*, i64 }* %arg to i64** | |
%tmp1 = load i64*, i64** %tmp, align 8, !nonnull !6 | |
%tmp2 = call %struct.snork.46* @spam.171(i64* nonnull %tmp1) | |
ret %struct.snork.46* %tmp2 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal %struct.baz.67* @blam.457({ i64*, i64 }* noalias readonly align 8 dereferenceable(16) %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast { i64*, i64 }* %arg to i64** | |
%tmp1 = load i64*, i64** %tmp, align 8, !nonnull !6 | |
%tmp2 = call %struct.baz.67* @ham.151(i64* nonnull %tmp1) | |
ret %struct.baz.67* %tmp2 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal %struct.wombat.88* @quux.458({ i64*, i64 }* noalias readonly align 8 dereferenceable(16) %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast { i64*, i64 }* %arg to i64** | |
%tmp1 = load i64*, i64** %tmp, align 8, !nonnull !6 | |
%tmp2 = call %struct.wombat.88* @eggs.138(i64* nonnull %tmp1) | |
ret %struct.wombat.88* %tmp2 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal %struct.widget.76* @barney.459({ i64*, i64 }* noalias readonly align 8 dereferenceable(16) %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast { i64*, i64 }* %arg to i64** | |
%tmp1 = load i64*, i64** %tmp, align 8, !nonnull !6 | |
%tmp2 = call %struct.widget.76* @ham.146(i64* nonnull %tmp1) | |
ret %struct.widget.76* %tmp2 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal %struct.widget.66* @snork.460({ i32*, i64 }* noalias readonly align 8 dereferenceable(16) %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast { i32*, i64 }* %arg to i32** | |
%tmp1 = load i32*, i32** %tmp, align 8, !nonnull !6 | |
%tmp2 = call %struct.widget.66* @quux.170(i32* nonnull %tmp1) | |
ret %struct.widget.66* %tmp2 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal %struct.foo.62* @spam.461({ i32*, i64 }* noalias readonly align 8 dereferenceable(16) %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast { i32*, i64 }* %arg to i32** | |
%tmp1 = load i32*, i32** %tmp, align 8, !nonnull !6 | |
%tmp2 = call %struct.foo.62* @foo.161(i32* nonnull %tmp1) | |
ret %struct.foo.62* %tmp2 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal %struct.eggs* @foo.462({ i64*, i64 }* noalias readonly align 8 dereferenceable(16) %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast { i64*, i64 }* %arg to i64** | |
%tmp1 = load i64*, i64** %tmp, align 8, !nonnull !6 | |
%tmp2 = call %struct.eggs* @snork.148(i64* nonnull %tmp1) | |
ret %struct.eggs* %tmp2 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal i8* @wibble.463({ i8*, i64 }* noalias readonly align 8 dereferenceable(16) %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast { i8*, i64 }* %arg to i8** | |
%tmp1 = load i8*, i8** %tmp, align 8, !nonnull !6 | |
%tmp2 = call i8* @zot.178(i8* nonnull %tmp1) | |
ret i8* %tmp2 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal %struct.widget.73* @widget.464({ i64*, i64 }* noalias readonly align 8 dereferenceable(16) %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast { i64*, i64 }* %arg to i64** | |
%tmp1 = load i64*, i64** %tmp, align 8, !nonnull !6 | |
%tmp2 = call %struct.widget.73* @wibble.153(i64* nonnull %tmp1) | |
ret %struct.widget.73* %tmp2 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal %struct.wibble.71* @blam.465({ i64*, i64 }* noalias readonly align 8 dereferenceable(16) %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast { i64*, i64 }* %arg to i64** | |
%tmp1 = load i64*, i64** %tmp, align 8, !nonnull !6 | |
%tmp2 = call %struct.wibble.71* @quux.139(i64* nonnull %tmp1) | |
ret %struct.wibble.71* %tmp2 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal i8* @wibble.466({ i8*, i64 }* noalias readonly align 8 dereferenceable(16) %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast { i8*, i64 }* %arg to i8** | |
%tmp1 = load i8*, i8** %tmp, align 8, !nonnull !6 | |
%tmp2 = call i8* @snork.165(i8* nonnull %tmp1) | |
ret i8* %tmp2 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal { i64*, i64 }* @hoge.467({ i64*, i64 }* noalias readonly align 8 dereferenceable(16) %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast { i64*, i64 }* %arg to i64** | |
%tmp1 = load i64*, i64** %tmp, align 8, !nonnull !6 | |
%tmp2 = call { i64*, i64 }* @wombat.166(i64* nonnull %tmp1) | |
ret { i64*, i64 }* %tmp2 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal %struct.snork.47* @pluto.468({ i64*, i64 }* noalias readonly align 8 dereferenceable(16) %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast { i64*, i64 }* %arg to i64** | |
%tmp1 = load i64*, i64** %tmp, align 8, !nonnull !6 | |
%tmp2 = call %struct.snork.47* @zot.163(i64* nonnull %tmp1) | |
ret %struct.snork.47* %tmp2 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal i32* @wibble.469({ i32*, i64 }* noalias readonly align 8 dereferenceable(16) %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast { i32*, i64 }* %arg to i32** | |
%tmp1 = load i32*, i32** %tmp, align 8, !nonnull !6 | |
%tmp2 = call i32* @snork.164(i32* nonnull %tmp1) | |
ret i32* %tmp2 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal %struct.ham.77* @baz.470({ i64*, i64 }* noalias readonly align 8 dereferenceable(16) %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast { i64*, i64 }* %arg to i64** | |
%tmp1 = load i64*, i64** %tmp, align 8, !nonnull !6 | |
%tmp2 = call %struct.ham.77* @baz.154(i64* nonnull %tmp1) | |
ret %struct.ham.77* %tmp2 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal %struct.wibble.61* @hoge.471({ i64*, i64 }* noalias readonly align 8 dereferenceable(16) %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast { i64*, i64 }* %arg to i64** | |
%tmp1 = load i64*, i64** %tmp, align 8, !nonnull !6 | |
%tmp2 = call %struct.wibble.61* @foo.140(i64* nonnull %tmp1) | |
ret %struct.wibble.61* %tmp2 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal %struct.zot.82* @widget.472({ i64*, i64 }* noalias readonly align 8 dereferenceable(16) %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast { i64*, i64 }* %arg to i64** | |
%tmp1 = load i64*, i64** %tmp, align 8, !nonnull !6 | |
%tmp2 = call %struct.zot.82* @baz.152(i64* nonnull %tmp1) | |
ret %struct.zot.82* %tmp2 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal %struct.widget.84* @pluto.473({ i64*, i64 }* noalias readonly align 8 dereferenceable(16) %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast { i64*, i64 }* %arg to i64** | |
%tmp1 = load i64*, i64** %tmp, align 8, !nonnull !6 | |
%tmp2 = call %struct.widget.84* @blam.167(i64* nonnull %tmp1) | |
ret %struct.widget.84* %tmp2 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal i16* @ham.474({ i16*, i64 }* noalias readonly align 8 dereferenceable(16) %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast { i16*, i64 }* %arg to i16** | |
%tmp1 = load i16*, i16** %tmp, align 8, !nonnull !6 | |
%tmp2 = call i16* @foo.147(i16* nonnull %tmp1) | |
ret i16* %tmp2 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal %struct.snork.52* @widget.475({ i64*, i64 }* noalias readonly align 8 dereferenceable(16) %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast { i64*, i64 }* %arg to i64** | |
%tmp1 = load i64*, i64** %tmp, align 8, !nonnull !6 | |
%tmp2 = call %struct.snork.52* @foo.159(i64* nonnull %tmp1) | |
ret %struct.snork.52* %tmp2 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal %struct.blam.65* @bar.476({ i64*, i64 }* noalias readonly align 8 dereferenceable(16) %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast { i64*, i64 }* %arg to i64** | |
%tmp1 = load i64*, i64** %tmp, align 8, !nonnull !6 | |
%tmp2 = call %struct.blam.65* @snork.176(i64* nonnull %tmp1) | |
ret %struct.blam.65* %tmp2 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal %struct.blam.75* @foo.477({ i64*, i64 }* noalias readonly align 8 dereferenceable(16) %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast { i64*, i64 }* %arg to i64** | |
%tmp1 = load i64*, i64** %tmp, align 8, !nonnull !6 | |
%tmp2 = call %struct.blam.75* @widget.160(i64* nonnull %tmp1) | |
ret %struct.blam.75* %tmp2 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal i64** @blam.478({ i64*, i64 }* noalias readonly align 8 dereferenceable(16) %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast { i64*, i64 }* %arg to i64** | |
%tmp1 = load i64*, i64** %tmp, align 8, !nonnull !6 | |
%tmp2 = call i64** @bar.158(i64* nonnull %tmp1) | |
ret i64** %tmp2 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal %struct.zot.57* @spam.479({ i64*, i64 }* noalias readonly align 8 dereferenceable(16) %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast { i64*, i64 }* %arg to i64** | |
%tmp1 = load i64*, i64** %tmp, align 8, !nonnull !6 | |
%tmp2 = call %struct.zot.57* @foo.175(i64* nonnull %tmp1) | |
ret %struct.zot.57* %tmp2 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal %struct.eggs.70* @widget.480({ i64*, i64 }* noalias readonly align 8 dereferenceable(16) %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast { i64*, i64 }* %arg to i64** | |
%tmp1 = load i64*, i64** %tmp, align 8, !nonnull !6 | |
%tmp2 = call %struct.eggs.70* @hoge.150(i64* nonnull %tmp1) | |
ret %struct.eggs.70* %tmp2 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal %struct.ham.85* @wibble.481({ i64*, i64 }* noalias readonly align 8 dereferenceable(16) %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast { i64*, i64 }* %arg to i64** | |
%tmp1 = load i64*, i64** %tmp, align 8, !nonnull !6 | |
%tmp2 = call %struct.ham.85* @baz.142(i64* nonnull %tmp1) | |
ret %struct.ham.85* %tmp2 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal i32* @wombat.482({ i32*, i64 }* noalias readonly align 8 dereferenceable(16) %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast { i32*, i64 }* %arg to i32** | |
%tmp1 = load i32*, i32** %tmp, align 8, !nonnull !6 | |
%tmp2 = call i32* @quux.173(i32* nonnull %tmp1) | |
ret i32* %tmp2 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal %struct.blam.43* @bar.483({ i64*, i64 }* noalias readonly align 8 dereferenceable(16) %arg) unnamed_addr #0 { | |
bb: | |
%tmp = bitcast { i64*, i64 }* %arg to i64** | |
%tmp1 = load i64*, i64** %tmp, align 8, !nonnull !6 | |
%tmp2 = call %struct.blam.43* @wibble.174(i64* nonnull %tmp1) | |
ret %struct.blam.43* %tmp2 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal void @quux.484({ i8*, i64 }* noalias align 8 dereferenceable(16) %arg, i64 %arg1, i64 %arg2) unnamed_addr #0 { | |
bb: | |
%tmp = call zeroext i1 @foo.567({ i8*, i64 }* noalias readonly align 8 dereferenceable(16) %arg, i64 %arg1, i64 %arg2) | |
br i1 %tmp, label %bb5, label %bb4 | |
bb4: ; preds = %bb5, %bb | |
ret void | |
bb5: ; preds = %bb | |
call void @foo.568({ i8*, i64 }* noalias align 8 dereferenceable(16) %arg, i64 %arg1, i64 %arg2) | |
br label %bb4 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal void @ham.485({ i8*, i64 }* noalias align 8 dereferenceable(16) %arg, i64 %arg1, i64 %arg2) unnamed_addr #0 { | |
bb: | |
%tmp = call zeroext i1 @eggs.569({ i8*, i64 }* noalias readonly align 8 dereferenceable(16) %arg, i64 %arg1, i64 %arg2) | |
br i1 %tmp, label %bb5, label %bb4 | |
bb4: ; preds = %bb5, %bb | |
ret void | |
bb5: ; preds = %bb | |
call void @eggs.570({ i8*, i64 }* noalias align 8 dereferenceable(16) %arg, i64 %arg1, i64 %arg2) | |
br label %bb4 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal void @wibble.486({ i64*, i64 }* noalias align 8 dereferenceable(16) %arg, i64 %arg1, i64 %arg2) unnamed_addr #0 { | |
bb: | |
%tmp = call zeroext i1 @zot.571({ i64*, i64 }* noalias readonly align 8 dereferenceable(16) %arg, i64 %arg1, i64 %arg2) | |
br i1 %tmp, label %bb5, label %bb4 | |
bb4: ; preds = %bb5, %bb | |
ret void | |
bb5: ; preds = %bb | |
call void @spam.572({ i64*, i64 }* noalias align 8 dereferenceable(16) %arg, i64 %arg1, i64 %arg2) | |
br label %bb4 | |
} | |
; Function Attrs: alwaysinline nonlazybind uwtable | |
define internal i64 @ham.487({ i8*, i64 }* noalias readonly align 8 dereferenceable(16) %arg) unnamed_addr #2 { | |
bb: | |
%tmp1 = call i64 @foo() | |
%tmp3 = icmp eq i64 %tmp1, 0 | |
br i1 %tmp3, label %bb4, label %bb5 | |
bb4: ; preds = %bb | |
br label %bb8 | |
bb5: ; preds = %bb | |
%tmp6 = getelementptr inbounds { i8*, i64 }, { i8*, i64 }* %arg, i32 0, i32 1 | |
%tmp7 = load i64, i64* %tmp6, align 8 | |
br label %bb8 | |
bb8: ; preds = %bb5, %bb4 | |
%tmp.0 = phi i64 [ -1, %bb4 ], [ %tmp7, %bb5 ] | |
ret i64 %tmp.0 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal void @wibble.488(%struct.quux.31* noalias nonnull readonly align 1 %arg, i8* nonnull %arg1, i64 %arg2, i64 %arg3) unnamed_addr #0 { | |
bb: | |
%tmp = alloca { i64, i64 }, align 8 | |
%tmp4 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %tmp, i32 0, i32 0 | |
store i64 %arg2, i64* %tmp4, align 8 | |
%tmp5 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %tmp, i32 0, i32 1 | |
store i64 %arg3, i64* %tmp5, align 8 | |
%tmp6 = call i64 @eggs.370({ i64, i64 }* noalias readonly align 8 dereferenceable(16) %tmp) | |
%tmp8 = icmp eq i64 %tmp6, 0 | |
br i1 %tmp8, label %bb18, label %bb10 | |
bb10: ; preds = %bb | |
%tmp11 = call i8* @quux.336(i8* nonnull %arg1) | |
%tmp14 = load i64, i64* %tmp4, align 8 | |
%tmp16 = load i64, i64* %tmp5, align 8, !range !10 | |
call void @wibble.434(i8* %tmp11, i64 %tmp14, i64 %tmp16) | |
br label %bb18 | |
bb18: ; preds = %bb, %bb10 | |
ret void | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal void @hoge.489(i64** noalias align 8 dereferenceable(8) %arg) unnamed_addr #0 { | |
bb: | |
%tmp2 = call align 8 dereferenceable(48) %struct.pluto.157* @foo.430(i64** noalias readonly align 8 dereferenceable(8) %arg) | |
%tmp4 = bitcast %struct.pluto.157* %tmp2 to %struct.eggs.158* | |
%tmp6 = call i64 @wobble.367(%struct.eggs.158* align 8 dereferenceable(8) %tmp4, i64 1, i8 1) | |
%tmp8 = icmp eq i64 %tmp6, 1 | |
br i1 %tmp8, label %bb9, label %bb12 | |
bb9: ; preds = %bb | |
call void @snork.368(i8 2) | |
call void @barney.573(i64** noalias align 8 dereferenceable(8) %arg) | |
br label %bb12 | |
bb12: ; preds = %bb, %bb9 | |
ret void | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal void @hoge.490(i64** noalias align 8 dereferenceable(8) %arg) unnamed_addr #0 { | |
bb: | |
%tmp2 = call align 8 dereferenceable(232) %struct.baz.172* @ham.431(i64** noalias readonly align 8 dereferenceable(8) %arg) | |
%tmp4 = bitcast %struct.baz.172* %tmp2 to %struct.eggs.158* | |
%tmp6 = call i64 @wobble.367(%struct.eggs.158* align 8 dereferenceable(8) %tmp4, i64 1, i8 1) | |
%tmp8 = icmp eq i64 %tmp6, 1 | |
br i1 %tmp8, label %bb9, label %bb12 | |
bb9: ; preds = %bb | |
call void @snork.368(i8 2) | |
call void @pluto.574(i64** noalias align 8 dereferenceable(8) %arg) | |
br label %bb12 | |
bb12: ; preds = %bb, %bb9 | |
ret void | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal void @foo.491(i64** noalias align 8 dereferenceable(8) %arg) unnamed_addr #0 { | |
bb: | |
%tmp2 = call align 8 dereferenceable(88) %struct.pluto.164* @wobble.432(i64** noalias readonly align 8 dereferenceable(8) %arg) | |
%tmp4 = bitcast %struct.pluto.164* %tmp2 to %struct.eggs.158* | |
%tmp6 = call i64 @wobble.367(%struct.eggs.158* align 8 dereferenceable(8) %tmp4, i64 1, i8 1) | |
%tmp8 = icmp eq i64 %tmp6, 1 | |
br i1 %tmp8, label %bb9, label %bb12 | |
bb9: ; preds = %bb | |
call void @snork.368(i8 2) | |
call void @quux.575(i64** noalias align 8 dereferenceable(8) %arg) | |
br label %bb12 | |
bb12: ; preds = %bb, %bb9 | |
ret void | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal void @snork.492(i64** noalias align 8 dereferenceable(8) %arg) unnamed_addr #0 { | |
bb: | |
%tmp2 = call align 8 dereferenceable(96) %struct.foo.168* @snork.433(i64** noalias readonly align 8 dereferenceable(8) %arg) | |
%tmp4 = bitcast %struct.foo.168* %tmp2 to %struct.eggs.158* | |
%tmp6 = call i64 @wobble.367(%struct.eggs.158* align 8 dereferenceable(8) %tmp4, i64 1, i8 1) | |
%tmp8 = icmp eq i64 %tmp6, 1 | |
br i1 %tmp8, label %bb9, label %bb12 | |
bb9: ; preds = %bb | |
call void @snork.368(i8 2) | |
call void @pluto.576(i64** noalias align 8 dereferenceable(8) %arg) | |
br label %bb12 | |
bb12: ; preds = %bb, %bb9 | |
ret void | |
} | |
; Function Attrs: nonlazybind uwtable | |
define internal void @snork.493(%struct.baz.51* noalias align 8 dereferenceable(24) %arg) unnamed_addr #1 { | |
bb: | |
%tmp = call %struct.wombat.88* @pluto.382(%struct.baz.51* noalias align 8 dereferenceable(24) %arg) | |
%tmp2 = getelementptr inbounds %struct.baz.51, %struct.baz.51* %arg, i32 0, i32 1 | |
%tmp3 = load i64, i64* %tmp2, align 8 | |
%tmp4 = call { [0 x %struct.wombat.88]*, i64 } @spam.86(%struct.wombat.88* %tmp, i64 %tmp3) | |
%tmp5 = extractvalue { [0 x %struct.wombat.88]*, i64 } %tmp4, 0 | |
%tmp6 = extractvalue { [0 x %struct.wombat.88]*, i64 } %tmp4, 1 | |
call void @quux.126([0 x %struct.wombat.88]* %tmp5, i64 %tmp6) | |
ret void | |
} | |
; Function Attrs: nonlazybind uwtable | |
define hidden void @pluto.494(%struct.bar.171* noalias align 8 dereferenceable(24) %arg) unnamed_addr #1 { | |
bb: | |
%tmp = call i64** @quux.414(%struct.bar.171* noalias align 8 dereferenceable(24) %arg) | |
%tmp2 = getelementptr inbounds %struct.bar.171, %struct.bar.171* %arg, i32 0, i32 1 | |
%tmp3 = load i64, i64* %tmp2, align 8 | |
%tmp4 = call { [0 x i64*]*, i64 } @widget.70(i64** %tmp, i64 %tmp3) | |
%tmp5 = extractvalue { [0 x i64*]*, i64 } %tmp4, 0 | |
%tmp6 = extractvalue { [0 x i64*]*, i64 } %tmp4, 1 | |
call void @widget.106([0 x i64*]* %tmp5, i64 %tmp6) | |
ret void | |
} | |
; Function Attrs: nonlazybind uwtable | |
define hidden void @spam.495(%struct.wombat.167* noalias align 8 dereferenceable(24) %arg) unnamed_addr #1 { | |
bb: | |
%tmp = call %struct.snork.47* @eggs.402(%struct.wombat.167* noalias align 8 dereferenceable(24) %arg) | |
%tmp2 = getelementptr inbounds %struct.wombat.167, %struct.wombat.167* %arg, i32 0, i32 1 | |
%tmp3 = load i64, i64* %tmp2, align 8 | |
%tmp4 = call { [0 x %struct.snork.47]*, i64 } @bar.60(%struct.snork.47* %tmp, i64 %tmp3) | |
%tmp5 = extractvalue { [0 x %struct.snork.47]*, i64 } %tmp4, 0 | |
%tmp6 = extractvalue { [0 x %struct.snork.47]*, i64 } %tmp4, 1 | |
call void @hoge.39([0 x %struct.snork.47]* %tmp5, i64 %tmp6) | |
ret void | |
} | |
; Function Attrs: nonlazybind uwtable | |
define hidden void @snork.496(%struct.widget.191* noalias align 8 dereferenceable(24) %arg) unnamed_addr #1 { | |
bb: | |
%tmp = call %struct.widget.66* @widget.384(%struct.widget.191* noalias align 8 dereferenceable(24) %arg) | |
%tmp2 = getelementptr inbounds %struct.widget.191, %struct.widget.191* %arg, i32 0, i32 1 | |
%tmp3 = load i64, i64* %tmp2, align 8 | |
%tmp4 = call { [0 x %struct.widget.66]*, i64 } @bar.62(%struct.widget.66* %tmp, i64 %tmp3) | |
ret void | |
} | |
; Function Attrs: nonlazybind uwtable | |
define internal void @widget.497(%struct.foo.93* noalias align 8 dereferenceable(24) %arg) unnamed_addr #1 { | |
bb: | |
%tmp = call i16* @spam.401(%struct.foo.93* noalias align 8 dereferenceable(24) %arg) | |
%tmp2 = getelementptr inbounds %struct.foo.93, %struct.foo.93* %arg, i32 0, i32 1 | |
%tmp3 = load i64, i64* %tmp2, align 8 | |
%tmp4 = call { [0 x i16]*, i64 } @ham.69(i16* %tmp, i64 %tmp3) | |
ret void | |
} | |
; Function Attrs: nonlazybind uwtable | |
define internal void @wobble.498(%struct.zot.60* noalias align 8 dereferenceable(24) %arg) unnamed_addr #1 { | |
bb: | |
%tmp = call %struct.zot.82* @ham.398(%struct.zot.60* noalias align 8 dereferenceable(24) %arg) | |
%tmp2 = getelementptr inbounds %struct.zot.60, %struct.zot.60* %arg, i32 0, i32 1 | |
%tmp3 = load i64, i64* %tmp2, align 8 | |
%tmp4 = call { [0 x %struct.zot.82]*, i64 } @quux.79(%struct.zot.82* %tmp, i64 %tmp3) | |
%tmp5 = extractvalue { [0 x %struct.zot.82]*, i64 } %tmp4, 0 | |
%tmp6 = extractvalue { [0 x %struct.zot.82]*, i64 } %tmp4, 1 | |
call void @ham.185([0 x %struct.zot.82]* %tmp5, i64 %tmp6) | |
ret void | |
} | |
; Function Attrs: nonlazybind uwtable | |
define hidden void @quux.499(%struct.blam.193* noalias align 8 dereferenceable(24) %arg) unnamed_addr #1 { | |
bb: | |
%tmp = call %struct.barney.58* @foo.388(%struct.blam.193* noalias align 8 dereferenceable(24) %arg) | |
%tmp2 = getelementptr inbounds %struct.blam.193, %struct.blam.193* %arg, i32 0, i32 1 | |
%tmp3 = load i64, i64* %tmp2, align 8 | |
%tmp4 = call { [0 x %struct.barney.58]*, i64 } @wombat.56(%struct.barney.58* %tmp, i64 %tmp3) | |
%tmp5 = extractvalue { [0 x %struct.barney.58]*, i64 } %tmp4, 0 | |
%tmp6 = extractvalue { [0 x %struct.barney.58]*, i64 } %tmp4, 1 | |
call void @baz.128([0 x %struct.barney.58]* %tmp5, i64 %tmp6) | |
ret void | |
} | |
; Function Attrs: nonlazybind uwtable | |
define internal void @barney.500(%struct.barney.81* noalias align 8 dereferenceable(24) %arg) unnamed_addr #1 { | |
bb: | |
%tmp = call %struct.snork.52* @wombat.387(%struct.barney.81* noalias align 8 dereferenceable(24) %arg) | |
%tmp2 = getelementptr inbounds %struct.barney.81, %struct.barney.81* %arg, i32 0, i32 1 | |
%tmp3 = load i64, i64* %tmp2, align 8 | |
%tmp4 = call { [0 x %struct.snork.52]*, i64 } @ham.52(%struct.snork.52* %tmp, i64 %tmp3) | |
%tmp5 = extractvalue { [0 x %struct.snork.52]*, i64 } %tmp4, 0 | |
%tmp6 = extractvalue { [0 x %struct.snork.52]*, i64 } %tmp4, 1 | |
call void @wibble.119([0 x %struct.snork.52]* %tmp5, i64 %tmp6) | |
ret void | |
} | |
; Function Attrs: nonlazybind uwtable | |
define hidden void @pluto.501(%struct.zot.42* noalias align 8 dereferenceable(24) %arg) unnamed_addr #1 { | |
bb: | |
%tmp = call %struct.snork.46* @wombat.415(%struct.zot.42* noalias align 8 dereferenceable(24) %arg) | |
%tmp2 = getelementptr inbounds %struct.zot.42, %struct.zot.42* %arg, i32 0, i32 1 | |
%tmp3 = load i64, i64* %tmp2, align 8 | |
%tmp4 = call { [0 x %struct.snork.46]*, i64 } @ham(%struct.snork.46* %tmp, i64 %tmp3) | |
%tmp5 = extractvalue { [0 x %struct.snork.46]*, i64 } %tmp4, 0 | |
%tmp6 = extractvalue { [0 x %struct.snork.46]*, i64 } %tmp4, 1 | |
call void @foo.38([0 x %struct.snork.46]* %tmp5, i64 %tmp6) | |
ret void | |
} | |
; Function Attrs: nonlazybind uwtable | |
define hidden void @wibble.502(%struct.ham.190* noalias align 8 dereferenceable(24) %arg) unnamed_addr #1 { | |
bb: | |
%tmp = call %struct.blam.65* @baz.383(%struct.ham.190* noalias align 8 dereferenceable(24) %arg) | |
%tmp2 = getelementptr inbounds %struct.ham.190, %struct.ham.190* %arg, i32 0, i32 1 | |
%tmp3 = load i64, i64* %tmp2, align 8 | |
%tmp4 = call { [0 x %struct.blam.65]*, i64 } @foo.61(%struct.blam.65* %tmp, i64 %tmp3) | |
ret void | |
} | |
; Function Attrs: nonlazybind uwtable | |
define hidden void @blam.503(%struct.quux.192* noalias align 8 dereferenceable(24) %arg) unnamed_addr #1 { | |
bb: | |
%tmp = call %struct.wibble.71* @wibble.386(%struct.quux.192* noalias align 8 dereferenceable(24) %arg) | |
%tmp2 = getelementptr inbounds %struct.quux.192, %struct.quux.192* %arg, i32 0, i32 1 | |
%tmp3 = load i64, i64* %tmp2, align 8 | |
%tmp4 = call { [0 x %struct.wibble.71]*, i64 } @bar.68(%struct.wibble.71* %tmp, i64 %tmp3) | |
%tmp5 = extractvalue { [0 x %struct.wibble.71]*, i64 } %tmp4, 0 | |
%tmp6 = extractvalue { [0 x %struct.wibble.71]*, i64 } %tmp4, 1 | |
call void @wombat.124([0 x %struct.wibble.71]* %tmp5, i64 %tmp6) | |
ret void | |
} | |
; Function Attrs: nonlazybind uwtable | |
define hidden void @pluto.504(%struct.bar.30* noalias align 8 dereferenceable(24) %arg) unnamed_addr #1 { | |
bb: | |
%tmp = call i8* @quux.409(%struct.bar.30* noalias align 8 dereferenceable(24) %arg) | |
%tmp2 = getelementptr inbounds %struct.bar.30, %struct.bar.30* %arg, i32 0, i32 1 | |
%tmp3 = load i64, i64* %tmp2, align 8 | |
%tmp4 = call { [0 x i8]*, i64 } @bar.50(i8* %tmp, i64 %tmp3) | |
ret void | |
} | |
; Function Attrs: nonlazybind uwtable | |
define hidden void @bar.505(%struct.wibble.202* noalias align 8 dereferenceable(24) %arg) unnamed_addr #1 { | |
bb: | |
%tmp = call %struct.zot.57* @eggs.400(%struct.wibble.202* noalias align 8 dereferenceable(24) %arg) | |
%tmp2 = getelementptr inbounds %struct.wibble.202, %struct.wibble.202* %arg, i32 0, i32 1 | |
%tmp3 = load i64, i64* %tmp2, align 8 | |
%tmp4 = call { [0 x %struct.zot.57]*, i64 } @widget.55(%struct.zot.57* %tmp, i64 %tmp3) | |
%tmp5 = extractvalue { [0 x %struct.zot.57]*, i64 } %tmp4, 0 | |
%tmp6 = extractvalue { [0 x %struct.zot.57]*, i64 } %tmp4, 1 | |
call void @pluto.191([0 x %struct.zot.57]* %tmp5, i64 %tmp6) | |
ret void | |
} | |
; Function Attrs: nonlazybind uwtable | |
define hidden void @baz.506(%struct.blam.205* noalias align 8 dereferenceable(24) %arg) unnamed_addr #1 { | |
bb: | |
%tmp = call %struct.baz.67* @quux.406(%struct.blam.205* noalias align 8 dereferenceable(24) %arg) | |
%tmp2 = getelementptr inbounds %struct.blam.205, %struct.blam.205* %arg, i32 0, i32 1 | |
%tmp3 = load i64, i64* %tmp2, align 8 | |
%tmp4 = call { [0 x %struct.baz.67]*, i64 } @ham.63(%struct.baz.67* %tmp, i64 %tmp3) | |
%tmp5 = extractvalue { [0 x %struct.baz.67]*, i64 } %tmp4, 0 | |
%tmp6 = extractvalue { [0 x %struct.baz.67]*, i64 } %tmp4, 1 | |
call void @ham.129([0 x %struct.baz.67]* %tmp5, i64 %tmp6) | |
ret void | |
} | |
; Function Attrs: nonlazybind uwtable | |
define internal void @barney.507(%struct.hoge.39* noalias align 8 dereferenceable(24) %arg) unnamed_addr #1 { | |
bb: | |
%tmp = call %struct.blam.43* @wobble.397(%struct.hoge.39* noalias align 8 dereferenceable(24) %arg) | |
%tmp2 = getelementptr inbounds %struct.hoge.39, %struct.hoge.39* %arg, i32 0, i32 1 | |
%tmp3 = load i64, i64* %tmp2, align 8 | |
%tmp4 = call { [0 x %struct.blam.43]*, i64 } @snork.53(%struct.blam.43* %tmp, i64 %tmp3) | |
%tmp5 = extractvalue { [0 x %struct.blam.43]*, i64 } %tmp4, 0 | |
%tmp6 = extractvalue { [0 x %struct.blam.43]*, i64 } %tmp4, 1 | |
call void @bar.37([0 x %struct.blam.43]* %tmp5, i64 %tmp6) | |
ret void | |
} | |
; Function Attrs: nonlazybind uwtable | |
define hidden void @barney.508(%struct.zot.201* noalias align 8 dereferenceable(24) %arg) unnamed_addr #1 { | |
bb: | |
%tmp = call %struct.blam.75* @baz.399(%struct.zot.201* noalias align 8 dereferenceable(24) %arg) | |
%tmp2 = getelementptr inbounds %struct.zot.201, %struct.zot.201* %arg, i32 0, i32 1 | |
%tmp3 = load i64, i64* %tmp2, align 8 | |
%tmp4 = call { [0 x %struct.blam.75]*, i64 } @foo.75(%struct.blam.75* %tmp, i64 %tmp3) | |
%tmp5 = extractvalue { [0 x %struct.blam.75]*, i64 } %tmp4, 0 | |
%tmp6 = extractvalue { [0 x %struct.blam.75]*, i64 } %tmp4, 1 | |
call void @eggs.189([0 x %struct.blam.75]* %tmp5, i64 %tmp6) | |
ret void | |
} | |
; Function Attrs: nonlazybind uwtable | |
define hidden void @ham.509(%struct.snork.206* noalias align 8 dereferenceable(24) %arg) unnamed_addr #1 { | |
bb: | |
%tmp = call %struct.widget.84* @wombat.407(%struct.snork.206* noalias align 8 dereferenceable(24) %arg) | |
%tmp2 = getelementptr inbounds %struct.snork.206, %struct.snork.206* %arg, i32 0, i32 1 | |
%tmp3 = load i64, i64* %tmp2, align 8 | |
%tmp4 = call { [0 x %struct.widget.84]*, i64 } @wobble.82(%struct.widget.84* %tmp, i64 %tmp3) | |
%tmp5 = extractvalue { [0 x %struct.widget.84]*, i64 } %tmp4, 0 | |
%tmp6 = extractvalue { [0 x %struct.widget.84]*, i64 } %tmp4, 1 | |
call void @quux.188([0 x %struct.widget.84]* %tmp5, i64 %tmp6) | |
ret void | |
} | |
; Function Attrs: nonlazybind uwtable | |
define hidden void @ham.510(%struct.spam.177* noalias align 8 dereferenceable(24) %arg) unnamed_addr #1 { | |
bb: | |
%tmp = call %struct.wibble.61* @wibble.385(%struct.spam.177* noalias align 8 dereferenceable(24) %arg) | |
%tmp2 = getelementptr inbounds %struct.spam.177, %struct.spam.177* %arg, i32 0, i32 1 | |
%tmp3 = load i64, i64* %tmp2, align 8 | |
%tmp4 = call { [0 x %struct.wibble.61]*, i64 } @foo.57(%struct.wibble.61* %tmp, i64 %tmp3) | |
ret void | |
} | |
; Function Attrs: nonlazybind uwtable | |
define hidden void @ham.511(%struct.spam.196* noalias align 8 dereferenceable(24) %arg) unnamed_addr #1 { | |
bb: | |
%tmp = call { [0 x i32]*, i64 }* @snork.392(%struct.spam.196* noalias align 8 dereferenceable(24) %arg) | |
%tmp2 = getelementptr inbounds %struct.spam.196, %struct.spam.196* %arg, i32 0, i32 1 | |
%tmp3 = load i64, i64* %tmp2, align 8 | |
%tmp4 = call { [0 x { [0 x i32]*, i64 }]*, i64 } @wibble.81({ [0 x i32]*, i64 }* %tmp, i64 %tmp3) | |
%tmp5 = extractvalue { [0 x { [0 x i32]*, i64 }]*, i64 } %tmp4, 0 | |
%tmp6 = extractvalue { [0 x { [0 x i32]*, i64 }]*, i64 } %tmp4, 1 | |
call void @spam.343([0 x { [0 x i32]*, i64 }]* %tmp5, i64 %tmp6) | |
ret void | |
} | |
; Function Attrs: nonlazybind uwtable | |
define hidden void @blam.512(%struct.quux.200* noalias align 8 dereferenceable(24) %arg) unnamed_addr #1 { | |
bb: | |
%tmp = call %struct.wibble.83* @bar.396(%struct.quux.200* noalias align 8 dereferenceable(24) %arg) | |
%tmp2 = getelementptr inbounds %struct.quux.200, %struct.quux.200* %arg, i32 0, i32 1 | |
%tmp3 = load i64, i64* %tmp2, align 8 | |
%tmp4 = call { [0 x %struct.wibble.83]*, i64 } @zot.80(%struct.wibble.83* %tmp, i64 %tmp3) | |
%tmp5 = extractvalue { [0 x %struct.wibble.83]*, i64 } %tmp4, 0 | |
%tmp6 = extractvalue { [0 x %struct.wibble.83]*, i64 } %tmp4, 1 | |
call void @hoge.346([0 x %struct.wibble.83]* %tmp5, i64 %tmp6) | |
ret void | |
} | |
; Function Attrs: nonlazybind uwtable | |
define internal void @snork.513(%struct.snork.56* noalias align 8 dereferenceable(24) %arg) unnamed_addr #1 { | |
bb: | |
%tmp = call %struct.widget.73* @wombat.391(%struct.snork.56* noalias align 8 dereferenceable(24) %arg) | |
%tmp2 = getelementptr inbounds %struct.snork.56, %struct.snork.56* %arg, i32 0, i32 1 | |
%tmp3 = load i64, i64* %tmp2, align 8 | |
%tmp4 = call { [0 x %struct.widget.73]*, i64 } @wibble.73(%struct.widget.73* %tmp, i64 %tmp3) | |
%tmp5 = extractvalue { [0 x %struct.widget.73]*, i64 } %tmp4, 0 | |
%tmp6 = extractvalue { [0 x %struct.widget.73]*, i64 } %tmp4, 1 | |
call void @bar.281([0 x %struct.widget.73]* %tmp5, i64 %tmp6) | |
ret void | |
} | |
; Function Attrs: nonlazybind uwtable | |
define hidden void @wobble.514(%struct.hoge.204* noalias align 8 dereferenceable(24) %arg) unnamed_addr #1 { | |
bb: | |
%tmp = call %struct.widget.76* @hoge.405(%struct.hoge.204* noalias align 8 dereferenceable(24) %arg) | |
%tmp2 = getelementptr inbounds %struct.hoge.204, %struct.hoge.204* %arg, i32 0, i32 1 | |
%tmp3 = load i64, i64* %tmp2, align 8 | |
%tmp4 = call { [0 x %struct.widget.76]*, i64 } @spam.76(%struct.widget.76* %tmp, i64 %tmp3) | |
%tmp5 = extractvalue { [0 x %struct.widget.76]*, i64 } %tmp4, 0 | |
%tmp6 = extractvalue { [0 x %struct.widget.76]*, i64 } %tmp4, 1 | |
call void @spam.345([0 x %struct.widget.76]* %tmp5, i64 %tmp6) | |
ret void | |
} | |
; Function Attrs: nonlazybind uwtable | |
define hidden void @spam.515(%struct.blam.194* noalias align 8 dereferenceable(24) %arg) unnamed_addr #1 { | |
bb: | |
%tmp = call i32* @bar.389(%struct.blam.194* noalias align 8 dereferenceable(24) %arg) | |
%tmp2 = getelementptr inbounds %struct.blam.194, %struct.blam.194* %arg, i32 0, i32 1 | |
%tmp3 = load i64, i64* %tmp2, align 8 | |
%tmp4 = call { [0 x i32]*, i64 } @widget.72(i32* %tmp, i64 %tmp3) | |
ret void | |
} | |
; Function Attrs: nonlazybind uwtable | |
define internal void @snork.516(%struct.spam.28* noalias align 8 dereferenceable(24) %arg) unnamed_addr #1 { | |
bb: | |
%tmp = call i8* @zot.411(%struct.spam.28* noalias align 8 dereferenceable(24) %arg) | |
%tmp2 = getelementptr inbounds %struct.spam.28, %struct.spam.28* %arg, i32 0, i32 1 | |
%tmp3 = load i64, i64* %tmp2, align 8 | |
%tmp4 = call { [0 x i8]*, i64 } @pluto.71(i8* %tmp, i64 %tmp3) | |
ret void | |
} | |
; Function Attrs: nonlazybind uwtable | |
define hidden void @pluto.517(%struct.wibble.170* noalias align 8 dereferenceable(24) %arg) unnamed_addr #1 { | |
bb: | |
%tmp = call i64** @blam.416(%struct.wibble.170* noalias align 8 dereferenceable(24) %arg) | |
%tmp2 = getelementptr inbounds %struct.wibble.170, %struct.wibble.170* %arg, i32 0, i32 1 | |
%tmp3 = load i64, i64* %tmp2, align 8 | |
%tmp4 = call { [0 x i64*]*, i64 } @snork.51(i64** %tmp, i64 %tmp3) | |
%tmp5 = extractvalue { [0 x i64*]*, i64 } %tmp4, 0 | |
%tmp6 = extractvalue { [0 x i64*]*, i64 } %tmp4, 1 | |
call void @blam.349([0 x i64*]* %tmp5, i64 %tmp6) | |
ret void | |
} | |
; Function Attrs: nonlazybind uwtable | |
define hidden void @spam.518(%struct.zot.199* noalias align 8 dereferenceable(24) %arg) unnamed_addr #1 { | |
bb: | |
%tmp = call %struct.ham.77* @quux.395(%struct.zot.199* noalias align 8 dereferenceable(24) %arg) | |
%tmp2 = getelementptr inbounds %struct.zot.199, %struct.zot.199* %arg, i32 0, i32 1 | |
%tmp3 = load i64, i64* %tmp2, align 8 | |
%tmp4 = call { [0 x %struct.ham.77]*, i64 } @spam.78(%struct.ham.77* %tmp, i64 %tmp3) | |
%tmp5 = extractvalue { [0 x %struct.ham.77]*, i64 } %tmp4, 0 | |
%tmp6 = extractvalue { [0 x %struct.ham.77]*, i64 } %tmp4, 1 | |
call void @wibble.118([0 x %struct.ham.77]* %tmp5, i64 %tmp6) | |
ret void | |
} | |
; Function Attrs: nonlazybind uwtable | |
define hidden void @ham.519(%struct.pluto.195* noalias align 8 dereferenceable(24) %arg) unnamed_addr #1 { | |
bb: | |
%tmp = call %struct.pluto.68* @pluto.390(%struct.pluto.195* noalias align 8 dereferenceable(24) %arg) | |
%tmp2 = getelementptr inbounds %struct.pluto.195, %struct.pluto.195* %arg, i32 0, i32 1 | |
%tmp3 = load i64, i64* %tmp2, align 8 | |
%tmp4 = call { [0 x %struct.pluto.68]*, i64 } @spam.64(%struct.pluto.68* %tmp, i64 %tmp3) | |
ret void | |
} | |
; Function Attrs: nonlazybind uwtable | |
define hidden void @pluto.520(%struct.hoge.208* noalias align 8 dereferenceable(24) %arg) unnamed_addr #1 { | |
bb: | |
%tmp = call i32* @hoge.410(%struct.hoge.208* noalias align 8 dereferenceable(24) %arg) | |
%tmp2 = getelementptr inbounds %struct.hoge.208, %struct.hoge.208* %arg, i32 0, i32 1 | |
%tmp3 = load i64, i64* %tmp2, align 8 | |
%tmp4 = call { [0 x i32]*, i64 } @eggs.84(i32* %tmp, i64 %tmp3) | |
ret void | |
} | |
; Function Attrs: nonlazybind uwtable | |
define internal void @blam.521(%struct.wombat.111* noalias align 8 dereferenceable(24) %arg) unnamed_addr #1 { | |
bb: | |
%tmp = call %struct.ham.85* @eggs.412(%struct.wombat.111* noalias align 8 dereferenceable(24) %arg) | |
%tmp2 = getelementptr inbounds %struct.wombat.111, %struct.wombat.111* %arg, i32 0, i32 1 | |
%tmp3 = load i64, i64* %tmp2, align 8 | |
%tmp4 = call { [0 x %struct.ham.85]*, i64 } @zot.83(%struct.ham.85* %tmp, i64 %tmp3) | |
ret void | |
} | |
; Function Attrs: nonlazybind uwtable | |
define hidden void @blam.522(%struct.blam.207* noalias align 8 dereferenceable(24) %arg) unnamed_addr #1 { | |
bb: | |
%tmp = call { i32, i32 }* @spam.408(%struct.blam.207* noalias align 8 dereferenceable(24) %arg) | |
%tmp2 = getelementptr inbounds %struct.blam.207, %struct.blam.207* %arg, i32 0, i32 1 | |
%tmp3 = load i64, i64* %tmp2, align 8 | |
%tmp4 = call { [0 x { i32, i32 }]*, i64 } @wibble.65({ i32, i32 }* %tmp, i64 %tmp3) | |
ret void | |
} | |
; Function Attrs: nonlazybind uwtable | |
define hidden void @wibble.523(%struct.wobble.209* noalias align 8 dereferenceable(24) %arg) unnamed_addr #1 { | |
bb: | |
%tmp = call i32* @wibble.413(%struct.wobble.209* noalias align 8 dereferenceable(24) %arg) | |
%tmp2 = getelementptr inbounds %struct.wobble.209, %struct.wobble.209* %arg, i32 0, i32 1 | |
%tmp3 = load i64, i64* %tmp2, align 8 | |
%tmp4 = call { [0 x i32]*, i64 } @baz.74(i32* %tmp, i64 %tmp3) | |
ret void | |
} | |
; Function Attrs: nonlazybind uwtable | |
define internal void @baz.524(%struct.eggs* noalias align 8 dereferenceable(24) %arg) unnamed_addr #1 { | |
bb: | |
%tmp = call { i64, { i32, i32 } }* @wombat.403(%struct.eggs* noalias align 8 dereferenceable(24) %arg) | |
%tmp2 = getelementptr inbounds %struct.eggs, %struct.eggs* %arg, i32 0, i32 1 | |
%tmp3 = load i64, i64* %tmp2, align 8 | |
%tmp4 = call { [0 x { i64, { i32, i32 } }]*, i64 } @snork.77({ i64, { i32, i32 } }* %tmp, i64 %tmp3) | |
ret void | |
} | |
; Function Attrs: nonlazybind uwtable | |
define hidden void @hoge.525(%struct.ham.197* noalias align 8 dereferenceable(24) %arg) unnamed_addr #1 { | |
bb: | |
%tmp = call %struct.foo.86* @pluto.393(%struct.ham.197* noalias align 8 dereferenceable(24) %arg) | |
%tmp2 = getelementptr inbounds %struct.ham.197, %struct.ham.197* %arg, i32 0, i32 1 | |
%tmp3 = load i64, i64* %tmp2, align 8 | |
%tmp4 = call { [0 x %struct.foo.86]*, i64 } @widget.85(%struct.foo.86* %tmp, i64 %tmp3) | |
ret void | |
} | |
; Function Attrs: nonlazybind uwtable | |
define hidden void @barney.526(%struct.barney.189* noalias align 8 dereferenceable(24) %arg) unnamed_addr #1 { | |
bb: | |
%tmp = call %struct.eggs* @widget.379(%struct.barney.189* noalias align 8 dereferenceable(24) %arg) | |
%tmp2 = getelementptr inbounds %struct.barney.189, %struct.barney.189* %arg, i32 0, i32 1 | |
%tmp3 = load i64, i64* %tmp2, align 8 | |
%tmp4 = call { [0 x %struct.eggs]*, i64 } @eggs.67(%struct.eggs* %tmp, i64 %tmp3) | |
%tmp5 = extractvalue { [0 x %struct.eggs]*, i64 } %tmp4, 0 | |
%tmp6 = extractvalue { [0 x %struct.eggs]*, i64 } %tmp4, 1 | |
call void @wibble.34([0 x %struct.eggs]* %tmp5, i64 %tmp6) | |
ret void | |
} | |
; Function Attrs: nonlazybind uwtable | |
define internal void @wibble.527(%struct.eggs.99* noalias align 8 dereferenceable(24) %arg) unnamed_addr #1 { | |
bb: | |
%tmp = call i64* @spam.381(%struct.eggs.99* noalias align 8 dereferenceable(24) %arg) | |
%tmp2 = getelementptr inbounds %struct.eggs.99, %struct.eggs.99* %arg, i32 0, i32 1 | |
%tmp3 = load i64, i64* %tmp2, align 8 | |
%tmp4 = call { [0 x i64]*, i64 } @bar.59(i64* %tmp, i64 %tmp3) | |
ret void | |
} | |
; Function Attrs: nonlazybind uwtable | |
define hidden void @pluto.528(%struct.quux.203* noalias align 8 dereferenceable(24) %arg) unnamed_addr #1 { | |
bb: | |
%tmp = call %struct.eggs.70* @spam.404(%struct.quux.203* noalias align 8 dereferenceable(24) %arg) | |
%tmp2 = getelementptr inbounds %struct.quux.203, %struct.quux.203* %arg, i32 0, i32 1 | |
%tmp3 = load i64, i64* %tmp2, align 8 | |
%tmp4 = call { [0 x %struct.eggs.70]*, i64 } @wibble.66(%struct.eggs.70* %tmp, i64 %tmp3) | |
%tmp5 = extractvalue { [0 x %struct.eggs.70]*, i64 } %tmp4, 0 | |
%tmp6 = extractvalue { [0 x %struct.eggs.70]*, i64 } %tmp4, 1 | |
call void @wombat.115([0 x %struct.eggs.70]* %tmp5, i64 %tmp6) | |
ret void | |
} | |
; Function Attrs: nonlazybind uwtable | |
define hidden void @ham.529(%struct.spam.198* noalias align 8 dereferenceable(24) %arg) unnamed_addr #1 { | |
bb: | |
%tmp = call %struct.foo.62* @eggs.394(%struct.spam.198* noalias align 8 dereferenceable(24) %arg) | |
%tmp2 = getelementptr inbounds %struct.spam.198, %struct.spam.198* %arg, i32 0, i32 1 | |
%tmp3 = load i64, i64* %tmp2, align 8 | |
%tmp4 = call { [0 x %struct.foo.62]*, i64 } @wobble.58(%struct.foo.62* %tmp, i64 %tmp3) | |
ret void | |
} | |
; Function Attrs: nonlazybind uwtable | |
define hidden void @hoge.530(%struct.wombat.176* noalias align 8 dereferenceable(24) %arg) unnamed_addr #1 { | |
bb: | |
%tmp = call %struct.widget.55* @baz.380(%struct.wombat.176* noalias align 8 dereferenceable(24) %arg) | |
%tmp2 = getelementptr inbounds %struct.wombat.176, %struct.wombat.176* %arg, i32 0, i32 1 | |
%tmp3 = load i64, i64* %tmp2, align 8 | |
%tmp4 = call { [0 x %struct.widget.55]*, i64 } @quux.54(%struct.widget.55* %tmp, i64 %tmp3) | |
%tmp5 = extractvalue { [0 x %struct.widget.55]*, i64 } %tmp4, 0 | |
%tmp6 = extractvalue { [0 x %struct.widget.55]*, i64 } %tmp4, 1 | |
call void @zot.190([0 x %struct.widget.55]* %tmp5, i64 %tmp6) | |
ret void | |
} | |
; Function Attrs: nonlazybind uwtable | |
define hidden { [0 x i8]*, i64 } @hoge.531(%struct.bar.30* noalias readonly align 8 dereferenceable(24) %arg) unnamed_addr #1 { | |
bb: | |
%tmp = call i8* @eggs.424(%struct.bar.30* noalias readonly align 8 dereferenceable(24) %arg) | |
%tmp2 = getelementptr inbounds %struct.bar.30, %struct.bar.30* %arg, i32 0, i32 1 | |
%tmp3 = load i64, i64* %tmp2, align 8 | |
%tmp4 = call { [0 x i8]*, i64 } @hoge.375(i8* %tmp, i64 %tmp3) | |
%tmp5 = extractvalue { [0 x i8]*, i64 } %tmp4, 0 | |
%tmp6 = extractvalue { [0 x i8]*, i64 } %tmp4, 1 | |
ret { [0 x i8]*, i64 } %tmp4 | |
} | |
; Function Attrs: nonlazybind uwtable | |
define hidden { [0 x { i64*, i64 }]*, i64 } @eggs.532(%struct.zot.210* noalias readonly align 8 dereferenceable(24) %arg) unnamed_addr #1 { | |
bb: | |
%tmp = call { i64*, i64 }* @spam.425(%struct.zot.210* noalias readonly align 8 dereferenceable(24) %arg) | |
%tmp2 = getelementptr inbounds %struct.zot.210, %struct.zot.210* %arg, i32 0, i32 1 | |
%tmp3 = load i64, i64* %tmp2, align 8 | |
%tmp4 = call { [0 x { i64*, i64 }]*, i64 } @ham.374({ i64*, i64 }* %tmp, i64 %tmp3) | |
%tmp5 = extractvalue { [0 x { i64*, i64 }]*, i64 } %tmp4, 0 | |
%tmp6 = extractvalue { [0 x { i64*, i64 }]*, i64 } %tmp4, 1 | |
ret { [0 x { i64*, i64 }]*, i64 } %tmp4 | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal void @wibble.533({ i64, { i64, i64 } }* noalias nocapture sret({ i64, { i64, i64 } }) dereferenceable(24) %arg, i8* noalias readonly align 1 dereferenceable(1) %arg1) unnamed_addr #0 { | |
bb: | |
%tmp3 = load i8, i8* %arg1, align 1, !range !5 | |
%tmp4 = sub i8 %tmp3, 7 | |
%tmp5 = icmp eq i8 %tmp4, 0 | |
br i1 %tmp5, label %bb8, label %bb22 | |
bb8: ; preds = %bb | |
%tmp13 = bitcast { i64, { i64, i64 } }* %arg to i64* | |
store i64 0, i64* %tmp13, align 8 | |
%tmp14 = getelementptr inbounds { i64, { i64, i64 } }, { i64, { i64, i64 } }* %arg, i32 0, i32 1 | |
%tmp19 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %tmp14, i32 0, i32 0 | |
store i64 1, i64* %tmp19, align 8 | |
%tmp20 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %tmp14, i32 0, i32 1 | |
store i64 0, i64* %tmp20, align 8 | |
br label %bb36 | |
bb22: ; preds = %bb | |
%tmp27 = bitcast { i64, { i64, i64 } }* %arg to i64* | |
store i64 1, i64* %tmp27, align 8 | |
%tmp28 = getelementptr inbounds { i64, { i64, i64 } }, { i64, { i64, i64 } }* %arg, i32 0, i32 1 | |
%tmp33 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %tmp28, i32 0, i32 0 | |
store i64 1, i64* %tmp33, align 8 | |
%tmp34 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %tmp28, i32 0, i32 1 | |
store i64 1, i64* %tmp34, align 8 | |
br label %bb36 | |
bb36: ; preds = %bb22, %bb8 | |
ret void | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal void @snork.534({ i64, { i64, i64 } }* noalias nocapture sret({ i64, { i64, i64 } }) dereferenceable(24) %arg, i8* noalias readonly align 1 dereferenceable(1) %arg1) unnamed_addr #0 { | |
bb: | |
call void @wibble.533({ i64, { i64, i64 } }* noalias nocapture sret({ i64, { i64, i64 } }) dereferenceable(24) %arg, i8* noalias readonly align 1 dereferenceable(1) %arg1) | |
ret void | |
} | |
; Function Attrs: alwaysinline nonlazybind uwtable | |
define internal align 8 dereferenceable(16) { [0 x i8]*, i64 }* @hoge.535({ i8*, i64 }* noalias readonly align 8 dereferenceable(16) %arg) unnamed_addr #2 { | |
bb: | |
%tmp = bitcast { i8*, i64 }* %arg to { [0 x i8]*, i64 }* | |
ret { [0 x i8]*, i64 }* %tmp | |
} | |
; Function Attrs: alwaysinline nonlazybind uwtable | |
define internal align 8 dereferenceable(24) %struct.spam.28* @blam.536(%struct.wibble* noalias readonly align 8 dereferenceable(24) %arg) unnamed_addr #2 { | |
bb: | |
%tmp = bitcast %struct.wibble* %arg to %struct.spam.28* | |
ret %struct.spam.28* %tmp | |
} | |
; Function Attrs: inlinehint nonlazybind uwtable | |
define internal { i8*, i64 } @wobble.537([0 x i8]* noalias nonnull align 1 %arg, i64 %arg1) unnamed_addr #0 { | |
bb: | |
%0 = bitcast [0 x i8]* %arg to i8* | |
%tmp9 = insertvalue { i8*, i64 } undef, i8* %0, 0 | |
%tmp10 = insertvalue { i8*, i64 } %tmp9, i64 %arg1, 1 | |
ret { i8*, i64 } %tmp10 | |
} | |
; Function Attrs: nonlazybind uwtable | |
define internal void @snork.538(%struct.spam.28* noalias align 8 dereferenceable(24) %arg, i128 %arg1) unnamed_addr #1 personality i32 (i32, i32, i64, %struct.snork.211*, %struct.quux.212*)* @foo.542 { | |
bb: | |
%tmp3 = alloca %struct.eggs.185, align 8 | |
%tmp5 = alloca { i64, { i64, i64 } }, align 8 | |
%tmp8 = alloca %struct.ham, align 1 | |
%tmp7.0.tmp10.sroa_cast = bitcast %struct.ham* %tmp8 to i128* | |
store i128 %arg1, i128* %tmp7.0.tmp10.sroa_cast, align 1 | |
%tmp13 = bitcast { i64, { i64, i64 } }* %tmp5 to i8* | |
call void @llvm.lifetime.start.p0i8(i64 24, i8* %tmp13) | |
invoke void @quux({ i64, { i64, i64 } }* noalias nocapture sret({ i64, { i64, i64 } }) dereferenceable(24) %tmp5, %struct.ham* noalias readonly align 1 dereferenceable(16) %tmp8) | |
to label %bb14 unwind label %bb32 | |
bb14: ; preds = %bb | |
%tmp15 = bitcast { i64, { i64, i64 } }* %tmp5 to i64* | |
%tmp18 = getelementptr inbounds { i64, { i64, i64 } }, { i64, { i64, i64 } }* %tmp5, i32 0, i32 1 | |
%tmp19 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %tmp18, i32 0, i32 0 | |
%tmp20 = load i64, i64* %tmp19, align 8, !range !4 | |
%tmp21 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %tmp18, i32 0, i32 1 | |
%tmp22 = load i64, i64* %tmp21, align 8 | |
call void @llvm.lifetime.end.p0i8(i64 24, i8* %tmp13) | |
%tmp28 = icmp eq i64 %tmp20, 1 | |
br i1 %tmp28, label %bb39, label %bb43 | |
bb32: ; preds = %bb54, %bb51, %bb49, %bb47, %bb45, %bb43, %bb39, %bb | |
%tmp33 = landingpad { i8*, i32 } | |
cleanup | |
%tmp35 = extractvalue { i8*, i32 } %tmp33, 0 | |
%tmp36 = extractvalue { i8*, i32 } %tmp33, 1 | |
resume { i8*, i32 } %tmp33 | |
bb39: ; preds = %bb14 | |
invoke void @bar.427(%struct.spam.28* noalias align 8 dereferenceable(24) %arg, i64 %tmp22) | |
to label %bb45 unwind label %bb32 | |
bb43: ; preds = %bb14 | |
invoke void @wibble.543([0 x i8]* noalias nonnull readonly align 1 bitcast (<{ [17 x i8] }>* @global to [0 x i8]*), i64 17, %struct.zot.29* noalias readonly align 8 dereferenceable(24) bitcast (<{ i8*, [16 x i8] }>* @global.9 to %struct.zot.29*)) #12 | |
to label %bb44 unwind label %bb32 | |
bb44: ; preds = %bb43 | |
unreachable | |
bb45: ; preds = %bb39 | |
%tmp46 = invoke i8* @zot.411(%struct.spam.28* noalias align 8 dereferenceable(24) %arg) | |
to label %bb47 unwind label %bb32 | |
bb47: ; preds = %bb45 | |
%tmp48 = invoke i64 @wobble.422(%struct.spam.28* noalias readonly align 8 dereferenceable(24) %arg) | |
to label %bb49 unwind label %bb32 | |
bb49: ; preds = %bb47 | |
%tmp50 = invoke i8* @wobble.199(i8* %tmp46, i64 %tmp48) | |
to label %bb51 unwind label %bb32 | |
bb51: ; preds = %bb49 | |
%tmp52 = getelementptr inbounds %struct.spam.28, %struct.spam.28* %arg, i32 0, i32 1 | |
%tmp53 = invoke { i64*, i64 } @eggs.378(i64* noalias align 8 dereferenceable(8) %tmp52) | |
to label %bb54 unwind label %bb32 | |
bb54: ; preds = %bb51 | |
%tmp55 = extractvalue { i64*, i64 } %tmp53, 0 | |
%tmp56 = extractvalue { i64*, i64 } %tmp53, 1 | |
%tmp4.sroa.0.0.copyload = load i128, i128* %tmp7.0.tmp10.sroa_cast, align 1 | |
%tmp60 = bitcast %struct.eggs.185* %tmp3 to i8* | |
call void @llvm.lifetime.start.p0i8(i64 24, i8* %tmp60) | |
%tmp61 = bitcast %struct.eggs.185* %tmp3 to i8** | |
store i8* %tmp50, i8** %tmp61, align 8 | |
%tmp62 = getelementptr inbounds %struct.eggs.185, %struct.eggs.185* %tmp3, i32 0, i32 1 | |
%tmp63 = getelementptr inbounds { i64*, i64 }, { i64*, i64 }* %tmp62, i32 0, i32 0 | |
store i64* %tmp55, i64** %tmp63, align 8 | |
%tmp64 = getelementptr inbounds { i64*, i64 }, { i64*, i64 }* %tmp62, i32 0, i32 1 | |
store i64 %tmp56, i64* %tmp64, align 8 | |
invoke void @quux.362(i128 %tmp4.sroa.0.0.copyload, %struct.eggs.185* noalias nocapture dereferenceable(24) %tmp3) | |
to label %bb67 unwind label %bb32 | |
bb67: ; preds = %bb54 | |
call void @llvm.lifetime.end.p0i8(i64 24, i8* %tmp60) | |
ret void | |
} | |
; Function Attrs: nonlazybind uwtable | |
define internal void @pluto.539(%struct.spam.28* noalias align 8 dereferenceable(24) %arg, i8 %arg1) unnamed_addr #1 personality i32 (i32, i32, i64, %struct.snork.211*, %struct.quux.212*)* @foo.542 { | |
bb: | |
%tmp3 = alloca %struct.wobble.187, align 8 | |
%tmp4 = alloca { i64, { i64, i64 } }, align 8 | |
%tmp6 = alloca i8, align 1 | |
store i8 %arg1, i8* %tmp6, align 1 | |
%tmp7 = bitcast { i64, { i64, i64 } }* %tmp4 to i8* | |
call void @llvm.lifetime.start.p0i8(i64 24, i8* %tmp7) | |
invoke void @wombat({ i64, { i64, i64 } }* noalias nocapture sret({ i64, { i64, i64 } }) dereferenceable(24) %tmp4, i8* noalias readonly align 1 dereferenceable(1) %tmp6) | |
to label %bb8 unwind label %bb26 | |
bb8: ; preds = %bb | |
%tmp9 = bitcast { i64, { i64, i64 } }* %tmp4 to i64* | |
%tmp12 = getelementptr inbounds { i64, { i64, i64 } }, { i64, { i64, i64 } }* %tmp4, i32 0, i32 1 | |
%tmp13 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %tmp12, i32 0, i32 0 | |
%tmp14 = load i64, i64* %tmp13, align 8, !range !4 | |
%tmp15 = getelementptr inbounds { i64, i64 }, { i64, i64 }* %tmp12, i32 0, i32 1 | |
%tmp16 = load i64, i64* %tmp15, align 8 | |
call void @llvm.lifetime.end.p0i8(i64 24, i8* %tmp7) | |
%tmp22 = icmp eq i64 %tmp14, 1 | |
br i1 %tmp22, label %bb33, label %bb37 | |
bb26: ; preds = %bb48, %bb45, %bb43, %bb41, %bb39, %bb37, %bb33, %bb | |
%tmp27 = landingpad { i8*, i32 } | |
cleanup | |
%tmp29 = extractvalue { i8*, i32 } %tmp27, 0 | |
%tmp30 = extractvalue { i8*, i32 } %tmp27, 1 | |
resume { i8*, i32 } %tmp27 | |
bb33: ; preds = %bb8 | |
invoke void @bar.427(%struct.spam.28* noalias align 8 dereferenceable(24) %arg, i64 %tmp16) | |
to label %bb39 unwind label %bb26 | |
bb37: ; preds = %bb8 | |
invoke void @wibble.543([0 x i8]* noalias nonnull readonly align 1 bitcast (<{ [17 x i8] }>* @global to [0 x i8]*), i64 17, %struct.zot.29* noalias readonly align 8 dereferenceable(24) bitcast (<{ i8*, [16 x i8] }>* @global.9 to %struct.zot.29*)) #12 | |
to label %bb38 unwind label %bb26 | |
bb38: ; preds = %bb37 | |
unreachable | |
bb39: ; preds = %bb33 | |
%tmp40 = invoke i8* @zot.411(%struct.spam.28* noalias align 8 dereferenceable(24) %arg) | |
to label %bb41 unwind label %bb26 | |
bb41: ; preds = %bb39 | |
%tmp42 = invoke i64 @wobble.422(%struct.spam.28* noalias readonly align 8 dereferenceable(24) %arg) | |
to label %bb43 unwind label %bb26 | |
bb43: ; preds = %bb41 | |
%tmp44 = invoke i8* @wobble.199(i8* %tmp40, i64 %tmp42) | |
to label %bb45 unwind label %bb26 | |
bb45: ; preds = %bb43 | |
%tmp46 = getelementptr inbounds %struct.spam.28, %struct.spam.28* %arg, i32 0, i32 1 | |
%tmp47 = invoke { i64*, i64 } @eggs.378(i64* noalias align 8 dereferenceable(8) %tmp46) | |
to label %bb48 unwind label %bb26 | |
bb48: ; preds = %bb45 | |
%tmp49 = extractvalue { i64*, i64 } %tmp47, 0 | |
%tmp50 = extractvalue { i64*, i64 } %tmp47, 1 | |
%tmp51 = load i8, i8* %tmp6, align 1, !range !5 | |
%tmp52 = bitcast %struct.wobble.187* %tmp3 to i8* | |
call void @llvm.lifetime.start.p0i8(i64 24, i8* %tmp52) | |
%tmp53 = bitcast %struct.wobble.187* %tmp3 to i8** | |
store i8* %tmp44, i8** %tmp53, align 8 | |
%tmp54 = getelementptr inbounds %struct.wobble.187, %struct.wobble.187* %tmp3, i32 0, i32 1 | |
%tmp55 = getelementptr inbounds { i64*, i64 }, { i64*, i64 }* %tmp54, i32 0, i32 0 | |
store i64* %tmp49, i64** %tmp55, align 8 | |
%tmp56 = getelementptr inbounds { i64*, i64 }, { i64*, i64 }* %tmp54, i32 0, i32 1 | |
store i64 %tmp50, i64* %tmp56, align 8 | |
invoke void @ham.363(i8 %tmp51, %struct.wobble.187* noalias nocapture dereferenceable(24) %tmp3) | |
to label %bb57 unwind label %bb26 | |
bb57: ; preds = %bb48 | |
call void @llvm.lifetime.end.p0i8(i64 24, i8* %tmp52) | |
ret void | |
} | |
; Function Attrs: nonlazybind uwtable | |
define hidden void @blam.540(%struct.spam.28* noalias nocapture sret(%struct.spam.28) dereferenceable(24) %arg, i128 %arg1) unnamed_addr #1 { | |
bb: | |
call void @bar(%struct.spam.28* noalias nocapture sret(%struct.spam.28) dereferenceable(24) %arg, i128 %arg1) | |
ret void | |
} | |
; Function Attrs: nonlazybind uwtable | |
define hidden void @snork.541(%struct.spam.28* noalias nocapture sret(%struct.spam.28) dereferenceable(24) %arg, i8 %arg1) unnamed_addr #1 { | |
bb: | |
call void @spam(%struct.spam.28* noalias nocapture sret(%struct.spam.28) dereferenceable(24) %arg, i8 %arg1) | |
ret void | |
} | |
; Function Attrs: argmemonly nofree nosync nounwind willreturn | |
declare void @llvm.lifetime.start.p0i8(i64 immarg, i8* nocapture) #3 | |
; Function Attrs: argmemonly nofree nosync nounwind willreturn | |
declare void @llvm.lifetime.end.p0i8(i64 immarg, i8* nocapture) #3 | |
; Function Attrs: nonlazybind uwtable | |
declare i32 @foo.542(i32, i32, i64, %struct.snork.211*, %struct.quux.212*) unnamed_addr #1 | |
; Function Attrs: cold noinline noreturn nonlazybind uwtable | |
declare void @wibble.543([0 x i8]* noalias nonnull readonly align 1, i64, %struct.zot.29* noalias readonly align 8 dereferenceable(24)) unnamed_addr #4 | |
; Function Attrs: argmemonly nofree nounwind willreturn | |
declare void @llvm.memcpy.p0i8.p0i8.i64(i8* noalias nocapture writeonly, i8* noalias nocapture readonly, i64, i1 immarg) #5 | |
; Function Attrs: nonlazybind uwtable | |
declare hidden { [0 x i8]*, i64 } @barney.544({ i8*, i8* }* noalias readonly align 8 dereferenceable(16)) unnamed_addr #1 | |
; Function Attrs: nofree nosync nounwind readnone willreturn | |
declare i1 @llvm.expect.i1(i1, i1) #6 | |
; Function Attrs: nofree nosync nounwind readnone speculatable willreturn | |
declare i64 @llvm.uadd.sat.i64(i64, i64) #7 | |
; Function Attrs: nofree nosync nounwind readnone speculatable willreturn | |
declare { i64, i1 } @llvm.uadd.with.overflow.i64(i64, i64) #7 | |
; Function Attrs: nonlazybind uwtable | |
declare hidden void @snork.545({ i64*, i64 }* noalias align 8 dereferenceable(16)) unnamed_addr #1 | |
; Function Attrs: nonlazybind uwtable | |
declare hidden void @ham.546({ i64*, i64 }* noalias align 8 dereferenceable(16)) unnamed_addr #1 | |
; Function Attrs: nonlazybind uwtable | |
declare hidden void @widget.547({ i64*, i64 }* noalias align 8 dereferenceable(16)) unnamed_addr #1 | |
; Function Attrs: nonlazybind uwtable | |
declare hidden void @quux.548({ i8*, i64 }* noalias align 8 dereferenceable(16)) unnamed_addr #1 | |
; Function Attrs: nonlazybind uwtable | |
declare hidden void @baz.549({ i16*, i64 }* noalias align 8 dereferenceable(16)) unnamed_addr #1 | |
; Function Attrs: nonlazybind uwtable | |
declare hidden void @baz.550({ i64*, i64 }* noalias align 8 dereferenceable(16)) unnamed_addr #1 | |
; Function Attrs: nonlazybind uwtable | |
declare hidden void @wobble.551(%struct.blam.35* noalias align 8 dereferenceable(32)) unnamed_addr #1 | |
; Function Attrs: nonlazybind uwtable | |
declare hidden void @spam.552({ i8*, i64 }* noalias align 8 dereferenceable(16)) unnamed_addr #1 | |
; Function Attrs: nonlazybind uwtable | |
declare hidden void @ham.553({ i64*, i64 }* noalias align 8 dereferenceable(16)) unnamed_addr #1 | |
; Function Attrs: nonlazybind uwtable | |
declare hidden void @wibble.554({ i64*, i64 }* noalias align 8 dereferenceable(16)) unnamed_addr #1 | |
; Function Attrs: nonlazybind uwtable | |
declare hidden void @quux.555({ i64*, i64 }* noalias align 8 dereferenceable(16)) unnamed_addr #1 | |
; Function Attrs: nonlazybind uwtable | |
declare hidden void @snork.556({ i64*, i64 }* noalias align 8 dereferenceable(16)) unnamed_addr #1 | |
; Function Attrs: nonlazybind uwtable | |
declare hidden void @barney.557({ i64*, i64 }* noalias align 8 dereferenceable(16)) unnamed_addr #1 | |
; Function Attrs: nonlazybind uwtable | |
declare hidden void @pluto.558(i128, %struct.bar.186* noalias nocapture dereferenceable(24)) unnamed_addr #1 | |
; Function Attrs: nonlazybind uwtable | |
declare hidden void @wobble.559(i8, %struct.wobble.188* noalias nocapture dereferenceable(24)) unnamed_addr #1 | |
; Function Attrs: nonlazybind uwtable | |
declare hidden void @wombat.560({ i64*, i64 }*, i64) unnamed_addr #1 | |
; Function Attrs: nonlazybind uwtable | |
declare hidden void @zot.561(i8*, i64) unnamed_addr #1 | |
; Function Attrs: inaccessiblememonly nofree nosync nounwind willreturn | |
declare void @llvm.assume(i1 noundef) #8 | |
; Function Attrs: nonlazybind uwtable | |
declare hidden void @wibble.562({ i8*, i64 }* noalias align 8 dereferenceable(16), i64) unnamed_addr #1 | |
; Function Attrs: nonlazybind uwtable | |
declare hidden { [0 x i8]*, i64 } @quux.563(i8* nonnull, i64, i64) unnamed_addr #1 | |
; Function Attrs: nounwind nonlazybind uwtable | |
declare void @quux.564(i8*, i64, i64) unnamed_addr #9 | |
; Function Attrs: nonlazybind uwtable | |
declare hidden nonnull i8* @foo.565(i8* nonnull) unnamed_addr #1 | |
; Function Attrs: nonlazybind uwtable | |
declare hidden { i8*, i64 } @ham.566(i64, i1 zeroext) unnamed_addr #1 | |
; Function Attrs: nonlazybind uwtable | |
declare hidden zeroext i1 @foo.567({ i8*, i64 }* noalias readonly align 8 dereferenceable(16), i64, i64) unnamed_addr #1 | |
; Function Attrs: cold nonlazybind uwtable | |
declare hidden void @foo.568({ i8*, i64 }* noalias align 8 dereferenceable(16), i64, i64) unnamed_addr #10 | |
; Function Attrs: nonlazybind uwtable | |
declare hidden zeroext i1 @eggs.569({ i8*, i64 }* noalias readonly align 8 dereferenceable(16), i64, i64) unnamed_addr #1 | |
; Function Attrs: cold nonlazybind uwtable | |
declare hidden void @eggs.570({ i8*, i64 }* noalias align 8 dereferenceable(16), i64, i64) unnamed_addr #10 | |
; Function Attrs: nonlazybind uwtable | |
declare hidden zeroext i1 @zot.571({ i64*, i64 }* noalias readonly align 8 dereferenceable(16), i64, i64) unnamed_addr #1 | |
; Function Attrs: cold nonlazybind uwtable | |
declare hidden void @spam.572({ i64*, i64 }* noalias align 8 dereferenceable(16), i64, i64) unnamed_addr #10 | |
; Function Attrs: noinline nonlazybind uwtable | |
declare hidden void @barney.573(i64** noalias align 8 dereferenceable(8)) unnamed_addr #11 | |
; Function Attrs: noinline nonlazybind uwtable | |
declare hidden void @pluto.574(i64** noalias align 8 dereferenceable(8)) unnamed_addr #11 | |
; Function Attrs: noinline nonlazybind uwtable | |
declare hidden void @quux.575(i64** noalias align 8 dereferenceable(8)) unnamed_addr #11 | |
; Function Attrs: noinline nonlazybind uwtable | |
declare hidden void @pluto.576(i64** noalias align 8 dereferenceable(8)) unnamed_addr #11 | |
attributes #0 = { inlinehint nonlazybind uwtable "probe-stack"="__rust_probestack" "target-cpu"="x86-64" } | |
attributes #1 = { nonlazybind uwtable "probe-stack"="__rust_probestack" "target-cpu"="x86-64" } | |
attributes #2 = { alwaysinline nonlazybind uwtable "probe-stack"="__rust_probestack" "target-cpu"="x86-64" } | |
attributes #3 = { argmemonly nofree nosync nounwind willreturn } | |
attributes #4 = { cold noinline noreturn nonlazybind uwtable "probe-stack"="__rust_probestack" "target-cpu"="x86-64" } | |
attributes #5 = { argmemonly nofree nounwind willreturn } | |
attributes #6 = { nofree nosync nounwind readnone willreturn } | |
attributes #7 = { nofree nosync nounwind readnone speculatable willreturn } | |
attributes #8 = { inaccessiblememonly nofree nosync nounwind willreturn } | |
attributes #9 = { nounwind nonlazybind uwtable "probe-stack"="__rust_probestack" "target-cpu"="x86-64" } | |
attributes #10 = { cold nonlazybind uwtable "probe-stack"="__rust_probestack" "target-cpu"="x86-64" } | |
attributes #11 = { noinline nonlazybind uwtable "probe-stack"="__rust_probestack" "target-cpu"="x86-64" } | |
attributes #12 = { noreturn } | |
attributes #13 = { noinline } | |
attributes #14 = { nounwind } | |
!llvm.module.flags = !{!0, !1} | |
!0 = !{i32 7, !"PIC Level", i32 2} | |
!1 = !{i32 2, !"RtLibUseGOT", i32 1} | |
!2 = !{i8 0, i8 10} | |
!3 = !{i8 0, i8 9} | |
!4 = !{i64 0, i64 2} | |
!5 = !{i8 0, i8 8} | |
!6 = !{} | |
!7 = !{i64 0, i64 6} | |
!8 = !{i64 0, i64 3} | |
!9 = !{i32 0, i32 5} | |
!10 = !{i64 1, i64 0} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment