brintos

brintos / llvm-project-archived public Read only

0
0
Text · 20.3 KiB · 6399141 Raw
355 lines · plain
1; RUN: opt < %s -passes='require<iv-users>'2; PR45383 4; ModuleID = 'bugpoint-reduced-simplified.bc'5target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128"6target triple = "x86_64-unknown-freebsd8.0"7module asm ".ident\09\22$FreeBSD: head/sys/kern/vfs_subr.c 195285 2009-07-02 14:19:33Z jamie $\22"8module asm ".section set_pcpu, \22aw\22, @progbits"9module asm ".previous"10	%0 = type <{ [40 x i8] }>		; type %011	%1 = type <{ ptr, ptr }>		; type %112	%2 = type <{ ptr }>		; type %213	%3 = type <{ ptr, ptr }>		; type %314	%4 = type <{ ptr, ptr }>		; type %415	%5 = type <{ ptr }>		; type %516	%6 = type <{ ptr, ptr }>		; type %617	%7 = type <{ ptr, ptr }>		; type %718	%8 = type <{ ptr, ptr }>		; type %819	%9 = type <{ ptr, ptr }>		; type %920	%10 = type <{ ptr }>		; type %1021	%11 = type <{ ptr }>		; type %1122	%12 = type <{ ptr, ptr }>		; type %1223	%13 = type <{ ptr }>		; type %1324	%14 = type <{ ptr, ptr }>		; type %1425	%15 = type <{ ptr, ptr }>		; type %1526	%16 = type <{ ptr, ptr }>		; type %1627	%17 = type <{ ptr, ptr }>		; type %1728	%18 = type <{ ptr, ptr }>		; type %1829	%19 = type <{ ptr }>		; type %1930	%20 = type <{ ptr }>		; type %2031	%21 = type <{ ptr }>		; type %2132	%22 = type <{ ptr, ptr }>		; type %2233	%23 = type <{ ptr, ptr }>		; type %2334	%24 = type <{ ptr, ptr }>		; type %2435	%25 = type <{ ptr, ptr }>		; type %2536	%struct.__siginfo = type <{ i32, i32, i32, i32, i32, i32, ptr, %union.sigval, %0 }>37	%struct.__sigset = type <{ [4 x i32] }>38	%struct.acl = type <{ i32, i32, [4 x i32], [254 x %struct.acl_entry] }>39	%struct.acl_entry = type <{ i32, i32, i32, i16, i16 }>40	%struct.au_mask = type <{ i32, i32 }>41	%struct.au_tid_addr = type <{ i32, i32, [4 x i32] }>42	%struct.auditinfo_addr = type <{ i32, %struct.au_mask, %struct.au_tid_addr, i32, i64 }>43	%struct.bintime = type <{ i64, i64 }>44	%struct.buf = type <{ ptr, i64, ptr, ptr, i32, i8, i8, i8, i8, i64, i64, ptr, i64, i64, %struct.buflists, ptr, ptr, i32, i8, i8, i8, i8, %struct.buflists, i16, i8, i8, i32, i8, i8, i8, i8, i8, i8, i8, i8, %struct.lock, i64, i64, ptr, i32, i8, i8, i8, i8, i64, ptr, i32, i32, ptr, ptr, ptr, %union.pager_info, i8, i8, i8, i8, %union.anon, [32 x ptr], i32, i8, i8, i8, i8, %struct.workhead, ptr, ptr, ptr, i32, i8, i8, i8, i8 }>45	%struct.buf_ops = type <{ ptr, ptr, ptr, ptr, ptr }>46	%struct.buflists = type <{ ptr, ptr }>47	%struct.bufobj = type <{ %struct.mtx, %struct.bufv, %struct.bufv, i64, i32, i8, i8, i8, i8, ptr, i32, i8, i8, i8, i8, ptr, %6, ptr, ptr }>48	%struct.bufv = type <{ %struct.buflists, ptr, i32, i8, i8, i8, i8 }>49	%struct.callout = type <{ %union.anon, i32, i8, i8, i8, i8, ptr, ptr, ptr, i32, i32 }>50	%struct.cdev_privdata = type opaque51	%struct.cluster_save = type <{ i64, i64, ptr, i32, i8, i8, i8, i8, ptr }>52	%struct.componentname = type <{ i64, i64, ptr, ptr, i32, i8, i8, i8, i8, ptr, ptr, i64, i64 }>53	%struct.cpuset = type opaque54	%struct.cv = type <{ ptr, i32, i8, i8, i8, i8 }>55	%struct.fid = type <{ i16, i16, [16 x i8] }>56	%struct.file = type <{ ptr, ptr, ptr, ptr, i16, i16, i32, i32, i32, i64, ptr, i64, ptr }>57	%struct.filedesc = type opaque58	%struct.filedesc_to_leader = type opaque59	%struct.fileops = type <{ ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, i32, i8, i8, i8, i8 }>60	%struct.filterops = type <{ i32, i8, i8, i8, i8, ptr, ptr, ptr }>61	%struct.flock = type <{ i64, i64, i32, i16, i16, i32, i8, i8, i8, i8 }>62	%struct.freelst = type <{ ptr, ptr }>63	%struct.fsid = type <{ [2 x i32] }>64	%struct.in6_addr = type opaque65	%struct.in_addr = type opaque66	%struct.inode = type opaque67	%struct.iovec = type <{ ptr, i64 }>68	%struct.itimers = type opaque69	%struct.itimerval = type <{ %struct.bintime, %struct.bintime }>70	%struct.kaioinfo = type opaque71	%struct.kaudit_record = type opaque72	%struct.kdtrace_proc = type opaque73	%struct.kdtrace_thread = type opaque74	%struct.kevent = type <{ i64, i16, i16, i32, i64, ptr }>75	%struct.klist = type <{ ptr }>76	%struct.knlist = type <{ %struct.klist, ptr, ptr, ptr, ptr, ptr }>77	%struct.knote = type <{ %struct.klist, %struct.klist, ptr, %17, ptr, %struct.kevent, i32, i32, i64, %union.sigval, ptr, ptr }>78	%struct.kqueue = type opaque79	%struct.ksiginfo = type <{ %14, %struct.__siginfo, i32, i8, i8, i8, i8, ptr }>80	%struct.ktr_request = type opaque81	%struct.label = type opaque82	%struct.lock = type <{ %struct.lock_object, i64, i32, i32 }>83	%struct.lock_list_entry = type opaque84	%struct.lock_object = type <{ ptr, i32, i32, ptr }>85	%struct.lock_owner = type opaque86	%struct.lock_profile_object = type opaque87	%struct.lockf = type <{ %23, %struct.mtx, %struct.lockf_entry_list, %struct.lockf_entry_list, i32, i8, i8, i8, i8 }>88	%struct.lockf_edge = type <{ %25, %25, ptr, ptr }>89	%struct.lockf_edge_list = type <{ ptr }>90	%struct.lockf_entry = type <{ i16, i16, i8, i8, i8, i8, i64, i64, ptr, ptr, ptr, ptr, %24, %struct.lockf_edge_list, %struct.lockf_edge_list, i32, i8, i8, i8, i8 }>91	%struct.lockf_entry_list = type <{ ptr }>92	%struct.lpohead = type <{ ptr }>93	%struct.md_page = type <{ %4 }>94	%struct.mdproc = type <{ ptr, %struct.system_segment_descriptor }>95	%struct.mdthread = type <{ i32, i8, i8, i8, i8, i64 }>96	%struct.mntarg = type opaque97	%struct.mntlist = type <{ ptr, ptr }>98	%struct.mount = type <{ %struct.mtx, i32, i8, i8, i8, i8, %struct.mntlist, ptr, ptr, ptr, ptr, i32, i8, i8, i8, i8, %struct.freelst, i32, i32, i32, i32, i32, i32, ptr, ptr, i32, i8, i8, i8, i8, %struct.statfs, ptr, ptr, i64, i32, i8, i8, i8, i8, ptr, ptr, i32, i32, i32, i32, ptr, ptr, %struct.lock }>99	%struct.mqueue_notifier = type opaque100	%struct.mtx = type <{ %struct.lock_object, i64 }>101	%struct.namecache = type opaque102	%struct.netexport = type opaque103	%struct.nlminfo = type opaque104	%struct.osd = type <{ i32, i8, i8, i8, i8, ptr, %12 }>105	%struct.p_sched = type opaque106	%struct.pargs = type <{ i32, i32, [1 x i8], i8, i8, i8 }>107	%struct.pcb = type opaque108	%struct.pgrp = type <{ %16, %13, ptr, %struct.sigiolst, i32, i32, %struct.mtx }>109	%struct.plimit = type opaque110	%struct.pmap = type <{ %struct.mtx, ptr, %15, i32, i8, i8, i8, i8, %struct.bintime, ptr }>111	%struct.prison = type <{ %9, i32, i32, i32, i32, %10, %9, ptr, %struct.mtx, %struct.task, %struct.osd, ptr, ptr, ptr, i32, i32, ptr, ptr, [4 x ptr], i32, i32, i32, i32, i32, [5 x i32], i64, [256 x i8], [1024 x i8], [256 x i8], [256 x i8], [64 x i8] }>112	%struct.proc = type <{ %7, %8, %struct.mtx, ptr, ptr, ptr, ptr, ptr, %struct.callout, ptr, i32, i32, i32, i8, i8, i8, i8, %7, %7, ptr, %7, %13, %struct.mtx, ptr, %struct.sigqueue, i32, i8, i8, i8, i8, ptr, i32, i8, i8, i8, i8, %struct.itimerval, %struct.rusage, %struct.rusage_ext, %struct.rusage_ext, i32, i32, i32, i8, i8, i8, i8, ptr, ptr, ptr, i32, i8, i8, i8, i8, %struct.sigiolst, i32, i32, i64, i32, i32, i8, i8, i8, i8, i8, i8, i8, i8, ptr, ptr, ptr, i32, i8, i8, i8, i8, ptr, i32, i32, ptr, i32, i32, [20 x i8], i8, i8, i8, i8, ptr, ptr, ptr, i64, i8, i8, i8, i8, i32, i16, i8, i8, i8, i8, i8, i8, %struct.knlist, i32, i8, i8, i8, i8, %struct.mdproc, %struct.callout, i16, i8, i8, i8, i8, i8, i8, ptr, ptr, ptr, ptr, ptr, %18, %19, ptr, %struct.cv }>113	%struct.pstats = type opaque114	%struct.pv_chunk = type <{ ptr, %15, [3 x i64], [2 x i64], [168 x %struct.pv_entry] }>115	%struct.pv_entry = type <{ i64, %4 }>116	%struct.rusage = type <{ %struct.bintime, %struct.bintime, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64 }>117	%struct.rusage_ext = type <{ i64, i64, i64, i64, i64, i64, i64 }>118	%struct.selfd = type opaque119	%struct.selfdlist = type <{ ptr, ptr }>120	%struct.selinfo = type <{ %struct.selfdlist, %struct.knlist, ptr }>121	%struct.seltd = type opaque122	%struct.session = type <{ i32, i8, i8, i8, i8, ptr, ptr, ptr, i32, [24 x i8], i8, i8, i8, i8, %struct.mtx }>123	%struct.shmmap_state = type opaque124	%struct.sigacts = type <{ [128 x ptr], [128 x %struct.__sigset], %struct.__sigset, %struct.__sigset, %struct.__sigset, %struct.__sigset, %struct.__sigset, %struct.__sigset, %struct.__sigset, %struct.__sigset, %struct.__sigset, %struct.__sigset, i32, i32, %struct.mtx }>125	%struct.sigaltstack = type <{ ptr, i64, i32, i8, i8, i8, i8 }>126	%struct.sigio = type <{ %union.sigval, %struct.sigiolst, ptr, ptr, i32, i8, i8, i8, i8 }>127	%struct.sigiolst = type <{ ptr }>128	%struct.sigqueue = type <{ %struct.__sigset, %struct.__sigset, %14, ptr, i32, i8, i8, i8, i8 }>129	%struct.sleepqueue = type opaque130	%struct.sockaddr = type opaque131	%struct.stat = type <{ i32, i32, i16, i16, i32, i32, i32, %struct.bintime, %struct.bintime, %struct.bintime, i64, i64, i32, i32, i32, i32, %struct.bintime }>132	%struct.statfs = type <{ i32, i32, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, [10 x i64], i32, i32, %struct.fsid, [80 x i8], [16 x i8], [88 x i8], [88 x i8] }>133	%struct.sysctl_req = type <{ ptr, i32, i8, i8, i8, i8, ptr, i64, i64, ptr, ptr, i64, i64, ptr, i64, i32, i8, i8, i8, i8 }>134	%struct.sysentvec = type opaque135	%struct.system_segment_descriptor = type <{ i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8 }>136	%struct.task = type <{ %11, i16, i16, i8, i8, i8, i8, ptr, ptr }>137	%struct.td_sched = type opaque138	%struct.thread = type <{ ptr, ptr, %8, %8, %8, %8, ptr, ptr, ptr, ptr, ptr, i32, i8, i8, i8, i8, %struct.sigqueue, i32, i32, i32, i32, i32, i8, i8, i8, i8, ptr, ptr, i8, i8, i8, i8, i16, i16, i16, i8, i8, i8, i8, i8, i8, ptr, ptr, %20, ptr, i32, i32, ptr, i32, i32, %struct.rusage, i64, i64, i32, i32, i32, i32, i32, %struct.__sigset, %struct.__sigset, i32, %struct.sigaltstack, i32, i8, i8, i8, i8, i64, i32, [20 x i8], ptr, i32, i32, %struct.osd, i8, i8, i8, i8, i8, i8, i8, i8, ptr, i32, i8, i8, i8, i8, [2 x i64], %struct.callout, ptr, ptr, i64, i32, i8, i8, i8, i8, ptr, i64, i32, i32, %struct.mdthread, ptr, ptr, i32, i8, i8, i8, i8, [2 x %struct.lpohead], ptr, i32, i8, i8, i8, i8, ptr, ptr }>139	%struct.trapframe = type <{ i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i32, i16, i16, i64, i32, i16, i16, i64, i64, i64, i64, i64, i64 }>140	%struct.tty = type opaque141	%struct.turnstile = type opaque142	%struct.ucred = type <{ i32, i32, i32, i32, i32, i32, i32, i8, i8, i8, i8, ptr, ptr, ptr, ptr, i32, i8, i8, i8, i8, [2 x ptr], ptr, %struct.auditinfo_addr, ptr, i32, i8, i8, i8, i8 }>143	%struct.uidinfo = type opaque144	%struct.uio = type <{ ptr, i32, i8, i8, i8, i8, i64, i64, i32, i32, ptr }>145	%struct.umtx_q = type opaque146	%struct.vattr = type <{ i32, i16, i16, i32, i32, i32, i8, i8, i8, i8, i64, i64, i64, %struct.bintime, %struct.bintime, %struct.bintime, %struct.bintime, i64, i64, i32, i8, i8, i8, i8, i64, i64, i32, i8, i8, i8, i8, i64 }>147	%struct.vfsconf = type <{ i32, [16 x i8], i8, i8, i8, i8, ptr, i32, i32, i32, i8, i8, i8, i8, ptr, %struct.vfsconfhead }>148	%struct.vfsconfhead = type <{ ptr, ptr }>149	%struct.vfsops = type <{ ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr }>150	%struct.vfsopt = type <{ %struct.vfsoptlist, ptr, ptr, i32, i32, i32, i8, i8, i8, i8 }>151	%struct.vfsoptdecl = type opaque152	%struct.vfsoptlist = type <{ ptr, ptr }>153	%struct.vimage = type opaque154	%struct.vm_map = type <{ %struct.vm_map_entry, %struct.mtx, %struct.mtx, i32, i8, i8, i8, i8, i64, i32, i8, i8, i8, i8, ptr, ptr, ptr }>155	%struct.vm_map_entry = type <{ ptr, ptr, ptr, ptr, i64, i64, i64, i64, i64, %union.sigval, i64, i32, i8, i8, i8, i8, i32, i8, i8, i8, i8, i64, ptr }>156	%struct.vm_object = type <{ %struct.mtx, %1, %2, %1, %3, ptr, i64, i32, i32, i32, i8, i8, i16, i16, i16, i32, ptr, i64, %1, %5, ptr, ptr, %union.anon, ptr, i64 }>157	%struct.vm_page = type <{ %3, %3, ptr, ptr, ptr, i64, i64, %struct.md_page, i8, i8, i16, i8, i8, i16, i32, i16, i16, i8, i8, i8, i8, i8, i8, i8, i8 }>158	%struct.vm_reserv = type opaque159	%struct.vmspace = type <{ %struct.vm_map, ptr, i64, i64, i64, i64, ptr, ptr, ptr, i32, i8, i8, i8, i8, %struct.pmap }>160	%struct.vnet = type opaque161	%struct.vnode = type <{ i32, i8, i8, i8, i8, ptr, ptr, ptr, ptr, %struct.freelst, %union.sigval, %struct.freelst, i32, i8, i8, i8, i8, %21, %22, ptr, i64, i64, i64, i32, i8, i8, i8, i8, %struct.lock, %struct.mtx, ptr, i32, i32, i64, i64, i32, i8, i8, i8, i8, %struct.freelst, %struct.bufobj, ptr, ptr, ptr }>162	%struct.vnodeop_desc = type <{ ptr, i32, i8, i8, i8, i8, ptr, ptr, i32, i32, i32, i32 }>163	%struct.vop_access_args = type <{ %struct.vop_generic_args, ptr, i32, i8, i8, i8, i8, ptr, ptr }>164	%struct.vop_aclcheck_args = type <{ %struct.vop_generic_args, ptr, i32, i8, i8, i8, i8, ptr, ptr, ptr }>165	%struct.vop_advlock_args = type <{ %struct.vop_generic_args, ptr, ptr, i32, i8, i8, i8, i8, ptr, i32, i8, i8, i8, i8 }>166	%struct.vop_advlockasync_args = type <{ %struct.vop_generic_args, ptr, ptr, i32, i8, i8, i8, i8, ptr, i32, i8, i8, i8, i8, ptr, ptr }>167	%struct.vop_bmap_args = type <{ %struct.vop_generic_args, ptr, i64, ptr, ptr, ptr, ptr }>168	%struct.vop_cachedlookup_args = type <{ %struct.vop_generic_args, ptr, ptr, ptr }>169	%struct.vop_create_args = type <{ %struct.vop_generic_args, ptr, ptr, ptr, ptr }>170	%struct.vop_deleteextattr_args = type <{ %struct.vop_generic_args, ptr, i32, i8, i8, i8, i8, ptr, ptr, ptr }>171	%struct.vop_fsync_args = type <{ %struct.vop_generic_args, ptr, i32, i8, i8, i8, i8, ptr }>172	%struct.vop_generic_args = type <{ ptr }>173	%struct.vop_getattr_args = type <{ %struct.vop_generic_args, ptr, ptr, ptr }>174	%struct.vop_getextattr_args = type <{ %struct.vop_generic_args, ptr, i32, i8, i8, i8, i8, ptr, ptr, ptr, ptr, ptr }>175	%struct.vop_getpages_args = type <{ %struct.vop_generic_args, ptr, ptr, i32, i32, i64 }>176	%struct.vop_getwritemount_args = type <{ %struct.vop_generic_args, ptr, ptr }>177	%struct.vop_inactive_args = type <{ %struct.vop_generic_args, ptr, ptr }>178	%struct.vop_ioctl_args = type <{ %struct.vop_generic_args, ptr, i64, ptr, i32, i8, i8, i8, i8, ptr, ptr }>179	%struct.vop_islocked_args = type <{ %struct.vop_generic_args, ptr }>180	%struct.vop_kqfilter_args = type <{ %struct.vop_generic_args, ptr, ptr }>181	%struct.vop_link_args = type <{ %struct.vop_generic_args, ptr, ptr, ptr }>182	%struct.vop_listextattr_args = type <{ %struct.vop_generic_args, ptr, i32, i8, i8, i8, i8, ptr, ptr, ptr, ptr }>183	%struct.vop_lock1_args = type <{ %struct.vop_generic_args, ptr, i32, i8, i8, i8, i8, ptr, i32, i8, i8, i8, i8 }>184	%struct.vop_open_args = type <{ %struct.vop_generic_args, ptr, i32, i8, i8, i8, i8, ptr, ptr, ptr }>185	%struct.vop_openextattr_args = type <{ %struct.vop_generic_args, ptr, ptr, ptr }>186	%struct.vop_pathconf_args = type <{ %struct.vop_generic_args, ptr, i32, i8, i8, i8, i8, ptr }>187	%struct.vop_putpages_args = type <{ %struct.vop_generic_args, ptr, ptr, i32, i32, ptr, i64 }>188	%struct.vop_read_args = type <{ %struct.vop_generic_args, ptr, ptr, i32, i8, i8, i8, i8, ptr }>189	%struct.vop_readdir_args = type <{ %struct.vop_generic_args, ptr, ptr, ptr, ptr, ptr, ptr }>190	%struct.vop_readlink_args = type <{ %struct.vop_generic_args, ptr, ptr, ptr }>191	%struct.vop_reallocblks_args = type <{ %struct.vop_generic_args, ptr, ptr }>192	%struct.vop_rename_args = type <{ %struct.vop_generic_args, ptr, ptr, ptr, ptr, ptr, ptr }>193	%struct.vop_revoke_args = type <{ %struct.vop_generic_args, ptr, i32, i8, i8, i8, i8 }>194	%struct.vop_setextattr_args = type <{ %struct.vop_generic_args, ptr, i32, i8, i8, i8, i8, ptr, ptr, ptr, ptr }>195	%struct.vop_setlabel_args = type <{ %struct.vop_generic_args, ptr, ptr, ptr, ptr }>196	%struct.vop_strategy_args = type <{ %struct.vop_generic_args, ptr, ptr }>197	%struct.vop_symlink_args = type <{ %struct.vop_generic_args, ptr, ptr, ptr, ptr, ptr }>198	%struct.vop_vector = type <{ ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr }>199	%struct.vop_vptocnp_args = type <{ %struct.vop_generic_args, ptr, ptr, ptr, ptr, ptr }>200	%struct.vop_vptofh_args = type <{ %struct.vop_generic_args, ptr, ptr }>201	%struct.vop_whiteout_args = type <{ %struct.vop_generic_args, ptr, ptr, i32, i8, i8, i8, i8 }>202	%struct.vpollinfo = type <{ %struct.mtx, %struct.selinfo, i16, i16, i8, i8, i8, i8 }>203	%struct.witness = type opaque204	%struct.workhead = type <{ ptr }>205	%struct.worklist = type opaque206	%union.anon = type <{ [16 x i8] }>207	%union.pager_info = type <{ [4 x i8] }>208	%union.sigval = type <{ [8 x i8] }>209 210define i32 @vlrureclaim(ptr %mp, i1 %arg) nounwind {211entry:212	br i1 %arg, label %if.then11, label %do.end213 214if.then11:		; preds = %entry215	br label %do.end216 217do.end:		; preds = %if.then11, %entry218	br label %while.cond.outer219 220while.cond.outer:		; preds = %while.cond.outer.backedge, %do.end221	%count.0.ph = phi i32 [ undef, %do.end ], [ undef, %while.cond.outer.backedge ]		; <i32> [#uses=1]222	br label %while.cond223 224while.cond:		; preds = %next_iter, %while.cond.outer225	%count.0 = phi i32 [ %dec, %next_iter ], [ %count.0.ph, %while.cond.outer ]		; <i32> [#uses=2]226	%cmp21 = icmp eq i32 %count.0, 0		; <i1> [#uses=1]227	br i1 %cmp21, label %do.body288.loopexit4, label %while.body228 229while.body:		; preds = %while.cond230	br label %while.cond27231 232while.cond27:		; preds = %while.body36, %while.body233	br i1 %arg, label %do.body288.loopexit, label %land.rhs234 235land.rhs:		; preds = %while.cond27236	br i1 %arg, label %while.body36, label %while.end237 238while.body36:		; preds = %land.rhs239	br label %while.cond27240 241while.end:		; preds = %land.rhs242	br i1 %arg, label %do.body288.loopexit4, label %do.body46243 244do.body46:		; preds = %while.end245	br i1 %arg, label %if.else64, label %if.then53246 247if.then53:		; preds = %do.body46248	br label %if.end72249 250if.else64:		; preds = %do.body46251	br label %if.end72252 253if.end72:		; preds = %if.else64, %if.then53254	%dec = add i32 %count.0, -1		; <i32> [#uses=2]255	br i1 %arg, label %next_iter, label %if.end111256 257if.end111:		; preds = %if.end72258	br i1 %arg, label %lor.lhs.false, label %do.body145259 260lor.lhs.false:		; preds = %if.end111261	br i1 %arg, label %lor.lhs.false122, label %do.body145262 263lor.lhs.false122:		; preds = %lor.lhs.false264	br i1 %arg, label %lor.lhs.false128, label %do.body145265 266lor.lhs.false128:		; preds = %lor.lhs.false122267	br i1 %arg, label %do.body162, label %land.lhs.true268 269land.lhs.true:		; preds = %lor.lhs.false128270	br i1 %arg, label %do.body145, label %do.body162271 272do.body145:		; preds = %land.lhs.true, %lor.lhs.false122, %lor.lhs.false, %if.end111273	br i1 %arg, label %if.then156, label %next_iter274 275if.then156:		; preds = %do.body145276	br label %next_iter277 278do.body162:		; preds = %land.lhs.true, %lor.lhs.false128279	br i1 %arg, label %if.then173, label %do.end177280 281if.then173:		; preds = %do.body162282	br label %do.end177283 284do.end177:		; preds = %if.then173, %do.body162285	br i1 %arg, label %do.body185, label %if.then182286 287if.then182:		; preds = %do.end177288	br label %next_iter_mntunlocked289 290do.body185:		; preds = %do.end177291	br i1 %arg, label %if.then196, label %do.end202292 293if.then196:		; preds = %do.body185294	br label %do.end202295 296do.end202:		; preds = %if.then196, %do.body185297	br i1 %arg, label %lor.lhs.false207, label %if.then231298 299lor.lhs.false207:		; preds = %do.end202300	br i1 %arg, label %lor.lhs.false214, label %if.then231301 302lor.lhs.false214:		; preds = %lor.lhs.false207303	br i1 %arg, label %do.end236, label %land.lhs.true221304 305land.lhs.true221:		; preds = %lor.lhs.false214306	br i1 %arg, label %if.then231, label %do.end236307 308if.then231:		; preds = %land.lhs.true221, %lor.lhs.false207, %do.end202309	br label %next_iter_mntunlocked310 311do.end236:		; preds = %land.lhs.true221, %lor.lhs.false214312	br label %next_iter_mntunlocked313 314next_iter_mntunlocked:		; preds = %do.end236, %if.then231, %if.then182315	br i1 %arg, label %yield, label %do.body269316 317next_iter:		; preds = %if.then156, %do.body145, %if.end72318	%rem2482 = and i32 %dec, 255		; <i32> [#uses=1]319	%cmp249 = icmp eq i32 %rem2482, 0		; <i1> [#uses=1]320	br i1 %cmp249, label %do.body253, label %while.cond321 322do.body253:		; preds = %next_iter323	br i1 %arg, label %if.then264, label %yield324 325if.then264:		; preds = %do.body253326	br label %yield327 328yield:		; preds = %if.then264, %do.body253, %next_iter_mntunlocked329	br label %do.body269330 331do.body269:		; preds = %yield, %next_iter_mntunlocked332	br i1 %arg, label %if.then280, label %while.cond.outer.backedge333 334if.then280:		; preds = %do.body269335	br label %while.cond.outer.backedge336 337while.cond.outer.backedge:		; preds = %if.then280, %do.body269338	br label %while.cond.outer339 340do.body288.loopexit:		; preds = %while.cond27341	br label %do.body288342 343do.body288.loopexit4:		; preds = %while.end, %while.cond344	br label %do.body288345 346do.body288:		; preds = %do.body288.loopexit4, %do.body288.loopexit347	br i1 %arg, label %if.then299, label %do.end303348 349if.then299:		; preds = %do.body288350	br label %do.end303351 352do.end303:		; preds = %if.then299, %do.body288353	ret i32 undef354}355