Dan Gohman | f2f6ce6 | 2009-09-11 18:01:28 +0000 | [diff] [blame^] | 1 | ; RUN: opt < %s -iv-users |
Dan Gohman | 08d4ec0 | 2009-07-13 22:30:31 +0000 | [diff] [blame] | 2 | ; PR4538 |
| 3 | |
| 4 | ; ModuleID = 'bugpoint-reduced-simplified.bc' |
| 5 | target 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" |
| 6 | target triple = "x86_64-unknown-freebsd8.0" |
| 7 | module asm ".ident\09\22$FreeBSD: head/sys/kern/vfs_subr.c 195285 2009-07-02 14:19:33Z jamie $\22" |
| 8 | module asm ".section set_pcpu, \22aw\22, @progbits" |
| 9 | module asm ".previous" |
| 10 | type <{ [40 x i8] }> ; type %0 |
| 11 | type <{ %struct.vm_object*, %struct.vm_object** }> ; type %1 |
| 12 | type <{ %struct.vm_object* }> ; type %2 |
| 13 | type <{ %struct.vm_page*, %struct.vm_page** }> ; type %3 |
| 14 | type <{ %struct.pv_entry*, %struct.pv_entry** }> ; type %4 |
| 15 | type <{ %struct.vm_reserv* }> ; type %5 |
| 16 | type <{ %struct.bufobj*, %struct.bufobj** }> ; type %6 |
| 17 | type <{ %struct.proc*, %struct.proc** }> ; type %7 |
| 18 | type <{ %struct.thread*, %struct.thread** }> ; type %8 |
| 19 | type <{ %struct.prison*, %struct.prison** }> ; type %9 |
| 20 | type <{ %struct.prison* }> ; type %10 |
| 21 | type <{ %struct.task* }> ; type %11 |
| 22 | type <{ %struct.osd*, %struct.osd** }> ; type %12 |
| 23 | type <{ %struct.proc* }> ; type %13 |
| 24 | type <{ %struct.ksiginfo*, %struct.ksiginfo** }> ; type %14 |
| 25 | type <{ %struct.pv_chunk*, %struct.pv_chunk** }> ; type %15 |
| 26 | type <{ %struct.pgrp*, %struct.pgrp** }> ; type %16 |
| 27 | type <{ %struct.knote*, %struct.knote** }> ; type %17 |
| 28 | type <{ %struct.ktr_request*, %struct.ktr_request** }> ; type %18 |
| 29 | type <{ %struct.mqueue_notifier* }> ; type %19 |
| 30 | type <{ %struct.turnstile* }> ; type %20 |
| 31 | type <{ %struct.namecache* }> ; type %21 |
| 32 | type <{ %struct.namecache*, %struct.namecache** }> ; type %22 |
| 33 | type <{ %struct.lockf*, %struct.lockf** }> ; type %23 |
| 34 | type <{ %struct.lockf_entry*, %struct.lockf_entry** }> ; type %24 |
| 35 | type <{ %struct.lockf_edge*, %struct.lockf_edge** }> ; type %25 |
| 36 | %struct.__siginfo = type <{ i32, i32, i32, i32, i32, i32, i8*, %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 <{ %struct.bufobj*, i64, i8*, i8*, i32, i8, i8, i8, i8, i64, i64, void (%struct.buf*)*, i64, i64, %struct.buflists, %struct.buf*, %struct.buf*, i32, i8, i8, i8, i8, %struct.buflists, i16, i8, i8, i32, i8, i8, i8, i8, i8, i8, i8, i8, %struct.lock, i64, i64, i8*, i32, i8, i8, i8, i8, i64, %struct.vnode*, i32, i32, %struct.ucred*, %struct.ucred*, i8*, %union.pager_info, i8, i8, i8, i8, %union.anon, [32 x %struct.vm_page*], i32, i8, i8, i8, i8, %struct.workhead, i8*, i8*, i8*, i32, i8, i8, i8, i8 }> |
| 45 | %struct.buf_ops = type <{ i8*, i32 (%struct.buf*)*, void (%struct.bufobj*, %struct.buf*)*, i32 (%struct.bufobj*, i32)*, void (%struct.bufobj*, %struct.buf*)* }> |
| 46 | %struct.buflists = type <{ %struct.buf*, %struct.buf** }> |
| 47 | %struct.bufobj = type <{ %struct.mtx, %struct.bufv, %struct.bufv, i64, i32, i8, i8, i8, i8, %struct.buf_ops*, i32, i8, i8, i8, i8, %struct.vm_object*, %6, i8*, %struct.vnode* }> |
| 48 | %struct.bufv = type <{ %struct.buflists, %struct.buf*, i32, i8, i8, i8, i8 }> |
| 49 | %struct.callout = type <{ %union.anon, i32, i8, i8, i8, i8, i8*, void (i8*)*, %struct.lock_object*, i32, i32 }> |
| 50 | %struct.cdev_privdata = type opaque |
| 51 | %struct.cluster_save = type <{ i64, i64, i8*, i32, i8, i8, i8, i8, %struct.buf** }> |
| 52 | %struct.componentname = type <{ i64, i64, %struct.thread*, %struct.ucred*, i32, i8, i8, i8, i8, i8*, i8*, i64, i64 }> |
| 53 | %struct.cpuset = type opaque |
| 54 | %struct.cv = type <{ i8*, i32, i8, i8, i8, i8 }> |
| 55 | %struct.fid = type <{ i16, i16, [16 x i8] }> |
| 56 | %struct.file = type <{ i8*, %struct.fileops*, %struct.ucred*, %struct.vnode*, i16, i16, i32, i32, i32, i64, %struct.cdev_privdata*, i64, i8* }> |
| 57 | %struct.filedesc = type opaque |
| 58 | %struct.filedesc_to_leader = type opaque |
| 59 | %struct.fileops = type <{ i32 (%struct.file*, %struct.uio*, %struct.ucred*, i32, %struct.thread*)*, i32 (%struct.file*, %struct.uio*, %struct.ucred*, i32, %struct.thread*)*, i32 (%struct.file*, i64, %struct.ucred*, %struct.thread*)*, i32 (%struct.file*, i64, i8*, %struct.ucred*, %struct.thread*)*, i32 (%struct.file*, i32, %struct.ucred*, %struct.thread*)*, i32 (%struct.file*, %struct.knote*)*, i32 (%struct.file*, %struct.stat*, %struct.ucred*, %struct.thread*)*, i32 (%struct.file*, %struct.thread*)*, i32, i8, i8, i8, i8 }> |
| 60 | %struct.filterops = type <{ i32, i8, i8, i8, i8, i32 (%struct.knote*)*, void (%struct.knote*)*, i32 (%struct.knote*, i64)* }> |
| 61 | %struct.flock = type <{ i64, i64, i32, i16, i16, i32, i8, i8, i8, i8 }> |
| 62 | %struct.freelst = type <{ %struct.vnode*, %struct.vnode** }> |
| 63 | %struct.fsid = type <{ [2 x i32] }> |
| 64 | %struct.in6_addr = type opaque |
| 65 | %struct.in_addr = type opaque |
| 66 | %struct.inode = type opaque |
| 67 | %struct.iovec = type <{ i8*, i64 }> |
| 68 | %struct.itimers = type opaque |
| 69 | %struct.itimerval = type <{ %struct.bintime, %struct.bintime }> |
| 70 | %struct.kaioinfo = type opaque |
| 71 | %struct.kaudit_record = type opaque |
| 72 | %struct.kdtrace_proc = type opaque |
| 73 | %struct.kdtrace_thread = type opaque |
| 74 | %struct.kevent = type <{ i64, i16, i16, i32, i64, i8* }> |
| 75 | %struct.klist = type <{ %struct.knote* }> |
| 76 | %struct.knlist = type <{ %struct.klist, void (i8*)*, void (i8*)*, void (i8*)*, void (i8*)*, i8* }> |
| 77 | %struct.knote = type <{ %struct.klist, %struct.klist, %struct.knlist*, %17, %struct.kqueue*, %struct.kevent, i32, i32, i64, %union.sigval, %struct.filterops*, i8* }> |
| 78 | %struct.kqueue = type opaque |
| 79 | %struct.ksiginfo = type <{ %14, %struct.__siginfo, i32, i8, i8, i8, i8, %struct.sigqueue* }> |
| 80 | %struct.ktr_request = type opaque |
| 81 | %struct.label = type opaque |
| 82 | %struct.lock = type <{ %struct.lock_object, i64, i32, i32 }> |
| 83 | %struct.lock_list_entry = type opaque |
| 84 | %struct.lock_object = type <{ i8*, i32, i32, %struct.witness* }> |
| 85 | %struct.lock_owner = type opaque |
| 86 | %struct.lock_profile_object = type opaque |
| 87 | %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, %struct.lockf_entry*, %struct.lockf_entry* }> |
| 89 | %struct.lockf_edge_list = type <{ %struct.lockf_edge* }> |
| 90 | %struct.lockf_entry = type <{ i16, i16, i8, i8, i8, i8, i64, i64, %struct.lock_owner*, %struct.vnode*, %struct.inode*, %struct.task*, %24, %struct.lockf_edge_list, %struct.lockf_edge_list, i32, i8, i8, i8, i8 }> |
| 91 | %struct.lockf_entry_list = type <{ %struct.lockf_entry* }> |
| 92 | %struct.lpohead = type <{ %struct.lock_profile_object* }> |
| 93 | %struct.md_page = type <{ %4 }> |
| 94 | %struct.mdproc = type <{ %struct.cv*, %struct.system_segment_descriptor }> |
| 95 | %struct.mdthread = type <{ i32, i8, i8, i8, i8, i64 }> |
| 96 | %struct.mntarg = type opaque |
| 97 | %struct.mntlist = type <{ %struct.mount*, %struct.mount** }> |
| 98 | %struct.mount = type <{ %struct.mtx, i32, i8, i8, i8, i8, %struct.mntlist, %struct.vfsops*, %struct.vfsconf*, %struct.vnode*, %struct.vnode*, i32, i8, i8, i8, i8, %struct.freelst, i32, i32, i32, i32, i32, i32, %struct.vfsoptlist*, %struct.vfsoptlist*, i32, i8, i8, i8, i8, %struct.statfs, %struct.ucred*, i8*, i64, i32, i8, i8, i8, i8, %struct.netexport*, %struct.label*, i32, i32, i32, i32, %struct.thread*, i8*, %struct.lock }> |
| 99 | %struct.mqueue_notifier = type opaque |
| 100 | %struct.mtx = type <{ %struct.lock_object, i64 }> |
| 101 | %struct.namecache = type opaque |
| 102 | %struct.netexport = type opaque |
| 103 | %struct.nlminfo = type opaque |
| 104 | %struct.osd = type <{ i32, i8, i8, i8, i8, i8**, %12 }> |
| 105 | %struct.p_sched = type opaque |
| 106 | %struct.pargs = type <{ i32, i32, [1 x i8], i8, i8, i8 }> |
| 107 | %struct.pcb = type opaque |
| 108 | %struct.pgrp = type <{ %16, %13, %struct.session*, %struct.sigiolst, i32, i32, %struct.mtx }> |
| 109 | %struct.plimit = type opaque |
| 110 | %struct.pmap = type <{ %struct.mtx, i64*, %15, i32, i8, i8, i8, i8, %struct.bintime, %struct.vm_page* }> |
| 111 | %struct.prison = type <{ %9, i32, i32, i32, i32, %10, %9, %struct.prison*, %struct.mtx, %struct.task, %struct.osd, %struct.cpuset*, %struct.vnet*, %struct.vnode*, i32, i32, %struct.in_addr*, %struct.in6_addr*, [4 x i8*], 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, %struct.ucred*, %struct.filedesc*, %struct.filedesc_to_leader*, %struct.pstats*, %struct.plimit*, %struct.callout, %struct.sigacts*, i32, i32, i32, i8, i8, i8, i8, %7, %7, %struct.proc*, %7, %13, %struct.mtx, %struct.ksiginfo*, %struct.sigqueue, i32, i8, i8, i8, i8, %struct.vmspace*, i32, i8, i8, i8, i8, %struct.itimerval, %struct.rusage, %struct.rusage_ext, %struct.rusage_ext, i32, i32, i32, i8, i8, i8, i8, %struct.vnode*, %struct.ucred*, %struct.vnode*, i32, i8, i8, i8, i8, %struct.sigiolst, i32, i32, i64, i32, i32, i8, i8, i8, i8, i8, i8, i8, i8, %struct.nlminfo*, %struct.kaioinfo*, %struct.thread*, i32, i8, i8, i8, i8, %struct.thread*, i32, i32, %struct.itimers*, i32, i32, [20 x i8], i8, i8, i8, i8, %struct.pgrp*, %struct.sysentvec*, %struct.pargs*, 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, %struct.proc*, %struct.proc*, i8*, %struct.label*, %struct.p_sched*, %18, %19, %struct.kdtrace_proc*, %struct.cv }> |
| 113 | %struct.pstats = type opaque |
| 114 | %struct.pv_chunk = type <{ %struct.pmap*, %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 opaque |
| 119 | %struct.selfdlist = type <{ %struct.selfd*, %struct.selfd** }> |
| 120 | %struct.selinfo = type <{ %struct.selfdlist, %struct.knlist, %struct.mtx* }> |
| 121 | %struct.seltd = type opaque |
| 122 | %struct.session = type <{ i32, i8, i8, i8, i8, %struct.proc*, %struct.vnode*, %struct.tty*, i32, [24 x i8], i8, i8, i8, i8, %struct.mtx }> |
| 123 | %struct.shmmap_state = type opaque |
| 124 | %struct.sigacts = type <{ [128 x void (i32)*], [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 <{ i8*, i64, i32, i8, i8, i8, i8 }> |
| 126 | %struct.sigio = type <{ %union.sigval, %struct.sigiolst, %struct.sigio**, %struct.ucred*, i32, i8, i8, i8, i8 }> |
| 127 | %struct.sigiolst = type <{ %struct.sigio* }> |
| 128 | %struct.sigqueue = type <{ %struct.__sigset, %struct.__sigset, %14, %struct.proc*, i32, i8, i8, i8, i8 }> |
| 129 | %struct.sleepqueue = type opaque |
| 130 | %struct.sockaddr = type opaque |
| 131 | %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 <{ %struct.thread*, i32, i8, i8, i8, i8, i8*, i64, i64, i32 (%struct.sysctl_req*, i8*, i64)*, i8*, i64, i64, i32 (%struct.sysctl_req*, i8*, i64)*, i64, i32, i8, i8, i8, i8 }> |
| 134 | %struct.sysentvec = type opaque |
| 135 | %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, void (i8*, i32)*, i8* }> |
| 137 | %struct.td_sched = type opaque |
| 138 | %struct.thread = type <{ %struct.mtx*, %struct.proc*, %8, %8, %8, %8, %struct.cpuset*, %struct.seltd*, %struct.sleepqueue*, %struct.turnstile*, %struct.umtx_q*, i32, i8, i8, i8, i8, %struct.sigqueue, i32, i32, i32, i32, i32, i8, i8, i8, i8, i8*, i8*, i8, i8, i8, i8, i16, i16, i16, i8, i8, i8, i8, i8, i8, %struct.turnstile*, i8*, %20, %struct.lock_list_entry*, i32, i32, %struct.ucred*, 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], %struct.file*, i32, i32, %struct.osd, i8, i8, i8, i8, i8, i8, i8, i8, %struct.pcb*, i32, i8, i8, i8, i8, [2 x i64], %struct.callout, %struct.trapframe*, %struct.vm_object*, i64, i32, i8, i8, i8, i8, %struct.vm_object*, i64, i32, i32, %struct.mdthread, %struct.td_sched*, %struct.kaudit_record*, i32, i8, i8, i8, i8, [2 x %struct.lpohead], %struct.kdtrace_thread*, i32, i8, i8, i8, i8, %struct.vnet*, i8* }> |
| 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 opaque |
| 141 | %struct.turnstile = type opaque |
| 142 | %struct.ucred = type <{ i32, i32, i32, i32, i32, i32, i32, i8, i8, i8, i8, %struct.uidinfo*, %struct.uidinfo*, %struct.prison*, %struct.vimage*, i32, i8, i8, i8, i8, [2 x i8*], %struct.label*, %struct.auditinfo_addr, i32*, i32, i8, i8, i8, i8 }> |
| 143 | %struct.uidinfo = type opaque |
| 144 | %struct.uio = type <{ %struct.iovec*, i32, i8, i8, i8, i8, i64, i64, i32, i32, %struct.thread* }> |
| 145 | %struct.umtx_q = type opaque |
| 146 | %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, %struct.vfsops*, i32, i32, i32, i8, i8, i8, i8, %struct.vfsoptdecl*, %struct.vfsconfhead }> |
| 148 | %struct.vfsconfhead = type <{ %struct.vfsconf*, %struct.vfsconf** }> |
| 149 | %struct.vfsops = type <{ i32 (%struct.mount*)*, i32 (%struct.mntarg*, i8*, i32)*, i32 (%struct.mount*, i32)*, i32 (%struct.mount*, i32, %struct.vnode**)*, i32 (%struct.mount*, i32, i32, i8*)*, i32 (%struct.mount*, %struct.statfs*)*, i32 (%struct.mount*, i32)*, i32 (%struct.mount*, i32, i32, %struct.vnode**)*, i32 (%struct.mount*, %struct.fid*, %struct.vnode**)*, i32 (%struct.mount*, %struct.sockaddr*, i32*, %struct.ucred**, i32*, i32**)*, i32 (%struct.vfsconf*)*, i32 (%struct.vfsconf*)*, i32 (%struct.mount*, i32, %struct.vnode*, i32, i8*)*, i32 (%struct.mount*, i32, %struct.sysctl_req*)*, void (%struct.mount*)* }> |
| 150 | %struct.vfsopt = type <{ %struct.vfsoptlist, i8*, i8*, i32, i32, i32, i8, i8, i8, i8 }> |
| 151 | %struct.vfsoptdecl = type opaque |
| 152 | %struct.vfsoptlist = type <{ %struct.vfsopt*, %struct.vfsopt** }> |
| 153 | %struct.vimage = type opaque |
| 154 | %struct.vm_map = type <{ %struct.vm_map_entry, %struct.mtx, %struct.mtx, i32, i8, i8, i8, i8, i64, i32, i8, i8, i8, i8, %struct.vm_map_entry*, %struct.pmap*, %struct.vm_map_entry* }> |
| 155 | %struct.vm_map_entry = type <{ %struct.vm_map_entry*, %struct.vm_map_entry*, %struct.vm_map_entry*, %struct.vm_map_entry*, i64, i64, i64, i64, i64, %union.sigval, i64, i32, i8, i8, i8, i8, i32, i8, i8, i8, i8, i64, %struct.uidinfo* }> |
| 156 | %struct.vm_object = type <{ %struct.mtx, %1, %2, %1, %3, %struct.vm_page*, i64, i32, i32, i32, i8, i8, i16, i16, i16, i32, %struct.vm_object*, i64, %1, %5, %struct.vm_page*, i8*, %union.anon, %struct.uidinfo*, i64 }> |
| 157 | %struct.vm_page = type <{ %3, %3, %struct.vm_page*, %struct.vm_page*, %struct.vm_object*, 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 opaque |
| 159 | %struct.vmspace = type <{ %struct.vm_map, %struct.shmmap_state*, i64, i64, i64, i64, i8*, i8*, i8*, i32, i8, i8, i8, i8, %struct.pmap }> |
| 160 | %struct.vnet = type opaque |
| 161 | %struct.vnode = type <{ i32, i8, i8, i8, i8, i8*, %struct.vop_vector*, i8*, %struct.mount*, %struct.freelst, %union.sigval, %struct.freelst, i32, i8, i8, i8, i8, %21, %22, %struct.namecache*, i64, i64, i64, i32, i8, i8, i8, i8, %struct.lock, %struct.mtx, %struct.lock*, i32, i32, i64, i64, i32, i8, i8, i8, i8, %struct.freelst, %struct.bufobj, %struct.vpollinfo*, %struct.label*, %struct.lockf* }> |
| 162 | %struct.vnodeop_desc = type <{ i8*, i32, i8, i8, i8, i8, i32 (%struct.vop_generic_args*)*, i32*, i32, i32, i32, i32 }> |
| 163 | %struct.vop_access_args = type <{ %struct.vop_generic_args, %struct.vnode*, i32, i8, i8, i8, i8, %struct.ucred*, %struct.thread* }> |
| 164 | %struct.vop_aclcheck_args = type <{ %struct.vop_generic_args, %struct.vnode*, i32, i8, i8, i8, i8, %struct.acl*, %struct.ucred*, %struct.thread* }> |
| 165 | %struct.vop_advlock_args = type <{ %struct.vop_generic_args, %struct.vnode*, i8*, i32, i8, i8, i8, i8, %struct.flock*, i32, i8, i8, i8, i8 }> |
| 166 | %struct.vop_advlockasync_args = type <{ %struct.vop_generic_args, %struct.vnode*, i8*, i32, i8, i8, i8, i8, %struct.flock*, i32, i8, i8, i8, i8, %struct.task*, i8** }> |
| 167 | %struct.vop_bmap_args = type <{ %struct.vop_generic_args, %struct.vnode*, i64, %struct.bufobj**, i64*, i32*, i32* }> |
| 168 | %struct.vop_cachedlookup_args = type <{ %struct.vop_generic_args, %struct.vnode*, %struct.vnode**, %struct.componentname* }> |
| 169 | %struct.vop_create_args = type <{ %struct.vop_generic_args, %struct.vnode*, %struct.vnode**, %struct.componentname*, %struct.vattr* }> |
| 170 | %struct.vop_deleteextattr_args = type <{ %struct.vop_generic_args, %struct.vnode*, i32, i8, i8, i8, i8, i8*, %struct.ucred*, %struct.thread* }> |
| 171 | %struct.vop_fsync_args = type <{ %struct.vop_generic_args, %struct.vnode*, i32, i8, i8, i8, i8, %struct.thread* }> |
| 172 | %struct.vop_generic_args = type <{ %struct.vnodeop_desc* }> |
| 173 | %struct.vop_getattr_args = type <{ %struct.vop_generic_args, %struct.vnode*, %struct.vattr*, %struct.ucred* }> |
| 174 | %struct.vop_getextattr_args = type <{ %struct.vop_generic_args, %struct.vnode*, i32, i8, i8, i8, i8, i8*, %struct.uio*, i64*, %struct.ucred*, %struct.thread* }> |
| 175 | %struct.vop_getpages_args = type <{ %struct.vop_generic_args, %struct.vnode*, %struct.vm_page**, i32, i32, i64 }> |
| 176 | %struct.vop_getwritemount_args = type <{ %struct.vop_generic_args, %struct.vnode*, %struct.mount** }> |
| 177 | %struct.vop_inactive_args = type <{ %struct.vop_generic_args, %struct.vnode*, %struct.thread* }> |
| 178 | %struct.vop_ioctl_args = type <{ %struct.vop_generic_args, %struct.vnode*, i64, i8*, i32, i8, i8, i8, i8, %struct.ucred*, %struct.thread* }> |
| 179 | %struct.vop_islocked_args = type <{ %struct.vop_generic_args, %struct.vnode* }> |
| 180 | %struct.vop_kqfilter_args = type <{ %struct.vop_generic_args, %struct.vnode*, %struct.knote* }> |
| 181 | %struct.vop_link_args = type <{ %struct.vop_generic_args, %struct.vnode*, %struct.vnode*, %struct.componentname* }> |
| 182 | %struct.vop_listextattr_args = type <{ %struct.vop_generic_args, %struct.vnode*, i32, i8, i8, i8, i8, %struct.uio*, i64*, %struct.ucred*, %struct.thread* }> |
| 183 | %struct.vop_lock1_args = type <{ %struct.vop_generic_args, %struct.vnode*, i32, i8, i8, i8, i8, i8*, i32, i8, i8, i8, i8 }> |
| 184 | %struct.vop_open_args = type <{ %struct.vop_generic_args, %struct.vnode*, i32, i8, i8, i8, i8, %struct.ucred*, %struct.thread*, %struct.file* }> |
| 185 | %struct.vop_openextattr_args = type <{ %struct.vop_generic_args, %struct.vnode*, %struct.ucred*, %struct.thread* }> |
| 186 | %struct.vop_pathconf_args = type <{ %struct.vop_generic_args, %struct.vnode*, i32, i8, i8, i8, i8, i64* }> |
| 187 | %struct.vop_putpages_args = type <{ %struct.vop_generic_args, %struct.vnode*, %struct.vm_page**, i32, i32, i32*, i64 }> |
| 188 | %struct.vop_read_args = type <{ %struct.vop_generic_args, %struct.vnode*, %struct.uio*, i32, i8, i8, i8, i8, %struct.ucred* }> |
| 189 | %struct.vop_readdir_args = type <{ %struct.vop_generic_args, %struct.vnode*, %struct.uio*, %struct.ucred*, i32*, i32*, i64** }> |
| 190 | %struct.vop_readlink_args = type <{ %struct.vop_generic_args, %struct.vnode*, %struct.uio*, %struct.ucred* }> |
| 191 | %struct.vop_reallocblks_args = type <{ %struct.vop_generic_args, %struct.vnode*, %struct.cluster_save* }> |
| 192 | %struct.vop_rename_args = type <{ %struct.vop_generic_args, %struct.vnode*, %struct.vnode*, %struct.componentname*, %struct.vnode*, %struct.vnode*, %struct.componentname* }> |
| 193 | %struct.vop_revoke_args = type <{ %struct.vop_generic_args, %struct.vnode*, i32, i8, i8, i8, i8 }> |
| 194 | %struct.vop_setextattr_args = type <{ %struct.vop_generic_args, %struct.vnode*, i32, i8, i8, i8, i8, i8*, %struct.uio*, %struct.ucred*, %struct.thread* }> |
| 195 | %struct.vop_setlabel_args = type <{ %struct.vop_generic_args, %struct.vnode*, %struct.label*, %struct.ucred*, %struct.thread* }> |
| 196 | %struct.vop_strategy_args = type <{ %struct.vop_generic_args, %struct.vnode*, %struct.buf* }> |
| 197 | %struct.vop_symlink_args = type <{ %struct.vop_generic_args, %struct.vnode*, %struct.vnode**, %struct.componentname*, %struct.vattr*, i8* }> |
| 198 | %struct.vop_vector = type <{ %struct.vop_vector*, i32 (%struct.vop_generic_args*)*, i32 (%struct.vop_islocked_args*)*, i32 (%struct.vop_cachedlookup_args*)*, i32 (%struct.vop_cachedlookup_args*)*, i32 (%struct.vop_create_args*)*, i32 (%struct.vop_whiteout_args*)*, i32 (%struct.vop_create_args*)*, i32 (%struct.vop_open_args*)*, i32 (%struct.vop_access_args*)*, i32 (%struct.vop_access_args*)*, i32 (%struct.vop_access_args*)*, i32 (%struct.vop_getattr_args*)*, i32 (%struct.vop_getattr_args*)*, i32 (%struct.vop_islocked_args*)*, i32 (%struct.vop_read_args*)*, i32 (%struct.vop_read_args*)*, i32 (%struct.vop_ioctl_args*)*, i32 (%struct.vop_access_args*)*, i32 (%struct.vop_kqfilter_args*)*, i32 (%struct.vop_revoke_args*)*, i32 (%struct.vop_fsync_args*)*, i32 (%struct.vop_link_args*)*, i32 (%struct.vop_link_args*)*, i32 (%struct.vop_rename_args*)*, i32 (%struct.vop_create_args*)*, i32 (%struct.vop_link_args*)*, i32 (%struct.vop_symlink_args*)*, i32 (%struct.vop_readdir_args*)*, i32 (%struct.vop_readlink_args*)*, i32 (%struct.vop_inactive_args*)*, i32 (%struct.vop_inactive_args*)*, i32 (%struct.vop_lock1_args*)*, i32 (%struct.vop_revoke_args*)*, i32 (%struct.vop_bmap_args*)*, i32 (%struct.vop_strategy_args*)*, i32 (%struct.vop_getwritemount_args*)*, i32 (%struct.vop_islocked_args*)*, i32 (%struct.vop_pathconf_args*)*, i32 (%struct.vop_advlock_args*)*, i32 (%struct.vop_advlockasync_args*)*, i32 (%struct.vop_reallocblks_args*)*, i32 (%struct.vop_getpages_args*)*, i32 (%struct.vop_putpages_args*)*, i32 (%struct.vop_aclcheck_args*)*, i32 (%struct.vop_aclcheck_args*)*, i32 (%struct.vop_aclcheck_args*)*, i32 (%struct.vop_access_args*)*, i32 (%struct.vop_getextattr_args*)*, i32 (%struct.vop_listextattr_args*)*, i32 (%struct.vop_openextattr_args*)*, i32 (%struct.vop_deleteextattr_args*)*, i32 (%struct.vop_setextattr_args*)*, i32 (%struct.vop_setlabel_args*)*, i32 (%struct.vop_vptofh_args*)*, i32 (%struct.vop_vptocnp_args*)* }> |
| 199 | %struct.vop_vptocnp_args = type <{ %struct.vop_generic_args, %struct.vnode*, %struct.vnode**, %struct.ucred*, i8*, i32* }> |
| 200 | %struct.vop_vptofh_args = type <{ %struct.vop_generic_args, %struct.vnode*, %struct.fid* }> |
| 201 | %struct.vop_whiteout_args = type <{ %struct.vop_generic_args, %struct.vnode*, %struct.componentname*, i32, i8, i8, i8, i8 }> |
| 202 | %struct.vpollinfo = type <{ %struct.mtx, %struct.selinfo, i16, i16, i8, i8, i8, i8 }> |
| 203 | %struct.witness = type opaque |
| 204 | %struct.workhead = type <{ %struct.worklist* }> |
| 205 | %struct.worklist = type opaque |
| 206 | %union.anon = type <{ [16 x i8] }> |
| 207 | %union.pager_info = type <{ [4 x i8] }> |
| 208 | %union.sigval = type <{ [8 x i8] }> |
| 209 | |
| 210 | define i32 @vlrureclaim(%struct.mount* %mp) nounwind { |
| 211 | entry: |
| 212 | br i1 undef, label %if.then11, label %do.end |
| 213 | |
| 214 | if.then11: ; preds = %entry |
| 215 | br label %do.end |
| 216 | |
| 217 | do.end: ; preds = %if.then11, %entry |
| 218 | br label %while.cond.outer |
| 219 | |
| 220 | while.cond.outer: ; preds = %while.cond.outer.backedge, %do.end |
| 221 | %count.0.ph = phi i32 [ undef, %do.end ], [ undef, %while.cond.outer.backedge ] ; <i32> [#uses=1] |
| 222 | br label %while.cond |
| 223 | |
| 224 | while.cond: ; preds = %next_iter, %while.cond.outer |
| 225 | %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.body |
| 228 | |
| 229 | while.body: ; preds = %while.cond |
| 230 | br label %while.cond27 |
| 231 | |
| 232 | while.cond27: ; preds = %while.body36, %while.body |
| 233 | br i1 undef, label %do.body288.loopexit, label %land.rhs |
| 234 | |
| 235 | land.rhs: ; preds = %while.cond27 |
| 236 | br i1 undef, label %while.body36, label %while.end |
| 237 | |
| 238 | while.body36: ; preds = %land.rhs |
| 239 | br label %while.cond27 |
| 240 | |
| 241 | while.end: ; preds = %land.rhs |
| 242 | br i1 undef, label %do.body288.loopexit4, label %do.body46 |
| 243 | |
| 244 | do.body46: ; preds = %while.end |
| 245 | br i1 undef, label %if.else64, label %if.then53 |
| 246 | |
| 247 | if.then53: ; preds = %do.body46 |
| 248 | br label %if.end72 |
| 249 | |
| 250 | if.else64: ; preds = %do.body46 |
| 251 | br label %if.end72 |
| 252 | |
| 253 | if.end72: ; preds = %if.else64, %if.then53 |
| 254 | %dec = add i32 %count.0, -1 ; <i32> [#uses=2] |
| 255 | br i1 undef, label %next_iter, label %if.end111 |
| 256 | |
| 257 | if.end111: ; preds = %if.end72 |
| 258 | br i1 undef, label %lor.lhs.false, label %do.body145 |
| 259 | |
| 260 | lor.lhs.false: ; preds = %if.end111 |
| 261 | br i1 undef, label %lor.lhs.false122, label %do.body145 |
| 262 | |
| 263 | lor.lhs.false122: ; preds = %lor.lhs.false |
| 264 | br i1 undef, label %lor.lhs.false128, label %do.body145 |
| 265 | |
| 266 | lor.lhs.false128: ; preds = %lor.lhs.false122 |
| 267 | br i1 undef, label %do.body162, label %land.lhs.true |
| 268 | |
| 269 | land.lhs.true: ; preds = %lor.lhs.false128 |
| 270 | br i1 undef, label %do.body145, label %do.body162 |
| 271 | |
| 272 | do.body145: ; preds = %land.lhs.true, %lor.lhs.false122, %lor.lhs.false, %if.end111 |
| 273 | br i1 undef, label %if.then156, label %next_iter |
| 274 | |
| 275 | if.then156: ; preds = %do.body145 |
| 276 | br label %next_iter |
| 277 | |
| 278 | do.body162: ; preds = %land.lhs.true, %lor.lhs.false128 |
| 279 | br i1 undef, label %if.then173, label %do.end177 |
| 280 | |
| 281 | if.then173: ; preds = %do.body162 |
| 282 | br label %do.end177 |
| 283 | |
| 284 | do.end177: ; preds = %if.then173, %do.body162 |
| 285 | br i1 undef, label %do.body185, label %if.then182 |
| 286 | |
| 287 | if.then182: ; preds = %do.end177 |
| 288 | br label %next_iter_mntunlocked |
| 289 | |
| 290 | do.body185: ; preds = %do.end177 |
| 291 | br i1 undef, label %if.then196, label %do.end202 |
| 292 | |
| 293 | if.then196: ; preds = %do.body185 |
| 294 | br label %do.end202 |
| 295 | |
| 296 | do.end202: ; preds = %if.then196, %do.body185 |
| 297 | br i1 undef, label %lor.lhs.false207, label %if.then231 |
| 298 | |
| 299 | lor.lhs.false207: ; preds = %do.end202 |
| 300 | br i1 undef, label %lor.lhs.false214, label %if.then231 |
| 301 | |
| 302 | lor.lhs.false214: ; preds = %lor.lhs.false207 |
| 303 | br i1 undef, label %do.end236, label %land.lhs.true221 |
| 304 | |
| 305 | land.lhs.true221: ; preds = %lor.lhs.false214 |
| 306 | br i1 undef, label %if.then231, label %do.end236 |
| 307 | |
| 308 | if.then231: ; preds = %land.lhs.true221, %lor.lhs.false207, %do.end202 |
| 309 | br label %next_iter_mntunlocked |
| 310 | |
| 311 | do.end236: ; preds = %land.lhs.true221, %lor.lhs.false214 |
| 312 | br label %next_iter_mntunlocked |
| 313 | |
| 314 | next_iter_mntunlocked: ; preds = %do.end236, %if.then231, %if.then182 |
| 315 | br i1 undef, label %yield, label %do.body269 |
| 316 | |
| 317 | next_iter: ; preds = %if.then156, %do.body145, %if.end72 |
| 318 | %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.cond |
| 321 | |
| 322 | do.body253: ; preds = %next_iter |
| 323 | br i1 undef, label %if.then264, label %yield |
| 324 | |
| 325 | if.then264: ; preds = %do.body253 |
| 326 | br label %yield |
| 327 | |
| 328 | yield: ; preds = %if.then264, %do.body253, %next_iter_mntunlocked |
| 329 | br label %do.body269 |
| 330 | |
| 331 | do.body269: ; preds = %yield, %next_iter_mntunlocked |
| 332 | br i1 undef, label %if.then280, label %while.cond.outer.backedge |
| 333 | |
| 334 | if.then280: ; preds = %do.body269 |
| 335 | br label %while.cond.outer.backedge |
| 336 | |
| 337 | while.cond.outer.backedge: ; preds = %if.then280, %do.body269 |
| 338 | br label %while.cond.outer |
| 339 | |
| 340 | do.body288.loopexit: ; preds = %while.cond27 |
| 341 | br label %do.body288 |
| 342 | |
| 343 | do.body288.loopexit4: ; preds = %while.end, %while.cond |
| 344 | br label %do.body288 |
| 345 | |
| 346 | do.body288: ; preds = %do.body288.loopexit4, %do.body288.loopexit |
| 347 | br i1 undef, label %if.then299, label %do.end303 |
| 348 | |
| 349 | if.then299: ; preds = %do.body288 |
| 350 | br label %do.end303 |
| 351 | |
| 352 | do.end303: ; preds = %if.then299, %do.body288 |
| 353 | ret i32 undef |
| 354 | } |