aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDan Gohman <gohman@apple.com>2009-07-13 22:30:31 +0000
committerDan Gohman <gohman@apple.com>2009-07-13 22:30:31 +0000
commit08d4ec0b20fd8a6226bb3213c1f8f5ebd3ea2f89 (patch)
treeefce62feb8b06e0094f9ed455dcdba58da588f0c
parente2959dc2b1bf6b0200208050ca0e33930fd2478d (diff)
downloadexternal_llvm-08d4ec0b20fd8a6226bb3213c1f8f5ebd3ea2f89.zip
external_llvm-08d4ec0b20fd8a6226bb3213c1f8f5ebd3ea2f89.tar.gz
external_llvm-08d4ec0b20fd8a6226bb3213c1f8f5ebd3ea2f89.tar.bz2
Add testcases for PR4538, PR4537, and PR4534.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75533 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--test/Analysis/ScalarEvolution/avoid-infinite-recursion-0.ll30
-rw-r--r--test/Analysis/ScalarEvolution/avoid-infinite-recursion-1.ll354
-rw-r--r--test/CodeGen/PowerPC/tango.net.ftp.FtpClient.ll17396
3 files changed, 17780 insertions, 0 deletions
diff --git a/test/Analysis/ScalarEvolution/avoid-infinite-recursion-0.ll b/test/Analysis/ScalarEvolution/avoid-infinite-recursion-0.ll
new file mode 100644
index 0000000..3fe0336
--- /dev/null
+++ b/test/Analysis/ScalarEvolution/avoid-infinite-recursion-0.ll
@@ -0,0 +1,30 @@
+; RUN: llvm-as < %s | opt -analyze -scalar-evolution -disable-output
+; PR4537
+
+; ModuleID = 'b.bc'
+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"
+target triple = "x86_64-unknown-linux-gnu"
+
+define i32 @test() {
+entry:
+ %0 = load i32** undef, align 8 ; <i32*> [#uses=1]
+ %1 = ptrtoint i32* %0 to i64 ; <i64> [#uses=1]
+ %2 = sub i64 undef, %1 ; <i64> [#uses=1]
+ %3 = lshr i64 %2, 3 ; <i64> [#uses=1]
+ %4 = trunc i64 %3 to i32 ; <i32> [#uses=2]
+ br i1 undef, label %bb10, label %bb4.i
+
+bb4.i: ; preds = %bb4.i, %entry
+ %i.0.i6 = phi i32 [ %8, %bb4.i ], [ 0, %entry ] ; <i32> [#uses=2]
+ %5 = sub i32 %4, %i.0.i6 ; <i32> [#uses=1]
+ %6 = sext i32 %5 to i64 ; <i64> [#uses=1]
+ %7 = udiv i64 undef, %6 ; <i64> [#uses=1]
+ %8 = add i32 %i.0.i6, 1 ; <i32> [#uses=2]
+ %phitmp = icmp eq i64 %7, 0 ; <i1> [#uses=1]
+ %.not.i = icmp sge i32 %8, %4 ; <i1> [#uses=1]
+ %or.cond.i = or i1 %phitmp, %.not.i ; <i1> [#uses=1]
+ br i1 %or.cond.i, label %bb10, label %bb4.i
+
+bb10: ; preds = %bb4.i, %entry
+ unreachable
+}
diff --git a/test/Analysis/ScalarEvolution/avoid-infinite-recursion-1.ll b/test/Analysis/ScalarEvolution/avoid-infinite-recursion-1.ll
new file mode 100644
index 0000000..121e0ac
--- /dev/null
+++ b/test/Analysis/ScalarEvolution/avoid-infinite-recursion-1.ll
@@ -0,0 +1,354 @@
+; RUN: llvm-as < %s | opt -iv-users
+; PR4538
+
+; ModuleID = 'bugpoint-reduced-simplified.bc'
+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"
+target triple = "x86_64-unknown-freebsd8.0"
+module asm ".ident\09\22$FreeBSD: head/sys/kern/vfs_subr.c 195285 2009-07-02 14:19:33Z jamie $\22"
+module asm ".section set_pcpu, \22aw\22, @progbits"
+module asm ".previous"
+ type <{ [40 x i8] }> ; type %0
+ type <{ %struct.vm_object*, %struct.vm_object** }> ; type %1
+ type <{ %struct.vm_object* }> ; type %2
+ type <{ %struct.vm_page*, %struct.vm_page** }> ; type %3
+ type <{ %struct.pv_entry*, %struct.pv_entry** }> ; type %4
+ type <{ %struct.vm_reserv* }> ; type %5
+ type <{ %struct.bufobj*, %struct.bufobj** }> ; type %6
+ type <{ %struct.proc*, %struct.proc** }> ; type %7
+ type <{ %struct.thread*, %struct.thread** }> ; type %8
+ type <{ %struct.prison*, %struct.prison** }> ; type %9
+ type <{ %struct.prison* }> ; type %10
+ type <{ %struct.task* }> ; type %11
+ type <{ %struct.osd*, %struct.osd** }> ; type %12
+ type <{ %struct.proc* }> ; type %13
+ type <{ %struct.ksiginfo*, %struct.ksiginfo** }> ; type %14
+ type <{ %struct.pv_chunk*, %struct.pv_chunk** }> ; type %15
+ type <{ %struct.pgrp*, %struct.pgrp** }> ; type %16
+ type <{ %struct.knote*, %struct.knote** }> ; type %17
+ type <{ %struct.ktr_request*, %struct.ktr_request** }> ; type %18
+ type <{ %struct.mqueue_notifier* }> ; type %19
+ type <{ %struct.turnstile* }> ; type %20
+ type <{ %struct.namecache* }> ; type %21
+ type <{ %struct.namecache*, %struct.namecache** }> ; type %22
+ type <{ %struct.lockf*, %struct.lockf** }> ; type %23
+ type <{ %struct.lockf_entry*, %struct.lockf_entry** }> ; type %24
+ type <{ %struct.lockf_edge*, %struct.lockf_edge** }> ; type %25
+ %struct.__siginfo = type <{ i32, i32, i32, i32, i32, i32, i8*, %union.sigval, %0 }>
+ %struct.__sigset = type <{ [4 x i32] }>
+ %struct.acl = type <{ i32, i32, [4 x i32], [254 x %struct.acl_entry] }>
+ %struct.acl_entry = type <{ i32, i32, i32, i16, i16 }>
+ %struct.au_mask = type <{ i32, i32 }>
+ %struct.au_tid_addr = type <{ i32, i32, [4 x i32] }>
+ %struct.auditinfo_addr = type <{ i32, %struct.au_mask, %struct.au_tid_addr, i32, i64 }>
+ %struct.bintime = type <{ i64, i64 }>
+ %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 }>
+ %struct.buf_ops = type <{ i8*, i32 (%struct.buf*)*, void (%struct.bufobj*, %struct.buf*)*, i32 (%struct.bufobj*, i32)*, void (%struct.bufobj*, %struct.buf*)* }>
+ %struct.buflists = type <{ %struct.buf*, %struct.buf** }>
+ %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* }>
+ %struct.bufv = type <{ %struct.buflists, %struct.buf*, i32, i8, i8, i8, i8 }>
+ %struct.callout = type <{ %union.anon, i32, i8, i8, i8, i8, i8*, void (i8*)*, %struct.lock_object*, i32, i32 }>
+ %struct.cdev_privdata = type opaque
+ %struct.cluster_save = type <{ i64, i64, i8*, i32, i8, i8, i8, i8, %struct.buf** }>
+ %struct.componentname = type <{ i64, i64, %struct.thread*, %struct.ucred*, i32, i8, i8, i8, i8, i8*, i8*, i64, i64 }>
+ %struct.cpuset = type opaque
+ %struct.cv = type <{ i8*, i32, i8, i8, i8, i8 }>
+ %struct.fid = type <{ i16, i16, [16 x i8] }>
+ %struct.file = type <{ i8*, %struct.fileops*, %struct.ucred*, %struct.vnode*, i16, i16, i32, i32, i32, i64, %struct.cdev_privdata*, i64, i8* }>
+ %struct.filedesc = type opaque
+ %struct.filedesc_to_leader = type opaque
+ %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 }>
+ %struct.filterops = type <{ i32, i8, i8, i8, i8, i32 (%struct.knote*)*, void (%struct.knote*)*, i32 (%struct.knote*, i64)* }>
+ %struct.flock = type <{ i64, i64, i32, i16, i16, i32, i8, i8, i8, i8 }>
+ %struct.freelst = type <{ %struct.vnode*, %struct.vnode** }>
+ %struct.fsid = type <{ [2 x i32] }>
+ %struct.in6_addr = type opaque
+ %struct.in_addr = type opaque
+ %struct.inode = type opaque
+ %struct.iovec = type <{ i8*, i64 }>
+ %struct.itimers = type opaque
+ %struct.itimerval = type <{ %struct.bintime, %struct.bintime }>
+ %struct.kaioinfo = type opaque
+ %struct.kaudit_record = type opaque
+ %struct.kdtrace_proc = type opaque
+ %struct.kdtrace_thread = type opaque
+ %struct.kevent = type <{ i64, i16, i16, i32, i64, i8* }>
+ %struct.klist = type <{ %struct.knote* }>
+ %struct.knlist = type <{ %struct.klist, void (i8*)*, void (i8*)*, void (i8*)*, void (i8*)*, i8* }>
+ %struct.knote = type <{ %struct.klist, %struct.klist, %struct.knlist*, %17, %struct.kqueue*, %struct.kevent, i32, i32, i64, %union.sigval, %struct.filterops*, i8* }>
+ %struct.kqueue = type opaque
+ %struct.ksiginfo = type <{ %14, %struct.__siginfo, i32, i8, i8, i8, i8, %struct.sigqueue* }>
+ %struct.ktr_request = type opaque
+ %struct.label = type opaque
+ %struct.lock = type <{ %struct.lock_object, i64, i32, i32 }>
+ %struct.lock_list_entry = type opaque
+ %struct.lock_object = type <{ i8*, i32, i32, %struct.witness* }>
+ %struct.lock_owner = type opaque
+ %struct.lock_profile_object = type opaque
+ %struct.lockf = type <{ %23, %struct.mtx, %struct.lockf_entry_list, %struct.lockf_entry_list, i32, i8, i8, i8, i8 }>
+ %struct.lockf_edge = type <{ %25, %25, %struct.lockf_entry*, %struct.lockf_entry* }>
+ %struct.lockf_edge_list = type <{ %struct.lockf_edge* }>
+ %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 }>
+ %struct.lockf_entry_list = type <{ %struct.lockf_entry* }>
+ %struct.lpohead = type <{ %struct.lock_profile_object* }>
+ %struct.md_page = type <{ %4 }>
+ %struct.mdproc = type <{ %struct.cv*, %struct.system_segment_descriptor }>
+ %struct.mdthread = type <{ i32, i8, i8, i8, i8, i64 }>
+ %struct.mntarg = type opaque
+ %struct.mntlist = type <{ %struct.mount*, %struct.mount** }>
+ %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 }>
+ %struct.mqueue_notifier = type opaque
+ %struct.mtx = type <{ %struct.lock_object, i64 }>
+ %struct.namecache = type opaque
+ %struct.netexport = type opaque
+ %struct.nlminfo = type opaque
+ %struct.osd = type <{ i32, i8, i8, i8, i8, i8**, %12 }>
+ %struct.p_sched = type opaque
+ %struct.pargs = type <{ i32, i32, [1 x i8], i8, i8, i8 }>
+ %struct.pcb = type opaque
+ %struct.pgrp = type <{ %16, %13, %struct.session*, %struct.sigiolst, i32, i32, %struct.mtx }>
+ %struct.plimit = type opaque
+ %struct.pmap = type <{ %struct.mtx, i64*, %15, i32, i8, i8, i8, i8, %struct.bintime, %struct.vm_page* }>
+ %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] }>
+ %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 }>
+ %struct.pstats = type opaque
+ %struct.pv_chunk = type <{ %struct.pmap*, %15, [3 x i64], [2 x i64], [168 x %struct.pv_entry] }>
+ %struct.pv_entry = type <{ i64, %4 }>
+ %struct.rusage = type <{ %struct.bintime, %struct.bintime, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64 }>
+ %struct.rusage_ext = type <{ i64, i64, i64, i64, i64, i64, i64 }>
+ %struct.selfd = type opaque
+ %struct.selfdlist = type <{ %struct.selfd*, %struct.selfd** }>
+ %struct.selinfo = type <{ %struct.selfdlist, %struct.knlist, %struct.mtx* }>
+ %struct.seltd = type opaque
+ %struct.session = type <{ i32, i8, i8, i8, i8, %struct.proc*, %struct.vnode*, %struct.tty*, i32, [24 x i8], i8, i8, i8, i8, %struct.mtx }>
+ %struct.shmmap_state = type opaque
+ %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 }>
+ %struct.sigaltstack = type <{ i8*, i64, i32, i8, i8, i8, i8 }>
+ %struct.sigio = type <{ %union.sigval, %struct.sigiolst, %struct.sigio**, %struct.ucred*, i32, i8, i8, i8, i8 }>
+ %struct.sigiolst = type <{ %struct.sigio* }>
+ %struct.sigqueue = type <{ %struct.__sigset, %struct.__sigset, %14, %struct.proc*, i32, i8, i8, i8, i8 }>
+ %struct.sleepqueue = type opaque
+ %struct.sockaddr = type opaque
+ %struct.stat = type <{ i32, i32, i16, i16, i32, i32, i32, %struct.bintime, %struct.bintime, %struct.bintime, i64, i64, i32, i32, i32, i32, %struct.bintime }>
+ %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] }>
+ %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 }>
+ %struct.sysentvec = type opaque
+ %struct.system_segment_descriptor = type <{ i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8 }>
+ %struct.task = type <{ %11, i16, i16, i8, i8, i8, i8, void (i8*, i32)*, i8* }>
+ %struct.td_sched = type opaque
+ %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* }>
+ %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 }>
+ %struct.tty = type opaque
+ %struct.turnstile = type opaque
+ %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 }>
+ %struct.uidinfo = type opaque
+ %struct.uio = type <{ %struct.iovec*, i32, i8, i8, i8, i8, i64, i64, i32, i32, %struct.thread* }>
+ %struct.umtx_q = type opaque
+ %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 }>
+ %struct.vfsconf = type <{ i32, [16 x i8], i8, i8, i8, i8, %struct.vfsops*, i32, i32, i32, i8, i8, i8, i8, %struct.vfsoptdecl*, %struct.vfsconfhead }>
+ %struct.vfsconfhead = type <{ %struct.vfsconf*, %struct.vfsconf** }>
+ %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*)* }>
+ %struct.vfsopt = type <{ %struct.vfsoptlist, i8*, i8*, i32, i32, i32, i8, i8, i8, i8 }>
+ %struct.vfsoptdecl = type opaque
+ %struct.vfsoptlist = type <{ %struct.vfsopt*, %struct.vfsopt** }>
+ %struct.vimage = type opaque
+ %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* }>
+ %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* }>
+ %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 }>
+ %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 }>
+ %struct.vm_reserv = type opaque
+ %struct.vmspace = type <{ %struct.vm_map, %struct.shmmap_state*, i64, i64, i64, i64, i8*, i8*, i8*, i32, i8, i8, i8, i8, %struct.pmap }>
+ %struct.vnet = type opaque
+ %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* }>
+ %struct.vnodeop_desc = type <{ i8*, i32, i8, i8, i8, i8, i32 (%struct.vop_generic_args*)*, i32*, i32, i32, i32, i32 }>
+ %struct.vop_access_args = type <{ %struct.vop_generic_args, %struct.vnode*, i32, i8, i8, i8, i8, %struct.ucred*, %struct.thread* }>
+ %struct.vop_aclcheck_args = type <{ %struct.vop_generic_args, %struct.vnode*, i32, i8, i8, i8, i8, %struct.acl*, %struct.ucred*, %struct.thread* }>
+ %struct.vop_advlock_args = type <{ %struct.vop_generic_args, %struct.vnode*, i8*, i32, i8, i8, i8, i8, %struct.flock*, i32, i8, i8, i8, i8 }>
+ %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** }>
+ %struct.vop_bmap_args = type <{ %struct.vop_generic_args, %struct.vnode*, i64, %struct.bufobj**, i64*, i32*, i32* }>
+ %struct.vop_cachedlookup_args = type <{ %struct.vop_generic_args, %struct.vnode*, %struct.vnode**, %struct.componentname* }>
+ %struct.vop_create_args = type <{ %struct.vop_generic_args, %struct.vnode*, %struct.vnode**, %struct.componentname*, %struct.vattr* }>
+ %struct.vop_deleteextattr_args = type <{ %struct.vop_generic_args, %struct.vnode*, i32, i8, i8, i8, i8, i8*, %struct.ucred*, %struct.thread* }>
+ %struct.vop_fsync_args = type <{ %struct.vop_generic_args, %struct.vnode*, i32, i8, i8, i8, i8, %struct.thread* }>
+ %struct.vop_generic_args = type <{ %struct.vnodeop_desc* }>
+ %struct.vop_getattr_args = type <{ %struct.vop_generic_args, %struct.vnode*, %struct.vattr*, %struct.ucred* }>
+ %struct.vop_getextattr_args = type <{ %struct.vop_generic_args, %struct.vnode*, i32, i8, i8, i8, i8, i8*, %struct.uio*, i64*, %struct.ucred*, %struct.thread* }>
+ %struct.vop_getpages_args = type <{ %struct.vop_generic_args, %struct.vnode*, %struct.vm_page**, i32, i32, i64 }>
+ %struct.vop_getwritemount_args = type <{ %struct.vop_generic_args, %struct.vnode*, %struct.mount** }>
+ %struct.vop_inactive_args = type <{ %struct.vop_generic_args, %struct.vnode*, %struct.thread* }>
+ %struct.vop_ioctl_args = type <{ %struct.vop_generic_args, %struct.vnode*, i64, i8*, i32, i8, i8, i8, i8, %struct.ucred*, %struct.thread* }>
+ %struct.vop_islocked_args = type <{ %struct.vop_generic_args, %struct.vnode* }>
+ %struct.vop_kqfilter_args = type <{ %struct.vop_generic_args, %struct.vnode*, %struct.knote* }>
+ %struct.vop_link_args = type <{ %struct.vop_generic_args, %struct.vnode*, %struct.vnode*, %struct.componentname* }>
+ %struct.vop_listextattr_args = type <{ %struct.vop_generic_args, %struct.vnode*, i32, i8, i8, i8, i8, %struct.uio*, i64*, %struct.ucred*, %struct.thread* }>
+ %struct.vop_lock1_args = type <{ %struct.vop_generic_args, %struct.vnode*, i32, i8, i8, i8, i8, i8*, i32, i8, i8, i8, i8 }>
+ %struct.vop_open_args = type <{ %struct.vop_generic_args, %struct.vnode*, i32, i8, i8, i8, i8, %struct.ucred*, %struct.thread*, %struct.file* }>
+ %struct.vop_openextattr_args = type <{ %struct.vop_generic_args, %struct.vnode*, %struct.ucred*, %struct.thread* }>
+ %struct.vop_pathconf_args = type <{ %struct.vop_generic_args, %struct.vnode*, i32, i8, i8, i8, i8, i64* }>
+ %struct.vop_putpages_args = type <{ %struct.vop_generic_args, %struct.vnode*, %struct.vm_page**, i32, i32, i32*, i64 }>
+ %struct.vop_read_args = type <{ %struct.vop_generic_args, %struct.vnode*, %struct.uio*, i32, i8, i8, i8, i8, %struct.ucred* }>
+ %struct.vop_readdir_args = type <{ %struct.vop_generic_args, %struct.vnode*, %struct.uio*, %struct.ucred*, i32*, i32*, i64** }>
+ %struct.vop_readlink_args = type <{ %struct.vop_generic_args, %struct.vnode*, %struct.uio*, %struct.ucred* }>
+ %struct.vop_reallocblks_args = type <{ %struct.vop_generic_args, %struct.vnode*, %struct.cluster_save* }>
+ %struct.vop_rename_args = type <{ %struct.vop_generic_args, %struct.vnode*, %struct.vnode*, %struct.componentname*, %struct.vnode*, %struct.vnode*, %struct.componentname* }>
+ %struct.vop_revoke_args = type <{ %struct.vop_generic_args, %struct.vnode*, i32, i8, i8, i8, i8 }>
+ %struct.vop_setextattr_args = type <{ %struct.vop_generic_args, %struct.vnode*, i32, i8, i8, i8, i8, i8*, %struct.uio*, %struct.ucred*, %struct.thread* }>
+ %struct.vop_setlabel_args = type <{ %struct.vop_generic_args, %struct.vnode*, %struct.label*, %struct.ucred*, %struct.thread* }>
+ %struct.vop_strategy_args = type <{ %struct.vop_generic_args, %struct.vnode*, %struct.buf* }>
+ %struct.vop_symlink_args = type <{ %struct.vop_generic_args, %struct.vnode*, %struct.vnode**, %struct.componentname*, %struct.vattr*, i8* }>
+ %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*)* }>
+ %struct.vop_vptocnp_args = type <{ %struct.vop_generic_args, %struct.vnode*, %struct.vnode**, %struct.ucred*, i8*, i32* }>
+ %struct.vop_vptofh_args = type <{ %struct.vop_generic_args, %struct.vnode*, %struct.fid* }>
+ %struct.vop_whiteout_args = type <{ %struct.vop_generic_args, %struct.vnode*, %struct.componentname*, i32, i8, i8, i8, i8 }>
+ %struct.vpollinfo = type <{ %struct.mtx, %struct.selinfo, i16, i16, i8, i8, i8, i8 }>
+ %struct.witness = type opaque
+ %struct.workhead = type <{ %struct.worklist* }>
+ %struct.worklist = type opaque
+ %union.anon = type <{ [16 x i8] }>
+ %union.pager_info = type <{ [4 x i8] }>
+ %union.sigval = type <{ [8 x i8] }>
+
+define i32 @vlrureclaim(%struct.mount* %mp) nounwind {
+entry:
+ br i1 undef, label %if.then11, label %do.end
+
+if.then11: ; preds = %entry
+ br label %do.end
+
+do.end: ; preds = %if.then11, %entry
+ br label %while.cond.outer
+
+while.cond.outer: ; preds = %while.cond.outer.backedge, %do.end
+ %count.0.ph = phi i32 [ undef, %do.end ], [ undef, %while.cond.outer.backedge ] ; <i32> [#uses=1]
+ br label %while.cond
+
+while.cond: ; preds = %next_iter, %while.cond.outer
+ %count.0 = phi i32 [ %dec, %next_iter ], [ %count.0.ph, %while.cond.outer ] ; <i32> [#uses=2]
+ %cmp21 = icmp eq i32 %count.0, 0 ; <i1> [#uses=1]
+ br i1 %cmp21, label %do.body288.loopexit4, label %while.body
+
+while.body: ; preds = %while.cond
+ br label %while.cond27
+
+while.cond27: ; preds = %while.body36, %while.body
+ br i1 undef, label %do.body288.loopexit, label %land.rhs
+
+land.rhs: ; preds = %while.cond27
+ br i1 undef, label %while.body36, label %while.end
+
+while.body36: ; preds = %land.rhs
+ br label %while.cond27
+
+while.end: ; preds = %land.rhs
+ br i1 undef, label %do.body288.loopexit4, label %do.body46
+
+do.body46: ; preds = %while.end
+ br i1 undef, label %if.else64, label %if.then53
+
+if.then53: ; preds = %do.body46
+ br label %if.end72
+
+if.else64: ; preds = %do.body46
+ br label %if.end72
+
+if.end72: ; preds = %if.else64, %if.then53
+ %dec = add i32 %count.0, -1 ; <i32> [#uses=2]
+ br i1 undef, label %next_iter, label %if.end111
+
+if.end111: ; preds = %if.end72
+ br i1 undef, label %lor.lhs.false, label %do.body145
+
+lor.lhs.false: ; preds = %if.end111
+ br i1 undef, label %lor.lhs.false122, label %do.body145
+
+lor.lhs.false122: ; preds = %lor.lhs.false
+ br i1 undef, label %lor.lhs.false128, label %do.body145
+
+lor.lhs.false128: ; preds = %lor.lhs.false122
+ br i1 undef, label %do.body162, label %land.lhs.true
+
+land.lhs.true: ; preds = %lor.lhs.false128
+ br i1 undef, label %do.body145, label %do.body162
+
+do.body145: ; preds = %land.lhs.true, %lor.lhs.false122, %lor.lhs.false, %if.end111
+ br i1 undef, label %if.then156, label %next_iter
+
+if.then156: ; preds = %do.body145
+ br label %next_iter
+
+do.body162: ; preds = %land.lhs.true, %lor.lhs.false128
+ br i1 undef, label %if.then173, label %do.end177
+
+if.then173: ; preds = %do.body162
+ br label %do.end177
+
+do.end177: ; preds = %if.then173, %do.body162
+ br i1 undef, label %do.body185, label %if.then182
+
+if.then182: ; preds = %do.end177
+ br label %next_iter_mntunlocked
+
+do.body185: ; preds = %do.end177
+ br i1 undef, label %if.then196, label %do.end202
+
+if.then196: ; preds = %do.body185
+ br label %do.end202
+
+do.end202: ; preds = %if.then196, %do.body185
+ br i1 undef, label %lor.lhs.false207, label %if.then231
+
+lor.lhs.false207: ; preds = %do.end202
+ br i1 undef, label %lor.lhs.false214, label %if.then231
+
+lor.lhs.false214: ; preds = %lor.lhs.false207
+ br i1 undef, label %do.end236, label %land.lhs.true221
+
+land.lhs.true221: ; preds = %lor.lhs.false214
+ br i1 undef, label %if.then231, label %do.end236
+
+if.then231: ; preds = %land.lhs.true221, %lor.lhs.false207, %do.end202
+ br label %next_iter_mntunlocked
+
+do.end236: ; preds = %land.lhs.true221, %lor.lhs.false214
+ br label %next_iter_mntunlocked
+
+next_iter_mntunlocked: ; preds = %do.end236, %if.then231, %if.then182
+ br i1 undef, label %yield, label %do.body269
+
+next_iter: ; preds = %if.then156, %do.body145, %if.end72
+ %rem2482 = and i32 %dec, 255 ; <i32> [#uses=1]
+ %cmp249 = icmp eq i32 %rem2482, 0 ; <i1> [#uses=1]
+ br i1 %cmp249, label %do.body253, label %while.cond
+
+do.body253: ; preds = %next_iter
+ br i1 undef, label %if.then264, label %yield
+
+if.then264: ; preds = %do.body253
+ br label %yield
+
+yield: ; preds = %if.then264, %do.body253, %next_iter_mntunlocked
+ br label %do.body269
+
+do.body269: ; preds = %yield, %next_iter_mntunlocked
+ br i1 undef, label %if.then280, label %while.cond.outer.backedge
+
+if.then280: ; preds = %do.body269
+ br label %while.cond.outer.backedge
+
+while.cond.outer.backedge: ; preds = %if.then280, %do.body269
+ br label %while.cond.outer
+
+do.body288.loopexit: ; preds = %while.cond27
+ br label %do.body288
+
+do.body288.loopexit4: ; preds = %while.end, %while.cond
+ br label %do.body288
+
+do.body288: ; preds = %do.body288.loopexit4, %do.body288.loopexit
+ br i1 undef, label %if.then299, label %do.end303
+
+if.then299: ; preds = %do.body288
+ br label %do.end303
+
+do.end303: ; preds = %if.then299, %do.body288
+ ret i32 undef
+}
diff --git a/test/CodeGen/PowerPC/tango.net.ftp.FtpClient.ll b/test/CodeGen/PowerPC/tango.net.ftp.FtpClient.ll
new file mode 100644
index 0000000..ba0c452
--- /dev/null
+++ b/test/CodeGen/PowerPC/tango.net.ftp.FtpClient.ll
@@ -0,0 +1,17396 @@
+; RUN: llvm-as < %s | llc
+; PR4534
+
+; ModuleID = 'tango.net.ftp.FtpClient.bc'
+target datalayout = "E-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64-f128:64:128"
+target triple = "powerpc-apple-darwin9.6.0"
+ type { i32, i32, i8*, i32, %tango.net.Socket.timeval } ; type %0
+ type { i8*, i32 (i8*, %"tango.text.Regex.List!(TNFAFragment).List.Element"**)* } ; type %1
+ type { %object.Interface*, i64 (%tango.io.device.Conduit.Conduit*, i64, i32)*, %tango.io.model.IConduit.IConduit* (%tango.io.device.Conduit.Conduit*)*, %tango.io.model.IConduit.IOStream* (%tango.io.device.Conduit.Conduit*)*, void (%tango.io.device.Conduit.Conduit*)*, i8*, %"byte[]" (%tango.io.device.Conduit.Conduit*, i32)*, %tango.io.model.IConduit.InputStream* (%tango.io.device.Conduit.Conduit*)*, i8*, i8*, i1 (%tango.io.device.Conduit.Conduit*)*, i8*, void (%tango.io.device.Conduit.Conduit*, %"byte[]")* } ; type %2
+ type { %object.Interface*, i64 (%tango.io.device.Conduit.Conduit*, i64, i32)*, %tango.io.model.IConduit.IConduit* (%tango.io.device.Conduit.Conduit*)*, %tango.io.model.IConduit.IOStream* (%tango.io.device.Conduit.Conduit*)*, void (%tango.io.device.Conduit.Conduit*)*, i8*, %tango.io.model.IConduit.OutputStream* (%tango.io.device.Conduit.Conduit*, %tango.io.model.IConduit.InputStream*, i32)*, %tango.io.model.IConduit.OutputStream* (%tango.io.device.Conduit.Conduit*)* } ; type %3
+ type { %object.Interface*, i64 (%tango.io.device.Array.Array*, i64, i32)*, %tango.io.model.IConduit.IConduit* (%tango.io.device.Conduit.Conduit*)*, %tango.io.device.Array.Array* (%tango.io.device.Array.Array*)*, void (%tango.io.device.Conduit.Conduit*)*, i32 (%tango.io.device.Array.Array*, %"byte[]")*, %"byte[]" (%tango.io.device.Conduit.Conduit*, i32)*, %tango.io.model.IConduit.InputStream* (%tango.io.device.Conduit.Conduit*)*, i32 (%tango.io.device.Array.Array*)*, %"byte[]" (%tango.io.device.Array.Array*)*, i1 (%tango.io.device.Conduit.Conduit*)*, void (%tango.io.device.Array.Array*)*, void (%tango.io.device.Conduit.Conduit*, %"byte[]")* } ; type %4
+ type { %object.Interface*, i64 (%tango.io.device.Array.Array*, i64, i32)*, %tango.io.model.IConduit.IConduit* (%tango.io.device.Conduit.Conduit*)*, %tango.io.device.Array.Array* (%tango.io.device.Array.Array*)*, void (%tango.io.device.Conduit.Conduit*)*, i32 (%tango.io.device.Array.Array*, %"byte[]")*, %tango.io.model.IConduit.OutputStream* (%tango.io.device.Conduit.Conduit*, %tango.io.model.IConduit.InputStream*, i32)*, %tango.io.model.IConduit.OutputStream* (%tango.io.device.Conduit.Conduit*)* } ; type %5
+ type { %object.Interface*, i64 (%tango.io.device.Array.Array*, i64, i32)*, %tango.io.model.IConduit.IConduit* (%tango.io.device.Conduit.Conduit*)*, %tango.io.device.Array.Array* (%tango.io.device.Array.Array*)*, void (%tango.io.device.Conduit.Conduit*)*, i32 (%tango.io.device.Array.Array*, %"byte[]")*, %"byte[]" (%tango.io.device.Conduit.Conduit*, i32)*, %tango.io.model.IConduit.InputStream* (%tango.io.device.Conduit.Conduit*)*, %"byte[]" (%tango.io.device.Array.Array*)*, i1 (%tango.io.device.Array.Array*, %"uint delegate(char[])")*, i32 (%tango.io.device.Array.Array*, %"uint delegate(char[])")* } ; type %6
+ type { %object.Interface*, i64 (%tango.io.device.Array.Array*, i64, i32)*, %tango.io.model.IConduit.IConduit* (%tango.io.device.Conduit.Conduit*)*, %tango.io.device.Array.Array* (%tango.io.device.Array.Array*)*, void (%tango.io.device.Conduit.Conduit*)*, i32 (%tango.io.device.Array.Array*, %"byte[]")*, %tango.io.model.IConduit.OutputStream* (%tango.io.device.Conduit.Conduit*, %tango.io.model.IConduit.InputStream*, i32)*, %tango.io.model.IConduit.OutputStream* (%tango.io.device.Conduit.Conduit*)*, %"byte[]" (%tango.io.device.Array.Array*)*, %tango.io.device.Array.Array* (%tango.io.device.Array.Array*, %"byte[]")*, i32 (%tango.io.device.Array.Array*, %"uint delegate(char[])")* } ; type %7
+ type { %object.Interface* } ; type %8
+ type { %object.Interface*, i64 (%tango.io.device.Conduit.InputFilter*, i64, i32)*, %tango.io.model.IConduit.IConduit* (%tango.io.device.Conduit.InputFilter*)*, %tango.io.model.IConduit.IOStream* (%tango.io.device.Conduit.InputFilter*)*, void (%tango.io.device.Conduit.InputFilter*)*, i32 (%tango.io.device.Conduit.InputFilter*, %"byte[]")*, %"byte[]" (%tango.io.device.Conduit.InputFilter*, i32)*, %tango.io.model.IConduit.InputStream* (%tango.io.device.Conduit.InputFilter*)* } ; type %9
+ type { %object.Interface*, i64 (%tango.io.device.Conduit.Conduit*, i64, i32)*, %tango.io.model.IConduit.IConduit* (%tango.io.device.Conduit.Conduit*)*, %tango.io.model.IConduit.IOStream* (%tango.io.device.Conduit.Conduit*)*, void (%tango.io.device.Conduit.Conduit*)*, i32 (%tango.io.device.Device.Device*, %"byte[]")*, %"byte[]" (%tango.io.device.Conduit.Conduit*, i32)*, %tango.io.model.IConduit.InputStream* (%tango.io.device.Conduit.Conduit*)*, i32 (%tango.io.device.Device.Device*)*, %"byte[]" (%tango.io.device.Device.Device*)*, i1 (%tango.io.device.Conduit.Conduit*)*, void (%tango.io.device.Device.Device*)*, void (%tango.io.device.Conduit.Conduit*, %"byte[]")* } ; type %10
+ type { %object.Interface*, i64 (%tango.io.device.Conduit.Conduit*, i64, i32)*, %tango.io.model.IConduit.IConduit* (%tango.io.device.Conduit.Conduit*)*, %tango.io.model.IConduit.IOStream* (%tango.io.device.Conduit.Conduit*)*, void (%tango.io.device.Conduit.Conduit*)*, i32 (%tango.io.device.Device.Device*, %"byte[]")*, %tango.io.model.IConduit.OutputStream* (%tango.io.device.Conduit.Conduit*, %tango.io.model.IConduit.InputStream*, i32)*, %tango.io.model.IConduit.OutputStream* (%tango.io.device.Conduit.Conduit*)* } ; type %11
+ type { %object.Interface*, i32 (%tango.io.device.Device.Device*)* } ; type %12
+ type { %object.Interface*, i64 (%tango.io.device.File.File*, i64, i32)*, %tango.io.model.IConduit.IConduit* (%tango.io.device.Conduit.Conduit*)*, %tango.io.model.IConduit.IOStream* (%tango.io.device.Conduit.Conduit*)*, void (%tango.io.device.Conduit.Conduit*)*, i32 (%tango.io.device.Device.Device*, %"byte[]")*, %"byte[]" (%tango.io.device.Conduit.Conduit*, i32)*, %tango.io.model.IConduit.InputStream* (%tango.io.device.Conduit.Conduit*)*, i32 (%tango.io.device.Device.Device*)*, %"byte[]" (%tango.io.device.File.File*)*, i1 (%tango.io.device.Conduit.Conduit*)*, void (%tango.io.device.Device.Device*)*, void (%tango.io.device.Conduit.Conduit*, %"byte[]")* } ; type %13
+ type { %object.Interface*, i64 (%tango.io.device.File.File*, i64, i32)*, %tango.io.model.IConduit.IConduit* (%tango.io.device.Conduit.Conduit*)*, %tango.io.model.IConduit.IOStream* (%tango.io.device.Conduit.Conduit*)*, void (%tango.io.device.Conduit.Conduit*)*, i32 (%tango.io.device.Device.Device*, %"byte[]")*, %tango.io.model.IConduit.OutputStream* (%tango.io.device.Conduit.Conduit*, %tango.io.model.IConduit.InputStream*, i32)*, %tango.io.model.IConduit.OutputStream* (%tango.io.device.Conduit.Conduit*)* } ; type %14
+ type { %object.Interface*, i64 (%tango.io.device.Conduit.Conduit*, i64, i32)*, %tango.io.model.IConduit.IConduit* (%tango.io.device.Conduit.Conduit*)*, %tango.io.model.IConduit.IOStream* (%tango.io.device.Conduit.Conduit*)*, void (%tango.io.device.Conduit.Conduit*)*, i32 (%tango.net.SocketConduit.SocketConduit*, %"byte[]")*, %"byte[]" (%tango.io.device.Conduit.Conduit*, i32)*, %tango.io.model.IConduit.InputStream* (%tango.io.device.Conduit.Conduit*)*, i32 (%tango.net.SocketConduit.SocketConduit*)*, %"byte[]" (%tango.net.SocketConduit.SocketConduit*)*, i1 (%tango.net.SocketConduit.SocketConduit*)*, void (%tango.net.SocketConduit.SocketConduit*)*, void (%tango.io.device.Conduit.Conduit*, %"byte[]")* } ; type %15
+ type { %object.Interface*, i64 (%tango.io.device.Conduit.Conduit*, i64, i32)*, %tango.io.model.IConduit.IConduit* (%tango.io.device.Conduit.Conduit*)*, %tango.io.model.IConduit.IOStream* (%tango.io.device.Conduit.Conduit*)*, void (%tango.io.device.Conduit.Conduit*)*, i32 (%tango.net.SocketConduit.SocketConduit*, %"byte[]")*, %tango.io.model.IConduit.OutputStream* (%tango.io.device.Conduit.Conduit*, %tango.io.model.IConduit.InputStream*, i32)*, %tango.io.model.IConduit.OutputStream* (%tango.io.device.Conduit.Conduit*)* } ; type %16
+ type { %object.Interface*, i32 (%tango.net.SocketConduit.SocketConduit*)* } ; type %17
+ type { i8*, i32 (i8*, %"tango.text.Regex.List!(StateElement).List.Element"**)* } ; type %18
+ type { i8*, i32 (i8*, %"tango.text.Regex.List!(SubsetState).List.Element"**)* } ; type %19
+ type { %object.TypeInfo.__vtbl*, i8*, %"byte[]", %"byte[]", i8*, i8*, i8*, i8*, i32 } ; type %20
+ type { %object.TypeInfo.__vtbl*, i8*, %"byte[]", %"byte[]", i8*, i32 (%tango.net.Socket.timeval*, %tango.net.Socket.timeval*)*, i32 (%tango.net.Socket.timeval*, %tango.net.Socket.timeval*)*, %"byte[]" (%tango.net.Socket.timeval*)*, i32 } ; type %21
+ type opaque ; type %22
+ type opaque ; type %23
+ type opaque ; type %24
+ type opaque ; type %25
+ type opaque ; type %26
+ type opaque ; type %27
+ type opaque ; type %28
+ type opaque ; type %29
+ type opaque ; type %30
+ type { i32, void ()* } ; type %31
+ type opaque ; type %32
+ type { %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*, %"tango.text.Regex.TNFA!(dchar).TNFA"* } ; type %33
+ type { %"tango.text.Regex.List!(TNFAFragment).List"*, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*, %"tango.text.Regex.List!(TNFAFragment).List"* } ; type %34
+ type { i32, %"byte[]" } ; type %35
+ %"Act[]" = type { i32, i32* }
+ %"CharRange!(dchar)[]" = type { i32, %tango.net.Socket.timeval* }
+ %"ClassInfo[]" = type { i32, %object.ClassInfo** }
+ %"Command[]" = type { i32, %tango.net.Socket.timeval* }
+ %D_CRITICAL_SECTION = type { %D_CRITICAL_SECTION*, %0 }
+ %"FtpFeature[]" = type { i32, %tango.net.ftp.FtpClient.FtpFeature* }
+ %"FtpFileInfo[]" = type { i32, %tango.net.ftp.FtpClient.FtpFileInfo* }
+ %"Interface[]" = type { i32, %object.Interface* }
+ %"Mark[]" = type { i32, %"tango.text.Regex.TDFA!(dchar).TDFA.Mark"* }
+ %"ModuleInfo[]" = type { i32, %object.ModuleInfo** }
+ %ModuleReference = type { %ModuleReference*, %object.ModuleInfo* }
+ %"OffsetTypeInfo[]" = type { i32, %object.OffsetTypeInfo* }
+ %"Operator[]" = type { i32, i32* }
+ %"Pair!(uint)[]" = type { i32, %tango.net.Socket.timeval* }
+ %"Predicate!(dchar)[]" = type { i32, %"tango.text.Regex.Predicate!(dchar).Predicate"* }
+ %"StateElement[]" = type { i32, %"tango.text.Regex.TDFA!(dchar).TDFA.StateElement"** }
+ %"State[]" = type { i32, %"tango.text.Regex.TDFA!(dchar).TDFA.State"** }
+ %"TNFAState[]" = type { i32, %"tango.text.Regex.TNFAState!(dchar).TNFAState"** }
+ %"TNFATransition[]" = type { i32, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** }
+ %"Transition[]" = type { i32, %"tango.text.Regex.TDFA!(dchar).TDFA.Transition"** }
+ %"TypeInfo[]" = type { i32, %object.TypeInfo** }
+ %"_FormatterInfo!(char)[]" = type { i32, %nest.parseListLine* }
+ %"byte[]" = type { i32, i8* }
+ %"char[]" = type { i32, i8* }
+ %"char[] delegate(RegExpT)" = type { i8*, %"byte[]" (i8*, %"tango.text.Regex.RegExpT!(char).RegExpT"*)* }
+ %"char[][]" = type { i32, %"byte[]"* }
+ %"dchar[]" = type { i32, i32* }
+ %"dchar[][]" = type { i32, %"Act[]"* }
+ %"int delegate(ref Element)" = type { i8*, i32 (i8*, %"tango.text.Regex.List!(TNFATransition).List.Element"**)* }
+ %"int delegate(ref FrameInfo fInfo)" = type { i8*, i32 (i8*, %object.Exception.FrameInfo*)* }
+ %"int delegate(ref ModuleInfo)" = type { i8*, i32 (i8*, %object.ModuleInfo**)* }
+ %"int delegate(ref RegExpT)" = type { i8*, i32 (i8*, %"tango.text.Regex.RegExpT!(char).RegExpT"**)* }
+ %"int delegate(ref StateElement)" = type { i8*, i32 (i8*, %"tango.text.Regex.TDFA!(dchar).TDFA.StateElement"**)* }
+ %"int delegate(ref SubsetState)" = type { i8*, i32 (i8*, %"tango.text.Regex.TDFA!(dchar).TDFA.SubsetState"**)* }
+ %"int delegate(ref TNFAFragment)" = type { i8*, i32 (i8*, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"**)* }
+ %"int delegate(ref TNFATransition)" = type { i8*, i32 (i8*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"**)* }
+ %"int delegate(ref char[])" = type { i8*, i32 (i8*, %"byte[]"*)* }
+ %"int delegate(ref int, ref char[])" = type { i8*, i32 (i8*, i32*, %"byte[]"*)* }
+ %"int delegate(ref int, ref char[], ref char[])" = type { i8*, i32 (i8*, i32*, %"byte[]"*, %"byte[]"*)* }
+ %"int[]" = type { i32, i32* }
+ %nest.clone = type { %"tango.text.Regex.TNFAState!(dchar).TNFAState"*, %"tango.text.Regex.TNFA!(dchar).TNFA"* }
+ %nest.delimit = type { %"char[][]" }
+ %nest.dostime = type { %tango.time.Time.Date }
+ %nest.insertAfter = type { %"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*, %"tango.text.Regex.List!(TNFATransition).List"* }
+ %nest.insertBefore = type { %"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*, %"tango.text.Regex.List!(TNFATransition).List"* }
+ %nest.parse = type { %"tango.text.convert.Layout.Layout!(char).Layout"*, %"tango.text.Regex.List!(TNFAFragment).List"*, %"tango.text.Regex.Stack!(Operator).Stack", %"tango.text.Regex.Stack!(Operator).Stack", %"tango.text.Regex.Stack!(Pair!(uint)).Stack", %"tango.text.Regex.TNFAState!(dchar).TNFAState"*, %"tango.text.Regex.Stack!(TNFATransition).Stack", i32, %"tango.text.Regex.TNFA!(dchar).TNFA"* }
+ %nest.parseListLine = type { i32, %"byte[]", %"byte[]" }
+ %nest.setEntry = type { %"tango.text.Regex.TNFAState!(dchar).TNFAState"* }
+ %nest.setExit = type { %"tango.text.Regex.TNFAState!(dchar).TNFAState"* }
+ %nest.splitLines = type { i32, %"char[][]" }
+ %object.ClassInfo = type { %object.ClassInfo.__vtbl*, i8*, %"byte[]", %"byte[]", %"void*[]", %"Interface[]", %object.ClassInfo*, i8*, i8*, i32, i8*, %"OffsetTypeInfo[]", i8*, %object.TypeInfo* }
+ %object.ClassInfo.__vtbl = type { %object.ClassInfo*, %"byte[]" (%object.Object*)*, i32 (%object.Object*)*, i32 (%object.Object*, %object.Object*)*, i32 (%object.Object*, %object.Object*)*, %object.Object* (%object.ClassInfo*)* }
+ %object.Exception = type { %object.Exception.__vtbl*, i8*, %"byte[]", %"byte[]", i32, %object.Exception.TraceInfo*, %object.Exception* }
+ %object.Exception.FrameInfo = type { i64, i32, i32, i32, %"byte[]", %"byte[]", [256 x i8] }
+ %object.Exception.TraceInfo = type { %object.Exception.TraceInfo.__vtbl* }
+ %object.Exception.TraceInfo.__vtbl = type { %object.ClassInfo*, i32 (%object.Exception.TraceInfo*, %"int delegate(ref FrameInfo fInfo)")* }
+ %object.Exception.__vtbl = type { %object.ClassInfo*, %"byte[]" (%object.Exception*)*, i32 (%object.Object*)*, i32 (%object.Object*, %object.Object*)*, i32 (%object.Object*, %object.Object*)*, void (%object.Exception*, %"void delegate(char[])")* }
+ %object.Interface = type { %object.ClassInfo*, %"void*[]", i32 }
+ %object.ModuleInfo = type { %object.ModuleInfo.__vtbl*, i8*, %"byte[]", %"ModuleInfo[]", %"ClassInfo[]", i32, void ()*, void ()*, void ()*, i8*, void ()* }
+ %object.ModuleInfo.__vtbl = type { %object.ClassInfo*, %"byte[]" (%object.Object*)*, i32 (%object.Object*)*, i32 (%object.Object*, %object.Object*)*, i32 (%object.Object*, %object.Object*)* }
+ %object.Object = type { %object.ModuleInfo.__vtbl*, i8* }
+ %object.Object.Monitor = type { %object.Object.Monitor.__vtbl* }
+ %object.Object.Monitor.__vtbl = type { %object.ClassInfo*, void (%object.Object.Monitor*)*, void (%object.Object.Monitor*)* }
+ %object.Object.__vtbl = type { %object.ClassInfo*, %"byte[]" (%object.Object*)*, i32 (%object.Object*)*, i32 (%object.Object*, %object.Object*)*, i32 (%object.Object*, %object.Object*)* }
+ %object.OffsetTypeInfo = type { i32, %object.TypeInfo* }
+ %object.TypeInfo = type { %object.TypeInfo.__vtbl*, i8* }
+ %object.TypeInfo.__vtbl = type { %object.ClassInfo*, %"byte[]" (%object.Object*)*, i32 (%object.Object*)*, i32 (%object.Object*, %object.Object*)*, i32 (%object.Object*, %object.Object*)*, i32 (%object.TypeInfo*, i8*)*, i32 (%object.TypeInfo*, i8*, i8*)*, i32 (%object.TypeInfo*, i8*, i8*)*, i32 (%object.TypeInfo*)*, void (%object.TypeInfo*, i8*, i8*)*, %object.TypeInfo* (%object.TypeInfo*)*, %"byte[]" (%object.TypeInfo*)*, i32 (%object.TypeInfo*)*, %"OffsetTypeInfo[]" (%object.TypeInfo*)* }
+ %object.TypeInfo_Array = type { %object.TypeInfo.__vtbl*, i8*, %object.TypeInfo* }
+ %object.TypeInfo_Array.__vtbl = type { %object.ClassInfo*, %"byte[]" (%object.Object*)*, i32 (%object.Object*)*, i32 (%object.Object*, %object.Object*)*, i32 (%object.Object*, %object.Object*)*, i32 (%object.TypeInfo*, i8*)*, i32 (%object.TypeInfo*, i8*, i8*)*, i32 (%object.TypeInfo*, i8*, i8*)*, i32 (%object.TypeInfo*)*, void (%object.TypeInfo*, i8*, i8*)*, %object.TypeInfo* (%object.TypeInfo*)*, %"byte[]" (%object.TypeInfo*)*, i32 (%object.TypeInfo*)*, %"OffsetTypeInfo[]" (%object.TypeInfo*)* }
+ %object.TypeInfo_Class = type { %object.TypeInfo.__vtbl*, i8*, %object.ClassInfo* }
+ %object.TypeInfo_Class.__vtbl = type { %object.ClassInfo*, %"byte[]" (%object.Object*)*, i32 (%object.Object*)*, i32 (%object.Object*, %object.Object*)*, i32 (%object.Object*, %object.Object*)*, i32 (%object.TypeInfo*, i8*)*, i32 (%object.TypeInfo*, i8*, i8*)*, i32 (%object.TypeInfo*, i8*, i8*)*, i32 (%object.TypeInfo*)*, void (%object.TypeInfo*, i8*, i8*)*, %object.TypeInfo* (%object.TypeInfo*)*, %"byte[]" (%object.TypeInfo*)*, i32 (%object.TypeInfo*)*, %"OffsetTypeInfo[]" (%object.TypeInfo*)* }
+ %object.TypeInfo_Enum = type { %object.TypeInfo.__vtbl*, i8*, %object.TypeInfo*, %"byte[]", %"byte[]" }
+ %object.TypeInfo_Enum.__vtbl = type { %object.ClassInfo*, %"byte[]" (%object.Object*)*, i32 (%object.Object*)*, i32 (%object.Object*, %object.Object*)*, i32 (%object.Object*, %object.Object*)*, i32 (%object.TypeInfo*, i8*)*, i32 (%object.TypeInfo*, i8*, i8*)*, i32 (%object.TypeInfo*, i8*, i8*)*, i32 (%object.TypeInfo*)*, void (%object.TypeInfo*, i8*, i8*)*, %object.TypeInfo* (%object.TypeInfo*)*, %"byte[]" (%object.TypeInfo*)*, i32 (%object.TypeInfo*)*, %"OffsetTypeInfo[]" (%object.TypeInfo*)* }
+ %object.TypeInfo_StaticArray = type { %object.TypeInfo.__vtbl*, i8*, %object.TypeInfo*, i32 }
+ %object.TypeInfo_StaticArray.__vtbl = type { %object.ClassInfo*, %"byte[]" (%object.Object*)*, i32 (%object.Object*)*, i32 (%object.Object*, %object.Object*)*, i32 (%object.Object*, %object.Object*)*, i32 (%object.TypeInfo*, i8*)*, i32 (%object.TypeInfo*, i8*, i8*)*, i32 (%object.TypeInfo*, i8*, i8*)*, i32 (%object.TypeInfo*)*, void (%object.TypeInfo*, i8*, i8*)*, %object.TypeInfo* (%object.TypeInfo*)*, %"byte[]" (%object.TypeInfo*)*, i32 (%object.TypeInfo*)*, %"OffsetTypeInfo[]" (%object.TypeInfo*)* }
+ %object.TypeInfo_Struct = type { %object.TypeInfo.__vtbl*, i8*, %"byte[]", %"byte[]", i32 ()*, i32 (i8*)*, i32 (i8*)*, %"byte[]" ()*, i32 }
+ %object.TypeInfo_Struct.__vtbl = type { %object.ClassInfo*, %"byte[]" (%object.Object*)*, i32 (%object.Object*)*, i32 (%object.Object*, %object.Object*)*, i32 (%object.Object*, %object.Object*)*, i32 (%object.TypeInfo*, i8*)*, i32 (%object.TypeInfo*, i8*, i8*)*, i32 (%object.TypeInfo*, i8*, i8*)*, i32 (%object.TypeInfo*)*, void (%object.TypeInfo*, i8*, i8*)*, %object.TypeInfo* (%object.TypeInfo*)*, %"byte[]" (%object.TypeInfo*)*, i32 (%object.TypeInfo*)*, %"OffsetTypeInfo[]" (%object.TypeInfo*)* }
+ %object.TypeInfo_Typedef = type { %object.TypeInfo.__vtbl*, i8*, %object.TypeInfo*, %"byte[]", %"byte[]" }
+ %object.TypeInfo_Typedef.__vtbl = type { %object.ClassInfo*, %"byte[]" (%object.Object*)*, i32 (%object.Object*)*, i32 (%object.Object*, %object.Object*)*, i32 (%object.Object*, %object.Object*)*, i32 (%object.TypeInfo*, i8*)*, i32 (%object.TypeInfo*, i8*, i8*)*, i32 (%object.TypeInfo*, i8*, i8*)*, i32 (%object.TypeInfo*)*, void (%object.TypeInfo*, i8*, i8*)*, %object.TypeInfo* (%object.TypeInfo*)*, %"byte[]" (%object.TypeInfo*)*, i32 (%object.TypeInfo*)*, %"OffsetTypeInfo[]" (%object.TypeInfo*)* }
+ %"tango.core.Array.IsEqual!(char).IsEqual" = type <{ i8 }>
+ %tango.core.Exception.IllegalArgumentException = type { %object.Exception.__vtbl*, i8*, %"byte[]", %"byte[]", i32, %object.Exception.TraceInfo*, %object.Exception* }
+ %tango.core.Exception.IllegalArgumentException.__vtbl = type { %object.ClassInfo*, %"byte[]" (%object.Exception*)*, i32 (%object.Object*)*, i32 (%object.Object*, %object.Object*)*, i32 (%object.Object*, %object.Object*)*, void (%object.Exception*, %"void delegate(char[])")* }
+ %tango.io.device.Array.Array = type { %tango.io.device.Array.Array.__vtbl*, i8*, %4*, %5*, %"byte[]", i32, i32, i32, i32, %6*, %7*, %8* }
+ %tango.io.device.Array.Array.__vtbl = type { %object.ClassInfo*, %"byte[]" (%tango.io.device.Array.Array*)*, i32 (%object.Object*)*, i32 (%object.Object*, %object.Object*)*, i32 (%object.Object*, %object.Object*)*, i32 (%tango.io.device.Array.Array*)*, i32 (%tango.io.device.Array.Array*, %"byte[]")*, i32 (%tango.io.device.Array.Array*, %"byte[]")*, void (%tango.io.device.Array.Array*)*, i1 (%tango.io.device.Conduit.Conduit*)*, %tango.io.device.Array.Array* (%tango.io.device.Array.Array*)*, %tango.io.model.IConduit.OutputStream* (%tango.io.device.Conduit.Conduit*, %tango.io.model.IConduit.InputStream*, i32)*, %"byte[]" (%tango.io.device.Conduit.Conduit*, i32)*, i64 (%tango.io.device.Array.Array*, i64, i32)*, %tango.io.device.Array.Array* (%tango.io.device.Array.Array*, %"byte[]")*, %tango.io.device.Array.Array* (%tango.io.device.Array.Array*, %"byte[]", i32)* }
+ %tango.io.device.Conduit.Conduit = type { %tango.io.device.Conduit.Conduit.__vtbl*, i8*, %2*, %3* }
+ %tango.io.device.Conduit.Conduit.__vtbl = type { %object.ClassInfo*, %"byte[]" (%tango.io.device.Conduit.Conduit*)*, i32 (%object.Object*)*, i32 (%object.Object*, %object.Object*)*, i32 (%object.Object*, %object.Object*)*, i32 (%tango.io.device.Conduit.Conduit*)*, i32 (%tango.io.device.Conduit.Conduit*, %"byte[]")*, i32 (%tango.io.device.Conduit.Conduit*, %"byte[]")*, void (%tango.io.device.Conduit.Conduit*)*, i1 (%tango.io.device.Conduit.Conduit*)*, %tango.io.model.IConduit.IOStream* (%tango.io.device.Conduit.Conduit*)*, %tango.io.model.IConduit.OutputStream* (%tango.io.device.Conduit.Conduit*, %tango.io.model.IConduit.InputStream*, i32)*, %"byte[]" (%tango.io.device.Conduit.Conduit*, i32)*, i64 (%tango.io.device.Conduit.Conduit*, i64, i32)* }
+ %tango.io.device.Conduit.InputFilter = type { %tango.io.device.Conduit.InputFilter.__vtbl*, i8*, %tango.io.model.IConduit.InputStream*, %9* }
+ %tango.io.device.Conduit.InputFilter.__vtbl = type { %object.ClassInfo*, %"byte[]" (%object.Object*)*, i32 (%object.Object*)*, i32 (%object.Object*, %object.Object*)*, i32 (%object.Object*, %object.Object*)*, %tango.io.model.IConduit.IConduit* (%tango.io.device.Conduit.InputFilter*)*, i32 (%tango.io.device.Conduit.InputFilter*, %"byte[]")*, %"byte[]" (%tango.io.device.Conduit.InputFilter*, i32)*, %tango.io.model.IConduit.IOStream* (%tango.io.device.Conduit.InputFilter*)*, i64 (%tango.io.device.Conduit.InputFilter*, i64, i32)*, %tango.io.model.IConduit.InputStream* (%tango.io.device.Conduit.InputFilter*)*, void (%tango.io.device.Conduit.InputFilter*)* }
+ %tango.io.device.Device.Device = type { %tango.io.device.Device.Device.__vtbl*, i8*, %10*, %11*, i32, %12* }
+ %tango.io.device.Device.Device.__vtbl = type { %object.ClassInfo*, %"byte[]" (%tango.io.device.Device.Device*)*, i32 (%object.Object*)*, i32 (%object.Object*, %object.Object*)*, i32 (%object.Object*, %object.Object*)*, i32 (%tango.io.device.Device.Device*)*, i32 (%tango.io.device.Device.Device*, %"byte[]")*, i32 (%tango.io.device.Device.Device*, %"byte[]")*, void (%tango.io.device.Device.Device*)*, i1 (%tango.io.device.Conduit.Conduit*)*, %tango.io.model.IConduit.IOStream* (%tango.io.device.Conduit.Conduit*)*, %tango.io.model.IConduit.OutputStream* (%tango.io.device.Conduit.Conduit*, %tango.io.model.IConduit.InputStream*, i32)*, %"byte[]" (%tango.io.device.Conduit.Conduit*, i32)*, i64 (%tango.io.device.Conduit.Conduit*, i64, i32)*, void (%tango.io.device.Device.Device*, i32)* }
+ %tango.io.device.File.File = type { %tango.io.device.File.File.__vtbl*, i8*, %13*, %14*, i32, %12*, %"byte[]", %tango.io.device.File.File.Style, %8* }
+ %tango.io.device.File.File.Style = type <{ i8, i8, i8, i8 }>
+ %tango.io.device.File.File.__vtbl = type { %object.ClassInfo*, %"byte[]" (%tango.io.device.File.File*)*, i32 (%object.Object*)*, i32 (%object.Object*, %object.Object*)*, i32 (%object.Object*, %object.Object*)*, i32 (%tango.io.device.Device.Device*)*, i32 (%tango.io.device.Device.Device*, %"byte[]")*, i32 (%tango.io.device.Device.Device*, %"byte[]")*, void (%tango.io.device.Device.Device*)*, i1 (%tango.io.device.Conduit.Conduit*)*, %tango.io.model.IConduit.IOStream* (%tango.io.device.Conduit.Conduit*)*, %tango.io.model.IConduit.OutputStream* (%tango.io.device.Conduit.Conduit*, %tango.io.model.IConduit.InputStream*, i32)*, %"byte[]" (%tango.io.device.Conduit.Conduit*, i32)*, i64 (%tango.io.device.File.File*, i64, i32)*, void (%tango.io.device.Device.Device*, i32)*, void (%tango.io.device.File.File.Style*, %tango.io.device.File.File*)*, i64 (%tango.io.device.File.File*)*, i64 (%tango.io.device.File.File*)*, void (%tango.io.device.File.File*, %"byte[]", %tango.io.device.File.File.Style*)*, void (%tango.io.device.File.File*)*, void (%tango.io.device.File.File*, i64)* }
+ %tango.io.model.IConduit.IConduit = type { %tango.io.model.IConduit.IConduit.__vtbl* }
+ %tango.io.model.IConduit.IConduit.Seek = type { %tango.io.model.IConduit.IConduit.Seek.__vtbl* }
+ %tango.io.model.IConduit.IConduit.Seek.__vtbl = type { %object.ClassInfo* }
+ %tango.io.model.IConduit.IConduit.__vtbl = type { %object.ClassInfo*, i64 (%tango.io.model.IConduit.IOStream*, i64, i32)*, %tango.io.model.IConduit.IConduit* (%tango.io.model.IConduit.IOStream*)*, %tango.io.model.IConduit.IOStream* (%tango.io.model.IConduit.IOStream*)*, void (%tango.io.model.IConduit.IOStream*)*, i32 (%tango.io.model.IConduit.InputStream*, %"byte[]")*, %"byte[]" (%tango.io.model.IConduit.InputStream*, i32)*, %tango.io.model.IConduit.InputStream* (%tango.io.model.IConduit.InputStream*)*, i32 (%tango.io.model.IConduit.IConduit*)*, %"byte[]" (%tango.io.model.IConduit.IConduit*)*, i1 (%tango.io.model.IConduit.IConduit*)*, void (%tango.io.model.IConduit.IConduit*)*, void (%tango.io.model.IConduit.IConduit*, %"byte[]")* }
+ %tango.io.model.IConduit.IOStream = type { %tango.io.model.IConduit.IOStream.__vtbl* }
+ %tango.io.model.IConduit.IOStream.Mutator = type { %tango.io.model.IConduit.IConduit.Seek.__vtbl* }
+ %tango.io.model.IConduit.IOStream.Mutator.__vtbl = type { %object.ClassInfo* }
+ %tango.io.model.IConduit.IOStream.__vtbl = type { %object.ClassInfo*, i64 (%tango.io.model.IConduit.IOStream*, i64, i32)*, %tango.io.model.IConduit.IConduit* (%tango.io.model.IConduit.IOStream*)*, %tango.io.model.IConduit.IOStream* (%tango.io.model.IConduit.IOStream*)*, void (%tango.io.model.IConduit.IOStream*)* }
+ %tango.io.model.IConduit.ISelectable = type { %tango.io.model.IConduit.ISelectable.__vtbl* }
+ %tango.io.model.IConduit.ISelectable.__vtbl = type { %object.ClassInfo*, i32 (%tango.io.model.IConduit.ISelectable*)* }
+ %tango.io.model.IConduit.InputBuffer = type { %tango.io.model.IConduit.InputBuffer.__vtbl* }
+ %tango.io.model.IConduit.InputBuffer.__vtbl = type { %object.ClassInfo*, i64 (%tango.io.model.IConduit.IOStream*, i64, i32)*, %tango.io.model.IConduit.IConduit* (%tango.io.model.IConduit.IOStream*)*, %tango.io.model.IConduit.IOStream* (%tango.io.model.IConduit.IOStream*)*, void (%tango.io.model.IConduit.IOStream*)*, i32 (%tango.io.model.IConduit.InputStream*, %"byte[]")*, %"byte[]" (%tango.io.model.IConduit.InputStream*, i32)*, %tango.io.model.IConduit.InputStream* (%tango.io.model.IConduit.InputStream*)*, %"byte[]" (%tango.io.model.IConduit.InputBuffer*)*, i1 (%tango.io.model.IConduit.InputBuffer*, %"uint delegate(char[])")*, i32 (%tango.io.model.IConduit.InputBuffer*, %"uint delegate(char[])")* }
+ %tango.io.model.IConduit.InputStream = type { %tango.io.model.IConduit.InputStream.__vtbl* }
+ %tango.io.model.IConduit.InputStream.__vtbl = type { %object.ClassInfo*, i64 (%tango.io.model.IConduit.IOStream*, i64, i32)*, %tango.io.model.IConduit.IConduit* (%tango.io.model.IConduit.IOStream*)*, %tango.io.model.IConduit.IOStream* (%tango.io.model.IConduit.IOStream*)*, void (%tango.io.model.IConduit.IOStream*)*, i32 (%tango.io.model.IConduit.InputStream*, %"byte[]")*, %"byte[]" (%tango.io.model.IConduit.InputStream*, i32)*, %tango.io.model.IConduit.InputStream* (%tango.io.model.IConduit.InputStream*)* }
+ %tango.io.model.IConduit.OutputBuffer = type { %tango.io.model.IConduit.OutputBuffer.__vtbl* }
+ %tango.io.model.IConduit.OutputBuffer.__vtbl = type { %object.ClassInfo*, i64 (%tango.io.model.IConduit.IOStream*, i64, i32)*, %tango.io.model.IConduit.IConduit* (%tango.io.model.IConduit.IOStream*)*, %tango.io.model.IConduit.IOStream* (%tango.io.model.IConduit.IOStream*)*, void (%tango.io.model.IConduit.IOStream*)*, i32 (%tango.io.model.IConduit.OutputStream*, %"byte[]")*, %tango.io.model.IConduit.OutputStream* (%tango.io.model.IConduit.OutputStream*, %tango.io.model.IConduit.InputStream*, i32)*, %tango.io.model.IConduit.OutputStream* (%tango.io.model.IConduit.OutputStream*)*, %"byte[]" (%tango.io.model.IConduit.OutputBuffer*)*, %tango.io.model.IConduit.OutputBuffer* (%tango.io.model.IConduit.OutputBuffer*, %"byte[]")*, i32 (%tango.io.model.IConduit.OutputBuffer*, %"uint delegate(char[])")* }
+ %tango.io.model.IConduit.OutputStream = type { %tango.io.model.IConduit.OutputStream.__vtbl* }
+ %tango.io.model.IConduit.OutputStream.__vtbl = type { %object.ClassInfo*, i64 (%tango.io.model.IConduit.IOStream*, i64, i32)*, %tango.io.model.IConduit.IConduit* (%tango.io.model.IConduit.IOStream*)*, %tango.io.model.IConduit.IOStream* (%tango.io.model.IConduit.IOStream*)*, void (%tango.io.model.IConduit.IOStream*)*, i32 (%tango.io.model.IConduit.OutputStream*, %"byte[]")*, %tango.io.model.IConduit.OutputStream* (%tango.io.model.IConduit.OutputStream*, %tango.io.model.IConduit.InputStream*, i32)*, %tango.io.model.IConduit.OutputStream* (%tango.io.model.IConduit.OutputStream*)* }
+ %"tango.io.stream.Iterator.Iterator!(char).Iterator" = type { %"tango.io.stream.Iterator.Iterator!(char).Iterator.__vtbl"*, i8*, %tango.io.model.IConduit.InputStream*, %9*, %tango.io.model.IConduit.InputBuffer*, %"byte[]", %"byte[]" }
+ %"tango.io.stream.Iterator.Iterator!(char).Iterator.__vtbl" = type { %object.ClassInfo*, %"byte[]" (%object.Object*)*, i32 (%object.Object*)*, i32 (%object.Object*, %object.Object*)*, i32 (%object.Object*, %object.Object*)*, %tango.io.model.IConduit.IConduit* (%tango.io.device.Conduit.InputFilter*)*, i32 (%tango.io.device.Conduit.InputFilter*, %"byte[]")*, %"byte[]" (%tango.io.device.Conduit.InputFilter*, i32)*, %tango.io.model.IConduit.IOStream* (%tango.io.device.Conduit.InputFilter*)*, i64 (%tango.io.device.Conduit.InputFilter*, i64, i32)*, %tango.io.model.IConduit.InputStream* (%tango.io.device.Conduit.InputFilter*)*, void (%tango.io.device.Conduit.InputFilter*)*, i32 (%"tango.io.stream.Iterator.Iterator!(char).Iterator"*, %"byte[]")*, %"tango.io.stream.Iterator.Iterator!(char).Iterator"* (%"tango.io.stream.Iterator.Iterator!(char).Iterator"*, %tango.io.model.IConduit.InputStream*)*, i32 (%"tango.io.stream.Iterator.Iterator!(char).Iterator"*, %"int delegate(ref char[])")*, i32 (%"tango.io.stream.Iterator.Iterator!(char).Iterator"*, %"int delegate(ref int, ref char[])")*, i32 (%"tango.io.stream.Iterator.Iterator!(char).Iterator"*, %"int delegate(ref int, ref char[], ref char[])")* }
+ %"tango.io.stream.Lines.Lines!(char).Lines" = type { %"tango.io.stream.Iterator.Iterator!(char).Iterator.__vtbl"*, i8*, %tango.io.model.IConduit.InputStream*, %9*, %tango.io.model.IConduit.InputBuffer*, %"byte[]", %"byte[]" }
+ %"tango.io.stream.Lines.Lines!(char).Lines.__vtbl" = type { %object.ClassInfo*, %"byte[]" (%object.Object*)*, i32 (%object.Object*)*, i32 (%object.Object*, %object.Object*)*, i32 (%object.Object*, %object.Object*)*, %tango.io.model.IConduit.IConduit* (%tango.io.device.Conduit.InputFilter*)*, i32 (%tango.io.device.Conduit.InputFilter*, %"byte[]")*, %"byte[]" (%tango.io.device.Conduit.InputFilter*, i32)*, %tango.io.model.IConduit.IOStream* (%tango.io.device.Conduit.InputFilter*)*, i64 (%tango.io.device.Conduit.InputFilter*, i64, i32)*, %tango.io.model.IConduit.InputStream* (%tango.io.device.Conduit.InputFilter*)*, void (%tango.io.device.Conduit.InputFilter*)*, i32 (%"tango.io.stream.Iterator.Iterator!(char).Iterator"*, %"byte[]")*, %"tango.io.stream.Iterator.Iterator!(char).Iterator"* (%"tango.io.stream.Iterator.Iterator!(char).Iterator"*, %tango.io.model.IConduit.InputStream*)*, i32 (%"tango.io.stream.Iterator.Iterator!(char).Iterator"*, %"int delegate(ref char[])")*, i32 (%"tango.io.stream.Iterator.Iterator!(char).Iterator"*, %"int delegate(ref int, ref char[])")*, i32 (%"tango.io.stream.Iterator.Iterator!(char).Iterator"*, %"int delegate(ref int, ref char[], ref char[])")* }
+ %tango.net.Socket.Address = type { %tango.net.Socket.Address.__vtbl*, i8* }
+ %tango.net.Socket.Address.__vtbl = type { %object.ClassInfo*, %"byte[]" (%tango.net.Socket.Address*)*, i32 (%object.Object*)*, i32 (%object.Object*, %object.Object*)*, i32 (%object.Object*, %object.Object*)*, %tango.net.Socket.sockaddr* (%tango.net.Socket.Address*)*, i32 (%tango.net.Socket.Address*)*, i32 (%tango.net.Socket.Address*)* }
+ %tango.net.Socket.IPv4Address = type { %tango.net.Socket.IPv4Address.__vtbl*, i8*, [8 x i8], %tango.net.Socket.IPv4Address.sockaddr_in }
+ %tango.net.Socket.IPv4Address.__vtbl = type { %object.ClassInfo*, %"byte[]" (%tango.net.Socket.IPv4Address*)*, i32 (%object.Object*)*, i32 (%object.Object*, %object.Object*)*, i32 (%object.Object*, %object.Object*)*, %tango.net.Socket.sockaddr* (%tango.net.Socket.IPv4Address*)*, i32 (%tango.net.Socket.IPv4Address*)*, i32 (%tango.net.Socket.IPv4Address*)*, i16 (%tango.net.Socket.IPv4Address*)*, i32 (%tango.net.Socket.IPv4Address*)*, %"byte[]" (%tango.net.Socket.IPv4Address*)*, %"byte[]" (%tango.net.Socket.IPv4Address*)* }
+ %tango.net.Socket.IPv4Address.sockaddr_in = type { i16, i16, i32, [8 x i8] }
+ %tango.net.Socket.NetHost = type { %tango.net.Socket.NetHost.__vtbl*, i8*, %"byte[]", %"char[][]", %"Act[]" }
+ %tango.net.Socket.NetHost.__vtbl = type { %object.ClassInfo*, %"byte[]" (%object.Object*)*, i32 (%object.Object*)*, i32 (%object.Object*, %object.Object*)*, i32 (%object.Object*, %object.Object*)*, void (%tango.net.Socket.NetHost*, %tango.net.Socket.hostent*)*, void (%tango.net.Socket.NetHost*, %tango.net.Socket.hostent*)*, i1 (%tango.net.Socket.NetHost*, %"byte[]")*, i1 (%tango.net.Socket.NetHost*, i32)*, i1 (%tango.net.Socket.NetHost*, %"byte[]")* }
+ %tango.net.Socket.Socket = type { %tango.net.Socket.Socket.__vtbl*, i8*, i32, i32, i32, i32 }
+ %tango.net.Socket.Socket.__vtbl = type { %object.ClassInfo*, %"byte[]" (%tango.net.Socket.Socket*)*, i32 (%object.Object*)*, i32 (%object.Object*, %object.Object*)*, i32 (%object.Object*, %object.Object*)*, i32 (%tango.net.Socket.Socket*)*, void (%tango.net.Socket.Socket*, i32)*, i1 (%tango.net.Socket.Socket*)*, i1 (%tango.net.Socket.Socket*)*, void (%tango.net.Socket.Socket*, i1)*, i32 (%tango.net.Socket.Socket*)*, %tango.net.Socket.Socket* (%tango.net.Socket.Socket*, %tango.net.Socket.Address*)*, %tango.net.Socket.Socket* (%tango.net.Socket.Socket*, %tango.net.Socket.Address*)*, %tango.net.Socket.Socket* (%tango.net.Socket.Socket*, i32)*, %tango.net.Socket.Socket* (%tango.net.Socket.Socket*)*, %tango.net.Socket.Socket* (%tango.net.Socket.Socket*, %tango.net.Socket.Socket*)*, %tango.net.Socket.Socket* (%tango.net.Socket.Socket*, i32)*, %tango.net.Socket.Socket* (%tango.net.Socket.Socket*, i32)*, %tango.net.Socket.Socket* (%tango.net.Socket.Socket*, i1)*, %tango.net.Socket.Socket* (%tango.net.Socket.Socket*, i1)*, void (%tango.net.Socket.Socket*, %tango.net.Socket.IPv4Address*, i1)*, void (%tango.net.Socket.Socket*)*, %tango.net.Socket.Address* (%tango.net.Socket.Socket*)*, %tango.net.Socket.Address* (%tango.net.Socket.Socket*)*, %tango.net.Socket.Address* (%tango.net.Socket.Socket*)*, i32 (%tango.net.Socket.Socket*, %"byte[]", i32)*, i32 (%tango.net.Socket.Socket*, %"byte[]", i32, %tango.net.Socket.Address*)*, i32 (%tango.net.Socket.Socket*, %"byte[]", %tango.net.Socket.Address*)*, i32 (%tango.net.Socket.Socket*, %"byte[]", i32)*, i32 (%tango.net.Socket.Socket*, %"byte[]", i32)*, i32 (%tango.net.Socket.Socket*, %"byte[]", i32, %tango.net.Socket.Address*)*, i32 (%tango.net.Socket.Socket*, %"byte[]", %tango.net.Socket.Address*)*, i32 (%tango.net.Socket.Socket*, %"byte[]", i32)*, i32 (%tango.net.Socket.Socket*, i32, i32, %"byte[]")*, %tango.net.Socket.Socket* (%tango.net.Socket.Socket*, i32, i32, %"byte[]")* }
+ %tango.net.Socket.SocketSet = type { %tango.net.Socket.SocketSet.__vtbl*, i8*, i32, i8*, i32, i32 }
+ %tango.net.Socket.SocketSet.__vtbl = type { %object.ClassInfo*, %"byte[]" (%object.Object*)*, i32 (%object.Object*)*, i32 (%object.Object*, %object.Object*)*, i32 (%object.Object*, %object.Object*)*, i32 (%tango.net.Socket.SocketSet*, i32)*, i32 (%tango.net.Socket.SocketSet*, i32)*, i32* (%tango.net.Socket.SocketSet*)*, i32 (%tango.net.Socket.SocketSet*)*, %tango.net.Socket.SocketSet* (%tango.net.Socket.SocketSet*)*, void (%tango.net.Socket.SocketSet*)*, void (%tango.net.Socket.SocketSet*, i32)*, void (%tango.net.Socket.SocketSet*, %tango.net.Socket.Socket*)*, void (%tango.net.Socket.SocketSet*, i32)*, void (%tango.net.Socket.SocketSet*, %tango.net.Socket.Socket*)*, i32 (%tango.net.Socket.SocketSet*, i32)*, i32 (%tango.net.Socket.SocketSet*, %tango.net.Socket.Socket*)*, i32 (%tango.net.Socket.SocketSet*)*, %"tango.core.Array.IsEqual!(char).IsEqual"* (%tango.net.Socket.SocketSet*)* }
+ %tango.net.Socket.fd_set = type <{ i8 }>
+ %tango.net.Socket.hostent = type { i8*, i8**, i32, i32, i8** }
+ %tango.net.Socket.sockaddr = type { i16, [14 x i8] }
+ %tango.net.Socket.timeval = type { i32, i32 }
+ %tango.net.SocketConduit.SocketConduit = type { %tango.net.SocketConduit.SocketConduit.__vtbl*, i8*, %15*, %16*, %tango.net.Socket.timeval, %tango.net.Socket.SocketSet*, %tango.net.Socket.Socket*, i1, %tango.net.SocketConduit.SocketConduit*, i1, %17* }
+ %tango.net.SocketConduit.SocketConduit.__vtbl = type { %object.ClassInfo*, %"byte[]" (%tango.net.SocketConduit.SocketConduit*)*, i32 (%object.Object*)*, i32 (%object.Object*, %object.Object*)*, i32 (%object.Object*, %object.Object*)*, i32 (%tango.net.SocketConduit.SocketConduit*)*, i32 (%tango.net.SocketConduit.SocketConduit*, %"byte[]")*, i32 (%tango.net.SocketConduit.SocketConduit*, %"byte[]")*, void (%tango.net.SocketConduit.SocketConduit*)*, i1 (%tango.net.SocketConduit.SocketConduit*)*, %tango.io.model.IConduit.IOStream* (%tango.io.device.Conduit.Conduit*)*, %tango.io.model.IConduit.OutputStream* (%tango.io.device.Conduit.Conduit*, %tango.io.model.IConduit.InputStream*, i32)*, %"byte[]" (%tango.io.device.Conduit.Conduit*, i32)*, i64 (%tango.io.device.Conduit.Conduit*, i64, i32)*, %tango.net.Socket.Socket* (%tango.net.SocketConduit.SocketConduit*)*, i32 (%tango.net.SocketConduit.SocketConduit*)*, %tango.net.SocketConduit.SocketConduit* (%tango.net.SocketConduit.SocketConduit*, float)*, i1 (%tango.net.SocketConduit.SocketConduit*)*, %tango.net.SocketConduit.SocketConduit* (%tango.net.SocketConduit.SocketConduit*, %tango.net.Socket.Address*)*, %tango.net.SocketConduit.SocketConduit* (%tango.net.SocketConduit.SocketConduit*, %tango.net.Socket.Address*)*, %tango.net.SocketConduit.SocketConduit* (%tango.net.SocketConduit.SocketConduit*)* }
+ %tango.net.ftp.FtpClient.FTPConnection = type { %tango.net.ftp.FtpClient.FTPConnection.__vtbl*, i8*, %tango.net.SocketConduit.SocketConduit*, %"tango.io.stream.Iterator.Iterator!(char).Iterator"*, [8192 x i8], %"FtpFeature[]", %tango.net.ftp.FtpClient.FtpConnectionDetail, i32, %"byte[]", %tango.net.SocketConduit.SocketConduit*, %tango.time.Time.Time }
+ %tango.net.ftp.FtpClient.FTPConnection.__vtbl = type { %object.ClassInfo*, %"byte[]" (%object.Object*)*, i32 (%object.Object*)*, i32 (%object.Object*, %object.Object*)*, i32 (%object.Object*, %object.Object*)*, void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")*, void (%tango.net.ftp.Telnet.Telnet*, %"byte[]")*, void (%tango.net.ftp.Telnet.Telnet*, %"byte[]")*, %"byte[]" (%tango.net.ftp.Telnet.Telnet*)*, %tango.net.SocketConduit.SocketConduit* (%tango.net.ftp.Telnet.Telnet*, %"byte[]", i32)*, void (%tango.time.Time.Time*, %tango.net.ftp.FtpClient.FTPConnection*)*, void (%tango.net.ftp.FtpClient.FTPConnection*, %tango.time.Time.Time*)*, void (%tango.time.Time.Time*, %tango.net.ftp.FtpClient.FTPConnection*)*, %"FtpFeature[]" (%tango.net.ftp.FtpClient.FTPConnection*)*, void (%tango.net.ftp.FtpClient.FTPConnection*, %tango.net.ftp.FtpClient.FtpResponse*)*, void (%tango.net.ftp.FtpClient.FTPConnection*, %tango.net.ftp.FtpClient.FtpAddress*)*, void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]", %"byte[]", %"byte[]", i32)*, void (%tango.net.ftp.FtpClient.FTPConnection*)*, void (%tango.net.ftp.FtpClient.FTPConnection*)*, void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]", i16, %"byte[]", i16)*, void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")*, void (%tango.net.ftp.FtpClient.FTPConnection*)*, %"byte[]" (%tango.net.ftp.FtpClient.FTPConnection*)*, void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]", i32)*, void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")*, void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")*, void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]", %"byte[]")*, i32 (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")*, i32 (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]", i32)*, void (%tango.net.ftp.FtpClient.FTPConnection*, i32)*, void (%tango.time.Time.Time*, %tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")*, void (%tango.time.Time.Time*, %tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")*, void (%tango.net.ftp.FtpClient.FTPConnection*)*, %"byte[]" (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")*, void (%tango.net.ftp.FtpClient.FTPConnection*)*, void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]", %"char[][]")*, void (%tango.net.ftp.FtpClient.FtpResponse*, %tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")*, void (%tango.net.ftp.FtpClient.FtpResponse*, %tango.net.ftp.FtpClient.FTPConnection*)*, %"byte[]" (%tango.net.ftp.FtpClient.FTPConnection*, %tango.net.ftp.FtpClient.FtpResponse*)*, %tango.net.SocketConduit.SocketConduit* (%tango.net.ftp.FtpClient.FTPConnection*)*, %tango.net.SocketConduit.SocketConduit* (%tango.net.ftp.FtpClient.FTPConnection*)*, i1 (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")*, i1 (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")*, void (%tango.net.ftp.FtpClient.FTPConnection*, %tango.net.SocketConduit.SocketConduit**)*, void (%tango.net.ftp.FtpClient.FTPConnection*, %tango.net.SocketConduit.SocketConduit*)*, %tango.net.SocketConduit.SocketConduit* (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]", %"char[][]")*, %"FtpFileInfo[]" (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")*, void (%tango.net.ftp.FtpClient.FTPConnection*, %tango.net.SocketConduit.SocketConduit*, %tango.io.model.IConduit.OutputStream*, %"void delegate(uint pos)")*, void (%tango.net.ftp.FtpClient.FTPConnection*, %tango.net.SocketConduit.SocketConduit*, %tango.io.model.IConduit.InputStream*, %"void delegate(uint pos)")*, %"FtpFileInfo[]" (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")*, void (%tango.net.ftp.FtpClient.FtpFileInfo*, %tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")*, void (%tango.net.ftp.FtpClient.FtpFileInfo*, %tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")*, void (%tango.net.ftp.FtpClient.FtpFileInfo*, %tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")*, void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]", %"byte[]", %"void delegate(uint pos)", i32)*, void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]", %tango.io.model.IConduit.InputStream*, %"void delegate(uint pos)", i32)*, void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]", %tango.io.model.IConduit.InputStream*, %"void delegate(uint pos)", i32)*, void (%tango.net.ftp.FtpClient.FTPConnection*, i32)*, void (%tango.net.ftp.FtpClient.FTPConnection*, i64)*, void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]", %"byte[]", %"void delegate(uint pos)", i32)*, void (%tango.net.ftp.FtpClient.FTPConnection*)*, void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]", %tango.io.model.IConduit.OutputStream*, %"void delegate(uint pos)", i32)*, %tango.io.model.IConduit.InputStream* (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")*, %tango.io.model.IConduit.OutputStream* (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")* }
+ %tango.net.ftp.FtpClient.FtpAddress = type { %"byte[]", %"byte[]", %"byte[]", %"byte[]", i32 }
+ %tango.net.ftp.FtpClient.FtpConnectionDetail = type { i32, %tango.net.Socket.Address*, %tango.net.Socket.Address* }
+ %tango.net.ftp.FtpClient.FtpException = type { %tango.net.ftp.FtpClient.FtpException.__vtbl*, i8*, %"byte[]", %"byte[]", i32, %object.Exception.TraceInfo*, %object.Exception*, [3 x i8] }
+ %tango.net.ftp.FtpClient.FtpException.__vtbl = type { %object.ClassInfo*, %"byte[]" (%tango.net.ftp.FtpClient.FtpException*)*, i32 (%object.Object*)*, i32 (%object.Object*, %object.Object*)*, i32 (%object.Object*, %object.Object*)*, void (%object.Exception*, %"void delegate(char[])")* }
+ %tango.net.ftp.FtpClient.FtpFeature = type { %"byte[]", %"byte[]" }
+ %tango.net.ftp.FtpClient.FtpFileInfo = type { %"byte[]", i32, i64, %tango.time.Time.Time, %tango.time.Time.Time, %"byte[]", i8* }
+ %tango.net.ftp.FtpClient.FtpResponse = type { [3 x i8], %"byte[]" }
+ %tango.net.ftp.Telnet.Telnet = type { %tango.net.ftp.Telnet.Telnet.__vtbl*, i8*, %tango.net.SocketConduit.SocketConduit*, %"tango.io.stream.Iterator.Iterator!(char).Iterator"*, [8192 x i8] }
+ %tango.net.ftp.Telnet.Telnet.__vtbl = type { %object.ClassInfo*, %"byte[]" (%object.Object*)*, i32 (%object.Object*)*, i32 (%object.Object*, %object.Object*)*, i32 (%object.Object*, %object.Object*)*, void (%tango.net.ftp.Telnet.Telnet*, %"byte[]")*, void (%tango.net.ftp.Telnet.Telnet*, %"byte[]")*, void (%tango.net.ftp.Telnet.Telnet*, %"byte[]")*, %"byte[]" (%tango.net.ftp.Telnet.Telnet*)*, %tango.net.SocketConduit.SocketConduit* (%tango.net.ftp.Telnet.Telnet*, %"byte[]", i32)* }
+ %"tango.text.Regex.CharClass!(dchar).CharClass" = type { %"CharRange!(dchar)[]" }
+ %"tango.text.Regex.CharRange!(dchar).CharRange" = type { i32, i32 }
+ %"tango.text.Regex.List!(StateElement).List" = type { %"tango.text.Regex.List!(StateElement).List.__vtbl"*, i8*, i32, %"tango.text.Regex.List!(StateElement).List.Element"*, %"tango.text.Regex.List!(StateElement).List.Element"* }
+ %"tango.text.Regex.List!(StateElement).List.Element" = type { %object.ModuleInfo.__vtbl*, i8*, %"tango.text.Regex.TDFA!(dchar).TDFA.StateElement"*, %"tango.text.Regex.List!(StateElement).List.Element"*, %"tango.text.Regex.List!(StateElement).List.Element"*, %"tango.text.Regex.List!(StateElement).List"* }
+ %"tango.text.Regex.List!(StateElement).List.Element.__vtbl" = type { %object.ClassInfo*, %"byte[]" (%object.Object*)*, i32 (%object.Object*)*, i32 (%object.Object*, %object.Object*)*, i32 (%object.Object*, %object.Object*)* }
+ %"tango.text.Regex.List!(StateElement).List.__vtbl" = type { %object.ClassInfo*, %"byte[]" (%object.Object*)*, i32 (%object.Object*)*, i32 (%object.Object*, %object.Object*)*, i32 (%object.Object*, %object.Object*)*, %"tango.text.Regex.List!(StateElement).List"* (%"tango.text.Regex.List!(StateElement).List"*, %"tango.text.Regex.TDFA!(dchar).TDFA.StateElement"*)*, %"tango.text.Regex.List!(StateElement).List"* (%"tango.text.Regex.List!(StateElement).List"*, %"tango.text.Regex.TDFA!(dchar).TDFA.StateElement"*, %"tango.text.Regex.TDFA!(dchar).TDFA.StateElement"*)*, %"tango.text.Regex.List!(StateElement).List"* (%"tango.text.Regex.List!(StateElement).List"*, %"tango.text.Regex.List!(StateElement).List.Element"*, %"tango.text.Regex.TDFA!(dchar).TDFA.StateElement"*)*, %"tango.text.Regex.List!(StateElement).List"* (%"tango.text.Regex.List!(StateElement).List"*, %"tango.text.Regex.List!(StateElement).List"*)*, %"tango.text.Regex.List!(StateElement).List"* (%"tango.text.Regex.List!(StateElement).List"*, %"tango.text.Regex.TDFA!(dchar).TDFA.StateElement"*)*, %"tango.text.Regex.List!(StateElement).List"* (%"tango.text.Regex.List!(StateElement).List"*, %"tango.text.Regex.TDFA!(dchar).TDFA.StateElement"*, %"tango.text.Regex.TDFA!(dchar).TDFA.StateElement"*)*, %"tango.text.Regex.List!(StateElement).List"* (%"tango.text.Regex.List!(StateElement).List"*, %"tango.text.Regex.List!(StateElement).List.Element"*, %"tango.text.Regex.TDFA!(dchar).TDFA.StateElement"*)*, %"tango.text.Regex.List!(StateElement).List"* (%"tango.text.Regex.List!(StateElement).List"*, %"tango.text.Regex.List!(StateElement).List"*)*, i32 (%"tango.text.Regex.List!(StateElement).List"*)*, i1 (%"tango.text.Regex.List!(StateElement).List"*)*, void (%"tango.text.Regex.List!(StateElement).List"*)*, void (%"tango.text.Regex.List!(StateElement).List"*)*, void (%"tango.text.Regex.List!(StateElement).List"*, %"tango.text.Regex.List!(StateElement).List.Element"*)*, i32 (%"tango.text.Regex.List!(StateElement).List"*, %18)*, i32 (%"tango.text.Regex.List!(StateElement).List"*, %18)*, i32 (%"tango.text.Regex.List!(StateElement).List"*, %"int delegate(ref StateElement)")*, i32 (%"tango.text.Regex.List!(StateElement).List"*, %"int delegate(ref StateElement)")* }
+ %"tango.text.Regex.List!(SubsetState).List" = type { %"tango.text.Regex.List!(SubsetState).List.__vtbl"*, i8*, i32, %"tango.text.Regex.List!(SubsetState).List.Element"*, %"tango.text.Regex.List!(SubsetState).List.Element"* }
+ %"tango.text.Regex.List!(SubsetState).List.Element" = type { %object.ModuleInfo.__vtbl*, i8*, %"tango.text.Regex.TDFA!(dchar).TDFA.SubsetState"*, %"tango.text.Regex.List!(SubsetState).List.Element"*, %"tango.text.Regex.List!(SubsetState).List.Element"*, %"tango.text.Regex.List!(SubsetState).List"* }
+ %"tango.text.Regex.List!(SubsetState).List.Element.__vtbl" = type { %object.ClassInfo*, %"byte[]" (%object.Object*)*, i32 (%object.Object*)*, i32 (%object.Object*, %object.Object*)*, i32 (%object.Object*, %object.Object*)* }
+ %"tango.text.Regex.List!(SubsetState).List.__vtbl" = type { %object.ClassInfo*, %"byte[]" (%object.Object*)*, i32 (%object.Object*)*, i32 (%object.Object*, %object.Object*)*, i32 (%object.Object*, %object.Object*)*, %"tango.text.Regex.List!(SubsetState).List"* (%"tango.text.Regex.List!(SubsetState).List"*, %"tango.text.Regex.TDFA!(dchar).TDFA.SubsetState"*)*, %"tango.text.Regex.List!(SubsetState).List"* (%"tango.text.Regex.List!(SubsetState).List"*, %"tango.text.Regex.TDFA!(dchar).TDFA.SubsetState"*, %"tango.text.Regex.TDFA!(dchar).TDFA.SubsetState"*)*, %"tango.text.Regex.List!(SubsetState).List"* (%"tango.text.Regex.List!(SubsetState).List"*, %"tango.text.Regex.List!(SubsetState).List.Element"*, %"tango.text.Regex.TDFA!(dchar).TDFA.SubsetState"*)*, %"tango.text.Regex.List!(SubsetState).List"* (%"tango.text.Regex.List!(SubsetState).List"*, %"tango.text.Regex.List!(SubsetState).List"*)*, %"tango.text.Regex.List!(SubsetState).List"* (%"tango.text.Regex.List!(SubsetState).List"*, %"tango.text.Regex.TDFA!(dchar).TDFA.SubsetState"*)*, %"tango.text.Regex.List!(SubsetState).List"* (%"tango.text.Regex.List!(SubsetState).List"*, %"tango.text.Regex.TDFA!(dchar).TDFA.SubsetState"*, %"tango.text.Regex.TDFA!(dchar).TDFA.SubsetState"*)*, %"tango.text.Regex.List!(SubsetState).List"* (%"tango.text.Regex.List!(SubsetState).List"*, %"tango.text.Regex.List!(SubsetState).List.Element"*, %"tango.text.Regex.TDFA!(dchar).TDFA.SubsetState"*)*, %"tango.text.Regex.List!(SubsetState).List"* (%"tango.text.Regex.List!(SubsetState).List"*, %"tango.text.Regex.List!(SubsetState).List"*)*, i32 (%"tango.text.Regex.List!(SubsetState).List"*)*, i1 (%"tango.text.Regex.List!(SubsetState).List"*)*, void (%"tango.text.Regex.List!(SubsetState).List"*)*, void (%"tango.text.Regex.List!(SubsetState).List"*)*, void (%"tango.text.Regex.List!(SubsetState).List"*, %"tango.text.Regex.List!(SubsetState).List.Element"*)*, i32 (%"tango.text.Regex.List!(SubsetState).List"*, %19)*, i32 (%"tango.text.Regex.List!(SubsetState).List"*, %19)*, i32 (%"tango.text.Regex.List!(SubsetState).List"*, %"int delegate(ref SubsetState)")*, i32 (%"tango.text.Regex.List!(SubsetState).List"*, %"int delegate(ref SubsetState)")* }
+ %"tango.text.Regex.List!(TNFAFragment).List" = type { %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"*, i8*, i32, %"tango.text.Regex.List!(TNFAFragment).List.Element"*, %"tango.text.Regex.List!(TNFAFragment).List.Element"* }
+ %"tango.text.Regex.List!(TNFAFragment).List.Element" = type { %object.ModuleInfo.__vtbl*, i8*, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*, %"tango.text.Regex.List!(TNFAFragment).List.Element"*, %"tango.text.Regex.List!(TNFAFragment).List.Element"*, %"tango.text.Regex.List!(TNFAFragment).List"* }
+ %"tango.text.Regex.List!(TNFAFragment).List.Element.__vtbl" = type { %object.ClassInfo*, %"byte[]" (%object.Object*)*, i32 (%object.Object*)*, i32 (%object.Object*, %object.Object*)*, i32 (%object.Object*, %object.Object*)* }
+ %"tango.text.Regex.List!(TNFAFragment).List.__vtbl" = type { %object.ClassInfo*, %"byte[]" (%object.Object*)*, i32 (%object.Object*)*, i32 (%object.Object*, %object.Object*)*, i32 (%object.Object*, %object.Object*)*, %"tango.text.Regex.List!(TNFAFragment).List"* (%"tango.text.Regex.List!(TNFAFragment).List"*, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*)*, %"tango.text.Regex.List!(TNFAFragment).List"* (%"tango.text.Regex.List!(TNFAFragment).List"*, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*)*, %"tango.text.Regex.List!(TNFAFragment).List"* (%"tango.text.Regex.List!(TNFAFragment).List"*, %"tango.text.Regex.List!(TNFAFragment).List.Element"*, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*)*, %"tango.text.Regex.List!(TNFAFragment).List"* (%"tango.text.Regex.List!(TNFAFragment).List"*, %"tango.text.Regex.List!(TNFAFragment).List"*)*, %"tango.text.Regex.List!(TNFAFragment).List"* (%"tango.text.Regex.List!(TNFAFragment).List"*, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*)*, %"tango.text.Regex.List!(TNFAFragment).List"* (%"tango.text.Regex.List!(TNFAFragment).List"*, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*)*, %"tango.text.Regex.List!(TNFAFragment).List"* (%"tango.text.Regex.List!(TNFAFragment).List"*, %"tango.text.Regex.List!(TNFAFragment).List.Element"*, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*)*, %"tango.text.Regex.List!(TNFAFragment).List"* (%"tango.text.Regex.List!(TNFAFragment).List"*, %"tango.text.Regex.List!(TNFAFragment).List"*)*, i32 (%"tango.text.Regex.List!(TNFAFragment).List"*)*, i1 (%"tango.text.Regex.List!(TNFAFragment).List"*)*, void (%"tango.text.Regex.List!(TNFAFragment).List"*)*, void (%"tango.text.Regex.List!(TNFAFragment).List"*)*, void (%"tango.text.Regex.List!(TNFAFragment).List"*, %"tango.text.Regex.List!(TNFAFragment).List.Element"*)*, i32 (%"tango.text.Regex.List!(TNFAFragment).List"*, %1)*, i32 (%"tango.text.Regex.List!(TNFAFragment).List"*, %1)*, i32 (%"tango.text.Regex.List!(TNFAFragment).List"*, %"int delegate(ref TNFAFragment)")*, i32 (%"tango.text.Regex.List!(TNFAFragment).List"*, %"int delegate(ref TNFAFragment)")* }
+ %"tango.text.Regex.List!(TNFATransition).List" = type { %"tango.text.Regex.List!(TNFATransition).List.__vtbl"*, i8*, i32, %"tango.text.Regex.List!(TNFATransition).List.Element"*, %"tango.text.Regex.List!(TNFATransition).List.Element"* }
+ %"tango.text.Regex.List!(TNFATransition).List.Element" = type { %object.ModuleInfo.__vtbl*, i8*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*, %"tango.text.Regex.List!(TNFATransition).List.Element"*, %"tango.text.Regex.List!(TNFATransition).List.Element"*, %"tango.text.Regex.List!(TNFATransition).List"* }
+ %"tango.text.Regex.List!(TNFATransition).List.Element.__vtbl" = type { %object.ClassInfo*, %"byte[]" (%object.Object*)*, i32 (%object.Object*)*, i32 (%object.Object*, %object.Object*)*, i32 (%object.Object*, %object.Object*)* }
+ %"tango.text.Regex.List!(TNFATransition).List.__vtbl" = type { %object.ClassInfo*, %"byte[]" (%object.Object*)*, i32 (%object.Object*)*, i32 (%object.Object*, %object.Object*)*, i32 (%object.Object*, %object.Object*)*, %"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)*, %"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)*, %"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.List!(TNFATransition).List.Element"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)*, %"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.List!(TNFATransition).List"*)*, %"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)*, %"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)*, %"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.List!(TNFATransition).List.Element"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)*, %"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.List!(TNFATransition).List"*)*, i32 (%"tango.text.Regex.List!(TNFATransition).List"*)*, i1 (%"tango.text.Regex.List!(TNFATransition).List"*)*, void (%"tango.text.Regex.List!(TNFATransition).List"*)*, void (%"tango.text.Regex.List!(TNFATransition).List"*)*, void (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.List!(TNFATransition).List.Element"*)*, i32 (%"tango.text.Regex.List!(TNFATransition).List"*, %"int delegate(ref Element)")*, i32 (%"tango.text.Regex.List!(TNFATransition).List"*, %"int delegate(ref Element)")*, i32 (%"tango.text.Regex.List!(TNFATransition).List"*, %"int delegate(ref TNFATransition)")*, i32 (%"tango.text.Regex.List!(TNFATransition).List"*, %"int delegate(ref TNFATransition)")* }
+ %"tango.text.Regex.Pair!(uint).Pair" = type { i32, i32 }
+ %"tango.text.Regex.Predicate!(dchar).Predicate" = type { %"tango.text.Regex.CharClass!(dchar).CharClass", i32, i32, %"byte[]", i32 }
+ %tango.text.Regex.RegExpException = type { %object.Exception.__vtbl*, i8*, %"byte[]", %"byte[]", i32, %object.Exception.TraceInfo*, %object.Exception* }
+ %tango.text.Regex.RegExpException.__vtbl = type { %object.ClassInfo*, %"byte[]" (%object.Exception*)*, i32 (%object.Object*)*, i32 (%object.Object*, %object.Object*)*, i32 (%object.Object*, %object.Object*)*, void (%object.Exception*, %"void delegate(char[])")* }
+ %"tango.text.Regex.RegExpT!(char).RegExpT" = type { %"tango.text.Regex.RegExpT!(char).RegExpT.__vtbl"*, i8*, %"Act[]", i32, i32, %"tango.text.Regex.TDFA!(dchar).TDFA"*, %"byte[]", %"byte[]" }
+ %"tango.text.Regex.RegExpT!(char).RegExpT.__vtbl" = type { %object.ClassInfo*, %"byte[]" (%object.Object*)*, i32 (%object.Object*)*, i32 (%object.Object*, %object.Object*)*, i32 (%object.Object*, %object.Object*)*, %"tango.text.Regex.RegExpT!(char).RegExpT"* (%"tango.text.Regex.RegExpT!(char).RegExpT"*, %"byte[]")*, i32 (%"tango.text.Regex.RegExpT!(char).RegExpT"*, %"int delegate(ref RegExpT)")*, i1 (%"tango.text.Regex.RegExpT!(char).RegExpT"*, %"byte[]")*, i1 (%"tango.text.Regex.RegExpT!(char).RegExpT"*)*, %"byte[]" (%"tango.text.Regex.RegExpT!(char).RegExpT"*, i32)*, %"byte[]" (%"tango.text.Regex.RegExpT!(char).RegExpT"*, i32)*, %"byte[]" (%"tango.text.Regex.RegExpT!(char).RegExpT"*)*, %"byte[]" (%"tango.text.Regex.RegExpT!(char).RegExpT"*)*, %"char[][]" (%"tango.text.Regex.RegExpT!(char).RegExpT"*, %"byte[]")*, %"byte[]" (%"tango.text.Regex.RegExpT!(char).RegExpT"*, %"byte[]", %"byte[]", %"byte[]")*, %"byte[]" (%"tango.text.Regex.RegExpT!(char).RegExpT"*, %"byte[]", %"byte[]", %"byte[]")*, %"byte[]" (%"tango.text.Regex.RegExpT!(char).RegExpT"*, %"byte[]", %"byte[]", %"byte[]")*, %"byte[]" (%"tango.text.Regex.RegExpT!(char).RegExpT"*, %"byte[]", %"char[] delegate(RegExpT)", %"byte[]")*, %"byte[]" (%"tango.text.Regex.RegExpT!(char).RegExpT"*, %"byte[]", i1)*, i32 (%"tango.text.Regex.RegExpT!(char).RegExpT"*)* }
+ %"tango.text.Regex.Stack!(Operator).Stack" = type { i32, %"Act[]" }
+ %"tango.text.Regex.Stack!(Pair!(uint)).Stack" = type { i32, %"CharRange!(dchar)[]" }
+ %"tango.text.Regex.Stack!(TNFATransition).Stack" = type { i32, %"TNFATransition[]" }
+ %"tango.text.Regex.Stack!(uint).Stack" = type { i32, %"Act[]" }
+ %"tango.text.Regex.TDFA!(dchar).TDFA" = type { %"tango.text.Regex.TDFA!(dchar).TDFA.__vtbl"*, i8*, %"State[]", %"tango.text.Regex.TDFA!(dchar).TDFA.State"*, %"CharRange!(dchar)[]", i32, i8*, i32, %"Mark[]" }
+ %"tango.text.Regex.TDFA!(dchar).TDFA.Command" = type { i32, i32 }
+ %"tango.text.Regex.TDFA!(dchar).TDFA.Mark" = type { i32, i1, i8, i16 }
+ %"tango.text.Regex.TDFA!(dchar).TDFA.State" = type { %"tango.text.Regex.TDFA!(dchar).TDFA.State.__vtbl"*, i8*, i1, i32, %"Transition[]", %"Transition[]", %"CharRange!(dchar)[]", %"byte[]", i32, %"tango.text.Regex.TDFA!(dchar).TDFA"* }
+ %"tango.text.Regex.TDFA!(dchar).TDFA.State.__vtbl" = type { %object.ClassInfo*, %"byte[]" (%object.Object*)*, i32 (%object.Object*)*, i32 (%object.Object*, %object.Object*)*, i32 (%object.Object*, %object.Object*)*, void (%"tango.text.Regex.TDFA!(dchar).TDFA.State"*)*, void (%"tango.text.Regex.TDFA!(dchar).TDFA.State"*)* }
+ %"tango.text.Regex.TDFA!(dchar).TDFA.StateElement" = type { %"tango.text.Regex.TDFA!(dchar).TDFA.StateElement.__vtbl"*, i8*, %"tango.text.Regex.TNFAState!(dchar).TNFAState"*, i8*, i32, i32, %"tango.text.Regex.TDFA!(dchar).TDFA"* }
+ %"tango.text.Regex.TDFA!(dchar).TDFA.StateElement.__vtbl" = type { %object.ClassInfo*, %"byte[]" (%"tango.text.Regex.TDFA!(dchar).TDFA.StateElement"*)*, i32 (%object.Object*)*, i32 (%"tango.text.Regex.TDFA!(dchar).TDFA.StateElement"*, %object.Object*)*, i32 (%object.Object*, %object.Object*)*, i1 (%"tango.text.Regex.TDFA!(dchar).TDFA.StateElement"*, %"tango.text.Regex.TDFA!(dchar).TDFA.StateElement"*)* }
+ %"tango.text.Regex.TDFA!(dchar).TDFA.SubsetState" = type { %"tango.text.Regex.TDFA!(dchar).TDFA.SubsetState.__vtbl"*, i8*, %"StateElement[]", %"tango.text.Regex.TDFA!(dchar).TDFA.State"*, %"tango.text.Regex.TDFA!(dchar).TDFA"* }
+ %"tango.text.Regex.TDFA!(dchar).TDFA.SubsetState.__vtbl" = type { %object.ClassInfo*, %"byte[]" (%"tango.text.Regex.TDFA!(dchar).TDFA.SubsetState"*)*, i32 (%object.Object*)*, i32 (%object.Object*, %object.Object*)*, i32 (%object.Object*, %object.Object*)*, i32 (%"tango.text.Regex.TDFA!(dchar).TDFA.SubsetState"*, %"int delegate(ref TNFATransition)")* }
+ %"tango.text.Regex.TDFA!(dchar).TDFA.TagIndex" = type { i32, i32 }
+ %"tango.text.Regex.TDFA!(dchar).TDFA.Transition" = type { %"tango.text.Regex.TDFA!(dchar).TDFA.Transition.__vtbl"*, i8*, %"tango.text.Regex.TDFA!(dchar).TDFA.State"*, %"tango.text.Regex.Predicate!(dchar).Predicate", %"CharRange!(dchar)[]", %"tango.text.Regex.TDFA!(dchar).TDFA"* }
+ %"tango.text.Regex.TDFA!(dchar).TDFA.Transition.__vtbl" = type { %object.ClassInfo*, %"byte[]" (%object.Object*)*, i32 (%object.Object*)*, i32 (%"tango.text.Regex.TDFA!(dchar).TDFA.Transition"*, %object.Object*)*, i32 (%"tango.text.Regex.TDFA!(dchar).TDFA.Transition"*, %object.Object*)*, i1 (%"tango.text.Regex.TDFA!(dchar).TDFA.Transition"*, %"tango.text.Regex.TDFA!(dchar).TDFA.Transition"*)* }
+ %"tango.text.Regex.TDFA!(dchar).TDFA.__vtbl" = type { %object.ClassInfo*, %"byte[]" (%object.Object*)*, i32 (%object.Object*)*, i32 (%object.Object*, %object.Object*)*, i32 (%object.Object*, %object.Object*)*, i32 (%"tango.text.Regex.TDFA!(dchar).TDFA"*)* }
+ %"tango.text.Regex.TNFA!(dchar).TNFA" = type { %"tango.text.Regex.TNFA!(dchar).TNFA.__vtbl"*, i8*, %"Act[]", %"TNFAState[]", %"tango.text.Regex.TNFAState!(dchar).TNFAState"*, i1, i32, i32, i32, %"tango.text.Regex.List!(TNFATransition).List"*, i8*, i8* }
+ %"tango.text.Regex.TNFA!(dchar).TNFA.__vtbl" = type { %object.ClassInfo*, %"byte[]" (%object.Object*)*, i32 (%object.Object*)*, i32 (%object.Object*, %object.Object*)*, i32 (%object.Object*, %object.Object*)*, i32 (%"tango.text.Regex.TNFA!(dchar).TNFA"*)*, void (%"tango.text.Regex.TNFA!(dchar).TNFA"*, i1)* }
+ %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment" = type { %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"*, i8*, %"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.List!(TNFATransition).List"*, i1 }
+ %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl" = type { %object.ClassInfo*, %"byte[]" (%object.Object*)*, i32 (%object.Object*)*, i32 (%object.Object*, %object.Object*)*, i32 (%object.Object*, %object.Object*)*, void (%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*, %"tango.text.Regex.TNFAState!(dchar).TNFAState"*)*, void (%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*, %"tango.text.Regex.TNFAState!(dchar).TNFAState"*)* }
+ %"tango.text.Regex.TNFAState!(dchar).TNFAState" = type { %object.ModuleInfo.__vtbl*, i8*, i1, i1, i32, %"tango.text.Regex.List!(TNFATransition).List"* }
+ %"tango.text.Regex.TNFAState!(dchar).TNFAState.__vtbl" = type { %object.ClassInfo*, %"byte[]" (%object.Object*)*, i32 (%object.Object*)*, i32 (%object.Object*, %object.Object*)*, i32 (%object.Object*, %object.Object*)* }
+ %"tango.text.Regex.TNFATransition!(dchar).TNFATransition" = type { %object.ModuleInfo.__vtbl*, i8*, %"tango.text.Regex.TNFAState!(dchar).TNFAState"*, %"tango.text.Regex.Predicate!(dchar).Predicate", i32, i32, i32 }
+ %"tango.text.Regex.TNFATransition!(dchar).TNFATransition.__vtbl" = type { %object.ClassInfo*, %"byte[]" (%object.Object*)*, i32 (%object.Object*)*, i32 (%object.Object*, %object.Object*)*, i32 (%object.Object*, %object.Object*)* }
+ %"tango.text.Util.DelimFruct!(char).DelimFruct" = type { %"byte[]", %"byte[]" }
+ %"tango.text.Util.LineFruct!(char).LineFruct" = type { %"byte[]" }
+ %"tango.text.convert.Integer._FormatterInfo!(char)._FormatterInfo" = type { i32, %"byte[]", %"byte[]" }
+ %"tango.text.convert.Integer._FormatterInfo!(dchar)._FormatterInfo" = type { i32, %"Act[]", %"Act[]" }
+ %"tango.text.convert.Integer._FormatterInfo!(wchar)._FormatterInfo" = type { i32, %"wchar[]", %"wchar[]" }
+ %"tango.text.convert.Layout.Layout!(char).Layout" = type { %"tango.text.convert.Layout.Layout!(char).Layout.__vtbl"*, i8* }
+ %"tango.text.convert.Layout.Layout!(char).Layout.__vtbl" = type { %object.ClassInfo*, %"byte[]" (%object.Object*)*, i32 (%object.Object*)*, i32 (%object.Object*, %object.Object*)*, i32 (%object.Object*, %object.Object*)*, %"byte[]" (%"tango.text.convert.Layout.Layout!(char).Layout"*, %"byte[]", %"byte[]", %object.TypeInfo*, i8*)*, %"byte[]" (%"tango.text.convert.Layout.Layout!(char).Layout"*, %"byte[]", i64, %"byte[]", i64, %"byte[]")*, %"byte[]" (%"tango.text.convert.Layout.Layout!(char).Layout"*, %"byte[]", double, %"byte[]")* }
+ %tango.time.Time.Date = type { i32, i32, i32, i32, i32, i32 }
+ %tango.time.Time.DateTime = type { %tango.time.Time.Date, %tango.time.Time.TimeOfDay }
+ %tango.time.Time.Time = type { i64 }
+ %tango.time.Time.TimeOfDay = type { i32, i32, i32, i32 }
+ %tango.time.Time.TimeSpan = type { i64 }
+ %tango.time.chrono.Calendar.Calendar = type { %tango.time.chrono.Calendar.Calendar.__vtbl*, i8* }
+ %tango.time.chrono.Calendar.Calendar.__vtbl = type { %object.ClassInfo*, %"byte[]" (%object.Object*)*, i32 (%object.Object*)*, i32 (%object.Object*, %object.Object*)*, i32 (%object.Object*, %object.Object*)*, void (%tango.time.Time.Date*, %tango.time.chrono.Calendar.Calendar*, %tango.time.Time.Time*)*, void (%tango.time.chrono.Calendar.Calendar*, %tango.time.Time.Time*, i32*, i32*, i32*, i32*, i32*, i32*)*, void (%tango.time.Time.Time*, %tango.time.chrono.Calendar.Calendar*, i32, i32, i32, i32, i32, i32, i32)*, void (%tango.time.Time.Time*, %tango.time.chrono.Calendar.Calendar*, %tango.time.Time.Date*)*, void (%tango.time.Time.Time*, %tango.time.chrono.Calendar.Calendar*, %tango.time.Time.DateTime*)*, void (%tango.time.Time.Time*, %tango.time.chrono.Calendar.Calendar*, %tango.time.Time.Date*, %tango.time.Time.TimeOfDay*)*, void (%tango.time.Time.Time*, %tango.time.chrono.Calendar.Calendar*, i32, i32, i32, i32, i32, i32, i32, i32)*, i32 (%tango.time.chrono.Calendar.Calendar*, %tango.time.Time.Time*)*, i32 (%tango.time.chrono.Calendar.Calendar*, %tango.time.Time.Time*)*, i32 (%tango.time.chrono.Calendar.Calendar*, %tango.time.Time.Time*)*, i32 (%tango.time.chrono.Calendar.Calendar*, %tango.time.Time.Time*)*, i32 (%tango.time.chrono.Calendar.Calendar*, %tango.time.Time.Time*)*, i32 (%tango.time.chrono.Calendar.Calendar*, %tango.time.Time.Time*)*, i32 (%tango.time.chrono.Calendar.Calendar*, i32, i32)*, i32 (%tango.time.chrono.Calendar.Calendar*, i32, i32, i32)*, i32 (%tango.time.chrono.Calendar.Calendar*, i32)*, i32 (%tango.time.chrono.Calendar.Calendar*, i32, i32)*, i32 (%tango.time.chrono.Calendar.Calendar*, i32)*, i32 (%tango.time.chrono.Calendar.Calendar*, i32, i32)*, i32 (%tango.time.chrono.Calendar.Calendar*, %tango.time.Time.Time*, i32, i32)*, i1 (%tango.time.chrono.Calendar.Calendar*, i32)*, i1 (%tango.time.chrono.Calendar.Calendar*, i32, i32)*, %"Act[]" (%tango.time.chrono.Calendar.Calendar*)*, i32 (%tango.time.chrono.Calendar.Calendar*)*, void (%tango.time.Time.Time*, %tango.time.chrono.Calendar.Calendar*, %tango.time.Time.Time*, i32, i1)*, void (%tango.time.Time.Time*, %tango.time.chrono.Calendar.Calendar*, %tango.time.Time.Time*, i32)* }
+ %tango.time.chrono.Gregorian.Gregorian = type { %tango.time.chrono.Gregorian.Gregorian.__vtbl*, i8*, i32 }
+ %tango.time.chrono.Gregorian.Gregorian.__vtbl = type { %object.ClassInfo*, %"byte[]" (%object.Object*)*, i32 (%object.Object*)*, i32 (%object.Object*, %object.Object*)*, i32 (%object.Object*, %object.Object*)*, void (%tango.time.Time.Date*, %tango.time.chrono.Calendar.Calendar*, %tango.time.Time.Time*)*, void (%tango.time.chrono.Gregorian.Gregorian*, %tango.time.Time.Time*, i32*, i32*, i32*, i32*, i32*, i32*)*, void (%tango.time.Time.Time*, %tango.time.chrono.Calendar.Calendar*, i32, i32, i32, i32, i32, i32, i32)*, void (%tango.time.Time.Time*, %tango.time.chrono.Calendar.Calendar*, %tango.time.Time.Date*)*, void (%tango.time.Time.Time*, %tango.time.chrono.Calendar.Calendar*, %tango.time.Time.DateTime*)*, void (%tango.time.Time.Time*, %tango.time.chrono.Calendar.Calendar*, %tango.time.Time.Date*, %tango.time.Time.TimeOfDay*)*, void (%tango.time.Time.Time*, %tango.time.chrono.Gregorian.Gregorian*, i32, i32, i32, i32, i32, i32, i32, i32)*, i32 (%tango.time.chrono.Gregorian.Gregorian*, %tango.time.Time.Time*)*, i32 (%tango.time.chrono.Gregorian.Gregorian*, %tango.time.Time.Time*)*, i32 (%tango.time.chrono.Gregorian.Gregorian*, %tango.time.Time.Time*)*, i32 (%tango.time.chrono.Gregorian.Gregorian*, %tango.time.Time.Time*)*, i32 (%tango.time.chrono.Gregorian.Gregorian*, %tango.time.Time.Time*)*, i32 (%tango.time.chrono.Gregorian.Gregorian*, %tango.time.Time.Time*)*, i32 (%tango.time.chrono.Calendar.Calendar*, i32, i32)*, i32 (%tango.time.chrono.Gregorian.Gregorian*, i32, i32, i32)*, i32 (%tango.time.chrono.Calendar.Calendar*, i32)*, i32 (%tango.time.chrono.Gregorian.Gregorian*, i32, i32)*, i32 (%tango.time.chrono.Calendar.Calendar*, i32)*, i32 (%tango.time.chrono.Gregorian.Gregorian*, i32, i32)*, i32 (%tango.time.chrono.Calendar.Calendar*, %tango.time.Time.Time*, i32, i32)*, i1 (%tango.time.chrono.Calendar.Calendar*, i32)*, i1 (%tango.time.chrono.Gregorian.Gregorian*, i32, i32)*, %"Act[]" (%tango.time.chrono.Gregorian.Gregorian*)*, i32 (%tango.time.chrono.Gregorian.Gregorian*)*, void (%tango.time.Time.Time*, %tango.time.chrono.Gregorian.Gregorian*, %tango.time.Time.Time*, i32, i1)*, void (%tango.time.Time.Time*, %tango.time.chrono.Gregorian.Gregorian*, %tango.time.Time.Time*, i32)*, i32 (%tango.time.chrono.Gregorian.Gregorian*)* }
+ %"ubyte[]" = type { i32, i8* }
+ %"uint delegate(char[])" = type { i8*, i32 (i8*, %"byte[]")* }
+ %"uint delegate(void[])" = type { i8*, i32 (i8*, %"byte[]")* }
+ %"uint[]" = type { i32, i32* }
+ %"void delegate(char[])" = type { i8*, void (i8*, %"byte[]")* }
+ %"void delegate(uint pos)" = type { i8*, void (i8*, i32)* }
+ %"void*[]" = type { i32, i8** }
+ %"void[]" = type { i32, i8* }
+ %"wchar[]" = type { i32, i16* }
+ %"wchar[][]" = type { i32, %"wchar[]"* }
+@_D5tango3net3ftp9FtpClient10FtpAddress6__initZ = constant %tango.net.ftp.FtpClient.FtpAddress { %"byte[]" zeroinitializer, %"byte[]" zeroinitializer, %"byte[]" { i32 9, i8* getelementptr ([10 x i8]* @.str, i32 0, i32 0) }, %"byte[]" { i32 19, i8* getelementptr ([20 x i8]* @.str1, i32 0, i32 0) }, i32 21 }, align 4 ; <%tango.net.ftp.FtpClient.FtpAddress*> [#uses=1]
+@.str = internal constant [10 x i8] c"anonymous\00" ; <[10 x i8]*> [#uses=1]
+@.str1 = internal constant [20 x i8] c"anonymous@anonymous\00" ; <[20 x i8]*> [#uses=1]
+@_D46TypeInfo_S5tango3net3ftp9FtpClient10FtpAddress6__initZ = linkonce_odr constant %20 { %object.TypeInfo.__vtbl* @_D15TypeInfo_Struct6__vtblZ, i8* null, %"byte[]" { i32 34, i8* getelementptr ([35 x i8]* @.str2, i32 0, i32 0) }, %"byte[]" { i32 36, i8* bitcast (%tango.net.ftp.FtpClient.FtpAddress* @_D5tango3net3ftp9FtpClient10FtpAddress6__initZ to i8*) }, i8* null, i8* null, i8* null, i8* null, i32 1 } ; <%20*> [#uses=1]
+@_D6Object7__ClassZ = external global %object.ClassInfo ; <%object.ClassInfo*> [#uses=11]
+@_D15TypeInfo_Struct6__vtblZ = external constant %object.TypeInfo.__vtbl ; <%object.TypeInfo.__vtbl*> [#uses=5]
+@.str2 = internal constant [35 x i8] c"tango.net.ftp.FtpClient.FtpAddress\00" ; <[35 x i8]*> [#uses=1]
+@_D5tango3net3ftp9FtpClient11FtpResponse6__initZ = constant %tango.net.ftp.FtpClient.FtpResponse { [3 x i8] c"000", %"byte[]" zeroinitializer }, align 4 ; <%tango.net.ftp.FtpClient.FtpResponse*> [#uses=1]
+@_D5tango3net3ftp9FtpClient19FtpConnectionDetail6__initZ = constant %tango.net.ftp.FtpClient.FtpConnectionDetail { i32 1, %tango.net.Socket.Address* null, %tango.net.Socket.Address* null }, align 4 ; <%tango.net.ftp.FtpClient.FtpConnectionDetail*> [#uses=0]
+@_D5tango3net3ftp9FtpClient10FtpFeature6__initZ = constant %tango.net.ftp.FtpClient.FtpFeature zeroinitializer, align 4 ; <%tango.net.ftp.FtpClient.FtpFeature*> [#uses=1]
+@_D46TypeInfo_S5tango3net3ftp9FtpClient10FtpFeature6__initZ = linkonce_odr constant %20 { %object.TypeInfo.__vtbl* @_D15TypeInfo_Struct6__vtblZ, i8* null, %"byte[]" { i32 34, i8* getelementptr ([35 x i8]* @.str5, i32 0, i32 0) }, %"byte[]" { i32 16, i8* bitcast (%tango.net.ftp.FtpClient.FtpFeature* @_D5tango3net3ftp9FtpClient10FtpFeature6__initZ to i8*) }, i8* null, i8* null, i8* null, i8* null, i32 1 } ; <%20*> [#uses=1]
+@.str5 = internal constant [35 x i8] c"tango.net.ftp.FtpClient.FtpFeature\00" ; <[35 x i8]*> [#uses=1]
+@_D5tango3net3ftp9FtpClient11FtpFileInfo6__initZ = constant %tango.net.ftp.FtpClient.FtpFileInfo { %"byte[]" zeroinitializer, i32 0, i64 -1, %tango.time.Time.Time { i64 3155378975999999999 }, %tango.time.Time.Time { i64 3155378975999999999 }, %"byte[]" zeroinitializer, i8* null }, align 4 ; <%tango.net.ftp.FtpClient.FtpFileInfo*> [#uses=1]
+@_D5tango4time4Time4Time3maxS5tango4time4Time4Time = external constant %tango.time.Time.Time, align 4 ; <%tango.time.Time.Time*> [#uses=1]
+@_D47TypeInfo_S5tango3net3ftp9FtpClient11FtpFileInfo6__initZ = linkonce_odr constant %20 { %object.TypeInfo.__vtbl* @_D15TypeInfo_Struct6__vtblZ, i8* null, %"byte[]" { i32 35, i8* getelementptr ([36 x i8]* @.str6, i32 0, i32 0) }, %"byte[]" { i32 48, i8* bitcast (%tango.net.ftp.FtpClient.FtpFileInfo* @_D5tango3net3ftp9FtpClient11FtpFileInfo6__initZ to i8*) }, i8* null, i8* null, i8* null, i8* null, i32 1 } ; <%20*> [#uses=1]
+@.str6 = internal constant [36 x i8] c"tango.net.ftp.FtpClient.FtpFileInfo\00" ; <[36 x i8]*> [#uses=1]
+@_D9Exception7__ClassZ = external global %object.ClassInfo ; <%object.ClassInfo*> [#uses=1]
+@_D5tango3net3ftp9FtpClient12FtpException7__ClassZ = global %object.ClassInfo { %object.ClassInfo.__vtbl* @_D9ClassInfo6__vtblZ, i8* null, %"byte[]" { i32 40, i8* bitcast (%tango.net.ftp.FtpClient.FtpException* @_D5tango3net3ftp9FtpClient12FtpException6__initZ to i8*) }, %"byte[]" { i32 36, i8* getelementptr ([37 x i8]* @.str7, i32 0, i32 0) }, %"void*[]" { i32 6, i8** bitcast (%tango.net.ftp.FtpClient.FtpException.__vtbl* @_D5tango3net3ftp9FtpClient12FtpException6__vtblZ to i8**) }, %"Interface[]" zeroinitializer, %object.ClassInfo* @_D9Exception7__ClassZ, i8* null, i8* null, i32 44, i8* null, %"OffsetTypeInfo[]" zeroinitializer, i8* null, %object.TypeInfo* bitcast (%object.TypeInfo_Class* @_D48TypeInfo_C5tango3net3ftp9FtpClient12FtpException6__initZ to %object.TypeInfo*) } ; <%object.ClassInfo*> [#uses=17]
+@_D5tango3net3ftp9FtpClient12FtpException6__initZ = constant %tango.net.ftp.FtpClient.FtpException { %tango.net.ftp.FtpClient.FtpException.__vtbl* @_D5tango3net3ftp9FtpClient12FtpException6__vtblZ, i8* null, %"byte[]" zeroinitializer, %"byte[]" zeroinitializer, i32 0, %object.Exception.TraceInfo* null, %object.Exception* null, [3 x i8] c"000" }, align 4 ; <%tango.net.ftp.FtpClient.FtpException*> [#uses=2]
+@_D5tango3net3ftp9FtpClient12FtpException6__vtblZ = constant %tango.net.ftp.FtpClient.FtpException.__vtbl { %object.ClassInfo* @_D5tango3net3ftp9FtpClient12FtpException7__ClassZ, %"byte[]" (%tango.net.ftp.FtpClient.FtpException*)* @_D5tango3net3ftp9FtpClient12FtpException8toStringMFZAa, i32 (%object.Object*)* @_D6object6Object6toHashMFZk, i32 (%object.Object*, %object.Object*)* @_D6object6Object5opCmpMFC6ObjectZi, i32 (%object.Object*, %object.Object*)* @_D6object6Object8opEqualsMFC6ObjectZi, void (%object.Exception*, %"void delegate(char[])")* @_D6object9Exception8writeOutMFDFAaZvZv } ; <%tango.net.ftp.FtpClient.FtpException.__vtbl*> [#uses=12]
+@_D48TypeInfo_C5tango3net3ftp9FtpClient12FtpException6__initZ = linkonce_odr constant %object.TypeInfo_Class { %object.TypeInfo.__vtbl* @_D14TypeInfo_Class6__vtblZ, i8* null, %object.ClassInfo* @_D5tango3net3ftp9FtpClient12FtpException7__ClassZ } ; <%object.TypeInfo_Class*> [#uses=1]
+@_D14TypeInfo_Class6__vtblZ = external constant %object.TypeInfo.__vtbl ; <%object.TypeInfo.__vtbl*> [#uses=10]
+@_D9ClassInfo6__vtblZ = external constant %object.ClassInfo.__vtbl ; <%object.ClassInfo.__vtbl*> [#uses=10]
+@.str7 = internal constant [37 x i8] c"tango.net.ftp.FtpClient.FtpException\00" ; <[37 x i8]*> [#uses=1]
+@_D5tango3net3ftp6Telnet6Telnet7__ClassZ = external global %object.ClassInfo ; <%object.ClassInfo*> [#uses=1]
+@_D5tango3net3ftp9FtpClient13FTPConnection7__ClassZ = global %object.ClassInfo { %object.ClassInfo.__vtbl* @_D9ClassInfo6__vtblZ, i8* null, %"byte[]" { i32 8252, i8* bitcast (%tango.net.ftp.FtpClient.FTPConnection* @_D5tango3net3ftp9FtpClient13FTPConnection6__initZ to i8*) }, %"byte[]" { i32 37, i8* getelementptr ([38 x i8]* @.str9, i32 0, i32 0) }, %"void*[]" { i32 63, i8** bitcast (%tango.net.ftp.FtpClient.FTPConnection.__vtbl* @_D5tango3net3ftp9FtpClient13FTPConnection6__vtblZ to i8**) }, %"Interface[]" zeroinitializer, %object.ClassInfo* @_D5tango3net3ftp6Telnet6Telnet7__ClassZ, i8* null, i8* null, i32 44, i8* null, %"OffsetTypeInfo[]" zeroinitializer, i8* bitcast (%tango.net.ftp.FtpClient.FTPConnection* (%tango.net.ftp.FtpClient.FTPConnection*)* @_D5tango3net3ftp9FtpClient13FTPConnection5_ctorMFZC5tango3net3ftp9FtpClient13FTPConnection to i8*), %object.TypeInfo* bitcast (%object.TypeInfo_Class* @_D49TypeInfo_C5tango3net3ftp9FtpClient13FTPConnection6__initZ to %object.TypeInfo*) } ; <%object.ClassInfo*> [#uses=3]
+@_D5tango3net3ftp9FtpClient13FTPConnection6__initZ = constant %tango.net.ftp.FtpClient.FTPConnection { %tango.net.ftp.FtpClient.FTPConnection.__vtbl* @_D5tango3net3ftp9FtpClient13FTPConnection6__vtblZ, i8* null, %tango.net.SocketConduit.SocketConduit* null, %"tango.io.stream.Iterator.Iterator!(char).Iterator"* null, [8192 x i8] c"\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF\FF", %"FtpFeature[]" zeroinitializer, %tango.net.ftp.FtpClient.FtpConnectionDetail { i32 1, %tango.net.Socket.Address* null, %tango.net.Socket.Address* null }, i32 0, %"byte[]" { i32 0, i8* getelementptr ([1 x i8]* @.str8, i32 0, i32 0) }, %tango.net.SocketConduit.SocketConduit* null, %tango.time.Time.Time { i64 50000000 } }, align 4 ; <%tango.net.ftp.FtpClient.FTPConnection*> [#uses=1]
+@_D5tango3net3ftp9FtpClient13FTPConnection6__vtblZ = constant %tango.net.ftp.FtpClient.FTPConnection.__vtbl { %object.ClassInfo* @_D5tango3net3ftp9FtpClient13FTPConnection7__ClassZ, %"byte[]" (%object.Object*)* @_D6object6Object8toStringMFZAa, i32 (%object.Object*)* @_D6object6Object6toHashMFZk, i32 (%object.Object*, %object.Object*)* @_D6object6Object5opCmpMFC6ObjectZi, i32 (%object.Object*, %object.Object*)* @_D6object6Object8opEqualsMFC6ObjectZi, void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")* @_D5tango3net3ftp9FtpClient13FTPConnection9exceptionMFAaZv, void (%tango.net.ftp.Telnet.Telnet*, %"byte[]")* @_D5tango3net3ftp6Telnet6Telnet8sendlineMFAvZv, void (%tango.net.ftp.Telnet.Telnet*, %"byte[]")* @_D5tango3net3ftp6Telnet6Telnet8sendDataMFAvZv, %"byte[]" (%tango.net.ftp.Telnet.Telnet*)* @_D5tango3net3ftp6Telnet6Telnet8readLineMFZAa, %tango.net.SocketConduit.SocketConduit* (%tango.net.ftp.Telnet.Telnet*, %"byte[]", i32)* @_D5tango3net3ftp6Telnet6Telnet19findAvailableServerMFAaiZC5tango3net13SocketConduit13SocketConduit, void (%tango.time.Time.Time*, %tango.net.ftp.FtpClient.FTPConnection*)* @_D5tango3net3ftp9FtpClient13FTPConnection7timeoutMFZS5tango4time4Time8TimeSpan, void (%tango.net.ftp.FtpClient.FTPConnection*, %tango.time.Time.Time*)* @_D5tango3net3ftp9FtpClient13FTPConnection7timeoutMFS5tango4time4Time8TimeSpanZv, void (%tango.time.Time.Time*, %tango.net.ftp.FtpClient.FTPConnection*)* @_D5tango3net3ftp9FtpClient13FTPConnection12shutdownTimeMFZS5tango4time4Time8TimeSpan, %"FtpFeature[]" (%tango.net.ftp.FtpClient.FTPConnection*)* @_D5tango3net3ftp9FtpClient13FTPConnection17supportedFeaturesMFZAS5tango3net3ftp9FtpClient10FtpFeature, void (%tango.net.ftp.FtpClient.FTPConnection*, %tango.net.ftp.FtpClient.FtpResponse*)* @_D5tango3net3ftp9FtpClient13FTPConnection9exceptionMFS5tango3net3ftp9FtpClient11FtpResponseZv, void (%tango.net.ftp.FtpClient.FTPConnection*, %tango.net.ftp.FtpClient.FtpAddress*)* @_D5tango3net3ftp9FtpClient13FTPConnection7connectMFS5tango3net3ftp9FtpClient10FtpAddressZv, void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]", %"byte[]", %"byte[]", i32)* @_D5tango3net3ftp9FtpClient13FTPConnection7connectMFAaAaAakZv, void (%tango.net.ftp.FtpClient.FTPConnection*)* @_D5tango3net3ftp9FtpClient13FTPConnection5closeMFZv, void (%tango.net.ftp.FtpClient.FTPConnection*)* @_D5tango3net3ftp9FtpClient13FTPConnection10setPassiveMFZv, void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]", i16, %"byte[]", i16)* @_D5tango3net3ftp9FtpClient13FTPConnection9setActiveMFAatAatZv, void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")* @_D5tango3net3ftp9FtpClient13FTPConnection2cdMFAaZv, void (%tango.net.ftp.FtpClient.FTPConnection*)* @_D5tango3net3ftp9FtpClient13FTPConnection4cdupMFZv, %"byte[]" (%tango.net.ftp.FtpClient.FTPConnection*)* @_D5tango3net3ftp9FtpClient13FTPConnection3cwdMFZAa, void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]", i32)* @_D5tango3net3ftp9FtpClient13FTPConnection5chmodMFAaiZv, void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")* @_D5tango3net3ftp9FtpClient13FTPConnection3delMFAaZv, void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")* @_D5tango3net3ftp9FtpClient13FTPConnection2rmMFAaZv, void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]", %"byte[]")* @_D5tango3net3ftp9FtpClient13FTPConnection6renameMFAaAaZv, i32 (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")* @_D5tango3net3ftp9FtpClient13FTPConnection5existMFAaZi, i32 (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]", i32)* @_D5tango3net3ftp9FtpClient13FTPConnection4sizeMFAaE5tango3net3ftp9FtpClient9FtpFormatZk, void (%tango.net.ftp.FtpClient.FTPConnection*, i32)* @_D5tango3net3ftp9FtpClient13FTPConnection4typeMFE5tango3net3ftp9FtpClient9FtpFormatZv, void (%tango.time.Time.Time*, %tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")* @_D5tango3net3ftp9FtpClient13FTPConnection8modifiedMFAaZS5tango4time4Time4Time, void (%tango.time.Time.Time*, %tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")* @_D5tango3net3ftp9FtpClient13FTPConnection12parseTimevalMFAaZS5tango4time4Time4Time, void (%tango.net.ftp.FtpClient.FTPConnection*)* @_D5tango3net3ftp9FtpClient13FTPConnection4noopMFZv, %"byte[]" (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")* @_D5tango3net3ftp9FtpClient13FTPConnection5mkdirMFAaZAa, void (%tango.net.ftp.FtpClient.FTPConnection*)* @_D5tango3net3ftp9FtpClient13FTPConnection11getFeaturesMFZv, void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]", %"char[][]")* @_D5tango3net3ftp9FtpClient13FTPConnection11sendCommandMFAaAAaXv, void (%tango.net.ftp.FtpClient.FtpResponse*, %tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")* @_D5tango3net3ftp9FtpClient13FTPConnection12readResponseMFAaZS5tango3net3ftp9FtpClient11FtpResponse, void (%tango.net.ftp.FtpClient.FtpResponse*, %tango.net.ftp.FtpClient.FTPConnection*)* @_D5tango3net3ftp9FtpClient13FTPConnection12readResponseMFZS5tango3net3ftp9FtpClient11FtpResponse, %"byte[]" (%tango.net.ftp.FtpClient.FTPConnection*, %tango.net.ftp.FtpClient.FtpResponse*)* @_D5tango3net3ftp9FtpClient13FTPConnection8parse257MFS5tango3net3ftp9FtpClient11FtpResponseZAa, %tango.net.SocketConduit.SocketConduit* (%tango.net.ftp.FtpClient.FTPConnection*)* @_D5tango3net3ftp9FtpClient13FTPConnection13getDataSocketMFZC5tango3net13SocketConduit13SocketConduit, %tango.net.SocketConduit.SocketConduit* (%tango.net.ftp.FtpClient.FTPConnection*)* @_D5tango3net3ftp9FtpClient13FTPConnection14connectPassiveMFZC5tango3net13SocketConduit13SocketConduit, i1 (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")* @_D5tango3net3ftp9FtpClient13FTPConnection11isSupportedMFAaZb, i1 (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")* @_D5tango3net3ftp9FtpClient13FTPConnection12is_supportedMFAaZb, void (%tango.net.ftp.FtpClient.FTPConnection*, %tango.net.SocketConduit.SocketConduit**)* @_D5tango3net3ftp9FtpClient13FTPConnection17prepareDataSocketMFKC5tango3net13SocketConduit13SocketConduitZv, void (%tango.net.ftp.FtpClient.FTPConnection*, %tango.net.SocketConduit.SocketConduit*)* @_D5tango3net3ftp9FtpClient13FTPConnection17finishDataCommandMFC5tango3net13SocketConduit13SocketConduitZv, %tango.net.SocketConduit.SocketConduit* (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]", %"char[][]")* @_D5tango3net3ftp9FtpClient13FTPConnection18processDataCommandMFAaAAaXC5tango3net13SocketConduit13SocketConduit, %"FtpFileInfo[]" (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")* @_D5tango3net3ftp9FtpClient13FTPConnection2lsMFAaZAS5tango3net3ftp9FtpClient11FtpFileInfo, void (%tango.net.ftp.FtpClient.FTPConnection*, %tango.net.SocketConduit.SocketConduit*, %tango.io.model.IConduit.OutputStream*, %"void delegate(uint pos)")* @_D5tango3net3ftp9FtpClient13FTPConnection10readStreamMFC5tango3net13SocketConduit13SocketConduitC5tango2io5model8IConduit12OutputStreamDFkZvZv, void (%tango.net.ftp.FtpClient.FTPConnection*, %tango.net.SocketConduit.SocketConduit*, %tango.io.model.IConduit.InputStream*, %"void delegate(uint pos)")* @_D5tango3net3ftp9FtpClient13FTPConnection10sendStreamMFC5tango3net13SocketConduit13SocketConduitC5tango2io5model8IConduit11InputStreamDFkZvZv, %"FtpFileInfo[]" (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")* @_D5tango3net3ftp9FtpClient13FTPConnection15sendListCommandMFAaZAS5tango3net3ftp9FtpClient11FtpFileInfo, void (%tango.net.ftp.FtpClient.FtpFileInfo*, %tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")* @_D5tango3net3ftp9FtpClient13FTPConnection13parseListLineMFAaZS5tango3net3ftp9FtpClient11FtpFileInfo, void (%tango.net.ftp.FtpClient.FtpFileInfo*, %tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")* @_D5tango3net3ftp9FtpClient13FTPConnection13parseMlstLineMFAaZS5tango3net3ftp9FtpClient11FtpFileInfo, void (%tango.net.ftp.FtpClient.FtpFileInfo*, %tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")* @_D5tango3net3ftp9FtpClient13FTPConnection11getFileInfoMFAaZS5tango3net3ftp9FtpClient11FtpFileInfo, void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]", %"byte[]", %"void delegate(uint pos)", i32)* @_D5tango3net3ftp9FtpClient13FTPConnection3putMFAaAaDFkZvE5tango3net3ftp9FtpClient9FtpFormatZv, void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]", %tango.io.model.IConduit.InputStream*, %"void delegate(uint pos)", i32)* @_D5tango3net3ftp9FtpClient13FTPConnection3putMFAaC5tango2io5model8IConduit11InputStreamDFkZvE5tango3net3ftp9FtpClient9FtpFormatZv, void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]", %tango.io.model.IConduit.InputStream*, %"void delegate(uint pos)", i32)* @_D5tango3net3ftp9FtpClient13FTPConnection6appendMFAaC5tango2io5model8IConduit11InputStreamDFkZvE5tango3net3ftp9FtpClient9FtpFormatZv, void (%tango.net.ftp.FtpClient.FTPConnection*, i32)* @_D5tango3net3ftp9FtpClient13FTPConnection11restartSeekMFkZv, void (%tango.net.ftp.FtpClient.FTPConnection*, i64)* @_D5tango3net3ftp9FtpClient13FTPConnection8allocateMFlZv, void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]", %"byte[]", %"void delegate(uint pos)", i32)* @_D5tango3net3ftp9FtpClient13FTPConnection3getMFAaAaDFkZvE5tango3net3ftp9FtpClient9FtpFormatZv, void (%tango.net.ftp.FtpClient.FTPConnection*)* @_D5tango3net3ftp9FtpClient13FTPConnection10enableUTF8MFZv, void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]", %tango.io.model.IConduit.OutputStream*, %"void delegate(uint pos)", i32)* @_D5tango3net3ftp9FtpClient13FTPConnection3getMFAaC5tango2io5model8IConduit12OutputStreamDFkZvE5tango3net3ftp9FtpClient9FtpFormatZv, %tango.io.model.IConduit.InputStream* (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")* @_D5tango3net3ftp9FtpClient13FTPConnection5inputMFAaZC5tango2io5model8IConduit11InputStream, %tango.io.model.IConduit.OutputStream* (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")* @_D5tango3net3ftp9FtpClient13FTPConnection6outputMFAaZC5tango2io5model8IConduit12OutputStream } ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=2]
+@.str8 = internal constant [1 x i8] zeroinitializer ; <[1 x i8]*> [#uses=1]
+@_D49TypeInfo_C5tango3net3ftp9FtpClient13FTPConnection6__initZ = linkonce_odr constant %object.TypeInfo_Class { %object.TypeInfo.__vtbl* @_D14TypeInfo_Class6__vtblZ, i8* null, %object.ClassInfo* @_D5tango3net3ftp9FtpClient13FTPConnection7__ClassZ } ; <%object.TypeInfo_Class*> [#uses=1]
+@.str9 = internal constant [38 x i8] c"tango.net.ftp.FtpClient.FTPConnection\00" ; <[38 x i8]*> [#uses=1]
+@_D5tango4text5Regex11__T4TNFATwZ4TNFA7__ClassZ = weak_odr global %object.ClassInfo { %object.ClassInfo.__vtbl* @_D9ClassInfo6__vtblZ, i8* null, %"byte[]" { i32 56, i8* bitcast (%"tango.text.Regex.TNFA!(dchar).TNFA"* @_D5tango4text5Regex11__T4TNFATwZ4TNFA6__initZ to i8*) }, %"byte[]" { i32 34, i8* getelementptr ([35 x i8]* @.str51, i32 0, i32 0) }, %"void*[]" { i32 7, i8** bitcast (%"tango.text.Regex.TNFA!(dchar).TNFA.__vtbl"* @_D5tango4text5Regex11__T4TNFATwZ4TNFA6__vtblZ to i8**) }, %"Interface[]" zeroinitializer, %object.ClassInfo* @_D6Object7__ClassZ, i8* null, i8* null, i32 44, i8* null, %"OffsetTypeInfo[]" zeroinitializer, i8* null, %object.TypeInfo* bitcast (%object.TypeInfo_Class* @_D45TypeInfo_C5tango4text5Regex11__T4TNFATwZ4TNFA6__initZ to %object.TypeInfo*) } ; <%object.ClassInfo*> [#uses=2]
+@_D5tango4text5Regex11__T4TNFATwZ4TNFA6__initZ = weak_odr constant %"tango.text.Regex.TNFA!(dchar).TNFA" { %"tango.text.Regex.TNFA!(dchar).TNFA.__vtbl"* @_D5tango4text5Regex11__T4TNFATwZ4TNFA6__vtblZ, i8* null, %"Act[]" zeroinitializer, %"TNFAState[]" zeroinitializer, %"tango.text.Regex.TNFAState!(dchar).TNFAState"* null, i1 false, i32 0, i32 0, i32 0, %"tango.text.Regex.List!(TNFATransition).List"* null, i8* null, i8* null }, align 4 ; <%"tango.text.Regex.TNFA!(dchar).TNFA"*> [#uses=1]
+@_D5tango4text5Regex11__T4TNFATwZ4TNFA6__vtblZ = weak_odr constant %"tango.text.Regex.TNFA!(dchar).TNFA.__vtbl" { %object.ClassInfo* @_D5tango4text5Regex11__T4TNFATwZ4TNFA7__ClassZ, %"byte[]" (%object.Object*)* @_D6object6Object8toStringMFZAa, i32 (%object.Object*)* @_D6object6Object6toHashMFZk, i32 (%object.Object*, %object.Object*)* @_D6object6Object5opCmpMFC6ObjectZi, i32 (%object.Object*, %object.Object*)* @_D6object6Object8opEqualsMFC6ObjectZi, i32 (%"tango.text.Regex.TNFA!(dchar).TNFA"*)* @_D5tango4text5Regex11__T4TNFATwZ4TNFA8tagCountMFZk, void (%"tango.text.Regex.TNFA!(dchar).TNFA"*, i1)* @_D5tango4text5Regex11__T4TNFATwZ4TNFA5parseMFbZv } ; <%"tango.text.Regex.TNFA!(dchar).TNFA.__vtbl"*> [#uses=2]
+@_D5tango4text5Regex11__T4TNFATwZ4TNFA14operator_namesAAa = weak_odr constant %"char[][]" { i32 17, %"byte[]"* getelementptr ([17 x %"byte[]"]* @.constarray, i32 0, i32 0) }, align 4 ; <%"char[][]"*> [#uses=0]
+@.str10 = internal constant [4 x i8] c"EOS\00" ; <[4 x i8]*> [#uses=1]
+@.str11 = internal constant [7 x i8] c"concat\00" ; <[7 x i8]*> [#uses=1]
+@.str12 = internal constant [2 x i8] c"|\00" ; <[2 x i8]*> [#uses=1]
+@.str13 = internal constant [2 x i8] c"(\00" ; <[2 x i8]*> [#uses=1]
+@.str14 = internal constant [2 x i8] c")\00" ; <[2 x i8]*> [#uses=1]
+@.str15 = internal constant [2 x i8] c"?\00" ; <[2 x i8]*> [#uses=1]
+@.str16 = internal constant [2 x i8] c"*\00" ; <[2 x i8]*> [#uses=1]
+@.str17 = internal constant [2 x i8] c"+\00" ; <[2 x i8]*> [#uses=1]
+@.str18 = internal constant [3 x i8] c"??\00" ; <[3 x i8]*> [#uses=1]
+@.str19 = internal constant [3 x i8] c"*?\00" ; <[3 x i8]*> [#uses=1]
+@.str20 = internal constant [3 x i8] c"+?\00" ; <[3 x i8]*> [#uses=1]
+@.str21 = internal constant [4 x i8] c"??x\00" ; <[4 x i8]*> [#uses=1]
+@.str22 = internal constant [4 x i8] c"*?x\00" ; <[4 x i8]*> [#uses=1]
+@.str23 = internal constant [4 x i8] c"+?x\00" ; <[4 x i8]*> [#uses=1]
+@.str24 = internal constant [3 x i8] c"(?\00" ; <[3 x i8]*> [#uses=1]
+@.str25 = internal constant [6 x i8] c"{x,y}\00" ; <[6 x i8]*> [#uses=1]
+@.str26 = internal constant [7 x i8] c"{x,y}?\00" ; <[7 x i8]*> [#uses=1]
+@.constarray = internal global [17 x %"byte[]"] [%"byte[]" { i32 3, i8* getelementptr ([4 x i8]* @.str10, i32 0, i32 0) }, %"byte[]" { i32 6, i8* getelementptr ([7 x i8]* @.str11, i32 0, i32 0) }, %"byte[]" { i32 1, i8* getelementptr ([2 x i8]* @.str12, i32 0, i32 0) }, %"byte[]" { i32 1, i8* getelementptr ([2 x i8]* @.str13, i32 0, i32 0) }, %"byte[]" { i32 1, i8* getelementptr ([2 x i8]* @.str14, i32 0, i32 0) }, %"byte[]" { i32 1, i8* getelementptr ([2 x i8]* @.str15, i32 0, i32 0) }, %"byte[]" { i32 1, i8* getelementptr ([2 x i8]* @.str16, i32 0, i32 0) }, %"byte[]" { i32 1, i8* getelementptr ([2 x i8]* @.str17, i32 0, i32 0) }, %"byte[]" { i32 2, i8* getelementptr ([3 x i8]* @.str18, i32 0, i32 0) }, %"byte[]" { i32 2, i8* getelementptr ([3 x i8]* @.str19, i32 0, i32 0) }, %"byte[]" { i32 2, i8* getelementptr ([3 x i8]* @.str20, i32 0, i32 0) }, %"byte[]" { i32 3, i8* getelementptr ([4 x i8]* @.str21, i32 0, i32 0) }, %"byte[]" { i32 3, i8* getelementptr ([4 x i8]* @.str22, i32 0, i32 0) }, %"byte[]" { i32 3, i8* getelementptr ([4 x i8]* @.str23, i32 0, i32 0) }, %"byte[]" { i32 2, i8* getelementptr ([3 x i8]* @.str24, i32 0, i32 0) }, %"byte[]" { i32 5, i8* getelementptr ([6 x i8]* @.str25, i32 0, i32 0) }, %"byte[]" { i32 6, i8* getelementptr ([7 x i8]* @.str26, i32 0, i32 0) }] ; <[17 x %"byte[]"]*> [#uses=1]
+@_D5tango4text5Regex11__T4TNFATwZ4TNFA12action_namesAAa = weak_odr constant %"char[][]" { i32 6, %"byte[]"* getelementptr ([6 x %"byte[]"]* @.constarray33, i32 0, i32 0) }, align 4 ; <%"char[][]"*> [#uses=0]
+@.str27 = internal constant [13 x i8] c"push+advance\00" ; <[13 x i8]*> [#uses=1]
+@.str28 = internal constant [9 x i8] c"pop+copy\00" ; <[9 x i8]*> [#uses=1]
+@.str29 = internal constant [12 x i8] c"pop+advance\00" ; <[12 x i8]*> [#uses=1]
+@.str30 = internal constant [17 x i8] c"pop+copy+advance\00" ; <[17 x i8]*> [#uses=1]
+@.str31 = internal constant [5 x i8] c"done\00" ; <[5 x i8]*> [#uses=1]
+@.str32 = internal constant [6 x i8] c"error\00" ; <[6 x i8]*> [#uses=1]
+@.constarray33 = internal global [6 x %"byte[]"] [%"byte[]" { i32 12, i8* getelementptr ([13 x i8]* @.str27, i32 0, i32 0) }, %"byte[]" { i32 8, i8* getelementptr ([9 x i8]* @.str28, i32 0, i32 0) }, %"byte[]" { i32 11, i8* getelementptr ([12 x i8]* @.str29, i32 0, i32 0) }, %"byte[]" { i32 16, i8* getelementptr ([17 x i8]* @.str30, i32 0, i32 0) }, %"byte[]" { i32 4, i8* getelementptr ([5 x i8]* @.str31, i32 0, i32 0) }, %"byte[]" { i32 5, i8* getelementptr ([6 x i8]* @.str32, i32 0, i32 0) }] ; <[6 x %"byte[]"]*> [#uses=1]
+@_D5tango4text5Regex11__T4TNFATwZ4TNFA13action_lookupAE5tango4text5Regex11__T4TNFATwZ4TNFA3Act = weak_odr constant %"Act[]" { i32 289, i32* getelementptr ([289 x i32]* @.constarray34, i32 0, i32 0) }, align 4 ; <%"Act[]"*> [#uses=0]
+@.constarray34 = internal global [289 x i32] [i32 4, i32 0, i32 0, i32 0, i32 5, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 1, i32 1, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 0, i32 1, i32 0, i32 1, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 5, i32 0, i32 0, i32 0, i32 3, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 5, i32 5, i32 5, i32 5, i32 5, i32 5, i32 5, i32 5, i32 5, i32 5, i32 5, i32 5, i32 5, i32 5, i32 5, i32 5, i32 5, i32 1, i32 1, i32 1, i32 0, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 0, i32 1, i32 1, i32 1, i32 1, i32 1, i32 0, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 0, i32 1, i32 1, i32 1, i32 1, i32 1, i32 0, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 0, i32 1, i32 1, i32 1, i32 1, i32 1, i32 0, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 0, i32 1, i32 1, i32 1, i32 1, i32 1, i32 0, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 0, i32 1, i32 1, i32 1, i32 1, i32 1, i32 0, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 0, i32 1, i32 1, i32 1, i32 1, i32 1, i32 0, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 0, i32 1, i32 1, i32 1, i32 1, i32 1, i32 0, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 0, i32 1, i32 1, i32 1, i32 1, i32 1, i32 0, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 0, i32 1, i32 1, i32 5, i32 0, i32 0, i32 0, i32 3, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 1, i32 1, i32 0, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 0, i32 1, i32 1, i32 1, i32 1, i32 1, i32 0, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 0, i32 1, i32 1] ; <[289 x i32]*> [#uses=2]
+@_D5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransition7__ClassZ = weak_odr global %object.ClassInfo { %object.ClassInfo.__vtbl* @_D9ClassInfo6__vtblZ, i8* null, %"byte[]" { i32 52, i8* bitcast (%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* @_D5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransition6__initZ to i8*) }, %"byte[]" { i32 54, i8* getelementptr ([55 x i8]* @.str47, i32 0, i32 0) }, %"void*[]" { i32 5, i8** bitcast (%object.ModuleInfo.__vtbl* @_D5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransition6__vtblZ to i8**) }, %"Interface[]" zeroinitializer, %object.ClassInfo* @_D6Object7__ClassZ, i8* null, i8* null, i32 44, i8* null, %"OffsetTypeInfo[]" zeroinitializer, i8* null, %object.TypeInfo* bitcast (%object.TypeInfo_Class* @_D67TypeInfo_C5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransition6__initZ to %object.TypeInfo*) } ; <%object.ClassInfo*> [#uses=19]
+@_D5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransition6__initZ = weak_odr constant %"tango.text.Regex.TNFATransition!(dchar).TNFATransition" { %object.ModuleInfo.__vtbl* @_D5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransition6__vtblZ, i8* null, %"tango.text.Regex.TNFAState!(dchar).TNFAState"* null, %"tango.text.Regex.Predicate!(dchar).Predicate" { %"tango.text.Regex.CharClass!(dchar).CharClass" zeroinitializer, i32 0, i32 0, %"byte[]" zeroinitializer, i32 65535 }, i32 0, i32 0, i32 0 }, align 4 ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*> [#uses=2]
+@_D5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransition6__vtblZ = weak_odr constant %object.ModuleInfo.__vtbl { %object.ClassInfo* @_D5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransition7__ClassZ, %"byte[]" (%object.Object*)* @_D6object6Object8toStringMFZAa, i32 (%object.Object*)* @_D6object6Object6toHashMFZk, i32 (%object.Object*, %object.Object*)* @_D6object6Object5opCmpMFC6ObjectZi, i32 (%object.Object*, %object.Object*)* @_D6object6Object8opEqualsMFC6ObjectZi } ; <%object.ModuleInfo.__vtbl*> [#uses=19]
+@_D5tango4text5Regex16__T9CharClassTwZ9CharClass13line_startendS5tango4text5Regex16__T9CharClassTwZ9CharClass = external constant %"tango.text.Regex.CharClass!(dchar).CharClass", align 4 ; <%"tango.text.Regex.CharClass!(dchar).CharClass"*> [#uses=2]
+@_D5tango4text5Regex16__T9CharRangeTwZ9CharRange6__initZ = external constant %tango.net.Socket.timeval, align 4 ; <%tango.net.Socket.timeval*> [#uses=1]
+@_D55TypeInfo_S5tango4text5Regex16__T9CharRangeTwZ9CharRange6__initZ = linkonce_odr constant %21 { %object.TypeInfo.__vtbl* @_D15TypeInfo_Struct6__vtblZ, i8* null, %"byte[]" { i32 44, i8* getelementptr ([45 x i8]* @.str35, i32 0, i32 0) }, %"byte[]" { i32 8, i8* bitcast (%tango.net.Socket.timeval* @_D5tango4text5Regex16__T9CharRangeTwZ9CharRange6__initZ to i8*) }, i8* null, i32 (%tango.net.Socket.timeval*, %tango.net.Socket.timeval*)* @_D5tango4text5Regex16__T9CharRangeTwZ9CharRange8opEqualsMFPS5tango4text5Regex16__T9CharRangeTwZ9CharRangeZi, i32 (%tango.net.Socket.timeval*, %tango.net.Socket.timeval*)* @_D5tango4text5Regex16__T9CharRangeTwZ9CharRange5opCmpMFPS5tango4text5Regex16__T9CharRangeTwZ9CharRangeZi, %"byte[]" (%tango.net.Socket.timeval*)* @_D5tango4text5Regex16__T9CharRangeTwZ9CharRange8toStringMFZAa, i32 0 } ; <%21*> [#uses=1]
+@.str35 = internal constant [45 x i8] c"tango.text.Regex.CharRange!(dchar).CharRange\00" ; <[45 x i8]*> [#uses=1]
+@_D5tango4text5Regex16__T9CharClassTwZ9CharClass5digitS5tango4text5Regex16__T9CharClassTwZ9CharClass = external constant %"tango.text.Regex.CharClass!(dchar).CharClass", align 4 ; <%"tango.text.Regex.CharClass!(dchar).CharClass"*> [#uses=2]
+@_D5tango4text5Regex16__T9CharClassTwZ9CharClass10whitespaceS5tango4text5Regex16__T9CharClassTwZ9CharClass = external constant %"tango.text.Regex.CharClass!(dchar).CharClass", align 4 ; <%"tango.text.Regex.CharClass!(dchar).CharClass"*> [#uses=6]
+@_D5tango4text5Regex16__T9CharClassTwZ9CharClass8any_charS5tango4text5Regex16__T9CharClassTwZ9CharClass = external constant %"tango.text.Regex.CharClass!(dchar).CharClass", align 4 ; <%"tango.text.Regex.CharClass!(dchar).CharClass"*> [#uses=3]
+@_D5tango4text5Regex16__T9CharClassTwZ9CharClass8dot_operS5tango4text5Regex16__T9CharClassTwZ9CharClass = external constant %"tango.text.Regex.CharClass!(dchar).CharClass", align 4 ; <%"tango.text.Regex.CharClass!(dchar).CharClass"*> [#uses=1]
+@_D5tango4text5Regex16__T9CharClassTwZ9CharClass9alphanum_S5tango4text5Regex16__T9CharClassTwZ9CharClass = external constant %"tango.text.Regex.CharClass!(dchar).CharClass", align 4 ; <%"tango.text.Regex.CharClass!(dchar).CharClass"*> [#uses=2]
+@_D5tango4text5Regex16__T9TNFAStateTwZ9TNFAState7__ClassZ = weak_odr global %object.ClassInfo { %object.ClassInfo.__vtbl* @_D9ClassInfo6__vtblZ, i8* null, %"byte[]" { i32 20, i8* bitcast (%"tango.text.Regex.TNFAState!(dchar).TNFAState"* @_D5tango4text5Regex16__T9TNFAStateTwZ9TNFAState6__initZ to i8*) }, %"byte[]" { i32 44, i8* getelementptr ([45 x i8]* @.str46, i32 0, i32 0) }, %"void*[]" { i32 5, i8** bitcast (%object.ModuleInfo.__vtbl* @_D5tango4text5Regex16__T9TNFAStateTwZ9TNFAState6__vtblZ to i8**) }, %"Interface[]" zeroinitializer, %object.ClassInfo* @_D6Object7__ClassZ, i8* null, i8* null, i32 44, i8* null, %"OffsetTypeInfo[]" zeroinitializer, i8* bitcast (%"tango.text.Regex.TNFAState!(dchar).TNFAState"* (%"tango.text.Regex.TNFAState!(dchar).TNFAState"*)* @_D5tango4text5Regex16__T9TNFAStateTwZ9TNFAState5_ctorMFZC5tango4text5Regex16__T9TNFAStateTwZ9TNFAState to i8*), %object.TypeInfo* bitcast (%object.TypeInfo_Class* @_D55TypeInfo_C5tango4text5Regex16__T9TNFAStateTwZ9TNFAState6__initZ to %object.TypeInfo*) } ; <%object.ClassInfo*> [#uses=16]
+@_D5tango4text5Regex16__T9TNFAStateTwZ9TNFAState6__initZ = weak_odr constant %"tango.text.Regex.TNFAState!(dchar).TNFAState" { %object.ModuleInfo.__vtbl* @_D5tango4text5Regex16__T9TNFAStateTwZ9TNFAState6__vtblZ, i8* null, i1 false, i1 false, i32 0, %"tango.text.Regex.List!(TNFATransition).List"* null }, align 4 ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"*> [#uses=2]
+@_D5tango4text5Regex16__T9TNFAStateTwZ9TNFAState6__vtblZ = weak_odr constant %object.ModuleInfo.__vtbl { %object.ClassInfo* @_D5tango4text5Regex16__T9TNFAStateTwZ9TNFAState7__ClassZ, %"byte[]" (%object.Object*)* @_D6object6Object8toStringMFZAa, i32 (%object.Object*)* @_D6object6Object6toHashMFZk, i32 (%object.Object*, %object.Object*)* @_D6object6Object5opCmpMFC6ObjectZi, i32 (%object.Object*, %object.Object*)* @_D6object6Object8opEqualsMFC6ObjectZi } ; <%object.ModuleInfo.__vtbl*> [#uses=16]
+@_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7__ClassZ = weak_odr global %object.ClassInfo { %object.ClassInfo.__vtbl* @_D9ClassInfo6__vtblZ, i8* null, %"byte[]" { i32 20, i8* bitcast (%"tango.text.Regex.List!(TNFATransition).List"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__initZ to i8*) }, %"byte[]" { i32 43, i8* getelementptr ([44 x i8]* @.str45, i32 0, i32 0) }, %"void*[]" { i32 22, i8** bitcast (%"tango.text.Regex.List!(TNFATransition).List.__vtbl"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__vtblZ to i8**) }, %"Interface[]" zeroinitializer, %object.ClassInfo* @_D6Object7__ClassZ, i8* null, i8* null, i32 36, i8* null, %"OffsetTypeInfo[]" zeroinitializer, i8* null, %object.TypeInfo* bitcast (%object.TypeInfo_Class* @_D102TypeInfo_C5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__initZ to %object.TypeInfo*) } ; <%object.ClassInfo*> [#uses=67]
+@_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__initZ = weak_odr constant %"tango.text.Regex.List!(TNFATransition).List" { %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__vtblZ, i8* null, i32 0, %"tango.text.Regex.List!(TNFATransition).List.Element"* null, %"tango.text.Regex.List!(TNFATransition).List.Element"* null }, align 4 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
+@_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__vtblZ = weak_odr constant %"tango.text.Regex.List!(TNFATransition).List.__vtbl" { %object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7__ClassZ, %"byte[]" (%object.Object*)* @_D6object6Object8toStringMFZAa, i32 (%object.Object*)* @_D6object6Object6toHashMFZk, i32 (%object.Object*, %object.Object*)* @_D6object6Object5opCmpMFC6ObjectZi, i32 (%object.Object*, %object.Object*)* @_D6object6Object8opEqualsMFC6ObjectZi, %"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List11opCatAssignMFC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZC5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List, %"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List11insertAfterMFC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZC5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List, %"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.List!(TNFATransition).List.Element"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List11insertAfterMFC5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7ElementC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZC5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List, %"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.List!(TNFATransition).List"*)* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List11opCatAssignMFC5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4ListZC5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List, %"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List9pushFrontMFC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZC5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List, %"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List12insertBeforeMFC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZC5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List, %"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.List!(TNFATransition).List.Element"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List12insertBeforeMFC5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7ElementC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZC5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List, %"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.List!(TNFATransition).List"*)* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List9pushFrontMFC5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4ListZC5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List, i32 (%"tango.text.Regex.List!(TNFATransition).List"*)* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6lengthMFZk, i1 (%"tango.text.Regex.List!(TNFATransition).List"*)* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List5emptyMFZb, void (%"tango.text.Regex.List!(TNFATransition).List"*)* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List5clearMFZv, void (%"tango.text.Regex.List!(TNFATransition).List"*)* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List3popMFZv, void (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.List!(TNFATransition).List.Element"*)* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6removeMFC5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7ElementZv, i32 (%"tango.text.Regex.List!(TNFATransition).List"*, %"int delegate(ref Element)")* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List8elementsMFDFKC5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7ElementZiZi, i32 (%"tango.text.Regex.List!(TNFATransition).List"*, %"int delegate(ref Element)")* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List16elements_reverseMFDFKC5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7ElementZiZi, i32 (%"tango.text.Regex.List!(TNFATransition).List"*, %"int delegate(ref TNFATransition)")* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7opApplyMFDFKC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZiZi, i32 (%"tango.text.Regex.List!(TNFATransition).List"*, %"int delegate(ref TNFATransition)")* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List14opApplyReverseMFDFKC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZiZi } ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=67]
+@_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7Element7__ClassZ = weak_odr global %object.ClassInfo { %object.ClassInfo.__vtbl* @_D9ClassInfo6__vtblZ, i8* null, %"byte[]" { i32 24, i8* bitcast (%"tango.text.Regex.List!(TNFATransition).List.Element"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7Element6__initZ to i8*) }, %"byte[]" { i32 51, i8* getelementptr ([52 x i8]* @.str44, i32 0, i32 0) }, %"void*[]" { i32 5, i8** bitcast (%object.ModuleInfo.__vtbl* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7Element6__vtblZ to i8**) }, %"Interface[]" zeroinitializer, %object.ClassInfo* @_D6Object7__ClassZ, i8* null, i8* null, i32 44, i8* null, %"OffsetTypeInfo[]" zeroinitializer, i8* null, %object.TypeInfo* bitcast (%object.TypeInfo_Class* @_D110TypeInfo_C5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7Element6__initZ to %object.TypeInfo*) } ; <%object.ClassInfo*> [#uses=8]
+@_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7Element6__initZ = weak_odr constant %"tango.text.Regex.List!(TNFATransition).List.Element" { %object.ModuleInfo.__vtbl* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7Element6__vtblZ, i8* null, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* null, %"tango.text.Regex.List!(TNFATransition).List.Element"* null, %"tango.text.Regex.List!(TNFATransition).List.Element"* null, %"tango.text.Regex.List!(TNFATransition).List"* null }, align 4 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"*> [#uses=2]
+@_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7Element6__vtblZ = weak_odr constant %object.ModuleInfo.__vtbl { %object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7Element7__ClassZ, %"byte[]" (%object.Object*)* @_D6object6Object8toStringMFZAa, i32 (%object.Object*)* @_D6object6Object6toHashMFZk, i32 (%object.Object*, %object.Object*)* @_D6object6Object5opCmpMFC6ObjectZi, i32 (%object.Object*, %object.Object*)* @_D6object6Object8opEqualsMFC6ObjectZi } ; <%object.ModuleInfo.__vtbl*> [#uses=8]
+@_D110TypeInfo_C5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7Element6__initZ = linkonce_odr constant %object.TypeInfo_Class { %object.TypeInfo.__vtbl* @_D14TypeInfo_Class6__vtblZ, i8* null, %object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7Element7__ClassZ } ; <%object.TypeInfo_Class*> [#uses=1]
+@.str44 = internal constant [52 x i8] c"tango.text.Regex.List!(TNFATransition).List.Element\00" ; <[52 x i8]*> [#uses=1]
+@_D102TypeInfo_C5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__initZ = linkonce_odr constant %object.TypeInfo_Class { %object.TypeInfo.__vtbl* @_D14TypeInfo_Class6__vtblZ, i8* null, %object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7__ClassZ } ; <%object.TypeInfo_Class*> [#uses=1]
+@.str45 = internal constant [44 x i8] c"tango.text.Regex.List!(TNFATransition).List\00" ; <[44 x i8]*> [#uses=1]
+@_D55TypeInfo_C5tango4text5Regex16__T9TNFAStateTwZ9TNFAState6__initZ = linkonce_odr constant %object.TypeInfo_Class { %object.TypeInfo.__vtbl* @_D14TypeInfo_Class6__vtblZ, i8* null, %object.ClassInfo* @_D5tango4text5Regex16__T9TNFAStateTwZ9TNFAState7__ClassZ } ; <%object.TypeInfo_Class*> [#uses=1]
+@.str46 = internal constant [45 x i8] c"tango.text.Regex.TNFAState!(dchar).TNFAState\00" ; <[45 x i8]*> [#uses=1]
+@_D67TypeInfo_C5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransition6__initZ = linkonce_odr constant %object.TypeInfo_Class { %object.TypeInfo.__vtbl* @_D14TypeInfo_Class6__vtblZ, i8* null, %object.ClassInfo* @_D5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransition7__ClassZ } ; <%object.TypeInfo_Class*> [#uses=1]
+@.str47 = internal constant [55 x i8] c"tango.text.Regex.TNFATransition!(dchar).TNFATransition\00" ; <[55 x i8]*> [#uses=1]
+@_D5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment7__ClassZ = weak_odr global %object.ClassInfo { %object.ClassInfo.__vtbl* @_D9ClassInfo6__vtblZ, i8* null, %"byte[]" { i32 28, i8* bitcast (%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* @_D5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment6__initZ to i8*) }, %"byte[]" { i32 50, i8* getelementptr ([51 x i8]* @.str48, i32 0, i32 0) }, %"void*[]" { i32 7, i8** bitcast (%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"* @_D5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment6__vtblZ to i8**) }, %"Interface[]" zeroinitializer, %object.ClassInfo* @_D6Object7__ClassZ, i8* null, i8* null, i32 44, i8* null, %"OffsetTypeInfo[]" zeroinitializer, i8* bitcast (%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* (%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*)* @_D5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment5_ctorMFZC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment to i8*), %object.TypeInfo* bitcast (%object.TypeInfo_Class* @_D63TypeInfo_C5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment6__initZ to %object.TypeInfo*) } ; <%object.ClassInfo*> [#uses=13]
+@_D5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment6__initZ = weak_odr constant %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment" { %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"* @_D5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment6__vtblZ, i8* null, %"tango.text.Regex.List!(TNFATransition).List"* null, %"tango.text.Regex.List!(TNFATransition).List"* null, %"tango.text.Regex.List!(TNFATransition).List"* null, %"tango.text.Regex.List!(TNFATransition).List"* null, i1 false }, align 4 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*> [#uses=2]
+@_D5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment6__vtblZ = weak_odr constant %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl" { %object.ClassInfo* @_D5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment7__ClassZ, %"byte[]" (%object.Object*)* @_D6object6Object8toStringMFZAa, i32 (%object.Object*)* @_D6object6Object6toHashMFZk, i32 (%object.Object*, %object.Object*)* @_D6object6Object5opCmpMFC6ObjectZi, i32 (%object.Object*, %object.Object*)* @_D6object6Object8opEqualsMFC6ObjectZi, void (%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*, %"tango.text.Regex.TNFAState!(dchar).TNFAState"*)* @_D5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment8setEntryMFC5tango4text5Regex16__T9TNFAStateTwZ9TNFAStateZv, void (%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*, %"tango.text.Regex.TNFAState!(dchar).TNFAState"*)* @_D5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment7setExitMFC5tango4text5Regex16__T9TNFAStateTwZ9TNFAStateZv } ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"*> [#uses=13]
+@_D63TypeInfo_C5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment6__initZ = linkonce_odr constant %object.TypeInfo_Class { %object.TypeInfo.__vtbl* @_D14TypeInfo_Class6__vtblZ, i8* null, %object.ClassInfo* @_D5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment7__ClassZ } ; <%object.TypeInfo_Class*> [#uses=1]
+@.str48 = internal constant [51 x i8] c"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment\00" ; <[51 x i8]*> [#uses=1]
+@_D5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List7__ClassZ = weak_odr global %object.ClassInfo { %object.ClassInfo.__vtbl* @_D9ClassInfo6__vtblZ, i8* null, %"byte[]" { i32 20, i8* bitcast (%"tango.text.Regex.List!(TNFAFragment).List"* @_D5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List6__initZ to i8*) }, %"byte[]" { i32 41, i8* getelementptr ([42 x i8]* @.str50, i32 0, i32 0) }, %"void*[]" { i32 22, i8** bitcast (%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"* @_D5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List6__vtblZ to i8**) }, %"Interface[]" zeroinitializer, %object.ClassInfo* @_D6Object7__ClassZ, i8* null, i8* null, i32 36, i8* null, %"OffsetTypeInfo[]" zeroinitializer, i8* null, %object.TypeInfo* bitcast (%object.TypeInfo_Class* @_D98TypeInfo_C5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List6__initZ to %object.TypeInfo*) } ; <%object.ClassInfo*> [#uses=3]
+@_D5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List6__initZ = weak_odr constant %"tango.text.Regex.List!(TNFAFragment).List" { %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"* @_D5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List6__vtblZ, i8* null, i32 0, %"tango.text.Regex.List!(TNFAFragment).List.Element"* null, %"tango.text.Regex.List!(TNFAFragment).List.Element"* null }, align 4 ; <%"tango.text.Regex.List!(TNFAFragment).List"*> [#uses=2]
+@_D5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List6__vtblZ = weak_odr constant %"tango.text.Regex.List!(TNFAFragment).List.__vtbl" { %object.ClassInfo* @_D5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List7__ClassZ, %"byte[]" (%object.Object*)* @_D6object6Object8toStringMFZAa, i32 (%object.Object*)* @_D6object6Object6toHashMFZk, i32 (%object.Object*, %object.Object*)* @_D6object6Object5opCmpMFC6ObjectZi, i32 (%object.Object*, %object.Object*)* @_D6object6Object8opEqualsMFC6ObjectZi, %"tango.text.Regex.List!(TNFAFragment).List"* (%"tango.text.Regex.List!(TNFAFragment).List"*, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*)* @_D5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List11opCatAssignMFC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZC5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List, %"tango.text.Regex.List!(TNFAFragment).List"* (%"tango.text.Regex.List!(TNFAFragment).List"*, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*)* @_D5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List11insertAfterMFC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZC5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List, %"tango.text.Regex.List!(TNFAFragment).List"* (%"tango.text.Regex.List!(TNFAFragment).List"*, %"tango.text.Regex.List!(TNFAFragment).List.Element"*, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*)* @_D5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List11insertAfterMFC5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List7ElementC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZC5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List, %"tango.text.Regex.List!(TNFAFragment).List"* (%"tango.text.Regex.List!(TNFAFragment).List"*, %"tango.text.Regex.List!(TNFAFragment).List"*)* @_D5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List11opCatAssignMFC5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4ListZC5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List, %"tango.text.Regex.List!(TNFAFragment).List"* (%"tango.text.Regex.List!(TNFAFragment).List"*, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*)* @_D5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List9pushFrontMFC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZC5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List, %"tango.text.Regex.List!(TNFAFragment).List"* (%"tango.text.Regex.List!(TNFAFragment).List"*, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*)* @_D5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List12insertBeforeMFC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZC5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List, %"tango.text.Regex.List!(TNFAFragment).List"* (%"tango.text.Regex.List!(TNFAFragment).List"*, %"tango.text.Regex.List!(TNFAFragment).List.Element"*, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*)* @_D5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List12insertBeforeMFC5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List7ElementC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZC5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List, %"tango.text.Regex.List!(TNFAFragment).List"* (%"tango.text.Regex.List!(TNFAFragment).List"*, %"tango.text.Regex.List!(TNFAFragment).List"*)* @_D5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List9pushFrontMFC5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4ListZC5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List, i32 (%"tango.text.Regex.List!(TNFAFragment).List"*)* @_D5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List6lengthMFZk, i1 (%"tango.text.Regex.List!(TNFAFragment).List"*)* @_D5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List5emptyMFZb, void (%"tango.text.Regex.List!(TNFAFragment).List"*)* @_D5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List5clearMFZv, void (%"tango.text.Regex.List!(TNFAFragment).List"*)* @_D5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List3popMFZv, void (%"tango.text.Regex.List!(TNFAFragment).List"*, %"tango.text.Regex.List!(TNFAFragment).List.Element"*)* @_D5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List6removeMFC5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List7ElementZv, i32 (%"tango.text.Regex.List!(TNFAFragment).List"*, %1)* @_D5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List8elementsMFDFKC5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List7ElementZiZi, i32 (%"tango.text.Regex.List!(TNFAFragment).List"*, %1)* @_D5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List16elements_reverseMFDFKC5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List7ElementZiZi, i32 (%"tango.text.Regex.List!(TNFAFragment).List"*, %"int delegate(ref TNFAFragment)")* @_D5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List7opApplyMFDFKC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZiZi, i32 (%"tango.text.Regex.List!(TNFAFragment).List"*, %"int delegate(ref TNFAFragment)")* @_D5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List14opApplyReverseMFDFKC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZiZi } ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"*> [#uses=3]
+@_D5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List7Element7__ClassZ = weak_odr global %object.ClassInfo { %object.ClassInfo.__vtbl* @_D9ClassInfo6__vtblZ, i8* null, %"byte[]" { i32 24, i8* bitcast (%"tango.text.Regex.List!(TNFAFragment).List.Element"* @_D5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List7Element6__initZ to i8*) }, %"byte[]" { i32 49, i8* getelementptr ([50 x i8]* @.str49, i32 0, i32 0) }, %"void*[]" { i32 5, i8** bitcast (%object.ModuleInfo.__vtbl* @_D5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List7Element6__vtblZ to i8**) }, %"Interface[]" zeroinitializer, %object.ClassInfo* @_D6Object7__ClassZ, i8* null, i8* null, i32 44, i8* null, %"OffsetTypeInfo[]" zeroinitializer, i8* null, %object.TypeInfo* bitcast (%object.TypeInfo_Class* @_D106TypeInfo_C5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List7Element6__initZ to %object.TypeInfo*) } ; <%object.ClassInfo*> [#uses=8]
+@_D5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List7Element6__initZ = weak_odr constant %"tango.text.Regex.List!(TNFAFragment).List.Element" { %object.ModuleInfo.__vtbl* @_D5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List7Element6__vtblZ, i8* null, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* null, %"tango.text.Regex.List!(TNFAFragment).List.Element"* null, %"tango.text.Regex.List!(TNFAFragment).List.Element"* null, %"tango.text.Regex.List!(TNFAFragment).List"* null }, align 4 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=2]
+@_D5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List7Element6__vtblZ = weak_odr constant %object.ModuleInfo.__vtbl { %object.ClassInfo* @_D5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List7Element7__ClassZ, %"byte[]" (%object.Object*)* @_D6object6Object8toStringMFZAa, i32 (%object.Object*)* @_D6object6Object6toHashMFZk, i32 (%object.Object*, %object.Object*)* @_D6object6Object5opCmpMFC6ObjectZi, i32 (%object.Object*, %object.Object*)* @_D6object6Object8opEqualsMFC6ObjectZi } ; <%object.ModuleInfo.__vtbl*> [#uses=8]
+@_D106TypeInfo_C5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List7Element6__initZ = linkonce_odr constant %object.TypeInfo_Class { %object.TypeInfo.__vtbl* @_D14TypeInfo_Class6__vtblZ, i8* null, %object.ClassInfo* @_D5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List7Element7__ClassZ } ; <%object.TypeInfo_Class*> [#uses=1]
+@.str49 = internal constant [50 x i8] c"tango.text.Regex.List!(TNFAFragment).List.Element\00" ; <[50 x i8]*> [#uses=1]
+@_D98TypeInfo_C5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List6__initZ = linkonce_odr constant %object.TypeInfo_Class { %object.TypeInfo.__vtbl* @_D14TypeInfo_Class6__vtblZ, i8* null, %object.ClassInfo* @_D5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List7__ClassZ } ; <%object.TypeInfo_Class*> [#uses=1]
+@.str50 = internal constant [42 x i8] c"tango.text.Regex.List!(TNFAFragment).List\00" ; <[42 x i8]*> [#uses=1]
+@_D45TypeInfo_C5tango4text5Regex11__T4TNFATwZ4TNFA6__initZ = linkonce_odr constant %object.TypeInfo_Class { %object.TypeInfo.__vtbl* @_D14TypeInfo_Class6__vtblZ, i8* null, %object.ClassInfo* @_D5tango4text5Regex11__T4TNFATwZ4TNFA7__ClassZ } ; <%object.TypeInfo_Class*> [#uses=1]
+@.str51 = internal constant [35 x i8] c"tango.text.Regex.TNFA!(dchar).TNFA\00" ; <[35 x i8]*> [#uses=1]
+@_D5tango4text7convert7Integer22__T14_FormatterInfoTaZ14_FormatterInfo6__initZ = weak_odr constant %nest.parseListLine zeroinitializer, align 4 ; <%nest.parseListLine*> [#uses=0]
+@_D5tango4text4Util16__T9LineFructTaZ9LineFruct6__initZ = weak_odr constant %"tango.text.Util.LineFruct!(char).LineFruct" zeroinitializer, align 4 ; <%"tango.text.Util.LineFruct!(char).LineFruct"*> [#uses=0]
+@_D5tango4core5Array14__T7IsEqualTaZ7IsEqual6__initZ = weak_odr constant %"tango.core.Array.IsEqual!(char).IsEqual" zeroinitializer, align 1 ; <%"tango.core.Array.IsEqual!(char).IsEqual"*> [#uses=0]
+@_D5tango4core6Traits63__T14isCallableTypeTS5tango4core5Array14__T7IsEqualTaZ7IsEqualZ14isCallableTypeb = weak_odr constant i1 true, align 1 ; <i1*> [#uses=0]
+@_D12TypeInfo_G4a6__initZ = linkonce_odr constant %object.TypeInfo_StaticArray { %object.TypeInfo.__vtbl* @_D20TypeInfo_StaticArray6__vtblZ, i8* null, %object.TypeInfo* @_D10TypeInfo_a6__initZ, i32 4 } ; <%object.TypeInfo_StaticArray*> [#uses=1]
+@_D20TypeInfo_StaticArray6__vtblZ = external constant %object.TypeInfo.__vtbl ; <%object.TypeInfo.__vtbl*> [#uses=1]
+@_D10TypeInfo_a6__initZ = external constant %object.TypeInfo ; <%object.TypeInfo*> [#uses=1]
+@_D5tango4text4Util18__T10DelimFructTaZ10DelimFruct6__initZ = weak_odr constant %tango.net.ftp.FtpClient.FtpFeature zeroinitializer, align 4 ; <%tango.net.ftp.FtpClient.FtpFeature*> [#uses=0]
+@_D5tango4text5Regex56__T5StackTE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorZ5Stack6__initZ = weak_odr constant %"tango.text.Regex.Stack!(Operator).Stack" zeroinitializer, align 4 ; <%"tango.text.Regex.Stack!(Operator).Stack"*> [#uses=0]
+@_D55TypeInfo_AE5tango4text5Regex11__T4TNFATwZ4TNFA8Operator6__initZ = linkonce_odr constant %object.TypeInfo_Array { %object.TypeInfo.__vtbl* @_D14TypeInfo_Array6__vtblZ, i8* null, %object.TypeInfo* bitcast (%object.TypeInfo_Enum* @_D54TypeInfo_E5tango4text5Regex11__T4TNFATwZ4TNFA8Operator6__initZ to %object.TypeInfo*) } ; <%object.TypeInfo_Array*> [#uses=1]
+@_D14TypeInfo_Array6__vtblZ = external constant %object.TypeInfo.__vtbl ; <%object.TypeInfo.__vtbl*> [#uses=8]
+@_D54TypeInfo_E5tango4text5Regex11__T4TNFATwZ4TNFA8Operator6__initZ = linkonce_odr constant %object.TypeInfo_Enum { %object.TypeInfo.__vtbl* @_D13TypeInfo_Enum6__vtblZ, i8* null, %object.TypeInfo* @_D10TypeInfo_i6__initZ, %"byte[]" { i32 43, i8* getelementptr ([44 x i8]* @.str57, i32 0, i32 0) }, %"byte[]" zeroinitializer } ; <%object.TypeInfo_Enum*> [#uses=1]
+@_D13TypeInfo_Enum6__vtblZ = external constant %object.TypeInfo.__vtbl ; <%object.TypeInfo.__vtbl*> [#uses=1]
+@_D10TypeInfo_i6__initZ = external constant %object.TypeInfo ; <%object.TypeInfo*> [#uses=1]
+@.str57 = internal constant [44 x i8] c"tango.text.Regex.TNFA!(dchar).TNFA.Operator\00" ; <[44 x i8]*> [#uses=1]
+@_D5tango4text5Regex12__T5StackTkZ5Stack6__initZ = weak_odr constant %"tango.text.Regex.Stack!(Operator).Stack" zeroinitializer, align 4 ; <%"tango.text.Regex.Stack!(Operator).Stack"*> [#uses=0]
+@_D5tango4text5Regex11__T4PairTkZ4Pair6__initZ = weak_odr constant %tango.net.Socket.timeval zeroinitializer, align 4 ; <%tango.net.Socket.timeval*> [#uses=1]
+@_D45TypeInfo_S5tango4text5Regex11__T4PairTkZ4Pair6__initZ = linkonce_odr constant %20 { %object.TypeInfo.__vtbl* @_D15TypeInfo_Struct6__vtblZ, i8* null, %"byte[]" { i32 33, i8* getelementptr ([34 x i8]* @.str59, i32 0, i32 0) }, %"byte[]" { i32 8, i8* bitcast (%tango.net.Socket.timeval* @_D5tango4text5Regex11__T4PairTkZ4Pair6__initZ to i8*) }, i8* null, i8* null, i8* null, i8* null, i32 0 } ; <%20*> [#uses=1]
+@.str59 = internal constant [34 x i8] c"tango.text.Regex.Pair!(uint).Pair\00" ; <[34 x i8]*> [#uses=1]
+@_D5tango4text5Regex47__T5StackTS5tango4text5Regex11__T4PairTkZ4PairZ5Stack6__initZ = weak_odr constant %"tango.text.Regex.Stack!(Pair!(uint)).Stack" zeroinitializer, align 4 ; <%"tango.text.Regex.Stack!(Pair!(uint)).Stack"*> [#uses=0]
+@_D46TypeInfo_AS5tango4text5Regex11__T4PairTkZ4Pair6__initZ = linkonce_odr constant %object.TypeInfo_Array { %object.TypeInfo.__vtbl* @_D14TypeInfo_Array6__vtblZ, i8* null, %object.TypeInfo* bitcast (%20* @_D45TypeInfo_S5tango4text5Regex11__T4PairTkZ4Pair6__initZ to %object.TypeInfo*) } ; <%object.TypeInfo_Array*> [#uses=1]
+@_D5tango4text5Regex69__T5StackTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ5Stack6__initZ = weak_odr constant %"tango.text.Regex.Stack!(TNFATransition).Stack" zeroinitializer, align 4 ; <%"tango.text.Regex.Stack!(TNFATransition).Stack"*> [#uses=0]
+@_D68TypeInfo_AC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransition6__initZ = linkonce_odr constant %object.TypeInfo_Array { %object.TypeInfo.__vtbl* @_D14TypeInfo_Array6__vtblZ, i8* null, %object.TypeInfo* bitcast (%object.TypeInfo_Class* @_D67TypeInfo_C5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransition6__initZ to %object.TypeInfo*) } ; <%object.TypeInfo_Array*> [#uses=1]
+@_D56TypeInfo_AS5tango4text5Regex16__T9CharRangeTwZ9CharRange6__initZ = linkonce_odr constant %object.TypeInfo_Array { %object.TypeInfo.__vtbl* @_D14TypeInfo_Array6__vtblZ, i8* null, %object.TypeInfo* bitcast (%21* @_D55TypeInfo_S5tango4text5Regex16__T9CharRangeTwZ9CharRange6__initZ to %object.TypeInfo*) } ; <%object.TypeInfo_Array*> [#uses=1]
+@.str65 = internal constant [7 x i8] c"ftp://\00" ; <[7 x i8]*> [#uses=1]
+@_D11TypeInfo_Aa6__initZ = external constant %object.TypeInfo ; <%object.TypeInfo*> [#uses=67]
+@.str66 = internal constant [4 x i8] c"420\00" ; <[4 x i8]*> [#uses=1]
+@.str67 = internal constant [4 x i8] c"220\00" ; <[4 x i8]*> [#uses=1]
+@.str68 = internal constant [5 x i8] c"USER\00" ; <[5 x i8]*> [#uses=1]
+@.str69 = internal constant [4 x i8] c"331\00" ; <[4 x i8]*> [#uses=1]
+@.str70 = internal constant [5 x i8] c"PASS\00" ; <[5 x i8]*> [#uses=1]
+@.str71 = internal constant [4 x i8] c"230\00" ; <[4 x i8]*> [#uses=1]
+@.str72 = internal constant [4 x i8] c"202\00" ; <[4 x i8]*> [#uses=1]
+@.str73 = internal constant [5 x i8] c"QUIT\00" ; <[5 x i8]*> [#uses=1]
+@.str74 = internal constant [4 x i8] c"221\00" ; <[4 x i8]*> [#uses=1]
+@_D5tango3net6Socket11IPv4Address7__ClassZ = external global %object.ClassInfo ; <%object.ClassInfo*> [#uses=8]
+@_D5tango3net6Socket11IPv4Address6__initZ = external constant %22, align 4 ; <%22*> [#uses=1]
+@_D5tango3net6Socket11IPv4Address6__vtblZ = external constant %tango.net.Socket.IPv4Address.__vtbl ; <%tango.net.Socket.IPv4Address.__vtbl*> [#uses=5]
+@.str75 = internal constant [4 x i8] c"CWD\00" ; <[4 x i8]*> [#uses=1]
+@.str76 = internal constant [4 x i8] c"250\00" ; <[4 x i8]*> [#uses=1]
+@.str77 = internal constant [5 x i8] c"CDUP\00" ; <[5 x i8]*> [#uses=1]
+@.str78 = internal constant [4 x i8] c"200\00" ; <[4 x i8]*> [#uses=1]
+@.str79 = internal constant [4 x i8] c"250\00" ; <[4 x i8]*> [#uses=1]
+@.str80 = internal constant [4 x i8] c"PWD\00" ; <[4 x i8]*> [#uses=1]
+@.str81 = internal constant [4 x i8] c"257\00" ; <[4 x i8]*> [#uses=1]
+@.str82 = internal constant [4 x i8] c"000\00" ; <[4 x i8]*> [#uses=3]
+@.str84 = internal constant [11 x i8] c"SITE CHMOD\00" ; <[11 x i8]*> [#uses=1]
+@.str85 = internal constant [4 x i8] c"200\00" ; <[4 x i8]*> [#uses=1]
+@.str86 = internal constant [5 x i8] c"DELE\00" ; <[5 x i8]*> [#uses=1]
+@.str87 = internal constant [4 x i8] c"250\00" ; <[4 x i8]*> [#uses=1]
+@.str88 = internal constant [4 x i8] c"250\00" ; <[4 x i8]*> [#uses=1]
+@.str89 = internal constant [4 x i8] c"RMD\00" ; <[4 x i8]*> [#uses=1]
+@.str90 = internal constant [4 x i8] c"250\00" ; <[4 x i8]*> [#uses=1]
+@.str91 = internal constant [5 x i8] c"RNFR\00" ; <[5 x i8]*> [#uses=1]
+@.str92 = internal constant [4 x i8] c"350\00" ; <[4 x i8]*> [#uses=1]
+@.str93 = internal constant [5 x i8] c"RNTO\00" ; <[5 x i8]*> [#uses=1]
+@.str94 = internal constant [4 x i8] c"250\00" ; <[4 x i8]*> [#uses=1]
+@.str95 = internal constant [4 x i8] c"501\00" ; <[4 x i8]*> [#uses=1]
+@.str96 = internal constant [5 x i8] c"SIZE\00" ; <[5 x i8]*> [#uses=1]
+@.str97 = internal constant [4 x i8] c"213\00" ; <[4 x i8]*> [#uses=1]
+@.str98 = internal constant [5 x i8] c"TYPE\00" ; <[5 x i8]*> [#uses=1]
+@.str99 = internal constant [2 x i8] c"A\00" ; <[2 x i8]*> [#uses=1]
+@.str100 = internal constant [5 x i8] c"TYPE\00" ; <[5 x i8]*> [#uses=1]
+@.str101 = internal constant [2 x i8] c"I\00" ; <[2 x i8]*> [#uses=1]
+@.str102 = internal constant [4 x i8] c"200\00" ; <[4 x i8]*> [#uses=1]
+@.str103 = internal constant [5 x i8] c"MDTM\00" ; <[5 x i8]*> [#uses=1]
+@.str104 = internal constant [4 x i8] c"213\00" ; <[4 x i8]*> [#uses=1]
+@.str105 = internal constant [32 x i8] c"CLIENT: Unable to parse timeval\00" ; <[32 x i8]*> [#uses=1]
+@.str106 = internal constant [4 x i8] c"501\00" ; <[4 x i8]*> [#uses=1]
+@_D5tango4time6chrono9Gregorian9Gregorian7genericC5tango4time6chrono9Gregorian9Gregorian = external global %tango.time.chrono.Gregorian.Gregorian*, align 4 ; <%tango.time.chrono.Gregorian.Gregorian**> [#uses=2]
+@.str109 = internal constant [5 x i8] c"NOOP\00" ; <[5 x i8]*> [#uses=1]
+@.str110 = internal constant [4 x i8] c"200\00" ; <[4 x i8]*> [#uses=1]
+@.str111 = internal constant [4 x i8] c"MKD\00" ; <[4 x i8]*> [#uses=1]
+@.str112 = internal constant [4 x i8] c"257\00" ; <[4 x i8]*> [#uses=1]
+@.str113 = internal constant [5 x i8] c"FEAT\00" ; <[5 x i8]*> [#uses=1]
+@.str114 = internal constant [4 x i8] c"211\00" ; <[4 x i8]*> [#uses=1]
+@_D47TypeInfo_AS5tango3net3ftp9FtpClient10FtpFeature6__initZ = linkonce_odr constant %object.TypeInfo_Array { %object.TypeInfo.__vtbl* @_D14TypeInfo_Array6__vtblZ, i8* null, %object.TypeInfo* bitcast (%20* @_D46TypeInfo_S5tango3net3ftp9FtpClient10FtpFeature6__initZ to %object.TypeInfo*) } ; <%object.TypeInfo_Array*> [#uses=1]
+@.str115 = internal constant [5 x i8] c"FEAT\00" ; <[5 x i8]*> [#uses=1]
+@.str117 = internal constant [3 x i8] c"\0D\0A\00", align 2 ; <[3 x i8]*> [#uses=1]
+@.str118 = internal constant [4 x i8] c"500\00" ; <[4 x i8]*> [#uses=1]
+@.str120 = internal constant [24 x i8] c"unknown connection type\00" ; <[24 x i8]*> [#uses=1]
+@_D5tango3net13SocketConduit13SocketConduit7__ClassZ = external global %object.ClassInfo ; <%object.ClassInfo*> [#uses=2]
+@_D5tango3net13SocketConduit13SocketConduit6__initZ = external constant %23, align 4 ; <%23*> [#uses=1]
+@_D5tango3net13SocketConduit13SocketConduit6__vtblZ = external constant %tango.net.SocketConduit.SocketConduit.__vtbl ; <%tango.net.SocketConduit.SocketConduit.__vtbl*> [#uses=2]
+@.str122 = internal constant [5 x i8] c"EPRT\00" ; <[5 x i8]*> [#uses=1]
+@.str123 = internal constant [5 x i8] c"EPRT\00" ; <[5 x i8]*> [#uses=1]
+@.str124 = internal constant [10 x i8] c"|1|%0|%1|\00" ; <[10 x i8]*> [#uses=1]
+@.str125 = internal constant [4 x i8] c"200\00" ; <[4 x i8]*> [#uses=1]
+@.str126 = internal constant [18 x i8] c"%0,%1,%2,%3,%4,%5\00" ; <[18 x i8]*> [#uses=1]
+@.str127 = internal constant [5 x i8] c"PORT\00" ; <[5 x i8]*> [#uses=1]
+@.str128 = internal constant [4 x i8] c"200\00" ; <[4 x i8]*> [#uses=1]
+@.str129 = internal constant [5 x i8] c"SPSV\00" ; <[5 x i8]*> [#uses=1]
+@.str130 = internal constant [5 x i8] c"SPSV\00" ; <[5 x i8]*> [#uses=1]
+@.str131 = internal constant [4 x i8] c"227\00" ; <[4 x i8]*> [#uses=1]
+@.str132 = internal constant [5 x i8] c"EPSV\00" ; <[5 x i8]*> [#uses=1]
+@.str133 = internal constant [5 x i8] c"EPSV\00" ; <[5 x i8]*> [#uses=1]
+@.str134 = internal constant [4 x i8] c"229\00" ; <[4 x i8]*> [#uses=1]
+@.str135 = internal constant [34 x i8] c"\5C([^0-9][^0-9][^0-9](\5Cd+)[^0-9]\5C)\00" ; <[34 x i8]*> [#uses=1]
+@.str136 = internal constant [32 x i8] c"CLIENT: Unable to parse address\00" ; <[32 x i8]*> [#uses=1]
+@.str137 = internal constant [4 x i8] c"501\00" ; <[4 x i8]*> [#uses=1]
+@.str138 = internal constant [5 x i8] c"PASV\00" ; <[5 x i8]*> [#uses=1]
+@.str139 = internal constant [4 x i8] c"227\00" ; <[4 x i8]*> [#uses=1]
+@.str140 = internal constant [54 x i8] c"(\5Cd+),\5Cs*(\5Cd+),\5Cs*(\5Cd+),\5Cs*(\5Cd+),\5Cs*(\5Cd+)(,\5Cs*(\5Cd+))?\00" ; <[54 x i8]*> [#uses=1]
+@.str141 = internal constant [32 x i8] c"CLIENT: Unable to parse address\00" ; <[32 x i8]*> [#uses=1]
+@.str142 = internal constant [4 x i8] c"501\00" ; <[4 x i8]*> [#uses=1]
+@.str146 = internal constant [24 x i8] c"unknown connection type\00" ; <[24 x i8]*> [#uses=1]
+@_D5tango3net6Socket9SocketSet7__ClassZ = external global %object.ClassInfo ; <%object.ClassInfo*> [#uses=3]
+@_D5tango3net6Socket9SocketSet6__initZ = external constant %24, align 4 ; <%24*> [#uses=1]
+@_D5tango3net6Socket9SocketSet6__vtblZ = external constant %tango.net.Socket.SocketSet.__vtbl ; <%tango.net.Socket.SocketSet.__vtbl*> [#uses=3]
+@.str147 = internal constant [34 x i8] c"CLIENT: No connection from server\00" ; <[34 x i8]*> [#uses=1]
+@.str148 = internal constant [4 x i8] c"420\00" ; <[4 x i8]*> [#uses=1]
+@_D5tango3net6Socket6Socket7__ClassZ = external global %object.ClassInfo ; <%object.ClassInfo*> [#uses=2]
+@_D5tango3net6Socket6Socket6__initZ = external constant %25, align 4 ; <%25*> [#uses=1]
+@_D5tango3net6Socket6Socket6__vtblZ = external constant %tango.net.Socket.Socket.__vtbl ; <%tango.net.Socket.Socket.__vtbl*> [#uses=2]
+@.str149 = internal constant [4 x i8] c"226\00" ; <[4 x i8]*> [#uses=1]
+@.str150 = internal constant [4 x i8] c"420\00" ; <[4 x i8]*> [#uses=1]
+@.str151 = internal constant [11 x i8] c"Bad finish\00" ; <[11 x i8]*> [#uses=1]
+@.str152 = internal constant [4 x i8] c"150\00" ; <[4 x i8]*> [#uses=1]
+@.str153 = internal constant [4 x i8] c"125\00" ; <[4 x i8]*> [#uses=1]
+@.str154 = internal constant [5 x i8] c"MLST\00" ; <[5 x i8]*> [#uses=1]
+@.str155 = internal constant [5 x i8] c"MLSD\00" ; <[5 x i8]*> [#uses=1]
+@.str156 = internal constant [5 x i8] c"MLSD\00" ; <[5 x i8]*> [#uses=1]
+@_D5tango2io6device5Array5Array7__ClassZ = external global %object.ClassInfo ; <%object.ClassInfo*> [#uses=2]
+@_D5tango2io6device5Array5Array6__initZ = external constant %26, align 4 ; <%26*> [#uses=1]
+@_D5tango2io6device5Array5Array6__vtblZ = external constant %tango.io.device.Array.Array.__vtbl ; <%tango.io.device.Array.Array.__vtbl*> [#uses=2]
+@_D48TypeInfo_AS5tango3net3ftp9FtpClient11FtpFileInfo6__initZ = linkonce_odr constant %object.TypeInfo_Array { %object.TypeInfo.__vtbl* @_D14TypeInfo_Array6__vtblZ, i8* null, %object.TypeInfo* bitcast (%20* @_D47TypeInfo_S5tango3net3ftp9FtpClient11FtpFileInfo6__initZ to %object.TypeInfo*) } ; <%object.TypeInfo_Array*> [#uses=1]
+@.str161 = internal constant [34 x i8] c"CLIENT: Timeout when reading data\00" ; <[34 x i8]*> [#uses=1]
+@.str162 = internal constant [4 x i8] c"420\00" ; <[4 x i8]*> [#uses=1]
+@.str163 = internal constant [34 x i8] c"CLIENT: Timeout when sending data\00" ; <[34 x i8]*> [#uses=1]
+@.str164 = internal constant [4 x i8] c"420\00" ; <[4 x i8]*> [#uses=1]
+@.str165 = internal constant [5 x i8] c"LIST\00" ; <[5 x i8]*> [#uses=1]
+@.str166 = internal constant [5 x i8] c"LIST\00" ; <[5 x i8]*> [#uses=1]
+@.str167 = internal constant [11 x i8] c"0123456789\00" ; <[11 x i8]*> [#uses=2]
+@.str168 = internal constant [5 x i8] c"0000\00" ; <[5 x i8]*> [#uses=1]
+@.str169 = internal constant [10 x i8] c"UNIX.mode\00" ; <[10 x i8]*> [#uses=1]
+@.str170 = internal constant [11 x i8] c"0123456789\00" ; <[11 x i8]*> [#uses=2]
+@.str171 = internal constant [5 x i8] c" -> \00" ; <[5 x i8]*> [#uses=1]
+@.str172 = internal constant [7 x i8] c"target\00" ; <[7 x i8]*> [#uses=1]
+@.str173 = internal constant [5 x i8] c"type\00" ; <[5 x i8]*> [#uses=1]
+@.str174 = internal constant [5 x i8] c"link\00" ; <[5 x i8]*> [#uses=1]
+@.str175 = internal constant [43 x i8] c"(\5Cd\5Cd)-(\5Cd\5Cd)-(\5Cd\5Cd)\5Cs+(\5Cd\5Cd):(\5Cd\5Cd)(A|P)M\00" ; <[43 x i8]*> [#uses=1]
+@.str176 = internal constant [32 x i8] c"CLIENT: Unsupported LIST format\00" ; <[32 x i8]*> [#uses=1]
+@.str177 = internal constant [4 x i8] c"501\00" ; <[4 x i8]*> [#uses=1]
+@.str178 = internal constant [2 x i8] c".\00" ; <[2 x i8]*> [#uses=1]
+@.str179 = internal constant [3 x i8] c"..\00" ; <[3 x i8]*> [#uses=1]
+@.str180 = internal constant [36 x i8] c"CLIENT: Bad syntax in MLSx response\00" ; <[36 x i8]*> [#uses=1]
+@.str181 = internal constant [4 x i8] c"501\00" ; <[4 x i8]*> [#uses=1]
+@.str182 = internal constant [2 x i8] c";\00" ; <[2 x i8]*> [#uses=1]
+@.str183 = internal constant [5 x i8] c"type\00" ; <[5 x i8]*> [#uses=1]
+@.str184 = internal constant [4 x i8] c"dir\00" ; <[4 x i8]*> [#uses=1]
+@.str185 = internal constant [5 x i8] c"cdir\00" ; <[5 x i8]*> [#uses=1]
+@.str186 = internal constant [5 x i8] c"file\00" ; <[5 x i8]*> [#uses=1]
+@.str187 = internal constant [5 x i8] c"pdir\00" ; <[5 x i8]*> [#uses=1]
+@.string_switch_table_data = internal constant [4 x %"byte[]"] [%"byte[]" { i32 3, i8* getelementptr ([4 x i8]* @.str184, i32 0, i32 0) }, %"byte[]" { i32 4, i8* getelementptr ([5 x i8]* @.str185, i32 0, i32 0) }, %"byte[]" { i32 4, i8* getelementptr ([5 x i8]* @.str186, i32 0, i32 0) }, %"byte[]" { i32 4, i8* getelementptr ([5 x i8]* @.str187, i32 0, i32 0) }] ; <[4 x %"byte[]"]*> [#uses=1]
+@.str188 = internal constant [5 x i8] c"type\00" ; <[5 x i8]*> [#uses=1]
+@.str189 = internal constant [5 x i8] c"size\00" ; <[5 x i8]*> [#uses=1]
+@.str190 = internal constant [5 x i8] c"size\00" ; <[5 x i8]*> [#uses=1]
+@.str191 = internal constant [11 x i8] c"media-type\00" ; <[11 x i8]*> [#uses=1]
+@.str192 = internal constant [11 x i8] c"media-type\00" ; <[11 x i8]*> [#uses=1]
+@.str193 = internal constant [7 x i8] c"modify\00" ; <[7 x i8]*> [#uses=1]
+@.str194 = internal constant [7 x i8] c"modify\00" ; <[7 x i8]*> [#uses=1]
+@.str195 = internal constant [7 x i8] c"create\00" ; <[7 x i8]*> [#uses=1]
+@.str196 = internal constant [7 x i8] c"create\00" ; <[7 x i8]*> [#uses=1]
+@.str197 = internal constant [38 x i8] c"CLIENT: Bad LIST response from server\00" ; <[38 x i8]*> [#uses=1]
+@.str198 = internal constant [4 x i8] c"501\00" ; <[4 x i8]*> [#uses=1]
+@_D5tango2io6device4File4File7__ClassZ = external global %object.ClassInfo ; <%object.ClassInfo*> [#uses=2]
+@_D5tango2io6device4File4File6__initZ = external constant %27, align 4 ; <%27*> [#uses=1]
+@_D5tango2io6device4File4File6__vtblZ = external constant %tango.io.device.File.File.__vtbl ; <%tango.io.device.File.File.__vtbl*> [#uses=2]
+@_D5tango2io6device4File4File12ReadExistingS5tango2io6device4File4File5Style = external constant %tango.io.device.File.File.Style, align 1 ; <%tango.io.device.File.File.Style*> [#uses=1]
+@_D5tango2io6device4File4File17ReadWriteExistingS5tango2io6device4File4File5Style = external constant %tango.io.device.File.File.Style, align 1 ; <%tango.io.device.File.File.Style*> [#uses=1]
+@_D5tango2io6device4File4File15ReadWriteCreateS5tango2io6device4File4File5Style = external constant %tango.io.device.File.File.Style, align 1 ; <%tango.io.device.File.File.Style*> [#uses=1]
+@.str199 = internal constant [5 x i8] c"STOR\00" ; <[5 x i8]*> [#uses=1]
+@.str200 = internal constant [5 x i8] c"APPE\00" ; <[5 x i8]*> [#uses=1]
+@.str201 = internal constant [5 x i8] c"REST\00" ; <[5 x i8]*> [#uses=1]
+@.str202 = internal constant [4 x i8] c"350\00" ; <[4 x i8]*> [#uses=1]
+@.str203 = internal constant [5 x i8] c"ALLO\00" ; <[5 x i8]*> [#uses=1]
+@.str204 = internal constant [4 x i8] c"200\00" ; <[4 x i8]*> [#uses=1]
+@.str205 = internal constant [4 x i8] c"202\00" ; <[4 x i8]*> [#uses=1]
+@.str206 = internal constant [13 x i8] c"OPTS UTF8 ON\00" ; <[13 x i8]*> [#uses=1]
+@.str207 = internal constant [4 x i8] c"200\00" ; <[4 x i8]*> [#uses=1]
+@.str208 = internal constant [5 x i8] c"RETR\00" ; <[5 x i8]*> [#uses=1]
+@.str209 = internal constant [5 x i8] c"RETR\00" ; <[5 x i8]*> [#uses=1]
+@.str210 = internal constant [5 x i8] c"STOR\00" ; <[5 x i8]*> [#uses=1]
+@_D5tango4text5Regex15RegExpException7__ClassZ = external global %object.ClassInfo ; <%object.ClassInfo*> [#uses=17]
+@_D5tango4text5Regex15RegExpException6__initZ = external constant %28, align 4 ; <%28*> [#uses=1]
+@_D5tango4text5Regex15RegExpException6__vtblZ = external constant %object.Exception.__vtbl ; <%object.Exception.__vtbl*> [#uses=17]
+@.str211 = internal constant [28 x i8] c"cannot process operand at \22\00" ; <[28 x i8]*> [#uses=1]
+@._arguments.storage = internal constant [2 x %object.TypeInfo*] [%object.TypeInfo* @_D10TypeInfo_k6__initZ, %object.TypeInfo* @_D11TypeInfo_Aa6__initZ] ; <[2 x %object.TypeInfo*]*> [#uses=1]
+@_D10TypeInfo_k6__initZ = external constant %object.TypeInfo ; <%object.TypeInfo*> [#uses=2]
+@.str213 = internal constant [68 x i8] c"Missing opening parentheses for closing parentheses at char {} \22{}\22\00" ; <[68 x i8]*> [#uses=1]
+@._arguments.storage214 = internal constant [3 x %object.TypeInfo*] [%object.TypeInfo* @_D10TypeInfo_k6__initZ, %object.TypeInfo* @_D11TypeInfo_Aa6__initZ, %object.TypeInfo* @_D11TypeInfo_Aa6__initZ] ; <[3 x %object.TypeInfo*]*> [#uses=1]
+@.str216 = internal constant [43 x i8] c"Unexpected operand at char {} \22{}\22 in \22{}\22\00" ; <[43 x i8]*> [#uses=1]
+@.str217 = internal constant [56 x i8] c"Escape sequence \5Cb not allowed in look-ahead or -behind\00" ; <[56 x i8]*> [#uses=1]
+@.str218 = internal constant [56 x i8] c"Escape sequence \5CB not allowed in look-ahead or -behind\00" ; <[56 x i8]*> [#uses=1]
+@_D56TypeInfo_AC5tango4text5Regex16__T9TNFAStateTwZ9TNFAState6__initZ = linkonce_odr constant %object.TypeInfo_Array { %object.TypeInfo.__vtbl* @_D14TypeInfo_Array6__vtblZ, i8* null, %object.TypeInfo* bitcast (%object.TypeInfo_Class* @_D55TypeInfo_C5tango4text5Regex16__T9TNFAStateTwZ9TNFAState6__initZ to %object.TypeInfo*) } ; <%object.TypeInfo_Array*> [#uses=1]
+@.str219 = internal constant [29 x i8] c"Invalid occurence range at \22\00" ; <[29 x i8]*> [#uses=1]
+@.str221 = internal constant [29 x i8] c"Invalid occurence range at \22\00" ; <[29 x i8]*> [#uses=1]
+@.str223 = internal constant [41 x i8] c"Invalid occurence range (max < min) at \22\00" ; <[41 x i8]*> [#uses=1]
+@.str225 = internal constant [45 x i8] c"Missing range start for '-' operator after \22\00" ; <[45 x i8]*> [#uses=1]
+@.str227 = internal constant [43 x i8] c"Missing range end for '-' operator after \22\00" ; <[43 x i8]*> [#uses=1]
+@.str229 = internal constant [33 x i8] c"unexpected end of string after \22\00" ; <[33 x i8]*> [#uses=1]
+@.str231 = internal constant [29 x i8] c"too few arguments for + at \22\00" ; <[29 x i8]*> [#uses=1]
+@.str233 = internal constant [29 x i8] c"too few arguments for * at \22\00" ; <[29 x i8]*> [#uses=1]
+@.str235 = internal constant [29 x i8] c"too few arguments for ? at \22\00" ; <[29 x i8]*> [#uses=1]
+@.str237 = internal constant [33 x i8] c"too few arguments for {x,y} at \22\00" ; <[33 x i8]*> [#uses=1]
+@.str239 = internal constant [29 x i8] c"too few arguments for | at \22\00" ; <[29 x i8]*> [#uses=1]
+@.str241 = internal constant [40 x i8] c"too few operands for concatenation at \22\00" ; <[40 x i8]*> [#uses=1]
+@_D5tango4core9Exception24IllegalArgumentException7__ClassZ = external global %object.ClassInfo ; <%object.ClassInfo*> [#uses=2]
+@_D5tango4core9Exception24IllegalArgumentException6__initZ = external constant %29, align 4 ; <%29*> [#uses=1]
+@_D5tango4core9Exception24IllegalArgumentException6__vtblZ = external constant %object.Exception.__vtbl ; <%object.Exception.__vtbl*> [#uses=2]
+@.str244 = internal constant [34 x i8] c"Integer.toLong :: invalid literal\00" ; <[34 x i8]*> [#uses=1]
+@_D5tango4text7convert7Integer16__T9formatterTaZ9formatterFAalaaiZAa5lowerAa = weak_odr constant %"byte[]" { i32 16, i8* getelementptr ([17 x i8]* @.str245, i32 0, i32 0) }, align 4 ; <%"byte[]"*> [#uses=0]
+@.str245 = internal constant [17 x i8] c"0123456789abcdef\00" ; <[17 x i8]*> [#uses=1]
+@_D5tango4text7convert7Integer16__T9formatterTaZ9formatterFAalaaiZAa5upperAa = weak_odr constant %"byte[]" { i32 16, i8* getelementptr ([17 x i8]* @.str246, i32 0, i32 0) }, align 4 ; <%"byte[]"*> [#uses=0]
+@.str246 = internal constant [17 x i8] c"0123456789ABCDEF\00" ; <[17 x i8]*> [#uses=1]
+@_D5tango4text7convert7Integer16__T9formatterTaZ9formatterFAalaaiZAa7formatsAS5tango4text7convert7Integer22__T14_FormatterInfoTaZ14_FormatterInfo = weak_odr constant %"_FormatterInfo!(char)[]" { i32 8, %nest.parseListLine* getelementptr ([8 x %nest.parseListLine]* @.constarray262, i32 0, i32 0) }, align 4 ; <%"_FormatterInfo!(char)[]"*> [#uses=0]
+@.str247 = internal constant [17 x i8] c"0123456789abcdef\00" ; <[17 x i8]*> [#uses=1]
+@.str248 = internal constant [2 x i8] c"-\00" ; <[2 x i8]*> [#uses=1]
+@.str249 = internal constant [17 x i8] c"0123456789abcdef\00" ; <[17 x i8]*> [#uses=1]
+@.str250 = internal constant [2 x i8] c" \00" ; <[2 x i8]*> [#uses=1]
+@.str251 = internal constant [17 x i8] c"0123456789abcdef\00" ; <[17 x i8]*> [#uses=1]
+@.str252 = internal constant [2 x i8] c"+\00" ; <[2 x i8]*> [#uses=1]
+@.str253 = internal constant [17 x i8] c"0123456789abcdef\00" ; <[17 x i8]*> [#uses=1]
+@.str254 = internal constant [3 x i8] c"0b\00" ; <[3 x i8]*> [#uses=1]
+@.str255 = internal constant [17 x i8] c"0123456789abcdef\00" ; <[17 x i8]*> [#uses=1]
+@.str256 = internal constant [3 x i8] c"0o\00" ; <[3 x i8]*> [#uses=1]
+@.str257 = internal constant [17 x i8] c"0123456789abcdef\00" ; <[17 x i8]*> [#uses=1]
+@.str258 = internal constant [3 x i8] c"0x\00" ; <[3 x i8]*> [#uses=1]
+@.str259 = internal constant [17 x i8] c"0123456789abcdef\00" ; <[17 x i8]*> [#uses=1]
+@.str260 = internal constant [3 x i8] c"0X\00" ; <[3 x i8]*> [#uses=1]
+@.str261 = internal constant [17 x i8] c"0123456789ABCDEF\00" ; <[17 x i8]*> [#uses=1]
+@.constarray262 = internal global [8 x %nest.parseListLine] [%nest.parseListLine { i32 10, %"byte[]" zeroinitializer, %"byte[]" { i32 16, i8* getelementptr ([17 x i8]* @.str247, i32 0, i32 0) } }, %nest.parseListLine { i32 10, %"byte[]" { i32 1, i8* getelementptr ([2 x i8]* @.str248, i32 0, i32 0) }, %"byte[]" { i32 16, i8* getelementptr ([17 x i8]* @.str249, i32 0, i32 0) } }, %nest.parseListLine { i32 10, %"byte[]" { i32 1, i8* getelementptr ([2 x i8]* @.str250, i32 0, i32 0) }, %"byte[]" { i32 16, i8* getelementptr ([17 x i8]* @.str251, i32 0, i32 0) } }, %nest.parseListLine { i32 10, %"byte[]" { i32 1, i8* getelementptr ([2 x i8]* @.str252, i32 0, i32 0) }, %"byte[]" { i32 16, i8* getelementptr ([17 x i8]* @.str253, i32 0, i32 0) } }, %nest.parseListLine { i32 2, %"byte[]" { i32 2, i8* getelementptr ([3 x i8]* @.str254, i32 0, i32 0) }, %"byte[]" { i32 16, i8* getelementptr ([17 x i8]* @.str255, i32 0, i32 0) } }, %nest.parseListLine { i32 8, %"byte[]" { i32 2, i8* getelementptr ([3 x i8]* @.str256, i32 0, i32 0) }, %"byte[]" { i32 16, i8* getelementptr ([17 x i8]* @.str257, i32 0, i32 0) } }, %nest.parseListLine { i32 16, %"byte[]" { i32 2, i8* getelementptr ([3 x i8]* @.str258, i32 0, i32 0) }, %"byte[]" { i32 16, i8* getelementptr ([17 x i8]* @.str259, i32 0, i32 0) } }, %nest.parseListLine { i32 16, %"byte[]" { i32 2, i8* getelementptr ([3 x i8]* @.str260, i32 0, i32 0) }, %"byte[]" { i32 16, i8* getelementptr ([17 x i8]* @.str261, i32 0, i32 0) } }] ; <[8 x %nest.parseListLine]*> [#uses=13]
+@.str263 = internal constant [18 x i8] c"{unknown format '\00" ; <[18 x i8]*> [#uses=1]
+@.str264 = internal constant [3 x i8] c"'}\00", align 2 ; <[3 x i8]*> [#uses=1]
+@.str265 = internal constant [25 x i8] c"{output width too small}\00" ; <[25 x i8]*> [#uses=1]
+@_D12TypeInfo_AAa6__initZ = linkonce_odr constant %object.TypeInfo_Array { %object.TypeInfo.__vtbl* @_D14TypeInfo_Array6__vtblZ, i8* null, %object.TypeInfo* @_D11TypeInfo_Aa6__initZ } ; <%object.TypeInfo_Array*> [#uses=1]
+@_D5tango4text4Util16__T9LineFructTaZ9LineFruct7opApplyMFDFKAaZiZi2nla = weak_odr constant i8 10, align 1 ; <i8*> [#uses=0]
+@_D5tango4text4Util16__T9LineFructTaZ9LineFruct7opApplyMFDFKAaZiZi2cra = weak_odr constant i8 13, align 1 ; <i8*> [#uses=0]
+@_D5tango4text4Util13__T6layoutTaZ6layoutFAaAAaXAa6badargAa = weak_odr global %"byte[]" { i32 20, i8* getelementptr ([21 x i8]* @.str266, i32 0, i32 0) }, align 8 ; <%"byte[]"*> [#uses=1]
+@.str266 = internal constant [21 x i8] c"{index out of range}\00" ; <[21 x i8]*> [#uses=1]
+@_D5tango4text4Util13__T6layoutTaZ6layoutFAaAAaXAa8toosmallAa = weak_odr global %"byte[]" { i32 25, i8* getelementptr ([26 x i8]* @.str267, i32 0, i32 0) }, align 8 ; <%"byte[]"*> [#uses=2]
+@.str267 = internal constant [26 x i8] c"{output buffer too small}\00" ; <[26 x i8]*> [#uses=1]
+@_D11TypeInfo_Ak6__initZ = external constant %object.TypeInfo ; <%object.TypeInfo*> [#uses=4]
+@_D5tango4text5Regex14__T7RegExpTTaZ7RegExpT7__ClassZ = external global %object.ClassInfo ; <%object.ClassInfo*> [#uses=3]
+@_D5tango4text5Regex14__T7RegExpTTaZ7RegExpT6__initZ = external constant %30, align 4 ; <%30*> [#uses=1]
+@_D5tango4text5Regex14__T7RegExpTTaZ7RegExpT6__vtblZ = external constant %"tango.text.Regex.RegExpT!(char).RegExpT.__vtbl" ; <%"tango.text.Regex.RegExpT!(char).RegExpT.__vtbl"*> [#uses=3]
+@_D11TypeInfo_Ag6__initZ = external constant %object.TypeInfo ; <%object.TypeInfo*> [#uses=3]
+@_D11TypeInfo_Ah6__initZ = external constant %object.TypeInfo ; <%object.TypeInfo*> [#uses=2]
+@.str280 = internal constant [9 x i8] c"RegExp: \00", align 8 ; <[9 x i8]*> [#uses=1]
+@_D10ModuleInfo6__vtblZ = external constant %object.ModuleInfo.__vtbl ; <%object.ModuleInfo.__vtbl*> [#uses=1]
+@.str289 = internal constant [24 x i8] c"tango.net.ftp.FtpClient\00" ; <[24 x i8]*> [#uses=1]
+@_D5tango4text5Regex8__ModuleZ = external global %object.ModuleInfo ; <%object.ModuleInfo*> [#uses=1]
+@_D5tango4time6chrono9Gregorian8__ModuleZ = external global %object.ModuleInfo ; <%object.ModuleInfo*> [#uses=1]
+@_D5tango4text7convert9TimeStamp8__ModuleZ = external global %object.ModuleInfo ; <%object.ModuleInfo*> [#uses=1]
+@_D5tango3net3ftp9FtpClient9__importsZ = internal constant [3 x %object.ModuleInfo*] [%object.ModuleInfo* @_D5tango4text5Regex8__ModuleZ, %object.ModuleInfo* @_D5tango4time6chrono9Gregorian8__ModuleZ, %object.ModuleInfo* @_D5tango4text7convert9TimeStamp8__ModuleZ] ; <[3 x %object.ModuleInfo*]*> [#uses=1]
+@_D5tango3net3ftp9FtpClient9__classesZ = internal constant [2 x %object.ClassInfo*] [%object.ClassInfo* @_D5tango3net3ftp9FtpClient12FtpException7__ClassZ, %object.ClassInfo* @_D5tango3net3ftp9FtpClient13FTPConnection7__ClassZ] ; <[2 x %object.ClassInfo*]*> [#uses=1]
+@_D5tango3net3ftp9FtpClient8__ModuleZ = global %object.ModuleInfo { %object.ModuleInfo.__vtbl* @_D10ModuleInfo6__vtblZ, i8* null, %"byte[]" { i32 23, i8* getelementptr ([24 x i8]* @.str289, i32 0, i32 0) }, %"ModuleInfo[]" { i32 3, %object.ModuleInfo** getelementptr ([3 x %object.ModuleInfo*]* @_D5tango3net3ftp9FtpClient9__importsZ, i32 0, i32 0) }, %"ClassInfo[]" { i32 2, %object.ClassInfo** getelementptr ([2 x %object.ClassInfo*]* @_D5tango3net3ftp9FtpClient9__classesZ, i32 0, i32 0) }, i32 0, void ()* null, void ()* null, void ()* null, i8* null, void ()* null } ; <%object.ModuleInfo*> [#uses=1]
+@_D5tango3net3ftp9FtpClient11__moduleRefZ = internal global %ModuleReference { %ModuleReference* null, %object.ModuleInfo* @_D5tango3net3ftp9FtpClient8__ModuleZ } ; <%ModuleReference*> [#uses=2]
+@_Dmodule_ref = external global %ModuleReference* ; <%ModuleReference**> [#uses=2]
+@llvm.global_ctors = appending constant [1 x %31] [%31 { i32 65535, void ()* @_D5tango3net3ftp9FtpClient16__moduleinfoCtorZ }] ; <[1 x %31]*> [#uses=0]
+
+define fastcc noalias %tango.net.ftp.FtpClient.FtpAddress* @_D5tango3net3ftp9FtpClient10FtpAddress6opCallFAaZPS5tango3net3ftp9FtpClient10FtpAddress(%"byte[]" %str_arg) {
+entry:
+ %len.i = alloca i32, align 4 ; <i32*> [#uses=3]
+ %str_arg171 = extractvalue %"byte[]" %str_arg, 0 ; <i32> [#uses=8]
+ %str_arg172 = extractvalue %"byte[]" %str_arg, 1 ; <i8*> [#uses=4]
+ %tmp1 = icmp eq i32 %str_arg171, 0 ; <i1> [#uses=1]
+ br i1 %tmp1, label %if, label %try
+
+if: ; preds = %entry
+ ret %tango.net.ftp.FtpClient.FtpAddress* null
+
+try: ; preds = %entry
+ %.gc_mem = invoke noalias i8* @_d_allocmemoryT(%object.TypeInfo* bitcast (%20* @_D46TypeInfo_S5tango3net3ftp9FtpClient10FtpAddress6__initZ to %object.TypeInfo*))
+ to label %postinvoke unwind label %landingpad ; <i8*> [#uses=11]
+
+postinvoke: ; preds = %try
+ %.gc_mem3 = bitcast i8* %.gc_mem to %tango.net.ftp.FtpClient.FtpAddress* ; <%tango.net.ftp.FtpClient.FtpAddress*> [#uses=1]
+ tail call void @llvm.memcpy.i32(i8* %.gc_mem, i8* bitcast (%tango.net.ftp.FtpClient.FtpAddress* @_D5tango3net3ftp9FtpClient10FtpAddress6__initZ to i8*), i32 36, i32 1)
+ %tmp9.i = add i32 %str_arg171, -5 ; <i32> [#uses=2]
+ %tmp16.i = icmp ugt i32 %tmp9.i, %str_arg171 ; <i1> [#uses=1]
+ br i1 %tmp16.i, label %_D5tango4text4Util21__T13locatePatternTaZ13locatePatternFAaAakZk.exit, label %whilecond.i
+
+whilecond.i: ; preds = %else40.i, %postinvoke
+ %source_arg60.pn.i = phi i8* [ %p.0.i, %else40.i ], [ %str_arg172, %postinvoke ] ; <i8*> [#uses=4]
+ %start_arg.pn.i = phi i32 [ %tmp49.i, %else40.i ], [ 0, %postinvoke ] ; <i32> [#uses=3]
+ %extent.0.i = phi i32 [ %tmp51.i, %else40.i ], [ %tmp9.i, %postinvoke ] ; <i32> [#uses=5]
+ %p.0.i = getelementptr i8* %source_arg60.pn.i, i32 %start_arg.pn.i ; <i8*> [#uses=2]
+ %tmp18.i = icmp eq i32 %extent.0.i, 0 ; <i1> [#uses=1]
+ br i1 %tmp18.i, label %_D5tango4text4Util21__T13locatePatternTaZ13locatePatternFAaAakZk.exit, label %whilebody.i
+
+whilebody.i: ; preds = %whilecond.i
+ %p.0.sum63.i = add i32 %start_arg.pn.i, -1 ; <i32> [#uses=1]
+ %tmp2.i.i = getelementptr i8* %source_arg60.pn.i, i32 %p.0.sum63.i ; <i8*> [#uses=1]
+ br label %forcond.i.i
+
+forcond.i.i: ; preds = %forbody.i.i, %whilebody.i
+ %len.0.i.i = phi i32 [ %extent.0.i, %whilebody.i ], [ %tmp4.i.i, %forbody.i.i ] ; <i32> [#uses=2]
+ %p.0.i.i = phi i8* [ %tmp2.i.i, %whilebody.i ], [ %tmp7.i.i, %forbody.i.i ] ; <i8*> [#uses=1]
+ %tmp4.i.i = add i32 %len.0.i.i, -1 ; <i32> [#uses=1]
+ %tmp5.i.i = icmp eq i32 %len.0.i.i, 0 ; <i1> [#uses=1]
+ br i1 %tmp5.i.i, label %_D5tango4text4Util14__T7indexOfTaZ7indexOfFPaakZk.exit.i, label %forbody.i.i
+
+forbody.i.i: ; preds = %forcond.i.i
+ %tmp7.i.i = getelementptr i8* %p.0.i.i, i32 1 ; <i8*> [#uses=3]
+ %tmp8.i.i = load i8* %tmp7.i.i ; <i8> [#uses=1]
+ %tmp12.i.i = icmp eq i8 %tmp8.i.i, 102 ; <i1> [#uses=1]
+ br i1 %tmp12.i.i, label %if.i.i, label %forcond.i.i
+
+if.i.i: ; preds = %forbody.i.i
+ %tmp15.i.i = ptrtoint i8* %tmp7.i.i to i32 ; <i32> [#uses=1]
+ %tmp16.i.i = ptrtoint i8* %p.0.i to i32 ; <i32> [#uses=1]
+ %tmp17.i.i = sub i32 %tmp15.i.i, %tmp16.i.i ; <i32> [#uses=1]
+ br label %_D5tango4text4Util14__T7indexOfTaZ7indexOfFPaakZk.exit.i
+
+_D5tango4text4Util14__T7indexOfTaZ7indexOfFPaakZk.exit.i: ; preds = %if.i.i, %forcond.i.i
+ %tmp2561.i = phi i32 [ %tmp17.i.i, %if.i.i ], [ %extent.0.i, %forcond.i.i ] ; <i32> [#uses=3]
+ %tmp27.i = icmp eq i32 %tmp2561.i, %extent.0.i ; <i1> [#uses=1]
+ br i1 %tmp27.i, label %_D5tango4text4Util21__T13locatePatternTaZ13locatePatternFAaAakZk.exit, label %else.i
+
+else.i: ; preds = %_D5tango4text4Util14__T7indexOfTaZ7indexOfFPaakZk.exit.i
+ %p.0.sum.i = add i32 %start_arg.pn.i, %tmp2561.i ; <i32> [#uses=2]
+ %tmp32.i = getelementptr i8* %source_arg60.pn.i, i32 %p.0.sum.i ; <i8*> [#uses=2]
+ %tmp32.sum.i = add i32 %p.0.sum.i, -1 ; <i32> [#uses=1]
+ %tmp2.i.i.i = getelementptr i8* %source_arg60.pn.i, i32 %tmp32.sum.i ; <i8*> [#uses=1]
+ br label %forcond.i.i.i
+
+forcond.i.i.i: ; preds = %forbody.i.i.i, %else.i
+ %len.0.i.i.i = phi i32 [ 6, %else.i ], [ %tmp4.i.i.i, %forbody.i.i.i ] ; <i32> [#uses=2]
+ %s2.0.i.i.i = phi i8* [ getelementptr ([7 x i8]* @.str65, i32 0, i32 0), %else.i ], [ %tmp11.i.i.i, %forbody.i.i.i ] ; <i8*> [#uses=2]
+ %p.0.i.i.i = phi i8* [ %tmp2.i.i.i, %else.i ], [ %tmp7.i.i.i, %forbody.i.i.i ] ; <i8*> [#uses=1]
+ %tmp4.i.i.i = add i32 %len.0.i.i.i, -1 ; <i32> [#uses=1]
+ %tmp5.i.i.i = icmp eq i32 %len.0.i.i.i, 0 ; <i1> [#uses=1]
+ br i1 %tmp5.i.i.i, label %if38.i, label %forbody.i.i.i
+
+forbody.i.i.i: ; preds = %forcond.i.i.i
+ %tmp7.i.i.i = getelementptr i8* %p.0.i.i.i, i32 1 ; <i8*> [#uses=3]
+ %tmp8.i.i.i = load i8* %tmp7.i.i.i ; <i8> [#uses=1]
+ %tmp11.i.i.i = getelementptr i8* %s2.0.i.i.i, i32 1 ; <i8*> [#uses=1]
+ %tmp12.i.i.i = load i8* %s2.0.i.i.i ; <i8> [#uses=1]
+ %tmp14.i.i.i = icmp eq i8 %tmp8.i.i.i, %tmp12.i.i.i ; <i1> [#uses=1]
+ br i1 %tmp14.i.i.i, label %forcond.i.i.i, label %if.i.i.i
+
+if.i.i.i: ; preds = %forbody.i.i.i
+ %tmp17.i.i.i = ptrtoint i8* %tmp7.i.i.i to i32 ; <i32> [#uses=1]
+ %tmp18.i.i.i = ptrtoint i8* %tmp32.i to i32 ; <i32> [#uses=1]
+ %tmp19.i.i.i = sub i32 %tmp17.i.i.i, %tmp18.i.i.i ; <i32> [#uses=1]
+ %phitmp = icmp eq i32 %tmp19.i.i.i, 6 ; <i1> [#uses=1]
+ br i1 %phitmp, label %if38.i, label %else40.i
+
+if38.i: ; preds = %if.i.i.i, %forcond.i.i.i
+ %tmp44.i = ptrtoint i8* %tmp32.i to i32 ; <i32> [#uses=1]
+ %tmp45.i = ptrtoint i8* %str_arg172 to i32 ; <i32> [#uses=1]
+ %tmp46.i = sub i32 %tmp44.i, %tmp45.i ; <i32> [#uses=1]
+ br label %_D5tango4text4Util21__T13locatePatternTaZ13locatePatternFAaAakZk.exit
+
+else40.i: ; preds = %if.i.i.i
+ %tmp49.i = add i32 %tmp2561.i, 1 ; <i32> [#uses=2]
+ %tmp51.i = sub i32 %extent.0.i, %tmp49.i ; <i32> [#uses=1]
+ br label %whilecond.i
+
+_D5tango4text4Util21__T13locatePatternTaZ13locatePatternFAaAakZk.exit: ; preds = %if38.i, %_D5tango4text4Util14__T7indexOfTaZ7indexOfFPaakZk.exit.i, %whilecond.i, %postinvoke
+ %tmp7173 = phi i32 [ %tmp46.i, %if38.i ], [ %str_arg171, %_D5tango4text4Util14__T7indexOfTaZ7indexOfFPaakZk.exit.i ], [ %str_arg171, %whilecond.i ], [ %str_arg171, %postinvoke ] ; <i32> [#uses=1]
+ %tmp9 = icmp eq i32 %tmp7173, 0 ; <i1> [#uses=1]
+ br i1 %tmp9, label %if10, label %endif11
+
+if10: ; preds = %_D5tango4text4Util21__T13locatePatternTaZ13locatePatternFAaAakZk.exit
+ %tmp15 = getelementptr i8* %str_arg172, i32 6 ; <i8*> [#uses=1]
+ %tmp16 = add i32 %str_arg171, -6 ; <i32> [#uses=1]
+ br label %endif11
+
+endif11: ; preds = %if10, %_D5tango4text4Util21__T13locatePatternTaZ13locatePatternFAaAakZk.exit
+ %str.1.2 = phi i8* [ %tmp15, %if10 ], [ %str_arg172, %_D5tango4text4Util21__T13locatePatternTaZ13locatePatternFAaAakZk.exit ] ; <i8*> [#uses=8]
+ %str.0.2 = phi i32 [ %tmp16, %if10 ], [ %str_arg171, %_D5tango4text4Util21__T13locatePatternTaZ13locatePatternFAaAakZk.exit ] ; <i32> [#uses=6]
+ %tmp2.i235 = icmp eq i32 %str.0.2, -1 ; <i1> [#uses=1]
+ br i1 %tmp2.i235, label %whilecond.i239, label %if.i236
+
+if.i236: ; preds = %endif11
+ br label %whilecond.i239
+
+whilecond.i239: ; preds = %whilebody.i244, %if.i236, %endif11
+ %start.0.i237 = phi i32 [ %str.0.2, %if.i236 ], [ %tmp8.i240, %whilebody.i244 ], [ -1, %endif11 ] ; <i32> [#uses=2]
+ %tmp6.i238 = icmp eq i32 %start.0.i237, 0 ; <i1> [#uses=1]
+ br i1 %tmp6.i238, label %_D5tango4text4Util19__T11locatePriorTaZ11locatePriorFAaakZk.exit247, label %whilebody.i244
+
+whilebody.i244: ; preds = %whilecond.i239
+ %tmp8.i240 = add i32 %start.0.i237, -1 ; <i32> [#uses=3]
+ %tmp10.i241 = getelementptr i8* %str.1.2, i32 %tmp8.i240 ; <i8*> [#uses=1]
+ %tmp11.i242 = load i8* %tmp10.i241 ; <i8> [#uses=1]
+ %tmp15.i243 = icmp eq i8 %tmp11.i242, 64 ; <i1> [#uses=1]
+ br i1 %tmp15.i243, label %_D5tango4text4Util19__T11locatePriorTaZ11locatePriorFAaakZk.exit247, label %whilecond.i239
+
+_D5tango4text4Util19__T11locatePriorTaZ11locatePriorFAaakZk.exit247: ; preds = %whilebody.i244, %whilecond.i239
+ %tmp21248 = phi i32 [ %tmp8.i240, %whilebody.i244 ], [ %str.0.2, %whilecond.i239 ] ; <i32> [#uses=7]
+ %tmp25 = icmp eq i32 %tmp21248, %str.0.2 ; <i1> [#uses=1]
+ br i1 %tmp25, label %endif27, label %if26
+
+if26: ; preds = %_D5tango4text4Util19__T11locatePriorTaZ11locatePriorFAaakZk.exit247
+ %tmp38 = add i32 %tmp21248, 1 ; <i32> [#uses=2]
+ %tmp41 = getelementptr i8* %str.1.2, i32 %tmp38 ; <i8*> [#uses=2]
+ %tmp42 = sub i32 %str.0.2, %tmp38 ; <i32> [#uses=2]
+ %tmp2.i.i214 = getelementptr i8* %str.1.2, i32 -1 ; <i8*> [#uses=1]
+ br label %forcond.i.i219
+
+forcond.i.i219: ; preds = %forbody.i.i223, %if26
+ %len.0.i.i215 = phi i32 [ %tmp21248, %if26 ], [ %tmp4.i.i217, %forbody.i.i223 ] ; <i32> [#uses=2]
+ %p.0.i.i216 = phi i8* [ %tmp2.i.i214, %if26 ], [ %tmp7.i.i220, %forbody.i.i223 ] ; <i8*> [#uses=1]
+ %tmp4.i.i217 = add i32 %len.0.i.i215, -1 ; <i32> [#uses=1]
+ %tmp5.i.i218 = icmp eq i32 %len.0.i.i215, 0 ; <i1> [#uses=1]
+ br i1 %tmp5.i.i218, label %_D5tango4text4Util13__T6locateTaZ6locateFAaakZk.exit232, label %forbody.i.i223
+
+forbody.i.i223: ; preds = %forcond.i.i219
+ %tmp7.i.i220 = getelementptr i8* %p.0.i.i216, i32 1 ; <i8*> [#uses=3]
+ %tmp8.i.i221 = load i8* %tmp7.i.i220 ; <i8> [#uses=1]
+ %tmp12.i.i222 = icmp eq i8 %tmp8.i.i221, 58 ; <i1> [#uses=1]
+ br i1 %tmp12.i.i222, label %if.i.i227, label %forcond.i.i219
+
+if.i.i227: ; preds = %forbody.i.i223
+ %tmp15.i.i224 = ptrtoint i8* %tmp7.i.i220 to i32 ; <i32> [#uses=1]
+ %tmp16.i.i225 = ptrtoint i8* %str.1.2 to i32 ; <i32> [#uses=1]
+ %tmp17.i.i226 = sub i32 %tmp15.i.i224, %tmp16.i.i225 ; <i32> [#uses=1]
+ br label %_D5tango4text4Util13__T6locateTaZ6locateFAaakZk.exit232
+
+_D5tango4text4Util13__T6locateTaZ6locateFAaakZk.exit232: ; preds = %if.i.i227, %forcond.i.i219
+ %tmp1318.i229 = phi i32 [ %tmp17.i.i226, %if.i.i227 ], [ %tmp21248, %forcond.i.i219 ] ; <i32> [#uses=3]
+ %tmp51 = icmp eq i32 %tmp1318.i229, %tmp21248 ; <i1> [#uses=1]
+ %tmp55 = getelementptr i8* %.gc_mem, i32 16 ; <i8*> [#uses=2]
+ br i1 %tmp51, label %else, label %if52
+
+if52: ; preds = %_D5tango4text4Util13__T6locateTaZ6locateFAaakZk.exit232
+ %0 = bitcast i8* %tmp55 to i32* ; <i32*> [#uses=1]
+ store i32 %tmp1318.i229, i32* %0
+ %tmp62 = getelementptr i8* %.gc_mem, i32 20 ; <i8*> [#uses=1]
+ %1 = bitcast i8* %tmp62 to i8** ; <i8**> [#uses=1]
+ store i8* %str.1.2, i8** %1
+ %tmp68 = add i32 %tmp1318.i229, 1 ; <i32> [#uses=2]
+ %tmp71 = getelementptr i8* %str.1.2, i32 %tmp68 ; <i8*> [#uses=1]
+ %tmp72 = sub i32 %tmp21248, %tmp68 ; <i32> [#uses=1]
+ %tmp73 = getelementptr i8* %.gc_mem, i32 24 ; <i8*> [#uses=1]
+ %2 = bitcast i8* %tmp73 to i32* ; <i32*> [#uses=1]
+ store i32 %tmp72, i32* %2
+ %tmp74 = getelementptr i8* %.gc_mem, i32 28 ; <i8*> [#uses=1]
+ %3 = bitcast i8* %tmp74 to i8** ; <i8**> [#uses=1]
+ store i8* %tmp71, i8** %3
+ br label %endif27
+
+else: ; preds = %_D5tango4text4Util13__T6locateTaZ6locateFAaakZk.exit232
+ %4 = bitcast i8* %tmp55 to %"byte[]"* ; <%"byte[]"*> [#uses=1]
+ %insert = insertvalue %"byte[]" undef, i32 %tmp21248, 0 ; <%"byte[]"> [#uses=1]
+ %insert150 = insertvalue %"byte[]" %insert, i8* %str.1.2, 1 ; <%"byte[]"> [#uses=1]
+ store %"byte[]" %insert150, %"byte[]"* %4
+ br label %endif27
+
+endif27: ; preds = %else, %if52, %_D5tango4text4Util19__T11locatePriorTaZ11locatePriorFAaakZk.exit247
+ %str.1.1 = phi i8* [ %tmp41, %if52 ], [ %tmp41, %else ], [ %str.1.2, %_D5tango4text4Util19__T11locatePriorTaZ11locatePriorFAaakZk.exit247 ] ; <i8*> [#uses=6]
+ %str.0.1 = phi i32 [ %tmp42, %if52 ], [ %tmp42, %else ], [ %str.0.2, %_D5tango4text4Util19__T11locatePriorTaZ11locatePriorFAaakZk.exit247 ] ; <i32> [#uses=6]
+ %tmp2.i197 = icmp eq i32 %str.0.1, -1 ; <i1> [#uses=1]
+ br i1 %tmp2.i197, label %whilecond.i201, label %if.i198
+
+if.i198: ; preds = %endif27
+ br label %whilecond.i201
+
+whilecond.i201: ; preds = %whilebody.i205, %if.i198, %endif27
+ %start.0.i199 = phi i32 [ %str.0.1, %if.i198 ], [ %tmp8.i202, %whilebody.i205 ], [ -1, %endif27 ] ; <i32> [#uses=2]
+ %tmp6.i200 = icmp eq i32 %start.0.i199, 0 ; <i1> [#uses=1]
+ br i1 %tmp6.i200, label %_D5tango4text4Util19__T11locatePriorTaZ11locatePriorFAaakZk.exit, label %whilebody.i205
+
+whilebody.i205: ; preds = %whilecond.i201
+ %tmp8.i202 = add i32 %start.0.i199, -1 ; <i32> [#uses=3]
+ %tmp10.i = getelementptr i8* %str.1.1, i32 %tmp8.i202 ; <i8*> [#uses=1]
+ %tmp11.i203 = load i8* %tmp10.i ; <i8> [#uses=1]
+ %tmp15.i204 = icmp eq i8 %tmp11.i203, 58 ; <i1> [#uses=1]
+ br i1 %tmp15.i204, label %_D5tango4text4Util19__T11locatePriorTaZ11locatePriorFAaakZk.exit, label %whilecond.i201
+
+_D5tango4text4Util19__T11locatePriorTaZ11locatePriorFAaakZk.exit: ; preds = %whilebody.i205, %whilecond.i201
+ %tmp80206 = phi i32 [ %tmp8.i202, %whilebody.i205 ], [ %str.0.1, %whilecond.i201 ] ; <i32> [#uses=3]
+ %tmp84 = icmp eq i32 %tmp80206, %str.0.1 ; <i1> [#uses=1]
+ br i1 %tmp84, label %endif86, label %if85
+
+if85: ; preds = %_D5tango4text4Util19__T11locatePriorTaZ11locatePriorFAaakZk.exit
+ %tmp92 = add i32 %tmp80206, 1 ; <i32> [#uses=2]
+ %tmp95 = getelementptr i8* %str.1.1, i32 %tmp92 ; <i8*> [#uses=1]
+ %tmp96 = sub i32 %str.0.1, %tmp92 ; <i32> [#uses=2]
+ store i32 0, i32* %len.i
+ %insert.i = insertvalue %"byte[]" undef, i32 %tmp96, 0 ; <%"byte[]"> [#uses=1]
+ %insert14.i = insertvalue %"byte[]" %insert.i, i8* %tmp95, 1 ; <%"byte[]"> [#uses=1]
+ %tmp2.i191 = call fastcc i64 @_D5tango4text7convert7Integer12__T5parseTaZ5parseFAakPkZl(%"byte[]" %insert14.i, i32 0, i32* %len.i) ; <i64> [#uses=1]
+ %tmp4.i = load i32* %len.i ; <i32> [#uses=1]
+ %tmp5.i192 = icmp ult i32 %tmp4.i, %tmp96 ; <i1> [#uses=1]
+ br i1 %tmp5.i192, label %if.i, label %_D5tango4text7convert7Integer13__T6toLongTaZ6toLongFAakZl.exit
+
+if.i: ; preds = %if85
+ %.newclass_gc_alloc.i195 = invoke noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4core9Exception24IllegalArgumentException7__ClassZ)
+ to label %.newclass_gc_alloc.i.noexc unwind label %landingpad ; <i8*> [#uses=5]
+
+.newclass_gc_alloc.i.noexc: ; preds = %if.i
+ %.newclass_gc.i = bitcast i8* %.newclass_gc_alloc.i195 to %object.Exception* ; <%object.Exception*> [#uses=1]
+ %vtbl.i = bitcast i8* %.newclass_gc_alloc.i195 to %object.Exception.__vtbl** ; <%object.Exception.__vtbl**> [#uses=1]
+ store %object.Exception.__vtbl* @_D5tango4core9Exception24IllegalArgumentException6__vtblZ, %object.Exception.__vtbl** %vtbl.i
+ %monitor.i = getelementptr i8* %.newclass_gc_alloc.i195, i32 4 ; <i8*> [#uses=1]
+ %5 = bitcast i8* %monitor.i to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %5
+ %tmp6.i = getelementptr i8* %.newclass_gc_alloc.i195, i32 8 ; <i8*> [#uses=1]
+ call void @llvm.memcpy.i32(i8* %tmp6.i, i8* bitcast (%"byte[]"* getelementptr (%object.Exception* bitcast (%29* @_D5tango4core9Exception24IllegalArgumentException6__initZ to %object.Exception*), i32 0, i32 2) to i8*), i32 28, i32 1)
+ %tmp2.i.i193196 = invoke fastcc %object.Exception* @_D6object9Exception5_ctorMFAaC9ExceptionZC9Exception(%object.Exception* %.newclass_gc.i, %"byte[]" { i32 33, i8* getelementptr ([34 x i8]* @.str244, i32 0, i32 0) }, %object.Exception* null)
+ to label %tmp2.i.i193.noexc unwind label %landingpad ; <%object.Exception*> [#uses=0]
+
+tmp2.i.i193.noexc: ; preds = %.newclass_gc_alloc.i.noexc
+ %tmp11.i = bitcast i8* %.newclass_gc_alloc.i195 to %object.Object* ; <%object.Object*> [#uses=1]
+ invoke void @_d_throw_exception(%object.Object* %tmp11.i)
+ to label %.noexc unwind label %landingpad
+
+.noexc: ; preds = %tmp2.i.i193.noexc
+ unreachable
+
+_D5tango4text7convert7Integer13__T6toLongTaZ6toLongFAakZl.exit: ; preds = %if85
+ %tmp88 = getelementptr i8* %.gc_mem, i32 32 ; <i8*> [#uses=1]
+ %6 = bitcast i8* %tmp88 to i32* ; <i32*> [#uses=1]
+ %tmp101 = trunc i64 %tmp2.i191 to i32 ; <i32> [#uses=1]
+ store i32 %tmp101, i32* %6
+ br label %endif86
+
+endif86: ; preds = %_D5tango4text7convert7Integer13__T6toLongTaZ6toLongFAakZl.exit, %_D5tango4text4Util19__T11locatePriorTaZ11locatePriorFAaakZk.exit
+ %str.0.0 = phi i32 [ %tmp80206, %_D5tango4text7convert7Integer13__T6toLongTaZ6toLongFAakZl.exit ], [ %str.0.1, %_D5tango4text4Util19__T11locatePriorTaZ11locatePriorFAaakZk.exit ] ; <i32> [#uses=4]
+ %tmp2.i.i175 = getelementptr i8* %str.1.1, i32 -1 ; <i8*> [#uses=1]
+ br label %forcond.i.i180
+
+forcond.i.i180: ; preds = %forbody.i.i184, %endif86
+ %len.0.i.i176 = phi i32 [ %str.0.0, %endif86 ], [ %tmp4.i.i178, %forbody.i.i184 ] ; <i32> [#uses=2]
+ %p.0.i.i177 = phi i8* [ %tmp2.i.i175, %endif86 ], [ %tmp7.i.i181, %forbody.i.i184 ] ; <i8*> [#uses=1]
+ %tmp4.i.i178 = add i32 %len.0.i.i176, -1 ; <i32> [#uses=1]
+ %tmp5.i.i179 = icmp eq i32 %len.0.i.i176, 0 ; <i1> [#uses=1]
+ br i1 %tmp5.i.i179, label %_D5tango4text4Util13__T6locateTaZ6locateFAaakZk.exit, label %forbody.i.i184
+
+forbody.i.i184: ; preds = %forcond.i.i180
+ %tmp7.i.i181 = getelementptr i8* %p.0.i.i177, i32 1 ; <i8*> [#uses=3]
+ %tmp8.i.i182 = load i8* %tmp7.i.i181 ; <i8> [#uses=1]
+ %tmp12.i.i183 = icmp eq i8 %tmp8.i.i182, 47 ; <i1> [#uses=1]
+ br i1 %tmp12.i.i183, label %if.i.i188, label %forcond.i.i180
+
+if.i.i188: ; preds = %forbody.i.i184
+ %tmp15.i.i185 = ptrtoint i8* %tmp7.i.i181 to i32 ; <i32> [#uses=1]
+ %tmp16.i.i186 = ptrtoint i8* %str.1.1 to i32 ; <i32> [#uses=1]
+ %tmp17.i.i187 = sub i32 %tmp15.i.i185, %tmp16.i.i186 ; <i32> [#uses=1]
+ br label %_D5tango4text4Util13__T6locateTaZ6locateFAaakZk.exit
+
+_D5tango4text4Util13__T6locateTaZ6locateFAaakZk.exit: ; preds = %if.i.i188, %forcond.i.i180
+ %tmp1318.i = phi i32 [ %tmp17.i.i187, %if.i.i188 ], [ %str.0.0, %forcond.i.i180 ] ; <i32> [#uses=4]
+ %tmp115 = icmp eq i32 %tmp1318.i, %str.0.0 ; <i1> [#uses=1]
+ br i1 %tmp115, label %endif117, label %if116
+
+if116: ; preds = %_D5tango4text4Util13__T6locateTaZ6locateFAaakZk.exit
+ %tmp123 = add i32 %tmp1318.i, 1 ; <i32> [#uses=2]
+ %tmp126 = getelementptr i8* %str.1.1, i32 %tmp123 ; <i8*> [#uses=1]
+ %tmp127 = sub i32 %str.0.0, %tmp123 ; <i32> [#uses=1]
+ %tmp128 = getelementptr i8* %.gc_mem, i32 8 ; <i8*> [#uses=1]
+ %7 = bitcast i8* %tmp128 to i32* ; <i32*> [#uses=1]
+ store i32 %tmp127, i32* %7
+ %tmp129 = getelementptr i8* %.gc_mem, i32 12 ; <i8*> [#uses=1]
+ %8 = bitcast i8* %tmp129 to i8** ; <i8**> [#uses=1]
+ store i8* %tmp126, i8** %8
+ br label %endif117
+
+endif117: ; preds = %if116, %_D5tango4text4Util13__T6locateTaZ6locateFAaakZk.exit
+ %tmp137 = bitcast i8* %.gc_mem to i32* ; <i32*> [#uses=1]
+ store i32 %tmp1318.i, i32* %tmp137
+ %tmp138 = getelementptr i8* %.gc_mem, i32 4 ; <i8*> [#uses=1]
+ %9 = bitcast i8* %tmp138 to i8** ; <i8**> [#uses=1]
+ store i8* %str.1.1, i8** %9
+ %tmp143 = icmp eq i32 %tmp1318.i, 0 ; <i1> [#uses=1]
+ %retval = select i1 %tmp143, %tango.net.ftp.FtpClient.FtpAddress* null, %tango.net.ftp.FtpClient.FtpAddress* %.gc_mem3 ; <%tango.net.ftp.FtpClient.FtpAddress*> [#uses=1]
+ ret %tango.net.ftp.FtpClient.FtpAddress* %retval
+
+landingpad: ; preds = %tmp2.i.i193.noexc, %.newclass_gc_alloc.i.noexc, %if.i, %try
+ %10 = tail call i8* @llvm.eh.exception() ; <i8*> [#uses=2]
+ %11 = tail call i32 (i8*, i8*, ...)* @llvm.eh.selector.i32(i8* %10, i8* bitcast (i32 (i32, i32, i64, i8*, i8*)* @_d_eh_personality to i8*), %object.ClassInfo* @_D6Object7__ClassZ) ; <i32> [#uses=1]
+ %cond = icmp eq i32 %11, 1 ; <i1> [#uses=1]
+ br i1 %cond, label %catch, label %switchdefault
+
+catch: ; preds = %landingpad
+ ret %tango.net.ftp.FtpClient.FtpAddress* null
+
+switchdefault: ; preds = %landingpad
+ tail call void @_d_eh_resume_unwind(i8* %10)
+ unreachable
+}
+
+declare fastcc %"byte[]" @_D6object6Object8toStringMFZAa(%object.Object*)
+
+declare fastcc i32 @_D6object6Object6toHashMFZk(%object.Object*)
+
+declare fastcc i32 @_D6object6Object5opCmpMFC6ObjectZi(%object.Object*, %object.Object*)
+
+declare fastcc i32 @_D6object6Object8opEqualsMFC6ObjectZi(%object.Object*, %object.Object*)
+
+declare fastcc %object.Exception* @_D6object9Exception5_ctorMFAaC9ExceptionZC9Exception(%object.Exception*, %"byte[]", %object.Exception*)
+
+declare fastcc void @_D6object9Exception8writeOutMFDFAaZvZv(%object.Exception*, %"void delegate(char[])")
+
+define fastcc %"byte[]" @_D5tango3net3ftp9FtpClient12FtpException8toStringMFZAa(%tango.net.ftp.FtpClient.FtpException* nocapture %.this_arg) {
+entry:
+ %tmp2 = getelementptr %tango.net.ftp.FtpClient.FtpException* %.this_arg, i32 0, i32 2, i32 0 ; <i32*> [#uses=1]
+ %.len = load i32* %tmp2 ; <i32> [#uses=2]
+ %tmp3 = add i32 %.len, 4 ; <i32> [#uses=2]
+ %.gc_mem = tail call noalias i8* @_d_newarrayiT(%object.TypeInfo* @_D11TypeInfo_Aa6__initZ, i32 %tmp3) ; <i8*> [#uses=4]
+ %tmp10 = getelementptr %tango.net.ftp.FtpClient.FtpException* %.this_arg, i32 0, i32 7, i32 0 ; <i8*> [#uses=1]
+ tail call void @llvm.memcpy.i32(i8* %.gc_mem, i8* %tmp10, i32 3, i32 1)
+ %tmp13 = getelementptr i8* %.gc_mem, i32 3 ; <i8*> [#uses=1]
+ store i8 32, i8* %tmp13
+ %tmp18 = getelementptr i8* %.gc_mem, i32 4 ; <i8*> [#uses=1]
+ %tmp23 = getelementptr %tango.net.ftp.FtpClient.FtpException* %.this_arg, i32 0, i32 2, i32 1 ; <i8**> [#uses=1]
+ %.ptr24 = load i8** %tmp23 ; <i8*> [#uses=1]
+ tail call void @llvm.memcpy.i32(i8* %tmp18, i8* %.ptr24, i32 %.len, i32 1)
+ %insert = insertvalue %"byte[]" undef, i32 %tmp3, 0 ; <%"byte[]"> [#uses=1]
+ %insert30 = insertvalue %"byte[]" %insert, i8* %.gc_mem, 1 ; <%"byte[]"> [#uses=1]
+ ret %"byte[]" %insert30
+}
+
+define fastcc %tango.net.ftp.FtpClient.FtpException* @_D5tango3net3ftp9FtpClient12FtpException5_ctorMFAaG3aZC5tango3net3ftp9FtpClient12FtpException(%tango.net.ftp.FtpClient.FtpException* %.this_arg, %"byte[]" %message_arg, [3 x i8]* nocapture %code_arg) {
+entry:
+ %tmp2 = getelementptr %tango.net.ftp.FtpClient.FtpException* %.this_arg, i32 0, i32 7, i32 0 ; <i8*> [#uses=1]
+ %tmp3 = getelementptr [3 x i8]* %code_arg, i32 0, i32 0 ; <i8*> [#uses=1]
+ tail call void @llvm.memcpy.i32(i8* %tmp2, i8* %tmp3, i32 3, i32 1)
+ %tmp5 = bitcast %tango.net.ftp.FtpClient.FtpException* %.this_arg to %object.Exception* ; <%object.Exception*> [#uses=1]
+ %tmp7 = tail call fastcc %object.Exception* @_D6object9Exception5_ctorMFAaC9ExceptionZC9Exception(%object.Exception* %tmp5, %"byte[]" %message_arg, %object.Exception* null) ; <%object.Exception*> [#uses=0]
+ ret %tango.net.ftp.FtpClient.FtpException* %.this_arg
+}
+
+define fastcc %tango.net.ftp.FtpClient.FtpException* @_D5tango3net3ftp9FtpClient12FtpException5_ctorMFS5tango3net3ftp9FtpClient11FtpResponseZC5tango3net3ftp9FtpClient12FtpException(%tango.net.ftp.FtpClient.FtpException* %.this_arg, %tango.net.ftp.FtpClient.FtpResponse* nocapture byval %r_arg) {
+entry:
+ %tmp2 = getelementptr %tango.net.ftp.FtpClient.FtpException* %.this_arg, i32 0, i32 7, i32 0 ; <i8*> [#uses=1]
+ %tmp4 = getelementptr %tango.net.ftp.FtpClient.FtpResponse* %r_arg, i32 0, i32 0, i32 0 ; <i8*> [#uses=1]
+ tail call void @llvm.memcpy.i32(i8* %tmp2, i8* %tmp4, i32 3, i32 1)
+ %tmp6 = bitcast %tango.net.ftp.FtpClient.FtpException* %.this_arg to %object.Exception* ; <%object.Exception*> [#uses=1]
+ %tmp7 = getelementptr %tango.net.ftp.FtpClient.FtpResponse* %r_arg, i32 0, i32 1 ; <%"byte[]"*> [#uses=1]
+ %tmp8 = load %"byte[]"* %tmp7 ; <%"byte[]"> [#uses=1]
+ %tmp9 = tail call fastcc %object.Exception* @_D6object9Exception5_ctorMFAaC9ExceptionZC9Exception(%object.Exception* %tmp6, %"byte[]" %tmp8, %object.Exception* null) ; <%object.Exception*> [#uses=0]
+ ret %tango.net.ftp.FtpClient.FtpException* %.this_arg
+}
+
+declare fastcc void @_D5tango3net3ftp6Telnet6Telnet8sendlineMFAvZv(%tango.net.ftp.Telnet.Telnet*, %"byte[]")
+
+declare fastcc void @_D5tango3net3ftp6Telnet6Telnet8sendDataMFAvZv(%tango.net.ftp.Telnet.Telnet*, %"byte[]")
+
+declare fastcc %"byte[]" @_D5tango3net3ftp6Telnet6Telnet8readLineMFZAa(%tango.net.ftp.Telnet.Telnet*)
+
+declare fastcc %tango.net.SocketConduit.SocketConduit* @_D5tango3net3ftp6Telnet6Telnet19findAvailableServerMFAaiZC5tango3net13SocketConduit13SocketConduit(%tango.net.ftp.Telnet.Telnet*, %"byte[]", i32)
+
+declare fastcc void @_D5tango4time4Time8TimeSpan10fromMillisFlZS5tango4time4Time8TimeSpan(%tango.time.Time.Time* noalias nocapture sret, i64)
+
+define fastcc void @_D5tango3net3ftp9FtpClient13FTPConnection9exceptionMFAaZv(%tango.net.ftp.FtpClient.FTPConnection* nocapture %.this_arg, %"byte[]" %message_arg) noreturn {
+entry:
+ %.newclass_gc_alloc = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango3net3ftp9FtpClient12FtpException7__ClassZ) ; <i8*> [#uses=6]
+ %vtbl = bitcast i8* %.newclass_gc_alloc to %tango.net.ftp.FtpClient.FtpException.__vtbl** ; <%tango.net.ftp.FtpClient.FtpException.__vtbl**> [#uses=1]
+ store %tango.net.ftp.FtpClient.FtpException.__vtbl* @_D5tango3net3ftp9FtpClient12FtpException6__vtblZ, %tango.net.ftp.FtpClient.FtpException.__vtbl** %vtbl
+ %monitor = getelementptr i8* %.newclass_gc_alloc, i32 4 ; <i8*> [#uses=1]
+ %0 = bitcast i8* %monitor to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %0
+ %tmp = getelementptr i8* %.newclass_gc_alloc, i32 8 ; <i8*> [#uses=1]
+ tail call void @llvm.memcpy.i32(i8* %tmp, i8* bitcast (%"byte[]"* getelementptr (%tango.net.ftp.FtpClient.FtpException* @_D5tango3net3ftp9FtpClient12FtpException6__initZ, i32 0, i32 2) to i8*), i32 31, i32 1)
+ %tmp2.i = getelementptr i8* %.newclass_gc_alloc, i32 36 ; <i8*> [#uses=1]
+ tail call void @llvm.memcpy.i32(i8* %tmp2.i, i8* getelementptr ([4 x i8]* @.str66, i32 0, i32 0), i32 3, i32 1)
+ %tmp5.i = bitcast i8* %.newclass_gc_alloc to %object.Exception* ; <%object.Exception*> [#uses=1]
+ %tmp7.i = tail call fastcc %object.Exception* @_D6object9Exception5_ctorMFAaC9ExceptionZC9Exception(%object.Exception* %tmp5.i, %"byte[]" %message_arg, %object.Exception* null) ; <%object.Exception*> [#uses=0]
+ %tmp6 = bitcast i8* %.newclass_gc_alloc to %object.Object* ; <%object.Object*> [#uses=1]
+ tail call void @_d_throw_exception(%object.Object* %tmp6)
+ unreachable
+}
+
+define fastcc void @_D5tango3net3ftp9FtpClient13FTPConnection7timeoutMFZS5tango4time4Time8TimeSpan(%tango.time.Time.Time* noalias nocapture sret %.sret_arg, %tango.net.ftp.FtpClient.FTPConnection* nocapture %.this_arg) nounwind {
+entry:
+ %tmp34 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 10, i32 0 ; <i64*> [#uses=1]
+ %tmp = load i64* %tmp34, align 1 ; <i64> [#uses=1]
+ %0 = getelementptr %tango.time.Time.Time* %.sret_arg, i32 0, i32 0 ; <i64*> [#uses=1]
+ store i64 %tmp, i64* %0
+ ret void
+}
+
+define fastcc void @_D5tango3net3ftp9FtpClient13FTPConnection7timeoutMFS5tango4time4Time8TimeSpanZv(%tango.net.ftp.FtpClient.FTPConnection* nocapture %.this_arg, %tango.time.Time.Time* nocapture byval %t_arg) nounwind {
+entry:
+ %tmp34 = getelementptr %tango.time.Time.Time* %t_arg, i32 0, i32 0 ; <i64*> [#uses=1]
+ %tmp = load i64* %tmp34, align 1 ; <i64> [#uses=1]
+ %0 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 10, i32 0 ; <i64*> [#uses=1]
+ store i64 %tmp, i64* %0
+ ret void
+}
+
+define fastcc void @_D5tango3net3ftp9FtpClient13FTPConnection12shutdownTimeMFZS5tango4time4Time8TimeSpan(%tango.time.Time.Time* noalias nocapture sret %.sret_arg, %tango.net.ftp.FtpClient.FTPConnection* nocapture %.this_arg) nounwind {
+entry:
+ %tmp1.0 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 10, i32 0 ; <i64*> [#uses=1]
+ %tmp = load i64* %tmp1.0, align 1 ; <i64> [#uses=1]
+ %tmp5.i = shl i64 %tmp, 1 ; <i64> [#uses=1]
+ %0 = getelementptr %tango.time.Time.Time* %.sret_arg, i32 0, i32 0 ; <i64*> [#uses=1]
+ store i64 %tmp5.i, i64* %0
+ ret void
+}
+
+define fastcc %"FtpFeature[]" @_D5tango3net3ftp9FtpClient13FTPConnection17supportedFeaturesMFZAS5tango3net3ftp9FtpClient10FtpFeature(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg) {
+entry:
+ %tmp3 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 5, i32 0 ; <i32*> [#uses=1]
+ %.len = load i32* %tmp3 ; <i32> [#uses=1]
+ %tmp4 = icmp eq i32 %.len, 0 ; <i1> [#uses=1]
+ %tmp5 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 5, i32 1 ; <%tango.net.ftp.FtpClient.FtpFeature**> [#uses=1]
+ %.ptr = load %tango.net.ftp.FtpClient.FtpFeature** %tmp5 ; <%tango.net.ftp.FtpClient.FtpFeature*> [#uses=1]
+ %tmp6 = icmp eq %tango.net.ftp.FtpClient.FtpFeature* %.ptr, null ; <i1> [#uses=1]
+ %tmp7 = and i1 %tmp4, %tmp6 ; <i1> [#uses=1]
+ br i1 %tmp7, label %endif, label %if
+
+if: ; preds = %entry
+ %tmp9 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 5 ; <%"FtpFeature[]"*> [#uses=1]
+ %tmp10 = load %"FtpFeature[]"* %tmp9 ; <%"FtpFeature[]"> [#uses=1]
+ ret %"FtpFeature[]" %tmp10
+
+endif: ; preds = %entry
+ %tmp12 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 0 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl**> [#uses=1]
+ %tmp13 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp12 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
+ %"this.getFeatures@vtbl" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp13, i32 0, i32 34 ; <void (%tango.net.ftp.FtpClient.FTPConnection*)**> [#uses=1]
+ %this.getFeatures = load void (%tango.net.ftp.FtpClient.FTPConnection*)** %"this.getFeatures@vtbl", align 4 ; <void (%tango.net.ftp.FtpClient.FTPConnection*)*> [#uses=1]
+ tail call fastcc void %this.getFeatures(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg)
+ %tmp16 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 5 ; <%"FtpFeature[]"*> [#uses=1]
+ %tmp17 = load %"FtpFeature[]"* %tmp16 ; <%"FtpFeature[]"> [#uses=1]
+ ret %"FtpFeature[]" %tmp17
+}
+
+define fastcc void @_D5tango3net3ftp9FtpClient13FTPConnection9exceptionMFS5tango3net3ftp9FtpClient11FtpResponseZv(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %tango.net.ftp.FtpClient.FtpResponse* nocapture byval %fr_arg) {
+entry:
+ %tmp1 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 0 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl**> [#uses=1]
+ %tmp2 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp1 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
+ %"this.exception@vtbl" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp2, i32 0, i32 5 ; <void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")**> [#uses=1]
+ %this.exception = load void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")** %"this.exception@vtbl", align 4 ; <void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")*> [#uses=1]
+ %tmp4 = getelementptr %tango.net.ftp.FtpClient.FtpResponse* %fr_arg, i32 0, i32 1 ; <%"byte[]"*> [#uses=1]
+ %tmp5 = load %"byte[]"* %tmp4 ; <%"byte[]"> [#uses=1]
+ tail call fastcc void %this.exception(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" %tmp5)
+ ret void
+}
+
+define fastcc void @_D5tango3net3ftp9FtpClient13FTPConnection7connectMFS5tango3net3ftp9FtpClient10FtpAddressZv(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %tango.net.ftp.FtpClient.FtpAddress* nocapture byval %fad_arg) {
+entry:
+ %tmp1 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 0 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl**> [#uses=1]
+ %tmp2 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp1 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
+ %"this.connect@vtbl" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp2, i32 0, i32 16 ; <void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]", %"byte[]", %"byte[]", i32)**> [#uses=1]
+ %this.connect = load void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]", %"byte[]", %"byte[]", i32)** %"this.connect@vtbl", align 4 ; <void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]", %"byte[]", %"byte[]", i32)*> [#uses=1]
+ %tmp4 = getelementptr %tango.net.ftp.FtpClient.FtpAddress* %fad_arg, i32 0, i32 0 ; <%"byte[]"*> [#uses=1]
+ %tmp5 = load %"byte[]"* %tmp4 ; <%"byte[]"> [#uses=1]
+ %tmp6 = getelementptr %tango.net.ftp.FtpClient.FtpAddress* %fad_arg, i32 0, i32 2 ; <%"byte[]"*> [#uses=1]
+ %tmp7 = load %"byte[]"* %tmp6 ; <%"byte[]"> [#uses=1]
+ %tmp8 = getelementptr %tango.net.ftp.FtpClient.FtpAddress* %fad_arg, i32 0, i32 3 ; <%"byte[]"*> [#uses=1]
+ %tmp9 = load %"byte[]"* %tmp8 ; <%"byte[]"> [#uses=1]
+ %tmp10 = getelementptr %tango.net.ftp.FtpClient.FtpAddress* %fad_arg, i32 0, i32 4 ; <i32*> [#uses=1]
+ %tmp11 = load i32* %tmp10 ; <i32> [#uses=1]
+ tail call fastcc void %this.connect(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" %tmp5, %"byte[]" %tmp7, %"byte[]" %tmp9, i32 %tmp11)
+ ret void
+}
+
+define fastcc void @_D5tango3net3ftp9FtpClient13FTPConnection7connectMFAaAaAakZv(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" %hostname_arg, %"byte[]" %username_arg, %"byte[]" %password_arg, i32 %port_arg) {
+entry:
+ %.rettmp = alloca %tango.net.ftp.FtpClient.FtpResponse, align 8 ; <%tango.net.ftp.FtpClient.FtpResponse*> [#uses=1]
+ %__arrayArg120 = alloca [1 x %"byte[]"], align 8 ; <[1 x %"byte[]"]*> [#uses=1]
+ %response = alloca %tango.net.ftp.FtpClient.FtpResponse, align 4 ; <%tango.net.ftp.FtpClient.FtpResponse*> [#uses=2]
+ %.rettmp44 = alloca %tango.net.ftp.FtpClient.FtpResponse, align 8 ; <%tango.net.ftp.FtpClient.FtpResponse*> [#uses=2]
+ %__arrayArg121 = alloca [1 x %"byte[]"], align 8 ; <[1 x %"byte[]"]*> [#uses=1]
+ %.rettmp73 = alloca %tango.net.ftp.FtpClient.FtpResponse, align 8 ; <%tango.net.ftp.FtpClient.FtpResponse*> [#uses=2]
+ %username_arg100 = extractvalue %"byte[]" %username_arg, 0 ; <i32> [#uses=2]
+ %username_arg101 = extractvalue %"byte[]" %username_arg, 1 ; <i8*> [#uses=1]
+ %tmp1 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 2 ; <%tango.net.SocketConduit.SocketConduit**> [#uses=1]
+ %tmp2 = load %tango.net.SocketConduit.SocketConduit** %tmp1 ; <%tango.net.SocketConduit.SocketConduit*> [#uses=3]
+ %tmp3 = icmp eq %tango.net.SocketConduit.SocketConduit* %tmp2, null ; <i1> [#uses=1]
+ br i1 %tmp3, label %endif, label %if
+
+if: ; preds = %entry
+ %tmp7 = bitcast %tango.net.SocketConduit.SocketConduit* %tmp2 to %tango.io.device.Conduit.Conduit* ; <%tango.io.device.Conduit.Conduit*> [#uses=1]
+ %tmp1.i = bitcast %tango.net.SocketConduit.SocketConduit* %tmp2 to %tango.io.device.Conduit.Conduit.__vtbl** ; <%tango.io.device.Conduit.Conduit.__vtbl**> [#uses=1]
+ %tmp2.i = load %tango.io.device.Conduit.Conduit.__vtbl** %tmp1.i ; <%tango.io.device.Conduit.Conduit.__vtbl*> [#uses=1]
+ %"this.detach@vtbl.i" = getelementptr %tango.io.device.Conduit.Conduit.__vtbl* %tmp2.i, i32 0, i32 8 ; <void (%tango.io.device.Conduit.Conduit*)**> [#uses=1]
+ %this.detach.i = load void (%tango.io.device.Conduit.Conduit*)** %"this.detach@vtbl.i", align 4 ; <void (%tango.io.device.Conduit.Conduit*)*> [#uses=1]
+ call fastcc void %this.detach.i(%tango.io.device.Conduit.Conduit* %tmp7)
+ br label %endif
+
+endif: ; preds = %if, %entry
+ %tmp9 = bitcast %tango.net.ftp.FtpClient.FTPConnection* %.this_arg to %tango.net.ftp.Telnet.Telnet* ; <%tango.net.ftp.Telnet.Telnet*> [#uses=1]
+ %tmp10 = bitcast %tango.net.ftp.FtpClient.FTPConnection* %.this_arg to %tango.net.ftp.Telnet.Telnet.__vtbl** ; <%tango.net.ftp.Telnet.Telnet.__vtbl**> [#uses=1]
+ %tmp11 = load %tango.net.ftp.Telnet.Telnet.__vtbl** %tmp10 ; <%tango.net.ftp.Telnet.Telnet.__vtbl*> [#uses=1]
+ %"(cast(Telnet)this).findAvailableServer@vtbl" = getelementptr %tango.net.ftp.Telnet.Telnet.__vtbl* %tmp11, i32 0, i32 9 ; <%tango.net.SocketConduit.SocketConduit* (%tango.net.ftp.Telnet.Telnet*, %"byte[]", i32)**> [#uses=1]
+ %"(cast(Telnet)this).findAvailableServer" = load %tango.net.SocketConduit.SocketConduit* (%tango.net.ftp.Telnet.Telnet*, %"byte[]", i32)** %"(cast(Telnet)this).findAvailableServer@vtbl", align 4 ; <%tango.net.SocketConduit.SocketConduit* (%tango.net.ftp.Telnet.Telnet*, %"byte[]", i32)*> [#uses=1]
+ %tmp15 = call fastcc %tango.net.SocketConduit.SocketConduit* %"(cast(Telnet)this).findAvailableServer"(%tango.net.ftp.Telnet.Telnet* %tmp9, %"byte[]" %hostname_arg, i32 %port_arg) ; <%tango.net.SocketConduit.SocketConduit*> [#uses=0]
+ %tmp22 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 0 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl**> [#uses=7]
+ %tmp23 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp22 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
+ %"this.readResponse@vtbl" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp23, i32 0, i32 36 ; <void (%tango.net.ftp.FtpClient.FtpResponse*, %tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")**> [#uses=1]
+ %this.readResponse = load void (%tango.net.ftp.FtpClient.FtpResponse*, %tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")** %"this.readResponse@vtbl", align 4 ; <void (%tango.net.ftp.FtpClient.FtpResponse*, %tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")*> [#uses=1]
+ invoke fastcc void %this.readResponse(%tango.net.ftp.FtpClient.FtpResponse* noalias nocapture sret %.rettmp, %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" { i32 3, i8* getelementptr ([4 x i8]* @.str67, i32 0, i32 0) })
+ to label %postinvoke unwind label %landingpad
+
+postinvoke: ; preds = %endif
+ %tmp26 = icmp eq i32 %username_arg100, 0 ; <i1> [#uses=1]
+ br i1 %tmp26, label %if27, label %endif28
+
+if27: ; preds = %postinvoke
+ ret void
+
+endif28: ; preds = %postinvoke
+ %tmp31 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp22 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
+ %"this.sendCommand@vtbl" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp31, i32 0, i32 35 ; <void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]", %"char[][]")**> [#uses=1]
+ %this.sendCommand = load void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]", %"char[][]")** %"this.sendCommand@vtbl", align 4 ; <void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]", %"char[][]")*> [#uses=1]
+ %tmp33 = getelementptr [1 x %"byte[]"]* %__arrayArg120, i32 0, i32 0 ; <%"byte[]"*> [#uses=2]
+ %insert = insertvalue %"byte[]" undef, i32 %username_arg100, 0 ; <%"byte[]"> [#uses=1]
+ %insert99 = insertvalue %"byte[]" %insert, i8* %username_arg101, 1 ; <%"byte[]"> [#uses=1]
+ store %"byte[]" %insert99, %"byte[]"* %tmp33, align 8
+ %tmp36 = insertvalue %"char[][]" { i32 1, %"byte[]"* undef }, %"byte[]"* %tmp33, 1 ; <%"char[][]"> [#uses=1]
+ invoke fastcc void %this.sendCommand(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" { i32 4, i8* getelementptr ([5 x i8]* @.str68, i32 0, i32 0) }, %"char[][]" %tmp36)
+ to label %postinvoke37 unwind label %landingpad
+
+postinvoke37: ; preds = %endif28
+ %tmp40 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp22 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
+ %"this.readResponse@vtbl41" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp40, i32 0, i32 37 ; <void (%tango.net.ftp.FtpClient.FtpResponse*, %tango.net.ftp.FtpClient.FTPConnection*)**> [#uses=1]
+ %this.readResponse43 = load void (%tango.net.ftp.FtpClient.FtpResponse*, %tango.net.ftp.FtpClient.FTPConnection*)** %"this.readResponse@vtbl41", align 4 ; <void (%tango.net.ftp.FtpClient.FtpResponse*, %tango.net.ftp.FtpClient.FTPConnection*)*> [#uses=1]
+ invoke fastcc void %this.readResponse43(%tango.net.ftp.FtpClient.FtpResponse* noalias nocapture sret %.rettmp44, %tango.net.ftp.FtpClient.FTPConnection* %.this_arg)
+ to label %postinvoke45 unwind label %landingpad
+
+postinvoke45: ; preds = %postinvoke37
+ %tmp46 = getelementptr %tango.net.ftp.FtpClient.FtpResponse* %response, i32 0, i32 0, i32 0 ; <i8*> [#uses=5]
+ %tmp47 = getelementptr %tango.net.ftp.FtpClient.FtpResponse* %.rettmp44, i32 0, i32 0, i32 0 ; <i8*> [#uses=1]
+ call void @llvm.memcpy.i32(i8* %tmp46, i8* %tmp47, i32 12, i32 4)
+ %tmp50 = insertvalue %"byte[]" { i32 3, i8* undef }, i8* %tmp46, 1 ; <%"byte[]"> [#uses=1]
+ %tmp52 = invoke i32 @_adEq(%"byte[]" %tmp50, %"byte[]" { i32 3, i8* getelementptr ([4 x i8]* @.str69, i32 0, i32 0) }, %object.TypeInfo* @_D11TypeInfo_Aa6__initZ) readonly
+ to label %postinvoke51 unwind label %landingpad ; <i32> [#uses=1]
+
+postinvoke51: ; preds = %postinvoke45
+ %tmp53 = icmp eq i32 %tmp52, 0 ; <i1> [#uses=1]
+ br i1 %tmp53, label %endif55, label %if54
+
+if54: ; preds = %postinvoke51
+ %tmp58 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp22 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
+ %"this.sendCommand@vtbl59" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp58, i32 0, i32 35 ; <void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]", %"char[][]")**> [#uses=1]
+ %this.sendCommand61 = load void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]", %"char[][]")** %"this.sendCommand@vtbl59", align 4 ; <void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]", %"char[][]")*> [#uses=1]
+ %tmp62 = getelementptr [1 x %"byte[]"]* %__arrayArg121, i32 0, i32 0 ; <%"byte[]"*> [#uses=2]
+ store %"byte[]" %password_arg, %"byte[]"* %tmp62, align 8
+ %tmp65 = insertvalue %"char[][]" { i32 1, %"byte[]"* undef }, %"byte[]"* %tmp62, 1 ; <%"char[][]"> [#uses=1]
+ invoke fastcc void %this.sendCommand61(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" { i32 4, i8* getelementptr ([5 x i8]* @.str70, i32 0, i32 0) }, %"char[][]" %tmp65)
+ to label %postinvoke66 unwind label %landingpad
+
+postinvoke66: ; preds = %if54
+ %tmp69 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp22 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
+ %"this.readResponse@vtbl70" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp69, i32 0, i32 37 ; <void (%tango.net.ftp.FtpClient.FtpResponse*, %tango.net.ftp.FtpClient.FTPConnection*)**> [#uses=1]
+ %this.readResponse72 = load void (%tango.net.ftp.FtpClient.FtpResponse*, %tango.net.ftp.FtpClient.FTPConnection*)** %"this.readResponse@vtbl70", align 4 ; <void (%tango.net.ftp.FtpClient.FtpResponse*, %tango.net.ftp.FtpClient.FTPConnection*)*> [#uses=1]
+ invoke fastcc void %this.readResponse72(%tango.net.ftp.FtpClient.FtpResponse* noalias nocapture sret %.rettmp73, %tango.net.ftp.FtpClient.FTPConnection* %.this_arg)
+ to label %postinvoke74 unwind label %landingpad
+
+postinvoke74: ; preds = %postinvoke66
+ %tmp76 = getelementptr %tango.net.ftp.FtpClient.FtpResponse* %.rettmp73, i32 0, i32 0, i32 0 ; <i8*> [#uses=1]
+ call void @llvm.memcpy.i32(i8* %tmp46, i8* %tmp76, i32 12, i32 4)
+ br label %endif55
+
+endif55: ; preds = %postinvoke74, %postinvoke51
+ %tmp79 = insertvalue %"byte[]" { i32 3, i8* undef }, i8* %tmp46, 1 ; <%"byte[]"> [#uses=1]
+ %tmp81 = invoke i32 @_adEq(%"byte[]" %tmp79, %"byte[]" { i32 3, i8* getelementptr ([4 x i8]* @.str71, i32 0, i32 0) }, %object.TypeInfo* @_D11TypeInfo_Aa6__initZ) readonly
+ to label %postinvoke80 unwind label %landingpad ; <i32> [#uses=1]
+
+postinvoke80: ; preds = %endif55
+ %tmp82 = icmp eq i32 %tmp81, 0 ; <i1> [#uses=1]
+ br i1 %tmp82, label %andand, label %endtrycatch
+
+andand: ; preds = %postinvoke80
+ %tmp86 = insertvalue %"byte[]" { i32 3, i8* undef }, i8* %tmp46, 1 ; <%"byte[]"> [#uses=1]
+ %tmp88 = invoke i32 @_adEq(%"byte[]" %tmp86, %"byte[]" { i32 3, i8* getelementptr ([4 x i8]* @.str72, i32 0, i32 0) }, %object.TypeInfo* @_D11TypeInfo_Aa6__initZ) readonly
+ to label %postinvoke87 unwind label %landingpad ; <i32> [#uses=1]
+
+postinvoke87: ; preds = %andand
+ %tmp89 = icmp eq i32 %tmp88, 0 ; <i1> [#uses=1]
+ br i1 %tmp89, label %if91, label %endtrycatch
+
+if91: ; preds = %postinvoke87
+ %tmp95 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp22 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
+ %"this.exception@vtbl" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp95, i32 0, i32 14 ; <void (%tango.net.ftp.FtpClient.FTPConnection*, %tango.net.ftp.FtpClient.FtpResponse*)**> [#uses=1]
+ %this.exception = load void (%tango.net.ftp.FtpClient.FTPConnection*, %tango.net.ftp.FtpClient.FtpResponse*)** %"this.exception@vtbl", align 4 ; <void (%tango.net.ftp.FtpClient.FTPConnection*, %tango.net.ftp.FtpClient.FtpResponse*)*> [#uses=1]
+ invoke fastcc void %this.exception(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %tango.net.ftp.FtpClient.FtpResponse* byval %response)
+ to label %endtrycatch unwind label %landingpad
+
+landingpad: ; preds = %if91, %andand, %endif55, %postinvoke66, %if54, %postinvoke45, %postinvoke37, %endif28, %endif
+ %0 = call i8* @llvm.eh.exception() ; <i8*> [#uses=3]
+ %1 = call i32 (i8*, i8*, ...)* @llvm.eh.selector.i32(i8* %0, i8* bitcast (i32 (i32, i32, i64, i8*, i8*)* @_d_eh_personality to i8*), %object.ClassInfo* @_D6Object7__ClassZ) ; <i32> [#uses=1]
+ %cond = icmp eq i32 %1, 1 ; <i1> [#uses=1]
+ br i1 %cond, label %catch, label %switchdefault
+
+catch: ; preds = %landingpad
+ %2 = bitcast i8* %0 to %object.Object* ; <%object.Object*> [#uses=1]
+ %tmp18 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp22 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
+ %"this.close@vtbl" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp18, i32 0, i32 17 ; <void (%tango.net.ftp.FtpClient.FTPConnection*)**> [#uses=1]
+ %this.close = load void (%tango.net.ftp.FtpClient.FTPConnection*)** %"this.close@vtbl", align 4 ; <void (%tango.net.ftp.FtpClient.FTPConnection*)*> [#uses=1]
+ call fastcc void %this.close(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg)
+ call void @_d_throw_exception(%object.Object* %2)
+ unreachable
+
+switchdefault: ; preds = %landingpad
+ call void @_d_eh_resume_unwind(i8* %0)
+ unreachable
+
+endtrycatch: ; preds = %if91, %postinvoke87, %postinvoke80
+ ret void
+}
+
+define fastcc void @_D5tango3net3ftp9FtpClient13FTPConnection5closeMFZv(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg) {
+entry:
+ %.rettmp = alloca %tango.net.ftp.FtpClient.FtpResponse, align 8 ; <%tango.net.ftp.FtpClient.FtpResponse*> [#uses=1]
+ %tmp1 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 9 ; <%tango.net.SocketConduit.SocketConduit**> [#uses=1]
+ %tmp2 = load %tango.net.SocketConduit.SocketConduit** %tmp1 ; <%tango.net.SocketConduit.SocketConduit*> [#uses=2]
+ %tmp3 = icmp eq %tango.net.SocketConduit.SocketConduit* %tmp2, null ; <i1> [#uses=1]
+ br i1 %tmp3, label %endif, label %if
+
+if: ; preds = %entry
+ %tmp5 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 0 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl**> [#uses=1]
+ %tmp6 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp5 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
+ %"this.finishDataCommand@vtbl" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp6, i32 0, i32 44 ; <void (%tango.net.ftp.FtpClient.FTPConnection*, %tango.net.SocketConduit.SocketConduit*)**> [#uses=1]
+ %this.finishDataCommand = load void (%tango.net.ftp.FtpClient.FTPConnection*, %tango.net.SocketConduit.SocketConduit*)** %"this.finishDataCommand@vtbl", align 4 ; <void (%tango.net.ftp.FtpClient.FTPConnection*, %tango.net.SocketConduit.SocketConduit*)*> [#uses=1]
+ call fastcc void %this.finishDataCommand(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %tango.net.SocketConduit.SocketConduit* %tmp2)
+ br label %endif
+
+endif: ; preds = %if, %entry
+ %tmp12 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 2 ; <%tango.net.SocketConduit.SocketConduit**> [#uses=4]
+ %tmp13 = load %tango.net.SocketConduit.SocketConduit** %tmp12 ; <%tango.net.SocketConduit.SocketConduit*> [#uses=1]
+ %tmp14 = icmp eq %tango.net.SocketConduit.SocketConduit* %tmp13, null ; <i1> [#uses=1]
+ br i1 %tmp14, label %endif16, label %try
+
+try: ; preds = %endif
+ %tmp18 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 0 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl**> [#uses=2]
+ %tmp19 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp18 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
+ %"this.sendCommand@vtbl" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp19, i32 0, i32 35 ; <void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]", %"char[][]")**> [#uses=1]
+ %this.sendCommand = load void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]", %"char[][]")** %"this.sendCommand@vtbl", align 4 ; <void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]", %"char[][]")*> [#uses=1]
+ invoke fastcc void %this.sendCommand(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" { i32 4, i8* getelementptr ([5 x i8]* @.str73, i32 0, i32 0) }, %"char[][]" zeroinitializer)
+ to label %postinvoke unwind label %landingpad
+
+postinvoke: ; preds = %try
+ %tmp23 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp18 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
+ %"this.readResponse@vtbl" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp23, i32 0, i32 36 ; <void (%tango.net.ftp.FtpClient.FtpResponse*, %tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")**> [#uses=1]
+ %this.readResponse = load void (%tango.net.ftp.FtpClient.FtpResponse*, %tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")** %"this.readResponse@vtbl", align 4 ; <void (%tango.net.ftp.FtpClient.FtpResponse*, %tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")*> [#uses=1]
+ invoke fastcc void %this.readResponse(%tango.net.ftp.FtpClient.FtpResponse* noalias nocapture sret %.rettmp, %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" { i32 3, i8* getelementptr ([4 x i8]* @.str74, i32 0, i32 0) })
+ to label %endtrycatch unwind label %landingpad
+
+landingpad: ; preds = %postinvoke, %try
+ %0 = call i8* @llvm.eh.exception() ; <i8*> [#uses=2]
+ %1 = call i32 (i8*, i8*, ...)* @llvm.eh.selector.i32(i8* %0, i8* bitcast (i32 (i32, i32, i64, i8*, i8*)* @_d_eh_personality to i8*), %object.ClassInfo* @_D5tango3net3ftp9FtpClient12FtpException7__ClassZ) ; <i32> [#uses=1]
+ %cond = icmp eq i32 %1, 1 ; <i1> [#uses=1]
+ br i1 %cond, label %endtrycatch, label %switchdefault
+
+switchdefault: ; preds = %landingpad
+ call void @_d_eh_resume_unwind(i8* %0)
+ unreachable
+
+endtrycatch: ; preds = %landingpad, %postinvoke
+ %tmp28 = load %tango.net.SocketConduit.SocketConduit** %tmp12 ; <%tango.net.SocketConduit.SocketConduit*> [#uses=2]
+ %tmp29 = bitcast %tango.net.SocketConduit.SocketConduit* %tmp28 to %tango.io.device.Conduit.Conduit* ; <%tango.io.device.Conduit.Conduit*> [#uses=1]
+ %tmp1.i = bitcast %tango.net.SocketConduit.SocketConduit* %tmp28 to %tango.io.device.Conduit.Conduit.__vtbl** ; <%tango.io.device.Conduit.Conduit.__vtbl**> [#uses=1]
+ %tmp2.i = load %tango.io.device.Conduit.Conduit.__vtbl** %tmp1.i ; <%tango.io.device.Conduit.Conduit.__vtbl*> [#uses=1]
+ %"this.detach@vtbl.i" = getelementptr %tango.io.device.Conduit.Conduit.__vtbl* %tmp2.i, i32 0, i32 8 ; <void (%tango.io.device.Conduit.Conduit*)**> [#uses=1]
+ %this.detach.i = load void (%tango.io.device.Conduit.Conduit*)** %"this.detach@vtbl.i", align 4 ; <void (%tango.io.device.Conduit.Conduit*)*> [#uses=1]
+ call fastcc void %this.detach.i(%tango.io.device.Conduit.Conduit* %tmp29)
+ %tmp31 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 5 ; <%"FtpFeature[]"*> [#uses=1]
+ %tmp32 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 5, i32 0 ; <i32*> [#uses=1]
+ %.len = load i32* %tmp32 ; <i32> [#uses=1]
+ %tmp33 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 5, i32 1 ; <%tango.net.ftp.FtpClient.FtpFeature**> [#uses=1]
+ %.ptr = load %tango.net.ftp.FtpClient.FtpFeature** %tmp33 ; <%tango.net.ftp.FtpClient.FtpFeature*> [#uses=1]
+ %.tmp = bitcast %tango.net.ftp.FtpClient.FtpFeature* %.ptr to i8* ; <i8*> [#uses=1]
+ call void @_d_delarray(i32 %.len, i8* %.tmp)
+ store %"FtpFeature[]" zeroinitializer, %"FtpFeature[]"* %tmp31
+ %tmp36 = load %tango.net.SocketConduit.SocketConduit** %tmp12 ; <%tango.net.SocketConduit.SocketConduit*> [#uses=1]
+ %.tmp37 = bitcast %tango.net.SocketConduit.SocketConduit* %tmp36 to %object.Object* ; <%object.Object*> [#uses=1]
+ call void @_d_delclass(%object.Object* %.tmp37)
+ store %tango.net.SocketConduit.SocketConduit* null, %tango.net.SocketConduit.SocketConduit** %tmp12
+ ret void
+
+endif16: ; preds = %endif
+ ret void
+}
+
+define fastcc void @_D5tango3net3ftp9FtpClient13FTPConnection10setPassiveMFZv(%tango.net.ftp.FtpClient.FTPConnection* nocapture %.this_arg) {
+entry:
+ %tmp2 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 6, i32 0 ; <i32*> [#uses=1]
+ store i32 1, i32* %tmp2
+ %tmp5 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 6, i32 1 ; <%tango.net.Socket.Address**> [#uses=2]
+ %tmp6 = load %tango.net.Socket.Address** %tmp5 ; <%tango.net.Socket.Address*> [#uses=1]
+ %.tmp = bitcast %tango.net.Socket.Address* %tmp6 to %object.Object* ; <%object.Object*> [#uses=1]
+ tail call void @_d_delclass(%object.Object* %.tmp)
+ store %tango.net.Socket.Address* null, %tango.net.Socket.Address** %tmp5
+ %tmp9 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 6, i32 2 ; <%tango.net.Socket.Address**> [#uses=2]
+ %tmp10 = load %tango.net.Socket.Address** %tmp9 ; <%tango.net.Socket.Address*> [#uses=1]
+ %.tmp11 = bitcast %tango.net.Socket.Address* %tmp10 to %object.Object* ; <%object.Object*> [#uses=1]
+ tail call void @_d_delclass(%object.Object* %.tmp11)
+ store %tango.net.Socket.Address* null, %tango.net.Socket.Address** %tmp9
+ ret void
+}
+
+define fastcc void @_D5tango3net3ftp9FtpClient13FTPConnection9setActiveMFAatAatZv(%tango.net.ftp.FtpClient.FTPConnection* nocapture %.this_arg, %"byte[]" %ip_arg, i16 zeroext %port_arg, %"byte[]" %listen_ip_arg, i16 zeroext %listen_port_arg) {
+entry:
+ %listen_ip_arg64 = extractvalue %"byte[]" %listen_ip_arg, 0 ; <i32> [#uses=2]
+ %listen_ip_arg65 = extractvalue %"byte[]" %listen_ip_arg, 1 ; <i8*> [#uses=2]
+ %tmp2 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 6, i32 0 ; <i32*> [#uses=1]
+ store i32 0, i32* %tmp2
+ %tmp5 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 6, i32 1 ; <%tango.net.Socket.Address**> [#uses=1]
+ %.newclass_gc_alloc = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango3net6Socket11IPv4Address7__ClassZ) ; <i8*> [#uses=4]
+ %.newclass_gc = bitcast i8* %.newclass_gc_alloc to %tango.net.Socket.IPv4Address* ; <%tango.net.Socket.IPv4Address*> [#uses=1]
+ %vtbl = bitcast i8* %.newclass_gc_alloc to %tango.net.Socket.IPv4Address.__vtbl** ; <%tango.net.Socket.IPv4Address.__vtbl**> [#uses=1]
+ store %tango.net.Socket.IPv4Address.__vtbl* @_D5tango3net6Socket11IPv4Address6__vtblZ, %tango.net.Socket.IPv4Address.__vtbl** %vtbl
+ %monitor = getelementptr i8* %.newclass_gc_alloc, i32 4 ; <i8*> [#uses=1]
+ %0 = bitcast i8* %monitor to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %0
+ %tmp6 = getelementptr i8* %.newclass_gc_alloc, i32 8 ; <i8*> [#uses=1]
+ tail call void @llvm.memcpy.i32(i8* %tmp6, i8* getelementptr (%tango.net.Socket.IPv4Address* bitcast (%22* @_D5tango3net6Socket11IPv4Address6__initZ to %tango.net.Socket.IPv4Address*), i32 0, i32 2, i32 0), i32 24, i32 1)
+ %tmp12 = zext i16 %port_arg to i32 ; <i32> [#uses=1]
+ %tmp13 = tail call fastcc %tango.net.Socket.IPv4Address* @_D5tango3net6Socket11IPv4Address5_ctorMFAaiZC5tango3net6Socket11IPv4Address(%tango.net.Socket.IPv4Address* %.newclass_gc, %"byte[]" %ip_arg, i32 %tmp12) ; <%tango.net.Socket.IPv4Address*> [#uses=1]
+ %tmp14 = bitcast %tango.net.Socket.IPv4Address* %tmp13 to %tango.net.Socket.Address* ; <%tango.net.Socket.Address*> [#uses=1]
+ store %tango.net.Socket.Address* %tmp14, %tango.net.Socket.Address** %tmp5
+ %tmp17 = icmp eq i16 %listen_port_arg, 0 ; <i1> [#uses=1]
+ %listen_port.0 = select i1 %tmp17, i16 %port_arg, i16 %listen_port_arg ; <i16> [#uses=2]
+ %tmp22 = insertvalue %"byte[]" undef, i32 %listen_ip_arg64, 0 ; <%"byte[]"> [#uses=1]
+ %tmp23 = insertvalue %"byte[]" %tmp22, i8* %listen_ip_arg65, 1 ; <%"byte[]"> [#uses=1]
+ %tmp24 = tail call i32 @_adEq(%"byte[]" %tmp23, %"byte[]" zeroinitializer, %object.TypeInfo* @_D11TypeInfo_Aa6__initZ) readonly ; <i32> [#uses=1]
+ %tmp25 = icmp eq i32 %tmp24, 0 ; <i1> [#uses=1]
+ %tmp30 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 6, i32 2 ; <%tango.net.Socket.Address**> [#uses=2]
+ %.newclass_gc_alloc31 = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango3net6Socket11IPv4Address7__ClassZ) ; <i8*> [#uses=7]
+ %vtbl33 = bitcast i8* %.newclass_gc_alloc31 to %tango.net.Socket.IPv4Address.__vtbl** ; <%tango.net.Socket.IPv4Address.__vtbl**> [#uses=1]
+ store %tango.net.Socket.IPv4Address.__vtbl* @_D5tango3net6Socket11IPv4Address6__vtblZ, %tango.net.Socket.IPv4Address.__vtbl** %vtbl33
+ %monitor34 = getelementptr i8* %.newclass_gc_alloc31, i32 4 ; <i8*> [#uses=1]
+ %1 = bitcast i8* %monitor34 to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %1
+ %tmp35 = getelementptr i8* %.newclass_gc_alloc31, i32 8 ; <i8*> [#uses=1]
+ tail call void @llvm.memcpy.i32(i8* %tmp35, i8* getelementptr (%tango.net.Socket.IPv4Address* bitcast (%22* @_D5tango3net6Socket11IPv4Address6__initZ to %tango.net.Socket.IPv4Address*), i32 0, i32 2, i32 0), i32 24, i32 1)
+ br i1 %tmp25, label %else, label %if26
+
+if26: ; preds = %entry
+ %tmp2.i = getelementptr i8* %.newclass_gc_alloc31, i32 20 ; <i8*> [#uses=1]
+ %2 = bitcast i8* %tmp2.i to i32* ; <i32*> [#uses=1]
+ store i32 0, i32* %2
+ %tmp7.i = getelementptr i8* %.newclass_gc_alloc31, i32 18 ; <i8*> [#uses=1]
+ %3 = bitcast i8* %tmp7.i to i16* ; <i16*> [#uses=1]
+ store i16 %listen_port.0, i16* %3
+ %tmp41 = bitcast i8* %.newclass_gc_alloc31 to %tango.net.Socket.Address* ; <%tango.net.Socket.Address*> [#uses=1]
+ store %tango.net.Socket.Address* %tmp41, %tango.net.Socket.Address** %tmp30
+ ret void
+
+else: ; preds = %entry
+ %.newclass_gc32 = bitcast i8* %.newclass_gc_alloc31 to %tango.net.Socket.IPv4Address* ; <%tango.net.Socket.IPv4Address*> [#uses=1]
+ %insert = insertvalue %"byte[]" undef, i32 %listen_ip_arg64, 0 ; <%"byte[]"> [#uses=1]
+ %insert59 = insertvalue %"byte[]" %insert, i8* %listen_ip_arg65, 1 ; <%"byte[]"> [#uses=1]
+ %tmp55 = zext i16 %listen_port.0 to i32 ; <i32> [#uses=1]
+ %tmp56 = tail call fastcc %tango.net.Socket.IPv4Address* @_D5tango3net6Socket11IPv4Address5_ctorMFAaiZC5tango3net6Socket11IPv4Address(%tango.net.Socket.IPv4Address* %.newclass_gc32, %"byte[]" %insert59, i32 %tmp55) ; <%tango.net.Socket.IPv4Address*> [#uses=1]
+ %tmp57 = bitcast %tango.net.Socket.IPv4Address* %tmp56 to %tango.net.Socket.Address* ; <%tango.net.Socket.Address*> [#uses=1]
+ store %tango.net.Socket.Address* %tmp57, %tango.net.Socket.Address** %tmp30
+ ret void
+}
+
+define fastcc void @_D5tango3net3ftp9FtpClient13FTPConnection2cdMFAaZv(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" %dir_arg) {
+entry:
+ %__arrayArg123 = alloca [1 x %"byte[]"], align 8 ; <[1 x %"byte[]"]*> [#uses=1]
+ %.rettmp = alloca %tango.net.ftp.FtpClient.FtpResponse, align 8 ; <%tango.net.ftp.FtpClient.FtpResponse*> [#uses=1]
+ %tmp1 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 0 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl**> [#uses=2]
+ %tmp2 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp1 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
+ %"this.sendCommand@vtbl" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp2, i32 0, i32 35 ; <void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]", %"char[][]")**> [#uses=1]
+ %this.sendCommand = load void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]", %"char[][]")** %"this.sendCommand@vtbl", align 4 ; <void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]", %"char[][]")*> [#uses=1]
+ %tmp4 = getelementptr [1 x %"byte[]"]* %__arrayArg123, i32 0, i32 0 ; <%"byte[]"*> [#uses=2]
+ store %"byte[]" %dir_arg, %"byte[]"* %tmp4, align 8
+ %tmp7 = insertvalue %"char[][]" { i32 1, %"byte[]"* undef }, %"byte[]"* %tmp4, 1 ; <%"char[][]"> [#uses=1]
+ call fastcc void %this.sendCommand(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" { i32 3, i8* getelementptr ([4 x i8]* @.str75, i32 0, i32 0) }, %"char[][]" %tmp7)
+ %tmp10 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp1 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
+ %"this.readResponse@vtbl" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp10, i32 0, i32 36 ; <void (%tango.net.ftp.FtpClient.FtpResponse*, %tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")**> [#uses=1]
+ %this.readResponse = load void (%tango.net.ftp.FtpClient.FtpResponse*, %tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")** %"this.readResponse@vtbl", align 4 ; <void (%tango.net.ftp.FtpClient.FtpResponse*, %tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")*> [#uses=1]
+ call fastcc void %this.readResponse(%tango.net.ftp.FtpClient.FtpResponse* noalias nocapture sret %.rettmp, %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" { i32 3, i8* getelementptr ([4 x i8]* @.str76, i32 0, i32 0) })
+ ret void
+}
+
+define fastcc void @_D5tango3net3ftp9FtpClient13FTPConnection4cdupMFZv(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg) {
+entry:
+ %fr = alloca %tango.net.ftp.FtpClient.FtpResponse, align 4 ; <%tango.net.ftp.FtpClient.FtpResponse*> [#uses=2]
+ %.rettmp = alloca %tango.net.ftp.FtpClient.FtpResponse, align 8 ; <%tango.net.ftp.FtpClient.FtpResponse*> [#uses=2]
+ %tmp1 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 0 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl**> [#uses=3]
+ %tmp2 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp1 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
+ %"this.sendCommand@vtbl" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp2, i32 0, i32 35 ; <void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]", %"char[][]")**> [#uses=1]
+ %this.sendCommand = load void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]", %"char[][]")** %"this.sendCommand@vtbl", align 4 ; <void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]", %"char[][]")*> [#uses=1]
+ call fastcc void %this.sendCommand(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" { i32 4, i8* getelementptr ([5 x i8]* @.str77, i32 0, i32 0) }, %"char[][]" zeroinitializer)
+ %tmp6 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp1 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
+ %"this.readResponse@vtbl" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp6, i32 0, i32 37 ; <void (%tango.net.ftp.FtpClient.FtpResponse*, %tango.net.ftp.FtpClient.FTPConnection*)**> [#uses=1]
+ %this.readResponse = load void (%tango.net.ftp.FtpClient.FtpResponse*, %tango.net.ftp.FtpClient.FTPConnection*)** %"this.readResponse@vtbl", align 4 ; <void (%tango.net.ftp.FtpClient.FtpResponse*, %tango.net.ftp.FtpClient.FTPConnection*)*> [#uses=1]
+ call fastcc void %this.readResponse(%tango.net.ftp.FtpClient.FtpResponse* noalias nocapture sret %.rettmp, %tango.net.ftp.FtpClient.FTPConnection* %.this_arg)
+ %tmp8 = getelementptr %tango.net.ftp.FtpClient.FtpResponse* %fr, i32 0, i32 0, i32 0 ; <i8*> [#uses=3]
+ %tmp9 = getelementptr %tango.net.ftp.FtpClient.FtpResponse* %.rettmp, i32 0, i32 0, i32 0 ; <i8*> [#uses=1]
+ call void @llvm.memcpy.i32(i8* %tmp8, i8* %tmp9, i32 12, i32 4)
+ %tmp12 = insertvalue %"byte[]" { i32 3, i8* undef }, i8* %tmp8, 1 ; <%"byte[]"> [#uses=1]
+ %tmp13 = call i32 @_adEq(%"byte[]" %tmp12, %"byte[]" { i32 3, i8* getelementptr ([4 x i8]* @.str78, i32 0, i32 0) }, %object.TypeInfo* @_D11TypeInfo_Aa6__initZ) readonly ; <i32> [#uses=1]
+ %tmp14 = icmp eq i32 %tmp13, 0 ; <i1> [#uses=1]
+ br i1 %tmp14, label %oror, label %if.critedge
+
+oror: ; preds = %entry
+ %tmp17 = insertvalue %"byte[]" { i32 3, i8* undef }, i8* %tmp8, 1 ; <%"byte[]"> [#uses=1]
+ %tmp18 = call i32 @_adEq(%"byte[]" %tmp17, %"byte[]" { i32 3, i8* getelementptr ([4 x i8]* @.str79, i32 0, i32 0) }, %object.TypeInfo* @_D11TypeInfo_Aa6__initZ) readonly ; <i32> [#uses=1]
+ %tmp19 = icmp eq i32 %tmp18, 0 ; <i1> [#uses=1]
+ br i1 %tmp19, label %else, label %if
+
+if.critedge: ; preds = %entry
+ ret void
+
+if: ; preds = %oror
+ ret void
+
+else: ; preds = %oror
+ %tmp22 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp1 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
+ %"this.exception@vtbl" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp22, i32 0, i32 14 ; <void (%tango.net.ftp.FtpClient.FTPConnection*, %tango.net.ftp.FtpClient.FtpResponse*)**> [#uses=1]
+ %this.exception = load void (%tango.net.ftp.FtpClient.FTPConnection*, %tango.net.ftp.FtpClient.FtpResponse*)** %"this.exception@vtbl", align 4 ; <void (%tango.net.ftp.FtpClient.FTPConnection*, %tango.net.ftp.FtpClient.FtpResponse*)*> [#uses=1]
+ call fastcc void %this.exception(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %tango.net.ftp.FtpClient.FtpResponse* byval %fr)
+ ret void
+}
+
+define fastcc %"byte[]" @_D5tango3net3ftp9FtpClient13FTPConnection3cwdMFZAa(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg) {
+entry:
+ %response = alloca %tango.net.ftp.FtpClient.FtpResponse, align 4 ; <%tango.net.ftp.FtpClient.FtpResponse*> [#uses=2]
+ %.rettmp = alloca %tango.net.ftp.FtpClient.FtpResponse, align 8 ; <%tango.net.ftp.FtpClient.FtpResponse*> [#uses=2]
+ %tmp1 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 0 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl**> [#uses=3]
+ %tmp2 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp1 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
+ %"this.sendCommand@vtbl" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp2, i32 0, i32 35 ; <void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]", %"char[][]")**> [#uses=1]
+ %this.sendCommand = load void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]", %"char[][]")** %"this.sendCommand@vtbl", align 4 ; <void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]", %"char[][]")*> [#uses=1]
+ call fastcc void %this.sendCommand(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" { i32 3, i8* getelementptr ([4 x i8]* @.str80, i32 0, i32 0) }, %"char[][]" zeroinitializer)
+ %tmp6 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp1 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
+ %"this.readResponse@vtbl" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp6, i32 0, i32 36 ; <void (%tango.net.ftp.FtpClient.FtpResponse*, %tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")**> [#uses=1]
+ %this.readResponse = load void (%tango.net.ftp.FtpClient.FtpResponse*, %tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")** %"this.readResponse@vtbl", align 4 ; <void (%tango.net.ftp.FtpClient.FtpResponse*, %tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")*> [#uses=1]
+ call fastcc void %this.readResponse(%tango.net.ftp.FtpClient.FtpResponse* noalias nocapture sret %.rettmp, %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" { i32 3, i8* getelementptr ([4 x i8]* @.str81, i32 0, i32 0) })
+ %tmp8 = getelementptr %tango.net.ftp.FtpClient.FtpResponse* %response, i32 0, i32 0, i32 0 ; <i8*> [#uses=1]
+ %tmp9 = getelementptr %tango.net.ftp.FtpClient.FtpResponse* %.rettmp, i32 0, i32 0, i32 0 ; <i8*> [#uses=1]
+ call void @llvm.memcpy.i32(i8* %tmp8, i8* %tmp9, i32 12, i32 4)
+ %tmp12 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp1 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
+ %"this.parse257@vtbl" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp12, i32 0, i32 38 ; <%"byte[]" (%tango.net.ftp.FtpClient.FTPConnection*, %tango.net.ftp.FtpClient.FtpResponse*)**> [#uses=1]
+ %this.parse257 = load %"byte[]" (%tango.net.ftp.FtpClient.FTPConnection*, %tango.net.ftp.FtpClient.FtpResponse*)** %"this.parse257@vtbl", align 4 ; <%"byte[]" (%tango.net.ftp.FtpClient.FTPConnection*, %tango.net.ftp.FtpClient.FtpResponse*)*> [#uses=1]
+ %tmp14 = call fastcc %"byte[]" %this.parse257(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %tango.net.ftp.FtpClient.FtpResponse* byval %response) ; <%"byte[]"> [#uses=1]
+ ret %"byte[]" %tmp14
+}
+
+define fastcc void @_D5tango3net3ftp9FtpClient13FTPConnection5chmodMFAaiZv(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" %path_arg, i32 %mode_arg) {
+entry:
+ %.nongc_mem182.i = alloca [18 x i8], align 1 ; <[18 x i8]*> [#uses=2]
+ %__arrayArg126 = alloca [2 x %"byte[]"], align 8 ; <[2 x %"byte[]"]*> [#uses=2]
+ %.rettmp = alloca %tango.net.ftp.FtpClient.FtpResponse, align 8 ; <%tango.net.ftp.FtpClient.FtpResponse*> [#uses=1]
+ %tmp3 = sext i32 %mode_arg to i64 ; <i64> [#uses=1]
+ %.nongc_mem182.sub.i = getelementptr [18 x i8]* %.nongc_mem182.i, i32 0, i32 0 ; <i8*> [#uses=2]
+ switch i32 111, label %default37.i [
+ i32 100, label %case8.i
+ i32 68, label %case8.i
+ i32 103, label %case8.i
+ i32 71, label %case8.i
+ i32 117, label %switchend.i
+ i32 85, label %switchend.i
+ i32 98, label %case28.i
+ i32 66, label %case28.i
+ i32 111, label %case31.i
+ i32 79, label %case31.i
+ i32 120, label %case33.i
+ i32 88, label %case35.i
+ ]
+
+case8.i: ; preds = %entry, %entry, %entry, %entry
+ br i1 undef, label %if11.i, label %switchend.i
+
+if11.i: ; preds = %case8.i
+ br label %switchend.i
+
+case28.i: ; preds = %entry, %entry
+ br label %switchend.i
+
+case31.i: ; preds = %entry, %entry
+ br label %switchend.i
+
+case33.i: ; preds = %entry
+ br label %switchend.i
+
+case35.i: ; preds = %entry
+ br label %switchend.i
+
+default37.i: ; preds = %entry
+ call void @llvm.memcpy.i32(i8* %.nongc_mem182.sub.i, i8* getelementptr ([18 x i8]* @.str263, i32 0, i32 0), i32 17, i32 1)
+ %tmp38.i = getelementptr [18 x i8]* %.nongc_mem182.i, i32 0, i32 17 ; <i8*> [#uses=1]
+ store i8 111, i8* %tmp38.i
+ %.gc_mem40.i = call noalias i8* @_d_newarrayvT(%object.TypeInfo* @_D11TypeInfo_Aa6__initZ, i32 20) ; <i8*> [#uses=2]
+ call void @llvm.memcpy.i32(i8* %.gc_mem40.i, i8* %.nongc_mem182.sub.i, i32 18, i32 1)
+ %tmp41.i = getelementptr i8* %.gc_mem40.i, i32 18 ; <i8*> [#uses=1]
+ %tmp41181.i = bitcast i8* %tmp41.i to i16* ; <i16*> [#uses=1]
+ %tmp.i = load i16* bitcast ([3 x i8]* @.str264 to i16*), align 2 ; <i16> [#uses=1]
+ store i16 %tmp.i, i16* %tmp41181.i, align 1
+ br label %_D5tango4text7convert7Integer16__T9formatterTaZ9formatterFAalaaiZAa.exit
+
+switchend.i: ; preds = %case35.i, %case33.i, %case31.i, %case28.i, %if11.i, %case8.i, %entry, %entry
+ %index.1.i = phi i32 [ 7, %case35.i ], [ 6, %case33.i ], [ 5, %case31.i ], [ 4, %case28.i ], [ 0, %entry ], [ 0, %entry ], [ 1, %if11.i ], [ 0, %case8.i ] ; <i32> [#uses=3]
+ %pre.0.i = phi i8 [ -1, %case35.i ], [ -1, %case33.i ], [ -1, %case31.i ], [ -1, %case28.i ], [ 35, %entry ], [ 35, %if11.i ], [ 35, %entry ], [ 35, %case8.i ] ; <i8> [#uses=1]
+ %tmp48.i = getelementptr [8 x %nest.parseListLine]* @.constarray262, i32 0, i32 %index.1.i, i32 2 ; <%"byte[]"*> [#uses=1]
+ %tmp49.i = load %"byte[]"* %tmp48.i ; <%"byte[]"> [#uses=1]
+ %tmp49178.i = extractvalue %"byte[]" %tmp49.i, 1 ; <i8*> [#uses=2]
+ %tmp51.i = getelementptr [8 x %nest.parseListLine]* @.constarray262, i32 0, i32 %index.1.i, i32 0 ; <i32*> [#uses=1]
+ %tmp52.i = load i32* %tmp51.i ; <i32> [#uses=3]
+ %tmp58.i19 = icmp sgt i32 %mode_arg, -1 ; <i1> [#uses=1]
+ br i1 %tmp58.i19, label %if59.i, label %dowhile82.i
+
+if59.i: ; preds = %switchend.i
+ br label %dowhile.i
+
+dowhile.i: ; preds = %andand.i, %if59.i
+ %p.0.i = phi i8* [ getelementptr ([4 x i8]* @.str82, i32 0, i32 3), %if59.i ], [ %tmp65.i, %andand.i ] ; <i8*> [#uses=1]
+ %v.0.i = phi i32 [ %mode_arg, %if59.i ], [ %tmp75.i, %andand.i ] ; <i32> [#uses=2]
+ %len.0.i = phi i32 [ 3, %if59.i ], [ %tmp78.i, %andand.i ] ; <i32> [#uses=3]
+ %tmp65.i = getelementptr i8* %p.0.i, i32 -1 ; <i8*> [#uses=2]
+ %tmp68.i = urem i32 %v.0.i, %tmp52.i ; <i32> [#uses=1]
+ %tmp71.i = getelementptr i8* %tmp49178.i, i32 %tmp68.i ; <i8*> [#uses=1]
+ %tmp72.i = load i8* %tmp71.i ; <i8> [#uses=1]
+ store i8 %tmp72.i, i8* %tmp65.i
+ %tmp75.i = udiv i32 %v.0.i, %tmp52.i ; <i32> [#uses=2]
+ %tmp76.i = icmp eq i32 %tmp75.i, 0 ; <i1> [#uses=1]
+ br i1 %tmp76.i, label %endif60.i, label %andand.i
+
+andand.i: ; preds = %dowhile.i
+ %tmp78.i = add i32 %len.0.i, -1 ; <i32> [#uses=2]
+ %tmp79.i = icmp eq i32 %len.0.i, 1 ; <i1> [#uses=1]
+ br i1 %tmp79.i, label %endif60.i, label %dowhile.i
+
+dowhile82.i: ; preds = %andand100.i, %switchend.i
+ %p.2.i = phi i8* [ %tmp86.i, %andand100.i ], [ getelementptr ([4 x i8]* @.str82, i32 0, i32 3), %switchend.i ] ; <i8*> [#uses=1]
+ %v80.0.i = phi i64 [ %tmp99.i, %andand100.i ], [ %tmp3, %switchend.i ] ; <i64> [#uses=2]
+ %len.2.i = phi i32 [ %tmp104.i, %andand100.i ], [ 3, %switchend.i ] ; <i32> [#uses=3]
+ %tmp86.i = getelementptr i8* %p.2.i, i32 -1 ; <i8*> [#uses=2]
+ %tmp88.i = zext i32 %tmp52.i to i64 ; <i64> [#uses=2]
+ %tmp90.i = urem i64 %v80.0.i, %tmp88.i ; <i64> [#uses=1]
+ %tmp91.i = trunc i64 %tmp90.i to i32 ; <i32> [#uses=1]
+ %tmp94.i = getelementptr i8* %tmp49178.i, i32 %tmp91.i ; <i8*> [#uses=1]
+ %tmp95.i = load i8* %tmp94.i ; <i8> [#uses=1]
+ store i8 %tmp95.i, i8* %tmp86.i
+ %tmp99.i = udiv i64 %v80.0.i, %tmp88.i ; <i64> [#uses=2]
+ %tmp102.i = icmp eq i64 %tmp99.i, 0 ; <i1> [#uses=1]
+ br i1 %tmp102.i, label %endif60.i, label %andand100.i
+
+andand100.i: ; preds = %dowhile82.i
+ %tmp104.i = add i32 %len.2.i, -1 ; <i32> [#uses=2]
+ %tmp105.i = icmp eq i32 %len.2.i, 1 ; <i1> [#uses=1]
+ br i1 %tmp105.i, label %endif60.i, label %dowhile82.i
+
+endif60.i: ; preds = %andand100.i, %dowhile82.i, %andand.i, %dowhile.i
+ %len.1.i = phi i32 [ %tmp78.i, %andand.i ], [ %len.0.i, %dowhile.i ], [ %tmp104.i, %andand100.i ], [ %len.2.i, %dowhile82.i ] ; <i32> [#uses=2]
+ %tmp109.i = icmp eq i8 %pre.0.i, 35 ; <i1> [#uses=1]
+ br i1 %tmp109.i, label %condtrue.i, label %condend.i
+
+condtrue.i: ; preds = %endif60.i
+ %tmp111.i = getelementptr [8 x %nest.parseListLine]* @.constarray262, i32 0, i32 %index.1.i, i32 1 ; <%"byte[]"*> [#uses=1]
+ %tmp112.i = load %"byte[]"* %tmp111.i ; <%"byte[]"> [#uses=1]
+ br label %condend.i
+
+condend.i: ; preds = %condtrue.i, %endif60.i
+ %condtmp.0.i = phi %"byte[]" [ %tmp112.i, %condtrue.i ], [ zeroinitializer, %endif60.i ] ; <%"byte[]"> [#uses=2]
+ %condtmp.0175.i = extractvalue %"byte[]" %condtmp.0.i, 0 ; <i32> [#uses=3]
+ %tmp117.i = icmp ugt i32 %len.1.i, %condtmp.0175.i ; <i1> [#uses=1]
+ br i1 %tmp117.i, label %endif127.i, label %_D5tango4text7convert7Integer16__T9formatterTaZ9formatterFAalaaiZAa.exit
+
+endif127.i: ; preds = %condend.i
+ %condtmp.0176.i = extractvalue %"byte[]" %condtmp.0.i, 1 ; <i8*> [#uses=1]
+ %tmp123.i = add i32 %condtmp.0175.i, 1 ; <i32> [#uses=1]
+ %tmp124.i = sub i32 %len.1.i, %tmp123.i ; <i32> [#uses=1]
+ %tmp156.i = getelementptr [4 x i8]* @.str82, i32 0, i32 %tmp124.i ; <i8*> [#uses=1]
+ call void @llvm.memcpy.i32(i8* %tmp156.i, i8* %condtmp.0176.i, i32 %condtmp.0175.i, i32 1)
+ br label %_D5tango4text7convert7Integer16__T9formatterTaZ9formatterFAalaaiZAa.exit
+
+_D5tango4text7convert7Integer16__T9formatterTaZ9formatterFAalaaiZAa.exit: ; preds = %endif127.i, %condend.i, %default37.i
+ %tmp6 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 0 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl**> [#uses=2]
+ %tmp7 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp6 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
+ %"this.sendCommand@vtbl" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp7, i32 0, i32 35 ; <void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]", %"char[][]")**> [#uses=1]
+ %this.sendCommand = load void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]", %"char[][]")** %"this.sendCommand@vtbl", align 4 ; <void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]", %"char[][]")*> [#uses=1]
+ %tmp9 = getelementptr [2 x %"byte[]"]* %__arrayArg126, i32 0, i32 0 ; <%"byte[]"*> [#uses=2]
+ store %"byte[]" { i32 3, i8* getelementptr ([4 x i8]* @.str82, i32 0, i32 0) }, %"byte[]"* %tmp9, align 8
+ %tmp11 = getelementptr [2 x %"byte[]"]* %__arrayArg126, i32 0, i32 1 ; <%"byte[]"*> [#uses=1]
+ store %"byte[]" %path_arg, %"byte[]"* %tmp11, align 8
+ %tmp14 = insertvalue %"char[][]" { i32 2, %"byte[]"* undef }, %"byte[]"* %tmp9, 1 ; <%"char[][]"> [#uses=1]
+ call fastcc void %this.sendCommand(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" { i32 10, i8* getelementptr ([11 x i8]* @.str84, i32 0, i32 0) }, %"char[][]" %tmp14)
+ %tmp17 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp6 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
+ %"this.readResponse@vtbl" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp17, i32 0, i32 36 ; <void (%tango.net.ftp.FtpClient.FtpResponse*, %tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")**> [#uses=1]
+ %this.readResponse = load void (%tango.net.ftp.FtpClient.FtpResponse*, %tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")** %"this.readResponse@vtbl", align 4 ; <void (%tango.net.ftp.FtpClient.FtpResponse*, %tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")*> [#uses=1]
+ call fastcc void %this.readResponse(%tango.net.ftp.FtpClient.FtpResponse* noalias nocapture sret %.rettmp, %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" { i32 3, i8* getelementptr ([4 x i8]* @.str85, i32 0, i32 0) })
+ ret void
+}
+
+define fastcc void @_D5tango3net3ftp9FtpClient13FTPConnection3delMFAaZv(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" %path_arg) {
+entry:
+ %__arrayArg127 = alloca [1 x %"byte[]"], align 8 ; <[1 x %"byte[]"]*> [#uses=1]
+ %response = alloca %tango.net.ftp.FtpClient.FtpResponse, align 4 ; <%tango.net.ftp.FtpClient.FtpResponse*> [#uses=1]
+ %.rettmp = alloca %tango.net.ftp.FtpClient.FtpResponse, align 8 ; <%tango.net.ftp.FtpClient.FtpResponse*> [#uses=2]
+ %tmp1 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 0 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl**> [#uses=3]
+ %tmp2 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp1 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
+ %"this.sendCommand@vtbl" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp2, i32 0, i32 35 ; <void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]", %"char[][]")**> [#uses=1]
+ %this.sendCommand = load void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]", %"char[][]")** %"this.sendCommand@vtbl", align 4 ; <void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]", %"char[][]")*> [#uses=1]
+ %tmp4 = getelementptr [1 x %"byte[]"]* %__arrayArg127, i32 0, i32 0 ; <%"byte[]"*> [#uses=2]
+ store %"byte[]" %path_arg, %"byte[]"* %tmp4, align 8
+ %tmp7 = insertvalue %"char[][]" { i32 1, %"byte[]"* undef }, %"byte[]"* %tmp4, 1 ; <%"char[][]"> [#uses=1]
+ call fastcc void %this.sendCommand(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" { i32 4, i8* getelementptr ([5 x i8]* @.str86, i32 0, i32 0) }, %"char[][]" %tmp7)
+ %tmp10 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp1 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
+ %"this.readResponse@vtbl" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp10, i32 0, i32 36 ; <void (%tango.net.ftp.FtpClient.FtpResponse*, %tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")**> [#uses=1]
+ %this.readResponse = load void (%tango.net.ftp.FtpClient.FtpResponse*, %tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")** %"this.readResponse@vtbl", align 4 ; <void (%tango.net.ftp.FtpClient.FtpResponse*, %tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")*> [#uses=1]
+ call fastcc void %this.readResponse(%tango.net.ftp.FtpClient.FtpResponse* noalias nocapture sret %.rettmp, %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" { i32 3, i8* getelementptr ([4 x i8]* @.str87, i32 0, i32 0) })
+ %tmp12 = getelementptr %tango.net.ftp.FtpClient.FtpResponse* %response, i32 0, i32 0, i32 0 ; <i8*> [#uses=2]
+ %tmp13 = getelementptr %tango.net.ftp.FtpClient.FtpResponse* %.rettmp, i32 0, i32 0, i32 0 ; <i8*> [#uses=1]
+ call void @llvm.memcpy.i32(i8* %tmp12, i8* %tmp13, i32 12, i32 4)
+ %tmp16 = insertvalue %"byte[]" { i32 3, i8* undef }, i8* %tmp12, 1 ; <%"byte[]"> [#uses=1]
+ %tmp17 = call i32 @_adEq(%"byte[]" %tmp16, %"byte[]" { i32 3, i8* getelementptr ([4 x i8]* @.str88, i32 0, i32 0) }, %object.TypeInfo* @_D11TypeInfo_Aa6__initZ) readonly ; <i32> [#uses=1]
+ %tmp18 = icmp eq i32 %tmp17, 0 ; <i1> [#uses=1]
+ br i1 %tmp18, label %if, label %endif
+
+if: ; preds = %entry
+ %tmp22 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp1 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
+ %"this.rm@vtbl" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp22, i32 0, i32 25 ; <void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")**> [#uses=1]
+ %this.rm = load void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")** %"this.rm@vtbl", align 4 ; <void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")*> [#uses=1]
+ call fastcc void %this.rm(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" %path_arg)
+ ret void
+
+endif: ; preds = %entry
+ ret void
+}
+
+define fastcc void @_D5tango3net3ftp9FtpClient13FTPConnection2rmMFAaZv(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" %path_arg) {
+entry:
+ %__arrayArg128 = alloca [1 x %"byte[]"], align 8 ; <[1 x %"byte[]"]*> [#uses=1]
+ %.rettmp = alloca %tango.net.ftp.FtpClient.FtpResponse, align 8 ; <%tango.net.ftp.FtpClient.FtpResponse*> [#uses=1]
+ %tmp1 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 0 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl**> [#uses=2]
+ %tmp2 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp1 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
+ %"this.sendCommand@vtbl" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp2, i32 0, i32 35 ; <void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]", %"char[][]")**> [#uses=1]
+ %this.sendCommand = load void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]", %"char[][]")** %"this.sendCommand@vtbl", align 4 ; <void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]", %"char[][]")*> [#uses=1]
+ %tmp4 = getelementptr [1 x %"byte[]"]* %__arrayArg128, i32 0, i32 0 ; <%"byte[]"*> [#uses=2]
+ store %"byte[]" %path_arg, %"byte[]"* %tmp4, align 8
+ %tmp7 = insertvalue %"char[][]" { i32 1, %"byte[]"* undef }, %"byte[]"* %tmp4, 1 ; <%"char[][]"> [#uses=1]
+ call fastcc void %this.sendCommand(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" { i32 3, i8* getelementptr ([4 x i8]* @.str89, i32 0, i32 0) }, %"char[][]" %tmp7)
+ %tmp10 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp1 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
+ %"this.readResponse@vtbl" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp10, i32 0, i32 36 ; <void (%tango.net.ftp.FtpClient.FtpResponse*, %tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")**> [#uses=1]
+ %this.readResponse = load void (%tango.net.ftp.FtpClient.FtpResponse*, %tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")** %"this.readResponse@vtbl", align 4 ; <void (%tango.net.ftp.FtpClient.FtpResponse*, %tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")*> [#uses=1]
+ call fastcc void %this.readResponse(%tango.net.ftp.FtpClient.FtpResponse* noalias nocapture sret %.rettmp, %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" { i32 3, i8* getelementptr ([4 x i8]* @.str90, i32 0, i32 0) })
+ ret void
+}
+
+define fastcc void @_D5tango3net3ftp9FtpClient13FTPConnection6renameMFAaAaZv(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" %old_path_arg, %"byte[]" %new_path_arg) {
+entry:
+ %__arrayArg129 = alloca [1 x %"byte[]"], align 8 ; <[1 x %"byte[]"]*> [#uses=1]
+ %.rettmp = alloca %tango.net.ftp.FtpClient.FtpResponse, align 8 ; <%tango.net.ftp.FtpClient.FtpResponse*> [#uses=1]
+ %__arrayArg130 = alloca [1 x %"byte[]"], align 8 ; <[1 x %"byte[]"]*> [#uses=1]
+ %.rettmp28 = alloca %tango.net.ftp.FtpClient.FtpResponse, align 8 ; <%tango.net.ftp.FtpClient.FtpResponse*> [#uses=1]
+ %tmp1 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 0 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl**> [#uses=4]
+ %tmp2 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp1 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
+ %"this.sendCommand@vtbl" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp2, i32 0, i32 35 ; <void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]", %"char[][]")**> [#uses=1]
+ %this.sendCommand = load void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]", %"char[][]")** %"this.sendCommand@vtbl", align 4 ; <void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]", %"char[][]")*> [#uses=1]
+ %tmp4 = getelementptr [1 x %"byte[]"]* %__arrayArg129, i32 0, i32 0 ; <%"byte[]"*> [#uses=2]
+ store %"byte[]" %old_path_arg, %"byte[]"* %tmp4, align 8
+ %tmp7 = insertvalue %"char[][]" { i32 1, %"byte[]"* undef }, %"byte[]"* %tmp4, 1 ; <%"char[][]"> [#uses=1]
+ call fastcc void %this.sendCommand(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" { i32 4, i8* getelementptr ([5 x i8]* @.str91, i32 0, i32 0) }, %"char[][]" %tmp7)
+ %tmp10 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp1 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
+ %"this.readResponse@vtbl" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp10, i32 0, i32 36 ; <void (%tango.net.ftp.FtpClient.FtpResponse*, %tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")**> [#uses=1]
+ %this.readResponse = load void (%tango.net.ftp.FtpClient.FtpResponse*, %tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")** %"this.readResponse@vtbl", align 4 ; <void (%tango.net.ftp.FtpClient.FtpResponse*, %tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")*> [#uses=1]
+ call fastcc void %this.readResponse(%tango.net.ftp.FtpClient.FtpResponse* noalias nocapture sret %.rettmp, %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" { i32 3, i8* getelementptr ([4 x i8]* @.str92, i32 0, i32 0) })
+ %tmp14 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp1 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
+ %"this.sendCommand@vtbl15" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp14, i32 0, i32 35 ; <void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]", %"char[][]")**> [#uses=1]
+ %this.sendCommand17 = load void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]", %"char[][]")** %"this.sendCommand@vtbl15", align 4 ; <void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]", %"char[][]")*> [#uses=1]
+ %tmp18 = getelementptr [1 x %"byte[]"]* %__arrayArg130, i32 0, i32 0 ; <%"byte[]"*> [#uses=2]
+ store %"byte[]" %new_path_arg, %"byte[]"* %tmp18, align 8
+ %tmp21 = insertvalue %"char[][]" { i32 1, %"byte[]"* undef }, %"byte[]"* %tmp18, 1 ; <%"char[][]"> [#uses=1]
+ call fastcc void %this.sendCommand17(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" { i32 4, i8* getelementptr ([5 x i8]* @.str93, i32 0, i32 0) }, %"char[][]" %tmp21)
+ %tmp24 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp1 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
+ %"this.readResponse@vtbl25" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp24, i32 0, i32 36 ; <void (%tango.net.ftp.FtpClient.FtpResponse*, %tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")**> [#uses=1]
+ %this.readResponse27 = load void (%tango.net.ftp.FtpClient.FtpResponse*, %tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")** %"this.readResponse@vtbl25", align 4 ; <void (%tango.net.ftp.FtpClient.FtpResponse*, %tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")*> [#uses=1]
+ call fastcc void %this.readResponse27(%tango.net.ftp.FtpClient.FtpResponse* noalias nocapture sret %.rettmp28, %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" { i32 3, i8* getelementptr ([4 x i8]* @.str94, i32 0, i32 0) })
+ ret void
+}
+
+define fastcc i32 @_D5tango3net3ftp9FtpClient13FTPConnection5existMFAaZi(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" %file_arg) {
+entry:
+ %.rettmp = alloca %tango.net.ftp.FtpClient.FtpFileInfo, align 8 ; <%tango.net.ftp.FtpClient.FtpFileInfo*> [#uses=2]
+ %tmp9 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 0 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl**> [#uses=1]
+ %tmp10 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp9 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
+ %"this.getFileInfo@vtbl" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp10, i32 0, i32 52 ; <void (%tango.net.ftp.FtpClient.FtpFileInfo*, %tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")**> [#uses=1]
+ %this.getFileInfo = load void (%tango.net.ftp.FtpClient.FtpFileInfo*, %tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")** %"this.getFileInfo@vtbl", align 4 ; <void (%tango.net.ftp.FtpClient.FtpFileInfo*, %tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")*> [#uses=1]
+ invoke fastcc void %this.getFileInfo(%tango.net.ftp.FtpClient.FtpFileInfo* noalias nocapture sret %.rettmp, %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" %file_arg)
+ to label %postinvoke unwind label %landingpad
+
+postinvoke: ; preds = %entry
+ %.rettmp.1 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %.rettmp, i32 0, i32 1 ; <i32*> [#uses=1]
+ %tmp40 = load i32* %.rettmp.1, align 8 ; <i32> [#uses=2]
+ switch i32 %tmp40, label %oror27 [
+ i32 1, label %if18
+ i32 4, label %if33.critedge37
+ i32 2, label %if33.critedge
+ ]
+
+if18: ; preds = %postinvoke
+ ret i32 1
+
+oror27: ; preds = %postinvoke
+ %tmp31 = icmp eq i32 %tmp40, 3 ; <i1> [#uses=1]
+ %retval = select i1 %tmp31, i32 2, i32 0 ; <i32> [#uses=1]
+ ret i32 %retval
+
+if33.critedge: ; preds = %postinvoke
+ ret i32 2
+
+if33.critedge37: ; preds = %postinvoke
+ ret i32 2
+
+landingpad: ; preds = %entry
+ %0 = call i8* @llvm.eh.exception() ; <i8*> [#uses=3]
+ %1 = call i32 (i8*, i8*, ...)* @llvm.eh.selector.i32(i8* %0, i8* bitcast (i32 (i32, i32, i64, i8*, i8*)* @_d_eh_personality to i8*), %object.ClassInfo* @_D5tango3net3ftp9FtpClient12FtpException7__ClassZ) ; <i32> [#uses=1]
+ %cond = icmp eq i32 %1, 1 ; <i1> [#uses=1]
+ br i1 %cond, label %catch, label %switchdefault
+
+catch: ; preds = %landingpad
+ %tmp3 = getelementptr i8* %0, i32 36 ; <i8*> [#uses=1]
+ %tmp4 = insertvalue %"byte[]" { i32 3, i8* undef }, i8* %tmp3, 1 ; <%"byte[]"> [#uses=1]
+ %tmp5 = call i32 @_adEq(%"byte[]" %tmp4, %"byte[]" { i32 3, i8* getelementptr ([4 x i8]* @.str95, i32 0, i32 0) }, %object.TypeInfo* @_D11TypeInfo_Aa6__initZ) readonly ; <i32> [#uses=0]
+ ret i32 0
+
+switchdefault: ; preds = %landingpad
+ call void @_d_eh_resume_unwind(i8* %0)
+ unreachable
+}
+
+define fastcc i32 @_D5tango3net3ftp9FtpClient13FTPConnection4sizeMFAaE5tango3net3ftp9FtpClient9FtpFormatZk(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" %path_arg, i32 %format_arg) {
+entry:
+ %__arrayArg131 = alloca [1 x %"byte[]"], align 8 ; <[1 x %"byte[]"]*> [#uses=1]
+ %.rettmp = alloca %tango.net.ftp.FtpClient.FtpResponse, align 8 ; <%tango.net.ftp.FtpClient.FtpResponse*> [#uses=3]
+ %tmp1 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 0 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl**> [#uses=3]
+ %tmp2 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp1 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
+ %"this.type@vtbl" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp2, i32 0, i32 29 ; <void (%tango.net.ftp.FtpClient.FTPConnection*, i32)**> [#uses=1]
+ %this.type = load void (%tango.net.ftp.FtpClient.FTPConnection*, i32)** %"this.type@vtbl", align 4 ; <void (%tango.net.ftp.FtpClient.FTPConnection*, i32)*> [#uses=1]
+ call fastcc void %this.type(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 %format_arg)
+ %tmp7 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp1 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
+ %"this.sendCommand@vtbl" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp7, i32 0, i32 35 ; <void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]", %"char[][]")**> [#uses=1]
+ %this.sendCommand = load void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]", %"char[][]")** %"this.sendCommand@vtbl", align 4 ; <void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]", %"char[][]")*> [#uses=1]
+ %tmp9 = getelementptr [1 x %"byte[]"]* %__arrayArg131, i32 0, i32 0 ; <%"byte[]"*> [#uses=2]
+ store %"byte[]" %path_arg, %"byte[]"* %tmp9, align 8
+ %tmp12 = insertvalue %"char[][]" { i32 1, %"byte[]"* undef }, %"byte[]"* %tmp9, 1 ; <%"char[][]"> [#uses=1]
+ call fastcc void %this.sendCommand(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" { i32 4, i8* getelementptr ([5 x i8]* @.str96, i32 0, i32 0) }, %"char[][]" %tmp12)
+ %tmp15 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp1 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
+ %"this.readResponse@vtbl" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp15, i32 0, i32 36 ; <void (%tango.net.ftp.FtpClient.FtpResponse*, %tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")**> [#uses=1]
+ %this.readResponse = load void (%tango.net.ftp.FtpClient.FtpResponse*, %tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")** %"this.readResponse@vtbl", align 4 ; <void (%tango.net.ftp.FtpClient.FtpResponse*, %tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")*> [#uses=1]
+ call fastcc void %this.readResponse(%tango.net.ftp.FtpClient.FtpResponse* noalias nocapture sret %.rettmp, %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" { i32 3, i8* getelementptr ([4 x i8]* @.str97, i32 0, i32 0) })
+ %.rettmp.1.0 = getelementptr %tango.net.ftp.FtpClient.FtpResponse* %.rettmp, i32 0, i32 1, i32 0 ; <i32*> [#uses=1]
+ %tmp = load i32* %.rettmp.1.0, align 4 ; <i32> [#uses=1]
+ %.rettmp.1.1 = getelementptr %tango.net.ftp.FtpClient.FtpResponse* %.rettmp, i32 0, i32 1, i32 1 ; <i8**> [#uses=1]
+ %tmp54 = load i8** %.rettmp.1.1, align 4 ; <i8*> [#uses=6]
+ br label %whilecond
+
+whilecond: ; preds = %endif, %entry
+ %end_pos.0 = phi i32 [ 0, %entry ], [ %tmp39, %endif ] ; <i32> [#uses=6]
+ %tmp22 = icmp ult i32 %end_pos.0, %tmp ; <i1> [#uses=1]
+ br i1 %tmp22, label %whilebody, label %endwhile
+
+whilebody: ; preds = %whilecond
+ %tmp26 = getelementptr i8* %tmp54, i32 %end_pos.0 ; <i8*> [#uses=1]
+ %tmp27 = load i8* %tmp26 ; <i8> [#uses=1]
+ %tmp27.off = add i8 %tmp27, -48 ; <i8> [#uses=1]
+ %or.cond = icmp ugt i8 %tmp27.off, 9 ; <i1> [#uses=1]
+ br i1 %or.cond, label %endwhile, label %endif
+
+endif: ; preds = %whilebody
+ %tmp39 = add i32 %end_pos.0, 1 ; <i32> [#uses=1]
+ br label %whilecond
+
+endwhile: ; preds = %whilebody, %whilecond
+ %tmp4.i.i = icmp eq i32 %end_pos.0, 0 ; <i1> [#uses=1]
+ br i1 %tmp4.i.i, label %_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit.i, label %forcond.i.i
+
+forcond.i.i: ; preds = %forinc.i.i, %endwhile
+ %sign.1.i = phi i1 [ false, %endwhile ], [ %sign.0.i, %forinc.i.i ] ; <i1> [#uses=4]
+ %len.0.i.i = phi i32 [ %tmp33.i.i, %forinc.i.i ], [ %end_pos.0, %endwhile ] ; <i32> [#uses=3]
+ %p.0.i.i = phi i8* [ %tmp30.i.i, %forinc.i.i ], [ %tmp54, %endwhile ] ; <i8*> [#uses=6]
+ %c.0.in.i.i = phi i8* [ %tmp30.i.i, %forinc.i.i ], [ %tmp54, %endwhile ] ; <i8*> [#uses=1]
+ %c.0.i.i = load i8* %c.0.in.i.i ; <i8> [#uses=2]
+ %tmp8.i.i = icmp eq i32 %len.0.i.i, 0 ; <i1> [#uses=1]
+ br i1 %tmp8.i.i, label %endfor.i.i, label %forbody.i.i
+
+forbody.i.i: ; preds = %forcond.i.i
+ switch i8 %c.0.i.i, label %endfor.i.i [
+ i8 32, label %forinc.i.i
+ i8 9, label %forinc.i.i
+ i8 45, label %if20.i.i
+ i8 43, label %if26.i.i
+ ]
+
+if20.i.i: ; preds = %forbody.i.i
+ br label %forinc.i.i
+
+if26.i.i: ; preds = %forbody.i.i
+ br label %forinc.i.i
+
+forinc.i.i: ; preds = %if26.i.i, %if20.i.i, %forbody.i.i, %forbody.i.i
+ %sign.0.i = phi i1 [ false, %if26.i.i ], [ true, %if20.i.i ], [ %sign.1.i, %forbody.i.i ], [ %sign.1.i, %forbody.i.i ] ; <i1> [#uses=1]
+ %tmp30.i.i = getelementptr i8* %p.0.i.i, i32 1 ; <i8*> [#uses=2]
+ %tmp33.i.i = add i32 %len.0.i.i, -1 ; <i32> [#uses=1]
+ br label %forcond.i.i
+
+endfor.i.i: ; preds = %forbody.i.i, %forcond.i.i
+ %tmp37.i.i = icmp eq i8 %c.0.i.i, 48 ; <i1> [#uses=1]
+ %tmp39.i.i = icmp sgt i32 %len.0.i.i, 1 ; <i1> [#uses=1]
+ %or.cond.i.i = and i1 %tmp37.i.i, %tmp39.i.i ; <i1> [#uses=1]
+ br i1 %or.cond.i.i, label %if40.i.i, label %endif41.i.i
+
+if40.i.i: ; preds = %endfor.i.i
+ %tmp43.i.i = getelementptr i8* %p.0.i.i, i32 1 ; <i8*> [#uses=2]
+ %tmp44.i.i = load i8* %tmp43.i.i ; <i8> [#uses=1]
+ %tmp45.i.i = zext i8 %tmp44.i.i to i32 ; <i32> [#uses=1]
+ switch i32 %tmp45.i.i, label %endif41.i.i [
+ i32 120, label %case46.i.i
+ i32 88, label %case46.i.i
+ i32 98, label %case51.i.i
+ i32 66, label %case51.i.i
+ i32 111, label %case56.i.i
+ i32 79, label %case56.i.i
+ ]
+
+case46.i.i: ; preds = %if40.i.i, %if40.i.i
+ %tmp48.i.i = getelementptr i8* %p.0.i.i, i32 2 ; <i8*> [#uses=1]
+ br label %endif41.i.i
+
+case51.i.i: ; preds = %if40.i.i, %if40.i.i
+ %tmp53.i.i = getelementptr i8* %p.0.i.i, i32 2 ; <i8*> [#uses=1]
+ br label %endif41.i.i
+
+case56.i.i: ; preds = %if40.i.i, %if40.i.i
+ %tmp58.i.i = getelementptr i8* %p.0.i.i, i32 2 ; <i8*> [#uses=1]
+ br label %endif41.i.i
+
+endif41.i.i: ; preds = %case56.i.i, %case51.i.i, %case46.i.i, %if40.i.i, %endfor.i.i
+ %r.0.i.i = phi i32 [ 0, %if40.i.i ], [ 8, %case56.i.i ], [ 2, %case51.i.i ], [ 16, %case46.i.i ], [ 0, %endfor.i.i ] ; <i32> [#uses=2]
+ %p.2.i.i = phi i8* [ %tmp43.i.i, %if40.i.i ], [ %tmp58.i.i, %case56.i.i ], [ %tmp53.i.i, %case51.i.i ], [ %tmp48.i.i, %case46.i.i ], [ %p.0.i.i, %endfor.i.i ] ; <i8*> [#uses=2]
+ %tmp63.i.i = icmp eq i32 %r.0.i.i, 0 ; <i1> [#uses=1]
+ br i1 %tmp63.i.i, label %_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit.i, label %if70.i.i
+
+if70.i.i: ; preds = %endif41.i.i
+ br label %_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit.i
+
+_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit.i: ; preds = %if70.i.i, %endif41.i.i, %endwhile
+ %sign.2.i = phi i1 [ false, %endwhile ], [ %sign.1.i, %if70.i.i ], [ %sign.1.i, %endif41.i.i ] ; <i1> [#uses=1]
+ %radix.0.i = phi i32 [ 0, %endwhile ], [ %r.0.i.i, %if70.i.i ], [ 10, %endif41.i.i ] ; <i32> [#uses=2]
+ %p.1.i.i = phi i8* [ %p.2.i.i, %if70.i.i ], [ %tmp54, %endwhile ], [ %p.2.i.i, %endif41.i.i ] ; <i8*> [#uses=1]
+ %tmp84.i.i = ptrtoint i8* %p.1.i.i to i32 ; <i32> [#uses=1]
+ %tmp85.i.i = ptrtoint i8* %tmp54 to i32 ; <i32> [#uses=1]
+ %tmp86.i.i = sub i32 %tmp84.i.i, %tmp85.i.i ; <i32> [#uses=2]
+ %tmp6.i = sub i32 %end_pos.0, %tmp86.i.i ; <i32> [#uses=1]
+ br label %foreachcond.i.i
+
+foreachcond.i.i: ; preds = %if55.i.i, %_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit.i
+ %value.0.i.i = phi i64 [ 0, %_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit.i ], [ %tmp65.i.i, %if55.i.i ] ; <i64> [#uses=3]
+ %foreachkey.0.i.i = phi i32 [ 0, %_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit.i ], [ %tmp70.i.i, %if55.i.i ] ; <i32> [#uses=3]
+ %tmp3.i.i = icmp ult i32 %foreachkey.0.i.i, %tmp6.i ; <i1> [#uses=1]
+ br i1 %tmp3.i.i, label %foreachbody.i.i, label %_D5tango4text7convert7Integer12__T5parseTaZ5parseFAakPkZl.exit
+
+foreachbody.i.i: ; preds = %foreachcond.i.i
+ %tmp5.sum.i = add i32 %tmp86.i.i, %foreachkey.0.i.i ; <i32> [#uses=1]
+ %tmp5.i.i = getelementptr i8* %tmp54, i32 %tmp5.sum.i ; <i8*> [#uses=1]
+ %tmp6.i.i = load i8* %tmp5.i.i ; <i8> [#uses=6]
+ %tmp6.off84.i.i = add i8 %tmp6.i.i, -48 ; <i8> [#uses=1]
+ %or.cond.i28.i = icmp ugt i8 %tmp6.off84.i.i, 9 ; <i1> [#uses=1]
+ br i1 %or.cond.i28.i, label %else.i.i, label %endif.i.i
+
+else.i.i: ; preds = %foreachbody.i.i
+ %tmp6.off83.i.i = add i8 %tmp6.i.i, -97 ; <i8> [#uses=1]
+ %or.cond81.i.i = icmp ugt i8 %tmp6.off83.i.i, 25 ; <i1> [#uses=1]
+ br i1 %or.cond81.i.i, label %else24.i.i, label %if22.i.i
+
+if22.i.i: ; preds = %else.i.i
+ %tmp27.i.i = add i8 %tmp6.i.i, -39 ; <i8> [#uses=1]
+ br label %endif.i.i
+
+else24.i.i: ; preds = %else.i.i
+ %tmp6.off.i.i = add i8 %tmp6.i.i, -65 ; <i8> [#uses=1]
+ %or.cond82.i.i = icmp ugt i8 %tmp6.off.i.i, 25 ; <i1> [#uses=1]
+ br i1 %or.cond82.i.i, label %_D5tango4text7convert7Integer12__T5parseTaZ5parseFAakPkZl.exit, label %if39.i.i
+
+if39.i.i: ; preds = %else24.i.i
+ %tmp44.i29.i = add i8 %tmp6.i.i, -7 ; <i8> [#uses=1]
+ br label %endif.i.i
+
+endif.i.i: ; preds = %if39.i.i, %if22.i.i, %foreachbody.i.i
+ %c.0.i30.i = phi i8 [ %tmp27.i.i, %if22.i.i ], [ %tmp44.i29.i, %if39.i.i ], [ %tmp6.i.i, %foreachbody.i.i ] ; <i8> [#uses=1]
+ %tmp48.i31.i = zext i8 %c.0.i30.i to i32 ; <i32> [#uses=1]
+ %tmp49.i.i = add i32 %tmp48.i31.i, 208 ; <i32> [#uses=1]
+ %tmp52.i.i = and i32 %tmp49.i.i, 255 ; <i32> [#uses=2]
+ %tmp54.i.i = icmp ult i32 %tmp52.i.i, %radix.0.i ; <i1> [#uses=1]
+ br i1 %tmp54.i.i, label %if55.i.i, label %_D5tango4text7convert7Integer12__T5parseTaZ5parseFAakPkZl.exit
+
+if55.i.i: ; preds = %endif.i.i
+ %tmp59.i.i = zext i32 %radix.0.i to i64 ; <i64> [#uses=1]
+ %tmp61.i.i = mul i64 %value.0.i.i, %tmp59.i.i ; <i64> [#uses=1]
+ %tmp64.i.i = zext i32 %tmp52.i.i to i64 ; <i64> [#uses=1]
+ %tmp65.i.i = add i64 %tmp61.i.i, %tmp64.i.i ; <i64> [#uses=1]
+ %tmp70.i.i = add i32 %foreachkey.0.i.i, 1 ; <i32> [#uses=1]
+ br label %foreachcond.i.i
+
+_D5tango4text7convert7Integer12__T5parseTaZ5parseFAakPkZl.exit: ; preds = %endif.i.i, %else24.i.i, %foreachcond.i.i
+ %negval.i = sub i64 0, %value.0.i.i ; <i64> [#uses=1]
+ %condtmp.0.i = select i1 %sign.2.i, i64 %negval.i, i64 %value.0.i.i ; <i64> [#uses=1]
+ %tmp49 = trunc i64 %condtmp.0.i to i32 ; <i32> [#uses=1]
+ ret i32 %tmp49
+}
+
+define fastcc void @_D5tango3net3ftp9FtpClient13FTPConnection4typeMFE5tango3net3ftp9FtpClient9FtpFormatZv(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 %format_arg) {
+entry:
+ %__arrayArg132 = alloca [1 x %"byte[]"], align 8 ; <[1 x %"byte[]"]*> [#uses=1]
+ %__arrayArg133 = alloca [1 x %"byte[]"], align 8 ; <[1 x %"byte[]"]*> [#uses=1]
+ %.rettmp = alloca %tango.net.ftp.FtpClient.FtpResponse, align 8 ; <%tango.net.ftp.FtpClient.FtpResponse*> [#uses=1]
+ %tmp1 = icmp eq i32 %format_arg, 0 ; <i1> [#uses=1]
+ %tmp3 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 0 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl**> [#uses=2]
+ %tmp4 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp3 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
+ %"this.sendCommand@vtbl" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp4, i32 0, i32 35 ; <void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]", %"char[][]")**> [#uses=1]
+ %this.sendCommand = load void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]", %"char[][]")** %"this.sendCommand@vtbl", align 4 ; <void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]", %"char[][]")*> [#uses=2]
+ br i1 %tmp1, label %if, label %else
+
+if: ; preds = %entry
+ %tmp6 = getelementptr [1 x %"byte[]"]* %__arrayArg132, i32 0, i32 0 ; <%"byte[]"*> [#uses=2]
+ store %"byte[]" { i32 1, i8* getelementptr ([2 x i8]* @.str99, i32 0, i32 0) }, %"byte[]"* %tmp6, align 8
+ %tmp8 = insertvalue %"char[][]" { i32 1, %"byte[]"* undef }, %"byte[]"* %tmp6, 1 ; <%"char[][]"> [#uses=1]
+ call fastcc void %this.sendCommand(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" { i32 4, i8* getelementptr ([5 x i8]* @.str98, i32 0, i32 0) }, %"char[][]" %tmp8)
+ br label %endif
+
+else: ; preds = %entry
+ %tmp15 = getelementptr [1 x %"byte[]"]* %__arrayArg133, i32 0, i32 0 ; <%"byte[]"*> [#uses=2]
+ store %"byte[]" { i32 1, i8* getelementptr ([2 x i8]* @.str101, i32 0, i32 0) }, %"byte[]"* %tmp15, align 8
+ %tmp17 = insertvalue %"char[][]" { i32 1, %"byte[]"* undef }, %"byte[]"* %tmp15, 1 ; <%"char[][]"> [#uses=1]
+ call fastcc void %this.sendCommand(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" { i32 4, i8* getelementptr ([5 x i8]* @.str100, i32 0, i32 0) }, %"char[][]" %tmp17)
+ br label %endif
+
+endif: ; preds = %else, %if
+ %tmp20 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp3 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
+ %"this.readResponse@vtbl" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp20, i32 0, i32 36 ; <void (%tango.net.ftp.FtpClient.FtpResponse*, %tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")**> [#uses=1]
+ %this.readResponse = load void (%tango.net.ftp.FtpClient.FtpResponse*, %tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")** %"this.readResponse@vtbl", align 4 ; <void (%tango.net.ftp.FtpClient.FtpResponse*, %tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")*> [#uses=1]
+ call fastcc void %this.readResponse(%tango.net.ftp.FtpClient.FtpResponse* noalias nocapture sret %.rettmp, %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" { i32 3, i8* getelementptr ([4 x i8]* @.str102, i32 0, i32 0) })
+ ret void
+}
+
+define fastcc void @_D5tango3net3ftp9FtpClient13FTPConnection8modifiedMFAaZS5tango4time4Time4Time(%tango.time.Time.Time* noalias nocapture sret %.sret_arg, %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" %file_arg) {
+entry:
+ %__arrayArg134 = alloca [1 x %"byte[]"], align 8 ; <[1 x %"byte[]"]*> [#uses=1]
+ %.rettmp = alloca %tango.net.ftp.FtpClient.FtpResponse, align 8 ; <%tango.net.ftp.FtpClient.FtpResponse*> [#uses=3]
+ %.rettmp18 = alloca %tango.time.Time.Time, align 8 ; <%tango.time.Time.Time*> [#uses=2]
+ %tmp1 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 0 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl**> [#uses=3]
+ %tmp2 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp1 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
+ %"this.sendCommand@vtbl" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp2, i32 0, i32 35 ; <void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]", %"char[][]")**> [#uses=1]
+ %this.sendCommand = load void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]", %"char[][]")** %"this.sendCommand@vtbl", align 4 ; <void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]", %"char[][]")*> [#uses=1]
+ %tmp4 = getelementptr [1 x %"byte[]"]* %__arrayArg134, i32 0, i32 0 ; <%"byte[]"*> [#uses=2]
+ store %"byte[]" %file_arg, %"byte[]"* %tmp4, align 8
+ %tmp7 = insertvalue %"char[][]" { i32 1, %"byte[]"* undef }, %"byte[]"* %tmp4, 1 ; <%"char[][]"> [#uses=1]
+ call fastcc void %this.sendCommand(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" { i32 4, i8* getelementptr ([5 x i8]* @.str103, i32 0, i32 0) }, %"char[][]" %tmp7)
+ %tmp10 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp1 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
+ %"this.readResponse@vtbl" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp10, i32 0, i32 36 ; <void (%tango.net.ftp.FtpClient.FtpResponse*, %tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")**> [#uses=1]
+ %this.readResponse = load void (%tango.net.ftp.FtpClient.FtpResponse*, %tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")** %"this.readResponse@vtbl", align 4 ; <void (%tango.net.ftp.FtpClient.FtpResponse*, %tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")*> [#uses=1]
+ call fastcc void %this.readResponse(%tango.net.ftp.FtpClient.FtpResponse* noalias nocapture sret %.rettmp, %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" { i32 3, i8* getelementptr ([4 x i8]* @.str104, i32 0, i32 0) })
+ %.rettmp.1.0 = getelementptr %tango.net.ftp.FtpClient.FtpResponse* %.rettmp, i32 0, i32 1, i32 0 ; <i32*> [#uses=1]
+ %tmp = load i32* %.rettmp.1.0, align 4 ; <i32> [#uses=1]
+ %.rettmp.1.1 = getelementptr %tango.net.ftp.FtpClient.FtpResponse* %.rettmp, i32 0, i32 1, i32 1 ; <i8**> [#uses=1]
+ %tmp27 = load i8** %.rettmp.1.1, align 4 ; <i8*> [#uses=1]
+ %tmp16 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp1 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
+ %"this.parseTimeval@vtbl" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp16, i32 0, i32 31 ; <void (%tango.time.Time.Time*, %tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")**> [#uses=1]
+ %this.parseTimeval = load void (%tango.time.Time.Time*, %tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")** %"this.parseTimeval@vtbl", align 4 ; <void (%tango.time.Time.Time*, %tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")*> [#uses=1]
+ %insert = insertvalue %"byte[]" undef, i32 %tmp, 0 ; <%"byte[]"> [#uses=1]
+ %insert29 = insertvalue %"byte[]" %insert, i8* %tmp27, 1 ; <%"byte[]"> [#uses=1]
+ call fastcc void %this.parseTimeval(%tango.time.Time.Time* noalias nocapture sret %.rettmp18, %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" %insert29)
+ %tmp2234 = getelementptr %tango.time.Time.Time* %.rettmp18, i32 0, i32 0 ; <i64*> [#uses=1]
+ %tmp36 = load i64* %tmp2234, align 8 ; <i64> [#uses=1]
+ %0 = getelementptr %tango.time.Time.Time* %.sret_arg, i32 0, i32 0 ; <i64*> [#uses=1]
+ store i64 %tmp36, i64* %0
+ ret void
+}
+
+define fastcc void @_D5tango3net3ftp9FtpClient13FTPConnection12parseTimevalMFAaZS5tango4time4Time4Time(%tango.time.Time.Time* noalias nocapture sret %.sret_arg, %tango.net.ftp.FtpClient.FTPConnection* nocapture %.this_arg, %"byte[]" %timeval_arg) {
+entry:
+ %.rettmp = alloca %tango.time.Time.Time, align 8 ; <%tango.time.Time.Time*> [#uses=2]
+ %timeval_arg43 = extractvalue %"byte[]" %timeval_arg, 0 ; <i32> [#uses=1]
+ %timeval_arg44 = extractvalue %"byte[]" %timeval_arg, 1 ; <i8*> [#uses=6]
+ %tmp1 = icmp ult i32 %timeval_arg43, 14 ; <i1> [#uses=1]
+ br i1 %tmp1, label %if, label %endif
+
+if: ; preds = %entry
+ %.newclass_gc_alloc = call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango3net3ftp9FtpClient12FtpException7__ClassZ) ; <i8*> [#uses=6]
+ %vtbl = bitcast i8* %.newclass_gc_alloc to %tango.net.ftp.FtpClient.FtpException.__vtbl** ; <%tango.net.ftp.FtpClient.FtpException.__vtbl**> [#uses=1]
+ store %tango.net.ftp.FtpClient.FtpException.__vtbl* @_D5tango3net3ftp9FtpClient12FtpException6__vtblZ, %tango.net.ftp.FtpClient.FtpException.__vtbl** %vtbl
+ %monitor = getelementptr i8* %.newclass_gc_alloc, i32 4 ; <i8*> [#uses=1]
+ %0 = bitcast i8* %monitor to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %0
+ %tmp2 = getelementptr i8* %.newclass_gc_alloc, i32 8 ; <i8*> [#uses=1]
+ call void @llvm.memcpy.i32(i8* %tmp2, i8* bitcast (%"byte[]"* getelementptr (%tango.net.ftp.FtpClient.FtpException* @_D5tango3net3ftp9FtpClient12FtpException6__initZ, i32 0, i32 2) to i8*), i32 31, i32 1)
+ %tmp2.i = getelementptr i8* %.newclass_gc_alloc, i32 36 ; <i8*> [#uses=1]
+ call void @llvm.memcpy.i32(i8* %tmp2.i, i8* getelementptr ([4 x i8]* @.str106, i32 0, i32 0), i32 3, i32 1)
+ %tmp5.i = bitcast i8* %.newclass_gc_alloc to %object.Exception* ; <%object.Exception*> [#uses=1]
+ %tmp7.i = call fastcc %object.Exception* @_D6object9Exception5_ctorMFAaC9ExceptionZC9Exception(%object.Exception* %tmp5.i, %"byte[]" { i32 31, i8* getelementptr ([32 x i8]* @.str105, i32 0, i32 0) }, %object.Exception* null) ; <%object.Exception*> [#uses=0]
+ %tmp7 = bitcast i8* %.newclass_gc_alloc to %object.Object* ; <%object.Object*> [#uses=1]
+ call void @_d_throw_exception(%object.Object* %tmp7)
+ unreachable
+
+endif: ; preds = %entry
+ %1 = load %tango.time.chrono.Gregorian.Gregorian** @_D5tango4time6chrono9Gregorian9Gregorian7genericC5tango4time6chrono9Gregorian9Gregorian ; <%tango.time.chrono.Gregorian.Gregorian*> [#uses=2]
+ %tmp8 = bitcast %tango.time.chrono.Gregorian.Gregorian* %1 to %tango.time.chrono.Calendar.Calendar* ; <%tango.time.chrono.Calendar.Calendar*> [#uses=1]
+ %tmp9 = bitcast %tango.time.chrono.Gregorian.Gregorian* %1 to %tango.time.chrono.Calendar.Calendar.__vtbl** ; <%tango.time.chrono.Calendar.Calendar.__vtbl**> [#uses=1]
+ %tmp10 = load %tango.time.chrono.Calendar.Calendar.__vtbl** %tmp9 ; <%tango.time.chrono.Calendar.Calendar.__vtbl*> [#uses=1]
+ %"generic.toTime@vtbl" = getelementptr %tango.time.chrono.Calendar.Calendar.__vtbl* %tmp10, i32 0, i32 7 ; <void (%tango.time.Time.Time*, %tango.time.chrono.Calendar.Calendar*, i32, i32, i32, i32, i32, i32, i32)**> [#uses=1]
+ %generic.toTime = load void (%tango.time.Time.Time*, %tango.time.chrono.Calendar.Calendar*, i32, i32, i32, i32, i32, i32, i32)** %"generic.toTime@vtbl", align 4 ; <void (%tango.time.Time.Time*, %tango.time.chrono.Calendar.Calendar*, i32, i32, i32, i32, i32, i32, i32)*> [#uses=1]
+ br label %foreachcond.i
+
+foreachcond.i: ; preds = %if.i, %endif
+ %value.0.i = phi i32 [ 0, %endif ], [ %tmp19.i, %if.i ] ; <i32> [#uses=2]
+ %foreachkey.0.i = phi i32 [ 0, %endif ], [ %tmp21.i, %if.i ] ; <i32> [#uses=3]
+ %tmp3.i = icmp ult i32 %foreachkey.0.i, 4 ; <i1> [#uses=1]
+ br i1 %tmp3.i, label %foreachbody.i, label %foreachcond.i125
+
+foreachbody.i: ; preds = %foreachcond.i
+ %tmp5.i47 = getelementptr i8* %timeval_arg44, i32 %foreachkey.0.i ; <i8*> [#uses=1]
+ %tmp6.i = load i8* %tmp5.i47 ; <i8> [#uses=2]
+ %tmp6.off.i = add i8 %tmp6.i, -48 ; <i8> [#uses=1]
+ %or.cond.i = icmp ugt i8 %tmp6.off.i, 9 ; <i1> [#uses=1]
+ br i1 %or.cond.i, label %foreachcond.i125, label %if.i
+
+if.i: ; preds = %foreachbody.i
+ %tmp15.i = mul i32 %value.0.i, 10 ; <i32> [#uses=1]
+ %tmp17.i = zext i8 %tmp6.i to i32 ; <i32> [#uses=1]
+ %tmp18.i = add i32 %tmp17.i, -48 ; <i32> [#uses=1]
+ %tmp19.i = add i32 %tmp15.i, %tmp18.i ; <i32> [#uses=1]
+ %tmp21.i = add i32 %foreachkey.0.i, 1 ; <i32> [#uses=1]
+ br label %foreachcond.i
+
+foreachcond.i125: ; preds = %if.i136, %foreachbody.i, %foreachcond.i
+ %value.0.i122 = phi i32 [ %tmp19.i134, %if.i136 ], [ 0, %foreachcond.i ], [ 0, %foreachbody.i ] ; <i32> [#uses=2]
+ %foreachkey.0.i123 = phi i32 [ %tmp21.i135, %if.i136 ], [ 0, %foreachcond.i ], [ 0, %foreachbody.i ] ; <i32> [#uses=3]
+ %tmp3.i124 = icmp ult i32 %foreachkey.0.i123, 2 ; <i1> [#uses=1]
+ br i1 %tmp3.i124, label %foreachbody.i130, label %foreachcond.i107
+
+foreachbody.i130: ; preds = %foreachcond.i125
+ %tmp18.sum = add i32 %foreachkey.0.i123, 4 ; <i32> [#uses=1]
+ %tmp5.i126 = getelementptr i8* %timeval_arg44, i32 %tmp18.sum ; <i8*> [#uses=1]
+ %tmp6.i127 = load i8* %tmp5.i126 ; <i8> [#uses=2]
+ %tmp6.off.i128 = add i8 %tmp6.i127, -48 ; <i8> [#uses=1]
+ %or.cond.i129 = icmp ugt i8 %tmp6.off.i128, 9 ; <i1> [#uses=1]
+ br i1 %or.cond.i129, label %foreachcond.i107, label %if.i136
+
+if.i136: ; preds = %foreachbody.i130
+ %tmp15.i131 = mul i32 %value.0.i122, 10 ; <i32> [#uses=1]
+ %tmp17.i132 = zext i8 %tmp6.i127 to i32 ; <i32> [#uses=1]
+ %tmp18.i133 = add i32 %tmp17.i132, -48 ; <i32> [#uses=1]
+ %tmp19.i134 = add i32 %tmp15.i131, %tmp18.i133 ; <i32> [#uses=1]
+ %tmp21.i135 = add i32 %foreachkey.0.i123, 1 ; <i32> [#uses=1]
+ br label %foreachcond.i125
+
+foreachcond.i107: ; preds = %if.i118, %foreachbody.i130, %foreachcond.i125
+ %value.0.i104 = phi i32 [ %tmp19.i116, %if.i118 ], [ 0, %foreachcond.i125 ], [ 0, %foreachbody.i130 ] ; <i32> [#uses=2]
+ %foreachkey.0.i105 = phi i32 [ %tmp21.i117, %if.i118 ], [ 0, %foreachcond.i125 ], [ 0, %foreachbody.i130 ] ; <i32> [#uses=3]
+ %tmp3.i106 = icmp ult i32 %foreachkey.0.i105, 2 ; <i1> [#uses=1]
+ br i1 %tmp3.i106, label %foreachbody.i112, label %foreachcond.i89
+
+foreachbody.i112: ; preds = %foreachcond.i107
+ %tmp23.sum = add i32 %foreachkey.0.i105, 6 ; <i32> [#uses=1]
+ %tmp5.i108 = getelementptr i8* %timeval_arg44, i32 %tmp23.sum ; <i8*> [#uses=1]
+ %tmp6.i109 = load i8* %tmp5.i108 ; <i8> [#uses=2]
+ %tmp6.off.i110 = add i8 %tmp6.i109, -48 ; <i8> [#uses=1]
+ %or.cond.i111 = icmp ugt i8 %tmp6.off.i110, 9 ; <i1> [#uses=1]
+ br i1 %or.cond.i111, label %foreachcond.i89, label %if.i118
+
+if.i118: ; preds = %foreachbody.i112
+ %tmp15.i113 = mul i32 %value.0.i104, 10 ; <i32> [#uses=1]
+ %tmp17.i114 = zext i8 %tmp6.i109 to i32 ; <i32> [#uses=1]
+ %tmp18.i115 = add i32 %tmp17.i114, -48 ; <i32> [#uses=1]
+ %tmp19.i116 = add i32 %tmp15.i113, %tmp18.i115 ; <i32> [#uses=1]
+ %tmp21.i117 = add i32 %foreachkey.0.i105, 1 ; <i32> [#uses=1]
+ br label %foreachcond.i107
+
+foreachcond.i89: ; preds = %if.i100, %foreachbody.i112, %foreachcond.i107
+ %value.0.i86 = phi i32 [ %tmp19.i98, %if.i100 ], [ 0, %foreachcond.i107 ], [ 0, %foreachbody.i112 ] ; <i32> [#uses=2]
+ %foreachkey.0.i87 = phi i32 [ %tmp21.i99, %if.i100 ], [ 0, %foreachcond.i107 ], [ 0, %foreachbody.i112 ] ; <i32> [#uses=3]
+ %tmp3.i88 = icmp ult i32 %foreachkey.0.i87, 2 ; <i1> [#uses=1]
+ br i1 %tmp3.i88, label %foreachbody.i94, label %foreachcond.i71
+
+foreachbody.i94: ; preds = %foreachcond.i89
+ %tmp28.sum = add i32 %foreachkey.0.i87, 8 ; <i32> [#uses=1]
+ %tmp5.i90 = getelementptr i8* %timeval_arg44, i32 %tmp28.sum ; <i8*> [#uses=1]
+ %tmp6.i91 = load i8* %tmp5.i90 ; <i8> [#uses=2]
+ %tmp6.off.i92 = add i8 %tmp6.i91, -48 ; <i8> [#uses=1]
+ %or.cond.i93 = icmp ugt i8 %tmp6.off.i92, 9 ; <i1> [#uses=1]
+ br i1 %or.cond.i93, label %foreachcond.i71, label %if.i100
+
+if.i100: ; preds = %foreachbody.i94
+ %tmp15.i95 = mul i32 %value.0.i86, 10 ; <i32> [#uses=1]
+ %tmp17.i96 = zext i8 %tmp6.i91 to i32 ; <i32> [#uses=1]
+ %tmp18.i97 = add i32 %tmp17.i96, -48 ; <i32> [#uses=1]
+ %tmp19.i98 = add i32 %tmp15.i95, %tmp18.i97 ; <i32> [#uses=1]
+ %tmp21.i99 = add i32 %foreachkey.0.i87, 1 ; <i32> [#uses=1]
+ br label %foreachcond.i89
+
+foreachcond.i71: ; preds = %if.i82, %foreachbody.i94, %foreachcond.i89
+ %value.0.i68 = phi i32 [ %tmp19.i80, %if.i82 ], [ 0, %foreachcond.i89 ], [ 0, %foreachbody.i94 ] ; <i32> [#uses=2]
+ %foreachkey.0.i69 = phi i32 [ %tmp21.i81, %if.i82 ], [ 0, %foreachcond.i89 ], [ 0, %foreachbody.i94 ] ; <i32> [#uses=3]
+ %tmp3.i70 = icmp ult i32 %foreachkey.0.i69, 2 ; <i1> [#uses=1]
+ br i1 %tmp3.i70, label %foreachbody.i76, label %foreachcond.i53
+
+foreachbody.i76: ; preds = %foreachcond.i71
+ %tmp33.sum = add i32 %foreachkey.0.i69, 10 ; <i32> [#uses=1]
+ %tmp5.i72 = getelementptr i8* %timeval_arg44, i32 %tmp33.sum ; <i8*> [#uses=1]
+ %tmp6.i73 = load i8* %tmp5.i72 ; <i8> [#uses=2]
+ %tmp6.off.i74 = add i8 %tmp6.i73, -48 ; <i8> [#uses=1]
+ %or.cond.i75 = icmp ugt i8 %tmp6.off.i74, 9 ; <i1> [#uses=1]
+ br i1 %or.cond.i75, label %foreachcond.i53, label %if.i82
+
+if.i82: ; preds = %foreachbody.i76
+ %tmp15.i77 = mul i32 %value.0.i68, 10 ; <i32> [#uses=1]
+ %tmp17.i78 = zext i8 %tmp6.i73 to i32 ; <i32> [#uses=1]
+ %tmp18.i79 = add i32 %tmp17.i78, -48 ; <i32> [#uses=1]
+ %tmp19.i80 = add i32 %tmp15.i77, %tmp18.i79 ; <i32> [#uses=1]
+ %tmp21.i81 = add i32 %foreachkey.0.i69, 1 ; <i32> [#uses=1]
+ br label %foreachcond.i71
+
+foreachcond.i53: ; preds = %if.i64, %foreachbody.i76, %foreachcond.i71
+ %value.0.i50 = phi i32 [ %tmp19.i62, %if.i64 ], [ 0, %foreachcond.i71 ], [ 0, %foreachbody.i76 ] ; <i32> [#uses=2]
+ %foreachkey.0.i51 = phi i32 [ %tmp21.i63, %if.i64 ], [ 0, %foreachcond.i71 ], [ 0, %foreachbody.i76 ] ; <i32> [#uses=3]
+ %tmp3.i52 = icmp ult i32 %foreachkey.0.i51, 2 ; <i1> [#uses=1]
+ br i1 %tmp3.i52, label %foreachbody.i58, label %_D5tango4text7convert7Integer11__T4atoiTaZ4atoiFAaiZk.exit65
+
+foreachbody.i58: ; preds = %foreachcond.i53
+ %tmp38.sum = add i32 %foreachkey.0.i51, 12 ; <i32> [#uses=1]
+ %tmp5.i54 = getelementptr i8* %timeval_arg44, i32 %tmp38.sum ; <i8*> [#uses=1]
+ %tmp6.i55 = load i8* %tmp5.i54 ; <i8> [#uses=2]
+ %tmp6.off.i56 = add i8 %tmp6.i55, -48 ; <i8> [#uses=1]
+ %or.cond.i57 = icmp ugt i8 %tmp6.off.i56, 9 ; <i1> [#uses=1]
+ br i1 %or.cond.i57, label %_D5tango4text7convert7Integer11__T4atoiTaZ4atoiFAaiZk.exit65, label %if.i64
+
+if.i64: ; preds = %foreachbody.i58
+ %tmp15.i59 = mul i32 %value.0.i50, 10 ; <i32> [#uses=1]
+ %tmp17.i60 = zext i8 %tmp6.i55 to i32 ; <i32> [#uses=1]
+ %tmp18.i61 = add i32 %tmp17.i60, -48 ; <i32> [#uses=1]
+ %tmp19.i62 = add i32 %tmp15.i59, %tmp18.i61 ; <i32> [#uses=1]
+ %tmp21.i63 = add i32 %foreachkey.0.i51, 1 ; <i32> [#uses=1]
+ br label %foreachcond.i53
+
+_D5tango4text7convert7Integer11__T4atoiTaZ4atoiFAaiZk.exit65: ; preds = %foreachbody.i58, %foreachcond.i53
+ call fastcc void %generic.toTime(%tango.time.Time.Time* noalias nocapture sret %.rettmp, %tango.time.chrono.Calendar.Calendar* %tmp8, i32 %value.0.i, i32 %value.0.i122, i32 %value.0.i104, i32 %value.0.i86, i32 %value.0.i68, i32 %value.0.i50, i32 0)
+ %tmp4245 = getelementptr %tango.time.Time.Time* %.rettmp, i32 0, i32 0 ; <i64*> [#uses=1]
+ %tmp = load i64* %tmp4245, align 8 ; <i64> [#uses=1]
+ %2 = getelementptr %tango.time.Time.Time* %.sret_arg, i32 0, i32 0 ; <i64*> [#uses=1]
+ store i64 %tmp, i64* %2
+ ret void
+}
+
+define fastcc void @_D5tango3net3ftp9FtpClient13FTPConnection4noopMFZv(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg) {
+entry:
+ %.rettmp = alloca %tango.net.ftp.FtpClient.FtpResponse, align 8 ; <%tango.net.ftp.FtpClient.FtpResponse*> [#uses=1]
+ %tmp1 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 0 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl**> [#uses=2]
+ %tmp2 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp1 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
+ %"this.sendCommand@vtbl" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp2, i32 0, i32 35 ; <void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]", %"char[][]")**> [#uses=1]
+ %this.sendCommand = load void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]", %"char[][]")** %"this.sendCommand@vtbl", align 4 ; <void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]", %"char[][]")*> [#uses=1]
+ call fastcc void %this.sendCommand(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" { i32 4, i8* getelementptr ([5 x i8]* @.str109, i32 0, i32 0) }, %"char[][]" zeroinitializer)
+ %tmp6 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp1 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
+ %"this.readResponse@vtbl" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp6, i32 0, i32 36 ; <void (%tango.net.ftp.FtpClient.FtpResponse*, %tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")**> [#uses=1]
+ %this.readResponse = load void (%tango.net.ftp.FtpClient.FtpResponse*, %tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")** %"this.readResponse@vtbl", align 4 ; <void (%tango.net.ftp.FtpClient.FtpResponse*, %tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")*> [#uses=1]
+ call fastcc void %this.readResponse(%tango.net.ftp.FtpClient.FtpResponse* noalias nocapture sret %.rettmp, %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" { i32 3, i8* getelementptr ([4 x i8]* @.str110, i32 0, i32 0) })
+ ret void
+}
+
+define fastcc %"byte[]" @_D5tango3net3ftp9FtpClient13FTPConnection5mkdirMFAaZAa(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" %path_arg) {
+entry:
+ %__arrayArg136 = alloca [1 x %"byte[]"], align 8 ; <[1 x %"byte[]"]*> [#uses=1]
+ %response = alloca %tango.net.ftp.FtpClient.FtpResponse, align 4 ; <%tango.net.ftp.FtpClient.FtpResponse*> [#uses=2]
+ %.rettmp = alloca %tango.net.ftp.FtpClient.FtpResponse, align 8 ; <%tango.net.ftp.FtpClient.FtpResponse*> [#uses=2]
+ %tmp1 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 0 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl**> [#uses=3]
+ %tmp2 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp1 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
+ %"this.sendCommand@vtbl" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp2, i32 0, i32 35 ; <void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]", %"char[][]")**> [#uses=1]
+ %this.sendCommand = load void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]", %"char[][]")** %"this.sendCommand@vtbl", align 4 ; <void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]", %"char[][]")*> [#uses=1]
+ %tmp4 = getelementptr [1 x %"byte[]"]* %__arrayArg136, i32 0, i32 0 ; <%"byte[]"*> [#uses=2]
+ store %"byte[]" %path_arg, %"byte[]"* %tmp4, align 8
+ %tmp7 = insertvalue %"char[][]" { i32 1, %"byte[]"* undef }, %"byte[]"* %tmp4, 1 ; <%"char[][]"> [#uses=1]
+ call fastcc void %this.sendCommand(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" { i32 3, i8* getelementptr ([4 x i8]* @.str111, i32 0, i32 0) }, %"char[][]" %tmp7)
+ %tmp10 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp1 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
+ %"this.readResponse@vtbl" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp10, i32 0, i32 36 ; <void (%tango.net.ftp.FtpClient.FtpResponse*, %tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")**> [#uses=1]
+ %this.readResponse = load void (%tango.net.ftp.FtpClient.FtpResponse*, %tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")** %"this.readResponse@vtbl", align 4 ; <void (%tango.net.ftp.FtpClient.FtpResponse*, %tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")*> [#uses=1]
+ call fastcc void %this.readResponse(%tango.net.ftp.FtpClient.FtpResponse* noalias nocapture sret %.rettmp, %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" { i32 3, i8* getelementptr ([4 x i8]* @.str112, i32 0, i32 0) })
+ %tmp12 = getelementptr %tango.net.ftp.FtpClient.FtpResponse* %response, i32 0, i32 0, i32 0 ; <i8*> [#uses=1]
+ %tmp13 = getelementptr %tango.net.ftp.FtpClient.FtpResponse* %.rettmp, i32 0, i32 0, i32 0 ; <i8*> [#uses=1]
+ call void @llvm.memcpy.i32(i8* %tmp12, i8* %tmp13, i32 12, i32 4)
+ %tmp16 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp1 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
+ %"this.parse257@vtbl" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp16, i32 0, i32 38 ; <%"byte[]" (%tango.net.ftp.FtpClient.FTPConnection*, %tango.net.ftp.FtpClient.FtpResponse*)**> [#uses=1]
+ %this.parse257 = load %"byte[]" (%tango.net.ftp.FtpClient.FTPConnection*, %tango.net.ftp.FtpClient.FtpResponse*)** %"this.parse257@vtbl", align 4 ; <%"byte[]" (%tango.net.ftp.FtpClient.FTPConnection*, %tango.net.ftp.FtpClient.FtpResponse*)*> [#uses=1]
+ %tmp18 = call fastcc %"byte[]" %this.parse257(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %tango.net.ftp.FtpClient.FtpResponse* byval %response) ; <%"byte[]"> [#uses=1]
+ ret %"byte[]" %tmp18
+}
+
+define fastcc void @_D5tango3net3ftp9FtpClient13FTPConnection11getFeaturesMFZv(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg) {
+entry:
+ %.frame.i = alloca %nest.splitLines, align 8 ; <%nest.splitLines*> [#uses=5]
+ %.rettmp.i = alloca %"tango.text.Util.LineFruct!(char).LineFruct", align 8 ; <%"tango.text.Util.LineFruct!(char).LineFruct"*> [#uses=3]
+ %.rettmp8.i = alloca %"tango.text.Util.LineFruct!(char).LineFruct", align 8 ; <%"tango.text.Util.LineFruct!(char).LineFruct"*> [#uses=3]
+ %response = alloca %tango.net.ftp.FtpClient.FtpResponse, align 4 ; <%tango.net.ftp.FtpClient.FtpResponse*> [#uses=2]
+ %.rettmp = alloca %tango.net.ftp.FtpClient.FtpResponse, align 8 ; <%tango.net.ftp.FtpClient.FtpResponse*> [#uses=2]
+ %tmp1 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 0 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl**> [#uses=2]
+ %tmp2 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp1 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
+ %"this.sendCommand@vtbl" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp2, i32 0, i32 35 ; <void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]", %"char[][]")**> [#uses=1]
+ %this.sendCommand = load void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]", %"char[][]")** %"this.sendCommand@vtbl", align 4 ; <void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]", %"char[][]")*> [#uses=1]
+ call fastcc void %this.sendCommand(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" { i32 4, i8* getelementptr ([5 x i8]* @.str113, i32 0, i32 0) }, %"char[][]" zeroinitializer)
+ %tmp6 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp1 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
+ %"this.readResponse@vtbl" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp6, i32 0, i32 37 ; <void (%tango.net.ftp.FtpClient.FtpResponse*, %tango.net.ftp.FtpClient.FTPConnection*)**> [#uses=1]
+ %this.readResponse = load void (%tango.net.ftp.FtpClient.FtpResponse*, %tango.net.ftp.FtpClient.FTPConnection*)** %"this.readResponse@vtbl", align 4 ; <void (%tango.net.ftp.FtpClient.FtpResponse*, %tango.net.ftp.FtpClient.FTPConnection*)*> [#uses=1]
+ call fastcc void %this.readResponse(%tango.net.ftp.FtpClient.FtpResponse* noalias nocapture sret %.rettmp, %tango.net.ftp.FtpClient.FTPConnection* %.this_arg)
+ %tmp8 = getelementptr %tango.net.ftp.FtpClient.FtpResponse* %response, i32 0, i32 0, i32 0 ; <i8*> [#uses=2]
+ %tmp9 = getelementptr %tango.net.ftp.FtpClient.FtpResponse* %.rettmp, i32 0, i32 0, i32 0 ; <i8*> [#uses=1]
+ call void @llvm.memcpy.i32(i8* %tmp8, i8* %tmp9, i32 12, i32 4)
+ %tmp12 = insertvalue %"byte[]" { i32 3, i8* undef }, i8* %tmp8, 1 ; <%"byte[]"> [#uses=1]
+ %tmp13 = call i32 @_adEq(%"byte[]" %tmp12, %"byte[]" { i32 3, i8* getelementptr ([4 x i8]* @.str114, i32 0, i32 0) }, %object.TypeInfo* @_D11TypeInfo_Aa6__initZ) readonly ; <i32> [#uses=1]
+ %tmp14 = icmp eq i32 %tmp13, 0 ; <i1> [#uses=1]
+ br i1 %tmp14, label %if, label %else
+
+if: ; preds = %entry
+ %tmp17 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 5 ; <%"FtpFeature[]"*> [#uses=1]
+ %tmp18 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 5, i32 0 ; <i32*> [#uses=1]
+ %.len = load i32* %tmp18 ; <i32> [#uses=1]
+ %tmp19 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 5, i32 1 ; <%tango.net.ftp.FtpClient.FtpFeature**> [#uses=1]
+ %.ptr = load %tango.net.ftp.FtpClient.FtpFeature** %tmp19 ; <%tango.net.ftp.FtpClient.FtpFeature*> [#uses=1]
+ %.tmp = bitcast %tango.net.ftp.FtpClient.FtpFeature* %.ptr to i8* ; <i8*> [#uses=1]
+ call void @_d_delarray(i32 %.len, i8* %.tmp)
+ store %"FtpFeature[]" zeroinitializer, %"FtpFeature[]"* %tmp17
+ ret void
+
+else: ; preds = %entry
+ %tmp20 = getelementptr %tango.net.ftp.FtpClient.FtpResponse* %response, i32 0, i32 1 ; <%"byte[]"*> [#uses=1]
+ %tmp21 = load %"byte[]"* %tmp20 ; <%"byte[]"> [#uses=4]
+ %count.i = getelementptr %nest.splitLines* %.frame.i, i32 0, i32 0 ; <i32*> [#uses=3]
+ %result.i = getelementptr %nest.splitLines* %.frame.i, i32 0, i32 1 ; <%"char[][]"*> [#uses=1]
+ store i32 0, i32* %count.i, align 8
+ %src_arg8.i.i = extractvalue %"byte[]" %tmp21, 0 ; <i32> [#uses=1]
+ %src_arg9.i.i = extractvalue %"byte[]" %tmp21, 1 ; <i8*> [#uses=1]
+ %0 = getelementptr %"tango.text.Util.LineFruct!(char).LineFruct"* %.rettmp.i, i32 0, i32 0, i32 0 ; <i32*> [#uses=1]
+ store i32 %src_arg8.i.i, i32* %0, align 8
+ %.sret_arg10.1.i.i = getelementptr %"tango.text.Util.LineFruct!(char).LineFruct"* %.rettmp.i, i32 0, i32 0, i32 1 ; <i8**> [#uses=1]
+ store i8* %src_arg9.i.i, i8** %.sret_arg10.1.i.i, align 4
+ %tmp1.i = bitcast %nest.splitLines* %.frame.i to i8* ; <i8*> [#uses=2]
+ %tmp2.i = insertvalue %"int delegate(ref char[])" undef, i8* %tmp1.i, 0 ; <%"int delegate(ref char[])"> [#uses=1]
+ %.func.i = insertvalue %"int delegate(ref char[])" %tmp2.i, i32 (i8*, %"byte[]"*)* @_D5tango4text4Util18__T10splitLinesTaZ10splitLinesFAaZAAa15__foreachbody41MFKAaZi, 1 ; <%"int delegate(ref char[])"> [#uses=1]
+ %tmp3.i = call fastcc i32 @_D5tango4text4Util16__T9LineFructTaZ9LineFruct7opApplyMFDFKAaZiZi(%"tango.text.Util.LineFruct!(char).LineFruct"* %.rettmp.i, %"int delegate(ref char[])" %.func.i) ; <i32> [#uses=0]
+ %tmp4.i = load i32* %count.i, align 8 ; <i32> [#uses=2]
+ %.gc_mem.i = call noalias i8* @_d_newarrayT(%object.TypeInfo* bitcast (%object.TypeInfo_Array* @_D12TypeInfo_AAa6__initZ to %object.TypeInfo*), i32 %tmp4.i) ; <i8*> [#uses=1]
+ %.gc_mem5.i = bitcast i8* %.gc_mem.i to %"byte[]"* ; <%"byte[]"*> [#uses=1]
+ %tmp6.i = getelementptr %nest.splitLines* %.frame.i, i32 0, i32 1, i32 0 ; <i32*> [#uses=1]
+ store i32 %tmp4.i, i32* %tmp6.i
+ %tmp7.i = getelementptr %nest.splitLines* %.frame.i, i32 0, i32 1, i32 1 ; <%"byte[]"**> [#uses=1]
+ store %"byte[]"* %.gc_mem5.i, %"byte[]"** %tmp7.i
+ store i32 0, i32* %count.i, align 8
+ %src_arg8.i15.i = extractvalue %"byte[]" %tmp21, 0 ; <i32> [#uses=1]
+ %src_arg9.i16.i = extractvalue %"byte[]" %tmp21, 1 ; <i8*> [#uses=1]
+ %1 = getelementptr %"tango.text.Util.LineFruct!(char).LineFruct"* %.rettmp8.i, i32 0, i32 0, i32 0 ; <i32*> [#uses=1]
+ store i32 %src_arg8.i15.i, i32* %1, align 8
+ %.sret_arg10.1.i17.i = getelementptr %"tango.text.Util.LineFruct!(char).LineFruct"* %.rettmp8.i, i32 0, i32 0, i32 1 ; <i8**> [#uses=1]
+ store i8* %src_arg9.i16.i, i8** %.sret_arg10.1.i17.i, align 4
+ %tmp11.i = insertvalue %"int delegate(ref char[])" undef, i8* %tmp1.i, 0 ; <%"int delegate(ref char[])"> [#uses=1]
+ %.func12.i = insertvalue %"int delegate(ref char[])" %tmp11.i, i32 (i8*, %"byte[]"*)* @_D5tango4text4Util18__T10splitLinesTaZ10splitLinesFAaZAAa15__foreachbody42MFKAaZi, 1 ; <%"int delegate(ref char[])"> [#uses=1]
+ %tmp13.i = call fastcc i32 @_D5tango4text4Util16__T9LineFructTaZ9LineFruct7opApplyMFDFKAaZiZi(%"tango.text.Util.LineFruct!(char).LineFruct"* %.rettmp8.i, %"int delegate(ref char[])" %.func12.i) ; <i32> [#uses=0]
+ %tmp14.i = load %"char[][]"* %result.i ; <%"char[][]"> [#uses=2]
+ %tmp22109 = extractvalue %"char[][]" %tmp14.i, 0 ; <i32> [#uses=2]
+ %tmp22110 = extractvalue %"char[][]" %tmp14.i, 1 ; <%"byte[]"*> [#uses=4]
+ %tmp27 = add i32 %tmp22109, -1 ; <i32> [#uses=3]
+ %.gc_mem = call noalias i8* @_d_newarrayiT(%object.TypeInfo* bitcast (%object.TypeInfo_Array* @_D47TypeInfo_AS5tango3net3ftp9FtpClient10FtpFeature6__initZ to %object.TypeInfo*), i32 %tmp27) ; <i8*> [#uses=2]
+ %.gc_mem28 = bitcast i8* %.gc_mem to %tango.net.ftp.FtpClient.FtpFeature* ; <%tango.net.ftp.FtpClient.FtpFeature*> [#uses=1]
+ %tmp29 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 5, i32 0 ; <i32*> [#uses=1]
+ store i32 %tmp27, i32* %tmp29
+ %tmp30 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 5, i32 1 ; <%tango.net.ftp.FtpClient.FtpFeature**> [#uses=3]
+ store %tango.net.ftp.FtpClient.FtpFeature* %.gc_mem28, %tango.net.ftp.FtpClient.FtpFeature** %tmp30
+ %tmp36 = bitcast i8* %.gc_mem to %"byte[]"* ; <%"byte[]"*> [#uses=1]
+ store %"byte[]" { i32 4, i8* getelementptr ([5 x i8]* @.str115, i32 0, i32 0) }, %"byte[]"* %tmp36
+ br label %forcond
+
+forcond: ; preds = %forinc, %else
+ %i.0 = phi i32 [ 1, %else ], [ %tmp103, %forinc ] ; <i32> [#uses=9]
+ %tmp41 = icmp ult i32 %i.0, %tmp27 ; <i1> [#uses=1]
+ br i1 %tmp41, label %forbody, label %endfor
+
+forbody: ; preds = %forcond
+ %tmp45 = getelementptr %"byte[]"* %tmp22110, i32 %i.0 ; <%"byte[]"*> [#uses=1]
+ %tmp46 = load %"byte[]"* %tmp45 ; <%"byte[]"> [#uses=2]
+ %source_arg16.i = extractvalue %"byte[]" %tmp46, 0 ; <i32> [#uses=2]
+ %source_arg17.i = extractvalue %"byte[]" %tmp46, 1 ; <i8*> [#uses=2]
+ %tmp2.i.i = getelementptr i8* %source_arg17.i, i32 -1 ; <i8*> [#uses=1]
+ br label %forcond.i.i
+
+forcond.i.i: ; preds = %forbody.i.i, %forbody
+ %len.0.i.i = phi i32 [ %source_arg16.i, %forbody ], [ %tmp4.i.i, %forbody.i.i ] ; <i32> [#uses=2]
+ %p.0.i.i = phi i8* [ %tmp2.i.i, %forbody ], [ %tmp7.i.i, %forbody.i.i ] ; <i8*> [#uses=1]
+ %tmp4.i.i = add i32 %len.0.i.i, -1 ; <i32> [#uses=1]
+ %tmp5.i.i = icmp eq i32 %len.0.i.i, 0 ; <i1> [#uses=1]
+ br i1 %tmp5.i.i, label %_D5tango4text4Util13__T6locateTaZ6locateFAaakZk.exit, label %forbody.i.i
+
+forbody.i.i: ; preds = %forcond.i.i
+ %tmp7.i.i = getelementptr i8* %p.0.i.i, i32 1 ; <i8*> [#uses=3]
+ %tmp8.i.i = load i8* %tmp7.i.i ; <i8> [#uses=1]
+ %tmp12.i.i = icmp eq i8 %tmp8.i.i, 32 ; <i1> [#uses=1]
+ br i1 %tmp12.i.i, label %if.i.i, label %forcond.i.i
+
+if.i.i: ; preds = %forbody.i.i
+ %tmp15.i.i = ptrtoint i8* %tmp7.i.i to i32 ; <i32> [#uses=1]
+ %tmp16.i.i = ptrtoint i8* %source_arg17.i to i32 ; <i32> [#uses=1]
+ %tmp17.i.i = sub i32 %tmp15.i.i, %tmp16.i.i ; <i32> [#uses=1]
+ br label %_D5tango4text4Util13__T6locateTaZ6locateFAaakZk.exit
+
+_D5tango4text4Util13__T6locateTaZ6locateFAaakZk.exit: ; preds = %if.i.i, %forcond.i.i
+ %tmp1318.i = phi i32 [ %tmp17.i.i, %if.i.i ], [ %source_arg16.i, %forcond.i.i ] ; <i32> [#uses=3]
+ %.ptr51 = load %tango.net.ftp.FtpClient.FtpFeature** %tmp30 ; <%tango.net.ftp.FtpClient.FtpFeature*> [#uses=2]
+ %tmp59 = getelementptr %"byte[]"* %tmp22110, i32 %i.0, i32 1 ; <i8**> [#uses=2]
+ %.ptr60 = load i8** %tmp59 ; <i8*> [#uses=1]
+ %tmp64 = getelementptr %tango.net.ftp.FtpClient.FtpFeature* %.ptr51, i32 %i.0, i32 0, i32 0 ; <i32*> [#uses=1]
+ store i32 %tmp1318.i, i32* %tmp64
+ %tmp65 = getelementptr %tango.net.ftp.FtpClient.FtpFeature* %.ptr51, i32 %i.0, i32 0, i32 1 ; <i8**> [#uses=1]
+ store i8* %.ptr60, i8** %tmp65
+ %tmp70 = getelementptr %"byte[]"* %tmp22110, i32 %i.0, i32 0 ; <i32*> [#uses=1]
+ %.len71 = load i32* %tmp70 ; <i32> [#uses=2]
+ %tmp72 = add i32 %.len71, -1 ; <i32> [#uses=1]
+ %tmp74 = icmp ult i32 %tmp1318.i, %tmp72 ; <i1> [#uses=1]
+ br i1 %tmp74, label %if75, label %forinc
+
+if75: ; preds = %_D5tango4text4Util13__T6locateTaZ6locateFAaakZk.exit
+ %.ptr80 = load %tango.net.ftp.FtpClient.FtpFeature** %tmp30 ; <%tango.net.ftp.FtpClient.FtpFeature*> [#uses=2]
+ %.ptr89 = load i8** %tmp59 ; <i8*> [#uses=1]
+ %tmp91 = add i32 %tmp1318.i, 1 ; <i32> [#uses=2]
+ %tmp98 = getelementptr i8* %.ptr89, i32 %tmp91 ; <i8*> [#uses=1]
+ %tmp99 = sub i32 %.len71, %tmp91 ; <i32> [#uses=1]
+ %tmp100 = getelementptr %tango.net.ftp.FtpClient.FtpFeature* %.ptr80, i32 %i.0, i32 1, i32 0 ; <i32*> [#uses=1]
+ store i32 %tmp99, i32* %tmp100
+ %tmp101 = getelementptr %tango.net.ftp.FtpClient.FtpFeature* %.ptr80, i32 %i.0, i32 1, i32 1 ; <i8**> [#uses=1]
+ store i8* %tmp98, i8** %tmp101
+ br label %forinc
+
+forinc: ; preds = %if75, %_D5tango4text4Util13__T6locateTaZ6locateFAaakZk.exit
+ %tmp103 = add i32 %i.0, 1 ; <i32> [#uses=1]
+ br label %forcond
+
+endfor: ; preds = %forcond
+ %.tmp108 = bitcast %"byte[]"* %tmp22110 to i8* ; <i8*> [#uses=1]
+ call void @_d_delarray(i32 %tmp22109, i8* %.tmp108)
+ ret void
+}
+
+define fastcc void @_D5tango3net3ftp9FtpClient13FTPConnection11sendCommandMFAaAAaXv(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" %command_arg, %"char[][]" %parameters_arg) {
+entry:
+ %parameters_arg55 = extractvalue %"char[][]" %parameters_arg, 0 ; <i32> [#uses=1]
+ %parameters_arg56 = extractvalue %"char[][]" %parameters_arg, 1 ; <%"byte[]"*> [#uses=1]
+ %command_arg53 = extractvalue %"byte[]" %command_arg, 0 ; <i32> [#uses=1]
+ %command_arg54 = extractvalue %"byte[]" %command_arg, 1 ; <i8*> [#uses=1]
+ br label %foreachcond
+
+foreachcond: ; preds = %foreachbody, %entry
+ %socketCommand.0.0 = phi i32 [ %command_arg53, %entry ], [ %tmp17, %foreachbody ] ; <i32> [#uses=6]
+ %socketCommand.1.0 = phi i8* [ %command_arg54, %entry ], [ %.gc_mem22, %foreachbody ] ; <i8*> [#uses=2]
+ %foreachkey.0 = phi i32 [ 0, %entry ], [ %tmp28, %foreachbody ] ; <i32> [#uses=3]
+ %tmp4 = icmp ult i32 %foreachkey.0, %parameters_arg55 ; <i1> [#uses=1]
+ br i1 %tmp4, label %foreachbody, label %foreachend
+
+foreachbody: ; preds = %foreachcond
+ %tmp6 = getelementptr %"byte[]"* %parameters_arg56, i32 %foreachkey.0 ; <%"byte[]"*> [#uses=1]
+ %tmp7 = load %"byte[]"* %tmp6 ; <%"byte[]"> [#uses=2]
+ %tmp751 = extractvalue %"byte[]" %tmp7, 0 ; <i32> [#uses=2]
+ %tmp752 = extractvalue %"byte[]" %tmp7, 1 ; <i8*> [#uses=1]
+ %tmp10 = add i32 %tmp751, 1 ; <i32> [#uses=3]
+ %.nongc_mem = alloca i8, i32 %tmp10, align 1 ; <i8*> [#uses=3]
+ store i8 32, i8* %.nongc_mem, align 1
+ %tmp13 = getelementptr i8* %.nongc_mem, i32 1 ; <i8*> [#uses=1]
+ tail call void @llvm.memcpy.i32(i8* %tmp13, i8* %tmp752, i32 %tmp751, i32 1)
+ %tmp17 = add i32 %socketCommand.0.0, %tmp10 ; <i32> [#uses=2]
+ %.gc_mem22 = tail call i8* @_d_arraysetlengthiT(%object.TypeInfo* @_D11TypeInfo_Aa6__initZ, i32 %tmp17, i32 %socketCommand.0.0, i8* %socketCommand.1.0) ; <i8*> [#uses=2]
+ %tmp23 = getelementptr i8* %.gc_mem22, i32 %socketCommand.0.0 ; <i8*> [#uses=1]
+ tail call void @llvm.memcpy.i32(i8* %tmp23, i8* %.nongc_mem, i32 %tmp10, i32 1)
+ %tmp28 = add i32 %foreachkey.0, 1 ; <i32> [#uses=1]
+ br label %foreachcond
+
+foreachend: ; preds = %foreachcond
+ %tmp31 = add i32 %socketCommand.0.0, 2 ; <i32> [#uses=2]
+ %.gc_mem36 = tail call i8* @_d_arraysetlengthiT(%object.TypeInfo* @_D11TypeInfo_Aa6__initZ, i32 %tmp31, i32 %socketCommand.0.0, i8* %socketCommand.1.0) ; <i8*> [#uses=2]
+ %tmp37 = getelementptr i8* %.gc_mem36, i32 %socketCommand.0.0 ; <i8*> [#uses=1]
+ %tmp3757 = bitcast i8* %tmp37 to i16* ; <i16*> [#uses=1]
+ %tmp = load i16* bitcast ([3 x i8]* @.str117 to i16*), align 2 ; <i16> [#uses=1]
+ store i16 %tmp, i16* %tmp3757, align 1
+ %tmp41 = bitcast %tango.net.ftp.FtpClient.FTPConnection* %.this_arg to %tango.net.ftp.Telnet.Telnet* ; <%tango.net.ftp.Telnet.Telnet*> [#uses=1]
+ %tmp42 = bitcast %tango.net.ftp.FtpClient.FTPConnection* %.this_arg to %tango.net.ftp.Telnet.Telnet.__vtbl** ; <%tango.net.ftp.Telnet.Telnet.__vtbl**> [#uses=1]
+ %tmp43 = load %tango.net.ftp.Telnet.Telnet.__vtbl** %tmp42 ; <%tango.net.ftp.Telnet.Telnet.__vtbl*> [#uses=1]
+ %"(cast(Telnet)this).sendData@vtbl" = getelementptr %tango.net.ftp.Telnet.Telnet.__vtbl* %tmp43, i32 0, i32 7 ; <void (%tango.net.ftp.Telnet.Telnet*, %"byte[]")**> [#uses=1]
+ %"(cast(Telnet)this).sendData" = load void (%tango.net.ftp.Telnet.Telnet*, %"byte[]")** %"(cast(Telnet)this).sendData@vtbl", align 4 ; <void (%tango.net.ftp.Telnet.Telnet*, %"byte[]")*> [#uses=1]
+ %tmp49 = insertvalue %"byte[]" undef, i32 %tmp31, 0 ; <%"byte[]"> [#uses=1]
+ %tmp50 = insertvalue %"byte[]" %tmp49, i8* %.gc_mem36, 1 ; <%"byte[]"> [#uses=1]
+ tail call fastcc void %"(cast(Telnet)this).sendData"(%tango.net.ftp.Telnet.Telnet* %tmp41, %"byte[]" %tmp50)
+ ret void
+}
+
+define fastcc void @_D5tango3net3ftp9FtpClient13FTPConnection12readResponseMFAaZS5tango3net3ftp9FtpClient11FtpResponse(%tango.net.ftp.FtpClient.FtpResponse* noalias nocapture sret %.sret_arg, %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" %expected_code_arg) {
+entry:
+ %response = alloca %tango.net.ftp.FtpClient.FtpResponse, align 4 ; <%tango.net.ftp.FtpClient.FtpResponse*> [#uses=2]
+ %.rettmp = alloca %tango.net.ftp.FtpClient.FtpResponse, align 8 ; <%tango.net.ftp.FtpClient.FtpResponse*> [#uses=2]
+ %expected_code_arg26 = extractvalue %"byte[]" %expected_code_arg, 0 ; <i32> [#uses=1]
+ %expected_code_arg27 = extractvalue %"byte[]" %expected_code_arg, 1 ; <i8*> [#uses=1]
+ %tmp1 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 0 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl**> [#uses=2]
+ %tmp2 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp1 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
+ %"this.readResponse@vtbl" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp2, i32 0, i32 37 ; <void (%tango.net.ftp.FtpClient.FtpResponse*, %tango.net.ftp.FtpClient.FTPConnection*)**> [#uses=1]
+ %this.readResponse = load void (%tango.net.ftp.FtpClient.FtpResponse*, %tango.net.ftp.FtpClient.FTPConnection*)** %"this.readResponse@vtbl", align 4 ; <void (%tango.net.ftp.FtpClient.FtpResponse*, %tango.net.ftp.FtpClient.FTPConnection*)*> [#uses=1]
+ call fastcc void %this.readResponse(%tango.net.ftp.FtpClient.FtpResponse* noalias nocapture sret %.rettmp, %tango.net.ftp.FtpClient.FTPConnection* %.this_arg)
+ %tmp4 = getelementptr %tango.net.ftp.FtpClient.FtpResponse* %response, i32 0, i32 0, i32 0 ; <i8*> [#uses=3]
+ %tmp5 = getelementptr %tango.net.ftp.FtpClient.FtpResponse* %.rettmp, i32 0, i32 0, i32 0 ; <i8*> [#uses=1]
+ call void @llvm.memcpy.i32(i8* %tmp4, i8* %tmp5, i32 12, i32 4)
+ %tmp12 = insertvalue %"byte[]" { i32 3, i8* undef }, i8* %tmp4, 1 ; <%"byte[]"> [#uses=1]
+ %tmp13 = insertvalue %"byte[]" undef, i32 %expected_code_arg26, 0 ; <%"byte[]"> [#uses=1]
+ %tmp14 = insertvalue %"byte[]" %tmp13, i8* %expected_code_arg27, 1 ; <%"byte[]"> [#uses=1]
+ %tmp15 = call i32 @_adEq(%"byte[]" %tmp12, %"byte[]" %tmp14, %object.TypeInfo* @_D11TypeInfo_Aa6__initZ) readonly ; <i32> [#uses=1]
+ %tmp16 = icmp eq i32 %tmp15, 0 ; <i1> [#uses=1]
+ br i1 %tmp16, label %if, label %endif
+
+if: ; preds = %entry
+ %tmp20 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp1 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
+ %"this.exception@vtbl" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp20, i32 0, i32 14 ; <void (%tango.net.ftp.FtpClient.FTPConnection*, %tango.net.ftp.FtpClient.FtpResponse*)**> [#uses=1]
+ %this.exception = load void (%tango.net.ftp.FtpClient.FTPConnection*, %tango.net.ftp.FtpClient.FtpResponse*)** %"this.exception@vtbl", align 4 ; <void (%tango.net.ftp.FtpClient.FTPConnection*, %tango.net.ftp.FtpClient.FtpResponse*)*> [#uses=1]
+ call fastcc void %this.exception(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %tango.net.ftp.FtpClient.FtpResponse* byval %response)
+ br label %endif
+
+endif: ; preds = %if, %entry
+ %tmp22 = getelementptr %tango.net.ftp.FtpClient.FtpResponse* %.sret_arg, i32 0, i32 0, i32 0 ; <i8*> [#uses=1]
+ call void @llvm.memcpy.i32(i8* %tmp22, i8* %tmp4, i32 12, i32 1)
+ ret void
+}
+
+define fastcc void @_D5tango3net3ftp9FtpClient13FTPConnection12readResponseMFZS5tango3net3ftp9FtpClient11FtpResponse(%tango.net.ftp.FtpClient.FtpResponse* noalias nocapture sret %.sret_arg, %tango.net.ftp.FtpClient.FTPConnection* %.this_arg) {
+entry:
+ %.rettmp = alloca %tango.time.Time.Time, align 8 ; <%tango.time.Time.Time*> [#uses=2]
+ %.rettmp2 = alloca %tango.time.Time.Time, align 8 ; <%tango.time.Time.Time*> [#uses=2]
+ %response = alloca %tango.net.ftp.FtpClient.FtpResponse, align 4 ; <%tango.net.ftp.FtpClient.FtpResponse*> [#uses=4]
+ %.rettmp6 = alloca %tango.time.Time.Time, align 8 ; <%tango.time.Time.Time*> [#uses=2]
+ call fastcc void @_D5tango4time5Clock5Clock3nowFZS5tango4time4Time4Time(%tango.time.Time.Time* noalias nocapture sret %.rettmp)
+ call fastcc void @_D5tango4time4Time8TimeSpan10fromMillisFlZS5tango4time4Time8TimeSpan(%tango.time.Time.Time* noalias nocapture sret %.rettmp2, i64 2500)
+ %tmp1.i = getelementptr %tango.time.Time.Time* %.rettmp2, i32 0, i32 0 ; <i64*> [#uses=1]
+ %tmp2.i = load i64* %tmp1.i, align 8 ; <i64> [#uses=1]
+ %tmp4.i = mul i64 %tmp2.i, 10 ; <i64> [#uses=1]
+ %tmp1.i177 = getelementptr %tango.time.Time.Time* %.rettmp, i32 0, i32 0 ; <i64*> [#uses=1]
+ %tmp3.i = load i64* %tmp1.i177, align 8 ; <i64> [#uses=1]
+ %tmp5.i = add i64 %tmp3.i, %tmp4.i ; <i64> [#uses=1]
+ %tmp5 = getelementptr %tango.net.ftp.FtpClient.FtpResponse* %response, i32 0, i32 0, i32 0 ; <i8*> [#uses=6]
+ call void @llvm.memcpy.i32(i8* %tmp5, i8* getelementptr (%tango.net.ftp.FtpClient.FtpResponse* @_D5tango3net3ftp9FtpClient11FtpResponse6__initZ, i32 0, i32 0, i32 0), i32 12, i32 4)
+ br label %whilecond
+
+whilecond: ; preds = %andand153, %andand139, %endif, %entry
+ call fastcc void @_D5tango4time5Clock5Clock3nowFZS5tango4time4Time4Time(%tango.time.Time.Time* noalias nocapture sret %.rettmp6)
+ %tmp1.i181 = getelementptr %tango.time.Time.Time* %.rettmp6, i32 0, i32 0 ; <i64*> [#uses=1]
+ %tmp3.i183 = load i64* %tmp1.i181, align 8 ; <i64> [#uses=1]
+ %tmp5.i185 = icmp slt i64 %tmp3.i183, %tmp5.i ; <i1> [#uses=1]
+ br i1 %tmp5.i185, label %whilebody, label %endwhile
+
+whilebody: ; preds = %whilecond
+ %tmp10 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 0 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl**> [#uses=1]
+ %tmp11 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp10 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
+ %"this.readLine@vtbl" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp11, i32 0, i32 8 ; <%"byte[]" (%tango.net.ftp.Telnet.Telnet*)**> [#uses=1]
+ %this.readLine = load %"byte[]" (%tango.net.ftp.Telnet.Telnet*)** %"this.readLine@vtbl", align 4 ; <%"byte[]" (%tango.net.ftp.Telnet.Telnet*)*> [#uses=1]
+ %tmp13 = bitcast %tango.net.ftp.FtpClient.FTPConnection* %.this_arg to %tango.net.ftp.Telnet.Telnet* ; <%tango.net.ftp.Telnet.Telnet*> [#uses=1]
+ %tmp14 = call fastcc %"byte[]" %this.readLine(%tango.net.ftp.Telnet.Telnet* %tmp13) ; <%"byte[]"> [#uses=2]
+ %tmp14168 = extractvalue %"byte[]" %tmp14, 0 ; <i32> [#uses=9]
+ %tmp14169 = extractvalue %"byte[]" %tmp14, 1 ; <i8*> [#uses=9]
+ %tmp16 = getelementptr %tango.net.ftp.FtpClient.FtpResponse* %response, i32 0, i32 1, i32 0 ; <i32*> [#uses=6]
+ %.len = load i32* %tmp16 ; <i32> [#uses=4]
+ %tmp17 = icmp eq i32 %.len, 0 ; <i1> [#uses=1]
+ br i1 %tmp17, label %if, label %else
+
+if: ; preds = %whilebody
+ %tmp20 = icmp ult i32 %tmp14168, 4 ; <i1> [#uses=1]
+ br i1 %tmp20, label %if21, label %endif22
+
+if21: ; preds = %if
+ call void @llvm.memcpy.i32(i8* %tmp5, i8* getelementptr ([4 x i8]* @.str118, i32 0, i32 0), i32 3, i32 1)
+ br label %endwhile
+
+endif22: ; preds = %if
+ call void @llvm.memcpy.i32(i8* %tmp5, i8* %tmp14169, i32 3, i32 1)
+ %tmp34 = getelementptr i8* %tmp14169, i32 4 ; <i8*> [#uses=1]
+ %tmp35 = add i32 %tmp14168, -4 ; <i32> [#uses=1]
+ store i32 %tmp35, i32* %tmp16
+ %tmp37 = getelementptr %tango.net.ftp.FtpClient.FtpResponse* %response, i32 0, i32 1, i32 1 ; <i8**> [#uses=1]
+ store i8* %tmp34, i8** %tmp37
+ br label %endif
+
+else: ; preds = %whilebody
+ %tmp41 = add i32 %.len, 1 ; <i32> [#uses=11]
+ %tmp44 = getelementptr %tango.net.ftp.FtpClient.FtpResponse* %response, i32 0, i32 1, i32 1 ; <i8**> [#uses=5]
+ %.ptr45 = load i8** %tmp44 ; <i8*> [#uses=1]
+ %.gc_mem = call i8* @_d_arraysetlengthiT(%object.TypeInfo* @_D11TypeInfo_Aa6__initZ, i32 %tmp41, i32 %.len, i8* %.ptr45) ; <i8*> [#uses=5]
+ %tmp46 = getelementptr i8* %.gc_mem, i32 %.len ; <i8*> [#uses=1]
+ store i8 10, i8* %tmp46, align 1
+ store i32 %tmp41, i32* %tmp16
+ store i8* %.gc_mem, i8** %tmp44
+ %tmp51 = icmp ugt i32 %tmp14168, 4 ; <i1> [#uses=1]
+ br i1 %tmp51, label %andand, label %else65
+
+andand: ; preds = %else
+ %tmp59 = insertvalue %"byte[]" { i32 3, i8* undef }, i8* %tmp14169, 1 ; <%"byte[]"> [#uses=1]
+ %tmp60 = insertvalue %"byte[]" { i32 3, i8* undef }, i8* %tmp5, 1 ; <%"byte[]"> [#uses=1]
+ %tmp61 = call i32 @_adEq(%"byte[]" %tmp59, %"byte[]" %tmp60, %object.TypeInfo* @_D11TypeInfo_Aa6__initZ) readonly ; <i32> [#uses=1]
+ %tmp62 = icmp eq i32 %tmp61, 0 ; <i1> [#uses=1]
+ br i1 %tmp62, label %else65, label %if63
+
+if63: ; preds = %andand
+ %tmp71 = getelementptr i8* %tmp14169, i32 4 ; <i8*> [#uses=1]
+ %tmp72 = add i32 %tmp14168, -4 ; <i32> [#uses=2]
+ %tmp75 = add i32 %tmp41, %tmp72 ; <i32> [#uses=2]
+ %.gc_mem80 = call i8* @_d_arraysetlengthiT(%object.TypeInfo* @_D11TypeInfo_Aa6__initZ, i32 %tmp75, i32 %tmp41, i8* %.gc_mem) ; <i8*> [#uses=2]
+ %tmp81 = getelementptr i8* %.gc_mem80, i32 %tmp41 ; <i8*> [#uses=1]
+ call void @llvm.memcpy.i32(i8* %tmp81, i8* %tmp71, i32 %tmp72, i32 1)
+ store i32 %tmp75, i32* %tmp16
+ store i8* %.gc_mem80, i8** %tmp44
+ br label %endif
+
+else65: ; preds = %andand, %else
+ %tmp87 = icmp ugt i32 %tmp14168, 2 ; <i1> [#uses=1]
+ br i1 %tmp87, label %andand88, label %else99
+
+andand88: ; preds = %else65
+ %tmp93 = load i8* %tmp14169 ; <i8> [#uses=1]
+ %tmp95 = icmp eq i8 %tmp93, 32 ; <i1> [#uses=1]
+ br i1 %tmp95, label %if97, label %else99
+
+if97: ; preds = %andand88
+ %tmp105 = getelementptr i8* %tmp14169, i32 1 ; <i8*> [#uses=1]
+ %tmp106 = add i32 %tmp14168, -1 ; <i32> [#uses=2]
+ %tmp109 = add i32 %tmp41, %tmp106 ; <i32> [#uses=2]
+ %.gc_mem114 = call i8* @_d_arraysetlengthiT(%object.TypeInfo* @_D11TypeInfo_Aa6__initZ, i32 %tmp109, i32 %tmp41, i8* %.gc_mem) ; <i8*> [#uses=2]
+ %tmp115 = getelementptr i8* %.gc_mem114, i32 %tmp41 ; <i8*> [#uses=1]
+ call void @llvm.memcpy.i32(i8* %tmp115, i8* %tmp105, i32 %tmp106, i32 1)
+ store i32 %tmp109, i32* %tmp16
+ store i8* %.gc_mem114, i8** %tmp44
+ br label %endif
+
+else99: ; preds = %andand88, %else65
+ %tmp124 = add i32 %tmp41, %tmp14168 ; <i32> [#uses=2]
+ %.gc_mem129 = call i8* @_d_arraysetlengthiT(%object.TypeInfo* @_D11TypeInfo_Aa6__initZ, i32 %tmp124, i32 %tmp41, i8* %.gc_mem) ; <i8*> [#uses=2]
+ %tmp132 = getelementptr i8* %.gc_mem129, i32 %tmp41 ; <i8*> [#uses=1]
+ call void @llvm.memcpy.i32(i8* %tmp132, i8* %tmp14169, i32 %tmp14168, i32 1)
+ store i32 %tmp124, i32* %tmp16
+ store i8* %.gc_mem129, i8** %tmp44
+ br label %endif
+
+endif: ; preds = %else99, %if97, %if63, %endif22
+ %tmp138 = icmp ult i32 %tmp14168, 4 ; <i1> [#uses=1]
+ br i1 %tmp138, label %whilecond, label %andand139
+
+andand139: ; preds = %endif
+ %tmp148 = insertvalue %"byte[]" { i32 3, i8* undef }, i8* %tmp14169, 1 ; <%"byte[]"> [#uses=1]
+ %tmp149 = insertvalue %"byte[]" { i32 3, i8* undef }, i8* %tmp5, 1 ; <%"byte[]"> [#uses=1]
+ %tmp150 = call i32 @_adEq(%"byte[]" %tmp148, %"byte[]" %tmp149, %object.TypeInfo* @_D11TypeInfo_Aa6__initZ) readonly ; <i32> [#uses=1]
+ %tmp151 = icmp eq i32 %tmp150, 0 ; <i1> [#uses=1]
+ br i1 %tmp151, label %whilecond, label %andand153
+
+andand153: ; preds = %andand139
+ %tmp157 = getelementptr i8* %tmp14169, i32 3 ; <i8*> [#uses=1]
+ %tmp158 = load i8* %tmp157 ; <i8> [#uses=1]
+ %tmp160 = icmp eq i8 %tmp158, 32 ; <i1> [#uses=1]
+ br i1 %tmp160, label %endwhile, label %whilecond
+
+endwhile: ; preds = %andand153, %if21, %whilecond
+ %tmp165 = getelementptr %tango.net.ftp.FtpClient.FtpResponse* %.sret_arg, i32 0, i32 0, i32 0 ; <i8*> [#uses=1]
+ call void @llvm.memcpy.i32(i8* %tmp165, i8* %tmp5, i32 12, i32 1)
+ ret void
+}
+
+define fastcc %"byte[]" @_D5tango3net3ftp9FtpClient13FTPConnection8parse257MFS5tango3net3ftp9FtpClient11FtpResponseZAa(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %tango.net.ftp.FtpClient.FtpResponse* byval %response_arg) {
+entry:
+ %tmp1 = getelementptr %tango.net.ftp.FtpClient.FtpResponse* %response_arg, i32 0, i32 1, i32 0 ; <i32*> [#uses=3]
+ %.len = load i32* %tmp1 ; <i32> [#uses=2]
+ %.gc_mem = tail call noalias i8* @_d_newarrayiT(%object.TypeInfo* @_D11TypeInfo_Aa6__initZ, i32 %.len) ; <i8*> [#uses=3]
+ %.len6 = load i32* %tmp1 ; <i32> [#uses=1]
+ %tmp7 = icmp ugt i32 %.len6, 2 ; <i1> [#uses=1]
+ br i1 %tmp7, label %whilecond, label %if
+
+if: ; preds = %entry
+ %tmp9 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 0 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl**> [#uses=1]
+ %tmp10 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp9 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
+ %"this.exception@vtbl" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp10, i32 0, i32 14 ; <void (%tango.net.ftp.FtpClient.FTPConnection*, %tango.net.ftp.FtpClient.FtpResponse*)**> [#uses=1]
+ %this.exception = load void (%tango.net.ftp.FtpClient.FTPConnection*, %tango.net.ftp.FtpClient.FtpResponse*)** %"this.exception@vtbl", align 4 ; <void (%tango.net.ftp.FtpClient.FTPConnection*, %tango.net.ftp.FtpClient.FtpResponse*)*> [#uses=1]
+ tail call fastcc void %this.exception(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %tango.net.ftp.FtpClient.FtpResponse* byval %response_arg)
+ br label %whilecond
+
+whilecond: ; preds = %endif25, %if, %entry
+ %pos.1 = phi i32 [ 1, %if ], [ %tmp70, %endif25 ], [ 1, %entry ] ; <i32> [#uses=4]
+ %len.1 = phi i32 [ 0, %if ], [ %len.0, %endif25 ], [ 0, %entry ] ; <i32> [#uses=5]
+ %.len14 = load i32* %tmp1 ; <i32> [#uses=2]
+ %tmp16 = icmp ult i32 %pos.1, %.len14 ; <i1> [#uses=1]
+ br i1 %tmp16, label %whilebody, label %endwhile
+
+whilebody: ; preds = %whilecond
+ %tmp18 = getelementptr %tango.net.ftp.FtpClient.FtpResponse* %response_arg, i32 0, i32 1, i32 1 ; <i8**> [#uses=1]
+ %.ptr = load i8** %tmp18 ; <i8*> [#uses=2]
+ %tmp20 = getelementptr i8* %.ptr, i32 %pos.1 ; <i8*> [#uses=1]
+ %tmp21 = load i8* %tmp20 ; <i8> [#uses=2]
+ %tmp23 = icmp eq i8 %tmp21, 34 ; <i1> [#uses=1]
+ br i1 %tmp23, label %if24, label %else
+
+if24: ; preds = %whilebody
+ %tmp27 = add i32 %pos.1, 1 ; <i32> [#uses=3]
+ %tmp31 = icmp eq i32 %tmp27, %.len14 ; <i1> [#uses=1]
+ br i1 %tmp31, label %endwhile, label %endif33
+
+endif33: ; preds = %if24
+ %tmp39 = getelementptr i8* %.ptr, i32 %tmp27 ; <i8*> [#uses=1]
+ %tmp40 = load i8* %tmp39 ; <i8> [#uses=2]
+ %tmp42 = icmp eq i8 %tmp40, 34 ; <i1> [#uses=1]
+ br i1 %tmp42, label %if43, label %endwhile
+
+if43: ; preds = %endif33
+ %tmp50 = getelementptr i8* %.gc_mem, i32 %len.1 ; <i8*> [#uses=1]
+ store i8 %tmp40, i8* %tmp50
+ br label %endif25
+
+else: ; preds = %whilebody
+ %tmp62 = getelementptr i8* %.gc_mem, i32 %len.1 ; <i8*> [#uses=1]
+ store i8 %tmp21, i8* %tmp62
+ br label %endif25
+
+endif25: ; preds = %else, %if43
+ %pos.0 = phi i32 [ %tmp27, %if43 ], [ %pos.1, %else ] ; <i32> [#uses=1]
+ %len.0 = add i32 %len.1, 1 ; <i32> [#uses=1]
+ %tmp70 = add i32 %pos.0, 1 ; <i32> [#uses=1]
+ br label %whilecond
+
+endwhile: ; preds = %endif33, %if24, %whilecond
+ %.gc_mem76 = tail call i8* @_d_arraysetlengthiT(%object.TypeInfo* @_D11TypeInfo_Aa6__initZ, i32 %len.1, i32 %.len, i8* %.gc_mem) ; <i8*> [#uses=1]
+ %insert = insertvalue %"byte[]" undef, i32 %len.1, 0 ; <%"byte[]"> [#uses=1]
+ %insert82 = insertvalue %"byte[]" %insert, i8* %.gc_mem76, 1 ; <%"byte[]"> [#uses=1]
+ ret %"byte[]" %insert82
+}
+
+define fastcc %tango.net.SocketConduit.SocketConduit* @_D5tango3net3ftp9FtpClient13FTPConnection13getDataSocketMFZC5tango3net13SocketConduit13SocketConduit(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg) {
+entry:
+ %tmp63207 = alloca [64 x i8], align 1 ; <[64 x i8]*> [#uses=1]
+ %__arrayArg139 = alloca [1 x %"byte[]"], align 8 ; <[1 x %"byte[]"]*> [#uses=1]
+ %__arrayArg138 = alloca [3 x %"byte[]"], align 8 ; <[3 x %"byte[]"]*> [#uses=3]
+ %.rettmp = alloca %tango.net.ftp.FtpClient.FtpResponse, align 8 ; <%tango.net.ftp.FtpClient.FtpResponse*> [#uses=1]
+ %tmp145208 = alloca [64 x i8], align 1 ; <[64 x i8]*> [#uses=1]
+ %foo = alloca [20 x i8], align 1 ; <[20 x i8]*> [#uses=12]
+ %__arrayArg140 = alloca [7 x %"byte[]"], align 8 ; <[7 x %"byte[]"]*> [#uses=7]
+ %__arrayArg141 = alloca [1 x %"byte[]"], align 8 ; <[1 x %"byte[]"]*> [#uses=1]
+ %.rettmp204 = alloca %tango.net.ftp.FtpClient.FtpResponse, align 8 ; <%tango.net.ftp.FtpClient.FtpResponse*> [#uses=1]
+ %tmp145208.sub = getelementptr [64 x i8]* %tmp145208, i32 0, i32 0 ; <i8*> [#uses=1]
+ %tmp63207.sub = getelementptr [64 x i8]* %tmp63207, i32 0, i32 0 ; <i8*> [#uses=1]
+ %tmp1 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 9 ; <%tango.net.SocketConduit.SocketConduit**> [#uses=1]
+ %tmp2 = load %tango.net.SocketConduit.SocketConduit** %tmp1 ; <%tango.net.SocketConduit.SocketConduit*> [#uses=2]
+ %tmp3 = icmp eq %tango.net.SocketConduit.SocketConduit* %tmp2, null ; <i1> [#uses=1]
+ br i1 %tmp3, label %endif, label %if
+
+if: ; preds = %entry
+ %tmp5 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 0 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl**> [#uses=1]
+ %tmp6 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp5 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
+ %"this.finishDataCommand@vtbl" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp6, i32 0, i32 44 ; <void (%tango.net.ftp.FtpClient.FTPConnection*, %tango.net.SocketConduit.SocketConduit*)**> [#uses=1]
+ %this.finishDataCommand = load void (%tango.net.ftp.FtpClient.FTPConnection*, %tango.net.SocketConduit.SocketConduit*)** %"this.finishDataCommand@vtbl", align 4 ; <void (%tango.net.ftp.FtpClient.FTPConnection*, %tango.net.SocketConduit.SocketConduit*)*> [#uses=1]
+ call fastcc void %this.finishDataCommand(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %tango.net.SocketConduit.SocketConduit* %tmp2)
+ br label %endif
+
+endif: ; preds = %if, %entry
+ %tmp13 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 6, i32 0 ; <i32*> [#uses=1]
+ %tmp14 = load i32* %tmp13 ; <i32> [#uses=1]
+ switch i32 %tmp14, label %default15 [
+ i32 1, label %endif.case_crit_edge
+ i32 0, label %case25
+ ]
+
+endif.case_crit_edge: ; preds = %endif
+ %tmp21.pre = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 0 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl**> [#uses=1]
+ br label %case
+
+default15: ; preds = %endif
+ %tmp17 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 0 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl**> [#uses=2]
+ %tmp18 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp17 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
+ %"this.exception@vtbl" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp18, i32 0, i32 5 ; <void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")**> [#uses=1]
+ %this.exception = load void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")** %"this.exception@vtbl", align 4 ; <void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")*> [#uses=1]
+ call fastcc void %this.exception(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" { i32 23, i8* getelementptr ([24 x i8]* @.str120, i32 0, i32 0) })
+ br label %case
+
+case: ; preds = %default15, %endif.case_crit_edge
+ %tmp21.pre-phi = phi %tango.net.ftp.FtpClient.FTPConnection.__vtbl** [ %tmp21.pre, %endif.case_crit_edge ], [ %tmp17, %default15 ] ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl**> [#uses=1]
+ %tmp22 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp21.pre-phi ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
+ %"this.connectPassive@vtbl" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp22, i32 0, i32 40 ; <%tango.net.SocketConduit.SocketConduit* (%tango.net.ftp.FtpClient.FTPConnection*)**> [#uses=1]
+ %this.connectPassive = load %tango.net.SocketConduit.SocketConduit* (%tango.net.ftp.FtpClient.FTPConnection*)** %"this.connectPassive@vtbl", align 4 ; <%tango.net.SocketConduit.SocketConduit* (%tango.net.ftp.FtpClient.FTPConnection*)*> [#uses=1]
+ %tmp24 = call fastcc %tango.net.SocketConduit.SocketConduit* %this.connectPassive(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg) ; <%tango.net.SocketConduit.SocketConduit*> [#uses=1]
+ ret %tango.net.SocketConduit.SocketConduit* %tmp24
+
+case25: ; preds = %endif
+ %tmp28 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 6, i32 1 ; <%tango.net.Socket.Address**> [#uses=1]
+ %tmp29 = load %tango.net.Socket.Address** %tmp28 ; <%tango.net.Socket.Address*> [#uses=1]
+ %tmp30 = bitcast %tango.net.Socket.Address* %tmp29 to %object.Object* ; <%object.Object*> [#uses=1]
+ %tmp31 = call %object.Object* @_d_dynamic_cast(%object.Object* %tmp30, %object.ClassInfo* @_D5tango3net6Socket11IPv4Address7__ClassZ) nounwind readonly ; <%object.Object*> [#uses=3]
+ %tmp32 = bitcast %object.Object* %tmp31 to %tango.net.Socket.IPv4Address* ; <%tango.net.Socket.IPv4Address*> [#uses=8]
+ %.newclass_gc_alloc = call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango3net13SocketConduit13SocketConduit7__ClassZ) ; <i8*> [#uses=5]
+ %.newclass_gc = bitcast i8* %.newclass_gc_alloc to %tango.net.SocketConduit.SocketConduit* ; <%tango.net.SocketConduit.SocketConduit*> [#uses=4]
+ %vtbl = bitcast i8* %.newclass_gc_alloc to %tango.net.SocketConduit.SocketConduit.__vtbl** ; <%tango.net.SocketConduit.SocketConduit.__vtbl**> [#uses=3]
+ store %tango.net.SocketConduit.SocketConduit.__vtbl* @_D5tango3net13SocketConduit13SocketConduit6__vtblZ, %tango.net.SocketConduit.SocketConduit.__vtbl** %vtbl
+ %monitor = getelementptr i8* %.newclass_gc_alloc, i32 4 ; <i8*> [#uses=1]
+ %0 = bitcast i8* %monitor to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %0
+ %tmp33 = getelementptr i8* %.newclass_gc_alloc, i32 8 ; <i8*> [#uses=1]
+ call void @llvm.memcpy.i32(i8* %tmp33, i8* bitcast (%15** getelementptr (%tango.net.SocketConduit.SocketConduit* bitcast (%23* @_D5tango3net13SocketConduit13SocketConduit6__initZ to %tango.net.SocketConduit.SocketConduit*), i32 0, i32 2) to i8*), i32 40, i32 1)
+ %tmp1.i.i.i = getelementptr i8* %.newclass_gc_alloc, i32 28 ; <i8*> [#uses=1]
+ %1 = bitcast i8* %tmp1.i.i.i to %tango.net.Socket.Socket** ; <%tango.net.Socket.Socket**> [#uses=1]
+ %.newclass_gc_alloc.i.i.i = call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango3net6Socket6Socket7__ClassZ) ; <i8*> [#uses=7]
+ %.newclass_gc.i.i.i = bitcast i8* %.newclass_gc_alloc.i.i.i to %tango.net.Socket.Socket* ; <%tango.net.Socket.Socket*> [#uses=2]
+ %vtbl.i.i.i = bitcast i8* %.newclass_gc_alloc.i.i.i to %tango.net.Socket.Socket.__vtbl** ; <%tango.net.Socket.Socket.__vtbl**> [#uses=1]
+ store %tango.net.Socket.Socket.__vtbl* @_D5tango3net6Socket6Socket6__vtblZ, %tango.net.Socket.Socket.__vtbl** %vtbl.i.i.i
+ %monitor.i.i.i = getelementptr i8* %.newclass_gc_alloc.i.i.i, i32 4 ; <i8*> [#uses=1]
+ %2 = bitcast i8* %monitor.i.i.i to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %2
+ %tmp2.i.i.i = getelementptr i8* %.newclass_gc_alloc.i.i.i, i32 8 ; <i8*> [#uses=1]
+ call void @llvm.memcpy.i32(i8* %tmp2.i.i.i, i8* bitcast (i32* getelementptr (%tango.net.Socket.Socket* bitcast (%25* @_D5tango3net6Socket6Socket6__initZ to %tango.net.Socket.Socket*), i32 0, i32 2) to i8*), i32 16, i32 1)
+ %tmp1.i.i.i.i = getelementptr i8* %.newclass_gc_alloc.i.i.i, i32 12 ; <i8*> [#uses=1]
+ %3 = bitcast i8* %tmp1.i.i.i.i to i32* ; <i32*> [#uses=1]
+ store i32 1, i32* %3
+ %tmp4.i.i.i.i = getelementptr i8* %.newclass_gc_alloc.i.i.i, i32 16 ; <i8*> [#uses=1]
+ %4 = bitcast i8* %tmp4.i.i.i.i to i32* ; <i32*> [#uses=1]
+ store i32 2, i32* %4
+ %tmp7.i.i.i.i = getelementptr i8* %.newclass_gc_alloc.i.i.i, i32 20 ; <i8*> [#uses=1]
+ %5 = bitcast i8* %tmp7.i.i.i.i to i32* ; <i32*> [#uses=1]
+ store i32 6, i32* %5
+ call fastcc void @_D5tango3net6Socket6Socket10initializeMFT5tango3net6Socket8socket_tZv(%tango.net.Socket.Socket* %.newclass_gc.i.i.i, i32 -1)
+ store %tango.net.Socket.Socket* %.newclass_gc.i.i.i, %tango.net.Socket.Socket** %1
+ %tmp40 = load %tango.net.SocketConduit.SocketConduit.__vtbl** %vtbl ; <%tango.net.SocketConduit.SocketConduit.__vtbl*> [#uses=1]
+ %"listener.bind@vtbl" = getelementptr %tango.net.SocketConduit.SocketConduit.__vtbl* %tmp40, i32 0, i32 19 ; <%tango.net.SocketConduit.SocketConduit* (%tango.net.SocketConduit.SocketConduit*, %tango.net.Socket.Address*)**> [#uses=1]
+ %listener.bind = load %tango.net.SocketConduit.SocketConduit* (%tango.net.SocketConduit.SocketConduit*, %tango.net.Socket.Address*)** %"listener.bind@vtbl", align 4 ; <%tango.net.SocketConduit.SocketConduit* (%tango.net.SocketConduit.SocketConduit*, %tango.net.Socket.Address*)*> [#uses=1]
+ %tmp44 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 6, i32 2 ; <%tango.net.Socket.Address**> [#uses=1]
+ %tmp45 = load %tango.net.Socket.Address** %tmp44 ; <%tango.net.Socket.Address*> [#uses=1]
+ %tmp46 = call fastcc %tango.net.SocketConduit.SocketConduit* %listener.bind(%tango.net.SocketConduit.SocketConduit* %.newclass_gc, %tango.net.Socket.Address* %tmp45) ; <%tango.net.SocketConduit.SocketConduit*> [#uses=0]
+ %tmp49 = load %tango.net.SocketConduit.SocketConduit.__vtbl** %vtbl ; <%tango.net.SocketConduit.SocketConduit.__vtbl*> [#uses=1]
+ %"listener.socket@vtbl" = getelementptr %tango.net.SocketConduit.SocketConduit.__vtbl* %tmp49, i32 0, i32 14 ; <%tango.net.Socket.Socket* (%tango.net.SocketConduit.SocketConduit*)**> [#uses=1]
+ %listener.socket = load %tango.net.Socket.Socket* (%tango.net.SocketConduit.SocketConduit*)** %"listener.socket@vtbl", align 4 ; <%tango.net.Socket.Socket* (%tango.net.SocketConduit.SocketConduit*)*> [#uses=1]
+ %tmp51 = call fastcc %tango.net.Socket.Socket* %listener.socket(%tango.net.SocketConduit.SocketConduit* %.newclass_gc) ; <%tango.net.Socket.Socket*> [#uses=2]
+ %tmp52 = getelementptr %tango.net.Socket.Socket* %tmp51, i32 0, i32 0 ; <%tango.net.Socket.Socket.__vtbl**> [#uses=1]
+ %tmp53 = load %tango.net.Socket.Socket.__vtbl** %tmp52 ; <%tango.net.Socket.Socket.__vtbl*> [#uses=1]
+ %"listener.socket().listen@vtbl" = getelementptr %tango.net.Socket.Socket.__vtbl* %tmp53, i32 0, i32 13 ; <%tango.net.Socket.Socket* (%tango.net.Socket.Socket*, i32)**> [#uses=1]
+ %"listener.socket().listen" = load %tango.net.Socket.Socket* (%tango.net.Socket.Socket*, i32)** %"listener.socket().listen@vtbl", align 4 ; <%tango.net.Socket.Socket* (%tango.net.Socket.Socket*, i32)*> [#uses=1]
+ %tmp55 = call fastcc %tango.net.Socket.Socket* %"listener.socket().listen"(%tango.net.Socket.Socket* %tmp51, i32 32) ; <%tango.net.Socket.Socket*> [#uses=0]
+ %tmp57 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 0 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl**> [#uses=5]
+ %tmp58 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp57 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
+ %"this.is_supported@vtbl" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp58, i32 0, i32 42 ; <i1 (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")**> [#uses=1]
+ %this.is_supported = load i1 (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")** %"this.is_supported@vtbl", align 4 ; <i1 (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")*> [#uses=1]
+ %tmp60 = call fastcc i1 %this.is_supported(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" { i32 4, i8* getelementptr ([5 x i8]* @.str122, i32 0, i32 0) }) ; <i1> [#uses=1]
+ br i1 %tmp60, label %if61, label %else
+
+if61: ; preds = %case25
+ %tmp66 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp57 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
+ %"this.sendCommand@vtbl" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp66, i32 0, i32 35 ; <void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]", %"char[][]")**> [#uses=1]
+ %this.sendCommand = load void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]", %"char[][]")** %"this.sendCommand@vtbl", align 4 ; <void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]", %"char[][]")*> [#uses=1]
+ %tmp68 = getelementptr [1 x %"byte[]"]* %__arrayArg139, i32 0, i32 0 ; <%"byte[]"*> [#uses=2]
+ %tmp70 = insertvalue %"byte[]" { i32 64, i8* undef }, i8* %tmp63207.sub, 1 ; <%"byte[]"> [#uses=1]
+ %tmp71 = getelementptr [3 x %"byte[]"]* %__arrayArg138, i32 0, i32 0 ; <%"byte[]"*> [#uses=2]
+ store %"byte[]" { i32 9, i8* getelementptr ([10 x i8]* @.str124, i32 0, i32 0) }, %"byte[]"* %tmp71, align 8
+ %tmp72 = getelementptr [3 x %"byte[]"]* %__arrayArg138, i32 0, i32 1 ; <%"byte[]"*> [#uses=1]
+ %tmp74 = bitcast %object.Object* %tmp31 to %tango.net.Socket.IPv4Address.__vtbl** ; <%tango.net.Socket.IPv4Address.__vtbl**> [#uses=2]
+ %tmp75 = load %tango.net.Socket.IPv4Address.__vtbl** %tmp74 ; <%tango.net.Socket.IPv4Address.__vtbl*> [#uses=1]
+ %"data_addr.toAddrString@vtbl" = getelementptr %tango.net.Socket.IPv4Address.__vtbl* %tmp75, i32 0, i32 10 ; <%"byte[]" (%tango.net.Socket.IPv4Address*)**> [#uses=1]
+ %data_addr.toAddrString = load %"byte[]" (%tango.net.Socket.IPv4Address*)** %"data_addr.toAddrString@vtbl", align 4 ; <%"byte[]" (%tango.net.Socket.IPv4Address*)*> [#uses=1]
+ %tmp77 = call fastcc %"byte[]" %data_addr.toAddrString(%tango.net.Socket.IPv4Address* %tmp32) ; <%"byte[]"> [#uses=1]
+ store %"byte[]" %tmp77, %"byte[]"* %tmp72, align 8
+ %tmp78 = getelementptr [3 x %"byte[]"]* %__arrayArg138, i32 0, i32 2 ; <%"byte[]"*> [#uses=1]
+ %tmp81 = load %tango.net.Socket.IPv4Address.__vtbl** %tmp74 ; <%tango.net.Socket.IPv4Address.__vtbl*> [#uses=1]
+ %"data_addr.toPortString@vtbl" = getelementptr %tango.net.Socket.IPv4Address.__vtbl* %tmp81, i32 0, i32 11 ; <%"byte[]" (%tango.net.Socket.IPv4Address*)**> [#uses=1]
+ %data_addr.toPortString = load %"byte[]" (%tango.net.Socket.IPv4Address*)** %"data_addr.toPortString@vtbl", align 4 ; <%"byte[]" (%tango.net.Socket.IPv4Address*)*> [#uses=1]
+ %tmp83 = call fastcc %"byte[]" %data_addr.toPortString(%tango.net.Socket.IPv4Address* %tmp32) ; <%"byte[]"> [#uses=1]
+ store %"byte[]" %tmp83, %"byte[]"* %tmp78, align 8
+ %tmp85 = insertvalue %"char[][]" { i32 3, %"byte[]"* undef }, %"byte[]"* %tmp71, 1 ; <%"char[][]"> [#uses=1]
+ %tmp86 = call fastcc %"byte[]" @_D5tango4text4Util13__T6layoutTaZ6layoutFAaAAaXAa(%"byte[]" %tmp70, %"char[][]" %tmp85) ; <%"byte[]"> [#uses=1]
+ store %"byte[]" %tmp86, %"byte[]"* %tmp68, align 8
+ %tmp88 = insertvalue %"char[][]" { i32 1, %"byte[]"* undef }, %"byte[]"* %tmp68, 1 ; <%"char[][]"> [#uses=1]
+ call fastcc void %this.sendCommand(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" { i32 4, i8* getelementptr ([5 x i8]* @.str123, i32 0, i32 0) }, %"char[][]" %tmp88)
+ %tmp91 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp57 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
+ %"this.readResponse@vtbl" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp91, i32 0, i32 36 ; <void (%tango.net.ftp.FtpClient.FtpResponse*, %tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")**> [#uses=1]
+ %this.readResponse = load void (%tango.net.ftp.FtpClient.FtpResponse*, %tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")** %"this.readResponse@vtbl", align 4 ; <void (%tango.net.ftp.FtpClient.FtpResponse*, %tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")*> [#uses=1]
+ call fastcc void %this.readResponse(%tango.net.ftp.FtpClient.FtpResponse* noalias nocapture sret %.rettmp, %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" { i32 3, i8* getelementptr ([4 x i8]* @.str125, i32 0, i32 0) })
+ ret %tango.net.SocketConduit.SocketConduit* %.newclass_gc
+
+else: ; preds = %case25
+ %tmp94 = bitcast %object.Object* %tmp31 to %tango.net.Socket.IPv4Address.__vtbl** ; <%tango.net.Socket.IPv4Address.__vtbl**> [#uses=6]
+ %tmp95 = load %tango.net.Socket.IPv4Address.__vtbl** %tmp94 ; <%tango.net.Socket.IPv4Address.__vtbl*> [#uses=1]
+ %"data_addr.addr@vtbl" = getelementptr %tango.net.Socket.IPv4Address.__vtbl* %tmp95, i32 0, i32 9 ; <i32 (%tango.net.Socket.IPv4Address*)**> [#uses=1]
+ %data_addr.addr = load i32 (%tango.net.Socket.IPv4Address*)** %"data_addr.addr@vtbl", align 4 ; <i32 (%tango.net.Socket.IPv4Address*)*> [#uses=1]
+ %tmp97 = call fastcc i32 %data_addr.addr(%tango.net.Socket.IPv4Address* %tmp32) ; <i32> [#uses=1]
+ %tmp98 = lshr i32 %tmp97, 24 ; <i32> [#uses=1]
+ %tmp102 = load %tango.net.Socket.IPv4Address.__vtbl** %tmp94 ; <%tango.net.Socket.IPv4Address.__vtbl*> [#uses=1]
+ %"data_addr.addr@vtbl103" = getelementptr %tango.net.Socket.IPv4Address.__vtbl* %tmp102, i32 0, i32 9 ; <i32 (%tango.net.Socket.IPv4Address*)**> [#uses=1]
+ %data_addr.addr105 = load i32 (%tango.net.Socket.IPv4Address*)** %"data_addr.addr@vtbl103", align 4 ; <i32 (%tango.net.Socket.IPv4Address*)*> [#uses=1]
+ %tmp106 = call fastcc i32 %data_addr.addr105(%tango.net.Socket.IPv4Address* %tmp32) ; <i32> [#uses=1]
+ %tmp107 = lshr i32 %tmp106, 16 ; <i32> [#uses=1]
+ %tmp108 = and i32 %tmp107, 255 ; <i32> [#uses=1]
+ %tmp111 = load %tango.net.Socket.IPv4Address.__vtbl** %tmp94 ; <%tango.net.Socket.IPv4Address.__vtbl*> [#uses=1]
+ %"data_addr.addr@vtbl112" = getelementptr %tango.net.Socket.IPv4Address.__vtbl* %tmp111, i32 0, i32 9 ; <i32 (%tango.net.Socket.IPv4Address*)**> [#uses=1]
+ %data_addr.addr114 = load i32 (%tango.net.Socket.IPv4Address*)** %"data_addr.addr@vtbl112", align 4 ; <i32 (%tango.net.Socket.IPv4Address*)*> [#uses=1]
+ %tmp115 = call fastcc i32 %data_addr.addr114(%tango.net.Socket.IPv4Address* %tmp32) ; <i32> [#uses=1]
+ %tmp116 = lshr i32 %tmp115, 8 ; <i32> [#uses=1]
+ %tmp117 = and i32 %tmp116, 255 ; <i32> [#uses=1]
+ %tmp120 = load %tango.net.Socket.IPv4Address.__vtbl** %tmp94 ; <%tango.net.Socket.IPv4Address.__vtbl*> [#uses=1]
+ %"data_addr.addr@vtbl121" = getelementptr %tango.net.Socket.IPv4Address.__vtbl* %tmp120, i32 0, i32 9 ; <i32 (%tango.net.Socket.IPv4Address*)**> [#uses=1]
+ %data_addr.addr123 = load i32 (%tango.net.Socket.IPv4Address*)** %"data_addr.addr@vtbl121", align 4 ; <i32 (%tango.net.Socket.IPv4Address*)*> [#uses=1]
+ %tmp124 = call fastcc i32 %data_addr.addr123(%tango.net.Socket.IPv4Address* %tmp32) ; <i32> [#uses=1]
+ %tmp126 = and i32 %tmp124, 255 ; <i32> [#uses=1]
+ %tmp129 = load %tango.net.Socket.IPv4Address.__vtbl** %tmp94 ; <%tango.net.Socket.IPv4Address.__vtbl*> [#uses=1]
+ %"data_addr.port@vtbl" = getelementptr %tango.net.Socket.IPv4Address.__vtbl* %tmp129, i32 0, i32 8 ; <i16 (%tango.net.Socket.IPv4Address*)**> [#uses=1]
+ %data_addr.port = load i16 (%tango.net.Socket.IPv4Address*)** %"data_addr.port@vtbl", align 4 ; <i16 (%tango.net.Socket.IPv4Address*)*> [#uses=1]
+ %tmp131 = call fastcc zeroext i16 %data_addr.port(%tango.net.Socket.IPv4Address* %tmp32) ; <i16> [#uses=1]
+ %tmp132 = zext i16 %tmp131 to i32 ; <i32> [#uses=1]
+ %tmp133210 = lshr i32 %tmp132, 8 ; <i32> [#uses=1]
+ %tmp137 = load %tango.net.Socket.IPv4Address.__vtbl** %tmp94 ; <%tango.net.Socket.IPv4Address.__vtbl*> [#uses=1]
+ %"data_addr.port@vtbl138" = getelementptr %tango.net.Socket.IPv4Address.__vtbl* %tmp137, i32 0, i32 8 ; <i16 (%tango.net.Socket.IPv4Address*)**> [#uses=1]
+ %data_addr.port140 = load i16 (%tango.net.Socket.IPv4Address*)** %"data_addr.port@vtbl138", align 4 ; <i16 (%tango.net.Socket.IPv4Address*)*> [#uses=1]
+ %tmp141 = call fastcc zeroext i16 %data_addr.port140(%tango.net.Socket.IPv4Address* %tmp32) ; <i16> [#uses=1]
+ %tmp142 = zext i16 %tmp141 to i32 ; <i32> [#uses=1]
+ %tmp144 = and i32 %tmp142, 255 ; <i32> [#uses=1]
+ %tmp147 = insertvalue %"byte[]" { i32 64, i8* undef }, i8* %tmp145208.sub, 1 ; <%"byte[]"> [#uses=1]
+ %tmp148 = getelementptr [7 x %"byte[]"]* %__arrayArg140, i32 0, i32 0 ; <%"byte[]"*> [#uses=2]
+ store %"byte[]" { i32 17, i8* getelementptr ([18 x i8]* @.str126, i32 0, i32 0) }, %"byte[]"* %tmp148, align 8
+ %tmp149 = getelementptr [7 x %"byte[]"]* %__arrayArg140, i32 0, i32 1 ; <%"byte[]"*> [#uses=1]
+ %tmp49.i = load %"byte[]"* getelementptr ([8 x %nest.parseListLine]* @.constarray262, i32 0, i32 0, i32 2) ; <%"byte[]"> [#uses=1]
+ %tmp49178.i = extractvalue %"byte[]" %tmp49.i, 1 ; <i8*> [#uses=1]
+ %tmp52.i = load i32* getelementptr ([8 x %nest.parseListLine]* @.constarray262, i32 0, i32 0, i32 0), align 8 ; <i32> [#uses=2]
+ %tmp56.i = getelementptr [20 x i8]* %foo, i32 0, i32 3 ; <i8*> [#uses=1]
+ br i1 false, label %dowhile82.i, label %if59.i
+
+if59.i: ; preds = %else
+ br label %dowhile.i
+
+dowhile.i: ; preds = %andand.i, %if59.i
+ %p.0.i = phi i8* [ %tmp56.i, %if59.i ], [ %tmp65.i, %andand.i ] ; <i8*> [#uses=1]
+ %v.0.i = phi i32 [ %tmp98, %if59.i ], [ %tmp75.i, %andand.i ] ; <i32> [#uses=2]
+ %len.0.i = phi i32 [ 3, %if59.i ], [ %tmp78.i, %andand.i ] ; <i32> [#uses=3]
+ %tmp65.i = getelementptr i8* %p.0.i, i32 -1 ; <i8*> [#uses=2]
+ %tmp68.i = urem i32 %v.0.i, %tmp52.i ; <i32> [#uses=1]
+ %tmp71.i = getelementptr i8* %tmp49178.i, i32 %tmp68.i ; <i8*> [#uses=1]
+ %tmp72.i = load i8* %tmp71.i ; <i8> [#uses=1]
+ store i8 %tmp72.i, i8* %tmp65.i
+ %tmp75.i = udiv i32 %v.0.i, %tmp52.i ; <i32> [#uses=2]
+ %tmp76.i = icmp eq i32 %tmp75.i, 0 ; <i1> [#uses=1]
+ br i1 %tmp76.i, label %condtrue.i, label %andand.i
+
+andand.i: ; preds = %dowhile.i
+ %tmp78.i = add i32 %len.0.i, -1 ; <i32> [#uses=2]
+ %tmp79.i = icmp eq i32 %len.0.i, 1 ; <i1> [#uses=1]
+ br i1 %tmp79.i, label %condtrue.i, label %dowhile.i
+
+dowhile82.i: ; preds = %andand100.i, %else
+ br i1 undef, label %condtrue.i, label %andand100.i
+
+andand100.i: ; preds = %dowhile82.i
+ br i1 undef, label %condtrue.i, label %dowhile82.i
+
+condtrue.i: ; preds = %andand100.i, %dowhile82.i, %andand.i, %dowhile.i
+ %len.1.i = phi i32 [ %tmp78.i, %andand.i ], [ %len.0.i, %dowhile.i ], [ undef, %andand100.i ], [ undef, %dowhile82.i ] ; <i32> [#uses=2]
+ %tmp112.i = load %"byte[]"* getelementptr ([8 x %nest.parseListLine]* @.constarray262, i32 0, i32 0, i32 1) ; <%"byte[]"> [#uses=2]
+ %condtmp.0175.i = extractvalue %"byte[]" %tmp112.i, 0 ; <i32> [#uses=3]
+ %tmp117.i = icmp ugt i32 %len.1.i, %condtmp.0175.i ; <i1> [#uses=1]
+ br i1 %tmp117.i, label %if118.i, label %_D5tango4text7convert7Integer16__T9formatterTaZ9formatterFAalaaiZAa.exit
+
+if118.i: ; preds = %condtrue.i
+ %condtmp.0176.i = extractvalue %"byte[]" %tmp112.i, 1 ; <i8*> [#uses=1]
+ %tmp123.i = add i32 %condtmp.0175.i, 1 ; <i32> [#uses=1]
+ %tmp124.i = sub i32 %len.1.i, %tmp123.i ; <i32> [#uses=2]
+ %tmp156.i = getelementptr [20 x i8]* %foo, i32 0, i32 %tmp124.i ; <i8*> [#uses=2]
+ call void @llvm.memcpy.i32(i8* %tmp156.i, i8* %condtmp.0176.i, i32 %condtmp.0175.i, i32 1)
+ %tmp170.i = sub i32 3, %tmp124.i ; <i32> [#uses=1]
+ %tmp171.i = insertvalue %"byte[]" undef, i32 %tmp170.i, 0 ; <%"byte[]"> [#uses=1]
+ %tmp172.i = insertvalue %"byte[]" %tmp171.i, i8* %tmp156.i, 1 ; <%"byte[]"> [#uses=1]
+ br label %_D5tango4text7convert7Integer16__T9formatterTaZ9formatterFAalaaiZAa.exit
+
+_D5tango4text7convert7Integer16__T9formatterTaZ9formatterFAalaaiZAa.exit: ; preds = %if118.i, %condtrue.i
+ %tmp6.i.i408 = phi %"byte[]" [ %tmp172.i, %if118.i ], [ { i32 24, i8* getelementptr ([25 x i8]* @.str265, i32 0, i32 0) }, %condtrue.i ] ; <%"byte[]"> [#uses=1]
+ store %"byte[]" %tmp6.i.i408, %"byte[]"* %tmp149, align 8
+ %tmp155 = getelementptr [7 x %"byte[]"]* %__arrayArg140, i32 0, i32 2 ; <%"byte[]"*> [#uses=1]
+ %tmp49.i423 = load %"byte[]"* getelementptr ([8 x %nest.parseListLine]* @.constarray262, i32 0, i32 0, i32 2) ; <%"byte[]"> [#uses=1]
+ %tmp49178.i424 = extractvalue %"byte[]" %tmp49.i423, 1 ; <i8*> [#uses=1]
+ %tmp52.i426 = load i32* getelementptr ([8 x %nest.parseListLine]* @.constarray262, i32 0, i32 0, i32 0), align 8 ; <i32> [#uses=2]
+ %tmp56.i427 = getelementptr [20 x i8]* %foo, i32 0, i32 6 ; <i8*> [#uses=1]
+ br i1 false, label %dowhile82.i456, label %if59.i431
+
+if59.i431: ; preds = %_D5tango4text7convert7Integer16__T9formatterTaZ9formatterFAalaaiZAa.exit
+ br label %dowhile.i441
+
+dowhile.i441: ; preds = %andand.i444, %if59.i431
+ %p.0.i432 = phi i8* [ %tmp56.i427, %if59.i431 ], [ %tmp65.i435, %andand.i444 ] ; <i8*> [#uses=1]
+ %v.0.i433 = phi i32 [ %tmp108, %if59.i431 ], [ %tmp75.i439, %andand.i444 ] ; <i32> [#uses=2]
+ %len.0.i434 = phi i32 [ 3, %if59.i431 ], [ %tmp78.i442, %andand.i444 ] ; <i32> [#uses=3]
+ %tmp65.i435 = getelementptr i8* %p.0.i432, i32 -1 ; <i8*> [#uses=2]
+ %tmp68.i436 = urem i32 %v.0.i433, %tmp52.i426 ; <i32> [#uses=1]
+ %tmp71.i437 = getelementptr i8* %tmp49178.i424, i32 %tmp68.i436 ; <i8*> [#uses=1]
+ %tmp72.i438 = load i8* %tmp71.i437 ; <i8> [#uses=1]
+ store i8 %tmp72.i438, i8* %tmp65.i435
+ %tmp75.i439 = udiv i32 %v.0.i433, %tmp52.i426 ; <i32> [#uses=2]
+ %tmp76.i440 = icmp eq i32 %tmp75.i439, 0 ; <i1> [#uses=1]
+ br i1 %tmp76.i440, label %condtrue.i466, label %andand.i444
+
+andand.i444: ; preds = %dowhile.i441
+ %tmp78.i442 = add i32 %len.0.i434, -1 ; <i32> [#uses=2]
+ %tmp79.i443 = icmp eq i32 %len.0.i434, 1 ; <i1> [#uses=1]
+ br i1 %tmp79.i443, label %condtrue.i466, label %dowhile.i441
+
+dowhile82.i456: ; preds = %andand100.i459, %_D5tango4text7convert7Integer16__T9formatterTaZ9formatterFAalaaiZAa.exit
+ br i1 undef, label %condtrue.i466, label %andand100.i459
+
+andand100.i459: ; preds = %dowhile82.i456
+ br i1 undef, label %condtrue.i466, label %dowhile82.i456
+
+condtrue.i466: ; preds = %andand100.i459, %dowhile82.i456, %andand.i444, %dowhile.i441
+ %len.1.i461 = phi i32 [ %tmp78.i442, %andand.i444 ], [ %len.0.i434, %dowhile.i441 ], [ undef, %andand100.i459 ], [ undef, %dowhile82.i456 ] ; <i32> [#uses=2]
+ %tmp112.i465 = load %"byte[]"* getelementptr ([8 x %nest.parseListLine]* @.constarray262, i32 0, i32 0, i32 1) ; <%"byte[]"> [#uses=2]
+ %condtmp.0175.i468 = extractvalue %"byte[]" %tmp112.i465, 0 ; <i32> [#uses=3]
+ %tmp117.i470 = icmp ugt i32 %len.1.i461, %condtmp.0175.i468 ; <i1> [#uses=1]
+ br i1 %tmp117.i470, label %if118.i474, label %_D5tango4text7convert7Integer16__T9formatterTaZ9formatterFAalaaiZAa.exit482
+
+if118.i474: ; preds = %condtrue.i466
+ %condtmp.0176.i469 = extractvalue %"byte[]" %tmp112.i465, 1 ; <i8*> [#uses=1]
+ %tmp123.i472 = add i32 %condtmp.0175.i468, 1 ; <i32> [#uses=1]
+ %tmp124.i473 = sub i32 %len.1.i461, %tmp123.i472 ; <i32> [#uses=2]
+ %tmp157.sum788 = add i32 %tmp124.i473, 3 ; <i32> [#uses=1]
+ %tmp156.i476 = getelementptr [20 x i8]* %foo, i32 0, i32 %tmp157.sum788 ; <i8*> [#uses=2]
+ call void @llvm.memcpy.i32(i8* %tmp156.i476, i8* %condtmp.0176.i469, i32 %condtmp.0175.i468, i32 1)
+ %tmp170.i477 = sub i32 3, %tmp124.i473 ; <i32> [#uses=1]
+ %tmp171.i478 = insertvalue %"byte[]" undef, i32 %tmp170.i477, 0 ; <%"byte[]"> [#uses=1]
+ %tmp172.i479 = insertvalue %"byte[]" %tmp171.i478, i8* %tmp156.i476, 1 ; <%"byte[]"> [#uses=1]
+ br label %_D5tango4text7convert7Integer16__T9formatterTaZ9formatterFAalaaiZAa.exit482
+
+_D5tango4text7convert7Integer16__T9formatterTaZ9formatterFAalaaiZAa.exit482: ; preds = %if118.i474, %condtrue.i466
+ %tmp6.i.i248483 = phi %"byte[]" [ %tmp172.i479, %if118.i474 ], [ { i32 24, i8* getelementptr ([25 x i8]* @.str265, i32 0, i32 0) }, %condtrue.i466 ] ; <%"byte[]"> [#uses=1]
+ store %"byte[]" %tmp6.i.i248483, %"byte[]"* %tmp155, align 8
+ %tmp161 = getelementptr [7 x %"byte[]"]* %__arrayArg140, i32 0, i32 3 ; <%"byte[]"*> [#uses=1]
+ %tmp49.i498 = load %"byte[]"* getelementptr ([8 x %nest.parseListLine]* @.constarray262, i32 0, i32 0, i32 2) ; <%"byte[]"> [#uses=1]
+ %tmp49178.i499 = extractvalue %"byte[]" %tmp49.i498, 1 ; <i8*> [#uses=1]
+ %tmp52.i501 = load i32* getelementptr ([8 x %nest.parseListLine]* @.constarray262, i32 0, i32 0, i32 0), align 8 ; <i32> [#uses=2]
+ %tmp56.i502 = getelementptr [20 x i8]* %foo, i32 0, i32 9 ; <i8*> [#uses=1]
+ br i1 false, label %dowhile82.i531, label %if59.i506
+
+if59.i506: ; preds = %_D5tango4text7convert7Integer16__T9formatterTaZ9formatterFAalaaiZAa.exit482
+ br label %dowhile.i516
+
+dowhile.i516: ; preds = %andand.i519, %if59.i506
+ %p.0.i507 = phi i8* [ %tmp56.i502, %if59.i506 ], [ %tmp65.i510, %andand.i519 ] ; <i8*> [#uses=1]
+ %v.0.i508 = phi i32 [ %tmp117, %if59.i506 ], [ %tmp75.i514, %andand.i519 ] ; <i32> [#uses=2]
+ %len.0.i509 = phi i32 [ 3, %if59.i506 ], [ %tmp78.i517, %andand.i519 ] ; <i32> [#uses=3]
+ %tmp65.i510 = getelementptr i8* %p.0.i507, i32 -1 ; <i8*> [#uses=2]
+ %tmp68.i511 = urem i32 %v.0.i508, %tmp52.i501 ; <i32> [#uses=1]
+ %tmp71.i512 = getelementptr i8* %tmp49178.i499, i32 %tmp68.i511 ; <i8*> [#uses=1]
+ %tmp72.i513 = load i8* %tmp71.i512 ; <i8> [#uses=1]
+ store i8 %tmp72.i513, i8* %tmp65.i510
+ %tmp75.i514 = udiv i32 %v.0.i508, %tmp52.i501 ; <i32> [#uses=2]
+ %tmp76.i515 = icmp eq i32 %tmp75.i514, 0 ; <i1> [#uses=1]
+ br i1 %tmp76.i515, label %condtrue.i541, label %andand.i519
+
+andand.i519: ; preds = %dowhile.i516
+ %tmp78.i517 = add i32 %len.0.i509, -1 ; <i32> [#uses=2]
+ %tmp79.i518 = icmp eq i32 %len.0.i509, 1 ; <i1> [#uses=1]
+ br i1 %tmp79.i518, label %condtrue.i541, label %dowhile.i516
+
+dowhile82.i531: ; preds = %andand100.i534, %_D5tango4text7convert7Integer16__T9formatterTaZ9formatterFAalaaiZAa.exit482
+ br i1 undef, label %condtrue.i541, label %andand100.i534
+
+andand100.i534: ; preds = %dowhile82.i531
+ br i1 undef, label %condtrue.i541, label %dowhile82.i531
+
+condtrue.i541: ; preds = %andand100.i534, %dowhile82.i531, %andand.i519, %dowhile.i516
+ %len.1.i536 = phi i32 [ %tmp78.i517, %andand.i519 ], [ %len.0.i509, %dowhile.i516 ], [ undef, %andand100.i534 ], [ undef, %dowhile82.i531 ] ; <i32> [#uses=2]
+ %tmp112.i540 = load %"byte[]"* getelementptr ([8 x %nest.parseListLine]* @.constarray262, i32 0, i32 0, i32 1) ; <%"byte[]"> [#uses=2]
+ %condtmp.0175.i543 = extractvalue %"byte[]" %tmp112.i540, 0 ; <i32> [#uses=3]
+ %tmp117.i545 = icmp ugt i32 %len.1.i536, %condtmp.0175.i543 ; <i1> [#uses=1]
+ br i1 %tmp117.i545, label %if118.i549, label %_D5tango4text7convert7Integer16__T9formatterTaZ9formatterFAalaaiZAa.exit557
+
+if118.i549: ; preds = %condtrue.i541
+ %condtmp.0176.i544 = extractvalue %"byte[]" %tmp112.i540, 1 ; <i8*> [#uses=1]
+ %tmp123.i547 = add i32 %condtmp.0175.i543, 1 ; <i32> [#uses=1]
+ %tmp124.i548 = sub i32 %len.1.i536, %tmp123.i547 ; <i32> [#uses=2]
+ %tmp163.sum787 = add i32 %tmp124.i548, 6 ; <i32> [#uses=1]
+ %tmp156.i551 = getelementptr [20 x i8]* %foo, i32 0, i32 %tmp163.sum787 ; <i8*> [#uses=2]
+ call void @llvm.memcpy.i32(i8* %tmp156.i551, i8* %condtmp.0176.i544, i32 %condtmp.0175.i543, i32 1)
+ %tmp170.i552 = sub i32 3, %tmp124.i548 ; <i32> [#uses=1]
+ %tmp171.i553 = insertvalue %"byte[]" undef, i32 %tmp170.i552, 0 ; <%"byte[]"> [#uses=1]
+ %tmp172.i554 = insertvalue %"byte[]" %tmp171.i553, i8* %tmp156.i551, 1 ; <%"byte[]"> [#uses=1]
+ br label %_D5tango4text7convert7Integer16__T9formatterTaZ9formatterFAalaaiZAa.exit557
+
+_D5tango4text7convert7Integer16__T9formatterTaZ9formatterFAalaaiZAa.exit557: ; preds = %if118.i549, %condtrue.i541
+ %tmp6.i.i286558 = phi %"byte[]" [ %tmp172.i554, %if118.i549 ], [ { i32 24, i8* getelementptr ([25 x i8]* @.str265, i32 0, i32 0) }, %condtrue.i541 ] ; <%"byte[]"> [#uses=1]
+ store %"byte[]" %tmp6.i.i286558, %"byte[]"* %tmp161, align 8
+ %tmp167 = getelementptr [7 x %"byte[]"]* %__arrayArg140, i32 0, i32 4 ; <%"byte[]"*> [#uses=1]
+ %tmp49.i573 = load %"byte[]"* getelementptr ([8 x %nest.parseListLine]* @.constarray262, i32 0, i32 0, i32 2) ; <%"byte[]"> [#uses=1]
+ %tmp49178.i574 = extractvalue %"byte[]" %tmp49.i573, 1 ; <i8*> [#uses=1]
+ %tmp52.i576 = load i32* getelementptr ([8 x %nest.parseListLine]* @.constarray262, i32 0, i32 0, i32 0), align 8 ; <i32> [#uses=2]
+ %tmp56.i577 = getelementptr [20 x i8]* %foo, i32 0, i32 12 ; <i8*> [#uses=1]
+ br i1 false, label %dowhile82.i606, label %if59.i581
+
+if59.i581: ; preds = %_D5tango4text7convert7Integer16__T9formatterTaZ9formatterFAalaaiZAa.exit557
+ br label %dowhile.i591
+
+dowhile.i591: ; preds = %andand.i594, %if59.i581
+ %p.0.i582 = phi i8* [ %tmp56.i577, %if59.i581 ], [ %tmp65.i585, %andand.i594 ] ; <i8*> [#uses=1]
+ %v.0.i583 = phi i32 [ %tmp126, %if59.i581 ], [ %tmp75.i589, %andand.i594 ] ; <i32> [#uses=2]
+ %len.0.i584 = phi i32 [ 3, %if59.i581 ], [ %tmp78.i592, %andand.i594 ] ; <i32> [#uses=3]
+ %tmp65.i585 = getelementptr i8* %p.0.i582, i32 -1 ; <i8*> [#uses=2]
+ %tmp68.i586 = urem i32 %v.0.i583, %tmp52.i576 ; <i32> [#uses=1]
+ %tmp71.i587 = getelementptr i8* %tmp49178.i574, i32 %tmp68.i586 ; <i8*> [#uses=1]
+ %tmp72.i588 = load i8* %tmp71.i587 ; <i8> [#uses=1]
+ store i8 %tmp72.i588, i8* %tmp65.i585
+ %tmp75.i589 = udiv i32 %v.0.i583, %tmp52.i576 ; <i32> [#uses=2]
+ %tmp76.i590 = icmp eq i32 %tmp75.i589, 0 ; <i1> [#uses=1]
+ br i1 %tmp76.i590, label %condtrue.i616, label %andand.i594
+
+andand.i594: ; preds = %dowhile.i591
+ %tmp78.i592 = add i32 %len.0.i584, -1 ; <i32> [#uses=2]
+ %tmp79.i593 = icmp eq i32 %len.0.i584, 1 ; <i1> [#uses=1]
+ br i1 %tmp79.i593, label %condtrue.i616, label %dowhile.i591
+
+dowhile82.i606: ; preds = %andand100.i609, %_D5tango4text7convert7Integer16__T9formatterTaZ9formatterFAalaaiZAa.exit557
+ br i1 undef, label %condtrue.i616, label %andand100.i609
+
+andand100.i609: ; preds = %dowhile82.i606
+ br i1 undef, label %condtrue.i616, label %dowhile82.i606
+
+condtrue.i616: ; preds = %andand100.i609, %dowhile82.i606, %andand.i594, %dowhile.i591
+ %len.1.i611 = phi i32 [ %tmp78.i592, %andand.i594 ], [ %len.0.i584, %dowhile.i591 ], [ undef, %andand100.i609 ], [ undef, %dowhile82.i606 ] ; <i32> [#uses=2]
+ %tmp112.i615 = load %"byte[]"* getelementptr ([8 x %nest.parseListLine]* @.constarray262, i32 0, i32 0, i32 1) ; <%"byte[]"> [#uses=2]
+ %condtmp.0175.i618 = extractvalue %"byte[]" %tmp112.i615, 0 ; <i32> [#uses=3]
+ %tmp117.i620 = icmp ugt i32 %len.1.i611, %condtmp.0175.i618 ; <i1> [#uses=1]
+ br i1 %tmp117.i620, label %if118.i624, label %_D5tango4text7convert7Integer16__T9formatterTaZ9formatterFAalaaiZAa.exit632
+
+if118.i624: ; preds = %condtrue.i616
+ %condtmp.0176.i619 = extractvalue %"byte[]" %tmp112.i615, 1 ; <i8*> [#uses=1]
+ %tmp123.i622 = add i32 %condtmp.0175.i618, 1 ; <i32> [#uses=1]
+ %tmp124.i623 = sub i32 %len.1.i611, %tmp123.i622 ; <i32> [#uses=2]
+ %tmp169.sum786 = add i32 %tmp124.i623, 9 ; <i32> [#uses=1]
+ %tmp156.i626 = getelementptr [20 x i8]* %foo, i32 0, i32 %tmp169.sum786 ; <i8*> [#uses=2]
+ call void @llvm.memcpy.i32(i8* %tmp156.i626, i8* %condtmp.0176.i619, i32 %condtmp.0175.i618, i32 1)
+ %tmp170.i627 = sub i32 3, %tmp124.i623 ; <i32> [#uses=1]
+ %tmp171.i628 = insertvalue %"byte[]" undef, i32 %tmp170.i627, 0 ; <%"byte[]"> [#uses=1]
+ %tmp172.i629 = insertvalue %"byte[]" %tmp171.i628, i8* %tmp156.i626, 1 ; <%"byte[]"> [#uses=1]
+ br label %_D5tango4text7convert7Integer16__T9formatterTaZ9formatterFAalaaiZAa.exit632
+
+_D5tango4text7convert7Integer16__T9formatterTaZ9formatterFAalaaiZAa.exit632: ; preds = %if118.i624, %condtrue.i616
+ %tmp6.i.i400633 = phi %"byte[]" [ %tmp172.i629, %if118.i624 ], [ { i32 24, i8* getelementptr ([25 x i8]* @.str265, i32 0, i32 0) }, %condtrue.i616 ] ; <%"byte[]"> [#uses=1]
+ store %"byte[]" %tmp6.i.i400633, %"byte[]"* %tmp167, align 8
+ %tmp173 = getelementptr [7 x %"byte[]"]* %__arrayArg140, i32 0, i32 5 ; <%"byte[]"*> [#uses=1]
+ %tmp49.i723 = load %"byte[]"* getelementptr ([8 x %nest.parseListLine]* @.constarray262, i32 0, i32 0, i32 2) ; <%"byte[]"> [#uses=1]
+ %tmp49178.i724 = extractvalue %"byte[]" %tmp49.i723, 1 ; <i8*> [#uses=1]
+ %tmp52.i726 = load i32* getelementptr ([8 x %nest.parseListLine]* @.constarray262, i32 0, i32 0, i32 0), align 8 ; <i32> [#uses=2]
+ %tmp56.i727 = getelementptr [20 x i8]* %foo, i32 0, i32 15 ; <i8*> [#uses=1]
+ br i1 false, label %dowhile82.i756, label %if59.i731
+
+if59.i731: ; preds = %_D5tango4text7convert7Integer16__T9formatterTaZ9formatterFAalaaiZAa.exit632
+ br label %dowhile.i741
+
+dowhile.i741: ; preds = %andand.i744, %if59.i731
+ %p.0.i732 = phi i8* [ %tmp56.i727, %if59.i731 ], [ %tmp65.i735, %andand.i744 ] ; <i8*> [#uses=1]
+ %v.0.i733 = phi i32 [ %tmp133210, %if59.i731 ], [ %tmp75.i739, %andand.i744 ] ; <i32> [#uses=2]
+ %len.0.i734 = phi i32 [ 3, %if59.i731 ], [ %tmp78.i742, %andand.i744 ] ; <i32> [#uses=3]
+ %tmp65.i735 = getelementptr i8* %p.0.i732, i32 -1 ; <i8*> [#uses=2]
+ %tmp68.i736 = urem i32 %v.0.i733, %tmp52.i726 ; <i32> [#uses=1]
+ %tmp71.i737 = getelementptr i8* %tmp49178.i724, i32 %tmp68.i736 ; <i8*> [#uses=1]
+ %tmp72.i738 = load i8* %tmp71.i737 ; <i8> [#uses=1]
+ store i8 %tmp72.i738, i8* %tmp65.i735
+ %tmp75.i739 = udiv i32 %v.0.i733, %tmp52.i726 ; <i32> [#uses=2]
+ %tmp76.i740 = icmp eq i32 %tmp75.i739, 0 ; <i1> [#uses=1]
+ br i1 %tmp76.i740, label %condtrue.i766, label %andand.i744
+
+andand.i744: ; preds = %dowhile.i741
+ %tmp78.i742 = add i32 %len.0.i734, -1 ; <i32> [#uses=2]
+ %tmp79.i743 = icmp eq i32 %len.0.i734, 1 ; <i1> [#uses=1]
+ br i1 %tmp79.i743, label %condtrue.i766, label %dowhile.i741
+
+dowhile82.i756: ; preds = %andand100.i759, %_D5tango4text7convert7Integer16__T9formatterTaZ9formatterFAalaaiZAa.exit632
+ br i1 undef, label %condtrue.i766, label %andand100.i759
+
+andand100.i759: ; preds = %dowhile82.i756
+ br i1 undef, label %condtrue.i766, label %dowhile82.i756
+
+condtrue.i766: ; preds = %andand100.i759, %dowhile82.i756, %andand.i744, %dowhile.i741
+ %len.1.i761 = phi i32 [ %tmp78.i742, %andand.i744 ], [ %len.0.i734, %dowhile.i741 ], [ undef, %andand100.i759 ], [ undef, %dowhile82.i756 ] ; <i32> [#uses=2]
+ %tmp112.i765 = load %"byte[]"* getelementptr ([8 x %nest.parseListLine]* @.constarray262, i32 0, i32 0, i32 1) ; <%"byte[]"> [#uses=2]
+ %condtmp.0175.i768 = extractvalue %"byte[]" %tmp112.i765, 0 ; <i32> [#uses=3]
+ %tmp117.i770 = icmp ugt i32 %len.1.i761, %condtmp.0175.i768 ; <i1> [#uses=1]
+ br i1 %tmp117.i770, label %if118.i774, label %_D5tango4text7convert7Integer16__T9formatterTaZ9formatterFAalaaiZAa.exit782
+
+if118.i774: ; preds = %condtrue.i766
+ %condtmp.0176.i769 = extractvalue %"byte[]" %tmp112.i765, 1 ; <i8*> [#uses=1]
+ %tmp123.i772 = add i32 %condtmp.0175.i768, 1 ; <i32> [#uses=1]
+ %tmp124.i773 = sub i32 %len.1.i761, %tmp123.i772 ; <i32> [#uses=2]
+ %tmp175.sum785 = add i32 %tmp124.i773, 12 ; <i32> [#uses=1]
+ %tmp156.i776 = getelementptr [20 x i8]* %foo, i32 0, i32 %tmp175.sum785 ; <i8*> [#uses=2]
+ call void @llvm.memcpy.i32(i8* %tmp156.i776, i8* %condtmp.0176.i769, i32 %condtmp.0175.i768, i32 1)
+ %tmp170.i777 = sub i32 3, %tmp124.i773 ; <i32> [#uses=1]
+ %tmp171.i778 = insertvalue %"byte[]" undef, i32 %tmp170.i777, 0 ; <%"byte[]"> [#uses=1]
+ %tmp172.i779 = insertvalue %"byte[]" %tmp171.i778, i8* %tmp156.i776, 1 ; <%"byte[]"> [#uses=1]
+ br label %_D5tango4text7convert7Integer16__T9formatterTaZ9formatterFAalaaiZAa.exit782
+
+_D5tango4text7convert7Integer16__T9formatterTaZ9formatterFAalaaiZAa.exit782: ; preds = %if118.i774, %condtrue.i766
+ %tmp6.i.i362783 = phi %"byte[]" [ %tmp172.i779, %if118.i774 ], [ { i32 24, i8* getelementptr ([25 x i8]* @.str265, i32 0, i32 0) }, %condtrue.i766 ] ; <%"byte[]"> [#uses=1]
+ store %"byte[]" %tmp6.i.i362783, %"byte[]"* %tmp173, align 8
+ %tmp179 = getelementptr [7 x %"byte[]"]* %__arrayArg140, i32 0, i32 6 ; <%"byte[]"*> [#uses=1]
+ %tmp49.i648 = load %"byte[]"* getelementptr ([8 x %nest.parseListLine]* @.constarray262, i32 0, i32 0, i32 2) ; <%"byte[]"> [#uses=1]
+ %tmp49178.i649 = extractvalue %"byte[]" %tmp49.i648, 1 ; <i8*> [#uses=1]
+ %tmp52.i651 = load i32* getelementptr ([8 x %nest.parseListLine]* @.constarray262, i32 0, i32 0, i32 0), align 8 ; <i32> [#uses=2]
+ %tmp56.i652 = getelementptr [20 x i8]* %foo, i32 0, i32 18 ; <i8*> [#uses=1]
+ br i1 false, label %dowhile82.i681, label %if59.i656
+
+if59.i656: ; preds = %_D5tango4text7convert7Integer16__T9formatterTaZ9formatterFAalaaiZAa.exit782
+ br label %dowhile.i666
+
+dowhile.i666: ; preds = %andand.i669, %if59.i656
+ %p.0.i657 = phi i8* [ %tmp56.i652, %if59.i656 ], [ %tmp65.i660, %andand.i669 ] ; <i8*> [#uses=1]
+ %v.0.i658 = phi i32 [ %tmp144, %if59.i656 ], [ %tmp75.i664, %andand.i669 ] ; <i32> [#uses=2]
+ %len.0.i659 = phi i32 [ 3, %if59.i656 ], [ %tmp78.i667, %andand.i669 ] ; <i32> [#uses=3]
+ %tmp65.i660 = getelementptr i8* %p.0.i657, i32 -1 ; <i8*> [#uses=2]
+ %tmp68.i661 = urem i32 %v.0.i658, %tmp52.i651 ; <i32> [#uses=1]
+ %tmp71.i662 = getelementptr i8* %tmp49178.i649, i32 %tmp68.i661 ; <i8*> [#uses=1]
+ %tmp72.i663 = load i8* %tmp71.i662 ; <i8> [#uses=1]
+ store i8 %tmp72.i663, i8* %tmp65.i660
+ %tmp75.i664 = udiv i32 %v.0.i658, %tmp52.i651 ; <i32> [#uses=2]
+ %tmp76.i665 = icmp eq i32 %tmp75.i664, 0 ; <i1> [#uses=1]
+ br i1 %tmp76.i665, label %condtrue.i691, label %andand.i669
+
+andand.i669: ; preds = %dowhile.i666
+ %tmp78.i667 = add i32 %len.0.i659, -1 ; <i32> [#uses=2]
+ %tmp79.i668 = icmp eq i32 %len.0.i659, 1 ; <i1> [#uses=1]
+ br i1 %tmp79.i668, label %condtrue.i691, label %dowhile.i666
+
+dowhile82.i681: ; preds = %andand100.i684, %_D5tango4text7convert7Integer16__T9formatterTaZ9formatterFAalaaiZAa.exit782
+ br i1 undef, label %condtrue.i691, label %andand100.i684
+
+andand100.i684: ; preds = %dowhile82.i681
+ br i1 undef, label %condtrue.i691, label %dowhile82.i681
+
+condtrue.i691: ; preds = %andand100.i684, %dowhile82.i681, %andand.i669, %dowhile.i666
+ %len.1.i686 = phi i32 [ %tmp78.i667, %andand.i669 ], [ %len.0.i659, %dowhile.i666 ], [ undef, %andand100.i684 ], [ undef, %dowhile82.i681 ] ; <i32> [#uses=2]
+ %tmp112.i690 = load %"byte[]"* getelementptr ([8 x %nest.parseListLine]* @.constarray262, i32 0, i32 0, i32 1) ; <%"byte[]"> [#uses=2]
+ %condtmp.0175.i693 = extractvalue %"byte[]" %tmp112.i690, 0 ; <i32> [#uses=3]
+ %tmp117.i695 = icmp ugt i32 %len.1.i686, %condtmp.0175.i693 ; <i1> [#uses=1]
+ br i1 %tmp117.i695, label %if118.i699, label %_D5tango4text7convert7Integer16__T9formatterTaZ9formatterFAalaaiZAa.exit707
+
+if118.i699: ; preds = %condtrue.i691
+ %condtmp.0176.i694 = extractvalue %"byte[]" %tmp112.i690, 1 ; <i8*> [#uses=1]
+ %tmp123.i697 = add i32 %condtmp.0175.i693, 1 ; <i32> [#uses=1]
+ %tmp124.i698 = sub i32 %len.1.i686, %tmp123.i697 ; <i32> [#uses=2]
+ %tmp181.sum784 = add i32 %tmp124.i698, 15 ; <i32> [#uses=1]
+ %tmp156.i701 = getelementptr [20 x i8]* %foo, i32 0, i32 %tmp181.sum784 ; <i8*> [#uses=2]
+ call void @llvm.memcpy.i32(i8* %tmp156.i701, i8* %condtmp.0176.i694, i32 %condtmp.0175.i693, i32 1)
+ %tmp170.i702 = sub i32 3, %tmp124.i698 ; <i32> [#uses=1]
+ %tmp171.i703 = insertvalue %"byte[]" undef, i32 %tmp170.i702, 0 ; <%"byte[]"> [#uses=1]
+ %tmp172.i704 = insertvalue %"byte[]" %tmp171.i703, i8* %tmp156.i701, 1 ; <%"byte[]"> [#uses=1]
+ br label %_D5tango4text7convert7Integer16__T9formatterTaZ9formatterFAalaaiZAa.exit707
+
+_D5tango4text7convert7Integer16__T9formatterTaZ9formatterFAalaaiZAa.exit707: ; preds = %if118.i699, %condtrue.i691
+ %tmp6.i.i324708 = phi %"byte[]" [ %tmp172.i704, %if118.i699 ], [ { i32 24, i8* getelementptr ([25 x i8]* @.str265, i32 0, i32 0) }, %condtrue.i691 ] ; <%"byte[]"> [#uses=1]
+ store %"byte[]" %tmp6.i.i324708, %"byte[]"* %tmp179, align 8
+ %tmp186 = insertvalue %"char[][]" { i32 7, %"byte[]"* undef }, %"byte[]"* %tmp148, 1 ; <%"char[][]"> [#uses=1]
+ %tmp187 = call fastcc %"byte[]" @_D5tango4text4Util13__T6layoutTaZ6layoutFAaAAaXAa(%"byte[]" %tmp147, %"char[][]" %tmp186) ; <%"byte[]"> [#uses=1]
+ %tmp190 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp57 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
+ %"this.sendCommand@vtbl191" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp190, i32 0, i32 35 ; <void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]", %"char[][]")**> [#uses=1]
+ %this.sendCommand193 = load void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]", %"char[][]")** %"this.sendCommand@vtbl191", align 4 ; <void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]", %"char[][]")*> [#uses=1]
+ %tmp194 = getelementptr [1 x %"byte[]"]* %__arrayArg141, i32 0, i32 0 ; <%"byte[]"*> [#uses=2]
+ store %"byte[]" %tmp187, %"byte[]"* %tmp194, align 8
+ %tmp197 = insertvalue %"char[][]" { i32 1, %"byte[]"* undef }, %"byte[]"* %tmp194, 1 ; <%"char[][]"> [#uses=1]
+ call fastcc void %this.sendCommand193(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" { i32 4, i8* getelementptr ([5 x i8]* @.str127, i32 0, i32 0) }, %"char[][]" %tmp197)
+ %tmp200 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp57 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
+ %"this.readResponse@vtbl201" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp200, i32 0, i32 36 ; <void (%tango.net.ftp.FtpClient.FtpResponse*, %tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")**> [#uses=1]
+ %this.readResponse203 = load void (%tango.net.ftp.FtpClient.FtpResponse*, %tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")** %"this.readResponse@vtbl201", align 4 ; <void (%tango.net.ftp.FtpClient.FtpResponse*, %tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")*> [#uses=1]
+ call fastcc void %this.readResponse203(%tango.net.ftp.FtpClient.FtpResponse* noalias nocapture sret %.rettmp204, %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" { i32 3, i8* getelementptr ([4 x i8]* @.str128, i32 0, i32 0) })
+ ret %tango.net.SocketConduit.SocketConduit* %.newclass_gc
+}
+
+define fastcc %tango.net.SocketConduit.SocketConduit* @_D5tango3net3ftp9FtpClient13FTPConnection14connectPassiveMFZC5tango3net13SocketConduit13SocketConduit(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg) {
+entry:
+ %.rettmp = alloca %tango.net.ftp.FtpClient.FtpResponse, align 8 ; <%tango.net.ftp.FtpClient.FtpResponse*> [#uses=3]
+ %.rettmp70 = alloca %tango.net.ftp.FtpClient.FtpResponse, align 8 ; <%tango.net.ftp.FtpClient.FtpResponse*> [#uses=3]
+ %.rettmp161 = alloca %tango.net.ftp.FtpClient.FtpResponse, align 8 ; <%tango.net.ftp.FtpClient.FtpResponse*> [#uses=3]
+ %tmp1 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 0 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl**> [#uses=6]
+ %tmp2 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp1 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
+ %"this.is_supported@vtbl" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp2, i32 0, i32 42 ; <i1 (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")**> [#uses=1]
+ %this.is_supported = load i1 (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")** %"this.is_supported@vtbl", align 4 ; <i1 (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")*> [#uses=1]
+ %tmp4 = call fastcc i1 %this.is_supported(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" { i32 4, i8* getelementptr ([5 x i8]* @.str129, i32 0, i32 0) }) ; <i1> [#uses=1]
+ %tmp7 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp1 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=2]
+ br i1 %tmp4, label %if, label %else
+
+if: ; preds = %entry
+ %"this.sendCommand@vtbl" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp7, i32 0, i32 35 ; <void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]", %"char[][]")**> [#uses=1]
+ %this.sendCommand = load void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]", %"char[][]")** %"this.sendCommand@vtbl", align 4 ; <void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]", %"char[][]")*> [#uses=1]
+ call fastcc void %this.sendCommand(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" { i32 4, i8* getelementptr ([5 x i8]* @.str130, i32 0, i32 0) }, %"char[][]" zeroinitializer)
+ %tmp11 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp1 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
+ %"this.readResponse@vtbl" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp11, i32 0, i32 36 ; <void (%tango.net.ftp.FtpClient.FtpResponse*, %tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")**> [#uses=1]
+ %this.readResponse = load void (%tango.net.ftp.FtpClient.FtpResponse*, %tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")** %"this.readResponse@vtbl", align 4 ; <void (%tango.net.ftp.FtpClient.FtpResponse*, %tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")*> [#uses=1]
+ call fastcc void %this.readResponse(%tango.net.ftp.FtpClient.FtpResponse* noalias nocapture sret %.rettmp, %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" { i32 3, i8* getelementptr ([4 x i8]* @.str131, i32 0, i32 0) })
+ %.rettmp.1.0 = getelementptr %tango.net.ftp.FtpClient.FtpResponse* %.rettmp, i32 0, i32 1, i32 0 ; <i32*> [#uses=1]
+ %tmp359 = load i32* %.rettmp.1.0, align 4 ; <i32> [#uses=3]
+ %.rettmp.1.1 = getelementptr %tango.net.ftp.FtpClient.FtpResponse* %.rettmp, i32 0, i32 1, i32 1 ; <i8**> [#uses=1]
+ %tmp360 = load i8** %.rettmp.1.1, align 4 ; <i8*> [#uses=5]
+ %tmp16 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 2 ; <%tango.net.SocketConduit.SocketConduit**> [#uses=1]
+ %tmp17 = load %tango.net.SocketConduit.SocketConduit** %tmp16 ; <%tango.net.SocketConduit.SocketConduit*> [#uses=2]
+ %tmp18 = getelementptr %tango.net.SocketConduit.SocketConduit* %tmp17, i32 0, i32 0 ; <%tango.net.SocketConduit.SocketConduit.__vtbl**> [#uses=1]
+ %tmp19 = load %tango.net.SocketConduit.SocketConduit.__vtbl** %tmp18 ; <%tango.net.SocketConduit.SocketConduit.__vtbl*> [#uses=1]
+ %"this.socket_.socket@vtbl" = getelementptr %tango.net.SocketConduit.SocketConduit.__vtbl* %tmp19, i32 0, i32 14 ; <%tango.net.Socket.Socket* (%tango.net.SocketConduit.SocketConduit*)**> [#uses=1]
+ %this.socket_.socket = load %tango.net.Socket.Socket* (%tango.net.SocketConduit.SocketConduit*)** %"this.socket_.socket@vtbl", align 4 ; <%tango.net.Socket.Socket* (%tango.net.SocketConduit.SocketConduit*)*> [#uses=1]
+ %tmp21 = call fastcc %tango.net.Socket.Socket* %this.socket_.socket(%tango.net.SocketConduit.SocketConduit* %tmp17) ; <%tango.net.Socket.Socket*> [#uses=2]
+ %tmp22 = getelementptr %tango.net.Socket.Socket* %tmp21, i32 0, i32 0 ; <%tango.net.Socket.Socket.__vtbl**> [#uses=1]
+ %tmp23 = load %tango.net.Socket.Socket.__vtbl** %tmp22 ; <%tango.net.Socket.Socket.__vtbl*> [#uses=1]
+ %"this.socket_.socket().remoteAddress@vtbl" = getelementptr %tango.net.Socket.Socket.__vtbl* %tmp23, i32 0, i32 23 ; <%tango.net.Socket.Address* (%tango.net.Socket.Socket*)**> [#uses=1]
+ %"this.socket_.socket().remoteAddress" = load %tango.net.Socket.Address* (%tango.net.Socket.Socket*)** %"this.socket_.socket().remoteAddress@vtbl", align 4 ; <%tango.net.Socket.Address* (%tango.net.Socket.Socket*)*> [#uses=1]
+ %tmp25 = call fastcc %tango.net.Socket.Address* %"this.socket_.socket().remoteAddress"(%tango.net.Socket.Socket* %tmp21) ; <%tango.net.Socket.Address*> [#uses=1]
+ %tmp26 = bitcast %tango.net.Socket.Address* %tmp25 to %object.Object* ; <%object.Object*> [#uses=1]
+ %tmp27 = call %object.Object* @_d_dynamic_cast(%object.Object* %tmp26, %object.ClassInfo* @_D5tango3net6Socket11IPv4Address7__ClassZ) nounwind readonly ; <%object.Object*> [#uses=2]
+ %tmp28 = bitcast %object.Object* %tmp27 to %tango.net.Socket.IPv4Address* ; <%tango.net.Socket.IPv4Address*> [#uses=1]
+ %tmp30 = bitcast %object.Object* %tmp27 to %tango.net.Socket.IPv4Address.__vtbl** ; <%tango.net.Socket.IPv4Address.__vtbl**> [#uses=1]
+ %tmp31 = load %tango.net.Socket.IPv4Address.__vtbl** %tmp30 ; <%tango.net.Socket.IPv4Address.__vtbl*> [#uses=1]
+ %"remote.addr@vtbl" = getelementptr %tango.net.Socket.IPv4Address.__vtbl* %tmp31, i32 0, i32 9 ; <i32 (%tango.net.Socket.IPv4Address*)**> [#uses=1]
+ %remote.addr = load i32 (%tango.net.Socket.IPv4Address*)** %"remote.addr@vtbl", align 4 ; <i32 (%tango.net.Socket.IPv4Address*)*> [#uses=1]
+ %tmp33 = call fastcc i32 %remote.addr(%tango.net.Socket.IPv4Address* %tmp28) ; <i32> [#uses=1]
+ %tmp4.i.i = icmp eq i32 %tmp359, 0 ; <i1> [#uses=1]
+ br i1 %tmp4.i.i, label %_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit.i, label %forcond.i.i
+
+forcond.i.i: ; preds = %forinc.i.i, %if
+ %sign.1.i = phi i1 [ false, %if ], [ %sign.0.i, %forinc.i.i ] ; <i1> [#uses=4]
+ %len.0.i.i = phi i32 [ %tmp33.i.i, %forinc.i.i ], [ %tmp359, %if ] ; <i32> [#uses=3]
+ %p.0.i.i = phi i8* [ %tmp30.i.i, %forinc.i.i ], [ %tmp360, %if ] ; <i8*> [#uses=6]
+ %c.0.in.i.i = phi i8* [ %tmp30.i.i, %forinc.i.i ], [ %tmp360, %if ] ; <i8*> [#uses=1]
+ %c.0.i.i = load i8* %c.0.in.i.i ; <i8> [#uses=2]
+ %tmp8.i.i = icmp eq i32 %len.0.i.i, 0 ; <i1> [#uses=1]
+ br i1 %tmp8.i.i, label %endfor.i.i, label %forbody.i.i
+
+forbody.i.i: ; preds = %forcond.i.i
+ switch i8 %c.0.i.i, label %endfor.i.i [
+ i8 32, label %forinc.i.i
+ i8 9, label %forinc.i.i
+ i8 45, label %if20.i.i
+ i8 43, label %if26.i.i
+ ]
+
+if20.i.i: ; preds = %forbody.i.i
+ br label %forinc.i.i
+
+if26.i.i: ; preds = %forbody.i.i
+ br label %forinc.i.i
+
+forinc.i.i: ; preds = %if26.i.i, %if20.i.i, %forbody.i.i, %forbody.i.i
+ %sign.0.i = phi i1 [ false, %if26.i.i ], [ true, %if20.i.i ], [ %sign.1.i, %forbody.i.i ], [ %sign.1.i, %forbody.i.i ] ; <i1> [#uses=1]
+ %tmp30.i.i = getelementptr i8* %p.0.i.i, i32 1 ; <i8*> [#uses=2]
+ %tmp33.i.i = add i32 %len.0.i.i, -1 ; <i32> [#uses=1]
+ br label %forcond.i.i
+
+endfor.i.i: ; preds = %forbody.i.i, %forcond.i.i
+ %tmp37.i.i = icmp eq i8 %c.0.i.i, 48 ; <i1> [#uses=1]
+ %tmp39.i.i = icmp sgt i32 %len.0.i.i, 1 ; <i1> [#uses=1]
+ %or.cond.i.i = and i1 %tmp37.i.i, %tmp39.i.i ; <i1> [#uses=1]
+ br i1 %or.cond.i.i, label %if40.i.i, label %endif41.i.i
+
+if40.i.i: ; preds = %endfor.i.i
+ %tmp43.i.i = getelementptr i8* %p.0.i.i, i32 1 ; <i8*> [#uses=2]
+ %tmp44.i.i = load i8* %tmp43.i.i ; <i8> [#uses=1]
+ %tmp45.i.i = zext i8 %tmp44.i.i to i32 ; <i32> [#uses=1]
+ switch i32 %tmp45.i.i, label %endif41.i.i [
+ i32 120, label %case46.i.i
+ i32 88, label %case46.i.i
+ i32 98, label %case51.i.i
+ i32 66, label %case51.i.i
+ i32 111, label %case56.i.i
+ i32 79, label %case56.i.i
+ ]
+
+case46.i.i: ; preds = %if40.i.i, %if40.i.i
+ %tmp48.i.i = getelementptr i8* %p.0.i.i, i32 2 ; <i8*> [#uses=1]
+ br label %endif41.i.i
+
+case51.i.i: ; preds = %if40.i.i, %if40.i.i
+ %tmp53.i.i = getelementptr i8* %p.0.i.i, i32 2 ; <i8*> [#uses=1]
+ br label %endif41.i.i
+
+case56.i.i: ; preds = %if40.i.i, %if40.i.i
+ %tmp58.i.i = getelementptr i8* %p.0.i.i, i32 2 ; <i8*> [#uses=1]
+ br label %endif41.i.i
+
+endif41.i.i: ; preds = %case56.i.i, %case51.i.i, %case46.i.i, %if40.i.i, %endfor.i.i
+ %r.0.i.i = phi i32 [ 0, %if40.i.i ], [ 8, %case56.i.i ], [ 2, %case51.i.i ], [ 16, %case46.i.i ], [ 0, %endfor.i.i ] ; <i32> [#uses=2]
+ %p.2.i.i = phi i8* [ %tmp43.i.i, %if40.i.i ], [ %tmp58.i.i, %case56.i.i ], [ %tmp53.i.i, %case51.i.i ], [ %tmp48.i.i, %case46.i.i ], [ %p.0.i.i, %endfor.i.i ] ; <i8*> [#uses=2]
+ %tmp63.i.i = icmp eq i32 %r.0.i.i, 0 ; <i1> [#uses=1]
+ br i1 %tmp63.i.i, label %_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit.i, label %if70.i.i
+
+if70.i.i: ; preds = %endif41.i.i
+ br label %_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit.i
+
+_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit.i: ; preds = %if70.i.i, %endif41.i.i, %if
+ %sign.2.i = phi i1 [ false, %if ], [ %sign.1.i, %if70.i.i ], [ %sign.1.i, %endif41.i.i ] ; <i1> [#uses=1]
+ %radix.0.i = phi i32 [ 0, %if ], [ %r.0.i.i, %if70.i.i ], [ 10, %endif41.i.i ] ; <i32> [#uses=2]
+ %p.1.i.i = phi i8* [ %p.2.i.i, %if70.i.i ], [ %tmp360, %if ], [ %p.2.i.i, %endif41.i.i ] ; <i8*> [#uses=1]
+ %tmp84.i.i = ptrtoint i8* %p.1.i.i to i32 ; <i32> [#uses=1]
+ %tmp85.i.i = ptrtoint i8* %tmp360 to i32 ; <i32> [#uses=1]
+ %tmp86.i.i = sub i32 %tmp84.i.i, %tmp85.i.i ; <i32> [#uses=2]
+ %tmp6.i = sub i32 %tmp359, %tmp86.i.i ; <i32> [#uses=1]
+ br label %foreachcond.i.i
+
+foreachcond.i.i: ; preds = %if55.i.i, %_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit.i
+ %value.0.i.i = phi i64 [ 0, %_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit.i ], [ %tmp65.i.i, %if55.i.i ] ; <i64> [#uses=3]
+ %foreachkey.0.i.i = phi i32 [ 0, %_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit.i ], [ %tmp70.i.i, %if55.i.i ] ; <i32> [#uses=3]
+ %tmp3.i.i = icmp ult i32 %foreachkey.0.i.i, %tmp6.i ; <i1> [#uses=1]
+ br i1 %tmp3.i.i, label %foreachbody.i.i, label %_D5tango4text7convert7Integer12__T5parseTaZ5parseFAakPkZl.exit
+
+foreachbody.i.i: ; preds = %foreachcond.i.i
+ %tmp5.sum.i = add i32 %tmp86.i.i, %foreachkey.0.i.i ; <i32> [#uses=1]
+ %tmp5.i.i = getelementptr i8* %tmp360, i32 %tmp5.sum.i ; <i8*> [#uses=1]
+ %tmp6.i.i = load i8* %tmp5.i.i ; <i8> [#uses=6]
+ %tmp6.off84.i.i = add i8 %tmp6.i.i, -48 ; <i8> [#uses=1]
+ %or.cond.i28.i = icmp ugt i8 %tmp6.off84.i.i, 9 ; <i1> [#uses=1]
+ br i1 %or.cond.i28.i, label %else.i.i, label %endif.i.i
+
+else.i.i: ; preds = %foreachbody.i.i
+ %tmp6.off83.i.i = add i8 %tmp6.i.i, -97 ; <i8> [#uses=1]
+ %or.cond81.i.i = icmp ugt i8 %tmp6.off83.i.i, 25 ; <i1> [#uses=1]
+ br i1 %or.cond81.i.i, label %else24.i.i, label %if22.i.i
+
+if22.i.i: ; preds = %else.i.i
+ %tmp27.i.i = add i8 %tmp6.i.i, -39 ; <i8> [#uses=1]
+ br label %endif.i.i
+
+else24.i.i: ; preds = %else.i.i
+ %tmp6.off.i.i = add i8 %tmp6.i.i, -65 ; <i8> [#uses=1]
+ %or.cond82.i.i = icmp ugt i8 %tmp6.off.i.i, 25 ; <i1> [#uses=1]
+ br i1 %or.cond82.i.i, label %_D5tango4text7convert7Integer12__T5parseTaZ5parseFAakPkZl.exit, label %if39.i.i
+
+if39.i.i: ; preds = %else24.i.i
+ %tmp44.i29.i = add i8 %tmp6.i.i, -7 ; <i8> [#uses=1]
+ br label %endif.i.i
+
+endif.i.i: ; preds = %if39.i.i, %if22.i.i, %foreachbody.i.i
+ %c.0.i30.i = phi i8 [ %tmp27.i.i, %if22.i.i ], [ %tmp44.i29.i, %if39.i.i ], [ %tmp6.i.i, %foreachbody.i.i ] ; <i8> [#uses=1]
+ %tmp48.i31.i = zext i8 %c.0.i30.i to i32 ; <i32> [#uses=1]
+ %tmp49.i.i = add i32 %tmp48.i31.i, 208 ; <i32> [#uses=1]
+ %tmp52.i.i = and i32 %tmp49.i.i, 255 ; <i32> [#uses=2]
+ %tmp54.i.i = icmp ult i32 %tmp52.i.i, %radix.0.i ; <i1> [#uses=1]
+ br i1 %tmp54.i.i, label %if55.i.i, label %_D5tango4text7convert7Integer12__T5parseTaZ5parseFAakPkZl.exit
+
+if55.i.i: ; preds = %endif.i.i
+ %tmp59.i.i = zext i32 %radix.0.i to i64 ; <i64> [#uses=1]
+ %tmp61.i.i = mul i64 %value.0.i.i, %tmp59.i.i ; <i64> [#uses=1]
+ %tmp64.i.i = zext i32 %tmp52.i.i to i64 ; <i64> [#uses=1]
+ %tmp65.i.i = add i64 %tmp61.i.i, %tmp64.i.i ; <i64> [#uses=1]
+ %tmp70.i.i = add i32 %foreachkey.0.i.i, 1 ; <i32> [#uses=1]
+ br label %foreachcond.i.i
+
+_D5tango4text7convert7Integer12__T5parseTaZ5parseFAakPkZl.exit: ; preds = %endif.i.i, %else24.i.i, %foreachcond.i.i
+ %negval.i = sub i64 0, %value.0.i.i ; <i64> [#uses=1]
+ %condtmp.0.i = select i1 %sign.2.i, i64 %negval.i, i64 %value.0.i.i ; <i64> [#uses=1]
+ %.newclass_gc_alloc = call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango3net6Socket11IPv4Address7__ClassZ) ; <i8*> [#uses=6]
+ %vtbl = bitcast i8* %.newclass_gc_alloc to %tango.net.Socket.IPv4Address.__vtbl** ; <%tango.net.Socket.IPv4Address.__vtbl**> [#uses=1]
+ store %tango.net.Socket.IPv4Address.__vtbl* @_D5tango3net6Socket11IPv4Address6__vtblZ, %tango.net.Socket.IPv4Address.__vtbl** %vtbl
+ %monitor = getelementptr i8* %.newclass_gc_alloc, i32 4 ; <i8*> [#uses=1]
+ %0 = bitcast i8* %monitor to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %0
+ %tmp38 = getelementptr i8* %.newclass_gc_alloc, i32 8 ; <i8*> [#uses=1]
+ call void @llvm.memcpy.i32(i8* %tmp38, i8* getelementptr (%tango.net.Socket.IPv4Address* bitcast (%22* @_D5tango3net6Socket11IPv4Address6__initZ to %tango.net.Socket.IPv4Address*), i32 0, i32 2, i32 0), i32 24, i32 1)
+ %tmp44 = trunc i64 %condtmp.0.i to i16 ; <i16> [#uses=1]
+ %tmp2.i = getelementptr i8* %.newclass_gc_alloc, i32 20 ; <i8*> [#uses=1]
+ %1 = bitcast i8* %tmp2.i to i32* ; <i32*> [#uses=1]
+ store i32 %tmp33, i32* %1
+ %tmp7.i = getelementptr i8* %.newclass_gc_alloc, i32 18 ; <i8*> [#uses=1]
+ %2 = bitcast i8* %tmp7.i to i16* ; <i16*> [#uses=1]
+ store i16 %tmp44, i16* %2
+ %tmp46 = bitcast i8* %.newclass_gc_alloc to %tango.net.Socket.Address* ; <%tango.net.Socket.Address*> [#uses=1]
+ br label %try
+
+else: ; preds = %entry
+ %"this.is_supported@vtbl50" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp7, i32 0, i32 42 ; <i1 (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")**> [#uses=1]
+ %this.is_supported52 = load i1 (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")** %"this.is_supported@vtbl50", align 4 ; <i1 (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")*> [#uses=1]
+ %tmp53 = call fastcc i1 %this.is_supported52(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" { i32 4, i8* getelementptr ([5 x i8]* @.str132, i32 0, i32 0) }) ; <i1> [#uses=1]
+ %tmp59 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp1 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
+ %"this.sendCommand@vtbl60" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp59, i32 0, i32 35 ; <void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]", %"char[][]")**> [#uses=1]
+ %this.sendCommand62 = load void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]", %"char[][]")** %"this.sendCommand@vtbl60", align 4 ; <void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]", %"char[][]")*> [#uses=2]
+ br i1 %tmp53, label %if54, label %else56
+
+if54: ; preds = %else
+ call fastcc void %this.sendCommand62(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" { i32 4, i8* getelementptr ([5 x i8]* @.str133, i32 0, i32 0) }, %"char[][]" zeroinitializer)
+ %tmp66 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp1 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
+ %"this.readResponse@vtbl67" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp66, i32 0, i32 36 ; <void (%tango.net.ftp.FtpClient.FtpResponse*, %tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")**> [#uses=1]
+ %this.readResponse69 = load void (%tango.net.ftp.FtpClient.FtpResponse*, %tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")** %"this.readResponse@vtbl67", align 4 ; <void (%tango.net.ftp.FtpClient.FtpResponse*, %tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")*> [#uses=1]
+ call fastcc void %this.readResponse69(%tango.net.ftp.FtpClient.FtpResponse* noalias nocapture sret %.rettmp70, %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" { i32 3, i8* getelementptr ([4 x i8]* @.str134, i32 0, i32 0) })
+ %.rettmp70.1.0 = getelementptr %tango.net.ftp.FtpClient.FtpResponse* %.rettmp70, i32 0, i32 1, i32 0 ; <i32*> [#uses=1]
+ %tmp345 = load i32* %.rettmp70.1.0, align 4 ; <i32> [#uses=2]
+ %.rettmp70.1.1 = getelementptr %tango.net.ftp.FtpClient.FtpResponse* %.rettmp70, i32 0, i32 1, i32 1 ; <i8**> [#uses=1]
+ %tmp346 = load i8** %.rettmp70.1.1, align 4 ; <i8*> [#uses=2]
+ %.newclass_gc_alloc.i = call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex14__T7RegExpTTaZ7RegExpT7__ClassZ) ; <i8*> [#uses=4]
+ %.newclass_gc.i = bitcast i8* %.newclass_gc_alloc.i to %"tango.text.Regex.RegExpT!(char).RegExpT"* ; <%"tango.text.Regex.RegExpT!(char).RegExpT"*> [#uses=3]
+ %vtbl.i = bitcast i8* %.newclass_gc_alloc.i to %"tango.text.Regex.RegExpT!(char).RegExpT.__vtbl"** ; <%"tango.text.Regex.RegExpT!(char).RegExpT.__vtbl"**> [#uses=3]
+ store %"tango.text.Regex.RegExpT!(char).RegExpT.__vtbl"* @_D5tango4text5Regex14__T7RegExpTTaZ7RegExpT6__vtblZ, %"tango.text.Regex.RegExpT!(char).RegExpT.__vtbl"** %vtbl.i
+ %monitor.i = getelementptr i8* %.newclass_gc_alloc.i, i32 4 ; <i8*> [#uses=1]
+ %3 = bitcast i8* %monitor.i to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %3
+ %tmp.i = getelementptr i8* %.newclass_gc_alloc.i, i32 8 ; <i8*> [#uses=1]
+ call void @llvm.memcpy.i32(i8* %tmp.i, i8* bitcast (%"Act[]"* getelementptr (%"tango.text.Regex.RegExpT!(char).RegExpT"* bitcast (%30* @_D5tango4text5Regex14__T7RegExpTTaZ7RegExpT6__initZ to %"tango.text.Regex.RegExpT!(char).RegExpT"*), i32 0, i32 2) to i8*), i32 36, i32 1)
+ %tmp2.i.i = call fastcc %"tango.text.Regex.RegExpT!(char).RegExpT"* @_D5tango4text5Regex14__T7RegExpTTaZ7RegExpT5_ctorMFAabbbZC5tango4text5Regex14__T7RegExpTTaZ7RegExpT(%"tango.text.Regex.RegExpT!(char).RegExpT"* %.newclass_gc.i, %"byte[]" { i32 33, i8* getelementptr ([34 x i8]* @.str135, i32 0, i32 0) }, i1 false, i1 true, i1 false) ; <%"tango.text.Regex.RegExpT!(char).RegExpT"*> [#uses=0]
+ %tmp76 = load %"tango.text.Regex.RegExpT!(char).RegExpT.__vtbl"** %vtbl.i ; <%"tango.text.Regex.RegExpT!(char).RegExpT.__vtbl"*> [#uses=1]
+ %"r.test@vtbl" = getelementptr %"tango.text.Regex.RegExpT!(char).RegExpT.__vtbl"* %tmp76, i32 0, i32 7 ; <i1 (%"tango.text.Regex.RegExpT!(char).RegExpT"*, %"byte[]")**> [#uses=1]
+ %r.test = load i1 (%"tango.text.Regex.RegExpT!(char).RegExpT"*, %"byte[]")** %"r.test@vtbl", align 4 ; <i1 (%"tango.text.Regex.RegExpT!(char).RegExpT"*, %"byte[]")*> [#uses=1]
+ br label %foreachcond.i.i460
+
+foreachcond.i.i460: ; preds = %foreachnext.i.i, %if54
+ %pos.0.i.i = phi i32 [ 0, %if54 ], [ %tmp12.i.i, %foreachnext.i.i ] ; <i32> [#uses=4]
+ %tmp3.i.i459 = icmp ult i32 %pos.0.i.i, %tmp345 ; <i1> [#uses=1]
+ br i1 %tmp3.i.i459, label %foreachbody.i.i463, label %_D5tango4core5Array14__T4findTAaTaZ4findFAaaZk.exit
+
+foreachbody.i.i463: ; preds = %foreachcond.i.i460
+ %tmp5.i.i461 = getelementptr i8* %tmp346, i32 %pos.0.i.i ; <i8*> [#uses=1]
+ %tmp6.i.i462 = load i8* %tmp5.i.i461 ; <i8> [#uses=1]
+ %tmp4.i.i.i = icmp eq i8 %tmp6.i.i462, 10 ; <i1> [#uses=1]
+ br i1 %tmp4.i.i.i, label %_D5tango4core5Array14__T4findTAaTaZ4findFAaaZk.exit, label %foreachnext.i.i
+
+foreachnext.i.i: ; preds = %foreachbody.i.i463
+ %tmp12.i.i = add i32 %pos.0.i.i, 1 ; <i32> [#uses=1]
+ br label %foreachcond.i.i460
+
+_D5tango4core5Array14__T4findTAaTaZ4findFAaaZk.exit: ; preds = %foreachbody.i.i463, %foreachcond.i.i460
+ %tmp23.i = phi i32 [ %pos.0.i.i, %foreachbody.i.i463 ], [ %tmp345, %foreachcond.i.i460 ] ; <i32> [#uses=1]
+ %tmp85 = insertvalue %"byte[]" undef, i32 %tmp23.i, 0 ; <%"byte[]"> [#uses=1]
+ %tmp86 = insertvalue %"byte[]" %tmp85, i8* %tmp346, 1 ; <%"byte[]"> [#uses=1]
+ %tmp87 = call fastcc i1 %r.test(%"tango.text.Regex.RegExpT!(char).RegExpT"* %.newclass_gc.i, %"byte[]" %tmp86) ; <i1> [#uses=1]
+ br i1 %tmp87, label %endif89, label %if88
+
+if88: ; preds = %_D5tango4core5Array14__T4findTAaTaZ4findFAaaZk.exit
+ %.newclass_gc_alloc90 = call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango3net3ftp9FtpClient12FtpException7__ClassZ) ; <i8*> [#uses=6]
+ %vtbl92 = bitcast i8* %.newclass_gc_alloc90 to %tango.net.ftp.FtpClient.FtpException.__vtbl** ; <%tango.net.ftp.FtpClient.FtpException.__vtbl**> [#uses=1]
+ store %tango.net.ftp.FtpClient.FtpException.__vtbl* @_D5tango3net3ftp9FtpClient12FtpException6__vtblZ, %tango.net.ftp.FtpClient.FtpException.__vtbl** %vtbl92
+ %monitor93 = getelementptr i8* %.newclass_gc_alloc90, i32 4 ; <i8*> [#uses=1]
+ %4 = bitcast i8* %monitor93 to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %4
+ %tmp94 = getelementptr i8* %.newclass_gc_alloc90, i32 8 ; <i8*> [#uses=1]
+ call void @llvm.memcpy.i32(i8* %tmp94, i8* bitcast (%"byte[]"* getelementptr (%tango.net.ftp.FtpClient.FtpException* @_D5tango3net3ftp9FtpClient12FtpException6__initZ, i32 0, i32 2) to i8*), i32 31, i32 1)
+ %tmp2.i549 = getelementptr i8* %.newclass_gc_alloc90, i32 36 ; <i8*> [#uses=1]
+ call void @llvm.memcpy.i32(i8* %tmp2.i549, i8* getelementptr ([4 x i8]* @.str137, i32 0, i32 0), i32 3, i32 1)
+ %tmp5.i = bitcast i8* %.newclass_gc_alloc90 to %object.Exception* ; <%object.Exception*> [#uses=1]
+ %tmp7.i550 = call fastcc %object.Exception* @_D6object9Exception5_ctorMFAaC9ExceptionZC9Exception(%object.Exception* %tmp5.i, %"byte[]" { i32 31, i8* getelementptr ([32 x i8]* @.str136, i32 0, i32 0) }, %object.Exception* null) ; <%object.Exception*> [#uses=0]
+ %tmp99 = bitcast i8* %.newclass_gc_alloc90 to %object.Object* ; <%object.Object*> [#uses=1]
+ call void @_d_throw_exception(%object.Object* %tmp99)
+ unreachable
+
+endif89: ; preds = %_D5tango4core5Array14__T4findTAaTaZ4findFAaaZk.exit
+ %tmp102 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 2 ; <%tango.net.SocketConduit.SocketConduit**> [#uses=1]
+ %tmp103 = load %tango.net.SocketConduit.SocketConduit** %tmp102 ; <%tango.net.SocketConduit.SocketConduit*> [#uses=2]
+ %tmp104 = getelementptr %tango.net.SocketConduit.SocketConduit* %tmp103, i32 0, i32 0 ; <%tango.net.SocketConduit.SocketConduit.__vtbl**> [#uses=1]
+ %tmp105 = load %tango.net.SocketConduit.SocketConduit.__vtbl** %tmp104 ; <%tango.net.SocketConduit.SocketConduit.__vtbl*> [#uses=1]
+ %"this.socket_.socket@vtbl106" = getelementptr %tango.net.SocketConduit.SocketConduit.__vtbl* %tmp105, i32 0, i32 14 ; <%tango.net.Socket.Socket* (%tango.net.SocketConduit.SocketConduit*)**> [#uses=1]
+ %this.socket_.socket108 = load %tango.net.Socket.Socket* (%tango.net.SocketConduit.SocketConduit*)** %"this.socket_.socket@vtbl106", align 4 ; <%tango.net.Socket.Socket* (%tango.net.SocketConduit.SocketConduit*)*> [#uses=1]
+ %tmp109 = call fastcc %tango.net.Socket.Socket* %this.socket_.socket108(%tango.net.SocketConduit.SocketConduit* %tmp103) ; <%tango.net.Socket.Socket*> [#uses=2]
+ %tmp110 = getelementptr %tango.net.Socket.Socket* %tmp109, i32 0, i32 0 ; <%tango.net.Socket.Socket.__vtbl**> [#uses=1]
+ %tmp111 = load %tango.net.Socket.Socket.__vtbl** %tmp110 ; <%tango.net.Socket.Socket.__vtbl*> [#uses=1]
+ %"this.socket_.socket().remoteAddress@vtbl112" = getelementptr %tango.net.Socket.Socket.__vtbl* %tmp111, i32 0, i32 23 ; <%tango.net.Socket.Address* (%tango.net.Socket.Socket*)**> [#uses=1]
+ %"this.socket_.socket().remoteAddress114" = load %tango.net.Socket.Address* (%tango.net.Socket.Socket*)** %"this.socket_.socket().remoteAddress@vtbl112", align 4 ; <%tango.net.Socket.Address* (%tango.net.Socket.Socket*)*> [#uses=1]
+ %tmp115 = call fastcc %tango.net.Socket.Address* %"this.socket_.socket().remoteAddress114"(%tango.net.Socket.Socket* %tmp109) ; <%tango.net.Socket.Address*> [#uses=1]
+ %tmp116 = bitcast %tango.net.Socket.Address* %tmp115 to %object.Object* ; <%object.Object*> [#uses=1]
+ %tmp117 = call %object.Object* @_d_dynamic_cast(%object.Object* %tmp116, %object.ClassInfo* @_D5tango3net6Socket11IPv4Address7__ClassZ) nounwind readonly ; <%object.Object*> [#uses=2]
+ %tmp118 = bitcast %object.Object* %tmp117 to %tango.net.Socket.IPv4Address* ; <%tango.net.Socket.IPv4Address*> [#uses=1]
+ %tmp121 = bitcast %object.Object* %tmp117 to %tango.net.Socket.IPv4Address.__vtbl** ; <%tango.net.Socket.IPv4Address.__vtbl**> [#uses=1]
+ %tmp122 = load %tango.net.Socket.IPv4Address.__vtbl** %tmp121 ; <%tango.net.Socket.IPv4Address.__vtbl*> [#uses=1]
+ %"remote.addr@vtbl123" = getelementptr %tango.net.Socket.IPv4Address.__vtbl* %tmp122, i32 0, i32 9 ; <i32 (%tango.net.Socket.IPv4Address*)**> [#uses=1]
+ %remote.addr125 = load i32 (%tango.net.Socket.IPv4Address*)** %"remote.addr@vtbl123", align 4 ; <i32 (%tango.net.Socket.IPv4Address*)*> [#uses=1]
+ %tmp126 = call fastcc i32 %remote.addr125(%tango.net.Socket.IPv4Address* %tmp118) ; <i32> [#uses=1]
+ %tmp130 = load %"tango.text.Regex.RegExpT!(char).RegExpT.__vtbl"** %vtbl.i ; <%"tango.text.Regex.RegExpT!(char).RegExpT.__vtbl"*> [#uses=1]
+ %"r.match@vtbl" = getelementptr %"tango.text.Regex.RegExpT!(char).RegExpT.__vtbl"* %tmp130, i32 0, i32 9 ; <%"byte[]" (%"tango.text.Regex.RegExpT!(char).RegExpT"*, i32)**> [#uses=1]
+ %r.match = load %"byte[]" (%"tango.text.Regex.RegExpT!(char).RegExpT"*, i32)** %"r.match@vtbl", align 4 ; <%"byte[]" (%"tango.text.Regex.RegExpT!(char).RegExpT"*, i32)*> [#uses=1]
+ %tmp132 = call fastcc %"byte[]" %r.match(%"tango.text.Regex.RegExpT!(char).RegExpT"* %.newclass_gc.i, i32 1) ; <%"byte[]"> [#uses=2]
+ %digits_arg26.i551 = extractvalue %"byte[]" %tmp132, 0 ; <i32> [#uses=3]
+ %digits_arg27.i552 = extractvalue %"byte[]" %tmp132, 1 ; <i8*> [#uses=5]
+ %tmp4.i.i553 = icmp eq i32 %digits_arg26.i551, 0 ; <i1> [#uses=1]
+ br i1 %tmp4.i.i553, label %_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit.i597, label %forcond.i.i560
+
+forcond.i.i560: ; preds = %forinc.i.i567, %endif89
+ %sign.1.i554 = phi i1 [ false, %endif89 ], [ %sign.0.i564, %forinc.i.i567 ] ; <i1> [#uses=4]
+ %len.0.i.i555 = phi i32 [ %tmp33.i.i566, %forinc.i.i567 ], [ %digits_arg26.i551, %endif89 ] ; <i32> [#uses=3]
+ %p.0.i.i556 = phi i8* [ %tmp30.i.i565, %forinc.i.i567 ], [ %digits_arg27.i552, %endif89 ] ; <i8*> [#uses=6]
+ %c.0.in.i.i557 = phi i8* [ %tmp30.i.i565, %forinc.i.i567 ], [ %digits_arg27.i552, %endif89 ] ; <i8*> [#uses=1]
+ %c.0.i.i558 = load i8* %c.0.in.i.i557 ; <i8> [#uses=2]
+ %tmp8.i.i559 = icmp eq i32 %len.0.i.i555, 0 ; <i1> [#uses=1]
+ br i1 %tmp8.i.i559, label %endfor.i.i571, label %forbody.i.i561
+
+forbody.i.i561: ; preds = %forcond.i.i560
+ switch i8 %c.0.i.i558, label %endfor.i.i571 [
+ i8 32, label %forinc.i.i567
+ i8 9, label %forinc.i.i567
+ i8 45, label %if20.i.i562
+ i8 43, label %if26.i.i563
+ ]
+
+if20.i.i562: ; preds = %forbody.i.i561
+ br label %forinc.i.i567
+
+if26.i.i563: ; preds = %forbody.i.i561
+ br label %forinc.i.i567
+
+forinc.i.i567: ; preds = %if26.i.i563, %if20.i.i562, %forbody.i.i561, %forbody.i.i561
+ %sign.0.i564 = phi i1 [ false, %if26.i.i563 ], [ true, %if20.i.i562 ], [ %sign.1.i554, %forbody.i.i561 ], [ %sign.1.i554, %forbody.i.i561 ] ; <i1> [#uses=1]
+ %tmp30.i.i565 = getelementptr i8* %p.0.i.i556, i32 1 ; <i8*> [#uses=2]
+ %tmp33.i.i566 = add i32 %len.0.i.i555, -1 ; <i32> [#uses=1]
+ br label %forcond.i.i560
+
+endfor.i.i571: ; preds = %forbody.i.i561, %forcond.i.i560
+ %tmp37.i.i568 = icmp eq i8 %c.0.i.i558, 48 ; <i1> [#uses=1]
+ %tmp39.i.i569 = icmp sgt i32 %len.0.i.i555, 1 ; <i1> [#uses=1]
+ %or.cond.i.i570 = and i1 %tmp37.i.i568, %tmp39.i.i569 ; <i1> [#uses=1]
+ br i1 %or.cond.i.i570, label %if40.i.i575, label %endif41.i.i585
+
+if40.i.i575: ; preds = %endfor.i.i571
+ %tmp43.i.i572 = getelementptr i8* %p.0.i.i556, i32 1 ; <i8*> [#uses=2]
+ %tmp44.i.i573 = load i8* %tmp43.i.i572 ; <i8> [#uses=1]
+ %tmp45.i.i574 = zext i8 %tmp44.i.i573 to i32 ; <i32> [#uses=1]
+ switch i32 %tmp45.i.i574, label %endif41.i.i585 [
+ i32 120, label %case46.i.i577
+ i32 88, label %case46.i.i577
+ i32 98, label %case51.i.i579
+ i32 66, label %case51.i.i579
+ i32 111, label %case56.i.i581
+ i32 79, label %case56.i.i581
+ ]
+
+case46.i.i577: ; preds = %if40.i.i575, %if40.i.i575
+ %tmp48.i.i576 = getelementptr i8* %p.0.i.i556, i32 2 ; <i8*> [#uses=1]
+ br label %endif41.i.i585
+
+case51.i.i579: ; preds = %if40.i.i575, %if40.i.i575
+ %tmp53.i.i578 = getelementptr i8* %p.0.i.i556, i32 2 ; <i8*> [#uses=1]
+ br label %endif41.i.i585
+
+case56.i.i581: ; preds = %if40.i.i575, %if40.i.i575
+ %tmp58.i.i580 = getelementptr i8* %p.0.i.i556, i32 2 ; <i8*> [#uses=1]
+ br label %endif41.i.i585
+
+endif41.i.i585: ; preds = %case56.i.i581, %case51.i.i579, %case46.i.i577, %if40.i.i575, %endfor.i.i571
+ %r.0.i.i582 = phi i32 [ 0, %if40.i.i575 ], [ 8, %case56.i.i581 ], [ 2, %case51.i.i579 ], [ 16, %case46.i.i577 ], [ 0, %endfor.i.i571 ] ; <i32> [#uses=2]
+ %p.2.i.i583 = phi i8* [ %tmp43.i.i572, %if40.i.i575 ], [ %tmp58.i.i580, %case56.i.i581 ], [ %tmp53.i.i578, %case51.i.i579 ], [ %tmp48.i.i576, %case46.i.i577 ], [ %p.0.i.i556, %endfor.i.i571 ] ; <i8*> [#uses=2]
+ %tmp63.i.i584 = icmp eq i32 %r.0.i.i582, 0 ; <i1> [#uses=1]
+ br i1 %tmp63.i.i584, label %_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit.i597, label %if70.i.i589
+
+if70.i.i589: ; preds = %endif41.i.i585
+ br label %_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit.i597
+
+_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit.i597: ; preds = %if70.i.i589, %endif41.i.i585, %endif89
+ %sign.2.i590 = phi i1 [ false, %endif89 ], [ %sign.1.i554, %if70.i.i589 ], [ %sign.1.i554, %endif41.i.i585 ] ; <i1> [#uses=1]
+ %radix.0.i591 = phi i32 [ 0, %endif89 ], [ %r.0.i.i582, %if70.i.i589 ], [ 10, %endif41.i.i585 ] ; <i32> [#uses=2]
+ %p.1.i.i592 = phi i8* [ %p.2.i.i583, %if70.i.i589 ], [ %digits_arg27.i552, %endif89 ], [ %p.2.i.i583, %endif41.i.i585 ] ; <i8*> [#uses=1]
+ %tmp84.i.i593 = ptrtoint i8* %p.1.i.i592 to i32 ; <i32> [#uses=1]
+ %tmp85.i.i594 = ptrtoint i8* %digits_arg27.i552 to i32 ; <i32> [#uses=1]
+ %tmp86.i.i595 = sub i32 %tmp84.i.i593, %tmp85.i.i594 ; <i32> [#uses=2]
+ %tmp6.i596 = sub i32 %digits_arg26.i551, %tmp86.i.i595 ; <i32> [#uses=1]
+ br label %foreachcond.i.i602
+
+foreachcond.i.i602: ; preds = %if55.i.i631, %_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit.i597
+ %value.0.i.i598 = phi i64 [ 0, %_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit.i597 ], [ %tmp65.i.i628, %if55.i.i631 ] ; <i64> [#uses=3]
+ %foreachkey.0.i.i600 = phi i32 [ 0, %_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit.i597 ], [ %tmp70.i.i630, %if55.i.i631 ] ; <i32> [#uses=3]
+ %tmp3.i.i601 = icmp ult i32 %foreachkey.0.i.i600, %tmp6.i596 ; <i1> [#uses=1]
+ br i1 %tmp3.i.i601, label %foreachbody.i.i608, label %_D5tango4text7convert7Integer12__T5parseTaZ5parseFAakPkZl.exit635
+
+foreachbody.i.i608: ; preds = %foreachcond.i.i602
+ %tmp5.sum.i603 = add i32 %tmp86.i.i595, %foreachkey.0.i.i600 ; <i32> [#uses=1]
+ %tmp5.i.i604 = getelementptr i8* %digits_arg27.i552, i32 %tmp5.sum.i603 ; <i8*> [#uses=1]
+ %tmp6.i.i605 = load i8* %tmp5.i.i604 ; <i8> [#uses=6]
+ %tmp6.off84.i.i606 = add i8 %tmp6.i.i605, -48 ; <i8> [#uses=1]
+ %or.cond.i28.i607 = icmp ugt i8 %tmp6.off84.i.i606, 9 ; <i1> [#uses=1]
+ br i1 %or.cond.i28.i607, label %else.i.i611, label %endif.i.i624
+
+else.i.i611: ; preds = %foreachbody.i.i608
+ %tmp6.off83.i.i609 = add i8 %tmp6.i.i605, -97 ; <i8> [#uses=1]
+ %or.cond81.i.i610 = icmp ugt i8 %tmp6.off83.i.i609, 25 ; <i1> [#uses=1]
+ br i1 %or.cond81.i.i610, label %else24.i.i616, label %if22.i.i613
+
+if22.i.i613: ; preds = %else.i.i611
+ %tmp27.i.i612 = add i8 %tmp6.i.i605, -39 ; <i8> [#uses=1]
+ br label %endif.i.i624
+
+else24.i.i616: ; preds = %else.i.i611
+ %tmp6.off.i.i614 = add i8 %tmp6.i.i605, -65 ; <i8> [#uses=1]
+ %or.cond82.i.i615 = icmp ugt i8 %tmp6.off.i.i614, 25 ; <i1> [#uses=1]
+ br i1 %or.cond82.i.i615, label %_D5tango4text7convert7Integer12__T5parseTaZ5parseFAakPkZl.exit635, label %if39.i.i618
+
+if39.i.i618: ; preds = %else24.i.i616
+ %tmp44.i29.i617 = add i8 %tmp6.i.i605, -7 ; <i8> [#uses=1]
+ br label %endif.i.i624
+
+endif.i.i624: ; preds = %if39.i.i618, %if22.i.i613, %foreachbody.i.i608
+ %c.0.i30.i619 = phi i8 [ %tmp27.i.i612, %if22.i.i613 ], [ %tmp44.i29.i617, %if39.i.i618 ], [ %tmp6.i.i605, %foreachbody.i.i608 ] ; <i8> [#uses=1]
+ %tmp48.i31.i620 = zext i8 %c.0.i30.i619 to i32 ; <i32> [#uses=1]
+ %tmp49.i.i621 = add i32 %tmp48.i31.i620, 208 ; <i32> [#uses=1]
+ %tmp52.i.i622 = and i32 %tmp49.i.i621, 255 ; <i32> [#uses=2]
+ %tmp54.i.i623 = icmp ult i32 %tmp52.i.i622, %radix.0.i591 ; <i1> [#uses=1]
+ br i1 %tmp54.i.i623, label %if55.i.i631, label %_D5tango4text7convert7Integer12__T5parseTaZ5parseFAakPkZl.exit635
+
+if55.i.i631: ; preds = %endif.i.i624
+ %tmp59.i.i625 = zext i32 %radix.0.i591 to i64 ; <i64> [#uses=1]
+ %tmp61.i.i626 = mul i64 %value.0.i.i598, %tmp59.i.i625 ; <i64> [#uses=1]
+ %tmp64.i.i627 = zext i32 %tmp52.i.i622 to i64 ; <i64> [#uses=1]
+ %tmp65.i.i628 = add i64 %tmp61.i.i626, %tmp64.i.i627 ; <i64> [#uses=1]
+ %tmp70.i.i630 = add i32 %foreachkey.0.i.i600, 1 ; <i32> [#uses=1]
+ br label %foreachcond.i.i602
+
+_D5tango4text7convert7Integer12__T5parseTaZ5parseFAakPkZl.exit635: ; preds = %endif.i.i624, %else24.i.i616, %foreachcond.i.i602
+ %negval.i633 = sub i64 0, %value.0.i.i598 ; <i64> [#uses=1]
+ %condtmp.0.i634 = select i1 %sign.2.i590, i64 %negval.i633, i64 %value.0.i.i598 ; <i64> [#uses=1]
+ %.newclass_gc_alloc135 = call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango3net6Socket11IPv4Address7__ClassZ) ; <i8*> [#uses=6]
+ %vtbl137 = bitcast i8* %.newclass_gc_alloc135 to %tango.net.Socket.IPv4Address.__vtbl** ; <%tango.net.Socket.IPv4Address.__vtbl**> [#uses=1]
+ store %tango.net.Socket.IPv4Address.__vtbl* @_D5tango3net6Socket11IPv4Address6__vtblZ, %tango.net.Socket.IPv4Address.__vtbl** %vtbl137
+ %monitor138 = getelementptr i8* %.newclass_gc_alloc135, i32 4 ; <i8*> [#uses=1]
+ %5 = bitcast i8* %monitor138 to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %5
+ %tmp139 = getelementptr i8* %.newclass_gc_alloc135, i32 8 ; <i8*> [#uses=1]
+ call void @llvm.memcpy.i32(i8* %tmp139, i8* getelementptr (%tango.net.Socket.IPv4Address* bitcast (%22* @_D5tango3net6Socket11IPv4Address6__initZ to %tango.net.Socket.IPv4Address*), i32 0, i32 2, i32 0), i32 24, i32 1)
+ %tmp145 = trunc i64 %condtmp.0.i634 to i16 ; <i16> [#uses=1]
+ %tmp2.i636 = getelementptr i8* %.newclass_gc_alloc135, i32 20 ; <i8*> [#uses=1]
+ %6 = bitcast i8* %tmp2.i636 to i32* ; <i32*> [#uses=1]
+ store i32 %tmp126, i32* %6
+ %tmp7.i637 = getelementptr i8* %.newclass_gc_alloc135, i32 18 ; <i8*> [#uses=1]
+ %7 = bitcast i8* %tmp7.i637 to i16* ; <i16*> [#uses=1]
+ store i16 %tmp145, i16* %7
+ %tmp147 = bitcast i8* %.newclass_gc_alloc135 to %tango.net.Socket.Address* ; <%tango.net.Socket.Address*> [#uses=1]
+ br label %try
+
+else56: ; preds = %else
+ call fastcc void %this.sendCommand62(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" { i32 4, i8* getelementptr ([5 x i8]* @.str138, i32 0, i32 0) }, %"char[][]" zeroinitializer)
+ %tmp157 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp1 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
+ %"this.readResponse@vtbl158" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp157, i32 0, i32 36 ; <void (%tango.net.ftp.FtpClient.FtpResponse*, %tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")**> [#uses=1]
+ %this.readResponse160 = load void (%tango.net.ftp.FtpClient.FtpResponse*, %tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")** %"this.readResponse@vtbl158", align 4 ; <void (%tango.net.ftp.FtpClient.FtpResponse*, %tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")*> [#uses=1]
+ call fastcc void %this.readResponse160(%tango.net.ftp.FtpClient.FtpResponse* noalias nocapture sret %.rettmp161, %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" { i32 3, i8* getelementptr ([4 x i8]* @.str139, i32 0, i32 0) })
+ %.rettmp161.1.0 = getelementptr %tango.net.ftp.FtpClient.FtpResponse* %.rettmp161, i32 0, i32 1, i32 0 ; <i32*> [#uses=1]
+ %tmp = load i32* %.rettmp161.1.0, align 4 ; <i32> [#uses=2]
+ %.rettmp161.1.1 = getelementptr %tango.net.ftp.FtpClient.FtpResponse* %.rettmp161, i32 0, i32 1, i32 1 ; <i8**> [#uses=1]
+ %tmp332 = load i8** %.rettmp161.1.1, align 4 ; <i8*> [#uses=2]
+ %.newclass_gc_alloc.i638 = call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex14__T7RegExpTTaZ7RegExpT7__ClassZ) ; <i8*> [#uses=4]
+ %.newclass_gc.i639 = bitcast i8* %.newclass_gc_alloc.i638 to %"tango.text.Regex.RegExpT!(char).RegExpT"* ; <%"tango.text.Regex.RegExpT!(char).RegExpT"*> [#uses=9]
+ %vtbl.i640 = bitcast i8* %.newclass_gc_alloc.i638 to %"tango.text.Regex.RegExpT!(char).RegExpT.__vtbl"** ; <%"tango.text.Regex.RegExpT!(char).RegExpT.__vtbl"**> [#uses=9]
+ store %"tango.text.Regex.RegExpT!(char).RegExpT.__vtbl"* @_D5tango4text5Regex14__T7RegExpTTaZ7RegExpT6__vtblZ, %"tango.text.Regex.RegExpT!(char).RegExpT.__vtbl"** %vtbl.i640
+ %monitor.i641 = getelementptr i8* %.newclass_gc_alloc.i638, i32 4 ; <i8*> [#uses=1]
+ %8 = bitcast i8* %monitor.i641 to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %8
+ %tmp.i642 = getelementptr i8* %.newclass_gc_alloc.i638, i32 8 ; <i8*> [#uses=1]
+ call void @llvm.memcpy.i32(i8* %tmp.i642, i8* bitcast (%"Act[]"* getelementptr (%"tango.text.Regex.RegExpT!(char).RegExpT"* bitcast (%30* @_D5tango4text5Regex14__T7RegExpTTaZ7RegExpT6__initZ to %"tango.text.Regex.RegExpT!(char).RegExpT"*), i32 0, i32 2) to i8*), i32 36, i32 1)
+ %tmp2.i.i643 = call fastcc %"tango.text.Regex.RegExpT!(char).RegExpT"* @_D5tango4text5Regex14__T7RegExpTTaZ7RegExpT5_ctorMFAabbbZC5tango4text5Regex14__T7RegExpTTaZ7RegExpT(%"tango.text.Regex.RegExpT!(char).RegExpT"* %.newclass_gc.i639, %"byte[]" { i32 53, i8* getelementptr ([54 x i8]* @.str140, i32 0, i32 0) }, i1 false, i1 true, i1 false) ; <%"tango.text.Regex.RegExpT!(char).RegExpT"*> [#uses=0]
+ %tmp168 = load %"tango.text.Regex.RegExpT!(char).RegExpT.__vtbl"** %vtbl.i640 ; <%"tango.text.Regex.RegExpT!(char).RegExpT.__vtbl"*> [#uses=1]
+ %"r.test@vtbl169" = getelementptr %"tango.text.Regex.RegExpT!(char).RegExpT.__vtbl"* %tmp168, i32 0, i32 7 ; <i1 (%"tango.text.Regex.RegExpT!(char).RegExpT"*, %"byte[]")**> [#uses=1]
+ %r.test171 = load i1 (%"tango.text.Regex.RegExpT!(char).RegExpT"*, %"byte[]")** %"r.test@vtbl169", align 4 ; <i1 (%"tango.text.Regex.RegExpT!(char).RegExpT"*, %"byte[]")*> [#uses=1]
+ br label %foreachcond.i.i648
+
+foreachcond.i.i648: ; preds = %foreachnext.i.i655, %else56
+ %pos.0.i.i646 = phi i32 [ 0, %else56 ], [ %tmp12.i.i654, %foreachnext.i.i655 ] ; <i32> [#uses=4]
+ %tmp3.i.i647 = icmp ult i32 %pos.0.i.i646, %tmp ; <i1> [#uses=1]
+ br i1 %tmp3.i.i647, label %foreachbody.i.i652, label %_D5tango4core5Array14__T4findTAaTaZ4findFAaaZk.exit658
+
+foreachbody.i.i652: ; preds = %foreachcond.i.i648
+ %tmp5.i.i649 = getelementptr i8* %tmp332, i32 %pos.0.i.i646 ; <i8*> [#uses=1]
+ %tmp6.i.i650 = load i8* %tmp5.i.i649 ; <i8> [#uses=1]
+ %tmp4.i.i.i651 = icmp eq i8 %tmp6.i.i650, 10 ; <i1> [#uses=1]
+ br i1 %tmp4.i.i.i651, label %_D5tango4core5Array14__T4findTAaTaZ4findFAaaZk.exit658, label %foreachnext.i.i655
+
+foreachnext.i.i655: ; preds = %foreachbody.i.i652
+ %tmp12.i.i654 = add i32 %pos.0.i.i646, 1 ; <i32> [#uses=1]
+ br label %foreachcond.i.i648
+
+_D5tango4core5Array14__T4findTAaTaZ4findFAaaZk.exit658: ; preds = %foreachbody.i.i652, %foreachcond.i.i648
+ %tmp23.i657 = phi i32 [ %pos.0.i.i646, %foreachbody.i.i652 ], [ %tmp, %foreachcond.i.i648 ] ; <i32> [#uses=1]
+ %tmp180 = insertvalue %"byte[]" undef, i32 %tmp23.i657, 0 ; <%"byte[]"> [#uses=1]
+ %tmp181 = insertvalue %"byte[]" %tmp180, i8* %tmp332, 1 ; <%"byte[]"> [#uses=1]
+ %tmp182 = call fastcc i1 %r.test171(%"tango.text.Regex.RegExpT!(char).RegExpT"* %.newclass_gc.i639, %"byte[]" %tmp181) ; <i1> [#uses=1]
+ br i1 %tmp182, label %endif184, label %if183
+
+if183: ; preds = %_D5tango4core5Array14__T4findTAaTaZ4findFAaaZk.exit658
+ %.newclass_gc_alloc185 = call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango3net3ftp9FtpClient12FtpException7__ClassZ) ; <i8*> [#uses=6]
+ %vtbl187 = bitcast i8* %.newclass_gc_alloc185 to %tango.net.ftp.FtpClient.FtpException.__vtbl** ; <%tango.net.ftp.FtpClient.FtpException.__vtbl**> [#uses=1]
+ store %tango.net.ftp.FtpClient.FtpException.__vtbl* @_D5tango3net3ftp9FtpClient12FtpException6__vtblZ, %tango.net.ftp.FtpClient.FtpException.__vtbl** %vtbl187
+ %monitor188 = getelementptr i8* %.newclass_gc_alloc185, i32 4 ; <i8*> [#uses=1]
+ %9 = bitcast i8* %monitor188 to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %9
+ %tmp189 = getelementptr i8* %.newclass_gc_alloc185, i32 8 ; <i8*> [#uses=1]
+ call void @llvm.memcpy.i32(i8* %tmp189, i8* bitcast (%"byte[]"* getelementptr (%tango.net.ftp.FtpClient.FtpException* @_D5tango3net3ftp9FtpClient12FtpException6__initZ, i32 0, i32 2) to i8*), i32 31, i32 1)
+ %tmp2.i659 = getelementptr i8* %.newclass_gc_alloc185, i32 36 ; <i8*> [#uses=1]
+ call void @llvm.memcpy.i32(i8* %tmp2.i659, i8* getelementptr ([4 x i8]* @.str142, i32 0, i32 0), i32 3, i32 1)
+ %tmp5.i660 = bitcast i8* %.newclass_gc_alloc185 to %object.Exception* ; <%object.Exception*> [#uses=1]
+ %tmp7.i661 = call fastcc %object.Exception* @_D6object9Exception5_ctorMFAaC9ExceptionZC9Exception(%object.Exception* %tmp5.i660, %"byte[]" { i32 31, i8* getelementptr ([32 x i8]* @.str141, i32 0, i32 0) }, %object.Exception* null) ; <%object.Exception*> [#uses=0]
+ %tmp194 = bitcast i8* %.newclass_gc_alloc185 to %object.Object* ; <%object.Object*> [#uses=1]
+ call void @_d_throw_exception(%object.Object* %tmp194)
+ unreachable
+
+endif184: ; preds = %_D5tango4core5Array14__T4findTAaTaZ4findFAaaZk.exit658
+ %tmp199 = load %"tango.text.Regex.RegExpT!(char).RegExpT.__vtbl"** %vtbl.i640 ; <%"tango.text.Regex.RegExpT!(char).RegExpT.__vtbl"*> [#uses=1]
+ %"r.match@vtbl200" = getelementptr %"tango.text.Regex.RegExpT!(char).RegExpT.__vtbl"* %tmp199, i32 0, i32 9 ; <%"byte[]" (%"tango.text.Regex.RegExpT!(char).RegExpT"*, i32)**> [#uses=1]
+ %r.match202 = load %"byte[]" (%"tango.text.Regex.RegExpT!(char).RegExpT"*, i32)** %"r.match@vtbl200", align 4 ; <%"byte[]" (%"tango.text.Regex.RegExpT!(char).RegExpT"*, i32)*> [#uses=1]
+ %tmp203 = call fastcc %"byte[]" %r.match202(%"tango.text.Regex.RegExpT!(char).RegExpT"* %.newclass_gc.i639, i32 1) ; <%"byte[]"> [#uses=2]
+ %.len = extractvalue %"byte[]" %tmp203, 0 ; <i32> [#uses=3]
+ %tmp204 = add i32 %.len, 1 ; <i32> [#uses=4]
+ %.nongc_mem = alloca i8, i32 %tmp204, align 1 ; <i8*> [#uses=3]
+ %.ptr205 = extractvalue %"byte[]" %tmp203, 1 ; <i8*> [#uses=1]
+ call void @llvm.memcpy.i32(i8* %.nongc_mem, i8* %.ptr205, i32 %.len, i32 1)
+ %tmp207 = getelementptr i8* %.nongc_mem, i32 %.len ; <i8*> [#uses=1]
+ store i8 46, i8* %tmp207, align 1
+ %tmp210 = load %"tango.text.Regex.RegExpT!(char).RegExpT.__vtbl"** %vtbl.i640 ; <%"tango.text.Regex.RegExpT!(char).RegExpT.__vtbl"*> [#uses=1]
+ %"r.match@vtbl211" = getelementptr %"tango.text.Regex.RegExpT!(char).RegExpT.__vtbl"* %tmp210, i32 0, i32 9 ; <%"byte[]" (%"tango.text.Regex.RegExpT!(char).RegExpT"*, i32)**> [#uses=1]
+ %r.match213 = load %"byte[]" (%"tango.text.Regex.RegExpT!(char).RegExpT"*, i32)** %"r.match@vtbl211", align 4 ; <%"byte[]" (%"tango.text.Regex.RegExpT!(char).RegExpT"*, i32)*> [#uses=1]
+ %tmp214 = call fastcc %"byte[]" %r.match213(%"tango.text.Regex.RegExpT!(char).RegExpT"* %.newclass_gc.i639, i32 2) ; <%"byte[]"> [#uses=2]
+ %.len215 = extractvalue %"byte[]" %tmp214, 0 ; <i32> [#uses=2]
+ %tmp216 = add i32 %tmp204, %.len215 ; <i32> [#uses=4]
+ %.nongc_mem662 = alloca i8, i32 %tmp216, align 1 ; <i8*> [#uses=3]
+ %.ptr218 = extractvalue %"byte[]" %tmp214, 1 ; <i8*> [#uses=1]
+ call void @llvm.memcpy.i32(i8* %.nongc_mem662, i8* %.nongc_mem, i32 %tmp204, i32 1)
+ %tmp220 = getelementptr i8* %.nongc_mem662, i32 %tmp204 ; <i8*> [#uses=1]
+ call void @llvm.memcpy.i32(i8* %tmp220, i8* %.ptr218, i32 %.len215, i32 1)
+ %tmp222 = add i32 %tmp216, 1 ; <i32> [#uses=4]
+ %.nongc_mem663 = alloca i8, i32 %tmp222, align 1 ; <i8*> [#uses=3]
+ call void @llvm.memcpy.i32(i8* %.nongc_mem663, i8* %.nongc_mem662, i32 %tmp216, i32 1)
+ %tmp225 = getelementptr i8* %.nongc_mem663, i32 %tmp216 ; <i8*> [#uses=1]
+ store i8 46, i8* %tmp225, align 1
+ %tmp228 = load %"tango.text.Regex.RegExpT!(char).RegExpT.__vtbl"** %vtbl.i640 ; <%"tango.text.Regex.RegExpT!(char).RegExpT.__vtbl"*> [#uses=1]
+ %"r.match@vtbl229" = getelementptr %"tango.text.Regex.RegExpT!(char).RegExpT.__vtbl"* %tmp228, i32 0, i32 9 ; <%"byte[]" (%"tango.text.Regex.RegExpT!(char).RegExpT"*, i32)**> [#uses=1]
+ %r.match231 = load %"byte[]" (%"tango.text.Regex.RegExpT!(char).RegExpT"*, i32)** %"r.match@vtbl229", align 4 ; <%"byte[]" (%"tango.text.Regex.RegExpT!(char).RegExpT"*, i32)*> [#uses=1]
+ %tmp232 = call fastcc %"byte[]" %r.match231(%"tango.text.Regex.RegExpT!(char).RegExpT"* %.newclass_gc.i639, i32 3) ; <%"byte[]"> [#uses=2]
+ %.len233 = extractvalue %"byte[]" %tmp232, 0 ; <i32> [#uses=2]
+ %tmp234 = add i32 %tmp222, %.len233 ; <i32> [#uses=4]
+ %.nongc_mem664 = alloca i8, i32 %tmp234, align 1 ; <i8*> [#uses=3]
+ %.ptr236 = extractvalue %"byte[]" %tmp232, 1 ; <i8*> [#uses=1]
+ call void @llvm.memcpy.i32(i8* %.nongc_mem664, i8* %.nongc_mem663, i32 %tmp222, i32 1)
+ %tmp238 = getelementptr i8* %.nongc_mem664, i32 %tmp222 ; <i8*> [#uses=1]
+ call void @llvm.memcpy.i32(i8* %tmp238, i8* %.ptr236, i32 %.len233, i32 1)
+ %tmp240 = add i32 %tmp234, 1 ; <i32> [#uses=4]
+ %.nongc_mem665 = alloca i8, i32 %tmp240, align 1 ; <i8*> [#uses=3]
+ call void @llvm.memcpy.i32(i8* %.nongc_mem665, i8* %.nongc_mem664, i32 %tmp234, i32 1)
+ %tmp243 = getelementptr i8* %.nongc_mem665, i32 %tmp234 ; <i8*> [#uses=1]
+ store i8 46, i8* %tmp243, align 1
+ %tmp246 = load %"tango.text.Regex.RegExpT!(char).RegExpT.__vtbl"** %vtbl.i640 ; <%"tango.text.Regex.RegExpT!(char).RegExpT.__vtbl"*> [#uses=1]
+ %"r.match@vtbl247" = getelementptr %"tango.text.Regex.RegExpT!(char).RegExpT.__vtbl"* %tmp246, i32 0, i32 9 ; <%"byte[]" (%"tango.text.Regex.RegExpT!(char).RegExpT"*, i32)**> [#uses=1]
+ %r.match249 = load %"byte[]" (%"tango.text.Regex.RegExpT!(char).RegExpT"*, i32)** %"r.match@vtbl247", align 4 ; <%"byte[]" (%"tango.text.Regex.RegExpT!(char).RegExpT"*, i32)*> [#uses=1]
+ %tmp250 = call fastcc %"byte[]" %r.match249(%"tango.text.Regex.RegExpT!(char).RegExpT"* %.newclass_gc.i639, i32 4) ; <%"byte[]"> [#uses=2]
+ %.len251 = extractvalue %"byte[]" %tmp250, 0 ; <i32> [#uses=2]
+ %tmp252 = add i32 %tmp240, %.len251 ; <i32> [#uses=2]
+ %.gc_mem253 = call noalias i8* @_d_newarrayvT(%object.TypeInfo* @_D11TypeInfo_Aa6__initZ, i32 %tmp252) ; <i8*> [#uses=3]
+ %.ptr254 = extractvalue %"byte[]" %tmp250, 1 ; <i8*> [#uses=1]
+ call void @llvm.memcpy.i32(i8* %.gc_mem253, i8* %.nongc_mem665, i32 %tmp240, i32 1)
+ %tmp256 = getelementptr i8* %.gc_mem253, i32 %tmp240 ; <i8*> [#uses=1]
+ call void @llvm.memcpy.i32(i8* %tmp256, i8* %.ptr254, i32 %.len251, i32 1)
+ %tmp263 = load %"tango.text.Regex.RegExpT!(char).RegExpT.__vtbl"** %vtbl.i640 ; <%"tango.text.Regex.RegExpT!(char).RegExpT.__vtbl"*> [#uses=1]
+ %"r.match@vtbl264" = getelementptr %"tango.text.Regex.RegExpT!(char).RegExpT.__vtbl"* %tmp263, i32 0, i32 9 ; <%"byte[]" (%"tango.text.Regex.RegExpT!(char).RegExpT"*, i32)**> [#uses=1]
+ %r.match266 = load %"byte[]" (%"tango.text.Regex.RegExpT!(char).RegExpT"*, i32)** %"r.match@vtbl264", align 4 ; <%"byte[]" (%"tango.text.Regex.RegExpT!(char).RegExpT"*, i32)*> [#uses=1]
+ %tmp267 = call fastcc %"byte[]" %r.match266(%"tango.text.Regex.RegExpT!(char).RegExpT"* %.newclass_gc.i639, i32 5) ; <%"byte[]"> [#uses=2]
+ %digits_arg26.i464 = extractvalue %"byte[]" %tmp267, 0 ; <i32> [#uses=3]
+ %digits_arg27.i465 = extractvalue %"byte[]" %tmp267, 1 ; <i8*> [#uses=5]
+ %tmp4.i.i466 = icmp eq i32 %digits_arg26.i464, 0 ; <i1> [#uses=1]
+ br i1 %tmp4.i.i466, label %_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit.i510, label %forcond.i.i473
+
+forcond.i.i473: ; preds = %forinc.i.i480, %endif184
+ %sign.1.i467 = phi i1 [ false, %endif184 ], [ %sign.0.i477, %forinc.i.i480 ] ; <i1> [#uses=4]
+ %len.0.i.i468 = phi i32 [ %tmp33.i.i479, %forinc.i.i480 ], [ %digits_arg26.i464, %endif184 ] ; <i32> [#uses=3]
+ %p.0.i.i469 = phi i8* [ %tmp30.i.i478, %forinc.i.i480 ], [ %digits_arg27.i465, %endif184 ] ; <i8*> [#uses=6]
+ %c.0.in.i.i470 = phi i8* [ %tmp30.i.i478, %forinc.i.i480 ], [ %digits_arg27.i465, %endif184 ] ; <i8*> [#uses=1]
+ %c.0.i.i471 = load i8* %c.0.in.i.i470 ; <i8> [#uses=2]
+ %tmp8.i.i472 = icmp eq i32 %len.0.i.i468, 0 ; <i1> [#uses=1]
+ br i1 %tmp8.i.i472, label %endfor.i.i484, label %forbody.i.i474
+
+forbody.i.i474: ; preds = %forcond.i.i473
+ switch i8 %c.0.i.i471, label %endfor.i.i484 [
+ i8 32, label %forinc.i.i480
+ i8 9, label %forinc.i.i480
+ i8 45, label %if20.i.i475
+ i8 43, label %if26.i.i476
+ ]
+
+if20.i.i475: ; preds = %forbody.i.i474
+ br label %forinc.i.i480
+
+if26.i.i476: ; preds = %forbody.i.i474
+ br label %forinc.i.i480
+
+forinc.i.i480: ; preds = %if26.i.i476, %if20.i.i475, %forbody.i.i474, %forbody.i.i474
+ %sign.0.i477 = phi i1 [ false, %if26.i.i476 ], [ true, %if20.i.i475 ], [ %sign.1.i467, %forbody.i.i474 ], [ %sign.1.i467, %forbody.i.i474 ] ; <i1> [#uses=1]
+ %tmp30.i.i478 = getelementptr i8* %p.0.i.i469, i32 1 ; <i8*> [#uses=2]
+ %tmp33.i.i479 = add i32 %len.0.i.i468, -1 ; <i32> [#uses=1]
+ br label %forcond.i.i473
+
+endfor.i.i484: ; preds = %forbody.i.i474, %forcond.i.i473
+ %tmp37.i.i481 = icmp eq i8 %c.0.i.i471, 48 ; <i1> [#uses=1]
+ %tmp39.i.i482 = icmp sgt i32 %len.0.i.i468, 1 ; <i1> [#uses=1]
+ %or.cond.i.i483 = and i1 %tmp37.i.i481, %tmp39.i.i482 ; <i1> [#uses=1]
+ br i1 %or.cond.i.i483, label %if40.i.i488, label %endif41.i.i498
+
+if40.i.i488: ; preds = %endfor.i.i484
+ %tmp43.i.i485 = getelementptr i8* %p.0.i.i469, i32 1 ; <i8*> [#uses=2]
+ %tmp44.i.i486 = load i8* %tmp43.i.i485 ; <i8> [#uses=1]
+ %tmp45.i.i487 = zext i8 %tmp44.i.i486 to i32 ; <i32> [#uses=1]
+ switch i32 %tmp45.i.i487, label %endif41.i.i498 [
+ i32 120, label %case46.i.i490
+ i32 88, label %case46.i.i490
+ i32 98, label %case51.i.i492
+ i32 66, label %case51.i.i492
+ i32 111, label %case56.i.i494
+ i32 79, label %case56.i.i494
+ ]
+
+case46.i.i490: ; preds = %if40.i.i488, %if40.i.i488
+ %tmp48.i.i489 = getelementptr i8* %p.0.i.i469, i32 2 ; <i8*> [#uses=1]
+ br label %endif41.i.i498
+
+case51.i.i492: ; preds = %if40.i.i488, %if40.i.i488
+ %tmp53.i.i491 = getelementptr i8* %p.0.i.i469, i32 2 ; <i8*> [#uses=1]
+ br label %endif41.i.i498
+
+case56.i.i494: ; preds = %if40.i.i488, %if40.i.i488
+ %tmp58.i.i493 = getelementptr i8* %p.0.i.i469, i32 2 ; <i8*> [#uses=1]
+ br label %endif41.i.i498
+
+endif41.i.i498: ; preds = %case56.i.i494, %case51.i.i492, %case46.i.i490, %if40.i.i488, %endfor.i.i484
+ %r.0.i.i495 = phi i32 [ 0, %if40.i.i488 ], [ 8, %case56.i.i494 ], [ 2, %case51.i.i492 ], [ 16, %case46.i.i490 ], [ 0, %endfor.i.i484 ] ; <i32> [#uses=2]
+ %p.2.i.i496 = phi i8* [ %tmp43.i.i485, %if40.i.i488 ], [ %tmp58.i.i493, %case56.i.i494 ], [ %tmp53.i.i491, %case51.i.i492 ], [ %tmp48.i.i489, %case46.i.i490 ], [ %p.0.i.i469, %endfor.i.i484 ] ; <i8*> [#uses=2]
+ %tmp63.i.i497 = icmp eq i32 %r.0.i.i495, 0 ; <i1> [#uses=1]
+ br i1 %tmp63.i.i497, label %_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit.i510, label %if70.i.i502
+
+if70.i.i502: ; preds = %endif41.i.i498
+ br label %_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit.i510
+
+_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit.i510: ; preds = %if70.i.i502, %endif41.i.i498, %endif184
+ %sign.2.i503 = phi i1 [ false, %endif184 ], [ %sign.1.i467, %if70.i.i502 ], [ %sign.1.i467, %endif41.i.i498 ] ; <i1> [#uses=1]
+ %radix.0.i504 = phi i32 [ 0, %endif184 ], [ %r.0.i.i495, %if70.i.i502 ], [ 10, %endif41.i.i498 ] ; <i32> [#uses=2]
+ %p.1.i.i505 = phi i8* [ %p.2.i.i496, %if70.i.i502 ], [ %digits_arg27.i465, %endif184 ], [ %p.2.i.i496, %endif41.i.i498 ] ; <i8*> [#uses=1]
+ %tmp84.i.i506 = ptrtoint i8* %p.1.i.i505 to i32 ; <i32> [#uses=1]
+ %tmp85.i.i507 = ptrtoint i8* %digits_arg27.i465 to i32 ; <i32> [#uses=1]
+ %tmp86.i.i508 = sub i32 %tmp84.i.i506, %tmp85.i.i507 ; <i32> [#uses=2]
+ %tmp6.i509 = sub i32 %digits_arg26.i464, %tmp86.i.i508 ; <i32> [#uses=1]
+ br label %foreachcond.i.i515
+
+foreachcond.i.i515: ; preds = %if55.i.i544, %_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit.i510
+ %value.0.i.i511 = phi i64 [ 0, %_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit.i510 ], [ %tmp65.i.i541, %if55.i.i544 ] ; <i64> [#uses=3]
+ %foreachkey.0.i.i513 = phi i32 [ 0, %_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit.i510 ], [ %tmp70.i.i543, %if55.i.i544 ] ; <i32> [#uses=3]
+ %tmp3.i.i514 = icmp ult i32 %foreachkey.0.i.i513, %tmp6.i509 ; <i1> [#uses=1]
+ br i1 %tmp3.i.i514, label %foreachbody.i.i521, label %_D5tango4text7convert7Integer12__T5parseTaZ5parseFAakPkZl.exit548
+
+foreachbody.i.i521: ; preds = %foreachcond.i.i515
+ %tmp5.sum.i516 = add i32 %tmp86.i.i508, %foreachkey.0.i.i513 ; <i32> [#uses=1]
+ %tmp5.i.i517 = getelementptr i8* %digits_arg27.i465, i32 %tmp5.sum.i516 ; <i8*> [#uses=1]
+ %tmp6.i.i518 = load i8* %tmp5.i.i517 ; <i8> [#uses=6]
+ %tmp6.off84.i.i519 = add i8 %tmp6.i.i518, -48 ; <i8> [#uses=1]
+ %or.cond.i28.i520 = icmp ugt i8 %tmp6.off84.i.i519, 9 ; <i1> [#uses=1]
+ br i1 %or.cond.i28.i520, label %else.i.i524, label %endif.i.i537
+
+else.i.i524: ; preds = %foreachbody.i.i521
+ %tmp6.off83.i.i522 = add i8 %tmp6.i.i518, -97 ; <i8> [#uses=1]
+ %or.cond81.i.i523 = icmp ugt i8 %tmp6.off83.i.i522, 25 ; <i1> [#uses=1]
+ br i1 %or.cond81.i.i523, label %else24.i.i529, label %if22.i.i526
+
+if22.i.i526: ; preds = %else.i.i524
+ %tmp27.i.i525 = add i8 %tmp6.i.i518, -39 ; <i8> [#uses=1]
+ br label %endif.i.i537
+
+else24.i.i529: ; preds = %else.i.i524
+ %tmp6.off.i.i527 = add i8 %tmp6.i.i518, -65 ; <i8> [#uses=1]
+ %or.cond82.i.i528 = icmp ugt i8 %tmp6.off.i.i527, 25 ; <i1> [#uses=1]
+ br i1 %or.cond82.i.i528, label %_D5tango4text7convert7Integer12__T5parseTaZ5parseFAakPkZl.exit548, label %if39.i.i531
+
+if39.i.i531: ; preds = %else24.i.i529
+ %tmp44.i29.i530 = add i8 %tmp6.i.i518, -7 ; <i8> [#uses=1]
+ br label %endif.i.i537
+
+endif.i.i537: ; preds = %if39.i.i531, %if22.i.i526, %foreachbody.i.i521
+ %c.0.i30.i532 = phi i8 [ %tmp27.i.i525, %if22.i.i526 ], [ %tmp44.i29.i530, %if39.i.i531 ], [ %tmp6.i.i518, %foreachbody.i.i521 ] ; <i8> [#uses=1]
+ %tmp48.i31.i533 = zext i8 %c.0.i30.i532 to i32 ; <i32> [#uses=1]
+ %tmp49.i.i534 = add i32 %tmp48.i31.i533, 208 ; <i32> [#uses=1]
+ %tmp52.i.i535 = and i32 %tmp49.i.i534, 255 ; <i32> [#uses=2]
+ %tmp54.i.i536 = icmp ult i32 %tmp52.i.i535, %radix.0.i504 ; <i1> [#uses=1]
+ br i1 %tmp54.i.i536, label %if55.i.i544, label %_D5tango4text7convert7Integer12__T5parseTaZ5parseFAakPkZl.exit548
+
+if55.i.i544: ; preds = %endif.i.i537
+ %tmp59.i.i538 = zext i32 %radix.0.i504 to i64 ; <i64> [#uses=1]
+ %tmp61.i.i539 = mul i64 %value.0.i.i511, %tmp59.i.i538 ; <i64> [#uses=1]
+ %tmp64.i.i540 = zext i32 %tmp52.i.i535 to i64 ; <i64> [#uses=1]
+ %tmp65.i.i541 = add i64 %tmp61.i.i539, %tmp64.i.i540 ; <i64> [#uses=1]
+ %tmp70.i.i543 = add i32 %foreachkey.0.i.i513, 1 ; <i32> [#uses=1]
+ br label %foreachcond.i.i515
+
+_D5tango4text7convert7Integer12__T5parseTaZ5parseFAakPkZl.exit548: ; preds = %endif.i.i537, %else24.i.i529, %foreachcond.i.i515
+ %negval.i546 = sub i64 0, %value.0.i.i511 ; <i64> [#uses=1]
+ %condtmp.0.i547 = select i1 %sign.2.i503, i64 %negval.i546, i64 %value.0.i.i511 ; <i64> [#uses=1]
+ %tmp269 = trunc i64 %condtmp.0.i547 to i32 ; <i32> [#uses=1]
+ %tmp270 = shl i32 %tmp269, 8 ; <i32> [#uses=1]
+ %tmp273 = load %"tango.text.Regex.RegExpT!(char).RegExpT.__vtbl"** %vtbl.i640 ; <%"tango.text.Regex.RegExpT!(char).RegExpT.__vtbl"*> [#uses=1]
+ %"r.match@vtbl274" = getelementptr %"tango.text.Regex.RegExpT!(char).RegExpT.__vtbl"* %tmp273, i32 0, i32 9 ; <%"byte[]" (%"tango.text.Regex.RegExpT!(char).RegExpT"*, i32)**> [#uses=1]
+ %r.match276 = load %"byte[]" (%"tango.text.Regex.RegExpT!(char).RegExpT"*, i32)** %"r.match@vtbl274", align 4 ; <%"byte[]" (%"tango.text.Regex.RegExpT!(char).RegExpT"*, i32)*> [#uses=1]
+ %tmp277 = call fastcc %"byte[]" %r.match276(%"tango.text.Regex.RegExpT!(char).RegExpT"* %.newclass_gc.i639, i32 7) ; <%"byte[]"> [#uses=1]
+ %.len278 = extractvalue %"byte[]" %tmp277, 0 ; <i32> [#uses=1]
+ %tmp279 = icmp eq i32 %.len278, 0 ; <i1> [#uses=1]
+ br i1 %tmp279, label %condend, label %condtrue
+
+condtrue: ; preds = %_D5tango4text7convert7Integer12__T5parseTaZ5parseFAakPkZl.exit548
+ %tmp282 = load %"tango.text.Regex.RegExpT!(char).RegExpT.__vtbl"** %vtbl.i640 ; <%"tango.text.Regex.RegExpT!(char).RegExpT.__vtbl"*> [#uses=1]
+ %"r.match@vtbl283" = getelementptr %"tango.text.Regex.RegExpT!(char).RegExpT.__vtbl"* %tmp282, i32 0, i32 9 ; <%"byte[]" (%"tango.text.Regex.RegExpT!(char).RegExpT"*, i32)**> [#uses=1]
+ %r.match285 = load %"byte[]" (%"tango.text.Regex.RegExpT!(char).RegExpT"*, i32)** %"r.match@vtbl283", align 4 ; <%"byte[]" (%"tango.text.Regex.RegExpT!(char).RegExpT"*, i32)*> [#uses=1]
+ %tmp286 = call fastcc %"byte[]" %r.match285(%"tango.text.Regex.RegExpT!(char).RegExpT"* %.newclass_gc.i639, i32 7) ; <%"byte[]"> [#uses=2]
+ %digits_arg26.i375 = extractvalue %"byte[]" %tmp286, 0 ; <i32> [#uses=3]
+ %digits_arg27.i376 = extractvalue %"byte[]" %tmp286, 1 ; <i8*> [#uses=5]
+ %tmp4.i.i377 = icmp eq i32 %digits_arg26.i375, 0 ; <i1> [#uses=1]
+ br i1 %tmp4.i.i377, label %_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit.i421, label %forcond.i.i384
+
+forcond.i.i384: ; preds = %forinc.i.i391, %condtrue
+ %sign.1.i378 = phi i1 [ false, %condtrue ], [ %sign.0.i388, %forinc.i.i391 ] ; <i1> [#uses=4]
+ %len.0.i.i379 = phi i32 [ %tmp33.i.i390, %forinc.i.i391 ], [ %digits_arg26.i375, %condtrue ] ; <i32> [#uses=3]
+ %p.0.i.i380 = phi i8* [ %tmp30.i.i389, %forinc.i.i391 ], [ %digits_arg27.i376, %condtrue ] ; <i8*> [#uses=6]
+ %c.0.in.i.i381 = phi i8* [ %tmp30.i.i389, %forinc.i.i391 ], [ %digits_arg27.i376, %condtrue ] ; <i8*> [#uses=1]
+ %c.0.i.i382 = load i8* %c.0.in.i.i381 ; <i8> [#uses=2]
+ %tmp8.i.i383 = icmp eq i32 %len.0.i.i379, 0 ; <i1> [#uses=1]
+ br i1 %tmp8.i.i383, label %endfor.i.i395, label %forbody.i.i385
+
+forbody.i.i385: ; preds = %forcond.i.i384
+ switch i8 %c.0.i.i382, label %endfor.i.i395 [
+ i8 32, label %forinc.i.i391
+ i8 9, label %forinc.i.i391
+ i8 45, label %if20.i.i386
+ i8 43, label %if26.i.i387
+ ]
+
+if20.i.i386: ; preds = %forbody.i.i385
+ br label %forinc.i.i391
+
+if26.i.i387: ; preds = %forbody.i.i385
+ br label %forinc.i.i391
+
+forinc.i.i391: ; preds = %if26.i.i387, %if20.i.i386, %forbody.i.i385, %forbody.i.i385
+ %sign.0.i388 = phi i1 [ false, %if26.i.i387 ], [ true, %if20.i.i386 ], [ %sign.1.i378, %forbody.i.i385 ], [ %sign.1.i378, %forbody.i.i385 ] ; <i1> [#uses=1]
+ %tmp30.i.i389 = getelementptr i8* %p.0.i.i380, i32 1 ; <i8*> [#uses=2]
+ %tmp33.i.i390 = add i32 %len.0.i.i379, -1 ; <i32> [#uses=1]
+ br label %forcond.i.i384
+
+endfor.i.i395: ; preds = %forbody.i.i385, %forcond.i.i384
+ %tmp37.i.i392 = icmp eq i8 %c.0.i.i382, 48 ; <i1> [#uses=1]
+ %tmp39.i.i393 = icmp sgt i32 %len.0.i.i379, 1 ; <i1> [#uses=1]
+ %or.cond.i.i394 = and i1 %tmp37.i.i392, %tmp39.i.i393 ; <i1> [#uses=1]
+ br i1 %or.cond.i.i394, label %if40.i.i399, label %endif41.i.i409
+
+if40.i.i399: ; preds = %endfor.i.i395
+ %tmp43.i.i396 = getelementptr i8* %p.0.i.i380, i32 1 ; <i8*> [#uses=2]
+ %tmp44.i.i397 = load i8* %tmp43.i.i396 ; <i8> [#uses=1]
+ %tmp45.i.i398 = zext i8 %tmp44.i.i397 to i32 ; <i32> [#uses=1]
+ switch i32 %tmp45.i.i398, label %endif41.i.i409 [
+ i32 120, label %case46.i.i401
+ i32 88, label %case46.i.i401
+ i32 98, label %case51.i.i403
+ i32 66, label %case51.i.i403
+ i32 111, label %case56.i.i405
+ i32 79, label %case56.i.i405
+ ]
+
+case46.i.i401: ; preds = %if40.i.i399, %if40.i.i399
+ %tmp48.i.i400 = getelementptr i8* %p.0.i.i380, i32 2 ; <i8*> [#uses=1]
+ br label %endif41.i.i409
+
+case51.i.i403: ; preds = %if40.i.i399, %if40.i.i399
+ %tmp53.i.i402 = getelementptr i8* %p.0.i.i380, i32 2 ; <i8*> [#uses=1]
+ br label %endif41.i.i409
+
+case56.i.i405: ; preds = %if40.i.i399, %if40.i.i399
+ %tmp58.i.i404 = getelementptr i8* %p.0.i.i380, i32 2 ; <i8*> [#uses=1]
+ br label %endif41.i.i409
+
+endif41.i.i409: ; preds = %case56.i.i405, %case51.i.i403, %case46.i.i401, %if40.i.i399, %endfor.i.i395
+ %r.0.i.i406 = phi i32 [ 0, %if40.i.i399 ], [ 8, %case56.i.i405 ], [ 2, %case51.i.i403 ], [ 16, %case46.i.i401 ], [ 0, %endfor.i.i395 ] ; <i32> [#uses=2]
+ %p.2.i.i407 = phi i8* [ %tmp43.i.i396, %if40.i.i399 ], [ %tmp58.i.i404, %case56.i.i405 ], [ %tmp53.i.i402, %case51.i.i403 ], [ %tmp48.i.i400, %case46.i.i401 ], [ %p.0.i.i380, %endfor.i.i395 ] ; <i8*> [#uses=2]
+ %tmp63.i.i408 = icmp eq i32 %r.0.i.i406, 0 ; <i1> [#uses=1]
+ br i1 %tmp63.i.i408, label %_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit.i421, label %if70.i.i413
+
+if70.i.i413: ; preds = %endif41.i.i409
+ br label %_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit.i421
+
+_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit.i421: ; preds = %if70.i.i413, %endif41.i.i409, %condtrue
+ %sign.2.i414 = phi i1 [ false, %condtrue ], [ %sign.1.i378, %if70.i.i413 ], [ %sign.1.i378, %endif41.i.i409 ] ; <i1> [#uses=1]
+ %radix.0.i415 = phi i32 [ 0, %condtrue ], [ %r.0.i.i406, %if70.i.i413 ], [ 10, %endif41.i.i409 ] ; <i32> [#uses=2]
+ %p.1.i.i416 = phi i8* [ %p.2.i.i407, %if70.i.i413 ], [ %digits_arg27.i376, %condtrue ], [ %p.2.i.i407, %endif41.i.i409 ] ; <i8*> [#uses=1]
+ %tmp84.i.i417 = ptrtoint i8* %p.1.i.i416 to i32 ; <i32> [#uses=1]
+ %tmp85.i.i418 = ptrtoint i8* %digits_arg27.i376 to i32 ; <i32> [#uses=1]
+ %tmp86.i.i419 = sub i32 %tmp84.i.i417, %tmp85.i.i418 ; <i32> [#uses=2]
+ %tmp6.i420 = sub i32 %digits_arg26.i375, %tmp86.i.i419 ; <i32> [#uses=1]
+ br label %foreachcond.i.i426
+
+foreachcond.i.i426: ; preds = %if55.i.i455, %_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit.i421
+ %value.0.i.i422 = phi i64 [ 0, %_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit.i421 ], [ %tmp65.i.i452, %if55.i.i455 ] ; <i64> [#uses=3]
+ %foreachkey.0.i.i424 = phi i32 [ 0, %_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit.i421 ], [ %tmp70.i.i454, %if55.i.i455 ] ; <i32> [#uses=3]
+ %tmp3.i.i425 = icmp ult i32 %foreachkey.0.i.i424, %tmp6.i420 ; <i1> [#uses=1]
+ br i1 %tmp3.i.i425, label %foreachbody.i.i432, label %_D5tango4text7convert7Integer12__T5parseTaZ5parseFAakPkZl.exit458
+
+foreachbody.i.i432: ; preds = %foreachcond.i.i426
+ %tmp5.sum.i427 = add i32 %tmp86.i.i419, %foreachkey.0.i.i424 ; <i32> [#uses=1]
+ %tmp5.i.i428 = getelementptr i8* %digits_arg27.i376, i32 %tmp5.sum.i427 ; <i8*> [#uses=1]
+ %tmp6.i.i429 = load i8* %tmp5.i.i428 ; <i8> [#uses=6]
+ %tmp6.off84.i.i430 = add i8 %tmp6.i.i429, -48 ; <i8> [#uses=1]
+ %or.cond.i28.i431 = icmp ugt i8 %tmp6.off84.i.i430, 9 ; <i1> [#uses=1]
+ br i1 %or.cond.i28.i431, label %else.i.i435, label %endif.i.i448
+
+else.i.i435: ; preds = %foreachbody.i.i432
+ %tmp6.off83.i.i433 = add i8 %tmp6.i.i429, -97 ; <i8> [#uses=1]
+ %or.cond81.i.i434 = icmp ugt i8 %tmp6.off83.i.i433, 25 ; <i1> [#uses=1]
+ br i1 %or.cond81.i.i434, label %else24.i.i440, label %if22.i.i437
+
+if22.i.i437: ; preds = %else.i.i435
+ %tmp27.i.i436 = add i8 %tmp6.i.i429, -39 ; <i8> [#uses=1]
+ br label %endif.i.i448
+
+else24.i.i440: ; preds = %else.i.i435
+ %tmp6.off.i.i438 = add i8 %tmp6.i.i429, -65 ; <i8> [#uses=1]
+ %or.cond82.i.i439 = icmp ugt i8 %tmp6.off.i.i438, 25 ; <i1> [#uses=1]
+ br i1 %or.cond82.i.i439, label %_D5tango4text7convert7Integer12__T5parseTaZ5parseFAakPkZl.exit458, label %if39.i.i442
+
+if39.i.i442: ; preds = %else24.i.i440
+ %tmp44.i29.i441 = add i8 %tmp6.i.i429, -7 ; <i8> [#uses=1]
+ br label %endif.i.i448
+
+endif.i.i448: ; preds = %if39.i.i442, %if22.i.i437, %foreachbody.i.i432
+ %c.0.i30.i443 = phi i8 [ %tmp27.i.i436, %if22.i.i437 ], [ %tmp44.i29.i441, %if39.i.i442 ], [ %tmp6.i.i429, %foreachbody.i.i432 ] ; <i8> [#uses=1]
+ %tmp48.i31.i444 = zext i8 %c.0.i30.i443 to i32 ; <i32> [#uses=1]
+ %tmp49.i.i445 = add i32 %tmp48.i31.i444, 208 ; <i32> [#uses=1]
+ %tmp52.i.i446 = and i32 %tmp49.i.i445, 255 ; <i32> [#uses=2]
+ %tmp54.i.i447 = icmp ult i32 %tmp52.i.i446, %radix.0.i415 ; <i1> [#uses=1]
+ br i1 %tmp54.i.i447, label %if55.i.i455, label %_D5tango4text7convert7Integer12__T5parseTaZ5parseFAakPkZl.exit458
+
+if55.i.i455: ; preds = %endif.i.i448
+ %tmp59.i.i449 = zext i32 %radix.0.i415 to i64 ; <i64> [#uses=1]
+ %tmp61.i.i450 = mul i64 %value.0.i.i422, %tmp59.i.i449 ; <i64> [#uses=1]
+ %tmp64.i.i451 = zext i32 %tmp52.i.i446 to i64 ; <i64> [#uses=1]
+ %tmp65.i.i452 = add i64 %tmp61.i.i450, %tmp64.i.i451 ; <i64> [#uses=1]
+ %tmp70.i.i454 = add i32 %foreachkey.0.i.i424, 1 ; <i32> [#uses=1]
+ br label %foreachcond.i.i426
+
+_D5tango4text7convert7Integer12__T5parseTaZ5parseFAakPkZl.exit458: ; preds = %endif.i.i448, %else24.i.i440, %foreachcond.i.i426
+ %negval.i456 = sub i64 0, %value.0.i.i422 ; <i64> [#uses=1]
+ %condtmp.0.i457 = select i1 %sign.2.i414, i64 %negval.i456, i64 %value.0.i.i422 ; <i64> [#uses=1]
+ %tmp288 = trunc i64 %condtmp.0.i457 to i32 ; <i32> [#uses=1]
+ br label %condend
+
+condend: ; preds = %_D5tango4text7convert7Integer12__T5parseTaZ5parseFAakPkZl.exit458, %_D5tango4text7convert7Integer12__T5parseTaZ5parseFAakPkZl.exit548
+ %condtmp.0 = phi i32 [ %tmp288, %_D5tango4text7convert7Integer12__T5parseTaZ5parseFAakPkZl.exit458 ], [ 0, %_D5tango4text7convert7Integer12__T5parseTaZ5parseFAakPkZl.exit548 ] ; <i32> [#uses=1]
+ %tmp290 = add i32 %tmp270, %condtmp.0 ; <i32> [#uses=1]
+ %.newclass_gc_alloc291 = call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango3net6Socket11IPv4Address7__ClassZ) ; <i8*> [#uses=4]
+ %.newclass_gc292 = bitcast i8* %.newclass_gc_alloc291 to %tango.net.Socket.IPv4Address* ; <%tango.net.Socket.IPv4Address*> [#uses=1]
+ %vtbl293 = bitcast i8* %.newclass_gc_alloc291 to %tango.net.Socket.IPv4Address.__vtbl** ; <%tango.net.Socket.IPv4Address.__vtbl**> [#uses=1]
+ store %tango.net.Socket.IPv4Address.__vtbl* @_D5tango3net6Socket11IPv4Address6__vtblZ, %tango.net.Socket.IPv4Address.__vtbl** %vtbl293
+ %monitor294 = getelementptr i8* %.newclass_gc_alloc291, i32 4 ; <i8*> [#uses=1]
+ %10 = bitcast i8* %monitor294 to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %10
+ %tmp295 = getelementptr i8* %.newclass_gc_alloc291, i32 8 ; <i8*> [#uses=1]
+ call void @llvm.memcpy.i32(i8* %tmp295, i8* getelementptr (%tango.net.Socket.IPv4Address* bitcast (%22* @_D5tango3net6Socket11IPv4Address6__initZ to %tango.net.Socket.IPv4Address*), i32 0, i32 2, i32 0), i32 24, i32 1)
+ %insert = insertvalue %"byte[]" undef, i32 %tmp252, 0 ; <%"byte[]"> [#uses=1]
+ %insert327 = insertvalue %"byte[]" %insert, i8* %.gc_mem253, 1 ; <%"byte[]"> [#uses=1]
+ %tmp301 = call fastcc %tango.net.Socket.IPv4Address* @_D5tango3net6Socket11IPv4Address5_ctorMFAaiZC5tango3net6Socket11IPv4Address(%tango.net.Socket.IPv4Address* %.newclass_gc292, %"byte[]" %insert327, i32 %tmp290) ; <%tango.net.Socket.IPv4Address*> [#uses=1]
+ %tmp302 = bitcast %tango.net.Socket.IPv4Address* %tmp301 to %tango.net.Socket.Address* ; <%tango.net.Socket.Address*> [#uses=1]
+ br label %try
+
+try: ; preds = %condend, %_D5tango4text7convert7Integer12__T5parseTaZ5parseFAakPkZl.exit635, %_D5tango4text7convert7Integer12__T5parseTaZ5parseFAakPkZl.exit
+ %connect_to.0 = phi %tango.net.Socket.Address* [ %tmp46, %_D5tango4text7convert7Integer12__T5parseTaZ5parseFAakPkZl.exit ], [ %tmp147, %_D5tango4text7convert7Integer12__T5parseTaZ5parseFAakPkZl.exit635 ], [ %tmp302, %condend ] ; <%tango.net.Socket.Address*> [#uses=3]
+ %.newclass_gc_alloc304 = invoke noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango3net13SocketConduit13SocketConduit7__ClassZ)
+ to label %postinvoke unwind label %landingpad ; <i8*> [#uses=5]
+
+postinvoke: ; preds = %try
+ %.newclass_gc305 = bitcast i8* %.newclass_gc_alloc304 to %tango.net.SocketConduit.SocketConduit* ; <%tango.net.SocketConduit.SocketConduit*> [#uses=2]
+ %vtbl306 = bitcast i8* %.newclass_gc_alloc304 to %tango.net.SocketConduit.SocketConduit.__vtbl** ; <%tango.net.SocketConduit.SocketConduit.__vtbl**> [#uses=2]
+ store %tango.net.SocketConduit.SocketConduit.__vtbl* @_D5tango3net13SocketConduit13SocketConduit6__vtblZ, %tango.net.SocketConduit.SocketConduit.__vtbl** %vtbl306
+ %monitor307 = getelementptr i8* %.newclass_gc_alloc304, i32 4 ; <i8*> [#uses=1]
+ %11 = bitcast i8* %monitor307 to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %11
+ %tmp308 = getelementptr i8* %.newclass_gc_alloc304, i32 8 ; <i8*> [#uses=1]
+ call void @llvm.memcpy.i32(i8* %tmp308, i8* bitcast (%15** getelementptr (%tango.net.SocketConduit.SocketConduit* bitcast (%23* @_D5tango3net13SocketConduit13SocketConduit6__initZ to %tango.net.SocketConduit.SocketConduit*), i32 0, i32 2) to i8*), i32 40, i32 1)
+ %tmp1.i.i.i = getelementptr i8* %.newclass_gc_alloc304, i32 28 ; <i8*> [#uses=1]
+ %12 = bitcast i8* %tmp1.i.i.i to %tango.net.Socket.Socket** ; <%tango.net.Socket.Socket**> [#uses=1]
+ %.newclass_gc_alloc.i.i.i374 = invoke noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango3net6Socket6Socket7__ClassZ)
+ to label %.newclass_gc_alloc.i.i.i.noexc unwind label %landingpad ; <i8*> [#uses=7]
+
+.newclass_gc_alloc.i.i.i.noexc: ; preds = %postinvoke
+ %.newclass_gc.i.i.i = bitcast i8* %.newclass_gc_alloc.i.i.i374 to %tango.net.Socket.Socket* ; <%tango.net.Socket.Socket*> [#uses=2]
+ %vtbl.i.i.i = bitcast i8* %.newclass_gc_alloc.i.i.i374 to %tango.net.Socket.Socket.__vtbl** ; <%tango.net.Socket.Socket.__vtbl**> [#uses=1]
+ store %tango.net.Socket.Socket.__vtbl* @_D5tango3net6Socket6Socket6__vtblZ, %tango.net.Socket.Socket.__vtbl** %vtbl.i.i.i
+ %monitor.i.i.i = getelementptr i8* %.newclass_gc_alloc.i.i.i374, i32 4 ; <i8*> [#uses=1]
+ %13 = bitcast i8* %monitor.i.i.i to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %13
+ %tmp2.i.i.i = getelementptr i8* %.newclass_gc_alloc.i.i.i374, i32 8 ; <i8*> [#uses=1]
+ call void @llvm.memcpy.i32(i8* %tmp2.i.i.i, i8* bitcast (i32* getelementptr (%tango.net.Socket.Socket* bitcast (%25* @_D5tango3net6Socket6Socket6__initZ to %tango.net.Socket.Socket*), i32 0, i32 2) to i8*), i32 16, i32 1)
+ %tmp1.i.i.i.i = getelementptr i8* %.newclass_gc_alloc.i.i.i374, i32 12 ; <i8*> [#uses=1]
+ %14 = bitcast i8* %tmp1.i.i.i.i to i32* ; <i32*> [#uses=1]
+ store i32 1, i32* %14
+ %tmp4.i.i.i.i = getelementptr i8* %.newclass_gc_alloc.i.i.i374, i32 16 ; <i8*> [#uses=1]
+ %15 = bitcast i8* %tmp4.i.i.i.i to i32* ; <i32*> [#uses=1]
+ store i32 2, i32* %15
+ %tmp7.i.i.i.i = getelementptr i8* %.newclass_gc_alloc.i.i.i374, i32 20 ; <i8*> [#uses=1]
+ %16 = bitcast i8* %tmp7.i.i.i.i to i32* ; <i32*> [#uses=1]
+ store i32 6, i32* %16
+ invoke fastcc void @_D5tango3net6Socket6Socket10initializeMFT5tango3net6Socket8socket_tZv(%tango.net.Socket.Socket* %.newclass_gc.i.i.i, i32 -1)
+ to label %_D5tango3net13SocketConduit13SocketConduit5_ctorMFZC5tango3net13SocketConduit13SocketConduit.exit unwind label %landingpad
+
+_D5tango3net13SocketConduit13SocketConduit5_ctorMFZC5tango3net13SocketConduit13SocketConduit.exit: ; preds = %.newclass_gc_alloc.i.i.i.noexc
+ store %tango.net.Socket.Socket* %.newclass_gc.i.i.i, %tango.net.Socket.Socket** %12
+ %tmp316 = load %tango.net.SocketConduit.SocketConduit.__vtbl** %vtbl306 ; <%tango.net.SocketConduit.SocketConduit.__vtbl*> [#uses=1]
+ %"sock.connect@vtbl" = getelementptr %tango.net.SocketConduit.SocketConduit.__vtbl* %tmp316, i32 0, i32 18 ; <%tango.net.SocketConduit.SocketConduit* (%tango.net.SocketConduit.SocketConduit*, %tango.net.Socket.Address*)**> [#uses=1]
+ %sock.connect = load %tango.net.SocketConduit.SocketConduit* (%tango.net.SocketConduit.SocketConduit*, %tango.net.Socket.Address*)** %"sock.connect@vtbl", align 4 ; <%tango.net.SocketConduit.SocketConduit* (%tango.net.SocketConduit.SocketConduit*, %tango.net.Socket.Address*)*> [#uses=1]
+ %tmp320 = invoke fastcc %tango.net.SocketConduit.SocketConduit* %sock.connect(%tango.net.SocketConduit.SocketConduit* %.newclass_gc305, %tango.net.Socket.Address* %connect_to.0)
+ to label %postinvoke319 unwind label %landingpad ; <%tango.net.SocketConduit.SocketConduit*> [#uses=0]
+
+postinvoke319: ; preds = %_D5tango3net13SocketConduit13SocketConduit5_ctorMFZC5tango3net13SocketConduit13SocketConduit.exit
+ %.tmp323 = bitcast %tango.net.Socket.Address* %connect_to.0 to %object.Object* ; <%object.Object*> [#uses=1]
+ call void @_d_delclass(%object.Object* %.tmp323)
+ ret %tango.net.SocketConduit.SocketConduit* %.newclass_gc305
+
+landingpad: ; preds = %_D5tango3net13SocketConduit13SocketConduit5_ctorMFZC5tango3net13SocketConduit13SocketConduit.exit, %.newclass_gc_alloc.i.i.i.noexc, %postinvoke, %try
+ %17 = call i8* @llvm.eh.exception() ; <i8*> [#uses=2]
+ %18 = call i32 (i8*, i8*, ...)* @llvm.eh.selector.i32(i8* %17, i8* bitcast (i32 (i32, i32, i64, i8*, i8*)* @_d_eh_personality to i8*), i32 0) ; <i32> [#uses=0]
+ %.tmp = bitcast %tango.net.Socket.Address* %connect_to.0 to %object.Object* ; <%object.Object*> [#uses=1]
+ call void @_d_delclass(%object.Object* %.tmp)
+ call void @_d_eh_resume_unwind(i8* %17)
+ unreachable
+}
+
+define fastcc i1 @_D5tango3net3ftp9FtpClient13FTPConnection11isSupportedMFAaZb(%tango.net.ftp.FtpClient.FTPConnection* nocapture %.this_arg, %"byte[]" %command_arg) {
+entry:
+ %tmp2 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 5, i32 0 ; <i32*> [#uses=1]
+ %.len = load i32* %tmp2 ; <i32> [#uses=2]
+ %tmp3 = icmp eq i32 %.len, 0 ; <i1> [#uses=1]
+ br i1 %tmp3, label %if, label %endif
+
+if: ; preds = %entry
+ ret i1 true
+
+endif: ; preds = %entry
+ %tmp8 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 5, i32 1 ; <%tango.net.ftp.FtpClient.FtpFeature**> [#uses=1]
+ %.ptr = load %tango.net.ftp.FtpClient.FtpFeature** %tmp8 ; <%tango.net.ftp.FtpClient.FtpFeature*> [#uses=2]
+ br label %foreachcond
+
+foreachcond: ; preds = %foreachnext, %endif
+ %foreachkey.0 = phi i32 [ 0, %endif ], [ %tmp24, %foreachnext ] ; <i32> [#uses=4]
+ %tmp10 = icmp ult i32 %foreachkey.0, %.len ; <i1> [#uses=1]
+ br i1 %tmp10, label %foreachbody, label %foreachend
+
+foreachbody: ; preds = %foreachcond
+ %tmp1231.0 = getelementptr %tango.net.ftp.FtpClient.FtpFeature* %.ptr, i32 %foreachkey.0, i32 0, i32 0 ; <i32*> [#uses=1]
+ %tmp32 = load i32* %tmp1231.0 ; <i32> [#uses=3]
+ %tmp1231.1 = getelementptr %tango.net.ftp.FtpClient.FtpFeature* %.ptr, i32 %foreachkey.0, i32 0, i32 1 ; <i8**> [#uses=1]
+ %tmp33 = load i8** %tmp1231.1, align 4 ; <i8*> [#uses=1]
+ %s2_arg22.i = extractvalue %"byte[]" %command_arg, 0 ; <i32> [#uses=3]
+ %s2_arg23.i = extractvalue %"byte[]" %command_arg, 1 ; <i8*> [#uses=1]
+ %tmp4.i = icmp ult i32 %s2_arg22.i, %tmp32 ; <i1> [#uses=1]
+ %len.0.i = select i1 %tmp4.i, i32 %s2_arg22.i, i32 %tmp32 ; <i32> [#uses=1]
+ %tmp11.i = tail call i32 @strncasecmp(i8* %tmp33, i8* %s2_arg23.i, i32 %len.0.i) ; <i32> [#uses=2]
+ %tmp20.i = sub i32 %tmp32, %s2_arg22.i ; <i32> [#uses=1]
+ %tmp13.i = icmp eq i32 %tmp11.i, 0 ; <i1> [#uses=1]
+ %tmp20.tmp11.i = select i1 %tmp13.i, i32 %tmp20.i, i32 %tmp11.i ; <i32> [#uses=1]
+ %tmp19 = icmp eq i32 %tmp20.tmp11.i, 0 ; <i1> [#uses=1]
+ br i1 %tmp19, label %if20, label %foreachnext
+
+if20: ; preds = %foreachbody
+ ret i1 true
+
+foreachnext: ; preds = %foreachbody
+ %tmp24 = add i32 %foreachkey.0, 1 ; <i32> [#uses=1]
+ br label %foreachcond
+
+foreachend: ; preds = %foreachcond
+ ret i1 false
+}
+
+define fastcc i1 @_D5tango3net3ftp9FtpClient13FTPConnection12is_supportedMFAaZb(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" %command_arg) {
+entry:
+ %tmp2 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 5, i32 0 ; <i32*> [#uses=1]
+ %.len = load i32* %tmp2 ; <i32> [#uses=1]
+ %tmp3 = icmp eq i32 %.len, 0 ; <i1> [#uses=1]
+ br i1 %tmp3, label %if, label %endif
+
+if: ; preds = %entry
+ ret i1 false
+
+endif: ; preds = %entry
+ %tmp5 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 0 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl**> [#uses=1]
+ %tmp6 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp5 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
+ %"this.isSupported@vtbl" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp6, i32 0, i32 41 ; <i1 (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")**> [#uses=1]
+ %this.isSupported = load i1 (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")** %"this.isSupported@vtbl", align 4 ; <i1 (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")*> [#uses=1]
+ %tmp9 = tail call fastcc i1 %this.isSupported(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" %command_arg) ; <i1> [#uses=1]
+ ret i1 %tmp9
+}
+
+define fastcc void @_D5tango3net3ftp9FtpClient13FTPConnection17prepareDataSocketMFKC5tango3net13SocketConduit13SocketConduitZv(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %tango.net.SocketConduit.SocketConduit** nocapture %data_arg) {
+entry:
+ %tv.i = alloca %tango.net.Socket.timeval, align 8 ; <%tango.net.Socket.timeval*> [#uses=2]
+ %.rettmp = alloca %tango.time.Time.Time, align 8 ; <%tango.time.Time.Time*> [#uses=2]
+ %.rettmp20 = alloca %tango.time.Time.Time, align 8 ; <%tango.time.Time.Time*> [#uses=2]
+ %.rettmp25 = alloca %tango.time.Time.Time, align 8 ; <%tango.time.Time.Time*> [#uses=2]
+ %.rettmp53 = alloca %tango.time.Time.Time, align 8 ; <%tango.time.Time.Time*> [#uses=2]
+ %tmp2 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 6, i32 0 ; <i32*> [#uses=1]
+ %tmp3 = load i32* %tmp2 ; <i32> [#uses=1]
+ switch i32 %tmp3, label %default4 [
+ i32 0, label %case
+ i32 1, label %switchend
+ ]
+
+default4: ; preds = %entry
+ %tmp6 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 0 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl**> [#uses=1]
+ %tmp7 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp6 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
+ %"this.exception@vtbl" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp7, i32 0, i32 5 ; <void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")**> [#uses=1]
+ %this.exception = load void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")** %"this.exception@vtbl", align 4 ; <void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")*> [#uses=1]
+ call fastcc void %this.exception(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" { i32 23, i8* getelementptr ([24 x i8]* @.str146, i32 0, i32 0) })
+ br label %case
+
+case: ; preds = %default4, %entry
+ %.newclass_gc_alloc = call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango3net6Socket9SocketSet7__ClassZ) ; <i8*> [#uses=8]
+ %.newclass_gc = bitcast i8* %.newclass_gc_alloc to %tango.net.Socket.SocketSet* ; <%tango.net.Socket.SocketSet*> [#uses=3]
+ %vtbl = bitcast i8* %.newclass_gc_alloc to %tango.net.Socket.SocketSet.__vtbl** ; <%tango.net.Socket.SocketSet.__vtbl**> [#uses=3]
+ store %tango.net.Socket.SocketSet.__vtbl* @_D5tango3net6Socket9SocketSet6__vtblZ, %tango.net.Socket.SocketSet.__vtbl** %vtbl
+ %monitor = getelementptr i8* %.newclass_gc_alloc, i32 4 ; <i8*> [#uses=1]
+ %0 = bitcast i8* %monitor to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %0
+ %tmp9 = getelementptr i8* %.newclass_gc_alloc, i32 8 ; <i8*> [#uses=2]
+ call void @llvm.memcpy.i32(i8* %tmp9, i8* bitcast (i32* getelementptr (%tango.net.Socket.SocketSet* bitcast (%24* @_D5tango3net6Socket9SocketSet6__initZ to %tango.net.Socket.SocketSet*), i32 0, i32 2) to i8*), i32 16, i32 1)
+ %1 = bitcast i8* %tmp9 to i32* ; <i32*> [#uses=2]
+ store i32 128, i32* %1
+ %tmp9.i.i = getelementptr i8* %.newclass_gc_alloc, i32 12 ; <i8*> [#uses=1]
+ %2 = bitcast i8* %tmp9.i.i to i8** ; <i8**> [#uses=1]
+ %.gc_mem.i.i = call noalias i8* @_d_newarrayT(%object.TypeInfo* @_D11TypeInfo_Ag6__initZ, i32 128) ; <i8*> [#uses=1]
+ store i8* %.gc_mem.i.i, i8** %2
+ %tmp14.i.i = getelementptr i8* %.newclass_gc_alloc, i32 16 ; <i8*> [#uses=1]
+ %3 = bitcast i8* %tmp14.i.i to i32* ; <i32*> [#uses=1]
+ %tmp17.i.i = load i32* %1 ; <i32> [#uses=1]
+ %tmp18.i.i = shl i32 %tmp17.i.i, 3 ; <i32> [#uses=1]
+ store i32 %tmp18.i.i, i32* %3
+ invoke fastcc void @_D5tango4time5Clock5Clock3nowFZS5tango4time4Time4Time(%tango.time.Time.Time* noalias nocapture sret %.rettmp)
+ to label %postinvoke unwind label %landingpad
+
+postinvoke: ; preds = %case
+ %tmp17 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 0 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl**> [#uses=2]
+ %tmp18 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp17 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
+ %"this.timeout@vtbl" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp18, i32 0, i32 10 ; <void (%tango.time.Time.Time*, %tango.net.ftp.FtpClient.FTPConnection*)**> [#uses=1]
+ %this.timeout = load void (%tango.time.Time.Time*, %tango.net.ftp.FtpClient.FTPConnection*)** %"this.timeout@vtbl", align 4 ; <void (%tango.time.Time.Time*, %tango.net.ftp.FtpClient.FTPConnection*)*> [#uses=1]
+ invoke fastcc void %this.timeout(%tango.time.Time.Time* noalias nocapture sret %.rettmp20, %tango.net.ftp.FtpClient.FTPConnection* %.this_arg)
+ to label %postinvoke21 unwind label %landingpad
+
+postinvoke21: ; preds = %postinvoke
+ %.rettmp20.0 = getelementptr %tango.time.Time.Time* %.rettmp20, i32 0, i32 0 ; <i64*> [#uses=1]
+ %tmp = load i64* %.rettmp20.0, align 8 ; <i64> [#uses=1]
+ %tmp1.i = getelementptr %tango.time.Time.Time* %.rettmp, i32 0, i32 0 ; <i64*> [#uses=1]
+ %tmp3.i = load i64* %tmp1.i, align 8 ; <i64> [#uses=1]
+ invoke fastcc void @_D5tango4time5Clock5Clock3nowFZS5tango4time4Time4Time(%tango.time.Time.Time* noalias nocapture sret %.rettmp25)
+ to label %postinvoke26 unwind label %landingpad
+
+whilebody: ; preds = %postinvoke26
+ %tmp32 = load %tango.net.Socket.SocketSet.__vtbl** %vtbl ; <%tango.net.Socket.SocketSet.__vtbl*> [#uses=1]
+ %"set.reset@vtbl" = getelementptr %tango.net.Socket.SocketSet.__vtbl* %tmp32, i32 0, i32 10 ; <void (%tango.net.Socket.SocketSet*)**> [#uses=1]
+ %set.reset = load void (%tango.net.Socket.SocketSet*)** %"set.reset@vtbl", align 4 ; <void (%tango.net.Socket.SocketSet*)*> [#uses=1]
+ invoke fastcc void %set.reset(%tango.net.Socket.SocketSet* %.newclass_gc)
+ to label %postinvoke34 unwind label %landingpad
+
+postinvoke26: ; preds = %postinvoke21
+ %tmp5.i = add i64 %tmp3.i, %tmp ; <i64> [#uses=1]
+ %tmp1.i133 = getelementptr %tango.time.Time.Time* %.rettmp25, i32 0, i32 0 ; <i64*> [#uses=1]
+ %tmp3.i135 = load i64* %tmp1.i133, align 8 ; <i64> [#uses=1]
+ %tmp5.i137 = icmp slt i64 %tmp3.i135, %tmp5.i ; <i1> [#uses=1]
+ br i1 %tmp5.i137, label %whilebody, label %endwhile
+
+postinvoke34: ; preds = %whilebody
+ %tmp37 = load %tango.net.Socket.SocketSet.__vtbl** %vtbl ; <%tango.net.Socket.SocketSet.__vtbl*> [#uses=1]
+ %"set.add@vtbl" = getelementptr %tango.net.Socket.SocketSet.__vtbl* %tmp37, i32 0, i32 12 ; <void (%tango.net.Socket.SocketSet*, %tango.net.Socket.Socket*)**> [#uses=1]
+ %set.add = load void (%tango.net.Socket.SocketSet*, %tango.net.Socket.Socket*)** %"set.add@vtbl", align 4 ; <void (%tango.net.Socket.SocketSet*, %tango.net.Socket.Socket*)*> [#uses=1]
+ %tmp39 = load %tango.net.SocketConduit.SocketConduit** %data_arg ; <%tango.net.SocketConduit.SocketConduit*> [#uses=2]
+ %tmp40 = getelementptr %tango.net.SocketConduit.SocketConduit* %tmp39, i32 0, i32 0 ; <%tango.net.SocketConduit.SocketConduit.__vtbl**> [#uses=1]
+ %tmp41 = load %tango.net.SocketConduit.SocketConduit.__vtbl** %tmp40 ; <%tango.net.SocketConduit.SocketConduit.__vtbl*> [#uses=1]
+ %"data.socket@vtbl" = getelementptr %tango.net.SocketConduit.SocketConduit.__vtbl* %tmp41, i32 0, i32 14 ; <%tango.net.Socket.Socket* (%tango.net.SocketConduit.SocketConduit*)**> [#uses=1]
+ %data.socket = load %tango.net.Socket.Socket* (%tango.net.SocketConduit.SocketConduit*)** %"data.socket@vtbl", align 4 ; <%tango.net.Socket.Socket* (%tango.net.SocketConduit.SocketConduit*)*> [#uses=1]
+ %tmp44 = invoke fastcc %tango.net.Socket.Socket* %data.socket(%tango.net.SocketConduit.SocketConduit* %tmp39)
+ to label %postinvoke43 unwind label %landingpad ; <%tango.net.Socket.Socket*> [#uses=1]
+
+postinvoke43: ; preds = %postinvoke34
+ invoke fastcc void %set.add(%tango.net.Socket.SocketSet* %.newclass_gc, %tango.net.Socket.Socket* %tmp44)
+ to label %postinvoke45 unwind label %landingpad
+
+postinvoke45: ; preds = %postinvoke43
+ %tmp49 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp17 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
+ %"this.timeout@vtbl50" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp49, i32 0, i32 10 ; <void (%tango.time.Time.Time*, %tango.net.ftp.FtpClient.FTPConnection*)**> [#uses=1]
+ %this.timeout52 = load void (%tango.time.Time.Time*, %tango.net.ftp.FtpClient.FTPConnection*)** %"this.timeout@vtbl50", align 4 ; <void (%tango.time.Time.Time*, %tango.net.ftp.FtpClient.FTPConnection*)*> [#uses=1]
+ invoke fastcc void %this.timeout52(%tango.time.Time.Time* noalias nocapture sret %.rettmp53, %tango.net.ftp.FtpClient.FTPConnection* %.this_arg)
+ to label %postinvoke54 unwind label %landingpad
+
+postinvoke54: ; preds = %postinvoke45
+ %.rettmp53.0 = getelementptr %tango.time.Time.Time* %.rettmp53, i32 0, i32 0 ; <i64*> [#uses=1]
+ %tmp150 = load i64* %.rettmp53.0, align 8 ; <i64> [#uses=2]
+ %tmp3.i.i.i = sdiv i64 %tmp150, 10000000 ; <i64> [#uses=1]
+ %tmp3.i14.i.i = sdiv i64 %tmp150, 10 ; <i64> [#uses=1]
+ %tmp6.i.i = trunc i64 %tmp3.i14.i.i to i32 ; <i32> [#uses=1]
+ %tmp7.i.i = urem i32 %tmp6.i.i, 1000000 ; <i32> [#uses=1]
+ %tmp7.i = bitcast %tango.net.Socket.timeval* %tv.i to i64* ; <i64*> [#uses=1]
+ %4 = shl i64 %tmp3.i.i.i, 32 ; <i64> [#uses=1]
+ %5 = zext i32 %tmp7.i.i to i64 ; <i64> [#uses=1]
+ %6 = or i64 %5, %4 ; <i64> [#uses=1]
+ store i64 %6, i64* %tmp7.i, align 8
+ %tmp5.i141142 = invoke fastcc i32 @_D5tango3net6Socket6Socket6selectFC5tango3net6Socket9SocketSetC5tango3net6Socket9SocketSetC5tango3net6Socket9SocketSetPS5tango3net6Socket7timevalZi(%tango.net.Socket.SocketSet* %.newclass_gc, %tango.net.Socket.SocketSet* null, %tango.net.Socket.SocketSet* null, %tango.net.Socket.timeval* %tv.i)
+ to label %_D5tango3net6Socket6Socket6selectFC5tango3net6Socket9SocketSetC5tango3net6Socket9SocketSetC5tango3net6Socket9SocketSetS5tango4time4Time8TimeSpanZi.exit unwind label %landingpad ; <i32> [#uses=1]
+
+_D5tango3net6Socket6Socket6selectFC5tango3net6Socket9SocketSetC5tango3net6Socket9SocketSetC5tango3net6Socket9SocketSetS5tango4time4Time8TimeSpanZi.exit: ; preds = %postinvoke54
+ switch i32 %tmp5.i141142, label %endif [
+ i32 -1, label %endwhile
+ i32 0, label %endwhile
+ ]
+
+endif: ; preds = %_D5tango3net6Socket6Socket6selectFC5tango3net6Socket9SocketSetC5tango3net6Socket9SocketSetC5tango3net6Socket9SocketSetS5tango4time4Time8TimeSpanZi.exit
+ %tmp61 = load %tango.net.SocketConduit.SocketConduit** %data_arg ; <%tango.net.SocketConduit.SocketConduit*> [#uses=2]
+ %tmp62 = getelementptr %tango.net.SocketConduit.SocketConduit* %tmp61, i32 0, i32 0 ; <%tango.net.SocketConduit.SocketConduit.__vtbl**> [#uses=1]
+ %tmp63 = load %tango.net.SocketConduit.SocketConduit.__vtbl** %tmp62 ; <%tango.net.SocketConduit.SocketConduit.__vtbl*> [#uses=1]
+ %"data.socket@vtbl64" = getelementptr %tango.net.SocketConduit.SocketConduit.__vtbl* %tmp63, i32 0, i32 14 ; <%tango.net.Socket.Socket* (%tango.net.SocketConduit.SocketConduit*)**> [#uses=1]
+ %data.socket66 = load %tango.net.Socket.Socket* (%tango.net.SocketConduit.SocketConduit*)** %"data.socket@vtbl64", align 4 ; <%tango.net.Socket.Socket* (%tango.net.SocketConduit.SocketConduit*)*> [#uses=1]
+ %tmp68 = invoke fastcc %tango.net.Socket.Socket* %data.socket66(%tango.net.SocketConduit.SocketConduit* %tmp61)
+ to label %postinvoke67 unwind label %landingpad ; <%tango.net.Socket.Socket*> [#uses=2]
+
+postinvoke67: ; preds = %endif
+ %tmp69 = getelementptr %tango.net.Socket.Socket* %tmp68, i32 0, i32 0 ; <%tango.net.Socket.Socket.__vtbl**> [#uses=1]
+ %tmp70 = load %tango.net.Socket.Socket.__vtbl** %tmp69 ; <%tango.net.Socket.Socket.__vtbl*> [#uses=1]
+ %"data.socket().accept@vtbl" = getelementptr %tango.net.Socket.Socket.__vtbl* %tmp70, i32 0, i32 14 ; <%tango.net.Socket.Socket* (%tango.net.Socket.Socket*)**> [#uses=1]
+ %"data.socket().accept" = load %tango.net.Socket.Socket* (%tango.net.Socket.Socket*)** %"data.socket().accept@vtbl", align 4 ; <%tango.net.Socket.Socket* (%tango.net.Socket.Socket*)*> [#uses=1]
+ %tmp73 = invoke fastcc %tango.net.Socket.Socket* %"data.socket().accept"(%tango.net.Socket.Socket* %tmp68)
+ to label %endwhile unwind label %landingpad ; <%tango.net.Socket.Socket*> [#uses=1]
+
+endwhile: ; preds = %postinvoke67, %_D5tango3net6Socket6Socket6selectFC5tango3net6Socket9SocketSetC5tango3net6Socket9SocketSetC5tango3net6Socket9SocketSetS5tango4time4Time8TimeSpanZi.exit, %_D5tango3net6Socket6Socket6selectFC5tango3net6Socket9SocketSetC5tango3net6Socket9SocketSetC5tango3net6Socket9SocketSetS5tango4time4Time8TimeSpanZi.exit, %postinvoke26
+ %new_data.0 = phi %tango.net.Socket.Socket* [ null, %_D5tango3net6Socket6Socket6selectFC5tango3net6Socket9SocketSetC5tango3net6Socket9SocketSetC5tango3net6Socket9SocketSetS5tango4time4Time8TimeSpanZi.exit ], [ null, %postinvoke26 ], [ null, %_D5tango3net6Socket6Socket6selectFC5tango3net6Socket9SocketSetC5tango3net6Socket9SocketSetC5tango3net6Socket9SocketSetS5tango4time4Time8TimeSpanZi.exit ], [ %tmp73, %postinvoke67 ] ; <%tango.net.Socket.Socket*> [#uses=2]
+ %tmp76 = icmp eq %tango.net.Socket.Socket* %new_data.0, null ; <i1> [#uses=1]
+ br i1 %tmp76, label %if77, label %endif78
+
+if77: ; preds = %endwhile
+ %.newclass_gc_alloc80 = invoke noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango3net3ftp9FtpClient12FtpException7__ClassZ)
+ to label %postinvoke79 unwind label %landingpad ; <i8*> [#uses=6]
+
+postinvoke79: ; preds = %if77
+ %vtbl82 = bitcast i8* %.newclass_gc_alloc80 to %tango.net.ftp.FtpClient.FtpException.__vtbl** ; <%tango.net.ftp.FtpClient.FtpException.__vtbl**> [#uses=1]
+ store %tango.net.ftp.FtpClient.FtpException.__vtbl* @_D5tango3net3ftp9FtpClient12FtpException6__vtblZ, %tango.net.ftp.FtpClient.FtpException.__vtbl** %vtbl82
+ %monitor83 = getelementptr i8* %.newclass_gc_alloc80, i32 4 ; <i8*> [#uses=1]
+ %7 = bitcast i8* %monitor83 to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %7
+ %tmp84 = getelementptr i8* %.newclass_gc_alloc80, i32 8 ; <i8*> [#uses=1]
+ call void @llvm.memcpy.i32(i8* %tmp84, i8* bitcast (%"byte[]"* getelementptr (%tango.net.ftp.FtpClient.FtpException* @_D5tango3net3ftp9FtpClient12FtpException6__initZ, i32 0, i32 2) to i8*), i32 31, i32 1)
+ %tmp2.i143 = getelementptr i8* %.newclass_gc_alloc80, i32 36 ; <i8*> [#uses=1]
+ call void @llvm.memcpy.i32(i8* %tmp2.i143, i8* getelementptr ([4 x i8]* @.str148, i32 0, i32 0), i32 3, i32 1)
+ %tmp5.i144 = bitcast i8* %.newclass_gc_alloc80 to %object.Exception* ; <%object.Exception*> [#uses=1]
+ %tmp7.i145146 = invoke fastcc %object.Exception* @_D6object9Exception5_ctorMFAaC9ExceptionZC9Exception(%object.Exception* %tmp5.i144, %"byte[]" { i32 33, i8* getelementptr ([34 x i8]* @.str147, i32 0, i32 0) }, %object.Exception* null)
+ to label %_D5tango3net3ftp9FtpClient12FtpException5_ctorMFAaG3aZC5tango3net3ftp9FtpClient12FtpException.exit unwind label %landingpad ; <%object.Exception*> [#uses=0]
+
+_D5tango3net3ftp9FtpClient12FtpException5_ctorMFAaG3aZC5tango3net3ftp9FtpClient12FtpException.exit: ; preds = %postinvoke79
+ %tmp90 = bitcast i8* %.newclass_gc_alloc80 to %object.Object* ; <%object.Object*> [#uses=1]
+ invoke void @_d_throw_exception(%object.Object* %tmp90)
+ to label %postinvoke91 unwind label %landingpad
+
+postinvoke91: ; preds = %_D5tango3net3ftp9FtpClient12FtpException5_ctorMFAaG3aZC5tango3net3ftp9FtpClient12FtpException.exit
+ unreachable
+
+endif78: ; preds = %endwhile
+ %tmp92 = load %tango.net.SocketConduit.SocketConduit** %data_arg ; <%tango.net.SocketConduit.SocketConduit*> [#uses=2]
+ %tmp93 = getelementptr %tango.net.SocketConduit.SocketConduit* %tmp92, i32 0, i32 0 ; <%tango.net.SocketConduit.SocketConduit.__vtbl**> [#uses=1]
+ %tmp94 = load %tango.net.SocketConduit.SocketConduit.__vtbl** %tmp93 ; <%tango.net.SocketConduit.SocketConduit.__vtbl*> [#uses=1]
+ %"data.socket@vtbl95" = getelementptr %tango.net.SocketConduit.SocketConduit.__vtbl* %tmp94, i32 0, i32 14 ; <%tango.net.Socket.Socket* (%tango.net.SocketConduit.SocketConduit*)**> [#uses=1]
+ %data.socket97 = load %tango.net.Socket.Socket* (%tango.net.SocketConduit.SocketConduit*)** %"data.socket@vtbl95", align 4 ; <%tango.net.Socket.Socket* (%tango.net.SocketConduit.SocketConduit*)*> [#uses=1]
+ %tmp99 = invoke fastcc %tango.net.Socket.Socket* %data.socket97(%tango.net.SocketConduit.SocketConduit* %tmp92)
+ to label %postinvoke98 unwind label %landingpad ; <%tango.net.Socket.Socket*> [#uses=2]
+
+postinvoke98: ; preds = %endif78
+ %tmp100 = getelementptr %tango.net.Socket.Socket* %tmp99, i32 0, i32 0 ; <%tango.net.Socket.Socket.__vtbl**> [#uses=1]
+ %tmp101 = load %tango.net.Socket.Socket.__vtbl** %tmp100 ; <%tango.net.Socket.Socket.__vtbl*> [#uses=1]
+ %"data.socket().shutdown@vtbl" = getelementptr %tango.net.Socket.Socket.__vtbl* %tmp101, i32 0, i32 16 ; <%tango.net.Socket.Socket* (%tango.net.Socket.Socket*, i32)**> [#uses=1]
+ %"data.socket().shutdown" = load %tango.net.Socket.Socket* (%tango.net.Socket.Socket*, i32)** %"data.socket().shutdown@vtbl", align 4 ; <%tango.net.Socket.Socket* (%tango.net.Socket.Socket*, i32)*> [#uses=1]
+ %tmp104 = invoke fastcc %tango.net.Socket.Socket* %"data.socket().shutdown"(%tango.net.Socket.Socket* %tmp99, i32 2)
+ to label %postinvoke103 unwind label %landingpad ; <%tango.net.Socket.Socket*> [#uses=0]
+
+postinvoke103: ; preds = %postinvoke98
+ %tmp105 = load %tango.net.SocketConduit.SocketConduit** %data_arg ; <%tango.net.SocketConduit.SocketConduit*> [#uses=2]
+ %tmp106 = getelementptr %tango.net.SocketConduit.SocketConduit* %tmp105, i32 0, i32 0 ; <%tango.net.SocketConduit.SocketConduit.__vtbl**> [#uses=1]
+ %tmp107 = load %tango.net.SocketConduit.SocketConduit.__vtbl** %tmp106 ; <%tango.net.SocketConduit.SocketConduit.__vtbl*> [#uses=1]
+ %"data.detach@vtbl" = getelementptr %tango.net.SocketConduit.SocketConduit.__vtbl* %tmp107, i32 0, i32 8 ; <void (%tango.net.SocketConduit.SocketConduit*)**> [#uses=1]
+ %data.detach = load void (%tango.net.SocketConduit.SocketConduit*)** %"data.detach@vtbl", align 4 ; <void (%tango.net.SocketConduit.SocketConduit*)*> [#uses=1]
+ invoke fastcc void %data.detach(%tango.net.SocketConduit.SocketConduit* %tmp105)
+ to label %postinvoke109 unwind label %landingpad
+
+postinvoke109: ; preds = %postinvoke103
+ %tmp110 = load %tango.net.SocketConduit.SocketConduit** %data_arg ; <%tango.net.SocketConduit.SocketConduit*> [#uses=2]
+ %tmp111 = getelementptr %tango.net.SocketConduit.SocketConduit* %tmp110, i32 0, i32 0 ; <%tango.net.SocketConduit.SocketConduit.__vtbl**> [#uses=1]
+ %tmp112 = load %tango.net.SocketConduit.SocketConduit.__vtbl** %tmp111 ; <%tango.net.SocketConduit.SocketConduit.__vtbl*> [#uses=1]
+ %"data.socket@vtbl113" = getelementptr %tango.net.SocketConduit.SocketConduit.__vtbl* %tmp112, i32 0, i32 14 ; <%tango.net.Socket.Socket* (%tango.net.SocketConduit.SocketConduit*)**> [#uses=1]
+ %data.socket115 = load %tango.net.Socket.Socket* (%tango.net.SocketConduit.SocketConduit*)** %"data.socket@vtbl113", align 4 ; <%tango.net.Socket.Socket* (%tango.net.SocketConduit.SocketConduit*)*> [#uses=1]
+ %tmp117 = invoke fastcc %tango.net.Socket.Socket* %data.socket115(%tango.net.SocketConduit.SocketConduit* %tmp110)
+ to label %postinvoke116 unwind label %landingpad ; <%tango.net.Socket.Socket*> [#uses=1]
+
+postinvoke116: ; preds = %postinvoke109
+ %tmp118 = getelementptr %tango.net.Socket.Socket* %tmp117, i32 0, i32 2 ; <i32*> [#uses=1]
+ %tmp120 = getelementptr %tango.net.Socket.Socket* %new_data.0, i32 0, i32 2 ; <i32*> [#uses=1]
+ %tmp121 = load i32* %tmp120 ; <i32> [#uses=1]
+ store i32 %tmp121, i32* %tmp118
+ %.tmp123 = bitcast i8* %.newclass_gc_alloc to %object.Object* ; <%object.Object*> [#uses=1]
+ call void @_d_delclass(%object.Object* %.tmp123)
+ ret void
+
+landingpad: ; preds = %postinvoke109, %postinvoke103, %postinvoke98, %endif78, %_D5tango3net3ftp9FtpClient12FtpException5_ctorMFAaG3aZC5tango3net3ftp9FtpClient12FtpException.exit, %postinvoke79, %if77, %postinvoke67, %endif, %postinvoke54, %postinvoke45, %postinvoke43, %postinvoke34, %whilebody, %postinvoke21, %postinvoke, %case
+ %8 = call i8* @llvm.eh.exception() ; <i8*> [#uses=2]
+ %9 = call i32 (i8*, i8*, ...)* @llvm.eh.selector.i32(i8* %8, i8* bitcast (i32 (i32, i32, i64, i8*, i8*)* @_d_eh_personality to i8*), i32 0) ; <i32> [#uses=0]
+ %.tmp = bitcast i8* %.newclass_gc_alloc to %object.Object* ; <%object.Object*> [#uses=1]
+ call void @_d_delclass(%object.Object* %.tmp)
+ call void @_d_eh_resume_unwind(i8* %8)
+ unreachable
+
+switchend: ; preds = %entry
+ ret void
+}
+
+define fastcc void @_D5tango3net3ftp9FtpClient13FTPConnection17finishDataCommandMFC5tango3net13SocketConduit13SocketConduitZv(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %tango.net.SocketConduit.SocketConduit* %data_arg) {
+entry:
+ %r = alloca %tango.net.ftp.FtpClient.FtpResponse, align 4 ; <%tango.net.ftp.FtpClient.FtpResponse*> [#uses=1]
+ %.rettmp = alloca %tango.net.ftp.FtpClient.FtpResponse, align 8 ; <%tango.net.ftp.FtpClient.FtpResponse*> [#uses=2]
+ %tmp1 = bitcast %tango.net.SocketConduit.SocketConduit* %data_arg to %tango.io.device.Conduit.Conduit* ; <%tango.io.device.Conduit.Conduit*> [#uses=1]
+ %tmp1.i = bitcast %tango.net.SocketConduit.SocketConduit* %data_arg to %tango.io.device.Conduit.Conduit.__vtbl** ; <%tango.io.device.Conduit.Conduit.__vtbl**> [#uses=1]
+ %tmp2.i = load %tango.io.device.Conduit.Conduit.__vtbl** %tmp1.i ; <%tango.io.device.Conduit.Conduit.__vtbl*> [#uses=1]
+ %"this.detach@vtbl.i" = getelementptr %tango.io.device.Conduit.Conduit.__vtbl* %tmp2.i, i32 0, i32 8 ; <void (%tango.io.device.Conduit.Conduit*)**> [#uses=1]
+ %this.detach.i = load void (%tango.io.device.Conduit.Conduit*)** %"this.detach@vtbl.i", align 4 ; <void (%tango.io.device.Conduit.Conduit*)*> [#uses=1]
+ call fastcc void %this.detach.i(%tango.io.device.Conduit.Conduit* %tmp1)
+ %tmp3 = getelementptr %tango.net.SocketConduit.SocketConduit* %data_arg, i32 0, i32 0 ; <%tango.net.SocketConduit.SocketConduit.__vtbl**> [#uses=1]
+ %tmp4 = load %tango.net.SocketConduit.SocketConduit.__vtbl** %tmp3 ; <%tango.net.SocketConduit.SocketConduit.__vtbl*> [#uses=1]
+ %"data.detach@vtbl" = getelementptr %tango.net.SocketConduit.SocketConduit.__vtbl* %tmp4, i32 0, i32 8 ; <void (%tango.net.SocketConduit.SocketConduit*)**> [#uses=1]
+ %data.detach = load void (%tango.net.SocketConduit.SocketConduit*)** %"data.detach@vtbl", align 4 ; <void (%tango.net.SocketConduit.SocketConduit*)*> [#uses=1]
+ call fastcc void %data.detach(%tango.net.SocketConduit.SocketConduit* %data_arg)
+ %tmp7 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 0 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl**> [#uses=2]
+ %tmp8 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp7 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
+ %"this.readResponse@vtbl" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp8, i32 0, i32 37 ; <void (%tango.net.ftp.FtpClient.FtpResponse*, %tango.net.ftp.FtpClient.FTPConnection*)**> [#uses=1]
+ %this.readResponse = load void (%tango.net.ftp.FtpClient.FtpResponse*, %tango.net.ftp.FtpClient.FTPConnection*)** %"this.readResponse@vtbl", align 4 ; <void (%tango.net.ftp.FtpClient.FtpResponse*, %tango.net.ftp.FtpClient.FTPConnection*)*> [#uses=1]
+ call fastcc void %this.readResponse(%tango.net.ftp.FtpClient.FtpResponse* noalias nocapture sret %.rettmp, %tango.net.ftp.FtpClient.FTPConnection* %.this_arg)
+ %tmp10 = getelementptr %tango.net.ftp.FtpClient.FtpResponse* %r, i32 0, i32 0, i32 0 ; <i8*> [#uses=3]
+ %tmp11 = getelementptr %tango.net.ftp.FtpClient.FtpResponse* %.rettmp, i32 0, i32 0, i32 0 ; <i8*> [#uses=1]
+ call void @llvm.memcpy.i32(i8* %tmp10, i8* %tmp11, i32 12, i32 4)
+ %tmp14 = insertvalue %"byte[]" { i32 3, i8* undef }, i8* %tmp10, 1 ; <%"byte[]"> [#uses=1]
+ %tmp15 = call i32 @_adEq(%"byte[]" %tmp14, %"byte[]" { i32 3, i8* getelementptr ([4 x i8]* @.str149, i32 0, i32 0) }, %object.TypeInfo* @_D11TypeInfo_Aa6__initZ) readonly ; <i32> [#uses=1]
+ %tmp16 = icmp eq i32 %tmp15, 0 ; <i1> [#uses=1]
+ br i1 %tmp16, label %oror, label %endif
+
+oror: ; preds = %entry
+ %tmp19 = insertvalue %"byte[]" { i32 3, i8* undef }, i8* %tmp10, 1 ; <%"byte[]"> [#uses=1]
+ %tmp20 = call i32 @_adEq(%"byte[]" %tmp19, %"byte[]" { i32 3, i8* getelementptr ([4 x i8]* @.str150, i32 0, i32 0) }, %object.TypeInfo* @_D11TypeInfo_Aa6__initZ) readonly ; <i32> [#uses=1]
+ %tmp21 = icmp eq i32 %tmp20, 0 ; <i1> [#uses=1]
+ br i1 %tmp21, label %if, label %endif
+
+if: ; preds = %oror
+ %tmp24 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp7 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
+ %"this.exception@vtbl" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp24, i32 0, i32 5 ; <void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")**> [#uses=1]
+ %this.exception = load void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")** %"this.exception@vtbl", align 4 ; <void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")*> [#uses=1]
+ call fastcc void %this.exception(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" { i32 10, i8* getelementptr ([11 x i8]* @.str151, i32 0, i32 0) })
+ ret void
+
+endif: ; preds = %oror, %entry
+ ret void
+}
+
+define fastcc %tango.net.SocketConduit.SocketConduit* @_D5tango3net3ftp9FtpClient13FTPConnection18processDataCommandMFAaAAaXC5tango3net13SocketConduit13SocketConduit(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" %command_arg, %"char[][]" %parameters_arg) {
+entry:
+ %data = alloca %tango.net.SocketConduit.SocketConduit*, align 4 ; <%tango.net.SocketConduit.SocketConduit**> [#uses=4]
+ %response = alloca %tango.net.ftp.FtpClient.FtpResponse, align 4 ; <%tango.net.ftp.FtpClient.FtpResponse*> [#uses=2]
+ %.rettmp = alloca %tango.net.ftp.FtpClient.FtpResponse, align 8 ; <%tango.net.ftp.FtpClient.FtpResponse*> [#uses=2]
+ %tmp1 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 0 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl**> [#uses=5]
+ %tmp2 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp1 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
+ %"this.getDataSocket@vtbl" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp2, i32 0, i32 39 ; <%tango.net.SocketConduit.SocketConduit* (%tango.net.ftp.FtpClient.FTPConnection*)**> [#uses=1]
+ %this.getDataSocket = load %tango.net.SocketConduit.SocketConduit* (%tango.net.ftp.FtpClient.FTPConnection*)** %"this.getDataSocket@vtbl", align 4 ; <%tango.net.SocketConduit.SocketConduit* (%tango.net.ftp.FtpClient.FTPConnection*)*> [#uses=1]
+ %tmp4 = call fastcc %tango.net.SocketConduit.SocketConduit* %this.getDataSocket(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg) ; <%tango.net.SocketConduit.SocketConduit*> [#uses=1]
+ store %tango.net.SocketConduit.SocketConduit* %tmp4, %tango.net.SocketConduit.SocketConduit** %data
+ %tmp10 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp1 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
+ %"this.sendCommand@vtbl" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp10, i32 0, i32 35 ; <void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]", %"char[][]")**> [#uses=1]
+ %this.sendCommand = load void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]", %"char[][]")** %"this.sendCommand@vtbl", align 4 ; <void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]", %"char[][]")*> [#uses=1]
+ invoke fastcc void %this.sendCommand(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" %command_arg, %"char[][]" %parameters_arg)
+ to label %postinvoke unwind label %landingpad
+
+postinvoke: ; preds = %entry
+ %tmp16 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp1 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
+ %"this.readResponse@vtbl" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp16, i32 0, i32 37 ; <void (%tango.net.ftp.FtpClient.FtpResponse*, %tango.net.ftp.FtpClient.FTPConnection*)**> [#uses=1]
+ %this.readResponse = load void (%tango.net.ftp.FtpClient.FtpResponse*, %tango.net.ftp.FtpClient.FTPConnection*)** %"this.readResponse@vtbl", align 4 ; <void (%tango.net.ftp.FtpClient.FtpResponse*, %tango.net.ftp.FtpClient.FTPConnection*)*> [#uses=1]
+ invoke fastcc void %this.readResponse(%tango.net.ftp.FtpClient.FtpResponse* noalias nocapture sret %.rettmp, %tango.net.ftp.FtpClient.FTPConnection* %.this_arg)
+ to label %postinvoke18 unwind label %landingpad
+
+postinvoke18: ; preds = %postinvoke
+ %tmp19 = getelementptr %tango.net.ftp.FtpClient.FtpResponse* %response, i32 0, i32 0, i32 0 ; <i8*> [#uses=3]
+ %tmp20 = getelementptr %tango.net.ftp.FtpClient.FtpResponse* %.rettmp, i32 0, i32 0, i32 0 ; <i8*> [#uses=1]
+ call void @llvm.memcpy.i32(i8* %tmp19, i8* %tmp20, i32 12, i32 4)
+ %tmp23 = insertvalue %"byte[]" { i32 3, i8* undef }, i8* %tmp19, 1 ; <%"byte[]"> [#uses=1]
+ %tmp25 = invoke i32 @_adEq(%"byte[]" %tmp23, %"byte[]" { i32 3, i8* getelementptr ([4 x i8]* @.str152, i32 0, i32 0) }, %object.TypeInfo* @_D11TypeInfo_Aa6__initZ) readonly
+ to label %postinvoke24 unwind label %landingpad ; <i32> [#uses=1]
+
+postinvoke24: ; preds = %postinvoke18
+ %tmp26 = icmp eq i32 %tmp25, 0 ; <i1> [#uses=1]
+ br i1 %tmp26, label %andand, label %endif
+
+andand: ; preds = %postinvoke24
+ %tmp30 = insertvalue %"byte[]" { i32 3, i8* undef }, i8* %tmp19, 1 ; <%"byte[]"> [#uses=1]
+ %tmp32 = invoke i32 @_adEq(%"byte[]" %tmp30, %"byte[]" { i32 3, i8* getelementptr ([4 x i8]* @.str153, i32 0, i32 0) }, %object.TypeInfo* @_D11TypeInfo_Aa6__initZ) readonly
+ to label %postinvoke31 unwind label %landingpad ; <i32> [#uses=1]
+
+postinvoke31: ; preds = %andand
+ %tmp33 = icmp eq i32 %tmp32, 0 ; <i1> [#uses=1]
+ br i1 %tmp33, label %if, label %endif
+
+if: ; preds = %postinvoke31
+ %tmp37 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp1 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
+ %"this.exception@vtbl" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp37, i32 0, i32 14 ; <void (%tango.net.ftp.FtpClient.FTPConnection*, %tango.net.ftp.FtpClient.FtpResponse*)**> [#uses=1]
+ %this.exception = load void (%tango.net.ftp.FtpClient.FTPConnection*, %tango.net.ftp.FtpClient.FtpResponse*)** %"this.exception@vtbl", align 4 ; <void (%tango.net.ftp.FtpClient.FTPConnection*, %tango.net.ftp.FtpClient.FtpResponse*)*> [#uses=1]
+ invoke fastcc void %this.exception(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %tango.net.ftp.FtpClient.FtpResponse* byval %response)
+ to label %endif unwind label %landingpad
+
+endif: ; preds = %if, %postinvoke31, %postinvoke24
+ %tmp42 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp1 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
+ %"this.prepareDataSocket@vtbl" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp42, i32 0, i32 43 ; <void (%tango.net.ftp.FtpClient.FTPConnection*, %tango.net.SocketConduit.SocketConduit**)**> [#uses=1]
+ %this.prepareDataSocket = load void (%tango.net.ftp.FtpClient.FTPConnection*, %tango.net.SocketConduit.SocketConduit**)** %"this.prepareDataSocket@vtbl", align 4 ; <void (%tango.net.ftp.FtpClient.FTPConnection*, %tango.net.SocketConduit.SocketConduit**)*> [#uses=1]
+ invoke fastcc void %this.prepareDataSocket(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %tango.net.SocketConduit.SocketConduit** %data)
+ to label %postinvoke44 unwind label %landingpad
+
+postinvoke44: ; preds = %endif
+ %tmp45 = load %tango.net.SocketConduit.SocketConduit** %data ; <%tango.net.SocketConduit.SocketConduit*> [#uses=1]
+ ret %tango.net.SocketConduit.SocketConduit* %tmp45
+
+landingpad: ; preds = %endif, %if, %andand, %postinvoke18, %postinvoke, %entry
+ %0 = call i8* @llvm.eh.exception() ; <i8*> [#uses=3]
+ %1 = call i32 (i8*, i8*, ...)* @llvm.eh.selector.i32(i8* %0, i8* bitcast (i32 (i32, i32, i64, i8*, i8*)* @_d_eh_personality to i8*), %object.ClassInfo* @_D6Object7__ClassZ) ; <i32> [#uses=1]
+ %cond = icmp eq i32 %1, 1 ; <i1> [#uses=1]
+ br i1 %cond, label %catch, label %switchdefault
+
+catch: ; preds = %landingpad
+ %2 = bitcast i8* %0 to %object.Object* ; <%object.Object*> [#uses=1]
+ %tmp5 = load %tango.net.SocketConduit.SocketConduit** %data ; <%tango.net.SocketConduit.SocketConduit*> [#uses=2]
+ %tmp6 = bitcast %tango.net.SocketConduit.SocketConduit* %tmp5 to %tango.io.device.Conduit.Conduit* ; <%tango.io.device.Conduit.Conduit*> [#uses=1]
+ %tmp1.i = bitcast %tango.net.SocketConduit.SocketConduit* %tmp5 to %tango.io.device.Conduit.Conduit.__vtbl** ; <%tango.io.device.Conduit.Conduit.__vtbl**> [#uses=1]
+ %tmp2.i = load %tango.io.device.Conduit.Conduit.__vtbl** %tmp1.i ; <%tango.io.device.Conduit.Conduit.__vtbl*> [#uses=1]
+ %"this.detach@vtbl.i" = getelementptr %tango.io.device.Conduit.Conduit.__vtbl* %tmp2.i, i32 0, i32 8 ; <void (%tango.io.device.Conduit.Conduit*)**> [#uses=1]
+ %this.detach.i = load void (%tango.io.device.Conduit.Conduit*)** %"this.detach@vtbl.i", align 4 ; <void (%tango.io.device.Conduit.Conduit*)*> [#uses=1]
+ call fastcc void %this.detach.i(%tango.io.device.Conduit.Conduit* %tmp6)
+ call void @_d_throw_exception(%object.Object* %2)
+ unreachable
+
+switchdefault: ; preds = %landingpad
+ call void @_d_eh_resume_unwind(i8* %0)
+ unreachable
+}
+
+define fastcc %"FtpFileInfo[]" @_D5tango3net3ftp9FtpClient13FTPConnection2lsMFAaZAS5tango3net3ftp9FtpClient11FtpFileInfo(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" %path_arg) {
+entry:
+ %.frame.i = alloca %nest.splitLines, align 8 ; <%nest.splitLines*> [#uses=5]
+ %.rettmp.i = alloca %"tango.text.Util.LineFruct!(char).LineFruct", align 8 ; <%"tango.text.Util.LineFruct!(char).LineFruct"*> [#uses=3]
+ %.rettmp8.i = alloca %"tango.text.Util.LineFruct!(char).LineFruct", align 8 ; <%"tango.text.Util.LineFruct!(char).LineFruct"*> [#uses=3]
+ %__arrayArg146 = alloca [1 x %"byte[]"], align 8 ; <[1 x %"byte[]"]*> [#uses=1]
+ %.rettmp = alloca %tango.net.ftp.FtpClient.FtpFileInfo, align 8 ; <%tango.net.ftp.FtpClient.FtpFileInfo*> [#uses=10]
+ %path_arg207 = extractvalue %"byte[]" %path_arg, 0 ; <i32> [#uses=4]
+ %path_arg208 = extractvalue %"byte[]" %path_arg, 1 ; <i8*> [#uses=3]
+ %tmp1 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 0 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl**> [#uses=7]
+ %tmp2 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp1 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
+ %"this.isSupported@vtbl" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp2, i32 0, i32 41 ; <i1 (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")**> [#uses=1]
+ %this.isSupported = load i1 (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")** %"this.isSupported@vtbl", align 4 ; <i1 (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")*> [#uses=1]
+ %tmp4 = call fastcc i1 %this.isSupported(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" { i32 4, i8* getelementptr ([5 x i8]* @.str154, i32 0, i32 0) }) ; <i1> [#uses=1]
+ br i1 %tmp4, label %if, label %endif
+
+if: ; preds = %entry
+ %tmp6 = icmp eq i32 %path_arg207, 0 ; <i1> [#uses=1]
+ %tmp11 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp1 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
+ %"this.processDataCommand@vtbl" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp11, i32 0, i32 45 ; <%tango.net.SocketConduit.SocketConduit* (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]", %"char[][]")**> [#uses=1]
+ %this.processDataCommand = load %tango.net.SocketConduit.SocketConduit* (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]", %"char[][]")** %"this.processDataCommand@vtbl", align 4 ; <%tango.net.SocketConduit.SocketConduit* (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]", %"char[][]")*> [#uses=2]
+ br i1 %tmp6, label %else, label %if7
+
+if7: ; preds = %if
+ %tmp13 = getelementptr [1 x %"byte[]"]* %__arrayArg146, i32 0, i32 0 ; <%"byte[]"*> [#uses=2]
+ %insert204 = insertvalue %"byte[]" undef, i32 %path_arg207, 0 ; <%"byte[]"> [#uses=1]
+ %insert206 = insertvalue %"byte[]" %insert204, i8* %path_arg208, 1 ; <%"byte[]"> [#uses=1]
+ store %"byte[]" %insert206, %"byte[]"* %tmp13, align 8
+ %tmp16 = insertvalue %"char[][]" { i32 1, %"byte[]"* undef }, %"byte[]"* %tmp13, 1 ; <%"char[][]"> [#uses=1]
+ %tmp17 = invoke fastcc %tango.net.SocketConduit.SocketConduit* %this.processDataCommand(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" { i32 4, i8* getelementptr ([5 x i8]* @.str155, i32 0, i32 0) }, %"char[][]" %tmp16)
+ to label %endif unwind label %landingpad ; <%tango.net.SocketConduit.SocketConduit*> [#uses=1]
+
+else: ; preds = %if
+ %tmp25 = invoke fastcc %tango.net.SocketConduit.SocketConduit* %this.processDataCommand(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" { i32 4, i8* getelementptr ([5 x i8]* @.str156, i32 0, i32 0) }, %"char[][]" zeroinitializer)
+ to label %endif unwind label %landingpad ; <%tango.net.SocketConduit.SocketConduit*> [#uses=1]
+
+landingpad: ; preds = %else, %if7
+ %0 = call i8* @llvm.eh.exception() ; <i8*> [#uses=2]
+ %1 = call i32 (i8*, i8*, ...)* @llvm.eh.selector.i32(i8* %0, i8* bitcast (i32 (i32, i32, i64, i8*, i8*)* @_d_eh_personality to i8*), %object.ClassInfo* @_D5tango3net3ftp9FtpClient12FtpException7__ClassZ) ; <i32> [#uses=1]
+ %cond149 = icmp eq i32 %1, 1 ; <i1> [#uses=1]
+ br i1 %cond149, label %endif, label %switchdefault
+
+switchdefault: ; preds = %landingpad
+ call void @_d_eh_resume_unwind(i8* %0)
+ unreachable
+
+endif: ; preds = %landingpad, %else, %if7, %entry
+ %data.0 = phi %tango.net.SocketConduit.SocketConduit* [ null, %entry ], [ %tmp17, %if7 ], [ %tmp25, %else ], [ null, %landingpad ] ; <%tango.net.SocketConduit.SocketConduit*> [#uses=2]
+ %mlsd_success.0 = phi i1 [ false, %entry ], [ true, %if7 ], [ true, %else ], [ false, %landingpad ] ; <i1> [#uses=1]
+ br i1 %mlsd_success.0, label %if27, label %else29
+
+if27: ; preds = %endif
+ %.newclass_gc_alloc = call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango2io6device5Array5Array7__ClassZ) ; <i8*> [#uses=9]
+ %.newclass_gc = bitcast i8* %.newclass_gc_alloc to %tango.io.device.Array.Array* ; <%tango.io.device.Array.Array*> [#uses=1]
+ %vtbl = bitcast i8* %.newclass_gc_alloc to %tango.io.device.Array.Array.__vtbl** ; <%tango.io.device.Array.Array.__vtbl**> [#uses=2]
+ store %tango.io.device.Array.Array.__vtbl* @_D5tango2io6device5Array5Array6__vtblZ, %tango.io.device.Array.Array.__vtbl** %vtbl
+ %monitor = getelementptr i8* %.newclass_gc_alloc, i32 4 ; <i8*> [#uses=1]
+ %2 = bitcast i8* %monitor to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %2
+ %tmp30 = getelementptr i8* %.newclass_gc_alloc, i32 8 ; <i8*> [#uses=1]
+ call void @llvm.memcpy.i32(i8* %tmp30, i8* bitcast (%4** getelementptr (%tango.io.device.Array.Array* bitcast (%26* @_D5tango2io6device5Array5Array6__initZ to %tango.io.device.Array.Array*), i32 0, i32 2) to i8*), i32 44, i32 1)
+ %tmp2.i = load %tango.io.device.Array.Array.__vtbl** %vtbl ; <%tango.io.device.Array.Array.__vtbl*> [#uses=1]
+ %"this.assign@vtbl.i" = getelementptr %tango.io.device.Array.Array.__vtbl* %tmp2.i, i32 0, i32 15 ; <%tango.io.device.Array.Array* (%tango.io.device.Array.Array*, %"byte[]", i32)**> [#uses=1]
+ %this.assign.i = load %tango.io.device.Array.Array* (%tango.io.device.Array.Array*, %"byte[]", i32)** %"this.assign@vtbl.i", align 4 ; <%tango.io.device.Array.Array* (%tango.io.device.Array.Array*, %"byte[]", i32)*> [#uses=1]
+ %.gc_mem.i = call noalias i8* @_d_newarrayT(%object.TypeInfo* @_D11TypeInfo_Ah6__initZ, i32 256) ; <i8*> [#uses=1]
+ %tmp5.i = insertvalue %"byte[]" undef, i32 256, 0 ; <%"byte[]"> [#uses=1]
+ %tmp6.i = insertvalue %"byte[]" %tmp5.i, i8* %.gc_mem.i, 1 ; <%"byte[]"> [#uses=1]
+ %tmp7.i = call fastcc %tango.io.device.Array.Array* %this.assign.i(%tango.io.device.Array.Array* %.newclass_gc, %"byte[]" %tmp6.i, i32 0) ; <%tango.io.device.Array.Array*> [#uses=0]
+ %tmp9.i = getelementptr i8* %.newclass_gc_alloc, i32 36 ; <i8*> [#uses=1]
+ %3 = bitcast i8* %tmp9.i to i32* ; <i32*> [#uses=1]
+ store i32 65536, i32* %3
+ %tmp37 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp1 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
+ %"this.readStream@vtbl" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp37, i32 0, i32 47 ; <void (%tango.net.ftp.FtpClient.FTPConnection*, %tango.net.SocketConduit.SocketConduit*, %tango.io.model.IConduit.OutputStream*, %"void delegate(uint pos)")**> [#uses=1]
+ %this.readStream = load void (%tango.net.ftp.FtpClient.FTPConnection*, %tango.net.SocketConduit.SocketConduit*, %tango.io.model.IConduit.OutputStream*, %"void delegate(uint pos)")** %"this.readStream@vtbl", align 4 ; <void (%tango.net.ftp.FtpClient.FTPConnection*, %tango.net.SocketConduit.SocketConduit*, %tango.io.model.IConduit.OutputStream*, %"void delegate(uint pos)")*> [#uses=1]
+ %tmp41 = getelementptr i8* %.newclass_gc_alloc, i32 12 ; <i8*> [#uses=1]
+ %tmp42 = bitcast i8* %tmp41 to %tango.io.model.IConduit.OutputStream* ; <%tango.io.model.IConduit.OutputStream*> [#uses=1]
+ call fastcc void %this.readStream(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %tango.net.SocketConduit.SocketConduit* %data.0, %tango.io.model.IConduit.OutputStream* %tmp42, %"void delegate(uint pos)" zeroinitializer)
+ %tmp45 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp1 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
+ %"this.finishDataCommand@vtbl" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp45, i32 0, i32 44 ; <void (%tango.net.ftp.FtpClient.FTPConnection*, %tango.net.SocketConduit.SocketConduit*)**> [#uses=1]
+ %this.finishDataCommand = load void (%tango.net.ftp.FtpClient.FTPConnection*, %tango.net.SocketConduit.SocketConduit*)** %"this.finishDataCommand@vtbl", align 4 ; <void (%tango.net.ftp.FtpClient.FTPConnection*, %tango.net.SocketConduit.SocketConduit*)*> [#uses=1]
+ call fastcc void %this.finishDataCommand(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %tango.net.SocketConduit.SocketConduit* %data.0)
+ %tmp2.i209 = getelementptr i8* %.newclass_gc_alloc, i32 20 ; <i8*> [#uses=1]
+ %4 = bitcast i8* %tmp2.i209 to i8** ; <i8**> [#uses=1]
+ %.ptr.i = load i8** %4 ; <i8*> [#uses=1]
+ %tmp4.i = getelementptr i8* %.newclass_gc_alloc, i32 24 ; <i8*> [#uses=1]
+ %5 = bitcast i8* %tmp4.i to i32* ; <i32*> [#uses=1]
+ %tmp6.i210 = getelementptr i8* %.newclass_gc_alloc, i32 28 ; <i8*> [#uses=1]
+ %6 = bitcast i8* %tmp6.i210 to i32* ; <i32*> [#uses=1]
+ %tmp7.i211 = load i32* %5 ; <i32> [#uses=2]
+ %tmp8.i = load i32* %6 ; <i32> [#uses=1]
+ %tmp9.i212 = getelementptr i8* %.ptr.i, i32 %tmp7.i211 ; <i8*> [#uses=2]
+ %tmp10.i = sub i32 %tmp8.i, %tmp7.i211 ; <i32> [#uses=2]
+ %count.i = getelementptr %nest.splitLines* %.frame.i, i32 0, i32 0 ; <i32*> [#uses=3]
+ %result.i = getelementptr %nest.splitLines* %.frame.i, i32 0, i32 1 ; <%"char[][]"*> [#uses=1]
+ store i32 0, i32* %count.i, align 8
+ %7 = getelementptr %"tango.text.Util.LineFruct!(char).LineFruct"* %.rettmp.i, i32 0, i32 0, i32 0 ; <i32*> [#uses=1]
+ store i32 %tmp10.i, i32* %7, align 8
+ %.sret_arg10.1.i.i = getelementptr %"tango.text.Util.LineFruct!(char).LineFruct"* %.rettmp.i, i32 0, i32 0, i32 1 ; <i8**> [#uses=1]
+ store i8* %tmp9.i212, i8** %.sret_arg10.1.i.i, align 4
+ %tmp1.i213 = bitcast %nest.splitLines* %.frame.i to i8* ; <i8*> [#uses=2]
+ %tmp2.i214 = insertvalue %"int delegate(ref char[])" undef, i8* %tmp1.i213, 0 ; <%"int delegate(ref char[])"> [#uses=1]
+ %.func.i = insertvalue %"int delegate(ref char[])" %tmp2.i214, i32 (i8*, %"byte[]"*)* @_D5tango4text4Util18__T10splitLinesTaZ10splitLinesFAaZAAa15__foreachbody41MFKAaZi, 1 ; <%"int delegate(ref char[])"> [#uses=1]
+ %tmp3.i = call fastcc i32 @_D5tango4text4Util16__T9LineFructTaZ9LineFruct7opApplyMFDFKAaZiZi(%"tango.text.Util.LineFruct!(char).LineFruct"* %.rettmp.i, %"int delegate(ref char[])" %.func.i) ; <i32> [#uses=0]
+ %tmp4.i215 = load i32* %count.i, align 8 ; <i32> [#uses=2]
+ %.gc_mem.i216 = call noalias i8* @_d_newarrayT(%object.TypeInfo* bitcast (%object.TypeInfo_Array* @_D12TypeInfo_AAa6__initZ to %object.TypeInfo*), i32 %tmp4.i215) ; <i8*> [#uses=1]
+ %.gc_mem5.i = bitcast i8* %.gc_mem.i216 to %"byte[]"* ; <%"byte[]"*> [#uses=1]
+ %tmp6.i217 = getelementptr %nest.splitLines* %.frame.i, i32 0, i32 1, i32 0 ; <i32*> [#uses=1]
+ store i32 %tmp4.i215, i32* %tmp6.i217
+ %tmp7.i218 = getelementptr %nest.splitLines* %.frame.i, i32 0, i32 1, i32 1 ; <%"byte[]"**> [#uses=1]
+ store %"byte[]"* %.gc_mem5.i, %"byte[]"** %tmp7.i218
+ store i32 0, i32* %count.i, align 8
+ %8 = getelementptr %"tango.text.Util.LineFruct!(char).LineFruct"* %.rettmp8.i, i32 0, i32 0, i32 0 ; <i32*> [#uses=1]
+ store i32 %tmp10.i, i32* %8, align 8
+ %.sret_arg10.1.i17.i = getelementptr %"tango.text.Util.LineFruct!(char).LineFruct"* %.rettmp8.i, i32 0, i32 0, i32 1 ; <i8**> [#uses=1]
+ store i8* %tmp9.i212, i8** %.sret_arg10.1.i17.i, align 4
+ %tmp11.i219 = insertvalue %"int delegate(ref char[])" undef, i8* %tmp1.i213, 0 ; <%"int delegate(ref char[])"> [#uses=1]
+ %.func12.i = insertvalue %"int delegate(ref char[])" %tmp11.i219, i32 (i8*, %"byte[]"*)* @_D5tango4text4Util18__T10splitLinesTaZ10splitLinesFAaZAAa15__foreachbody42MFKAaZi, 1 ; <%"int delegate(ref char[])"> [#uses=1]
+ %tmp13.i = call fastcc i32 @_D5tango4text4Util16__T9LineFructTaZ9LineFruct7opApplyMFDFKAaZiZi(%"tango.text.Util.LineFruct!(char).LineFruct"* %.rettmp8.i, %"int delegate(ref char[])" %.func12.i) ; <i32> [#uses=0]
+ %tmp14.i = load %"char[][]"* %result.i ; <%"char[][]"> [#uses=2]
+ %tmp53189 = extractvalue %"char[][]" %tmp14.i, 0 ; <i32> [#uses=5]
+ %tmp53190 = extractvalue %"char[][]" %tmp14.i, 1 ; <%"byte[]"*> [#uses=5]
+ br label %foreachcond
+
+foreachcond: ; preds = %foreachnext, %if27
+ %dir.1.1 = phi %tango.net.ftp.FtpClient.FtpFileInfo* [ null, %if27 ], [ %dir.1.0, %foreachnext ] ; <%tango.net.ftp.FtpClient.FtpFileInfo*> [#uses=4]
+ %dir.0.1 = phi i32 [ 0, %if27 ], [ %dir.0.0, %foreachnext ] ; <i32> [#uses=14]
+ %foreachkey.0 = phi i32 [ 0, %if27 ], [ %tmp127, %foreachnext ] ; <i32> [#uses=3]
+ %tmp65 = icmp ult i32 %foreachkey.0, %tmp53189 ; <i1> [#uses=1]
+ br i1 %tmp65, label %foreachbody, label %foreachend
+
+foreachbody: ; preds = %foreachcond
+ %tmp67 = getelementptr %"byte[]"* %tmp53190, i32 %foreachkey.0 ; <%"byte[]"*> [#uses=1]
+ %tmp68 = load %"byte[]"* %tmp67 ; <%"byte[]"> [#uses=2]
+ %tmp68187 = extractvalue %"byte[]" %tmp68, 0 ; <i32> [#uses=2]
+ %tmp71 = icmp eq i32 %tmp68187, 0 ; <i1> [#uses=1]
+ br i1 %tmp71, label %foreachnext, label %try74
+
+try74: ; preds = %foreachbody
+ %tmp68188 = extractvalue %"byte[]" %tmp68, 1 ; <i8*> [#uses=1]
+ %tmp99 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp1 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
+ %"this.parseMlstLine@vtbl" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp99, i32 0, i32 51 ; <void (%tango.net.ftp.FtpClient.FtpFileInfo*, %tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")**> [#uses=1]
+ %this.parseMlstLine = load void (%tango.net.ftp.FtpClient.FtpFileInfo*, %tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")** %"this.parseMlstLine@vtbl", align 4 ; <void (%tango.net.ftp.FtpClient.FtpFileInfo*, %tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")*> [#uses=1]
+ %insert = insertvalue %"byte[]" undef, i32 %tmp68187, 0 ; <%"byte[]"> [#uses=1]
+ %insert186 = insertvalue %"byte[]" %insert, i8* %tmp68188, 1 ; <%"byte[]"> [#uses=1]
+ invoke fastcc void %this.parseMlstLine(%tango.net.ftp.FtpClient.FtpFileInfo* noalias nocapture sret %.rettmp, %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" %insert186)
+ to label %postinvoke102 unwind label %landingpad75
+
+postinvoke102: ; preds = %try74
+ %.rettmp179.0 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %.rettmp, i32 0, i32 0, i32 0 ; <i32*> [#uses=1]
+ %tmp180 = load i32* %.rettmp179.0, align 8 ; <i32> [#uses=2]
+ %.rettmp179.1 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %.rettmp, i32 0, i32 0, i32 1 ; <i8**> [#uses=1]
+ %tmp181 = load i8** %.rettmp179.1, align 4 ; <i8*> [#uses=1]
+ %.rettmp.1 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %.rettmp, i32 0, i32 1 ; <i32*> [#uses=1]
+ %tmp162 = load i32* %.rettmp.1, align 8 ; <i32> [#uses=1]
+ %.rettmp.2 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %.rettmp, i32 0, i32 2 ; <i64*> [#uses=1]
+ %tmp163 = load i64* %.rettmp.2, align 4 ; <i64> [#uses=1]
+ %.rettmp.3.0 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %.rettmp, i32 0, i32 3, i32 0 ; <i64*> [#uses=1]
+ %tmp177 = load i64* %.rettmp.3.0, align 4 ; <i64> [#uses=1]
+ %.rettmp.4.0 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %.rettmp, i32 0, i32 4, i32 0 ; <i64*> [#uses=1]
+ %tmp175 = load i64* %.rettmp.4.0, align 4 ; <i64> [#uses=1]
+ %.rettmp.5.0 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %.rettmp, i32 0, i32 5, i32 0 ; <i32*> [#uses=1]
+ %tmp171 = load i32* %.rettmp.5.0, align 4 ; <i32> [#uses=1]
+ %.rettmp.5.1 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %.rettmp, i32 0, i32 5, i32 1 ; <i8**> [#uses=1]
+ %tmp172 = load i8** %.rettmp.5.1, align 4 ; <i8*> [#uses=1]
+ %.rettmp.6 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %.rettmp, i32 0, i32 6 ; <i8**> [#uses=1]
+ %tmp170 = load i8** %.rettmp.6, align 4 ; <i8*> [#uses=1]
+ %tmp108 = icmp eq i32 %tmp180, 0 ; <i1> [#uses=1]
+ br i1 %tmp108, label %foreachnext, label %if109
+
+if109: ; preds = %postinvoke102
+ %tmp113 = add i32 %dir.0.1, 1 ; <i32> [#uses=2]
+ %tmp118 = bitcast %tango.net.ftp.FtpClient.FtpFileInfo* %dir.1.1 to i8* ; <i8*> [#uses=1]
+ %.gc_mem = invoke i8* @_d_arraysetlengthiT(%object.TypeInfo* bitcast (%object.TypeInfo_Array* @_D48TypeInfo_AS5tango3net3ftp9FtpClient11FtpFileInfo6__initZ to %object.TypeInfo*), i32 %tmp113, i32 %dir.0.1, i8* %tmp118)
+ to label %postinvoke119 unwind label %landingpad75 ; <i8*> [#uses=1]
+
+postinvoke119: ; preds = %if109
+ %.gc_mem120 = bitcast i8* %.gc_mem to %tango.net.ftp.FtpClient.FtpFileInfo* ; <%tango.net.ftp.FtpClient.FtpFileInfo*> [#uses=10]
+ %9 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %.gc_mem120, i32 %dir.0.1, i32 0, i32 0 ; <i32*> [#uses=1]
+ store i32 %tmp180, i32* %9
+ %tmp121182.1 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %.gc_mem120, i32 %dir.0.1, i32 0, i32 1 ; <i8**> [#uses=1]
+ store i8* %tmp181, i8** %tmp121182.1, align 4
+ %tmp121.1 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %.gc_mem120, i32 %dir.0.1, i32 1 ; <i32*> [#uses=1]
+ store i32 %tmp162, i32* %tmp121.1, align 8
+ %tmp121.2 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %.gc_mem120, i32 %dir.0.1, i32 2 ; <i64*> [#uses=1]
+ store i64 %tmp163, i64* %tmp121.2, align 4
+ %tmp121.3.0 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %.gc_mem120, i32 %dir.0.1, i32 3, i32 0 ; <i64*> [#uses=1]
+ store i64 %tmp177, i64* %tmp121.3.0, align 4
+ %tmp121.4.0 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %.gc_mem120, i32 %dir.0.1, i32 4, i32 0 ; <i64*> [#uses=1]
+ store i64 %tmp175, i64* %tmp121.4.0, align 4
+ %tmp121.5.0 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %.gc_mem120, i32 %dir.0.1, i32 5, i32 0 ; <i32*> [#uses=1]
+ store i32 %tmp171, i32* %tmp121.5.0, align 4
+ %tmp121.5.1 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %.gc_mem120, i32 %dir.0.1, i32 5, i32 1 ; <i8**> [#uses=1]
+ store i8* %tmp172, i8** %tmp121.5.1, align 4
+ %tmp121.6 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %.gc_mem120, i32 %dir.0.1, i32 6 ; <i8**> [#uses=1]
+ store i8* %tmp170, i8** %tmp121.6, align 4
+ br label %foreachnext
+
+landingpad75: ; preds = %if109, %try74
+ %10 = call i8* @llvm.eh.exception() ; <i8*> [#uses=2]
+ %11 = call i32 (i8*, i8*, ...)* @llvm.eh.selector.i32(i8* %10, i8* bitcast (i32 (i32, i32, i64, i8*, i8*)* @_d_eh_personality to i8*), %object.ClassInfo* @_D5tango3net3ftp9FtpClient12FtpException7__ClassZ, i32 0) ; <i32> [#uses=1]
+ %cond = icmp eq i32 %11, 1 ; <i1> [#uses=1]
+ br i1 %cond, label %catch77, label %switchdefault90
+
+catch77: ; preds = %landingpad75
+ %tmp80 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp1 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
+ %"this.sendListCommand@vtbl" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp80, i32 0, i32 49 ; <%"FtpFileInfo[]" (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")**> [#uses=1]
+ %this.sendListCommand = load %"FtpFileInfo[]" (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")** %"this.sendListCommand@vtbl", align 4 ; <%"FtpFileInfo[]" (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")*> [#uses=1]
+ %insert200 = insertvalue %"byte[]" undef, i32 %path_arg207, 0 ; <%"byte[]"> [#uses=1]
+ %insert202 = insertvalue %"byte[]" %insert200, i8* %path_arg208, 1 ; <%"byte[]"> [#uses=1]
+ %tmp84 = invoke fastcc %"FtpFileInfo[]" %this.sendListCommand(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" %insert202)
+ to label %postinvoke83 unwind label %catch77.landingpad55_crit_edge ; <%"FtpFileInfo[]"> [#uses=1]
+
+catch77.landingpad55_crit_edge: ; preds = %catch77
+ %.tmp.pre = bitcast %"byte[]"* %tmp53190 to i8* ; <i8*> [#uses=1]
+ br label %landingpad55
+
+postinvoke83: ; preds = %catch77
+ %.tmp89 = bitcast %"byte[]"* %tmp53190 to i8* ; <i8*> [#uses=1]
+ call void @_d_delarray(i32 %tmp53189, i8* %.tmp89)
+ ret %"FtpFileInfo[]" %tmp84
+
+switchdefault90: ; preds = %landingpad75
+ %.tmp95 = bitcast %"byte[]"* %tmp53190 to i8* ; <i8*> [#uses=2]
+ invoke void @_d_delarray(i32 %tmp53189, i8* %.tmp95)
+ to label %postinvoke96 unwind label %landingpad55
+
+postinvoke96: ; preds = %switchdefault90
+ call void @_d_eh_resume_unwind(i8* %10)
+ unreachable
+
+foreachnext: ; preds = %postinvoke119, %postinvoke102, %foreachbody
+ %dir.1.0 = phi %tango.net.ftp.FtpClient.FtpFileInfo* [ %dir.1.1, %foreachbody ], [ %.gc_mem120, %postinvoke119 ], [ %dir.1.1, %postinvoke102 ] ; <%tango.net.ftp.FtpClient.FtpFileInfo*> [#uses=1]
+ %dir.0.0 = phi i32 [ %dir.0.1, %foreachbody ], [ %tmp113, %postinvoke119 ], [ %dir.0.1, %postinvoke102 ] ; <i32> [#uses=1]
+ %tmp127 = add i32 %foreachkey.0, 1 ; <i32> [#uses=1]
+ br label %foreachcond
+
+foreachend: ; preds = %foreachcond
+ %insert192 = insertvalue %"FtpFileInfo[]" undef, i32 %dir.0.1, 0 ; <%"FtpFileInfo[]"> [#uses=1]
+ %insert194 = insertvalue %"FtpFileInfo[]" %insert192, %tango.net.ftp.FtpClient.FtpFileInfo* %dir.1.1, 1 ; <%"FtpFileInfo[]"> [#uses=1]
+ %.tmp133 = bitcast %"byte[]"* %tmp53190 to i8* ; <i8*> [#uses=1]
+ call void @_d_delarray(i32 %tmp53189, i8* %.tmp133)
+ ret %"FtpFileInfo[]" %insert194
+
+landingpad55: ; preds = %switchdefault90, %catch77.landingpad55_crit_edge
+ %.tmp.pre-phi = phi i8* [ %.tmp.pre, %catch77.landingpad55_crit_edge ], [ %.tmp95, %switchdefault90 ] ; <i8*> [#uses=1]
+ %12 = call i8* @llvm.eh.exception() ; <i8*> [#uses=2]
+ %13 = call i32 (i8*, i8*, ...)* @llvm.eh.selector.i32(i8* %12, i8* bitcast (i32 (i32, i32, i64, i8*, i8*)* @_d_eh_personality to i8*), i32 0) ; <i32> [#uses=0]
+ call void @_d_delarray(i32 %tmp53189, i8* %.tmp.pre-phi)
+ call void @_d_eh_resume_unwind(i8* %12)
+ unreachable
+
+else29: ; preds = %endif
+ %tmp142 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp1 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
+ %"this.sendListCommand@vtbl143" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp142, i32 0, i32 49 ; <%"FtpFileInfo[]" (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")**> [#uses=1]
+ %this.sendListCommand145 = load %"FtpFileInfo[]" (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")** %"this.sendListCommand@vtbl143", align 4 ; <%"FtpFileInfo[]" (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")*> [#uses=1]
+ %insert196 = insertvalue %"byte[]" undef, i32 %path_arg207, 0 ; <%"byte[]"> [#uses=1]
+ %insert198 = insertvalue %"byte[]" %insert196, i8* %path_arg208, 1 ; <%"byte[]"> [#uses=1]
+ %tmp147 = call fastcc %"FtpFileInfo[]" %this.sendListCommand145(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" %insert198) ; <%"FtpFileInfo[]"> [#uses=1]
+ ret %"FtpFileInfo[]" %tmp147
+}
+
+define fastcc void @_D5tango3net3ftp9FtpClient13FTPConnection10readStreamMFC5tango3net13SocketConduit13SocketConduitC5tango2io5model8IConduit12OutputStreamDFkZvZv(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %tango.net.SocketConduit.SocketConduit* %data_arg, %tango.io.model.IConduit.OutputStream* %stream_arg, %"void delegate(uint pos)" %progress_arg) {
+entry:
+ %tv.i = alloca %tango.net.Socket.timeval, align 8 ; <%tango.net.Socket.timeval*> [#uses=2]
+ %.rettmp = alloca %tango.time.Time.Time, align 8 ; <%tango.time.Time.Time*> [#uses=2]
+ %.rettmp11 = alloca %tango.time.Time.Time, align 8 ; <%tango.time.Time.Time*> [#uses=2]
+ %buf = alloca [8192 x i8], align 1 ; <[8192 x i8]*> [#uses=1]
+ %.rettmp17 = alloca %tango.time.Time.Time, align 8 ; <%tango.time.Time.Time*> [#uses=2]
+ %.rettmp45 = alloca %tango.time.Time.Time, align 8 ; <%tango.time.Time.Time*> [#uses=2]
+ %.rettmp110 = alloca %tango.time.Time.Time, align 8 ; <%tango.time.Time.Time*> [#uses=2]
+ %.rettmp119 = alloca %tango.time.Time.Time, align 8 ; <%tango.time.Time.Time*> [#uses=2]
+ %progress_arg144 = extractvalue %"void delegate(uint pos)" %progress_arg, 0 ; <i8*> [#uses=2]
+ %progress_arg145 = extractvalue %"void delegate(uint pos)" %progress_arg, 1 ; <void (i8*, i32)*> [#uses=2]
+ %.newclass_gc_alloc = call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango3net6Socket9SocketSet7__ClassZ) ; <i8*> [#uses=8]
+ %.newclass_gc = bitcast i8* %.newclass_gc_alloc to %tango.net.Socket.SocketSet* ; <%tango.net.Socket.SocketSet*> [#uses=3]
+ %vtbl = bitcast i8* %.newclass_gc_alloc to %tango.net.Socket.SocketSet.__vtbl** ; <%tango.net.Socket.SocketSet.__vtbl**> [#uses=3]
+ store %tango.net.Socket.SocketSet.__vtbl* @_D5tango3net6Socket9SocketSet6__vtblZ, %tango.net.Socket.SocketSet.__vtbl** %vtbl
+ %monitor = getelementptr i8* %.newclass_gc_alloc, i32 4 ; <i8*> [#uses=1]
+ %0 = bitcast i8* %monitor to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %0
+ %tmp = getelementptr i8* %.newclass_gc_alloc, i32 8 ; <i8*> [#uses=2]
+ call void @llvm.memcpy.i32(i8* %tmp, i8* bitcast (i32* getelementptr (%tango.net.Socket.SocketSet* bitcast (%24* @_D5tango3net6Socket9SocketSet6__initZ to %tango.net.Socket.SocketSet*), i32 0, i32 2) to i8*), i32 16, i32 1)
+ %1 = bitcast i8* %tmp to i32* ; <i32*> [#uses=2]
+ store i32 128, i32* %1
+ %tmp9.i.i = getelementptr i8* %.newclass_gc_alloc, i32 12 ; <i8*> [#uses=1]
+ %2 = bitcast i8* %tmp9.i.i to i8** ; <i8**> [#uses=1]
+ %.gc_mem.i.i = call noalias i8* @_d_newarrayT(%object.TypeInfo* @_D11TypeInfo_Ag6__initZ, i32 128) ; <i8*> [#uses=1]
+ store i8* %.gc_mem.i.i, i8** %2
+ %tmp14.i.i = getelementptr i8* %.newclass_gc_alloc, i32 16 ; <i8*> [#uses=1]
+ %3 = bitcast i8* %tmp14.i.i to i32* ; <i32*> [#uses=1]
+ %tmp17.i.i = load i32* %1 ; <i32> [#uses=1]
+ %tmp18.i.i = shl i32 %tmp17.i.i, 3 ; <i32> [#uses=1]
+ store i32 %tmp18.i.i, i32* %3
+ invoke fastcc void @_D5tango4time5Clock5Clock3nowFZS5tango4time4Time4Time(%tango.time.Time.Time* noalias nocapture sret %.rettmp)
+ to label %postinvoke unwind label %landingpad
+
+postinvoke: ; preds = %entry
+ %tmp8 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 0 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl**> [#uses=3]
+ %tmp9 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp8 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
+ %"this.timeout@vtbl" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp9, i32 0, i32 10 ; <void (%tango.time.Time.Time*, %tango.net.ftp.FtpClient.FTPConnection*)**> [#uses=1]
+ %this.timeout = load void (%tango.time.Time.Time*, %tango.net.ftp.FtpClient.FTPConnection*)** %"this.timeout@vtbl", align 4 ; <void (%tango.time.Time.Time*, %tango.net.ftp.FtpClient.FTPConnection*)*> [#uses=1]
+ invoke fastcc void %this.timeout(%tango.time.Time.Time* noalias nocapture sret %.rettmp11, %tango.net.ftp.FtpClient.FTPConnection* %.this_arg)
+ to label %postinvoke12 unwind label %landingpad
+
+postinvoke12: ; preds = %postinvoke
+ %.rettmp11.0 = getelementptr %tango.time.Time.Time* %.rettmp11, i32 0, i32 0 ; <i64*> [#uses=1]
+ %tmp183 = load i64* %.rettmp11.0, align 8 ; <i64> [#uses=1]
+ %tmp1.i162 = getelementptr %tango.time.Time.Time* %.rettmp, i32 0, i32 0 ; <i64*> [#uses=1]
+ %tmp3.i164 = load i64* %tmp1.i162, align 8 ; <i64> [#uses=1]
+ %tmp16 = getelementptr [8192 x i8]* %buf, i32 0, i32 0 ; <i8*> [#uses=3]
+ call void @llvm.memset.i32(i8* %tmp16, i8 0, i32 8192, i32 1)
+ br label %whilecond
+
+whilecond: ; preds = %postinvoke120, %postinvoke12
+ %tmp3.i164.pn = phi i64 [ %tmp3.i164, %postinvoke12 ], [ %tmp3.i, %postinvoke120 ] ; <i64> [#uses=1]
+ %.pn = phi i64 [ %tmp183, %postinvoke12 ], [ %tmp181, %postinvoke120 ] ; <i64> [#uses=1]
+ %pos.0 = phi i32 [ 0, %postinvoke12 ], [ %tmp96, %postinvoke120 ] ; <i32> [#uses=1]
+ invoke fastcc void @_D5tango4time5Clock5Clock3nowFZS5tango4time4Time4Time(%tango.time.Time.Time* noalias nocapture sret %.rettmp17)
+ to label %postinvoke18 unwind label %landingpad
+
+whilebody: ; preds = %postinvoke18
+ %tmp24 = load %tango.net.Socket.SocketSet.__vtbl** %vtbl ; <%tango.net.Socket.SocketSet.__vtbl*> [#uses=1]
+ %"set.reset@vtbl" = getelementptr %tango.net.Socket.SocketSet.__vtbl* %tmp24, i32 0, i32 10 ; <void (%tango.net.Socket.SocketSet*)**> [#uses=1]
+ %set.reset = load void (%tango.net.Socket.SocketSet*)** %"set.reset@vtbl", align 4 ; <void (%tango.net.Socket.SocketSet*)*> [#uses=1]
+ invoke fastcc void %set.reset(%tango.net.Socket.SocketSet* %.newclass_gc)
+ to label %postinvoke26 unwind label %landingpad
+
+postinvoke18: ; preds = %whilecond
+ %end_time.0.0 = add i64 %tmp3.i164.pn, %.pn ; <i64> [#uses=1]
+ %tmp1.i168 = getelementptr %tango.time.Time.Time* %.rettmp17, i32 0, i32 0 ; <i64*> [#uses=1]
+ %tmp3.i170 = load i64* %tmp1.i168, align 8 ; <i64> [#uses=1]
+ %tmp5.i172 = icmp slt i64 %tmp3.i170, %end_time.0.0 ; <i1> [#uses=1]
+ br i1 %tmp5.i172, label %whilebody, label %if125
+
+postinvoke26: ; preds = %whilebody
+ %tmp29 = load %tango.net.Socket.SocketSet.__vtbl** %vtbl ; <%tango.net.Socket.SocketSet.__vtbl*> [#uses=1]
+ %"set.add@vtbl" = getelementptr %tango.net.Socket.SocketSet.__vtbl* %tmp29, i32 0, i32 12 ; <void (%tango.net.Socket.SocketSet*, %tango.net.Socket.Socket*)**> [#uses=1]
+ %set.add = load void (%tango.net.Socket.SocketSet*, %tango.net.Socket.Socket*)** %"set.add@vtbl", align 4 ; <void (%tango.net.Socket.SocketSet*, %tango.net.Socket.Socket*)*> [#uses=1]
+ %tmp32 = getelementptr %tango.net.SocketConduit.SocketConduit* %data_arg, i32 0, i32 0 ; <%tango.net.SocketConduit.SocketConduit.__vtbl**> [#uses=2]
+ %tmp33 = load %tango.net.SocketConduit.SocketConduit.__vtbl** %tmp32 ; <%tango.net.SocketConduit.SocketConduit.__vtbl*> [#uses=1]
+ %"data.socket@vtbl" = getelementptr %tango.net.SocketConduit.SocketConduit.__vtbl* %tmp33, i32 0, i32 14 ; <%tango.net.Socket.Socket* (%tango.net.SocketConduit.SocketConduit*)**> [#uses=1]
+ %data.socket = load %tango.net.Socket.Socket* (%tango.net.SocketConduit.SocketConduit*)** %"data.socket@vtbl", align 4 ; <%tango.net.Socket.Socket* (%tango.net.SocketConduit.SocketConduit*)*> [#uses=1]
+ %tmp36 = invoke fastcc %tango.net.Socket.Socket* %data.socket(%tango.net.SocketConduit.SocketConduit* %data_arg)
+ to label %postinvoke35 unwind label %landingpad ; <%tango.net.Socket.Socket*> [#uses=1]
+
+postinvoke35: ; preds = %postinvoke26
+ invoke fastcc void %set.add(%tango.net.Socket.SocketSet* %.newclass_gc, %tango.net.Socket.Socket* %tmp36)
+ to label %postinvoke37 unwind label %landingpad
+
+postinvoke37: ; preds = %postinvoke35
+ %tmp41 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp8 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
+ %"this.timeout@vtbl42" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp41, i32 0, i32 10 ; <void (%tango.time.Time.Time*, %tango.net.ftp.FtpClient.FTPConnection*)**> [#uses=1]
+ %this.timeout44 = load void (%tango.time.Time.Time*, %tango.net.ftp.FtpClient.FTPConnection*)** %"this.timeout@vtbl42", align 4 ; <void (%tango.time.Time.Time*, %tango.net.ftp.FtpClient.FTPConnection*)*> [#uses=1]
+ invoke fastcc void %this.timeout44(%tango.time.Time.Time* noalias nocapture sret %.rettmp45, %tango.net.ftp.FtpClient.FTPConnection* %.this_arg)
+ to label %postinvoke46 unwind label %landingpad
+
+postinvoke46: ; preds = %postinvoke37
+ %.rettmp45.0 = getelementptr %tango.time.Time.Time* %.rettmp45, i32 0, i32 0 ; <i64*> [#uses=1]
+ %tmp185 = load i64* %.rettmp45.0, align 8 ; <i64> [#uses=2]
+ %tmp3.i.i.i = sdiv i64 %tmp185, 10000000 ; <i64> [#uses=1]
+ %tmp3.i14.i.i = sdiv i64 %tmp185, 10 ; <i64> [#uses=1]
+ %tmp6.i.i = trunc i64 %tmp3.i14.i.i to i32 ; <i32> [#uses=1]
+ %tmp7.i.i = urem i32 %tmp6.i.i, 1000000 ; <i32> [#uses=1]
+ %tmp7.i = bitcast %tango.net.Socket.timeval* %tv.i to i64* ; <i64*> [#uses=1]
+ %4 = shl i64 %tmp3.i.i.i, 32 ; <i64> [#uses=1]
+ %5 = zext i32 %tmp7.i.i to i64 ; <i64> [#uses=1]
+ %6 = or i64 %5, %4 ; <i64> [#uses=1]
+ store i64 %6, i64* %tmp7.i, align 8
+ %tmp5.i176177 = invoke fastcc i32 @_D5tango3net6Socket6Socket6selectFC5tango3net6Socket9SocketSetC5tango3net6Socket9SocketSetC5tango3net6Socket9SocketSetPS5tango3net6Socket7timevalZi(%tango.net.Socket.SocketSet* %.newclass_gc, %tango.net.Socket.SocketSet* null, %tango.net.Socket.SocketSet* null, %tango.net.Socket.timeval* %tv.i)
+ to label %_D5tango3net6Socket6Socket6selectFC5tango3net6Socket9SocketSetC5tango3net6Socket9SocketSetC5tango3net6Socket9SocketSetS5tango4time4Time8TimeSpanZi.exit unwind label %landingpad ; <i32> [#uses=1]
+
+_D5tango3net6Socket6Socket6selectFC5tango3net6Socket9SocketSetC5tango3net6Socket9SocketSetC5tango3net6Socket9SocketSetS5tango4time4Time8TimeSpanZi.exit: ; preds = %postinvoke46
+ switch i32 %tmp5.i176177, label %endif [
+ i32 -1, label %if125
+ i32 0, label %if125
+ ]
+
+endif: ; preds = %_D5tango3net6Socket6Socket6selectFC5tango3net6Socket9SocketSetC5tango3net6Socket9SocketSetC5tango3net6Socket9SocketSetS5tango4time4Time8TimeSpanZi.exit
+ %tmp55 = load %tango.net.SocketConduit.SocketConduit.__vtbl** %tmp32 ; <%tango.net.SocketConduit.SocketConduit.__vtbl*> [#uses=1]
+ %"data.socket@vtbl56" = getelementptr %tango.net.SocketConduit.SocketConduit.__vtbl* %tmp55, i32 0, i32 14 ; <%tango.net.Socket.Socket* (%tango.net.SocketConduit.SocketConduit*)**> [#uses=1]
+ %data.socket58 = load %tango.net.Socket.Socket* (%tango.net.SocketConduit.SocketConduit*)** %"data.socket@vtbl56", align 4 ; <%tango.net.Socket.Socket* (%tango.net.SocketConduit.SocketConduit*)*> [#uses=1]
+ %tmp60 = invoke fastcc %tango.net.Socket.Socket* %data.socket58(%tango.net.SocketConduit.SocketConduit* %data_arg)
+ to label %postinvoke59 unwind label %landingpad ; <%tango.net.Socket.Socket*> [#uses=2]
+
+postinvoke59: ; preds = %endif
+ %tmp61 = getelementptr %tango.net.Socket.Socket* %tmp60, i32 0, i32 0 ; <%tango.net.Socket.Socket.__vtbl**> [#uses=1]
+ %tmp62 = load %tango.net.Socket.Socket.__vtbl** %tmp61 ; <%tango.net.Socket.Socket.__vtbl*> [#uses=1]
+ %"data.socket().receive@vtbl" = getelementptr %tango.net.Socket.Socket.__vtbl* %tmp62, i32 0, i32 29 ; <i32 (%tango.net.Socket.Socket*, %"byte[]", i32)**> [#uses=1]
+ %"data.socket().receive" = load i32 (%tango.net.Socket.Socket*, %"byte[]", i32)** %"data.socket().receive@vtbl", align 4 ; <i32 (%tango.net.Socket.Socket*, %"byte[]", i32)*> [#uses=1]
+ %tmp65 = insertvalue %"byte[]" { i32 8192, i8* undef }, i8* %tmp16, 1 ; <%"byte[]"> [#uses=1]
+ %tmp67 = invoke fastcc i32 %"data.socket().receive"(%tango.net.Socket.Socket* %tmp60, %"byte[]" %tmp65, i32 0)
+ to label %postinvoke66 unwind label %landingpad ; <i32> [#uses=3]
+
+postinvoke66: ; preds = %postinvoke59
+ switch i32 %tmp67, label %endif76 [
+ i32 -1, label %if125
+ i32 0, label %if75
+ ]
+
+if75: ; preds = %postinvoke66
+ %.tmp141 = bitcast i8* %.newclass_gc_alloc to %object.Object* ; <%object.Object*> [#uses=1]
+ call void @_d_delclass(%object.Object* %.tmp141)
+ ret void
+
+endif76: ; preds = %postinvoke66
+ %tmp79 = bitcast %tango.io.model.IConduit.OutputStream* %stream_arg to i8* ; <i8*> [#uses=1]
+ %tmp80 = call %object.Object* @_d_toObject(i8* %tmp79) nounwind readonly ; <%object.Object*> [#uses=1]
+ %tmp82 = getelementptr %tango.io.model.IConduit.OutputStream* %stream_arg, i32 0, i32 0 ; <%tango.io.model.IConduit.OutputStream.__vtbl**> [#uses=1]
+ %tmp83 = load %tango.io.model.IConduit.OutputStream.__vtbl** %tmp82 ; <%tango.io.model.IConduit.OutputStream.__vtbl*> [#uses=1]
+ %"stream.write@vtbl" = getelementptr %tango.io.model.IConduit.OutputStream.__vtbl* %tmp83, i32 0, i32 5 ; <i32 (%tango.io.model.IConduit.OutputStream*, %"byte[]")**> [#uses=1]
+ %stream.write = load i32 (%tango.io.model.IConduit.OutputStream*, %"byte[]")** %"stream.write@vtbl", align 4 ; <i32 (%tango.io.model.IConduit.OutputStream*, %"byte[]")*> [#uses=1]
+ %tmp85 = bitcast %object.Object* %tmp80 to %tango.io.model.IConduit.OutputStream* ; <%tango.io.model.IConduit.OutputStream*> [#uses=1]
+ %tmp90 = insertvalue %"byte[]" undef, i32 %tmp67, 0 ; <%"byte[]"> [#uses=1]
+ %tmp91 = insertvalue %"byte[]" %tmp90, i8* %tmp16, 1 ; <%"byte[]"> [#uses=1]
+ %tmp93 = invoke fastcc i32 %stream.write(%tango.io.model.IConduit.OutputStream* %tmp85, %"byte[]" %tmp91)
+ to label %postinvoke92 unwind label %landingpad ; <i32> [#uses=0]
+
+postinvoke92: ; preds = %endif76
+ %tmp96 = add i32 %pos.0, %tmp67 ; <i32> [#uses=2]
+ %tmp98 = icmp eq i8* %progress_arg144, null ; <i1> [#uses=1]
+ %tmp99 = icmp eq void (i8*, i32)* %progress_arg145, null ; <i1> [#uses=1]
+ %tmp100 = and i1 %tmp98, %tmp99 ; <i1> [#uses=1]
+ br i1 %tmp100, label %endif103, label %if102
+
+if102: ; preds = %postinvoke92
+ invoke fastcc void %progress_arg145(i8* %progress_arg144, i32 %tmp96)
+ to label %endif103 unwind label %landingpad
+
+endif103: ; preds = %if102, %postinvoke92
+ invoke fastcc void @_D5tango4time5Clock5Clock3nowFZS5tango4time4Time4Time(%tango.time.Time.Time* noalias nocapture sret %.rettmp110)
+ to label %postinvoke111 unwind label %landingpad
+
+postinvoke111: ; preds = %endif103
+ %tmp115 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp8 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
+ %"this.timeout@vtbl116" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp115, i32 0, i32 10 ; <void (%tango.time.Time.Time*, %tango.net.ftp.FtpClient.FTPConnection*)**> [#uses=1]
+ %this.timeout118 = load void (%tango.time.Time.Time*, %tango.net.ftp.FtpClient.FTPConnection*)** %"this.timeout@vtbl116", align 4 ; <void (%tango.time.Time.Time*, %tango.net.ftp.FtpClient.FTPConnection*)*> [#uses=1]
+ invoke fastcc void %this.timeout118(%tango.time.Time.Time* noalias nocapture sret %.rettmp119, %tango.net.ftp.FtpClient.FTPConnection* %.this_arg)
+ to label %postinvoke120 unwind label %landingpad
+
+postinvoke120: ; preds = %postinvoke111
+ %.rettmp119.0 = getelementptr %tango.time.Time.Time* %.rettmp119, i32 0, i32 0 ; <i64*> [#uses=1]
+ %tmp181 = load i64* %.rettmp119.0, align 8 ; <i64> [#uses=1]
+ %tmp1.i = getelementptr %tango.time.Time.Time* %.rettmp110, i32 0, i32 0 ; <i64*> [#uses=1]
+ %tmp3.i = load i64* %tmp1.i, align 8 ; <i64> [#uses=1]
+ br label %whilecond
+
+if125: ; preds = %postinvoke66, %_D5tango3net6Socket6Socket6selectFC5tango3net6Socket9SocketSetC5tango3net6Socket9SocketSetC5tango3net6Socket9SocketSetS5tango4time4Time8TimeSpanZi.exit, %_D5tango3net6Socket6Socket6selectFC5tango3net6Socket9SocketSetC5tango3net6Socket9SocketSetC5tango3net6Socket9SocketSetS5tango4time4Time8TimeSpanZi.exit, %postinvoke18
+ %.newclass_gc_alloc128 = invoke noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango3net3ftp9FtpClient12FtpException7__ClassZ)
+ to label %postinvoke127 unwind label %landingpad ; <i8*> [#uses=6]
+
+postinvoke127: ; preds = %if125
+ %vtbl130 = bitcast i8* %.newclass_gc_alloc128 to %tango.net.ftp.FtpClient.FtpException.__vtbl** ; <%tango.net.ftp.FtpClient.FtpException.__vtbl**> [#uses=1]
+ store %tango.net.ftp.FtpClient.FtpException.__vtbl* @_D5tango3net3ftp9FtpClient12FtpException6__vtblZ, %tango.net.ftp.FtpClient.FtpException.__vtbl** %vtbl130
+ %monitor131 = getelementptr i8* %.newclass_gc_alloc128, i32 4 ; <i8*> [#uses=1]
+ %7 = bitcast i8* %monitor131 to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %7
+ %tmp132 = getelementptr i8* %.newclass_gc_alloc128, i32 8 ; <i8*> [#uses=1]
+ call void @llvm.memcpy.i32(i8* %tmp132, i8* bitcast (%"byte[]"* getelementptr (%tango.net.ftp.FtpClient.FtpException* @_D5tango3net3ftp9FtpClient12FtpException6__initZ, i32 0, i32 2) to i8*), i32 31, i32 1)
+ %tmp2.i = getelementptr i8* %.newclass_gc_alloc128, i32 36 ; <i8*> [#uses=1]
+ call void @llvm.memcpy.i32(i8* %tmp2.i, i8* getelementptr ([4 x i8]* @.str162, i32 0, i32 0), i32 3, i32 1)
+ %tmp5.i = bitcast i8* %.newclass_gc_alloc128 to %object.Exception* ; <%object.Exception*> [#uses=1]
+ %tmp7.i154 = invoke fastcc %object.Exception* @_D6object9Exception5_ctorMFAaC9ExceptionZC9Exception(%object.Exception* %tmp5.i, %"byte[]" { i32 33, i8* getelementptr ([34 x i8]* @.str161, i32 0, i32 0) }, %object.Exception* null)
+ to label %_D5tango3net3ftp9FtpClient12FtpException5_ctorMFAaG3aZC5tango3net3ftp9FtpClient12FtpException.exit unwind label %landingpad ; <%object.Exception*> [#uses=0]
+
+_D5tango3net3ftp9FtpClient12FtpException5_ctorMFAaG3aZC5tango3net3ftp9FtpClient12FtpException.exit: ; preds = %postinvoke127
+ %tmp138 = bitcast i8* %.newclass_gc_alloc128 to %object.Object* ; <%object.Object*> [#uses=1]
+ invoke void @_d_throw_exception(%object.Object* %tmp138)
+ to label %postinvoke139 unwind label %landingpad
+
+postinvoke139: ; preds = %_D5tango3net3ftp9FtpClient12FtpException5_ctorMFAaG3aZC5tango3net3ftp9FtpClient12FtpException.exit
+ unreachable
+
+landingpad: ; preds = %_D5tango3net3ftp9FtpClient12FtpException5_ctorMFAaG3aZC5tango3net3ftp9FtpClient12FtpException.exit, %postinvoke127, %if125, %postinvoke111, %endif103, %if102, %endif76, %postinvoke59, %endif, %postinvoke46, %postinvoke37, %postinvoke35, %postinvoke26, %whilebody, %whilecond, %postinvoke, %entry
+ %8 = call i8* @llvm.eh.exception() ; <i8*> [#uses=2]
+ %9 = call i32 (i8*, i8*, ...)* @llvm.eh.selector.i32(i8* %8, i8* bitcast (i32 (i32, i32, i64, i8*, i8*)* @_d_eh_personality to i8*), i32 0) ; <i32> [#uses=0]
+ %.tmp = bitcast i8* %.newclass_gc_alloc to %object.Object* ; <%object.Object*> [#uses=1]
+ call void @_d_delclass(%object.Object* %.tmp)
+ call void @_d_eh_resume_unwind(i8* %8)
+ unreachable
+}
+
+define fastcc void @_D5tango3net3ftp9FtpClient13FTPConnection10sendStreamMFC5tango3net13SocketConduit13SocketConduitC5tango2io5model8IConduit11InputStreamDFkZvZv(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %tango.net.SocketConduit.SocketConduit* %data_arg, %tango.io.model.IConduit.InputStream* %stream_arg, %"void delegate(uint pos)" %progress_arg) {
+entry:
+ %tv.i = alloca %tango.net.Socket.timeval, align 8 ; <%tango.net.Socket.timeval*> [#uses=2]
+ %.rettmp = alloca %tango.time.Time.Time, align 8 ; <%tango.time.Time.Time*> [#uses=2]
+ %.rettmp11 = alloca %tango.time.Time.Time, align 8 ; <%tango.time.Time.Time*> [#uses=2]
+ %buf = alloca [8192 x i8], align 1 ; <[8192 x i8]*> [#uses=2]
+ %.rettmp18 = alloca %tango.time.Time.Time, align 8 ; <%tango.time.Time.Time*> [#uses=2]
+ %.rettmp46 = alloca %tango.time.Time.Time, align 8 ; <%tango.time.Time.Time*> [#uses=2]
+ %.rettmp123 = alloca %tango.time.Time.Time, align 8 ; <%tango.time.Time.Time*> [#uses=2]
+ %.rettmp132 = alloca %tango.time.Time.Time, align 8 ; <%tango.time.Time.Time*> [#uses=2]
+ %progress_arg157 = extractvalue %"void delegate(uint pos)" %progress_arg, 0 ; <i8*> [#uses=2]
+ %progress_arg158 = extractvalue %"void delegate(uint pos)" %progress_arg, 1 ; <void (i8*, i32)*> [#uses=2]
+ %.newclass_gc_alloc = call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango3net6Socket9SocketSet7__ClassZ) ; <i8*> [#uses=8]
+ %.newclass_gc = bitcast i8* %.newclass_gc_alloc to %tango.net.Socket.SocketSet* ; <%tango.net.Socket.SocketSet*> [#uses=3]
+ %vtbl = bitcast i8* %.newclass_gc_alloc to %tango.net.Socket.SocketSet.__vtbl** ; <%tango.net.Socket.SocketSet.__vtbl**> [#uses=3]
+ store %tango.net.Socket.SocketSet.__vtbl* @_D5tango3net6Socket9SocketSet6__vtblZ, %tango.net.Socket.SocketSet.__vtbl** %vtbl
+ %monitor = getelementptr i8* %.newclass_gc_alloc, i32 4 ; <i8*> [#uses=1]
+ %0 = bitcast i8* %monitor to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %0
+ %tmp = getelementptr i8* %.newclass_gc_alloc, i32 8 ; <i8*> [#uses=2]
+ call void @llvm.memcpy.i32(i8* %tmp, i8* bitcast (i32* getelementptr (%tango.net.Socket.SocketSet* bitcast (%24* @_D5tango3net6Socket9SocketSet6__initZ to %tango.net.Socket.SocketSet*), i32 0, i32 2) to i8*), i32 16, i32 1)
+ %1 = bitcast i8* %tmp to i32* ; <i32*> [#uses=2]
+ store i32 128, i32* %1
+ %tmp9.i.i = getelementptr i8* %.newclass_gc_alloc, i32 12 ; <i8*> [#uses=1]
+ %2 = bitcast i8* %tmp9.i.i to i8** ; <i8**> [#uses=1]
+ %.gc_mem.i.i = call noalias i8* @_d_newarrayT(%object.TypeInfo* @_D11TypeInfo_Ag6__initZ, i32 128) ; <i8*> [#uses=1]
+ store i8* %.gc_mem.i.i, i8** %2
+ %tmp14.i.i = getelementptr i8* %.newclass_gc_alloc, i32 16 ; <i8*> [#uses=1]
+ %3 = bitcast i8* %tmp14.i.i to i32* ; <i32*> [#uses=1]
+ %tmp17.i.i = load i32* %1 ; <i32> [#uses=1]
+ %tmp18.i.i = shl i32 %tmp17.i.i, 3 ; <i32> [#uses=1]
+ store i32 %tmp18.i.i, i32* %3
+ invoke fastcc void @_D5tango4time5Clock5Clock3nowFZS5tango4time4Time4Time(%tango.time.Time.Time* noalias nocapture sret %.rettmp)
+ to label %postinvoke unwind label %landingpad
+
+postinvoke: ; preds = %entry
+ %tmp8 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 0 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl**> [#uses=3]
+ %tmp9 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp8 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
+ %"this.timeout@vtbl" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp9, i32 0, i32 10 ; <void (%tango.time.Time.Time*, %tango.net.ftp.FtpClient.FTPConnection*)**> [#uses=1]
+ %this.timeout = load void (%tango.time.Time.Time*, %tango.net.ftp.FtpClient.FTPConnection*)** %"this.timeout@vtbl", align 4 ; <void (%tango.time.Time.Time*, %tango.net.ftp.FtpClient.FTPConnection*)*> [#uses=1]
+ invoke fastcc void %this.timeout(%tango.time.Time.Time* noalias nocapture sret %.rettmp11, %tango.net.ftp.FtpClient.FTPConnection* %.this_arg)
+ to label %postinvoke12 unwind label %landingpad
+
+postinvoke12: ; preds = %postinvoke
+ %.rettmp11.0 = getelementptr %tango.time.Time.Time* %.rettmp11, i32 0, i32 0 ; <i64*> [#uses=1]
+ %tmp196 = load i64* %.rettmp11.0, align 8 ; <i64> [#uses=1]
+ %tmp1.i175 = getelementptr %tango.time.Time.Time* %.rettmp, i32 0, i32 0 ; <i64*> [#uses=1]
+ %tmp3.i177 = load i64* %tmp1.i175, align 8 ; <i64> [#uses=1]
+ %tmp5.i179 = add i64 %tmp3.i177, %tmp196 ; <i64> [#uses=1]
+ %tmp16 = getelementptr [8192 x i8]* %buf, i32 0, i32 0 ; <i8*> [#uses=2]
+ call void @llvm.memset.i32(i8* %tmp16, i8 0, i32 8192, i32 1)
+ br label %whilecond
+
+whilecond: ; preds = %postinvoke133, %endif112, %postinvoke12
+ %end_time.0.0 = phi i64 [ %tmp5.i179, %postinvoke12 ], [ %end_time.0.0, %endif112 ], [ %tmp5.i171, %postinvoke133 ] ; <i64> [#uses=2]
+ %buf_pos.1 = phi i32 [ 0, %postinvoke12 ], [ %tmp102, %postinvoke133 ], [ %tmp102, %endif112 ] ; <i32> [#uses=2]
+ %buf_size.1 = phi i32 [ 0, %postinvoke12 ], [ %buf_size.0, %postinvoke133 ], [ %buf_size.0, %endif112 ] ; <i32> [#uses=2]
+ %pos.0 = phi i32 [ 0, %postinvoke12 ], [ %tmp105, %postinvoke133 ], [ %tmp105, %endif112 ] ; <i32> [#uses=1]
+ %completed.2 = phi i1 [ false, %postinvoke12 ], [ %completed.1, %postinvoke133 ], [ %completed.1, %endif112 ] ; <i1> [#uses=7]
+ br i1 %completed.2, label %endwhile, label %andand
+
+whilebody: ; preds = %postinvoke19
+ %tmp25 = load %tango.net.Socket.SocketSet.__vtbl** %vtbl ; <%tango.net.Socket.SocketSet.__vtbl*> [#uses=1]
+ %"set.reset@vtbl" = getelementptr %tango.net.Socket.SocketSet.__vtbl* %tmp25, i32 0, i32 10 ; <void (%tango.net.Socket.SocketSet*)**> [#uses=1]
+ %set.reset = load void (%tango.net.Socket.SocketSet*)** %"set.reset@vtbl", align 4 ; <void (%tango.net.Socket.SocketSet*)*> [#uses=1]
+ invoke fastcc void %set.reset(%tango.net.Socket.SocketSet* %.newclass_gc)
+ to label %postinvoke27 unwind label %landingpad
+
+andand: ; preds = %whilecond
+ invoke fastcc void @_D5tango4time5Clock5Clock3nowFZS5tango4time4Time4Time(%tango.time.Time.Time* noalias nocapture sret %.rettmp18)
+ to label %postinvoke19 unwind label %landingpad
+
+postinvoke19: ; preds = %andand
+ %tmp1.i181 = getelementptr %tango.time.Time.Time* %.rettmp18, i32 0, i32 0 ; <i64*> [#uses=1]
+ %tmp3.i183 = load i64* %tmp1.i181, align 8 ; <i64> [#uses=1]
+ %tmp5.i185 = icmp slt i64 %tmp3.i183, %end_time.0.0 ; <i1> [#uses=1]
+ br i1 %tmp5.i185, label %whilebody, label %endwhile
+
+postinvoke27: ; preds = %whilebody
+ %tmp30 = load %tango.net.Socket.SocketSet.__vtbl** %vtbl ; <%tango.net.Socket.SocketSet.__vtbl*> [#uses=1]
+ %"set.add@vtbl" = getelementptr %tango.net.Socket.SocketSet.__vtbl* %tmp30, i32 0, i32 12 ; <void (%tango.net.Socket.SocketSet*, %tango.net.Socket.Socket*)**> [#uses=1]
+ %set.add = load void (%tango.net.Socket.SocketSet*, %tango.net.Socket.Socket*)** %"set.add@vtbl", align 4 ; <void (%tango.net.Socket.SocketSet*, %tango.net.Socket.Socket*)*> [#uses=1]
+ %tmp33 = getelementptr %tango.net.SocketConduit.SocketConduit* %data_arg, i32 0, i32 0 ; <%tango.net.SocketConduit.SocketConduit.__vtbl**> [#uses=2]
+ %tmp34 = load %tango.net.SocketConduit.SocketConduit.__vtbl** %tmp33 ; <%tango.net.SocketConduit.SocketConduit.__vtbl*> [#uses=1]
+ %"data.socket@vtbl" = getelementptr %tango.net.SocketConduit.SocketConduit.__vtbl* %tmp34, i32 0, i32 14 ; <%tango.net.Socket.Socket* (%tango.net.SocketConduit.SocketConduit*)**> [#uses=1]
+ %data.socket = load %tango.net.Socket.Socket* (%tango.net.SocketConduit.SocketConduit*)** %"data.socket@vtbl", align 4 ; <%tango.net.Socket.Socket* (%tango.net.SocketConduit.SocketConduit*)*> [#uses=1]
+ %tmp37 = invoke fastcc %tango.net.Socket.Socket* %data.socket(%tango.net.SocketConduit.SocketConduit* %data_arg)
+ to label %postinvoke36 unwind label %landingpad ; <%tango.net.Socket.Socket*> [#uses=1]
+
+postinvoke36: ; preds = %postinvoke27
+ invoke fastcc void %set.add(%tango.net.Socket.SocketSet* %.newclass_gc, %tango.net.Socket.Socket* %tmp37)
+ to label %postinvoke38 unwind label %landingpad
+
+postinvoke38: ; preds = %postinvoke36
+ %tmp42 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp8 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
+ %"this.timeout@vtbl43" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp42, i32 0, i32 10 ; <void (%tango.time.Time.Time*, %tango.net.ftp.FtpClient.FTPConnection*)**> [#uses=1]
+ %this.timeout45 = load void (%tango.time.Time.Time*, %tango.net.ftp.FtpClient.FTPConnection*)** %"this.timeout@vtbl43", align 4 ; <void (%tango.time.Time.Time*, %tango.net.ftp.FtpClient.FTPConnection*)*> [#uses=1]
+ invoke fastcc void %this.timeout45(%tango.time.Time.Time* noalias nocapture sret %.rettmp46, %tango.net.ftp.FtpClient.FTPConnection* %.this_arg)
+ to label %postinvoke47 unwind label %landingpad
+
+postinvoke47: ; preds = %postinvoke38
+ %.rettmp46.0 = getelementptr %tango.time.Time.Time* %.rettmp46, i32 0, i32 0 ; <i64*> [#uses=1]
+ %tmp198 = load i64* %.rettmp46.0, align 8 ; <i64> [#uses=2]
+ %tmp3.i.i.i = sdiv i64 %tmp198, 10000000 ; <i64> [#uses=1]
+ %tmp3.i14.i.i = sdiv i64 %tmp198, 10 ; <i64> [#uses=1]
+ %tmp6.i.i = trunc i64 %tmp3.i14.i.i to i32 ; <i32> [#uses=1]
+ %tmp7.i.i = urem i32 %tmp6.i.i, 1000000 ; <i32> [#uses=1]
+ %tmp7.i = bitcast %tango.net.Socket.timeval* %tv.i to i64* ; <i64*> [#uses=1]
+ %4 = shl i64 %tmp3.i.i.i, 32 ; <i64> [#uses=1]
+ %5 = zext i32 %tmp7.i.i to i64 ; <i64> [#uses=1]
+ %6 = or i64 %5, %4 ; <i64> [#uses=1]
+ store i64 %6, i64* %tmp7.i, align 8
+ %tmp5.i189190 = invoke fastcc i32 @_D5tango3net6Socket6Socket6selectFC5tango3net6Socket9SocketSetC5tango3net6Socket9SocketSetC5tango3net6Socket9SocketSetPS5tango3net6Socket7timevalZi(%tango.net.Socket.SocketSet* null, %tango.net.Socket.SocketSet* %.newclass_gc, %tango.net.Socket.SocketSet* null, %tango.net.Socket.timeval* %tv.i)
+ to label %_D5tango3net6Socket6Socket6selectFC5tango3net6Socket9SocketSetC5tango3net6Socket9SocketSetC5tango3net6Socket9SocketSetS5tango4time4Time8TimeSpanZi.exit unwind label %landingpad ; <i32> [#uses=1]
+
+_D5tango3net6Socket6Socket6selectFC5tango3net6Socket9SocketSetC5tango3net6Socket9SocketSetC5tango3net6Socket9SocketSetS5tango4time4Time8TimeSpanZi.exit: ; preds = %postinvoke47
+ switch i32 %tmp5.i189190, label %endif [
+ i32 -1, label %endwhile
+ i32 0, label %endwhile
+ ]
+
+endif: ; preds = %_D5tango3net6Socket6Socket6selectFC5tango3net6Socket9SocketSetC5tango3net6Socket9SocketSetC5tango3net6Socket9SocketSetS5tango4time4Time8TimeSpanZi.exit
+ %tmp57 = icmp eq i32 %buf_size.1, %buf_pos.1 ; <i1> [#uses=1]
+ br i1 %tmp57, label %if58, label %endif59
+
+if58: ; preds = %endif
+ %tmp61 = bitcast %tango.io.model.IConduit.InputStream* %stream_arg to i8* ; <i8*> [#uses=1]
+ %tmp62 = call %object.Object* @_d_toObject(i8* %tmp61) nounwind readonly ; <%object.Object*> [#uses=1]
+ %tmp64 = getelementptr %tango.io.model.IConduit.InputStream* %stream_arg, i32 0, i32 0 ; <%tango.io.model.IConduit.InputStream.__vtbl**> [#uses=1]
+ %tmp65 = load %tango.io.model.IConduit.InputStream.__vtbl** %tmp64 ; <%tango.io.model.IConduit.InputStream.__vtbl*> [#uses=1]
+ %"stream.read@vtbl" = getelementptr %tango.io.model.IConduit.InputStream.__vtbl* %tmp65, i32 0, i32 5 ; <i32 (%tango.io.model.IConduit.InputStream*, %"byte[]")**> [#uses=1]
+ %stream.read = load i32 (%tango.io.model.IConduit.InputStream*, %"byte[]")** %"stream.read@vtbl", align 4 ; <i32 (%tango.io.model.IConduit.InputStream*, %"byte[]")*> [#uses=1]
+ %tmp67 = bitcast %object.Object* %tmp62 to %tango.io.model.IConduit.InputStream* ; <%tango.io.model.IConduit.InputStream*> [#uses=1]
+ %tmp69 = insertvalue %"byte[]" { i32 8192, i8* undef }, i8* %tmp16, 1 ; <%"byte[]"> [#uses=1]
+ %tmp71 = invoke fastcc i32 %stream.read(%tango.io.model.IConduit.InputStream* %tmp67, %"byte[]" %tmp69)
+ to label %postinvoke70 unwind label %landingpad ; <i32> [#uses=2]
+
+postinvoke70: ; preds = %if58
+ %tmp72 = icmp eq i32 %tmp71, -1 ; <i1> [#uses=2]
+ %buf_size.2 = select i1 %tmp72, i32 0, i32 %tmp71 ; <i32> [#uses=1]
+ %completed.0 = or i1 %tmp72, %completed.2 ; <i1> [#uses=1]
+ br label %endif59
+
+endif59: ; preds = %postinvoke70, %endif
+ %buf_pos.0 = phi i32 [ 0, %postinvoke70 ], [ %buf_pos.1, %endif ] ; <i32> [#uses=3]
+ %buf_size.0 = phi i32 [ %buf_size.2, %postinvoke70 ], [ %buf_size.1, %endif ] ; <i32> [#uses=3]
+ %completed.1 = phi i1 [ %completed.0, %postinvoke70 ], [ %completed.2, %endif ] ; <i1> [#uses=3]
+ %tmp77 = load %tango.net.SocketConduit.SocketConduit.__vtbl** %tmp33 ; <%tango.net.SocketConduit.SocketConduit.__vtbl*> [#uses=1]
+ %"data.socket@vtbl78" = getelementptr %tango.net.SocketConduit.SocketConduit.__vtbl* %tmp77, i32 0, i32 14 ; <%tango.net.Socket.Socket* (%tango.net.SocketConduit.SocketConduit*)**> [#uses=1]
+ %data.socket80 = load %tango.net.Socket.Socket* (%tango.net.SocketConduit.SocketConduit*)** %"data.socket@vtbl78", align 4 ; <%tango.net.Socket.Socket* (%tango.net.SocketConduit.SocketConduit*)*> [#uses=1]
+ %tmp82 = invoke fastcc %tango.net.Socket.Socket* %data.socket80(%tango.net.SocketConduit.SocketConduit* %data_arg)
+ to label %postinvoke81 unwind label %landingpad ; <%tango.net.Socket.Socket*> [#uses=2]
+
+postinvoke81: ; preds = %endif59
+ %tmp83 = getelementptr %tango.net.Socket.Socket* %tmp82, i32 0, i32 0 ; <%tango.net.Socket.Socket.__vtbl**> [#uses=1]
+ %tmp84 = load %tango.net.Socket.Socket.__vtbl** %tmp83 ; <%tango.net.Socket.Socket.__vtbl*> [#uses=1]
+ %"data.socket().send@vtbl" = getelementptr %tango.net.Socket.Socket.__vtbl* %tmp84, i32 0, i32 25 ; <i32 (%tango.net.Socket.Socket*, %"byte[]", i32)**> [#uses=1]
+ %"data.socket().send" = load i32 (%tango.net.Socket.Socket*, %"byte[]", i32)** %"data.socket().send@vtbl", align 4 ; <i32 (%tango.net.Socket.Socket*, %"byte[]", i32)*> [#uses=1]
+ %tmp89 = getelementptr [8192 x i8]* %buf, i32 0, i32 %buf_pos.0 ; <i8*> [#uses=1]
+ %tmp90 = sub i32 %buf_size.0, %buf_pos.0 ; <i32> [#uses=1]
+ %tmp91 = insertvalue %"byte[]" undef, i32 %tmp90, 0 ; <%"byte[]"> [#uses=1]
+ %tmp92 = insertvalue %"byte[]" %tmp91, i8* %tmp89, 1 ; <%"byte[]"> [#uses=1]
+ %tmp94 = invoke fastcc i32 %"data.socket().send"(%tango.net.Socket.Socket* %tmp82, %"byte[]" %tmp92, i32 0)
+ to label %postinvoke93 unwind label %landingpad ; <i32> [#uses=4]
+
+postinvoke93: ; preds = %postinvoke81
+ %tmp96 = icmp eq i32 %tmp94, -1 ; <i1> [#uses=1]
+ br i1 %tmp96, label %endwhile, label %endif98
+
+endif98: ; preds = %postinvoke93
+ %tmp102 = add i32 %buf_pos.0, %tmp94 ; <i32> [#uses=2]
+ %tmp105 = add i32 %pos.0, %tmp94 ; <i32> [#uses=3]
+ %tmp107 = icmp eq i8* %progress_arg157, null ; <i1> [#uses=1]
+ %tmp108 = icmp eq void (i8*, i32)* %progress_arg158, null ; <i1> [#uses=1]
+ %tmp109 = and i1 %tmp107, %tmp108 ; <i1> [#uses=1]
+ br i1 %tmp109, label %endif112, label %if111
+
+if111: ; preds = %endif98
+ invoke fastcc void %progress_arg158(i8* %progress_arg157, i32 %tmp105)
+ to label %endif112 unwind label %landingpad
+
+endif112: ; preds = %if111, %endif98
+ %tmp120 = icmp eq i32 %tmp94, 0 ; <i1> [#uses=1]
+ br i1 %tmp120, label %whilecond, label %if121
+
+if121: ; preds = %endif112
+ invoke fastcc void @_D5tango4time5Clock5Clock3nowFZS5tango4time4Time4Time(%tango.time.Time.Time* noalias nocapture sret %.rettmp123)
+ to label %postinvoke124 unwind label %landingpad
+
+postinvoke124: ; preds = %if121
+ %tmp128 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp8 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
+ %"this.timeout@vtbl129" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp128, i32 0, i32 10 ; <void (%tango.time.Time.Time*, %tango.net.ftp.FtpClient.FTPConnection*)**> [#uses=1]
+ %this.timeout131 = load void (%tango.time.Time.Time*, %tango.net.ftp.FtpClient.FTPConnection*)** %"this.timeout@vtbl129", align 4 ; <void (%tango.time.Time.Time*, %tango.net.ftp.FtpClient.FTPConnection*)*> [#uses=1]
+ invoke fastcc void %this.timeout131(%tango.time.Time.Time* noalias nocapture sret %.rettmp132, %tango.net.ftp.FtpClient.FTPConnection* %.this_arg)
+ to label %postinvoke133 unwind label %landingpad
+
+postinvoke133: ; preds = %postinvoke124
+ %.rettmp132.0 = getelementptr %tango.time.Time.Time* %.rettmp132, i32 0, i32 0 ; <i64*> [#uses=1]
+ %tmp194 = load i64* %.rettmp132.0, align 8 ; <i64> [#uses=1]
+ %tmp1.i = getelementptr %tango.time.Time.Time* %.rettmp123, i32 0, i32 0 ; <i64*> [#uses=1]
+ %tmp3.i = load i64* %tmp1.i, align 8 ; <i64> [#uses=1]
+ %tmp5.i171 = add i64 %tmp3.i, %tmp194 ; <i64> [#uses=1]
+ br label %whilecond
+
+endwhile: ; preds = %postinvoke93, %_D5tango3net6Socket6Socket6selectFC5tango3net6Socket9SocketSetC5tango3net6Socket9SocketSetC5tango3net6Socket9SocketSetS5tango4time4Time8TimeSpanZi.exit, %_D5tango3net6Socket6Socket6selectFC5tango3net6Socket9SocketSetC5tango3net6Socket9SocketSetC5tango3net6Socket9SocketSetS5tango4time4Time8TimeSpanZi.exit, %postinvoke19, %whilecond
+ %completed.3 = phi i1 [ %completed.2, %_D5tango3net6Socket6Socket6selectFC5tango3net6Socket9SocketSetC5tango3net6Socket9SocketSetC5tango3net6Socket9SocketSetS5tango4time4Time8TimeSpanZi.exit ], [ %completed.1, %postinvoke93 ], [ %completed.2, %postinvoke19 ], [ %completed.2, %whilecond ], [ %completed.2, %_D5tango3net6Socket6Socket6selectFC5tango3net6Socket9SocketSetC5tango3net6Socket9SocketSetC5tango3net6Socket9SocketSetS5tango4time4Time8TimeSpanZi.exit ] ; <i1> [#uses=1]
+ br i1 %completed.3, label %finally, label %if138
+
+if138: ; preds = %endwhile
+ %.newclass_gc_alloc141 = invoke noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango3net3ftp9FtpClient12FtpException7__ClassZ)
+ to label %postinvoke140 unwind label %landingpad ; <i8*> [#uses=6]
+
+postinvoke140: ; preds = %if138
+ %vtbl143 = bitcast i8* %.newclass_gc_alloc141 to %tango.net.ftp.FtpClient.FtpException.__vtbl** ; <%tango.net.ftp.FtpClient.FtpException.__vtbl**> [#uses=1]
+ store %tango.net.ftp.FtpClient.FtpException.__vtbl* @_D5tango3net3ftp9FtpClient12FtpException6__vtblZ, %tango.net.ftp.FtpClient.FtpException.__vtbl** %vtbl143
+ %monitor144 = getelementptr i8* %.newclass_gc_alloc141, i32 4 ; <i8*> [#uses=1]
+ %7 = bitcast i8* %monitor144 to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %7
+ %tmp145 = getelementptr i8* %.newclass_gc_alloc141, i32 8 ; <i8*> [#uses=1]
+ call void @llvm.memcpy.i32(i8* %tmp145, i8* bitcast (%"byte[]"* getelementptr (%tango.net.ftp.FtpClient.FtpException* @_D5tango3net3ftp9FtpClient12FtpException6__initZ, i32 0, i32 2) to i8*), i32 31, i32 1)
+ %tmp2.i = getelementptr i8* %.newclass_gc_alloc141, i32 36 ; <i8*> [#uses=1]
+ call void @llvm.memcpy.i32(i8* %tmp2.i, i8* getelementptr ([4 x i8]* @.str164, i32 0, i32 0), i32 3, i32 1)
+ %tmp5.i = bitcast i8* %.newclass_gc_alloc141 to %object.Exception* ; <%object.Exception*> [#uses=1]
+ %tmp7.i167 = invoke fastcc %object.Exception* @_D6object9Exception5_ctorMFAaC9ExceptionZC9Exception(%object.Exception* %tmp5.i, %"byte[]" { i32 33, i8* getelementptr ([34 x i8]* @.str163, i32 0, i32 0) }, %object.Exception* null)
+ to label %_D5tango3net3ftp9FtpClient12FtpException5_ctorMFAaG3aZC5tango3net3ftp9FtpClient12FtpException.exit unwind label %landingpad ; <%object.Exception*> [#uses=0]
+
+_D5tango3net3ftp9FtpClient12FtpException5_ctorMFAaG3aZC5tango3net3ftp9FtpClient12FtpException.exit: ; preds = %postinvoke140
+ %tmp151 = bitcast i8* %.newclass_gc_alloc141 to %object.Object* ; <%object.Object*> [#uses=1]
+ invoke void @_d_throw_exception(%object.Object* %tmp151)
+ to label %postinvoke152 unwind label %landingpad
+
+postinvoke152: ; preds = %_D5tango3net3ftp9FtpClient12FtpException5_ctorMFAaG3aZC5tango3net3ftp9FtpClient12FtpException.exit
+ unreachable
+
+finally: ; preds = %endwhile
+ %.tmp154 = bitcast i8* %.newclass_gc_alloc to %object.Object* ; <%object.Object*> [#uses=1]
+ call void @_d_delclass(%object.Object* %.tmp154)
+ ret void
+
+landingpad: ; preds = %_D5tango3net3ftp9FtpClient12FtpException5_ctorMFAaG3aZC5tango3net3ftp9FtpClient12FtpException.exit, %postinvoke140, %if138, %postinvoke124, %if121, %if111, %postinvoke81, %endif59, %if58, %postinvoke47, %postinvoke38, %postinvoke36, %postinvoke27, %andand, %whilebody, %postinvoke, %entry
+ %8 = call i8* @llvm.eh.exception() ; <i8*> [#uses=2]
+ %9 = call i32 (i8*, i8*, ...)* @llvm.eh.selector.i32(i8* %8, i8* bitcast (i32 (i32, i32, i64, i8*, i8*)* @_d_eh_personality to i8*), i32 0) ; <i32> [#uses=0]
+ %.tmp = bitcast i8* %.newclass_gc_alloc to %object.Object* ; <%object.Object*> [#uses=1]
+ call void @_d_delclass(%object.Object* %.tmp)
+ call void @_d_eh_resume_unwind(i8* %8)
+ unreachable
+}
+
+define fastcc %"FtpFileInfo[]" @_D5tango3net3ftp9FtpClient13FTPConnection15sendListCommandMFAaZAS5tango3net3ftp9FtpClient11FtpFileInfo(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" %path_arg) {
+entry:
+ %.frame.i = alloca %nest.splitLines, align 8 ; <%nest.splitLines*> [#uses=5]
+ %.rettmp.i = alloca %"tango.text.Util.LineFruct!(char).LineFruct", align 8 ; <%"tango.text.Util.LineFruct!(char).LineFruct"*> [#uses=3]
+ %.rettmp8.i = alloca %"tango.text.Util.LineFruct!(char).LineFruct", align 8 ; <%"tango.text.Util.LineFruct!(char).LineFruct"*> [#uses=3]
+ %__arrayArg148 = alloca [1 x %"byte[]"], align 8 ; <[1 x %"byte[]"]*> [#uses=1]
+ %.rettmp = alloca %tango.net.ftp.FtpClient.FtpFileInfo, align 8 ; <%tango.net.ftp.FtpClient.FtpFileInfo*> [#uses=10]
+ %path_arg169 = extractvalue %"byte[]" %path_arg, 0 ; <i32> [#uses=2]
+ %tmp1 = icmp eq i32 %path_arg169, 0 ; <i1> [#uses=1]
+ %tmp3 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 0 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl**> [#uses=4]
+ %tmp4 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp3 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
+ %"this.processDataCommand@vtbl" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp4, i32 0, i32 45 ; <%tango.net.SocketConduit.SocketConduit* (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]", %"char[][]")**> [#uses=1]
+ %this.processDataCommand = load %tango.net.SocketConduit.SocketConduit* (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]", %"char[][]")** %"this.processDataCommand@vtbl", align 4 ; <%tango.net.SocketConduit.SocketConduit* (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]", %"char[][]")*> [#uses=2]
+ br i1 %tmp1, label %else, label %if
+
+if: ; preds = %entry
+ %path_arg170 = extractvalue %"byte[]" %path_arg, 1 ; <i8*> [#uses=1]
+ %tmp6 = getelementptr [1 x %"byte[]"]* %__arrayArg148, i32 0, i32 0 ; <%"byte[]"*> [#uses=2]
+ %insert166 = insertvalue %"byte[]" undef, i32 %path_arg169, 0 ; <%"byte[]"> [#uses=1]
+ %insert168 = insertvalue %"byte[]" %insert166, i8* %path_arg170, 1 ; <%"byte[]"> [#uses=1]
+ store %"byte[]" %insert168, %"byte[]"* %tmp6, align 8
+ %tmp9 = insertvalue %"char[][]" { i32 1, %"byte[]"* undef }, %"byte[]"* %tmp6, 1 ; <%"char[][]"> [#uses=1]
+ %tmp10 = call fastcc %tango.net.SocketConduit.SocketConduit* %this.processDataCommand(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" { i32 4, i8* getelementptr ([5 x i8]* @.str165, i32 0, i32 0) }, %"char[][]" %tmp9) ; <%tango.net.SocketConduit.SocketConduit*> [#uses=1]
+ br label %endif
+
+else: ; preds = %entry
+ %tmp17 = call fastcc %tango.net.SocketConduit.SocketConduit* %this.processDataCommand(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" { i32 4, i8* getelementptr ([5 x i8]* @.str166, i32 0, i32 0) }, %"char[][]" zeroinitializer) ; <%tango.net.SocketConduit.SocketConduit*> [#uses=1]
+ br label %endif
+
+endif: ; preds = %else, %if
+ %data.0 = phi %tango.net.SocketConduit.SocketConduit* [ %tmp10, %if ], [ %tmp17, %else ] ; <%tango.net.SocketConduit.SocketConduit*> [#uses=2]
+ %.newclass_gc_alloc = call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango2io6device5Array5Array7__ClassZ) ; <i8*> [#uses=9]
+ %.newclass_gc = bitcast i8* %.newclass_gc_alloc to %tango.io.device.Array.Array* ; <%tango.io.device.Array.Array*> [#uses=1]
+ %vtbl = bitcast i8* %.newclass_gc_alloc to %tango.io.device.Array.Array.__vtbl** ; <%tango.io.device.Array.Array.__vtbl**> [#uses=2]
+ store %tango.io.device.Array.Array.__vtbl* @_D5tango2io6device5Array5Array6__vtblZ, %tango.io.device.Array.Array.__vtbl** %vtbl
+ %monitor = getelementptr i8* %.newclass_gc_alloc, i32 4 ; <i8*> [#uses=1]
+ %0 = bitcast i8* %monitor to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %0
+ %tmp18 = getelementptr i8* %.newclass_gc_alloc, i32 8 ; <i8*> [#uses=1]
+ call void @llvm.memcpy.i32(i8* %tmp18, i8* bitcast (%4** getelementptr (%tango.io.device.Array.Array* bitcast (%26* @_D5tango2io6device5Array5Array6__initZ to %tango.io.device.Array.Array*), i32 0, i32 2) to i8*), i32 44, i32 1)
+ %tmp2.i = load %tango.io.device.Array.Array.__vtbl** %vtbl ; <%tango.io.device.Array.Array.__vtbl*> [#uses=1]
+ %"this.assign@vtbl.i" = getelementptr %tango.io.device.Array.Array.__vtbl* %tmp2.i, i32 0, i32 15 ; <%tango.io.device.Array.Array* (%tango.io.device.Array.Array*, %"byte[]", i32)**> [#uses=1]
+ %this.assign.i = load %tango.io.device.Array.Array* (%tango.io.device.Array.Array*, %"byte[]", i32)** %"this.assign@vtbl.i", align 4 ; <%tango.io.device.Array.Array* (%tango.io.device.Array.Array*, %"byte[]", i32)*> [#uses=1]
+ %.gc_mem.i = call noalias i8* @_d_newarrayT(%object.TypeInfo* @_D11TypeInfo_Ah6__initZ, i32 256) ; <i8*> [#uses=1]
+ %tmp5.i = insertvalue %"byte[]" undef, i32 256, 0 ; <%"byte[]"> [#uses=1]
+ %tmp6.i = insertvalue %"byte[]" %tmp5.i, i8* %.gc_mem.i, 1 ; <%"byte[]"> [#uses=1]
+ %tmp7.i = call fastcc %tango.io.device.Array.Array* %this.assign.i(%tango.io.device.Array.Array* %.newclass_gc, %"byte[]" %tmp6.i, i32 0) ; <%tango.io.device.Array.Array*> [#uses=0]
+ %tmp9.i = getelementptr i8* %.newclass_gc_alloc, i32 36 ; <i8*> [#uses=1]
+ %1 = bitcast i8* %tmp9.i to i32* ; <i32*> [#uses=1]
+ store i32 65536, i32* %1
+ %tmp25 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp3 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
+ %"this.readStream@vtbl" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp25, i32 0, i32 47 ; <void (%tango.net.ftp.FtpClient.FTPConnection*, %tango.net.SocketConduit.SocketConduit*, %tango.io.model.IConduit.OutputStream*, %"void delegate(uint pos)")**> [#uses=1]
+ %this.readStream = load void (%tango.net.ftp.FtpClient.FTPConnection*, %tango.net.SocketConduit.SocketConduit*, %tango.io.model.IConduit.OutputStream*, %"void delegate(uint pos)")** %"this.readStream@vtbl", align 4 ; <void (%tango.net.ftp.FtpClient.FTPConnection*, %tango.net.SocketConduit.SocketConduit*, %tango.io.model.IConduit.OutputStream*, %"void delegate(uint pos)")*> [#uses=1]
+ %tmp29 = getelementptr i8* %.newclass_gc_alloc, i32 12 ; <i8*> [#uses=1]
+ %tmp30 = bitcast i8* %tmp29 to %tango.io.model.IConduit.OutputStream* ; <%tango.io.model.IConduit.OutputStream*> [#uses=1]
+ call fastcc void %this.readStream(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %tango.net.SocketConduit.SocketConduit* %data.0, %tango.io.model.IConduit.OutputStream* %tmp30, %"void delegate(uint pos)" zeroinitializer)
+ %tmp33 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp3 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
+ %"this.finishDataCommand@vtbl" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp33, i32 0, i32 44 ; <void (%tango.net.ftp.FtpClient.FTPConnection*, %tango.net.SocketConduit.SocketConduit*)**> [#uses=1]
+ %this.finishDataCommand = load void (%tango.net.ftp.FtpClient.FTPConnection*, %tango.net.SocketConduit.SocketConduit*)** %"this.finishDataCommand@vtbl", align 4 ; <void (%tango.net.ftp.FtpClient.FTPConnection*, %tango.net.SocketConduit.SocketConduit*)*> [#uses=1]
+ call fastcc void %this.finishDataCommand(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %tango.net.SocketConduit.SocketConduit* %data.0)
+ %tmp2.i171 = getelementptr i8* %.newclass_gc_alloc, i32 20 ; <i8*> [#uses=1]
+ %2 = bitcast i8* %tmp2.i171 to i8** ; <i8**> [#uses=1]
+ %.ptr.i = load i8** %2 ; <i8*> [#uses=1]
+ %tmp4.i = getelementptr i8* %.newclass_gc_alloc, i32 24 ; <i8*> [#uses=1]
+ %3 = bitcast i8* %tmp4.i to i32* ; <i32*> [#uses=1]
+ %tmp6.i172 = getelementptr i8* %.newclass_gc_alloc, i32 28 ; <i8*> [#uses=1]
+ %4 = bitcast i8* %tmp6.i172 to i32* ; <i32*> [#uses=1]
+ %tmp7.i173 = load i32* %3 ; <i32> [#uses=2]
+ %tmp8.i = load i32* %4 ; <i32> [#uses=1]
+ %tmp9.i174 = getelementptr i8* %.ptr.i, i32 %tmp7.i173 ; <i8*> [#uses=2]
+ %tmp10.i = sub i32 %tmp8.i, %tmp7.i173 ; <i32> [#uses=2]
+ %count.i = getelementptr %nest.splitLines* %.frame.i, i32 0, i32 0 ; <i32*> [#uses=3]
+ %result.i = getelementptr %nest.splitLines* %.frame.i, i32 0, i32 1 ; <%"char[][]"*> [#uses=1]
+ store i32 0, i32* %count.i, align 8
+ %5 = getelementptr %"tango.text.Util.LineFruct!(char).LineFruct"* %.rettmp.i, i32 0, i32 0, i32 0 ; <i32*> [#uses=1]
+ store i32 %tmp10.i, i32* %5, align 8
+ %.sret_arg10.1.i.i = getelementptr %"tango.text.Util.LineFruct!(char).LineFruct"* %.rettmp.i, i32 0, i32 0, i32 1 ; <i8**> [#uses=1]
+ store i8* %tmp9.i174, i8** %.sret_arg10.1.i.i, align 4
+ %tmp1.i186 = bitcast %nest.splitLines* %.frame.i to i8* ; <i8*> [#uses=2]
+ %tmp2.i187 = insertvalue %"int delegate(ref char[])" undef, i8* %tmp1.i186, 0 ; <%"int delegate(ref char[])"> [#uses=1]
+ %.func.i = insertvalue %"int delegate(ref char[])" %tmp2.i187, i32 (i8*, %"byte[]"*)* @_D5tango4text4Util18__T10splitLinesTaZ10splitLinesFAaZAAa15__foreachbody41MFKAaZi, 1 ; <%"int delegate(ref char[])"> [#uses=1]
+ %tmp3.i = call fastcc i32 @_D5tango4text4Util16__T9LineFructTaZ9LineFruct7opApplyMFDFKAaZiZi(%"tango.text.Util.LineFruct!(char).LineFruct"* %.rettmp.i, %"int delegate(ref char[])" %.func.i) ; <i32> [#uses=0]
+ %tmp4.i188 = load i32* %count.i, align 8 ; <i32> [#uses=2]
+ %.gc_mem.i189 = call noalias i8* @_d_newarrayT(%object.TypeInfo* bitcast (%object.TypeInfo_Array* @_D12TypeInfo_AAa6__initZ to %object.TypeInfo*), i32 %tmp4.i188) ; <i8*> [#uses=1]
+ %.gc_mem5.i = bitcast i8* %.gc_mem.i189 to %"byte[]"* ; <%"byte[]"*> [#uses=1]
+ %tmp6.i190 = getelementptr %nest.splitLines* %.frame.i, i32 0, i32 1, i32 0 ; <i32*> [#uses=1]
+ store i32 %tmp4.i188, i32* %tmp6.i190
+ %tmp7.i191 = getelementptr %nest.splitLines* %.frame.i, i32 0, i32 1, i32 1 ; <%"byte[]"**> [#uses=1]
+ store %"byte[]"* %.gc_mem5.i, %"byte[]"** %tmp7.i191
+ store i32 0, i32* %count.i, align 8
+ %6 = getelementptr %"tango.text.Util.LineFruct!(char).LineFruct"* %.rettmp8.i, i32 0, i32 0, i32 0 ; <i32*> [#uses=1]
+ store i32 %tmp10.i, i32* %6, align 8
+ %.sret_arg10.1.i17.i = getelementptr %"tango.text.Util.LineFruct!(char).LineFruct"* %.rettmp8.i, i32 0, i32 0, i32 1 ; <i8**> [#uses=1]
+ store i8* %tmp9.i174, i8** %.sret_arg10.1.i17.i, align 4
+ %tmp11.i192 = insertvalue %"int delegate(ref char[])" undef, i8* %tmp1.i186, 0 ; <%"int delegate(ref char[])"> [#uses=1]
+ %.func12.i = insertvalue %"int delegate(ref char[])" %tmp11.i192, i32 (i8*, %"byte[]"*)* @_D5tango4text4Util18__T10splitLinesTaZ10splitLinesFAaZAAa15__foreachbody42MFKAaZi, 1 ; <%"int delegate(ref char[])"> [#uses=1]
+ %tmp13.i = call fastcc i32 @_D5tango4text4Util16__T9LineFructTaZ9LineFruct7opApplyMFDFKAaZiZi(%"tango.text.Util.LineFruct!(char).LineFruct"* %.rettmp8.i, %"int delegate(ref char[])" %.func12.i) ; <i32> [#uses=0]
+ %tmp14.i = load %"char[][]"* %result.i ; <%"char[][]"> [#uses=2]
+ %tmp41159 = extractvalue %"char[][]" %tmp14.i, 0 ; <i32> [#uses=3]
+ %tmp41160 = extractvalue %"char[][]" %tmp14.i, 1 ; <%"byte[]"*> [#uses=3]
+ br label %foreachcond
+
+foreachcond: ; preds = %foreachnext, %endif
+ %dir.1.1 = phi %tango.net.ftp.FtpClient.FtpFileInfo* [ null, %endif ], [ %dir.1.0, %foreachnext ] ; <%tango.net.ftp.FtpClient.FtpFileInfo*> [#uses=5]
+ %dir.0.1 = phi i32 [ 0, %endif ], [ %dir.0.0, %foreachnext ] ; <i32> [#uses=15]
+ %foreachkey.0 = phi i32 [ 0, %endif ], [ %tmp99, %foreachnext ] ; <i32> [#uses=3]
+ %tmp51 = icmp ult i32 %foreachkey.0, %tmp41159 ; <i1> [#uses=1]
+ br i1 %tmp51, label %foreachbody, label %foreachend
+
+foreachbody: ; preds = %foreachcond
+ %tmp53 = getelementptr %"byte[]"* %tmp41160, i32 %foreachkey.0 ; <%"byte[]"*> [#uses=1]
+ %tmp54 = load %"byte[]"* %tmp53 ; <%"byte[]"> [#uses=2]
+ %tmp54157 = extractvalue %"byte[]" %tmp54, 0 ; <i32> [#uses=7]
+ %tmp54158 = extractvalue %"byte[]" %tmp54, 1 ; <i8*> [#uses=4]
+ %tmp57 = icmp eq i32 %tmp54157, 0 ; <i1> [#uses=1]
+ br i1 %tmp57, label %foreachnext, label %endif59
+
+endif59: ; preds = %foreachbody
+ %tmp2.i.i = getelementptr i8* %tmp54158, i32 -1 ; <i8*> [#uses=1]
+ br label %forcond.i.i
+
+forcond.i.i: ; preds = %forbody.i.i, %endif59
+ %len.0.i.i = phi i32 [ %tmp54157, %endif59 ], [ %tmp4.i.i, %forbody.i.i ] ; <i32> [#uses=2]
+ %p.0.i.i = phi i8* [ %tmp2.i.i, %endif59 ], [ %tmp7.i.i, %forbody.i.i ] ; <i8*> [#uses=1]
+ %tmp4.i.i = add i32 %len.0.i.i, -1 ; <i32> [#uses=1]
+ %tmp5.i.i = icmp eq i32 %len.0.i.i, 0 ; <i1> [#uses=1]
+ br i1 %tmp5.i.i, label %_D5tango4text4Util13__T6locateTaZ6locateFAaakZk.exit, label %forbody.i.i
+
+forbody.i.i: ; preds = %forcond.i.i
+ %tmp7.i.i = getelementptr i8* %p.0.i.i, i32 1 ; <i8*> [#uses=3]
+ %tmp8.i.i = load i8* %tmp7.i.i ; <i8> [#uses=1]
+ %tmp12.i.i = icmp eq i8 %tmp8.i.i, 32 ; <i1> [#uses=1]
+ br i1 %tmp12.i.i, label %if.i.i, label %forcond.i.i
+
+if.i.i: ; preds = %forbody.i.i
+ %tmp15.i.i = ptrtoint i8* %tmp7.i.i to i32 ; <i32> [#uses=1]
+ %tmp16.i.i = ptrtoint i8* %tmp54158 to i32 ; <i32> [#uses=1]
+ %tmp17.i.i = sub i32 %tmp15.i.i, %tmp16.i.i ; <i32> [#uses=1]
+ br label %_D5tango4text4Util13__T6locateTaZ6locateFAaakZk.exit
+
+_D5tango4text4Util13__T6locateTaZ6locateFAaakZk.exit: ; preds = %if.i.i, %forcond.i.i
+ %tmp1318.i = phi i32 [ %tmp17.i.i, %if.i.i ], [ %tmp54157, %forcond.i.i ] ; <i32> [#uses=1]
+ %tmp2.i175 = icmp eq i32 %tmp54157, -1 ; <i1> [#uses=1]
+ br i1 %tmp2.i175, label %whilecond.i, label %if.i
+
+if.i: ; preds = %_D5tango4text4Util13__T6locateTaZ6locateFAaakZk.exit
+ br label %whilecond.i
+
+whilecond.i: ; preds = %whilebody.i, %if.i, %_D5tango4text4Util13__T6locateTaZ6locateFAaakZk.exit
+ %start.0.i = phi i32 [ %tmp54157, %if.i ], [ %tmp8.i177, %whilebody.i ], [ -1, %_D5tango4text4Util13__T6locateTaZ6locateFAaakZk.exit ] ; <i32> [#uses=2]
+ %tmp6.i176 = icmp eq i32 %start.0.i, 0 ; <i1> [#uses=1]
+ br i1 %tmp6.i176, label %_D5tango4text4Util19__T11locatePriorTaZ11locatePriorFAaakZk.exit, label %whilebody.i
+
+whilebody.i: ; preds = %whilecond.i
+ %tmp8.i177 = add i32 %start.0.i, -1 ; <i32> [#uses=3]
+ %tmp10.i178 = getelementptr i8* %tmp54158, i32 %tmp8.i177 ; <i8*> [#uses=1]
+ %tmp11.i179 = load i8* %tmp10.i178 ; <i8> [#uses=1]
+ %tmp15.i = icmp eq i8 %tmp11.i179, 32 ; <i1> [#uses=1]
+ br i1 %tmp15.i, label %_D5tango4text4Util19__T11locatePriorTaZ11locatePriorFAaakZk.exit, label %whilecond.i
+
+_D5tango4text4Util19__T11locatePriorTaZ11locatePriorFAaakZk.exit: ; preds = %whilebody.i, %whilecond.i
+ %tmp64180 = phi i32 [ %tmp8.i177, %whilebody.i ], [ %tmp54157, %whilecond.i ] ; <i32> [#uses=1]
+ %tmp65 = icmp eq i32 %tmp1318.i, %tmp64180 ; <i1> [#uses=1]
+ br i1 %tmp65, label %foreachnext, label %endif67
+
+endif67: ; preds = %_D5tango4text4Util19__T11locatePriorTaZ11locatePriorFAaakZk.exit
+ %tmp71 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp3 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
+ %"this.parseListLine@vtbl" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp71, i32 0, i32 50 ; <void (%tango.net.ftp.FtpClient.FtpFileInfo*, %tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")**> [#uses=1]
+ %this.parseListLine = load void (%tango.net.ftp.FtpClient.FtpFileInfo*, %tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")** %"this.parseListLine@vtbl", align 4 ; <void (%tango.net.ftp.FtpClient.FtpFileInfo*, %tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")*> [#uses=1]
+ %insert = insertvalue %"byte[]" undef, i32 %tmp54157, 0 ; <%"byte[]"> [#uses=1]
+ %insert148 = insertvalue %"byte[]" %insert, i8* %tmp54158, 1 ; <%"byte[]"> [#uses=1]
+ invoke fastcc void %this.parseListLine(%tango.net.ftp.FtpClient.FtpFileInfo* noalias nocapture sret %.rettmp, %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" %insert148)
+ to label %postinvoke74 unwind label %landingpad
+
+postinvoke74: ; preds = %endif67
+ %.rettmp141.0 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %.rettmp, i32 0, i32 0, i32 0 ; <i32*> [#uses=1]
+ %tmp142 = load i32* %.rettmp141.0, align 8 ; <i32> [#uses=2]
+ %.rettmp141.1 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %.rettmp, i32 0, i32 0, i32 1 ; <i8**> [#uses=1]
+ %tmp143 = load i8** %.rettmp141.1, align 4 ; <i8*> [#uses=1]
+ %.rettmp.1 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %.rettmp, i32 0, i32 1 ; <i32*> [#uses=1]
+ %tmp124 = load i32* %.rettmp.1, align 8 ; <i32> [#uses=1]
+ %.rettmp.2 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %.rettmp, i32 0, i32 2 ; <i64*> [#uses=1]
+ %tmp125 = load i64* %.rettmp.2, align 4 ; <i64> [#uses=1]
+ %.rettmp.3.0 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %.rettmp, i32 0, i32 3, i32 0 ; <i64*> [#uses=1]
+ %tmp139 = load i64* %.rettmp.3.0, align 4 ; <i64> [#uses=1]
+ %.rettmp.4.0 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %.rettmp, i32 0, i32 4, i32 0 ; <i64*> [#uses=1]
+ %tmp137 = load i64* %.rettmp.4.0, align 4 ; <i64> [#uses=1]
+ %.rettmp.5.0 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %.rettmp, i32 0, i32 5, i32 0 ; <i32*> [#uses=1]
+ %tmp133 = load i32* %.rettmp.5.0, align 4 ; <i32> [#uses=1]
+ %.rettmp.5.1 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %.rettmp, i32 0, i32 5, i32 1 ; <i8**> [#uses=1]
+ %tmp134 = load i8** %.rettmp.5.1, align 4 ; <i8*> [#uses=1]
+ %.rettmp.6 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %.rettmp, i32 0, i32 6 ; <i8**> [#uses=1]
+ %tmp132 = load i8** %.rettmp.6, align 4 ; <i8*> [#uses=1]
+ %tmp80 = icmp eq i32 %tmp142, 0 ; <i1> [#uses=1]
+ br i1 %tmp80, label %foreachnext, label %if81
+
+if81: ; preds = %postinvoke74
+ %tmp85 = add i32 %dir.0.1, 1 ; <i32> [#uses=2]
+ %tmp90 = bitcast %tango.net.ftp.FtpClient.FtpFileInfo* %dir.1.1 to i8* ; <i8*> [#uses=1]
+ %.gc_mem = invoke i8* @_d_arraysetlengthiT(%object.TypeInfo* bitcast (%object.TypeInfo_Array* @_D48TypeInfo_AS5tango3net3ftp9FtpClient11FtpFileInfo6__initZ to %object.TypeInfo*), i32 %tmp85, i32 %dir.0.1, i8* %tmp90)
+ to label %postinvoke91 unwind label %landingpad ; <i8*> [#uses=1]
+
+postinvoke91: ; preds = %if81
+ %.gc_mem92 = bitcast i8* %.gc_mem to %tango.net.ftp.FtpClient.FtpFileInfo* ; <%tango.net.ftp.FtpClient.FtpFileInfo*> [#uses=10]
+ %7 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %.gc_mem92, i32 %dir.0.1, i32 0, i32 0 ; <i32*> [#uses=1]
+ store i32 %tmp142, i32* %7
+ %tmp93144.1 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %.gc_mem92, i32 %dir.0.1, i32 0, i32 1 ; <i8**> [#uses=1]
+ store i8* %tmp143, i8** %tmp93144.1, align 4
+ %tmp93.1 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %.gc_mem92, i32 %dir.0.1, i32 1 ; <i32*> [#uses=1]
+ store i32 %tmp124, i32* %tmp93.1, align 8
+ %tmp93.2 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %.gc_mem92, i32 %dir.0.1, i32 2 ; <i64*> [#uses=1]
+ store i64 %tmp125, i64* %tmp93.2, align 4
+ %tmp93.3.0 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %.gc_mem92, i32 %dir.0.1, i32 3, i32 0 ; <i64*> [#uses=1]
+ store i64 %tmp139, i64* %tmp93.3.0, align 4
+ %tmp93.4.0 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %.gc_mem92, i32 %dir.0.1, i32 4, i32 0 ; <i64*> [#uses=1]
+ store i64 %tmp137, i64* %tmp93.4.0, align 4
+ %tmp93.5.0 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %.gc_mem92, i32 %dir.0.1, i32 5, i32 0 ; <i32*> [#uses=1]
+ store i32 %tmp133, i32* %tmp93.5.0, align 4
+ %tmp93.5.1 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %.gc_mem92, i32 %dir.0.1, i32 5, i32 1 ; <i8**> [#uses=1]
+ store i8* %tmp134, i8** %tmp93.5.1, align 4
+ %tmp93.6 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %.gc_mem92, i32 %dir.0.1, i32 6 ; <i8**> [#uses=1]
+ store i8* %tmp132, i8** %tmp93.6, align 4
+ br label %foreachnext
+
+foreachnext: ; preds = %postinvoke91, %postinvoke74, %_D5tango4text4Util19__T11locatePriorTaZ11locatePriorFAaakZk.exit, %foreachbody
+ %dir.1.0 = phi %tango.net.ftp.FtpClient.FtpFileInfo* [ %dir.1.1, %foreachbody ], [ %dir.1.1, %_D5tango4text4Util19__T11locatePriorTaZ11locatePriorFAaakZk.exit ], [ %.gc_mem92, %postinvoke91 ], [ %dir.1.1, %postinvoke74 ] ; <%tango.net.ftp.FtpClient.FtpFileInfo*> [#uses=1]
+ %dir.0.0 = phi i32 [ %dir.0.1, %foreachbody ], [ %dir.0.1, %_D5tango4text4Util19__T11locatePriorTaZ11locatePriorFAaakZk.exit ], [ %tmp85, %postinvoke91 ], [ %dir.0.1, %postinvoke74 ] ; <i32> [#uses=1]
+ %tmp99 = add i32 %foreachkey.0, 1 ; <i32> [#uses=1]
+ br label %foreachcond
+
+foreachend: ; preds = %foreachcond
+ %insert162 = insertvalue %"FtpFileInfo[]" undef, i32 %dir.0.1, 0 ; <%"FtpFileInfo[]"> [#uses=1]
+ %insert164 = insertvalue %"FtpFileInfo[]" %insert162, %tango.net.ftp.FtpClient.FtpFileInfo* %dir.1.1, 1 ; <%"FtpFileInfo[]"> [#uses=1]
+ %.tmp105 = bitcast %"byte[]"* %tmp41160 to i8* ; <i8*> [#uses=1]
+ call void @_d_delarray(i32 %tmp41159, i8* %.tmp105)
+ ret %"FtpFileInfo[]" %insert164
+
+landingpad: ; preds = %if81, %endif67
+ %8 = call i8* @llvm.eh.exception() ; <i8*> [#uses=2]
+ %9 = call i32 (i8*, i8*, ...)* @llvm.eh.selector.i32(i8* %8, i8* bitcast (i32 (i32, i32, i64, i8*, i8*)* @_d_eh_personality to i8*), i32 0) ; <i32> [#uses=0]
+ %.tmp = bitcast %"byte[]"* %tmp41160 to i8* ; <i8*> [#uses=1]
+ call void @_d_delarray(i32 %tmp41159, i8* %.tmp)
+ call void @_d_eh_resume_unwind(i8* %8)
+ unreachable
+}
+
+define fastcc void @_D5tango3net3ftp9FtpClient13FTPConnection13parseListLineMFAaZS5tango3net3ftp9FtpClient11FtpFileInfo(%tango.net.ftp.FtpClient.FtpFileInfo* noalias nocapture sret %.sret_arg, %tango.net.ftp.FtpClient.FTPConnection* nocapture %.this_arg, %"byte[]" %line_arg) {
+entry:
+ %info = alloca %tango.net.ftp.FtpClient.FtpFileInfo, align 8 ; <%tango.net.ftp.FtpClient.FtpFileInfo*> [#uses=22]
+ %aatmpkeystorage = alloca %"byte[]", align 8 ; <%"byte[]"*> [#uses=2]
+ %aatmpkeystorage114 = alloca %"byte[]", align 8 ; <%"byte[]"*> [#uses=2]
+ %aatmpkeystorage141 = alloca %"byte[]", align 8 ; <%"byte[]"*> [#uses=2]
+ %line_arg830 = extractvalue %"byte[]" %line_arg, 0 ; <i32> [#uses=21]
+ %line_arg831 = extractvalue %"byte[]" %line_arg, 1 ; <i8*> [#uses=28]
+ %tmp2 = bitcast %tango.net.ftp.FtpClient.FtpFileInfo* %info to i8* ; <i8*> [#uses=6]
+ call void @llvm.memcpy.i32(i8* %tmp2, i8* bitcast (%tango.net.ftp.FtpClient.FtpFileInfo* @_D5tango3net3ftp9FtpClient11FtpFileInfo6__initZ to i8*), i32 48, i32 4)
+ %tmp5 = load i8* %line_arg831 ; <i8> [#uses=3]
+ br label %forcond.i.i
+
+forcond.i.i: ; preds = %forbody.i.i, %entry
+ %len.0.i.i = phi i32 [ 10, %entry ], [ %tmp4.i.i, %forbody.i.i ] ; <i32> [#uses=2]
+ %p.0.i.i = phi i8* [ getelementptr ([11 x i8]* @.str167, i32 0, i32 -1), %entry ], [ %tmp7.i.i, %forbody.i.i ] ; <i8*> [#uses=1]
+ %tmp4.i.i = add i32 %len.0.i.i, -1 ; <i32> [#uses=1]
+ %tmp5.i.i = icmp eq i32 %len.0.i.i, 0 ; <i1> [#uses=1]
+ br i1 %tmp5.i.i, label %_D5tango4text4Util15__T8containsTaZ8containsFAaaZb.exit, label %forbody.i.i
+
+forbody.i.i: ; preds = %forcond.i.i
+ %tmp7.i.i = getelementptr i8* %p.0.i.i, i32 1 ; <i8*> [#uses=3]
+ %tmp8.i.i = load i8* %tmp7.i.i ; <i8> [#uses=1]
+ %tmp12.i.i = icmp eq i8 %tmp8.i.i, %tmp5 ; <i1> [#uses=1]
+ br i1 %tmp12.i.i, label %if.i.i, label %forcond.i.i
+
+if.i.i: ; preds = %forbody.i.i
+ %tmp15.i.i = ptrtoint i8* %tmp7.i.i to i32 ; <i32> [#uses=1]
+ %tmp17.i.i = sub i32 %tmp15.i.i, ptrtoint ([11 x i8]* @.str167 to i32) ; <i32> [#uses=1]
+ %phitmp640 = icmp eq i32 %tmp17.i.i, 10 ; <i1> [#uses=1]
+ %phitmp641 = zext i1 %phitmp640 to i32 ; <i32> [#uses=1]
+ br label %_D5tango4text4Util15__T8containsTaZ8containsFAaaZb.exit
+
+_D5tango4text4Util15__T8containsTaZ8containsFAaaZb.exit: ; preds = %if.i.i, %forcond.i.i
+ %tmp39.i = phi i32 [ %phitmp641, %if.i.i ], [ 1, %forcond.i.i ] ; <i32> [#uses=1]
+ switch i32 %tmp39.i, label %default223 [
+ i32 1, label %case
+ i32 0, label %case145
+ ]
+
+case: ; preds = %_D5tango4text4Util15__T8containsTaZ8containsFAaaZb.exit
+ %tmp9 = icmp ult i32 %line_arg830, 20 ; <i1> [#uses=1]
+ br i1 %tmp9, label %if, label %endif
+
+if: ; preds = %case
+ %tmp10 = bitcast %tango.net.ftp.FtpClient.FtpFileInfo* %.sret_arg to i8* ; <i8*> [#uses=1]
+ call void @llvm.memcpy.i32(i8* %tmp10, i8* %tmp2, i32 48, i32 1)
+ ret void
+
+endif: ; preds = %case
+ switch i8 %tmp5, label %else29 [
+ i8 100, label %if18
+ i8 108, label %if27
+ ]
+
+if18: ; preds = %endif
+ %tmp20 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %info, i32 0, i32 1 ; <i32*> [#uses=1]
+ store i32 4, i32* %tmp20, align 8
+ br label %endif19
+
+if27: ; preds = %endif
+ %tmp30 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %info, i32 0, i32 1 ; <i32*> [#uses=1]
+ store i32 5, i32* %tmp30, align 8
+ br label %endif19
+
+else29: ; preds = %endif
+ %tmp36 = icmp eq i8 %tmp5, 45 ; <i1> [#uses=1]
+ %tmp40 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %info, i32 0, i32 1 ; <i32*> [#uses=2]
+ br i1 %tmp36, label %if37, label %else39
+
+if37: ; preds = %else29
+ store i32 1, i32* %tmp40, align 8
+ br label %endif19
+
+else39: ; preds = %else29
+ store i32 0, i32* %tmp40, align 8
+ br label %endif19
+
+endif19: ; preds = %else39, %if37, %if27, %if18
+ %tmp42 = call %"byte[]" @_adDupT(%object.TypeInfo* bitcast (%object.TypeInfo_StaticArray* @_D12TypeInfo_G4a6__initZ to %object.TypeInfo*), %"byte[]" { i32 4, i8* getelementptr ([5 x i8]* @.str168, i32 0, i32 0) }) ; <%"byte[]"> [#uses=2]
+ %tmp42834 = extractvalue %"byte[]" %tmp42, 0 ; <i32> [#uses=1]
+ %tmp42835 = extractvalue %"byte[]" %tmp42, 1 ; <i8*> [#uses=10]
+ br label %forcond.i
+
+forcond.i: ; preds = %forinc.i, %endif19
+ %storemerge.i = phi i32 [ %tmp106.i, %forinc.i ], [ 1, %endif19 ] ; <i32> [#uses=1]
+ %tmp77.i286 = phi i32 [ %tmp106.i, %forinc.i ], [ 1, %endif19 ] ; <i32> [#uses=2]
+ %tmp10.i = icmp ugt i32 %tmp77.i286, 3 ; <i1> [#uses=1]
+ br i1 %tmp10.i, label %forcond.i295, label %forbody.i
+
+forbody.i: ; preds = %forcond.i
+ %tmp16.i = getelementptr i8* %line_arg831, i32 %tmp77.i286 ; <i8*> [#uses=1]
+ %tmp17.i = load i8* %tmp16.i ; <i8> [#uses=1]
+ switch i8 %tmp17.i, label %forinc.i [
+ i8 114, label %if.i
+ i8 119, label %if49.i
+ i8 120, label %if82.i
+ ]
+
+if.i: ; preds = %forbody.i
+ %tmp25.i = getelementptr i8* %tmp42835, i32 1 ; <i8*> [#uses=2]
+ %tmp33.i = load i8* %tmp25.i ; <i8> [#uses=1]
+ %tmp35.i = or i8 %tmp33.i, 4 ; <i8> [#uses=1]
+ store i8 %tmp35.i, i8* %tmp25.i
+ br label %forinc.i
+
+if49.i: ; preds = %forbody.i
+ %tmp58.i = getelementptr i8* %tmp42835, i32 1 ; <i8*> [#uses=2]
+ %tmp66.i = load i8* %tmp58.i ; <i8> [#uses=1]
+ %tmp68.i = or i8 %tmp66.i, 2 ; <i8> [#uses=1]
+ store i8 %tmp68.i, i8* %tmp58.i
+ br label %forinc.i
+
+if82.i: ; preds = %forbody.i
+ %tmp90.i290 = getelementptr i8* %tmp42835, i32 1 ; <i8*> [#uses=2]
+ %tmp98.i = load i8* %tmp90.i290 ; <i8> [#uses=1]
+ %tmp100.i = or i8 %tmp98.i, 1 ; <i8> [#uses=1]
+ store i8 %tmp100.i, i8* %tmp90.i290
+ br label %forinc.i
+
+forinc.i: ; preds = %if82.i, %if49.i, %if.i, %forbody.i
+ %tmp106.i = add i32 %storemerge.i, 1 ; <i32> [#uses=2]
+ br label %forcond.i
+
+forcond.i295: ; preds = %forinc.i326, %forcond.i
+ %storemerge.i292 = phi i32 [ %tmp106.i325, %forinc.i326 ], [ 4, %forcond.i ] ; <i32> [#uses=1]
+ %tmp77.i293 = phi i32 [ %tmp106.i325, %forinc.i326 ], [ 4, %forcond.i ] ; <i32> [#uses=2]
+ %tmp10.i294 = icmp ugt i32 %tmp77.i293, 6 ; <i1> [#uses=1]
+ br i1 %tmp10.i294, label %forcond.i332, label %forbody.i301
+
+forbody.i301: ; preds = %forcond.i295
+ %tmp16.i298 = getelementptr i8* %line_arg831, i32 %tmp77.i293 ; <i8*> [#uses=1]
+ %tmp17.i299 = load i8* %tmp16.i298 ; <i8> [#uses=1]
+ switch i8 %tmp17.i299, label %forinc.i326 [
+ i8 114, label %if.i307
+ i8 119, label %if49.i315
+ i8 120, label %if82.i323
+ ]
+
+if.i307: ; preds = %forbody.i301
+ %tmp25.i304 = getelementptr i8* %tmp42835, i32 2 ; <i8*> [#uses=2]
+ %tmp33.i305 = load i8* %tmp25.i304 ; <i8> [#uses=1]
+ %tmp35.i306 = or i8 %tmp33.i305, 4 ; <i8> [#uses=1]
+ store i8 %tmp35.i306, i8* %tmp25.i304
+ br label %forinc.i326
+
+if49.i315: ; preds = %forbody.i301
+ %tmp58.i312 = getelementptr i8* %tmp42835, i32 2 ; <i8*> [#uses=2]
+ %tmp66.i313 = load i8* %tmp58.i312 ; <i8> [#uses=1]
+ %tmp68.i314 = or i8 %tmp66.i313, 2 ; <i8> [#uses=1]
+ store i8 %tmp68.i314, i8* %tmp58.i312
+ br label %forinc.i326
+
+if82.i323: ; preds = %forbody.i301
+ %tmp90.i320 = getelementptr i8* %tmp42835, i32 2 ; <i8*> [#uses=2]
+ %tmp98.i321 = load i8* %tmp90.i320 ; <i8> [#uses=1]
+ %tmp100.i322 = or i8 %tmp98.i321, 1 ; <i8> [#uses=1]
+ store i8 %tmp100.i322, i8* %tmp90.i320
+ br label %forinc.i326
+
+forinc.i326: ; preds = %if82.i323, %if49.i315, %if.i307, %forbody.i301
+ %tmp106.i325 = add i32 %storemerge.i292, 1 ; <i32> [#uses=2]
+ br label %forcond.i295
+
+forcond.i332: ; preds = %forinc.i363, %forcond.i295
+ %storemerge.i329 = phi i32 [ %tmp106.i362, %forinc.i363 ], [ 7, %forcond.i295 ] ; <i32> [#uses=3]
+ %tmp77.i330 = phi i32 [ %tmp106.i362, %forinc.i363 ], [ 7, %forcond.i295 ] ; <i32> [#uses=2]
+ %tmp10.i331 = icmp ugt i32 %tmp77.i330, 9 ; <i1> [#uses=1]
+ br i1 %tmp10.i331, label %_D5tango3net3ftp9FtpClient13FTPConnection13parseListLineMFAaZS5tango3net3ftp9FtpClient11FtpFileInfo9read_modeMFiZv.exit364, label %forbody.i338
+
+forbody.i338: ; preds = %forcond.i332
+ %tmp16.i335 = getelementptr i8* %line_arg831, i32 %tmp77.i330 ; <i8*> [#uses=1]
+ %tmp17.i336 = load i8* %tmp16.i335 ; <i8> [#uses=1]
+ switch i8 %tmp17.i336, label %forinc.i363 [
+ i8 114, label %if.i344
+ i8 119, label %if49.i352
+ i8 120, label %if82.i360
+ ]
+
+if.i344: ; preds = %forbody.i338
+ %tmp25.i341 = getelementptr i8* %tmp42835, i32 3 ; <i8*> [#uses=2]
+ %tmp33.i342 = load i8* %tmp25.i341 ; <i8> [#uses=1]
+ %tmp35.i343 = or i8 %tmp33.i342, 4 ; <i8> [#uses=1]
+ store i8 %tmp35.i343, i8* %tmp25.i341
+ br label %forinc.i363
+
+if49.i352: ; preds = %forbody.i338
+ %tmp58.i349 = getelementptr i8* %tmp42835, i32 3 ; <i8*> [#uses=2]
+ %tmp66.i350 = load i8* %tmp58.i349 ; <i8> [#uses=1]
+ %tmp68.i351 = or i8 %tmp66.i350, 2 ; <i8> [#uses=1]
+ store i8 %tmp68.i351, i8* %tmp58.i349
+ br label %forinc.i363
+
+if82.i360: ; preds = %forbody.i338
+ %tmp90.i357 = getelementptr i8* %tmp42835, i32 3 ; <i8*> [#uses=2]
+ %tmp98.i358 = load i8* %tmp90.i357 ; <i8> [#uses=1]
+ %tmp100.i359 = or i8 %tmp98.i358, 1 ; <i8> [#uses=1]
+ store i8 %tmp100.i359, i8* %tmp90.i357
+ br label %forinc.i363
+
+forinc.i363: ; preds = %if82.i360, %if49.i352, %if.i344, %forbody.i338
+ %tmp106.i362 = add i32 %storemerge.i329, 1 ; <i32> [#uses=2]
+ br label %forcond.i332
+
+_D5tango3net3ftp9FtpClient13FTPConnection13parseListLineMFAaZS5tango3net3ftp9FtpClient11FtpFileInfo9read_modeMFiZv.exit364: ; preds = %forcond.i332
+ %tmp46 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %info, i32 0, i32 6 ; <i8**> [#uses=1]
+ %tmp47 = bitcast i8** %tmp46 to %32* ; <%32*> [#uses=3]
+ store %"byte[]" { i32 9, i8* getelementptr ([10 x i8]* @.str169, i32 0, i32 0) }, %"byte[]"* %aatmpkeystorage, align 8
+ %tmp48 = bitcast %"byte[]"* %aatmpkeystorage to i8* ; <i8*> [#uses=1]
+ %aa.index = call i8* @_aaGet(%32* nocapture %tmp47, %object.TypeInfo* @_D11TypeInfo_Aa6__initZ, i32 8, i8* nocapture %tmp48) ; <i8*> [#uses=1]
+ %tmp49 = bitcast i8* %aa.index to %"byte[]"* ; <%"byte[]"*> [#uses=1]
+ %insert837 = insertvalue %"byte[]" undef, i32 %tmp42834, 0 ; <%"byte[]"> [#uses=1]
+ %insert839 = insertvalue %"byte[]" %insert837, i8* %tmp42835, 1 ; <%"byte[]"> [#uses=1]
+ store %"byte[]" %insert839, %"byte[]"* %tmp49
+ br label %whilecond.i370
+
+whilecond.i370: ; preds = %whilebody.i372, %_D5tango3net3ftp9FtpClient13FTPConnection13parseListLineMFAaZS5tango3net3ftp9FtpClient11FtpFileInfo9read_modeMFiZv.exit364
+ %.frame.0.11 = phi i32 [ %storemerge.i329, %_D5tango3net3ftp9FtpClient13FTPConnection13parseListLineMFAaZS5tango3net3ftp9FtpClient11FtpFileInfo9read_modeMFiZv.exit364 ], [ %tmp18.i371.c, %whilebody.i372 ] ; <i32> [#uses=2]
+ %tmp3.i368 = phi i32 [ %tmp18.i371.c, %whilebody.i372 ], [ %storemerge.i329, %_D5tango3net3ftp9FtpClient13FTPConnection13parseListLineMFAaZS5tango3net3ftp9FtpClient11FtpFileInfo9read_modeMFiZv.exit364 ] ; <i32> [#uses=5]
+ %tmp4.i369 = icmp ult i32 %tmp3.i368, %line_arg830 ; <i1> [#uses=1]
+ br i1 %tmp4.i369, label %andand.i378, label %whilecond22.i383
+
+whilebody.i372: ; preds = %andand.i378
+ %tmp18.i371.c = add i32 %tmp3.i368, 1 ; <i32> [#uses=2]
+ br label %whilecond.i370
+
+andand.i378: ; preds = %whilecond.i370
+ %tmp11.i375 = getelementptr i8* %line_arg831, i32 %tmp3.i368 ; <i8*> [#uses=1]
+ %tmp12.i376 = load i8* %tmp11.i375 ; <i8> [#uses=1]
+ %tmp14.i377 = icmp eq i8 %tmp12.i376, 32 ; <i1> [#uses=1]
+ br i1 %tmp14.i377, label %whilebody.i372, label %whilecond22.i383
+
+whilecond22.i383: ; preds = %whilebody23.i385, %andand.i378, %whilecond.i370
+ %.frame.0.10 = phi i32 [ %.frame.0.11, %andand.i378 ], [ %tmp50.i384, %whilebody23.i385 ], [ %.frame.0.11, %whilecond.i370 ] ; <i32> [#uses=2]
+ %tmp49.i381 = phi i32 [ %tmp3.i368, %andand.i378 ], [ %tmp50.i384, %whilebody23.i385 ], [ %tmp3.i368, %whilecond.i370 ] ; <i32> [#uses=5]
+ %tmp32.i382 = icmp ult i32 %tmp49.i381, %line_arg830 ; <i1> [#uses=1]
+ br i1 %tmp32.i382, label %andand33.i391, label %whilecond54.i396
+
+whilebody23.i385: ; preds = %andand33.i391
+ %tmp50.i384 = add i32 %tmp49.i381, 1 ; <i32> [#uses=2]
+ br label %whilecond22.i383
+
+andand33.i391: ; preds = %whilecond22.i383
+ %tmp42.i388 = getelementptr i8* %line_arg831, i32 %tmp49.i381 ; <i8*> [#uses=1]
+ %tmp43.i389 = load i8* %tmp42.i388 ; <i8> [#uses=1]
+ %tmp45.i390 = icmp eq i8 %tmp43.i389, 32 ; <i1> [#uses=1]
+ br i1 %tmp45.i390, label %whilecond54.i396, label %whilebody23.i385
+
+whilecond54.i396: ; preds = %whilebody55.i401, %andand33.i391, %whilecond22.i383
+ %.frame.0.9 = phi i32 [ %.frame.0.10, %andand33.i391 ], [ %tmp82.i400, %whilebody55.i401 ], [ %.frame.0.10, %whilecond22.i383 ] ; <i32> [#uses=2]
+ %tmp81.i394 = phi i32 [ %tmp49.i381, %andand33.i391 ], [ %tmp82.i400, %whilebody55.i401 ], [ %tmp49.i381, %whilecond22.i383 ] ; <i32> [#uses=3]
+ %tmp64.i395 = icmp ult i32 %tmp81.i394, %line_arg830 ; <i1> [#uses=1]
+ br i1 %tmp64.i395, label %andand65.i407, label %whilecond.i716
+
+whilebody55.i401: ; preds = %andand65.i407
+ %tmp82.i400 = add i32 %tmp81.i394, 1 ; <i32> [#uses=2]
+ br label %whilecond54.i396
+
+andand65.i407: ; preds = %whilecond54.i396
+ %tmp74.i404 = getelementptr i8* %line_arg831, i32 %tmp81.i394 ; <i8*> [#uses=1]
+ %tmp75.i405 = load i8* %tmp74.i404 ; <i8> [#uses=1]
+ %tmp77.i406 = icmp eq i8 %tmp75.i405, 32 ; <i1> [#uses=1]
+ br i1 %tmp77.i406, label %whilebody55.i401, label %whilecond.i716
+
+whilecond.i716: ; preds = %whilebody.i717, %andand65.i407, %whilecond54.i396
+ %.frame.0.0 = phi i32 [ %tmp18.i.c829, %whilebody.i717 ], [ %.frame.0.9, %whilecond54.i396 ], [ %.frame.0.9, %andand65.i407 ] ; <i32> [#uses=7]
+ %tmp4.i715 = icmp ult i32 %.frame.0.0, %line_arg830 ; <i1> [#uses=1]
+ br i1 %tmp4.i715, label %andand.i721, label %whilecond22.i724
+
+whilebody.i717: ; preds = %andand.i721
+ %tmp18.i.c829 = add i32 %.frame.0.0, 1 ; <i32> [#uses=1]
+ br label %whilecond.i716
+
+andand.i721: ; preds = %whilecond.i716
+ %tmp11.i718 = getelementptr i8* %line_arg831, i32 %.frame.0.0 ; <i8*> [#uses=1]
+ %tmp12.i719 = load i8* %tmp11.i718 ; <i8> [#uses=1]
+ %tmp14.i720 = icmp eq i8 %tmp12.i719, 32 ; <i1> [#uses=1]
+ br i1 %tmp14.i720, label %whilebody.i717, label %whilecond22.i724
+
+whilecond22.i724: ; preds = %whilebody23.i726, %andand.i721, %whilecond.i716
+ %.frame.0.1 = phi i32 [ %.frame.0.0, %andand.i721 ], [ %tmp50.i725, %whilebody23.i726 ], [ %.frame.0.0, %whilecond.i716 ] ; <i32> [#uses=2]
+ %tmp49.i722 = phi i32 [ %.frame.0.0, %andand.i721 ], [ %tmp50.i725, %whilebody23.i726 ], [ %.frame.0.0, %whilecond.i716 ] ; <i32> [#uses=5]
+ %tmp32.i723 = icmp ult i32 %tmp49.i722, %line_arg830 ; <i1> [#uses=1]
+ br i1 %tmp32.i723, label %andand33.i731, label %whilecond54.i734
+
+whilebody23.i726: ; preds = %andand33.i731
+ %tmp50.i725 = add i32 %tmp49.i722, 1 ; <i32> [#uses=2]
+ br label %whilecond22.i724
+
+andand33.i731: ; preds = %whilecond22.i724
+ %tmp42.i728 = getelementptr i8* %line_arg831, i32 %tmp49.i722 ; <i8*> [#uses=1]
+ %tmp43.i729 = load i8* %tmp42.i728 ; <i8> [#uses=1]
+ %tmp45.i730 = icmp eq i8 %tmp43.i729, 32 ; <i1> [#uses=1]
+ br i1 %tmp45.i730, label %whilecond54.i734, label %whilebody23.i726
+
+whilecond54.i734: ; preds = %whilebody55.i736, %andand33.i731, %whilecond22.i724
+ %.frame.0.2 = phi i32 [ %.frame.0.1, %andand33.i731 ], [ %tmp82.i735, %whilebody55.i736 ], [ %.frame.0.1, %whilecond22.i724 ] ; <i32> [#uses=2]
+ %tmp81.i732 = phi i32 [ %tmp49.i722, %andand33.i731 ], [ %tmp82.i735, %whilebody55.i736 ], [ %tmp49.i722, %whilecond22.i724 ] ; <i32> [#uses=3]
+ %tmp64.i733 = icmp ult i32 %tmp81.i732, %line_arg830 ; <i1> [#uses=1]
+ br i1 %tmp64.i733, label %andand65.i740, label %whilecond.i750
+
+whilebody55.i736: ; preds = %andand65.i740
+ %tmp82.i735 = add i32 %tmp81.i732, 1 ; <i32> [#uses=2]
+ br label %whilecond54.i734
+
+andand65.i740: ; preds = %whilecond54.i734
+ %tmp74.i737 = getelementptr i8* %line_arg831, i32 %tmp81.i732 ; <i8*> [#uses=1]
+ %tmp75.i738 = load i8* %tmp74.i737 ; <i8> [#uses=1]
+ %tmp77.i739 = icmp eq i8 %tmp75.i738, 32 ; <i1> [#uses=1]
+ br i1 %tmp77.i739, label %whilebody55.i736, label %whilecond.i750
+
+whilecond.i750: ; preds = %whilebody.i752, %andand65.i740, %whilecond54.i734
+ %.frame.0.3 = phi i32 [ %tmp18.i751.c, %whilebody.i752 ], [ %.frame.0.2, %whilecond54.i734 ], [ %.frame.0.2, %andand65.i740 ] ; <i32> [#uses=11]
+ %tmp4.i749 = icmp ult i32 %.frame.0.3, %line_arg830 ; <i1> [#uses=1]
+ br i1 %tmp4.i749, label %andand.i758, label %whilecond22.i761
+
+whilebody.i752: ; preds = %andand.i758
+ %tmp18.i751.c = add i32 %.frame.0.3, 1 ; <i32> [#uses=1]
+ br label %whilecond.i750
+
+andand.i758: ; preds = %whilecond.i750
+ %tmp11.i755 = getelementptr i8* %line_arg831, i32 %.frame.0.3 ; <i8*> [#uses=1]
+ %tmp12.i756 = load i8* %tmp11.i755 ; <i8> [#uses=1]
+ %tmp14.i757 = icmp eq i8 %tmp12.i756, 32 ; <i1> [#uses=1]
+ br i1 %tmp14.i757, label %whilebody.i752, label %whilecond22.i761
+
+whilecond22.i761: ; preds = %whilebody23.i763, %andand.i758, %whilecond.i750
+ %.frame.0.4 = phi i32 [ %.frame.0.3, %andand.i758 ], [ %tmp50.i762, %whilebody23.i763 ], [ %.frame.0.3, %whilecond.i750 ] ; <i32> [#uses=2]
+ %tmp49.i759 = phi i32 [ %.frame.0.3, %andand.i758 ], [ %tmp50.i762, %whilebody23.i763 ], [ %.frame.0.3, %whilecond.i750 ] ; <i32> [#uses=7]
+ %tmp32.i760 = icmp ult i32 %tmp49.i759, %line_arg830 ; <i1> [#uses=1]
+ br i1 %tmp32.i760, label %andand33.i769, label %whilecond54.i773
+
+whilebody23.i763: ; preds = %andand33.i769
+ %tmp50.i762 = add i32 %tmp49.i759, 1 ; <i32> [#uses=2]
+ br label %whilecond22.i761
+
+andand33.i769: ; preds = %whilecond22.i761
+ %tmp42.i766 = getelementptr i8* %line_arg831, i32 %tmp49.i759 ; <i8*> [#uses=1]
+ %tmp43.i767 = load i8* %tmp42.i766 ; <i8> [#uses=1]
+ %tmp45.i768 = icmp eq i8 %tmp43.i767, 32 ; <i1> [#uses=1]
+ br i1 %tmp45.i768, label %whilecond54.i773, label %whilebody23.i763
+
+whilecond54.i773: ; preds = %whilebody55.i775, %andand33.i769, %whilecond22.i761
+ %.frame.0.5 = phi i32 [ %.frame.0.4, %andand33.i769 ], [ %tmp82.i774, %whilebody55.i775 ], [ %.frame.0.4, %whilecond22.i761 ] ; <i32> [#uses=3]
+ %tmp81.i770 = phi i32 [ %tmp49.i759, %andand33.i769 ], [ %tmp82.i774, %whilebody55.i775 ], [ %tmp49.i759, %whilecond22.i761 ] ; <i32> [#uses=3]
+ %tmp64.i771 = icmp ult i32 %tmp81.i770, %line_arg830 ; <i1> [#uses=1]
+ br i1 %tmp64.i771, label %andand65.i780, label %_D5tango3net3ftp9FtpClient13FTPConnection13parseListLineMFAaZS5tango3net3ftp9FtpClient11FtpFileInfo10parse_wordMFZAa.exit786
+
+whilebody55.i775: ; preds = %andand65.i780
+ %tmp82.i774 = add i32 %tmp81.i770, 1 ; <i32> [#uses=2]
+ br label %whilecond54.i773
+
+andand65.i780: ; preds = %whilecond54.i773
+ %tmp74.i777 = getelementptr i8* %line_arg831, i32 %tmp81.i770 ; <i8*> [#uses=1]
+ %tmp75.i778 = load i8* %tmp74.i777 ; <i8> [#uses=1]
+ %tmp77.i779 = icmp eq i8 %tmp75.i778, 32 ; <i1> [#uses=1]
+ br i1 %tmp77.i779, label %whilebody55.i775, label %_D5tango3net3ftp9FtpClient13FTPConnection13parseListLineMFAaZS5tango3net3ftp9FtpClient11FtpFileInfo10parse_wordMFZAa.exit786
+
+_D5tango3net3ftp9FtpClient13FTPConnection13parseListLineMFAaZS5tango3net3ftp9FtpClient11FtpFileInfo10parse_wordMFZAa.exit786: ; preds = %andand65.i780, %whilecond54.i773
+ %tmp89.i782 = getelementptr i8* %line_arg831, i32 %.frame.0.3 ; <i8*> [#uses=4]
+ %tmp90.i783 = sub i32 %tmp49.i759, %.frame.0.3 ; <i32> [#uses=2]
+ br label %whilecond.i792
+
+whilecond.i792: ; preds = %whilebody.i794, %_D5tango3net3ftp9FtpClient13FTPConnection13parseListLineMFAaZS5tango3net3ftp9FtpClient11FtpFileInfo10parse_wordMFZAa.exit786
+ %.frame.0.6 = phi i32 [ %.frame.0.5, %_D5tango3net3ftp9FtpClient13FTPConnection13parseListLineMFAaZS5tango3net3ftp9FtpClient11FtpFileInfo10parse_wordMFZAa.exit786 ], [ %tmp18.i793.c, %whilebody.i794 ] ; <i32> [#uses=11]
+ %tmp4.i791 = icmp ult i32 %.frame.0.6, %line_arg830 ; <i1> [#uses=1]
+ br i1 %tmp4.i791, label %andand.i800, label %whilecond22.i803
+
+whilebody.i794: ; preds = %andand.i800
+ %tmp18.i793.c = add i32 %.frame.0.6, 1 ; <i32> [#uses=1]
+ br label %whilecond.i792
+
+andand.i800: ; preds = %whilecond.i792
+ %tmp11.i797 = getelementptr i8* %line_arg831, i32 %.frame.0.6 ; <i8*> [#uses=1]
+ %tmp12.i798 = load i8* %tmp11.i797 ; <i8> [#uses=1]
+ %tmp14.i799 = icmp eq i8 %tmp12.i798, 32 ; <i1> [#uses=1]
+ br i1 %tmp14.i799, label %whilebody.i794, label %whilecond22.i803
+
+whilecond22.i803: ; preds = %whilebody23.i805, %andand.i800, %whilecond.i792
+ %.frame.0.7 = phi i32 [ %.frame.0.6, %andand.i800 ], [ %tmp50.i804, %whilebody23.i805 ], [ %.frame.0.6, %whilecond.i792 ] ; <i32> [#uses=2]
+ %tmp49.i801 = phi i32 [ %.frame.0.6, %andand.i800 ], [ %tmp50.i804, %whilebody23.i805 ], [ %.frame.0.6, %whilecond.i792 ] ; <i32> [#uses=7]
+ %tmp32.i802 = icmp ult i32 %tmp49.i801, %line_arg830 ; <i1> [#uses=1]
+ br i1 %tmp32.i802, label %andand33.i811, label %whilecond54.i815
+
+whilebody23.i805: ; preds = %andand33.i811
+ %tmp50.i804 = add i32 %tmp49.i801, 1 ; <i32> [#uses=2]
+ br label %whilecond22.i803
+
+andand33.i811: ; preds = %whilecond22.i803
+ %tmp42.i808 = getelementptr i8* %line_arg831, i32 %tmp49.i801 ; <i8*> [#uses=1]
+ %tmp43.i809 = load i8* %tmp42.i808 ; <i8> [#uses=1]
+ %tmp45.i810 = icmp eq i8 %tmp43.i809, 32 ; <i1> [#uses=1]
+ br i1 %tmp45.i810, label %whilecond54.i815, label %whilebody23.i805
+
+whilecond54.i815: ; preds = %whilebody55.i817, %andand33.i811, %whilecond22.i803
+ %.frame.0.8 = phi i32 [ %.frame.0.7, %andand33.i811 ], [ %tmp82.i816, %whilebody55.i817 ], [ %.frame.0.7, %whilecond22.i803 ] ; <i32> [#uses=2]
+ %tmp81.i812 = phi i32 [ %tmp49.i801, %andand33.i811 ], [ %tmp82.i816, %whilebody55.i817 ], [ %tmp49.i801, %whilecond22.i803 ] ; <i32> [#uses=3]
+ %tmp64.i813 = icmp ult i32 %tmp81.i812, %line_arg830 ; <i1> [#uses=1]
+ br i1 %tmp64.i813, label %andand65.i822, label %_D5tango3net3ftp9FtpClient13FTPConnection13parseListLineMFAaZS5tango3net3ftp9FtpClient11FtpFileInfo10parse_wordMFZAa.exit828
+
+whilebody55.i817: ; preds = %andand65.i822
+ %tmp82.i816 = add i32 %tmp81.i812, 1 ; <i32> [#uses=2]
+ br label %whilecond54.i815
+
+andand65.i822: ; preds = %whilecond54.i815
+ %tmp74.i819 = getelementptr i8* %line_arg831, i32 %tmp81.i812 ; <i8*> [#uses=1]
+ %tmp75.i820 = load i8* %tmp74.i819 ; <i8> [#uses=1]
+ %tmp77.i821 = icmp eq i8 %tmp75.i820, 32 ; <i1> [#uses=1]
+ br i1 %tmp77.i821, label %whilebody55.i817, label %_D5tango3net3ftp9FtpClient13FTPConnection13parseListLineMFAaZS5tango3net3ftp9FtpClient11FtpFileInfo10parse_wordMFZAa.exit828
+
+_D5tango3net3ftp9FtpClient13FTPConnection13parseListLineMFAaZS5tango3net3ftp9FtpClient11FtpFileInfo10parse_wordMFZAa.exit828: ; preds = %andand65.i822, %whilecond54.i815
+ %tmp89.i824 = getelementptr i8* %line_arg831, i32 %.frame.0.6 ; <i8*> [#uses=4]
+ %tmp90.i825 = sub i32 %tmp49.i801, %.frame.0.6 ; <i32> [#uses=2]
+ %tmp63 = load i8* %tmp89.i824 ; <i8> [#uses=2]
+ br label %forcond.i.i622
+
+forcond.i.i622: ; preds = %forbody.i.i626, %_D5tango3net3ftp9FtpClient13FTPConnection13parseListLineMFAaZS5tango3net3ftp9FtpClient11FtpFileInfo10parse_wordMFZAa.exit828
+ %len.0.i.i618 = phi i32 [ 10, %_D5tango3net3ftp9FtpClient13FTPConnection13parseListLineMFAaZS5tango3net3ftp9FtpClient11FtpFileInfo10parse_wordMFZAa.exit828 ], [ %tmp4.i.i620, %forbody.i.i626 ] ; <i32> [#uses=2]
+ %p.0.i.i619 = phi i8* [ getelementptr ([11 x i8]* @.str170, i32 0, i32 -1), %_D5tango3net3ftp9FtpClient13FTPConnection13parseListLineMFAaZS5tango3net3ftp9FtpClient11FtpFileInfo10parse_wordMFZAa.exit828 ], [ %tmp7.i.i623, %forbody.i.i626 ] ; <i8*> [#uses=1]
+ %tmp4.i.i620 = add i32 %len.0.i.i618, -1 ; <i32> [#uses=1]
+ %tmp5.i.i621 = icmp eq i32 %len.0.i.i618, 0 ; <i1> [#uses=1]
+ br i1 %tmp5.i.i621, label %if65, label %forbody.i.i626
+
+forbody.i.i626: ; preds = %forcond.i.i622
+ %tmp7.i.i623 = getelementptr i8* %p.0.i.i619, i32 1 ; <i8*> [#uses=3]
+ %tmp8.i.i624 = load i8* %tmp7.i.i623 ; <i8> [#uses=1]
+ %tmp12.i.i625 = icmp eq i8 %tmp8.i.i624, %tmp63 ; <i1> [#uses=1]
+ br i1 %tmp12.i.i625, label %if.i.i630, label %forcond.i.i622
+
+if.i.i630: ; preds = %forbody.i.i626
+ %tmp15.i.i627 = ptrtoint i8* %tmp7.i.i623 to i32 ; <i32> [#uses=1]
+ %tmp17.i.i629 = sub i32 %tmp15.i.i627, ptrtoint ([11 x i8]* @.str170 to i32) ; <i32> [#uses=1]
+ %phitmp636 = icmp eq i32 %tmp17.i.i629, 10 ; <i1> [#uses=1]
+ br i1 %phitmp636, label %if65, label %else67
+
+if65: ; preds = %if.i.i630, %forcond.i.i622
+ %tmp69 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %info, i32 0, i32 2 ; <i64*> [#uses=1]
+ %tmp4.i.i532 = icmp eq i32 %tmp49.i759, %.frame.0.3 ; <i1> [#uses=1]
+ br i1 %tmp4.i.i532, label %_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit.i576, label %forcond.i.i539
+
+forcond.i.i539: ; preds = %forinc.i.i546, %if65
+ %sign.1.i533 = phi i1 [ false, %if65 ], [ %sign.0.i543, %forinc.i.i546 ] ; <i1> [#uses=4]
+ %len.0.i.i534 = phi i32 [ %tmp33.i.i545, %forinc.i.i546 ], [ %tmp90.i783, %if65 ] ; <i32> [#uses=3]
+ %p.0.i.i535 = phi i8* [ %tmp30.i.i544, %forinc.i.i546 ], [ %tmp89.i782, %if65 ] ; <i8*> [#uses=6]
+ %c.0.in.i.i536 = phi i8* [ %tmp30.i.i544, %forinc.i.i546 ], [ %tmp89.i782, %if65 ] ; <i8*> [#uses=1]
+ %c.0.i.i537 = load i8* %c.0.in.i.i536 ; <i8> [#uses=2]
+ %tmp8.i.i538 = icmp eq i32 %len.0.i.i534, 0 ; <i1> [#uses=1]
+ br i1 %tmp8.i.i538, label %endfor.i.i550, label %forbody.i.i540
+
+forbody.i.i540: ; preds = %forcond.i.i539
+ switch i8 %c.0.i.i537, label %endfor.i.i550 [
+ i8 32, label %forinc.i.i546
+ i8 9, label %forinc.i.i546
+ i8 45, label %if20.i.i541
+ i8 43, label %if26.i.i542
+ ]
+
+if20.i.i541: ; preds = %forbody.i.i540
+ br label %forinc.i.i546
+
+if26.i.i542: ; preds = %forbody.i.i540
+ br label %forinc.i.i546
+
+forinc.i.i546: ; preds = %if26.i.i542, %if20.i.i541, %forbody.i.i540, %forbody.i.i540
+ %sign.0.i543 = phi i1 [ false, %if26.i.i542 ], [ true, %if20.i.i541 ], [ %sign.1.i533, %forbody.i.i540 ], [ %sign.1.i533, %forbody.i.i540 ] ; <i1> [#uses=1]
+ %tmp30.i.i544 = getelementptr i8* %p.0.i.i535, i32 1 ; <i8*> [#uses=2]
+ %tmp33.i.i545 = add i32 %len.0.i.i534, -1 ; <i32> [#uses=1]
+ br label %forcond.i.i539
+
+endfor.i.i550: ; preds = %forbody.i.i540, %forcond.i.i539
+ %tmp37.i.i547 = icmp eq i8 %c.0.i.i537, 48 ; <i1> [#uses=1]
+ %tmp39.i.i548 = icmp sgt i32 %len.0.i.i534, 1 ; <i1> [#uses=1]
+ %or.cond.i.i549 = and i1 %tmp37.i.i547, %tmp39.i.i548 ; <i1> [#uses=1]
+ br i1 %or.cond.i.i549, label %if40.i.i554, label %endif41.i.i564
+
+if40.i.i554: ; preds = %endfor.i.i550
+ %tmp43.i.i551 = getelementptr i8* %p.0.i.i535, i32 1 ; <i8*> [#uses=2]
+ %tmp44.i.i552 = load i8* %tmp43.i.i551 ; <i8> [#uses=1]
+ %tmp45.i.i553 = zext i8 %tmp44.i.i552 to i32 ; <i32> [#uses=1]
+ switch i32 %tmp45.i.i553, label %endif41.i.i564 [
+ i32 120, label %case46.i.i556
+ i32 88, label %case46.i.i556
+ i32 98, label %case51.i.i558
+ i32 66, label %case51.i.i558
+ i32 111, label %case56.i.i560
+ i32 79, label %case56.i.i560
+ ]
+
+case46.i.i556: ; preds = %if40.i.i554, %if40.i.i554
+ %tmp48.i.i555 = getelementptr i8* %p.0.i.i535, i32 2 ; <i8*> [#uses=1]
+ br label %endif41.i.i564
+
+case51.i.i558: ; preds = %if40.i.i554, %if40.i.i554
+ %tmp53.i.i557 = getelementptr i8* %p.0.i.i535, i32 2 ; <i8*> [#uses=1]
+ br label %endif41.i.i564
+
+case56.i.i560: ; preds = %if40.i.i554, %if40.i.i554
+ %tmp58.i.i559 = getelementptr i8* %p.0.i.i535, i32 2 ; <i8*> [#uses=1]
+ br label %endif41.i.i564
+
+endif41.i.i564: ; preds = %case56.i.i560, %case51.i.i558, %case46.i.i556, %if40.i.i554, %endfor.i.i550
+ %r.0.i.i561 = phi i32 [ 0, %if40.i.i554 ], [ 8, %case56.i.i560 ], [ 2, %case51.i.i558 ], [ 16, %case46.i.i556 ], [ 0, %endfor.i.i550 ] ; <i32> [#uses=2]
+ %p.2.i.i562 = phi i8* [ %tmp43.i.i551, %if40.i.i554 ], [ %tmp58.i.i559, %case56.i.i560 ], [ %tmp53.i.i557, %case51.i.i558 ], [ %tmp48.i.i555, %case46.i.i556 ], [ %p.0.i.i535, %endfor.i.i550 ] ; <i8*> [#uses=2]
+ %tmp63.i.i563 = icmp eq i32 %r.0.i.i561, 0 ; <i1> [#uses=1]
+ br i1 %tmp63.i.i563, label %_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit.i576, label %if70.i.i568
+
+if70.i.i568: ; preds = %endif41.i.i564
+ br label %_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit.i576
+
+_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit.i576: ; preds = %if70.i.i568, %endif41.i.i564, %if65
+ %sign.2.i569 = phi i1 [ false, %if65 ], [ %sign.1.i533, %if70.i.i568 ], [ %sign.1.i533, %endif41.i.i564 ] ; <i1> [#uses=1]
+ %radix.0.i570 = phi i32 [ 0, %if65 ], [ %r.0.i.i561, %if70.i.i568 ], [ 10, %endif41.i.i564 ] ; <i32> [#uses=2]
+ %p.1.i.i571 = phi i8* [ %p.2.i.i562, %if70.i.i568 ], [ %tmp89.i782, %if65 ], [ %p.2.i.i562, %endif41.i.i564 ] ; <i8*> [#uses=1]
+ %tmp84.i.i572 = ptrtoint i8* %p.1.i.i571 to i32 ; <i32> [#uses=1]
+ %tmp85.i.i573 = ptrtoint i8* %tmp89.i782 to i32 ; <i32> [#uses=1]
+ %tmp86.i.i574 = sub i32 %tmp84.i.i572, %tmp85.i.i573 ; <i32> [#uses=2]
+ %tmp6.i575 = sub i32 %tmp90.i783, %tmp86.i.i574 ; <i32> [#uses=1]
+ br label %foreachcond.i.i581
+
+foreachcond.i.i581: ; preds = %if55.i.i610, %_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit.i576
+ %value.0.i.i577 = phi i64 [ 0, %_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit.i576 ], [ %tmp65.i.i607, %if55.i.i610 ] ; <i64> [#uses=3]
+ %foreachkey.0.i.i579 = phi i32 [ 0, %_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit.i576 ], [ %tmp70.i.i609, %if55.i.i610 ] ; <i32> [#uses=3]
+ %tmp3.i.i580 = icmp ult i32 %foreachkey.0.i.i579, %tmp6.i575 ; <i1> [#uses=1]
+ br i1 %tmp3.i.i580, label %foreachbody.i.i587, label %_D5tango4text7convert7Integer12__T5parseTaZ5parseFAakPkZl.exit614
+
+foreachbody.i.i587: ; preds = %foreachcond.i.i581
+ %tmp5.sum.i582 = add i32 %tmp86.i.i574, %foreachkey.0.i.i579 ; <i32> [#uses=1]
+ %tmp89.i782.sum = add i32 %.frame.0.3, %tmp5.sum.i582 ; <i32> [#uses=1]
+ %tmp5.i.i583 = getelementptr i8* %line_arg831, i32 %tmp89.i782.sum ; <i8*> [#uses=1]
+ %tmp6.i.i584 = load i8* %tmp5.i.i583 ; <i8> [#uses=6]
+ %tmp6.off84.i.i585 = add i8 %tmp6.i.i584, -48 ; <i8> [#uses=1]
+ %or.cond.i28.i586 = icmp ugt i8 %tmp6.off84.i.i585, 9 ; <i1> [#uses=1]
+ br i1 %or.cond.i28.i586, label %else.i.i590, label %endif.i.i603
+
+else.i.i590: ; preds = %foreachbody.i.i587
+ %tmp6.off83.i.i588 = add i8 %tmp6.i.i584, -97 ; <i8> [#uses=1]
+ %or.cond81.i.i589 = icmp ugt i8 %tmp6.off83.i.i588, 25 ; <i1> [#uses=1]
+ br i1 %or.cond81.i.i589, label %else24.i.i595, label %if22.i.i592
+
+if22.i.i592: ; preds = %else.i.i590
+ %tmp27.i.i591 = add i8 %tmp6.i.i584, -39 ; <i8> [#uses=1]
+ br label %endif.i.i603
+
+else24.i.i595: ; preds = %else.i.i590
+ %tmp6.off.i.i593 = add i8 %tmp6.i.i584, -65 ; <i8> [#uses=1]
+ %or.cond82.i.i594 = icmp ugt i8 %tmp6.off.i.i593, 25 ; <i1> [#uses=1]
+ br i1 %or.cond82.i.i594, label %_D5tango4text7convert7Integer12__T5parseTaZ5parseFAakPkZl.exit614, label %if39.i.i597
+
+if39.i.i597: ; preds = %else24.i.i595
+ %tmp44.i29.i596 = add i8 %tmp6.i.i584, -7 ; <i8> [#uses=1]
+ br label %endif.i.i603
+
+endif.i.i603: ; preds = %if39.i.i597, %if22.i.i592, %foreachbody.i.i587
+ %c.0.i30.i598 = phi i8 [ %tmp27.i.i591, %if22.i.i592 ], [ %tmp44.i29.i596, %if39.i.i597 ], [ %tmp6.i.i584, %foreachbody.i.i587 ] ; <i8> [#uses=1]
+ %tmp48.i31.i599 = zext i8 %c.0.i30.i598 to i32 ; <i32> [#uses=1]
+ %tmp49.i.i600 = add i32 %tmp48.i31.i599, 208 ; <i32> [#uses=1]
+ %tmp52.i.i601 = and i32 %tmp49.i.i600, 255 ; <i32> [#uses=2]
+ %tmp54.i.i602 = icmp ult i32 %tmp52.i.i601, %radix.0.i570 ; <i1> [#uses=1]
+ br i1 %tmp54.i.i602, label %if55.i.i610, label %_D5tango4text7convert7Integer12__T5parseTaZ5parseFAakPkZl.exit614
+
+if55.i.i610: ; preds = %endif.i.i603
+ %tmp59.i.i604 = zext i32 %radix.0.i570 to i64 ; <i64> [#uses=1]
+ %tmp61.i.i605 = mul i64 %value.0.i.i577, %tmp59.i.i604 ; <i64> [#uses=1]
+ %tmp64.i.i606 = zext i32 %tmp52.i.i601 to i64 ; <i64> [#uses=1]
+ %tmp65.i.i607 = add i64 %tmp61.i.i605, %tmp64.i.i606 ; <i64> [#uses=1]
+ %tmp70.i.i609 = add i32 %foreachkey.0.i.i579, 1 ; <i32> [#uses=1]
+ br label %foreachcond.i.i581
+
+_D5tango4text7convert7Integer12__T5parseTaZ5parseFAakPkZl.exit614: ; preds = %endif.i.i603, %else24.i.i595, %foreachcond.i.i581
+ %negval.i611 = sub i64 0, %value.0.i.i577 ; <i64> [#uses=1]
+ %condtmp.0.i612 = select i1 %sign.2.i569, i64 %negval.i611, i64 %value.0.i.i577 ; <i64> [#uses=1]
+ store i64 %condtmp.0.i612, i64* %tmp69
+ br label %endif66
+
+else67: ; preds = %if.i.i630
+ %tmp72 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %info, i32 0, i32 2 ; <i64*> [#uses=1]
+ %tmp4.i.i447 = icmp eq i32 %tmp49.i801, %.frame.0.6 ; <i1> [#uses=1]
+ br i1 %tmp4.i.i447, label %_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit.i491, label %forcond.i.i454
+
+forcond.i.i454: ; preds = %forinc.i.i461, %else67
+ %c.0.i.i452 = phi i8 [ %c.0.i.i452.pre, %forinc.i.i461 ], [ %tmp63, %else67 ] ; <i8> [#uses=2]
+ %sign.1.i448 = phi i1 [ false, %else67 ], [ %sign.0.i458, %forinc.i.i461 ] ; <i1> [#uses=4]
+ %len.0.i.i449 = phi i32 [ %tmp33.i.i460, %forinc.i.i461 ], [ %tmp90.i825, %else67 ] ; <i32> [#uses=3]
+ %p.0.i.i450 = phi i8* [ %tmp30.i.i459, %forinc.i.i461 ], [ %tmp89.i824, %else67 ] ; <i8*> [#uses=6]
+ %tmp8.i.i453 = icmp eq i32 %len.0.i.i449, 0 ; <i1> [#uses=1]
+ br i1 %tmp8.i.i453, label %endfor.i.i465, label %forbody.i.i455
+
+forbody.i.i455: ; preds = %forcond.i.i454
+ switch i8 %c.0.i.i452, label %endfor.i.i465 [
+ i8 32, label %forinc.i.i461
+ i8 9, label %forinc.i.i461
+ i8 45, label %if20.i.i456
+ i8 43, label %if26.i.i457
+ ]
+
+if20.i.i456: ; preds = %forbody.i.i455
+ br label %forinc.i.i461
+
+if26.i.i457: ; preds = %forbody.i.i455
+ br label %forinc.i.i461
+
+forinc.i.i461: ; preds = %if26.i.i457, %if20.i.i456, %forbody.i.i455, %forbody.i.i455
+ %sign.0.i458 = phi i1 [ false, %if26.i.i457 ], [ true, %if20.i.i456 ], [ %sign.1.i448, %forbody.i.i455 ], [ %sign.1.i448, %forbody.i.i455 ] ; <i1> [#uses=1]
+ %tmp30.i.i459 = getelementptr i8* %p.0.i.i450, i32 1 ; <i8*> [#uses=2]
+ %tmp33.i.i460 = add i32 %len.0.i.i449, -1 ; <i32> [#uses=1]
+ %c.0.i.i452.pre = load i8* %tmp30.i.i459 ; <i8> [#uses=1]
+ br label %forcond.i.i454
+
+endfor.i.i465: ; preds = %forbody.i.i455, %forcond.i.i454
+ %tmp37.i.i462 = icmp eq i8 %c.0.i.i452, 48 ; <i1> [#uses=1]
+ %tmp39.i.i463 = icmp sgt i32 %len.0.i.i449, 1 ; <i1> [#uses=1]
+ %or.cond.i.i464 = and i1 %tmp37.i.i462, %tmp39.i.i463 ; <i1> [#uses=1]
+ br i1 %or.cond.i.i464, label %if40.i.i469, label %endif41.i.i479
+
+if40.i.i469: ; preds = %endfor.i.i465
+ %tmp43.i.i466 = getelementptr i8* %p.0.i.i450, i32 1 ; <i8*> [#uses=2]
+ %tmp44.i.i467 = load i8* %tmp43.i.i466 ; <i8> [#uses=1]
+ %tmp45.i.i468 = zext i8 %tmp44.i.i467 to i32 ; <i32> [#uses=1]
+ switch i32 %tmp45.i.i468, label %endif41.i.i479 [
+ i32 120, label %case46.i.i471
+ i32 88, label %case46.i.i471
+ i32 98, label %case51.i.i473
+ i32 66, label %case51.i.i473
+ i32 111, label %case56.i.i475
+ i32 79, label %case56.i.i475
+ ]
+
+case46.i.i471: ; preds = %if40.i.i469, %if40.i.i469
+ %tmp48.i.i470 = getelementptr i8* %p.0.i.i450, i32 2 ; <i8*> [#uses=1]
+ br label %endif41.i.i479
+
+case51.i.i473: ; preds = %if40.i.i469, %if40.i.i469
+ %tmp53.i.i472 = getelementptr i8* %p.0.i.i450, i32 2 ; <i8*> [#uses=1]
+ br label %endif41.i.i479
+
+case56.i.i475: ; preds = %if40.i.i469, %if40.i.i469
+ %tmp58.i.i474 = getelementptr i8* %p.0.i.i450, i32 2 ; <i8*> [#uses=1]
+ br label %endif41.i.i479
+
+endif41.i.i479: ; preds = %case56.i.i475, %case51.i.i473, %case46.i.i471, %if40.i.i469, %endfor.i.i465
+ %r.0.i.i476 = phi i32 [ 0, %if40.i.i469 ], [ 8, %case56.i.i475 ], [ 2, %case51.i.i473 ], [ 16, %case46.i.i471 ], [ 0, %endfor.i.i465 ] ; <i32> [#uses=2]
+ %p.2.i.i477 = phi i8* [ %tmp43.i.i466, %if40.i.i469 ], [ %tmp58.i.i474, %case56.i.i475 ], [ %tmp53.i.i472, %case51.i.i473 ], [ %tmp48.i.i470, %case46.i.i471 ], [ %p.0.i.i450, %endfor.i.i465 ] ; <i8*> [#uses=2]
+ %tmp63.i.i478 = icmp eq i32 %r.0.i.i476, 0 ; <i1> [#uses=1]
+ br i1 %tmp63.i.i478, label %_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit.i491, label %if70.i.i483
+
+if70.i.i483: ; preds = %endif41.i.i479
+ br label %_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit.i491
+
+_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit.i491: ; preds = %if70.i.i483, %endif41.i.i479, %else67
+ %sign.2.i484 = phi i1 [ false, %else67 ], [ %sign.1.i448, %if70.i.i483 ], [ %sign.1.i448, %endif41.i.i479 ] ; <i1> [#uses=1]
+ %radix.0.i485 = phi i32 [ 0, %else67 ], [ %r.0.i.i476, %if70.i.i483 ], [ 10, %endif41.i.i479 ] ; <i32> [#uses=2]
+ %p.1.i.i486 = phi i8* [ %p.2.i.i477, %if70.i.i483 ], [ %tmp89.i824, %else67 ], [ %p.2.i.i477, %endif41.i.i479 ] ; <i8*> [#uses=1]
+ %tmp84.i.i487 = ptrtoint i8* %p.1.i.i486 to i32 ; <i32> [#uses=1]
+ %tmp85.i.i488 = ptrtoint i8* %tmp89.i824 to i32 ; <i32> [#uses=1]
+ %tmp86.i.i489 = sub i32 %tmp84.i.i487, %tmp85.i.i488 ; <i32> [#uses=2]
+ %tmp6.i490 = sub i32 %tmp90.i825, %tmp86.i.i489 ; <i32> [#uses=1]
+ br label %foreachcond.i.i496
+
+foreachcond.i.i496: ; preds = %if55.i.i525, %_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit.i491
+ %value.0.i.i492 = phi i64 [ 0, %_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit.i491 ], [ %tmp65.i.i522, %if55.i.i525 ] ; <i64> [#uses=3]
+ %foreachkey.0.i.i494 = phi i32 [ 0, %_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit.i491 ], [ %tmp70.i.i524, %if55.i.i525 ] ; <i32> [#uses=3]
+ %tmp3.i.i495 = icmp ult i32 %foreachkey.0.i.i494, %tmp6.i490 ; <i1> [#uses=1]
+ br i1 %tmp3.i.i495, label %foreachbody.i.i502, label %_D5tango4text7convert7Integer12__T5parseTaZ5parseFAakPkZl.exit529
+
+foreachbody.i.i502: ; preds = %foreachcond.i.i496
+ %tmp5.sum.i497 = add i32 %tmp86.i.i489, %foreachkey.0.i.i494 ; <i32> [#uses=1]
+ %tmp89.i824.sum = add i32 %.frame.0.6, %tmp5.sum.i497 ; <i32> [#uses=1]
+ %tmp5.i.i498 = getelementptr i8* %line_arg831, i32 %tmp89.i824.sum ; <i8*> [#uses=1]
+ %tmp6.i.i499 = load i8* %tmp5.i.i498 ; <i8> [#uses=6]
+ %tmp6.off84.i.i500 = add i8 %tmp6.i.i499, -48 ; <i8> [#uses=1]
+ %or.cond.i28.i501 = icmp ugt i8 %tmp6.off84.i.i500, 9 ; <i1> [#uses=1]
+ br i1 %or.cond.i28.i501, label %else.i.i505, label %endif.i.i518
+
+else.i.i505: ; preds = %foreachbody.i.i502
+ %tmp6.off83.i.i503 = add i8 %tmp6.i.i499, -97 ; <i8> [#uses=1]
+ %or.cond81.i.i504 = icmp ugt i8 %tmp6.off83.i.i503, 25 ; <i1> [#uses=1]
+ br i1 %or.cond81.i.i504, label %else24.i.i510, label %if22.i.i507
+
+if22.i.i507: ; preds = %else.i.i505
+ %tmp27.i.i506 = add i8 %tmp6.i.i499, -39 ; <i8> [#uses=1]
+ br label %endif.i.i518
+
+else24.i.i510: ; preds = %else.i.i505
+ %tmp6.off.i.i508 = add i8 %tmp6.i.i499, -65 ; <i8> [#uses=1]
+ %or.cond82.i.i509 = icmp ugt i8 %tmp6.off.i.i508, 25 ; <i1> [#uses=1]
+ br i1 %or.cond82.i.i509, label %_D5tango4text7convert7Integer12__T5parseTaZ5parseFAakPkZl.exit529, label %if39.i.i512
+
+if39.i.i512: ; preds = %else24.i.i510
+ %tmp44.i29.i511 = add i8 %tmp6.i.i499, -7 ; <i8> [#uses=1]
+ br label %endif.i.i518
+
+endif.i.i518: ; preds = %if39.i.i512, %if22.i.i507, %foreachbody.i.i502
+ %c.0.i30.i513 = phi i8 [ %tmp27.i.i506, %if22.i.i507 ], [ %tmp44.i29.i511, %if39.i.i512 ], [ %tmp6.i.i499, %foreachbody.i.i502 ] ; <i8> [#uses=1]
+ %tmp48.i31.i514 = zext i8 %c.0.i30.i513 to i32 ; <i32> [#uses=1]
+ %tmp49.i.i515 = add i32 %tmp48.i31.i514, 208 ; <i32> [#uses=1]
+ %tmp52.i.i516 = and i32 %tmp49.i.i515, 255 ; <i32> [#uses=2]
+ %tmp54.i.i517 = icmp ult i32 %tmp52.i.i516, %radix.0.i485 ; <i1> [#uses=1]
+ br i1 %tmp54.i.i517, label %if55.i.i525, label %_D5tango4text7convert7Integer12__T5parseTaZ5parseFAakPkZl.exit529
+
+if55.i.i525: ; preds = %endif.i.i518
+ %tmp59.i.i519 = zext i32 %radix.0.i485 to i64 ; <i64> [#uses=1]
+ %tmp61.i.i520 = mul i64 %value.0.i.i492, %tmp59.i.i519 ; <i64> [#uses=1]
+ %tmp64.i.i521 = zext i32 %tmp52.i.i516 to i64 ; <i64> [#uses=1]
+ %tmp65.i.i522 = add i64 %tmp61.i.i520, %tmp64.i.i521 ; <i64> [#uses=1]
+ %tmp70.i.i524 = add i32 %foreachkey.0.i.i494, 1 ; <i32> [#uses=1]
+ br label %foreachcond.i.i496
+
+_D5tango4text7convert7Integer12__T5parseTaZ5parseFAakPkZl.exit529: ; preds = %endif.i.i518, %else24.i.i510, %foreachcond.i.i496
+ %negval.i526 = sub i64 0, %value.0.i.i492 ; <i64> [#uses=1]
+ %condtmp.0.i527 = select i1 %sign.2.i484, i64 %negval.i526, i64 %value.0.i.i492 ; <i64> [#uses=1]
+ store i64 %condtmp.0.i527, i64* %tmp72
+ br label %endif66
+
+endif66: ; preds = %_D5tango4text7convert7Integer12__T5parseTaZ5parseFAakPkZl.exit529, %_D5tango4text7convert7Integer12__T5parseTaZ5parseFAakPkZl.exit614
+ %tmp85 = phi i32 [ %.frame.0.8, %_D5tango4text7convert7Integer12__T5parseTaZ5parseFAakPkZl.exit529 ], [ %.frame.0.5, %_D5tango4text7convert7Integer12__T5parseTaZ5parseFAakPkZl.exit614 ] ; <i32> [#uses=1]
+ %tmp75 = phi i32 [ %.frame.0.8, %_D5tango4text7convert7Integer12__T5parseTaZ5parseFAakPkZl.exit529 ], [ %.frame.0.5, %_D5tango4text7convert7Integer12__T5parseTaZ5parseFAakPkZl.exit614 ] ; <i32> [#uses=1]
+ %tmp76 = add i32 %tmp75, 13 ; <i32> [#uses=1]
+ %tmp79 = icmp ult i32 %tmp76, %line_arg830 ; <i1> [#uses=1]
+ br i1 %tmp79, label %endif81, label %if80
+
+if80: ; preds = %endif66
+ %tmp82 = bitcast %tango.net.ftp.FtpClient.FtpFileInfo* %.sret_arg to i8* ; <i8*> [#uses=1]
+ call void @llvm.memcpy.i32(i8* %tmp82, i8* %tmp2, i32 48, i32 1)
+ ret void
+
+endif81: ; preds = %endif66
+ %tmp86 = add i32 %tmp85, 13 ; <i32> [#uses=2]
+ %tmp93 = getelementptr i8* %line_arg831, i32 %tmp86 ; <i8*> [#uses=1]
+ %tmp94 = sub i32 %line_arg830, %tmp86 ; <i32> [#uses=1]
+ %tmp95 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %info, i32 0, i32 0, i32 0 ; <i32*> [#uses=4]
+ store i32 %tmp94, i32* %tmp95, align 8
+ %tmp96 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %info, i32 0, i32 0, i32 1 ; <i8**> [#uses=3]
+ store i8* %tmp93, i8** %tmp96
+ %tmp97 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %info, i32 0, i32 1 ; <i32*> [#uses=1]
+ %tmp98 = load i32* %tmp97, align 8 ; <i32> [#uses=1]
+ %tmp99 = icmp eq i32 %tmp98, 5 ; <i1> [#uses=1]
+ br i1 %tmp99, label %if100, label %switchend
+
+if100: ; preds = %endif81
+ %tmp102 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %info, i32 0, i32 0 ; <%"byte[]"*> [#uses=1]
+ %tmp103 = load %"byte[]"* %tmp102, align 8 ; <%"byte[]"> [#uses=2]
+ %source_arg59.i = extractvalue %"byte[]" %tmp103, 0 ; <i32> [#uses=5]
+ %source_arg60.i = extractvalue %"byte[]" %tmp103, 1 ; <i8*> [#uses=2]
+ %tmp9.i418 = add i32 %source_arg59.i, -3 ; <i32> [#uses=2]
+ %tmp16.i420 = icmp ugt i32 %tmp9.i418, %source_arg59.i ; <i1> [#uses=1]
+ br i1 %tmp16.i420, label %_D5tango4text4Util21__T13locatePatternTaZ13locatePatternFAaAakZk.exit, label %whilecond.i422
+
+whilecond.i422: ; preds = %else40.i, %if100
+ %source_arg60.pn.i = phi i8* [ %p.0.i, %else40.i ], [ %source_arg60.i, %if100 ] ; <i8*> [#uses=4]
+ %start_arg.pn.i = phi i32 [ %tmp49.i443, %else40.i ], [ 0, %if100 ] ; <i32> [#uses=3]
+ %extent.0.i = phi i32 [ %tmp51.i, %else40.i ], [ %tmp9.i418, %if100 ] ; <i32> [#uses=5]
+ %p.0.i = getelementptr i8* %source_arg60.pn.i, i32 %start_arg.pn.i ; <i8*> [#uses=2]
+ %tmp18.i421 = icmp eq i32 %extent.0.i, 0 ; <i1> [#uses=1]
+ br i1 %tmp18.i421, label %_D5tango4text4Util21__T13locatePatternTaZ13locatePatternFAaAakZk.exit, label %whilebody.i425
+
+whilebody.i425: ; preds = %whilecond.i422
+ %p.0.sum63.i = add i32 %start_arg.pn.i, -1 ; <i32> [#uses=1]
+ %tmp2.i.i424 = getelementptr i8* %source_arg60.pn.i, i32 %p.0.sum63.i ; <i8*> [#uses=1]
+ br label %forcond.i.i430
+
+forcond.i.i430: ; preds = %forbody.i.i434, %whilebody.i425
+ %len.0.i.i426 = phi i32 [ %extent.0.i, %whilebody.i425 ], [ %tmp4.i.i428, %forbody.i.i434 ] ; <i32> [#uses=2]
+ %p.0.i.i427 = phi i8* [ %tmp2.i.i424, %whilebody.i425 ], [ %tmp7.i.i431, %forbody.i.i434 ] ; <i8*> [#uses=1]
+ %tmp4.i.i428 = add i32 %len.0.i.i426, -1 ; <i32> [#uses=1]
+ %tmp5.i.i429 = icmp eq i32 %len.0.i.i426, 0 ; <i1> [#uses=1]
+ br i1 %tmp5.i.i429, label %_D5tango4text4Util14__T7indexOfTaZ7indexOfFPaakZk.exit.i, label %forbody.i.i434
+
+forbody.i.i434: ; preds = %forcond.i.i430
+ %tmp7.i.i431 = getelementptr i8* %p.0.i.i427, i32 1 ; <i8*> [#uses=3]
+ %tmp8.i.i432 = load i8* %tmp7.i.i431 ; <i8> [#uses=1]
+ %tmp12.i.i433 = icmp eq i8 %tmp8.i.i432, 32 ; <i1> [#uses=1]
+ br i1 %tmp12.i.i433, label %if.i.i438, label %forcond.i.i430
+
+if.i.i438: ; preds = %forbody.i.i434
+ %tmp15.i.i435 = ptrtoint i8* %tmp7.i.i431 to i32 ; <i32> [#uses=1]
+ %tmp16.i.i436 = ptrtoint i8* %p.0.i to i32 ; <i32> [#uses=1]
+ %tmp17.i.i437 = sub i32 %tmp15.i.i435, %tmp16.i.i436 ; <i32> [#uses=1]
+ br label %_D5tango4text4Util14__T7indexOfTaZ7indexOfFPaakZk.exit.i
+
+_D5tango4text4Util14__T7indexOfTaZ7indexOfFPaakZk.exit.i: ; preds = %if.i.i438, %forcond.i.i430
+ %tmp2561.i = phi i32 [ %tmp17.i.i437, %if.i.i438 ], [ %extent.0.i, %forcond.i.i430 ] ; <i32> [#uses=3]
+ %tmp27.i = icmp eq i32 %tmp2561.i, %extent.0.i ; <i1> [#uses=1]
+ br i1 %tmp27.i, label %_D5tango4text4Util21__T13locatePatternTaZ13locatePatternFAaAakZk.exit, label %else.i441
+
+else.i441: ; preds = %_D5tango4text4Util14__T7indexOfTaZ7indexOfFPaakZk.exit.i
+ %p.0.sum.i = add i32 %start_arg.pn.i, %tmp2561.i ; <i32> [#uses=2]
+ %tmp32.i440 = getelementptr i8* %source_arg60.pn.i, i32 %p.0.sum.i ; <i8*> [#uses=2]
+ %tmp32.sum.i = add i32 %p.0.sum.i, -1 ; <i32> [#uses=1]
+ %tmp2.i.i.i = getelementptr i8* %source_arg60.pn.i, i32 %tmp32.sum.i ; <i8*> [#uses=1]
+ br label %forcond.i.i.i
+
+forcond.i.i.i: ; preds = %forbody.i.i.i, %else.i441
+ %len.0.i.i.i = phi i32 [ 4, %else.i441 ], [ %tmp4.i.i.i, %forbody.i.i.i ] ; <i32> [#uses=2]
+ %s2.0.i.i.i = phi i8* [ getelementptr ([5 x i8]* @.str171, i32 0, i32 0), %else.i441 ], [ %tmp11.i.i.i, %forbody.i.i.i ] ; <i8*> [#uses=2]
+ %p.0.i.i.i = phi i8* [ %tmp2.i.i.i, %else.i441 ], [ %tmp7.i.i.i, %forbody.i.i.i ] ; <i8*> [#uses=1]
+ %tmp4.i.i.i = add i32 %len.0.i.i.i, -1 ; <i32> [#uses=1]
+ %tmp5.i.i.i = icmp eq i32 %len.0.i.i.i, 0 ; <i1> [#uses=1]
+ br i1 %tmp5.i.i.i, label %if38.i, label %forbody.i.i.i
+
+forbody.i.i.i: ; preds = %forcond.i.i.i
+ %tmp7.i.i.i = getelementptr i8* %p.0.i.i.i, i32 1 ; <i8*> [#uses=3]
+ %tmp8.i.i.i = load i8* %tmp7.i.i.i ; <i8> [#uses=1]
+ %tmp11.i.i.i = getelementptr i8* %s2.0.i.i.i, i32 1 ; <i8*> [#uses=1]
+ %tmp12.i.i.i = load i8* %s2.0.i.i.i ; <i8> [#uses=1]
+ %tmp14.i.i.i = icmp eq i8 %tmp8.i.i.i, %tmp12.i.i.i ; <i1> [#uses=1]
+ br i1 %tmp14.i.i.i, label %forcond.i.i.i, label %if.i.i.i
+
+if.i.i.i: ; preds = %forbody.i.i.i
+ %tmp17.i.i.i = ptrtoint i8* %tmp7.i.i.i to i32 ; <i32> [#uses=1]
+ %tmp18.i.i.i = ptrtoint i8* %tmp32.i440 to i32 ; <i32> [#uses=1]
+ %tmp19.i.i.i = sub i32 %tmp17.i.i.i, %tmp18.i.i.i ; <i32> [#uses=1]
+ %phitmp = icmp eq i32 %tmp19.i.i.i, 4 ; <i1> [#uses=1]
+ br i1 %phitmp, label %if38.i, label %else40.i
+
+if38.i: ; preds = %if.i.i.i, %forcond.i.i.i
+ %tmp44.i = ptrtoint i8* %tmp32.i440 to i32 ; <i32> [#uses=1]
+ %tmp45.i442 = ptrtoint i8* %source_arg60.i to i32 ; <i32> [#uses=1]
+ %tmp46.i = sub i32 %tmp44.i, %tmp45.i442 ; <i32> [#uses=1]
+ br label %_D5tango4text4Util21__T13locatePatternTaZ13locatePatternFAaAakZk.exit
+
+else40.i: ; preds = %if.i.i.i
+ %tmp49.i443 = add i32 %tmp2561.i, 1 ; <i32> [#uses=2]
+ %tmp51.i = sub i32 %extent.0.i, %tmp49.i443 ; <i32> [#uses=1]
+ br label %whilecond.i422
+
+_D5tango4text4Util21__T13locatePatternTaZ13locatePatternFAaAakZk.exit: ; preds = %if38.i, %_D5tango4text4Util14__T7indexOfTaZ7indexOfFPaakZk.exit.i, %whilecond.i422, %if100
+ %tmp104444 = phi i32 [ %tmp46.i, %if38.i ], [ %source_arg59.i, %_D5tango4text4Util14__T7indexOfTaZ7indexOfFPaakZk.exit.i ], [ %source_arg59.i, %whilecond.i422 ], [ %source_arg59.i, %if100 ] ; <i32> [#uses=3]
+ %.len107 = load i32* %tmp95, align 8 ; <i32> [#uses=1]
+ %tmp109 = icmp eq i32 %tmp104444, %.len107 ; <i1> [#uses=1]
+ br i1 %tmp109, label %switchend, label %if110
+
+if110: ; preds = %_D5tango4text4Util21__T13locatePatternTaZ13locatePatternFAaAakZk.exit
+ store %"byte[]" { i32 6, i8* getelementptr ([7 x i8]* @.str172, i32 0, i32 0) }, %"byte[]"* %aatmpkeystorage114, align 8
+ %tmp115 = bitcast %"byte[]"* %aatmpkeystorage114 to i8* ; <i8*> [#uses=1]
+ %aa.index116 = call i8* @_aaGet(%32* nocapture %tmp47, %object.TypeInfo* @_D11TypeInfo_Aa6__initZ, i32 8, i8* nocapture %tmp115) ; <i8*> [#uses=2]
+ %.ptr120 = load i8** %tmp96 ; <i8*> [#uses=2]
+ %tmp122 = add i32 %tmp104444, 4 ; <i32> [#uses=2]
+ %.len125 = load i32* %tmp95, align 8 ; <i32> [#uses=1]
+ %tmp126 = getelementptr i8* %.ptr120, i32 %tmp122 ; <i8*> [#uses=1]
+ %tmp127 = sub i32 %.len125, %tmp122 ; <i32> [#uses=1]
+ %tmp128 = bitcast i8* %aa.index116 to i32* ; <i32*> [#uses=1]
+ store i32 %tmp127, i32* %tmp128
+ %tmp129 = getelementptr i8* %aa.index116, i32 4 ; <i8*> [#uses=1]
+ %0 = bitcast i8* %tmp129 to i8** ; <i8**> [#uses=1]
+ store i8* %tmp126, i8** %0
+ store i32 %tmp104444, i32* %tmp95, align 8
+ store i8* %.ptr120, i8** %tmp96
+ store %"byte[]" { i32 4, i8* getelementptr ([5 x i8]* @.str173, i32 0, i32 0) }, %"byte[]"* %aatmpkeystorage141, align 8
+ %tmp142 = bitcast %"byte[]"* %aatmpkeystorage141 to i8* ; <i8*> [#uses=1]
+ %aa.index143 = call i8* @_aaGet(%32* nocapture %tmp47, %object.TypeInfo* @_D11TypeInfo_Aa6__initZ, i32 8, i8* nocapture %tmp142) ; <i8*> [#uses=1]
+ %tmp144 = bitcast i8* %aa.index143 to %"byte[]"* ; <%"byte[]"*> [#uses=1]
+ store %"byte[]" { i32 4, i8* getelementptr ([5 x i8]* @.str174, i32 0, i32 0) }, %"byte[]"* %tmp144
+ br label %switchend
+
+case145: ; preds = %_D5tango4text4Util15__T8containsTaZ8containsFAaaZb.exit
+ %tmp148 = icmp ult i32 %line_arg830, 18 ; <i1> [#uses=1]
+ br i1 %tmp148, label %if149, label %endif150
+
+if149: ; preds = %case145
+ %tmp151 = bitcast %tango.net.ftp.FtpClient.FtpFileInfo* %.sret_arg to i8* ; <i8*> [#uses=1]
+ call void @llvm.memcpy.i32(i8* %tmp151, i8* %tmp2, i32 48, i32 1)
+ ret void
+
+endif150: ; preds = %case145
+ %.newclass_gc_alloc.i = call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex14__T7RegExpTTaZ7RegExpT7__ClassZ) ; <i8*> [#uses=5]
+ %.newclass_gc.i = bitcast i8* %.newclass_gc_alloc.i to %"tango.text.Regex.RegExpT!(char).RegExpT"* ; <%"tango.text.Regex.RegExpT!(char).RegExpT"*> [#uses=4]
+ %vtbl.i = bitcast i8* %.newclass_gc_alloc.i to %"tango.text.Regex.RegExpT!(char).RegExpT.__vtbl"** ; <%"tango.text.Regex.RegExpT!(char).RegExpT.__vtbl"**> [#uses=4]
+ store %"tango.text.Regex.RegExpT!(char).RegExpT.__vtbl"* @_D5tango4text5Regex14__T7RegExpTTaZ7RegExpT6__vtblZ, %"tango.text.Regex.RegExpT!(char).RegExpT.__vtbl"** %vtbl.i
+ %monitor.i = getelementptr i8* %.newclass_gc_alloc.i, i32 4 ; <i8*> [#uses=1]
+ %1 = bitcast i8* %monitor.i to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %1
+ %tmp.i = getelementptr i8* %.newclass_gc_alloc.i, i32 8 ; <i8*> [#uses=1]
+ call void @llvm.memcpy.i32(i8* %tmp.i, i8* bitcast (%"Act[]"* getelementptr (%"tango.text.Regex.RegExpT!(char).RegExpT"* bitcast (%30* @_D5tango4text5Regex14__T7RegExpTTaZ7RegExpT6__initZ to %"tango.text.Regex.RegExpT!(char).RegExpT"*), i32 0, i32 2) to i8*), i32 36, i32 1)
+ %tmp2.i.i416 = call fastcc %"tango.text.Regex.RegExpT!(char).RegExpT"* @_D5tango4text5Regex14__T7RegExpTTaZ7RegExpT5_ctorMFAabbbZC5tango4text5Regex14__T7RegExpTTaZ7RegExpT(%"tango.text.Regex.RegExpT!(char).RegExpT"* %.newclass_gc.i, %"byte[]" { i32 42, i8* getelementptr ([43 x i8]* @.str175, i32 0, i32 0) }, i1 false, i1 true, i1 false) ; <%"tango.text.Regex.RegExpT!(char).RegExpT"*> [#uses=0]
+ %tmp157 = load %"tango.text.Regex.RegExpT!(char).RegExpT.__vtbl"** %vtbl.i ; <%"tango.text.Regex.RegExpT!(char).RegExpT.__vtbl"*> [#uses=1]
+ %"r.test@vtbl" = getelementptr %"tango.text.Regex.RegExpT!(char).RegExpT.__vtbl"* %tmp157, i32 0, i32 7 ; <i1 (%"tango.text.Regex.RegExpT!(char).RegExpT"*, %"byte[]")**> [#uses=1]
+ %r.test = load i1 (%"tango.text.Regex.RegExpT!(char).RegExpT"*, %"byte[]")** %"r.test@vtbl", align 4 ; <i1 (%"tango.text.Regex.RegExpT!(char).RegExpT"*, %"byte[]")*> [#uses=1]
+ %insert = insertvalue %"byte[]" undef, i32 %line_arg830, 0 ; <%"byte[]"> [#uses=1]
+ %insert833 = insertvalue %"byte[]" %insert, i8* %line_arg831, 1 ; <%"byte[]"> [#uses=1]
+ %tmp160 = call fastcc i1 %r.test(%"tango.text.Regex.RegExpT!(char).RegExpT"* %.newclass_gc.i, %"byte[]" %insert833) ; <i1> [#uses=1]
+ br i1 %tmp160, label %endif162, label %if161
+
+if161: ; preds = %endif150
+ %tmp163 = bitcast %tango.net.ftp.FtpClient.FtpFileInfo* %.sret_arg to i8* ; <i8*> [#uses=1]
+ call void @llvm.memcpy.i32(i8* %tmp163, i8* %tmp2, i32 48, i32 1)
+ ret void
+
+endif162: ; preds = %endif150
+ %tmp168 = load %"tango.text.Regex.RegExpT!(char).RegExpT.__vtbl"** %vtbl.i ; <%"tango.text.Regex.RegExpT!(char).RegExpT.__vtbl"*> [#uses=1]
+ %"r.match@vtbl" = getelementptr %"tango.text.Regex.RegExpT!(char).RegExpT.__vtbl"* %tmp168, i32 0, i32 9 ; <%"byte[]" (%"tango.text.Regex.RegExpT!(char).RegExpT"*, i32)**> [#uses=1]
+ %r.match = load %"byte[]" (%"tango.text.Regex.RegExpT!(char).RegExpT"*, i32)** %"r.match@vtbl", align 4 ; <%"byte[]" (%"tango.text.Regex.RegExpT!(char).RegExpT"*, i32)*> [#uses=1]
+ %tmp170 = call fastcc %"byte[]" %r.match(%"tango.text.Regex.RegExpT!(char).RegExpT"* %.newclass_gc.i, i32 0) ; <%"byte[]"> [#uses=1]
+ %tmp171 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %info, i32 0, i32 3 ; <%tango.time.Time.Time*> [#uses=1]
+ %tmp172 = call fastcc i32 @_D5tango4text7convert9TimeStamp14__T7dostimeTaZ7dostimeFAaKS5tango4time4Time4TimeZi(%"byte[]" %tmp170, %tango.time.Time.Time* %tmp171) ; <i32> [#uses=1]
+ %tmp173 = icmp eq i32 %tmp172, 0 ; <i1> [#uses=1]
+ br i1 %tmp173, label %if174, label %endif175
+
+if174: ; preds = %endif162
+ %tmp = load i64* getelementptr (%tango.time.Time.Time* @_D5tango4time4Time4Time3maxS5tango4time4Time4Time, i32 0, i32 0), align 4 ; <i64> [#uses=1]
+ %2 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %info, i32 0, i32 3, i32 0 ; <i64*> [#uses=1]
+ store i64 %tmp, i64* %2
+ br label %endif175
+
+endif175: ; preds = %if174, %endif162
+ %tmp180 = load %"tango.text.Regex.RegExpT!(char).RegExpT.__vtbl"** %vtbl.i ; <%"tango.text.Regex.RegExpT!(char).RegExpT.__vtbl"*> [#uses=1]
+ %"r.match@vtbl181" = getelementptr %"tango.text.Regex.RegExpT!(char).RegExpT.__vtbl"* %tmp180, i32 0, i32 9 ; <%"byte[]" (%"tango.text.Regex.RegExpT!(char).RegExpT"*, i32)**> [#uses=1]
+ %r.match183 = load %"byte[]" (%"tango.text.Regex.RegExpT!(char).RegExpT"*, i32)** %"r.match@vtbl181", align 4 ; <%"byte[]" (%"tango.text.Regex.RegExpT!(char).RegExpT"*, i32)*> [#uses=1]
+ %tmp184 = call fastcc %"byte[]" %r.match183(%"tango.text.Regex.RegExpT!(char).RegExpT"* %.newclass_gc.i, i32 0) ; <%"byte[]"> [#uses=1]
+ %.len185 = extractvalue %"byte[]" %tmp184, 0 ; <i32> [#uses=1]
+ %.tmp = bitcast i8* %.newclass_gc_alloc.i to %object.Object* ; <%object.Object*> [#uses=1]
+ call void @_d_delclass(%object.Object* %.tmp)
+ br label %whilecond.i
+
+whilecond.i: ; preds = %whilebody.i, %endif175
+ %tmp3.i = phi i32 [ %tmp18.i.c, %whilebody.i ], [ %.len185, %endif175 ] ; <i32> [#uses=11]
+ %tmp4.i = icmp ult i32 %tmp3.i, %line_arg830 ; <i1> [#uses=1]
+ br i1 %tmp4.i, label %andand.i, label %whilecond22.i
+
+whilebody.i: ; preds = %andand.i
+ %tmp18.i.c = add i32 %tmp3.i, 1 ; <i32> [#uses=1]
+ br label %whilecond.i
+
+andand.i: ; preds = %whilecond.i
+ %tmp11.i = getelementptr i8* %line_arg831, i32 %tmp3.i ; <i8*> [#uses=1]
+ %tmp12.i = load i8* %tmp11.i ; <i8> [#uses=1]
+ %tmp14.i = icmp eq i8 %tmp12.i, 32 ; <i1> [#uses=1]
+ br i1 %tmp14.i, label %whilebody.i, label %whilecond22.i
+
+whilecond22.i: ; preds = %whilebody23.i, %andand.i, %whilecond.i
+ %tmp217.rle699 = phi i32 [ %tmp50.i, %whilebody23.i ], [ %tmp3.i, %andand.i ], [ %tmp3.i, %whilecond.i ] ; <i32> [#uses=2]
+ %tmp49.i = phi i32 [ %tmp3.i, %andand.i ], [ %tmp50.i, %whilebody23.i ], [ %tmp3.i, %whilecond.i ] ; <i32> [#uses=7]
+ %tmp32.i = icmp ult i32 %tmp49.i, %line_arg830 ; <i1> [#uses=1]
+ br i1 %tmp32.i, label %andand33.i, label %whilecond54.i
+
+whilebody23.i: ; preds = %andand33.i
+ %tmp50.i = add i32 %tmp49.i, 1 ; <i32> [#uses=2]
+ br label %whilecond22.i
+
+andand33.i: ; preds = %whilecond22.i
+ %tmp42.i = getelementptr i8* %line_arg831, i32 %tmp49.i ; <i8*> [#uses=1]
+ %tmp43.i = load i8* %tmp42.i ; <i8> [#uses=1]
+ %tmp45.i = icmp eq i8 %tmp43.i, 32 ; <i1> [#uses=1]
+ br i1 %tmp45.i, label %whilecond54.i, label %whilebody23.i
+
+whilecond54.i: ; preds = %whilebody55.i, %andand33.i, %whilecond22.i
+ %tmp217 = phi i32 [ %tmp82.i, %whilebody55.i ], [ %tmp217.rle699, %andand33.i ], [ %tmp217.rle699, %whilecond22.i ] ; <i32> [#uses=2]
+ %tmp81.i = phi i32 [ %tmp49.i, %andand33.i ], [ %tmp82.i, %whilebody55.i ], [ %tmp49.i, %whilecond22.i ] ; <i32> [#uses=3]
+ %tmp64.i = icmp ult i32 %tmp81.i, %line_arg830 ; <i1> [#uses=1]
+ br i1 %tmp64.i, label %andand65.i, label %_D5tango3net3ftp9FtpClient13FTPConnection13parseListLineMFAaZS5tango3net3ftp9FtpClient11FtpFileInfo10parse_wordMFZAa.exit
+
+whilebody55.i: ; preds = %andand65.i
+ %tmp82.i = add i32 %tmp81.i, 1 ; <i32> [#uses=2]
+ br label %whilecond54.i
+
+andand65.i: ; preds = %whilecond54.i
+ %tmp74.i = getelementptr i8* %line_arg831, i32 %tmp81.i ; <i8*> [#uses=1]
+ %tmp75.i = load i8* %tmp74.i ; <i8> [#uses=1]
+ %tmp77.i = icmp eq i8 %tmp75.i, 32 ; <i1> [#uses=1]
+ br i1 %tmp77.i, label %whilebody55.i, label %_D5tango3net3ftp9FtpClient13FTPConnection13parseListLineMFAaZS5tango3net3ftp9FtpClient11FtpFileInfo10parse_wordMFZAa.exit
+
+_D5tango3net3ftp9FtpClient13FTPConnection13parseListLineMFAaZS5tango3net3ftp9FtpClient11FtpFileInfo10parse_wordMFZAa.exit: ; preds = %andand65.i, %whilecond54.i
+ %tmp89.i = getelementptr i8* %line_arg831, i32 %tmp3.i ; <i8*> [#uses=4]
+ %tmp90.i = sub i32 %tmp49.i, %tmp3.i ; <i32> [#uses=2]
+ %tmp201 = load i8* %tmp89.i ; <i8> [#uses=2]
+ %tmp203 = icmp eq i8 %tmp201, 60 ; <i1> [#uses=1]
+ br i1 %tmp203, label %if204, label %else206
+
+if204: ; preds = %_D5tango3net3ftp9FtpClient13FTPConnection13parseListLineMFAaZS5tango3net3ftp9FtpClient11FtpFileInfo10parse_wordMFZAa.exit
+ %tmp207 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %info, i32 0, i32 1 ; <i32*> [#uses=1]
+ store i32 4, i32* %tmp207, align 8
+ br label %endif193
+
+else206: ; preds = %_D5tango3net3ftp9FtpClient13FTPConnection13parseListLineMFAaZS5tango3net3ftp9FtpClient11FtpFileInfo10parse_wordMFZAa.exit
+ %tmp208 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %info, i32 0, i32 2 ; <i64*> [#uses=1]
+ %tmp4.i.i274 = icmp eq i32 %tmp49.i, %tmp3.i ; <i1> [#uses=1]
+ br i1 %tmp4.i.i274, label %_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit.i, label %forcond.i.i278
+
+forcond.i.i278: ; preds = %forinc.i.i, %else206
+ %c.0.i.i = phi i8 [ %c.0.i.i.pre, %forinc.i.i ], [ %tmp201, %else206 ] ; <i8> [#uses=2]
+ %sign.1.i = phi i1 [ false, %else206 ], [ %sign.0.i, %forinc.i.i ] ; <i1> [#uses=4]
+ %len.0.i.i275 = phi i32 [ %tmp33.i.i, %forinc.i.i ], [ %tmp90.i, %else206 ] ; <i32> [#uses=3]
+ %p.0.i.i276 = phi i8* [ %tmp30.i.i, %forinc.i.i ], [ %tmp89.i, %else206 ] ; <i8*> [#uses=6]
+ %tmp8.i.i277 = icmp eq i32 %len.0.i.i275, 0 ; <i1> [#uses=1]
+ br i1 %tmp8.i.i277, label %endfor.i.i280, label %forbody.i.i279
+
+forbody.i.i279: ; preds = %forcond.i.i278
+ switch i8 %c.0.i.i, label %endfor.i.i280 [
+ i8 32, label %forinc.i.i
+ i8 9, label %forinc.i.i
+ i8 45, label %if20.i.i
+ i8 43, label %if26.i.i
+ ]
+
+if20.i.i: ; preds = %forbody.i.i279
+ br label %forinc.i.i
+
+if26.i.i: ; preds = %forbody.i.i279
+ br label %forinc.i.i
+
+forinc.i.i: ; preds = %if26.i.i, %if20.i.i, %forbody.i.i279, %forbody.i.i279
+ %sign.0.i = phi i1 [ false, %if26.i.i ], [ true, %if20.i.i ], [ %sign.1.i, %forbody.i.i279 ], [ %sign.1.i, %forbody.i.i279 ] ; <i1> [#uses=1]
+ %tmp30.i.i = getelementptr i8* %p.0.i.i276, i32 1 ; <i8*> [#uses=2]
+ %tmp33.i.i = add i32 %len.0.i.i275, -1 ; <i32> [#uses=1]
+ %c.0.i.i.pre = load i8* %tmp30.i.i ; <i8> [#uses=1]
+ br label %forcond.i.i278
+
+endfor.i.i280: ; preds = %forbody.i.i279, %forcond.i.i278
+ %tmp37.i.i = icmp eq i8 %c.0.i.i, 48 ; <i1> [#uses=1]
+ %tmp39.i.i = icmp sgt i32 %len.0.i.i275, 1 ; <i1> [#uses=1]
+ %or.cond.i.i = and i1 %tmp37.i.i, %tmp39.i.i ; <i1> [#uses=1]
+ br i1 %or.cond.i.i, label %if40.i.i, label %endif41.i.i
+
+if40.i.i: ; preds = %endfor.i.i280
+ %tmp43.i.i = getelementptr i8* %p.0.i.i276, i32 1 ; <i8*> [#uses=2]
+ %tmp44.i.i = load i8* %tmp43.i.i ; <i8> [#uses=1]
+ %tmp45.i.i = zext i8 %tmp44.i.i to i32 ; <i32> [#uses=1]
+ switch i32 %tmp45.i.i, label %endif41.i.i [
+ i32 120, label %case46.i.i
+ i32 88, label %case46.i.i
+ i32 98, label %case51.i.i
+ i32 66, label %case51.i.i
+ i32 111, label %case56.i.i
+ i32 79, label %case56.i.i
+ ]
+
+case46.i.i: ; preds = %if40.i.i, %if40.i.i
+ %tmp48.i.i = getelementptr i8* %p.0.i.i276, i32 2 ; <i8*> [#uses=1]
+ br label %endif41.i.i
+
+case51.i.i: ; preds = %if40.i.i, %if40.i.i
+ %tmp53.i.i = getelementptr i8* %p.0.i.i276, i32 2 ; <i8*> [#uses=1]
+ br label %endif41.i.i
+
+case56.i.i: ; preds = %if40.i.i, %if40.i.i
+ %tmp58.i.i = getelementptr i8* %p.0.i.i276, i32 2 ; <i8*> [#uses=1]
+ br label %endif41.i.i
+
+endif41.i.i: ; preds = %case56.i.i, %case51.i.i, %case46.i.i, %if40.i.i, %endfor.i.i280
+ %r.0.i.i = phi i32 [ 0, %if40.i.i ], [ 8, %case56.i.i ], [ 2, %case51.i.i ], [ 16, %case46.i.i ], [ 0, %endfor.i.i280 ] ; <i32> [#uses=2]
+ %p.2.i.i = phi i8* [ %tmp43.i.i, %if40.i.i ], [ %tmp58.i.i, %case56.i.i ], [ %tmp53.i.i, %case51.i.i ], [ %tmp48.i.i, %case46.i.i ], [ %p.0.i.i276, %endfor.i.i280 ] ; <i8*> [#uses=2]
+ %tmp63.i.i = icmp eq i32 %r.0.i.i, 0 ; <i1> [#uses=1]
+ br i1 %tmp63.i.i, label %_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit.i, label %if70.i.i
+
+if70.i.i: ; preds = %endif41.i.i
+ br label %_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit.i
+
+_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit.i: ; preds = %if70.i.i, %endif41.i.i, %else206
+ %sign.2.i = phi i1 [ false, %else206 ], [ %sign.1.i, %if70.i.i ], [ %sign.1.i, %endif41.i.i ] ; <i1> [#uses=1]
+ %radix.0.i = phi i32 [ 0, %else206 ], [ %r.0.i.i, %if70.i.i ], [ 10, %endif41.i.i ] ; <i32> [#uses=2]
+ %p.1.i.i = phi i8* [ %p.2.i.i, %if70.i.i ], [ %tmp89.i, %else206 ], [ %p.2.i.i, %endif41.i.i ] ; <i8*> [#uses=1]
+ %tmp84.i.i = ptrtoint i8* %p.1.i.i to i32 ; <i32> [#uses=1]
+ %tmp85.i.i = ptrtoint i8* %tmp89.i to i32 ; <i32> [#uses=1]
+ %tmp86.i.i = sub i32 %tmp84.i.i, %tmp85.i.i ; <i32> [#uses=2]
+ %tmp6.i281 = sub i32 %tmp90.i, %tmp86.i.i ; <i32> [#uses=1]
+ br label %foreachcond.i.i
+
+foreachcond.i.i: ; preds = %if55.i.i, %_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit.i
+ %value.0.i.i = phi i64 [ 0, %_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit.i ], [ %tmp65.i.i, %if55.i.i ] ; <i64> [#uses=3]
+ %foreachkey.0.i.i = phi i32 [ 0, %_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit.i ], [ %tmp70.i.i, %if55.i.i ] ; <i32> [#uses=3]
+ %tmp3.i.i = icmp ult i32 %foreachkey.0.i.i, %tmp6.i281 ; <i1> [#uses=1]
+ br i1 %tmp3.i.i, label %foreachbody.i.i, label %_D5tango4text7convert7Integer12__T5parseTaZ5parseFAakPkZl.exit
+
+foreachbody.i.i: ; preds = %foreachcond.i.i
+ %tmp5.sum.i = add i32 %tmp86.i.i, %foreachkey.0.i.i ; <i32> [#uses=1]
+ %tmp89.i.sum = add i32 %tmp3.i, %tmp5.sum.i ; <i32> [#uses=1]
+ %tmp5.i.i282 = getelementptr i8* %line_arg831, i32 %tmp89.i.sum ; <i8*> [#uses=1]
+ %tmp6.i.i = load i8* %tmp5.i.i282 ; <i8> [#uses=6]
+ %tmp6.off84.i.i = add i8 %tmp6.i.i, -48 ; <i8> [#uses=1]
+ %or.cond.i28.i = icmp ugt i8 %tmp6.off84.i.i, 9 ; <i1> [#uses=1]
+ br i1 %or.cond.i28.i, label %else.i.i, label %endif.i.i
+
+else.i.i: ; preds = %foreachbody.i.i
+ %tmp6.off83.i.i = add i8 %tmp6.i.i, -97 ; <i8> [#uses=1]
+ %or.cond81.i.i = icmp ugt i8 %tmp6.off83.i.i, 25 ; <i1> [#uses=1]
+ br i1 %or.cond81.i.i, label %else24.i.i, label %if22.i.i
+
+if22.i.i: ; preds = %else.i.i
+ %tmp27.i.i = add i8 %tmp6.i.i, -39 ; <i8> [#uses=1]
+ br label %endif.i.i
+
+else24.i.i: ; preds = %else.i.i
+ %tmp6.off.i.i = add i8 %tmp6.i.i, -65 ; <i8> [#uses=1]
+ %or.cond82.i.i = icmp ugt i8 %tmp6.off.i.i, 25 ; <i1> [#uses=1]
+ br i1 %or.cond82.i.i, label %_D5tango4text7convert7Integer12__T5parseTaZ5parseFAakPkZl.exit, label %if39.i.i
+
+if39.i.i: ; preds = %else24.i.i
+ %tmp44.i29.i = add i8 %tmp6.i.i, -7 ; <i8> [#uses=1]
+ br label %endif.i.i
+
+endif.i.i: ; preds = %if39.i.i, %if22.i.i, %foreachbody.i.i
+ %c.0.i30.i = phi i8 [ %tmp27.i.i, %if22.i.i ], [ %tmp44.i29.i, %if39.i.i ], [ %tmp6.i.i, %foreachbody.i.i ] ; <i8> [#uses=1]
+ %tmp48.i31.i = zext i8 %c.0.i30.i to i32 ; <i32> [#uses=1]
+ %tmp49.i.i = add i32 %tmp48.i31.i, 208 ; <i32> [#uses=1]
+ %tmp52.i.i = and i32 %tmp49.i.i, 255 ; <i32> [#uses=2]
+ %tmp54.i.i = icmp ult i32 %tmp52.i.i, %radix.0.i ; <i1> [#uses=1]
+ br i1 %tmp54.i.i, label %if55.i.i, label %_D5tango4text7convert7Integer12__T5parseTaZ5parseFAakPkZl.exit
+
+if55.i.i: ; preds = %endif.i.i
+ %tmp59.i.i = zext i32 %radix.0.i to i64 ; <i64> [#uses=1]
+ %tmp61.i.i = mul i64 %value.0.i.i, %tmp59.i.i ; <i64> [#uses=1]
+ %tmp64.i.i = zext i32 %tmp52.i.i to i64 ; <i64> [#uses=1]
+ %tmp65.i.i = add i64 %tmp61.i.i, %tmp64.i.i ; <i64> [#uses=1]
+ %tmp70.i.i = add i32 %foreachkey.0.i.i, 1 ; <i32> [#uses=1]
+ br label %foreachcond.i.i
+
+_D5tango4text7convert7Integer12__T5parseTaZ5parseFAakPkZl.exit: ; preds = %endif.i.i, %else24.i.i, %foreachcond.i.i
+ %negval.i = sub i64 0, %value.0.i.i ; <i64> [#uses=1]
+ %condtmp.0.i = select i1 %sign.2.i, i64 %negval.i, i64 %value.0.i.i ; <i64> [#uses=1]
+ store i64 %condtmp.0.i, i64* %tmp208
+ %tmp211 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %info, i32 0, i32 1 ; <i32*> [#uses=1]
+ store i32 1, i32* %tmp211, align 8
+ br label %endif193
+
+endif193: ; preds = %_D5tango4text7convert7Integer12__T5parseTaZ5parseFAakPkZl.exit, %if204
+ %tmp218 = getelementptr i8* %line_arg831, i32 %tmp217 ; <i8*> [#uses=1]
+ %tmp219 = sub i32 %line_arg830, %tmp217 ; <i32> [#uses=1]
+ %tmp220 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %info, i32 0, i32 0, i32 0 ; <i32*> [#uses=1]
+ store i32 %tmp219, i32* %tmp220, align 8
+ %tmp221 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %info, i32 0, i32 0, i32 1 ; <i8**> [#uses=1]
+ store i8* %tmp218, i8** %tmp221
+ br label %switchend
+
+default223: ; preds = %_D5tango4text4Util15__T8containsTaZ8containsFAaaZb.exit
+ %.newclass_gc_alloc = call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango3net3ftp9FtpClient12FtpException7__ClassZ) ; <i8*> [#uses=6]
+ %vtbl = bitcast i8* %.newclass_gc_alloc to %tango.net.ftp.FtpClient.FtpException.__vtbl** ; <%tango.net.ftp.FtpClient.FtpException.__vtbl**> [#uses=1]
+ store %tango.net.ftp.FtpClient.FtpException.__vtbl* @_D5tango3net3ftp9FtpClient12FtpException6__vtblZ, %tango.net.ftp.FtpClient.FtpException.__vtbl** %vtbl
+ %monitor = getelementptr i8* %.newclass_gc_alloc, i32 4 ; <i8*> [#uses=1]
+ %3 = bitcast i8* %monitor to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %3
+ %tmp224 = getelementptr i8* %.newclass_gc_alloc, i32 8 ; <i8*> [#uses=1]
+ call void @llvm.memcpy.i32(i8* %tmp224, i8* bitcast (%"byte[]"* getelementptr (%tango.net.ftp.FtpClient.FtpException* @_D5tango3net3ftp9FtpClient12FtpException6__initZ, i32 0, i32 2) to i8*), i32 31, i32 1)
+ %tmp2.i = getelementptr i8* %.newclass_gc_alloc, i32 36 ; <i8*> [#uses=1]
+ call void @llvm.memcpy.i32(i8* %tmp2.i, i8* getelementptr ([4 x i8]* @.str177, i32 0, i32 0), i32 3, i32 1)
+ %tmp5.i = bitcast i8* %.newclass_gc_alloc to %object.Exception* ; <%object.Exception*> [#uses=1]
+ %tmp7.i = call fastcc %object.Exception* @_D6object9Exception5_ctorMFAaC9ExceptionZC9Exception(%object.Exception* %tmp5.i, %"byte[]" { i32 31, i8* getelementptr ([32 x i8]* @.str176, i32 0, i32 0) }, %object.Exception* null) ; <%object.Exception*> [#uses=0]
+ %tmp229 = bitcast i8* %.newclass_gc_alloc to %object.Object* ; <%object.Object*> [#uses=1]
+ call void @_d_throw_exception(%object.Object* %tmp229)
+ unreachable
+
+switchend: ; preds = %endif193, %if110, %_D5tango4text4Util21__T13locatePatternTaZ13locatePatternFAaAakZk.exit, %endif81
+ %tmp232 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %info, i32 0, i32 0, i32 0 ; <i32*> [#uses=1]
+ %.len233 = load i32* %tmp232, align 8 ; <i32> [#uses=2]
+ %tmp234 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %info, i32 0, i32 0, i32 1 ; <i8**> [#uses=1]
+ %.ptr235 = load i8** %tmp234 ; <i8*> [#uses=2]
+ %tmp236 = insertvalue %"byte[]" undef, i32 %.len233, 0 ; <%"byte[]"> [#uses=1]
+ %tmp237 = insertvalue %"byte[]" %tmp236, i8* %.ptr235, 1 ; <%"byte[]"> [#uses=1]
+ %tmp238 = call i32 @_adEq(%"byte[]" %tmp237, %"byte[]" { i32 1, i8* getelementptr ([2 x i8]* @.str178, i32 0, i32 0) }, %object.TypeInfo* @_D11TypeInfo_Aa6__initZ) readonly ; <i32> [#uses=1]
+ %tmp239 = icmp eq i32 %tmp238, 0 ; <i1> [#uses=1]
+ br i1 %tmp239, label %else242, label %if240
+
+if240: ; preds = %switchend
+ %tmp243 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %info, i32 0, i32 1 ; <i32*> [#uses=1]
+ store i32 2, i32* %tmp243, align 8
+ br label %endif241
+
+else242: ; preds = %switchend
+ %tmp250 = insertvalue %"byte[]" undef, i32 %.len233, 0 ; <%"byte[]"> [#uses=1]
+ %tmp251 = insertvalue %"byte[]" %tmp250, i8* %.ptr235, 1 ; <%"byte[]"> [#uses=1]
+ %tmp252 = call i32 @_adEq(%"byte[]" %tmp251, %"byte[]" { i32 2, i8* getelementptr ([3 x i8]* @.str179, i32 0, i32 0) }, %object.TypeInfo* @_D11TypeInfo_Aa6__initZ) readonly ; <i32> [#uses=1]
+ %tmp253 = icmp eq i32 %tmp252, 0 ; <i1> [#uses=1]
+ br i1 %tmp253, label %endif241, label %if254
+
+if254: ; preds = %else242
+ %tmp256 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %info, i32 0, i32 1 ; <i32*> [#uses=1]
+ store i32 3, i32* %tmp256, align 8
+ br label %endif241
+
+endif241: ; preds = %if254, %else242, %if240
+ %tmp257 = bitcast %tango.net.ftp.FtpClient.FtpFileInfo* %.sret_arg to i8* ; <i8*> [#uses=1]
+ call void @llvm.memcpy.i32(i8* %tmp257, i8* %tmp2, i32 48, i32 1)
+ ret void
+}
+
+define fastcc void @_D5tango3net3ftp9FtpClient13FTPConnection13parseMlstLineMFAaZS5tango3net3ftp9FtpClient11FtpFileInfo(%tango.net.ftp.FtpClient.FtpFileInfo* noalias nocapture sret %.sret_arg, %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" %line_arg) {
+entry:
+ %.frame.i = alloca %nest.delimit, align 8 ; <%nest.delimit*> [#uses=2]
+ %.rettmp.i = alloca %tango.net.ftp.FtpClient.FtpFeature, align 8 ; <%tango.net.ftp.FtpClient.FtpFeature*> [#uses=5]
+ %info = alloca %tango.net.ftp.FtpClient.FtpFileInfo, align 4 ; <%tango.net.ftp.FtpClient.FtpFileInfo*> [#uses=14]
+ %aatmpkeystorage = alloca %"byte[]", align 8 ; <%"byte[]"*> [#uses=2]
+ %aatmpkeystorage89 = alloca %"byte[]", align 8 ; <%"byte[]"*> [#uses=2]
+ %aatmpkeystorage98 = alloca %"byte[]", align 8 ; <%"byte[]"*> [#uses=2]
+ %aatmpkeystorage120 = alloca %"byte[]", align 8 ; <%"byte[]"*> [#uses=2]
+ %aatmpkeystorage131 = alloca %"byte[]", align 8 ; <%"byte[]"*> [#uses=2]
+ %aatmpkeystorage140 = alloca %"byte[]", align 8 ; <%"byte[]"*> [#uses=2]
+ %aatmpkeystorage151 = alloca %"byte[]", align 8 ; <%"byte[]"*> [#uses=2]
+ %aatmpkeystorage159 = alloca %"byte[]", align 8 ; <%"byte[]"*> [#uses=2]
+ %.rettmp = alloca %tango.time.Time.Time, align 8 ; <%tango.time.Time.Time*> [#uses=2]
+ %aatmpkeystorage174 = alloca %"byte[]", align 8 ; <%"byte[]"*> [#uses=2]
+ %aatmpkeystorage184 = alloca %"byte[]", align 8 ; <%"byte[]"*> [#uses=2]
+ %.rettmp198 = alloca %tango.time.Time.Time, align 8 ; <%tango.time.Time.Time*> [#uses=2]
+ %aatmpkeystorage202 = alloca %"byte[]", align 8 ; <%"byte[]"*> [#uses=2]
+ %line_arg217 = extractvalue %"byte[]" %line_arg, 0 ; <i32> [#uses=3]
+ %line_arg218 = extractvalue %"byte[]" %line_arg, 1 ; <i8*> [#uses=3]
+ %tmp = bitcast %tango.net.ftp.FtpClient.FtpFileInfo* %info to i8* ; <i8*> [#uses=2]
+ call void @llvm.memcpy.i32(i8* %tmp, i8* bitcast (%tango.net.ftp.FtpClient.FtpFileInfo* @_D5tango3net3ftp9FtpClient11FtpFileInfo6__initZ to i8*), i32 48, i32 4)
+ br label %whilecond
+
+whilecond: ; preds = %andand, %entry
+ %filename_pos.0 = phi i32 [ 0, %entry ], [ %tmp5, %andand ] ; <i32> [#uses=4]
+ %tmp3 = icmp ult i32 %filename_pos.0, %line_arg217 ; <i1> [#uses=1]
+ br i1 %tmp3, label %andand, label %endwhile
+
+andand: ; preds = %whilecond
+ %tmp5 = add i32 %filename_pos.0, 1 ; <i32> [#uses=2]
+ %tmp7 = getelementptr i8* %line_arg218, i32 %filename_pos.0 ; <i8*> [#uses=1]
+ %tmp8 = load i8* %tmp7 ; <i8> [#uses=1]
+ %tmp10 = icmp eq i8 %tmp8, 32 ; <i1> [#uses=1]
+ br i1 %tmp10, label %endwhile, label %whilecond
+
+endwhile: ; preds = %andand, %whilecond
+ %filename_pos.1 = phi i32 [ %tmp5, %andand ], [ %filename_pos.0, %whilecond ] ; <i32> [#uses=5]
+ %tmp14 = icmp eq i32 %filename_pos.1, %line_arg217 ; <i1> [#uses=1]
+ br i1 %tmp14, label %if, label %endif
+
+if: ; preds = %endwhile
+ %.newclass_gc_alloc = call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango3net3ftp9FtpClient12FtpException7__ClassZ) ; <i8*> [#uses=6]
+ %vtbl = bitcast i8* %.newclass_gc_alloc to %tango.net.ftp.FtpClient.FtpException.__vtbl** ; <%tango.net.ftp.FtpClient.FtpException.__vtbl**> [#uses=1]
+ store %tango.net.ftp.FtpClient.FtpException.__vtbl* @_D5tango3net3ftp9FtpClient12FtpException6__vtblZ, %tango.net.ftp.FtpClient.FtpException.__vtbl** %vtbl
+ %monitor = getelementptr i8* %.newclass_gc_alloc, i32 4 ; <i8*> [#uses=1]
+ %0 = bitcast i8* %monitor to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %0
+ %tmp15 = getelementptr i8* %.newclass_gc_alloc, i32 8 ; <i8*> [#uses=1]
+ call void @llvm.memcpy.i32(i8* %tmp15, i8* bitcast (%"byte[]"* getelementptr (%tango.net.ftp.FtpClient.FtpException* @_D5tango3net3ftp9FtpClient12FtpException6__initZ, i32 0, i32 2) to i8*), i32 31, i32 1)
+ %tmp2.i = getelementptr i8* %.newclass_gc_alloc, i32 36 ; <i8*> [#uses=1]
+ call void @llvm.memcpy.i32(i8* %tmp2.i, i8* getelementptr ([4 x i8]* @.str181, i32 0, i32 0), i32 3, i32 1)
+ %tmp5.i = bitcast i8* %.newclass_gc_alloc to %object.Exception* ; <%object.Exception*> [#uses=1]
+ %tmp7.i = call fastcc %object.Exception* @_D6object9Exception5_ctorMFAaC9ExceptionZC9Exception(%object.Exception* %tmp5.i, %"byte[]" { i32 35, i8* getelementptr ([36 x i8]* @.str180, i32 0, i32 0) }, %object.Exception* null) ; <%object.Exception*> [#uses=0]
+ %tmp20 = bitcast i8* %.newclass_gc_alloc to %object.Object* ; <%object.Object*> [#uses=1]
+ call void @_d_throw_exception(%object.Object* %tmp20)
+ unreachable
+
+endif: ; preds = %endwhile
+ %tmp27 = getelementptr i8* %line_arg218, i32 %filename_pos.1 ; <i8*> [#uses=1]
+ %tmp28 = sub i32 %line_arg217, %filename_pos.1 ; <i32> [#uses=1]
+ %tmp29 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %info, i32 0, i32 0, i32 0 ; <i32*> [#uses=1]
+ store i32 %tmp28, i32* %tmp29
+ %tmp30 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %info, i32 0, i32 0, i32 1 ; <i8**> [#uses=1]
+ store i8* %tmp27, i8** %tmp30
+ %tmp32 = icmp ugt i32 %filename_pos.1, 1 ; <i1> [#uses=1]
+ br i1 %tmp32, label %if33, label %endif34
+
+if33: ; preds = %endif
+ %tmp38 = add i32 %filename_pos.1, -1 ; <i32> [#uses=1]
+ %result.i = getelementptr %nest.delimit* %.frame.i, i32 0, i32 0 ; <%"char[][]"*> [#uses=2]
+ store %"char[][]" zeroinitializer, %"char[][]"* %result.i, align 8
+ %1 = getelementptr %tango.net.ftp.FtpClient.FtpFeature* %.rettmp.i, i32 0, i32 0, i32 0 ; <i32*> [#uses=1]
+ store i32 %tmp38, i32* %1, align 8
+ %.sret_arg18.1.i.i = getelementptr %tango.net.ftp.FtpClient.FtpFeature* %.rettmp.i, i32 0, i32 0, i32 1 ; <i8**> [#uses=1]
+ store i8* %line_arg218, i8** %.sret_arg18.1.i.i, align 4
+ %.sret_arg.1.0.i.i = getelementptr %tango.net.ftp.FtpClient.FtpFeature* %.rettmp.i, i32 0, i32 1, i32 0 ; <i32*> [#uses=1]
+ store i32 1, i32* %.sret_arg.1.0.i.i, align 8
+ %.sret_arg.1.1.i.i = getelementptr %tango.net.ftp.FtpClient.FtpFeature* %.rettmp.i, i32 0, i32 1, i32 1 ; <i8**> [#uses=1]
+ store i8* getelementptr ([2 x i8]* @.str182, i32 0, i32 0), i8** %.sret_arg.1.1.i.i, align 4
+ %tmp2.i225 = bitcast %nest.delimit* %.frame.i to i8* ; <i8*> [#uses=1]
+ %tmp3.i = insertvalue %"int delegate(ref char[])" undef, i8* %tmp2.i225, 0 ; <%"int delegate(ref char[])"> [#uses=1]
+ %.func.i = insertvalue %"int delegate(ref char[])" %tmp3.i, i32 (i8*, %"byte[]"*)* @_D5tango4text4Util14__T7delimitTaZ7delimitFAaAaZAAa15__foreachbody43MFKAaZi, 1 ; <%"int delegate(ref char[])"> [#uses=1]
+ %tmp4.i = call fastcc i32 @_D5tango4text4Util18__T10DelimFructTaZ10DelimFruct7opApplyMFDFKAaZiZi(%tango.net.ftp.FtpClient.FtpFeature* %.rettmp.i, %"int delegate(ref char[])" %.func.i) ; <i32> [#uses=0]
+ %tmp5.i226 = load %"char[][]"* %result.i, align 8 ; <%"char[][]"> [#uses=2]
+ %tmp43215 = extractvalue %"char[][]" %tmp5.i226, 0 ; <i32> [#uses=1]
+ %tmp43216 = extractvalue %"char[][]" %tmp5.i226, 1 ; <%"byte[]"*> [#uses=1]
+ br label %foreachcond
+
+foreachcond: ; preds = %foreachnext, %if33
+ %foreachkey.0 = phi i32 [ 0, %if33 ], [ %tmp85, %foreachnext ] ; <i32> [#uses=3]
+ %tmp49 = icmp ult i32 %foreachkey.0, %tmp43215 ; <i1> [#uses=1]
+ br i1 %tmp49, label %foreachbody, label %foreachend
+
+foreachbody: ; preds = %foreachcond
+ %tmp51 = getelementptr %"byte[]"* %tmp43216, i32 %foreachkey.0 ; <%"byte[]"*> [#uses=1]
+ %tmp52 = load %"byte[]"* %tmp51 ; <%"byte[]"> [#uses=2]
+ %tmp52213 = extractvalue %"byte[]" %tmp52, 0 ; <i32> [#uses=4]
+ %tmp52214 = extractvalue %"byte[]" %tmp52, 1 ; <i8*> [#uses=4]
+ %tmp2.i.i = getelementptr i8* %tmp52214, i32 -1 ; <i8*> [#uses=1]
+ br label %forcond.i.i
+
+forcond.i.i: ; preds = %forbody.i.i, %foreachbody
+ %len.0.i.i = phi i32 [ %tmp52213, %foreachbody ], [ %tmp4.i.i, %forbody.i.i ] ; <i32> [#uses=2]
+ %p.0.i.i = phi i8* [ %tmp2.i.i, %foreachbody ], [ %tmp7.i.i, %forbody.i.i ] ; <i8*> [#uses=1]
+ %tmp4.i.i = add i32 %len.0.i.i, -1 ; <i32> [#uses=1]
+ %tmp5.i.i = icmp eq i32 %len.0.i.i, 0 ; <i1> [#uses=1]
+ br i1 %tmp5.i.i, label %_D5tango4text4Util13__T6locateTaZ6locateFAaakZk.exit, label %forbody.i.i
+
+forbody.i.i: ; preds = %forcond.i.i
+ %tmp7.i.i = getelementptr i8* %p.0.i.i, i32 1 ; <i8*> [#uses=3]
+ %tmp8.i.i = load i8* %tmp7.i.i ; <i8> [#uses=1]
+ %tmp12.i.i = icmp eq i8 %tmp8.i.i, 61 ; <i1> [#uses=1]
+ br i1 %tmp12.i.i, label %if.i.i, label %forcond.i.i
+
+if.i.i: ; preds = %forbody.i.i
+ %tmp15.i.i = ptrtoint i8* %tmp7.i.i to i32 ; <i32> [#uses=1]
+ %tmp16.i.i = ptrtoint i8* %tmp52214 to i32 ; <i32> [#uses=1]
+ %tmp17.i.i = sub i32 %tmp15.i.i, %tmp16.i.i ; <i32> [#uses=1]
+ br label %_D5tango4text4Util13__T6locateTaZ6locateFAaakZk.exit
+
+_D5tango4text4Util13__T6locateTaZ6locateFAaakZk.exit: ; preds = %if.i.i, %forcond.i.i
+ %tmp1318.i = phi i32 [ %tmp17.i.i, %if.i.i ], [ %tmp52213, %forcond.i.i ] ; <i32> [#uses=3]
+ %tmp58 = icmp eq i32 %tmp1318.i, %tmp52213 ; <i1> [#uses=1]
+ br i1 %tmp58, label %foreachnext, label %endif60
+
+endif60: ; preds = %_D5tango4text4Util13__T6locateTaZ6locateFAaakZk.exit
+ %tmp62 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %info, i32 0, i32 6 ; <i8**> [#uses=1]
+ %tmp68 = insertvalue %"byte[]" undef, i32 %tmp1318.i, 0 ; <%"byte[]"> [#uses=1]
+ %tmp69 = insertvalue %"byte[]" %tmp68, i8* %tmp52214, 1 ; <%"byte[]"> [#uses=1]
+ %tmp70 = call fastcc %"byte[]" @_D5tango4text5Ascii7toLowerFAaAaZAa(%"byte[]" %tmp69, %"byte[]" zeroinitializer) ; <%"byte[]"> [#uses=1]
+ %tmp71 = bitcast i8** %tmp62 to %32* ; <%32*> [#uses=1]
+ store %"byte[]" %tmp70, %"byte[]"* %aatmpkeystorage, align 8
+ %tmp72 = bitcast %"byte[]"* %aatmpkeystorage to i8* ; <i8*> [#uses=1]
+ %aa.index = call i8* @_aaGet(%32* nocapture %tmp71, %object.TypeInfo* @_D11TypeInfo_Aa6__initZ, i32 8, i8* nocapture %tmp72) ; <i8*> [#uses=2]
+ %tmp77 = add i32 %tmp1318.i, 1 ; <i32> [#uses=2]
+ %tmp80 = getelementptr i8* %tmp52214, i32 %tmp77 ; <i8*> [#uses=1]
+ %tmp81 = sub i32 %tmp52213, %tmp77 ; <i32> [#uses=1]
+ %tmp82 = bitcast i8* %aa.index to i32* ; <i32*> [#uses=1]
+ store i32 %tmp81, i32* %tmp82
+ %tmp83 = getelementptr i8* %aa.index, i32 4 ; <i8*> [#uses=1]
+ %2 = bitcast i8* %tmp83 to i8** ; <i8**> [#uses=1]
+ store i8* %tmp80, i8** %2
+ br label %foreachnext
+
+foreachnext: ; preds = %endif60, %_D5tango4text4Util13__T6locateTaZ6locateFAaakZk.exit
+ %tmp85 = add i32 %foreachkey.0, 1 ; <i32> [#uses=1]
+ br label %foreachcond
+
+foreachend: ; preds = %foreachcond
+ %tmp86 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %info, i32 0, i32 6 ; <i8**> [#uses=1]
+ %tmp87 = load i8** %tmp86 ; <i8*> [#uses=1]
+ %tmp88 = bitcast i8* %tmp87 to %32* ; <%32*> [#uses=10]
+ store %"byte[]" { i32 4, i8* getelementptr ([5 x i8]* @.str183, i32 0, i32 0) }, %"byte[]"* %aatmpkeystorage89, align 8
+ %tmp90 = bitcast %"byte[]"* %aatmpkeystorage89 to i8* ; <i8*> [#uses=1]
+ %aa.in = call i8* @_aaIn(%32* nocapture %tmp88, %object.TypeInfo* @_D11TypeInfo_Aa6__initZ, i8* nocapture %tmp90) readonly ; <i8*> [#uses=1]
+ %tmp94 = icmp eq i8* %aa.in, null ; <i1> [#uses=1]
+ br i1 %tmp94, label %endif93, label %if92
+
+if92: ; preds = %foreachend
+ store %"byte[]" { i32 4, i8* getelementptr ([5 x i8]* @.str188, i32 0, i32 0) }, %"byte[]"* %aatmpkeystorage98, align 8
+ %tmp99 = bitcast %"byte[]"* %aatmpkeystorage98 to i8* ; <i8*> [#uses=1]
+ %aa.index100 = call i8* @_aaIn(%32* nocapture %tmp88, %object.TypeInfo* @_D11TypeInfo_Aa6__initZ, i8* nocapture %tmp99) readonly ; <i8*> [#uses=1]
+ %tmp101 = bitcast i8* %aa.index100 to %"byte[]"* ; <%"byte[]"*> [#uses=1]
+ %tmp102 = load %"byte[]"* %tmp101 ; <%"byte[]"> [#uses=1]
+ %tmp103 = call fastcc %"byte[]" @_D5tango4text5Ascii7toLowerFAaAaZAa(%"byte[]" %tmp102, %"byte[]" zeroinitializer) ; <%"byte[]"> [#uses=1]
+ %tmp104 = call i32 @_d_switch_string(%"char[][]" { i32 4, %"byte[]"* getelementptr ([4 x %"byte[]"]* @.string_switch_table_data, i32 0, i32 0) }, %"byte[]" %tmp103) readonly ; <i32> [#uses=1]
+ switch i32 %tmp104, label %default115 [
+ i32 2, label %case
+ i32 1, label %case106
+ i32 3, label %case109
+ i32 0, label %case112
+ ]
+
+case: ; preds = %if92
+ %tmp105 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %info, i32 0, i32 1 ; <i32*> [#uses=1]
+ store i32 1, i32* %tmp105
+ br label %endif93
+
+case106: ; preds = %if92
+ %tmp107 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %info, i32 0, i32 1 ; <i32*> [#uses=1]
+ store i32 2, i32* %tmp107
+ br label %endif93
+
+case109: ; preds = %if92
+ %tmp110 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %info, i32 0, i32 1 ; <i32*> [#uses=1]
+ store i32 3, i32* %tmp110
+ br label %endif93
+
+case112: ; preds = %if92
+ %tmp113 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %info, i32 0, i32 1 ; <i32*> [#uses=1]
+ store i32 4, i32* %tmp113
+ br label %endif93
+
+default115: ; preds = %if92
+ %tmp116 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %info, i32 0, i32 1 ; <i32*> [#uses=1]
+ store i32 5, i32* %tmp116
+ br label %endif93
+
+endif93: ; preds = %default115, %case112, %case109, %case106, %case, %foreachend
+ store %"byte[]" { i32 4, i8* getelementptr ([5 x i8]* @.str189, i32 0, i32 0) }, %"byte[]"* %aatmpkeystorage120, align 8
+ %tmp121 = bitcast %"byte[]"* %aatmpkeystorage120 to i8* ; <i8*> [#uses=1]
+ %aa.in122 = call i8* @_aaIn(%32* nocapture %tmp88, %object.TypeInfo* @_D11TypeInfo_Aa6__initZ, i8* nocapture %tmp121) readonly ; <i8*> [#uses=1]
+ %tmp126 = icmp eq i8* %aa.in122, null ; <i1> [#uses=1]
+ br i1 %tmp126, label %endif125, label %if124
+
+if124: ; preds = %endif93
+ %tmp127 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %info, i32 0, i32 2 ; <i64*> [#uses=1]
+ store %"byte[]" { i32 4, i8* getelementptr ([5 x i8]* @.str190, i32 0, i32 0) }, %"byte[]"* %aatmpkeystorage131, align 8
+ %tmp132 = bitcast %"byte[]"* %aatmpkeystorage131 to i8* ; <i8*> [#uses=1]
+ %aa.index133 = call i8* @_aaIn(%32* nocapture %tmp88, %object.TypeInfo* @_D11TypeInfo_Aa6__initZ, i8* nocapture %tmp132) readonly ; <i8*> [#uses=1]
+ %tmp134 = bitcast i8* %aa.index133 to %"byte[]"* ; <%"byte[]"*> [#uses=1]
+ %tmp135 = load %"byte[]"* %tmp134 ; <%"byte[]"> [#uses=2]
+ %digits_arg26.i = extractvalue %"byte[]" %tmp135, 0 ; <i32> [#uses=3]
+ %digits_arg27.i = extractvalue %"byte[]" %tmp135, 1 ; <i8*> [#uses=5]
+ %tmp4.i.i229 = icmp eq i32 %digits_arg26.i, 0 ; <i1> [#uses=1]
+ br i1 %tmp4.i.i229, label %_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit.i, label %forcond.i.i233
+
+forcond.i.i233: ; preds = %forinc.i.i, %if124
+ %sign.1.i = phi i1 [ false, %if124 ], [ %sign.0.i, %forinc.i.i ] ; <i1> [#uses=4]
+ %len.0.i.i230 = phi i32 [ %tmp33.i.i, %forinc.i.i ], [ %digits_arg26.i, %if124 ] ; <i32> [#uses=3]
+ %p.0.i.i231 = phi i8* [ %tmp30.i.i, %forinc.i.i ], [ %digits_arg27.i, %if124 ] ; <i8*> [#uses=6]
+ %c.0.in.i.i = phi i8* [ %tmp30.i.i, %forinc.i.i ], [ %digits_arg27.i, %if124 ] ; <i8*> [#uses=1]
+ %c.0.i.i = load i8* %c.0.in.i.i ; <i8> [#uses=2]
+ %tmp8.i.i232 = icmp eq i32 %len.0.i.i230, 0 ; <i1> [#uses=1]
+ br i1 %tmp8.i.i232, label %endfor.i.i235, label %forbody.i.i234
+
+forbody.i.i234: ; preds = %forcond.i.i233
+ switch i8 %c.0.i.i, label %endfor.i.i235 [
+ i8 32, label %forinc.i.i
+ i8 9, label %forinc.i.i
+ i8 45, label %if20.i.i
+ i8 43, label %if26.i.i
+ ]
+
+if20.i.i: ; preds = %forbody.i.i234
+ br label %forinc.i.i
+
+if26.i.i: ; preds = %forbody.i.i234
+ br label %forinc.i.i
+
+forinc.i.i: ; preds = %if26.i.i, %if20.i.i, %forbody.i.i234, %forbody.i.i234
+ %sign.0.i = phi i1 [ false, %if26.i.i ], [ true, %if20.i.i ], [ %sign.1.i, %forbody.i.i234 ], [ %sign.1.i, %forbody.i.i234 ] ; <i1> [#uses=1]
+ %tmp30.i.i = getelementptr i8* %p.0.i.i231, i32 1 ; <i8*> [#uses=2]
+ %tmp33.i.i = add i32 %len.0.i.i230, -1 ; <i32> [#uses=1]
+ br label %forcond.i.i233
+
+endfor.i.i235: ; preds = %forbody.i.i234, %forcond.i.i233
+ %tmp37.i.i = icmp eq i8 %c.0.i.i, 48 ; <i1> [#uses=1]
+ %tmp39.i.i = icmp sgt i32 %len.0.i.i230, 1 ; <i1> [#uses=1]
+ %or.cond.i.i = and i1 %tmp37.i.i, %tmp39.i.i ; <i1> [#uses=1]
+ br i1 %or.cond.i.i, label %if40.i.i, label %endif41.i.i
+
+if40.i.i: ; preds = %endfor.i.i235
+ %tmp43.i.i = getelementptr i8* %p.0.i.i231, i32 1 ; <i8*> [#uses=2]
+ %tmp44.i.i = load i8* %tmp43.i.i ; <i8> [#uses=1]
+ %tmp45.i.i = zext i8 %tmp44.i.i to i32 ; <i32> [#uses=1]
+ switch i32 %tmp45.i.i, label %endif41.i.i [
+ i32 120, label %case46.i.i
+ i32 88, label %case46.i.i
+ i32 98, label %case51.i.i
+ i32 66, label %case51.i.i
+ i32 111, label %case56.i.i
+ i32 79, label %case56.i.i
+ ]
+
+case46.i.i: ; preds = %if40.i.i, %if40.i.i
+ %tmp48.i.i = getelementptr i8* %p.0.i.i231, i32 2 ; <i8*> [#uses=1]
+ br label %endif41.i.i
+
+case51.i.i: ; preds = %if40.i.i, %if40.i.i
+ %tmp53.i.i = getelementptr i8* %p.0.i.i231, i32 2 ; <i8*> [#uses=1]
+ br label %endif41.i.i
+
+case56.i.i: ; preds = %if40.i.i, %if40.i.i
+ %tmp58.i.i = getelementptr i8* %p.0.i.i231, i32 2 ; <i8*> [#uses=1]
+ br label %endif41.i.i
+
+endif41.i.i: ; preds = %case56.i.i, %case51.i.i, %case46.i.i, %if40.i.i, %endfor.i.i235
+ %r.0.i.i = phi i32 [ 0, %if40.i.i ], [ 8, %case56.i.i ], [ 2, %case51.i.i ], [ 16, %case46.i.i ], [ 0, %endfor.i.i235 ] ; <i32> [#uses=2]
+ %p.2.i.i = phi i8* [ %tmp43.i.i, %if40.i.i ], [ %tmp58.i.i, %case56.i.i ], [ %tmp53.i.i, %case51.i.i ], [ %tmp48.i.i, %case46.i.i ], [ %p.0.i.i231, %endfor.i.i235 ] ; <i8*> [#uses=2]
+ %tmp63.i.i = icmp eq i32 %r.0.i.i, 0 ; <i1> [#uses=1]
+ br i1 %tmp63.i.i, label %_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit.i, label %if70.i.i
+
+if70.i.i: ; preds = %endif41.i.i
+ br label %_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit.i
+
+_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit.i: ; preds = %if70.i.i, %endif41.i.i, %if124
+ %sign.2.i = phi i1 [ false, %if124 ], [ %sign.1.i, %if70.i.i ], [ %sign.1.i, %endif41.i.i ] ; <i1> [#uses=1]
+ %radix.0.i = phi i32 [ 0, %if124 ], [ %r.0.i.i, %if70.i.i ], [ 10, %endif41.i.i ] ; <i32> [#uses=2]
+ %p.1.i.i = phi i8* [ %p.2.i.i, %if70.i.i ], [ %digits_arg27.i, %if124 ], [ %p.2.i.i, %endif41.i.i ] ; <i8*> [#uses=1]
+ %tmp84.i.i = ptrtoint i8* %p.1.i.i to i32 ; <i32> [#uses=1]
+ %tmp85.i.i = ptrtoint i8* %digits_arg27.i to i32 ; <i32> [#uses=1]
+ %tmp86.i.i = sub i32 %tmp84.i.i, %tmp85.i.i ; <i32> [#uses=2]
+ %tmp6.i = sub i32 %digits_arg26.i, %tmp86.i.i ; <i32> [#uses=1]
+ br label %foreachcond.i.i
+
+foreachcond.i.i: ; preds = %if55.i.i, %_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit.i
+ %value.0.i.i = phi i64 [ 0, %_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit.i ], [ %tmp65.i.i, %if55.i.i ] ; <i64> [#uses=3]
+ %foreachkey.0.i.i = phi i32 [ 0, %_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit.i ], [ %tmp70.i.i, %if55.i.i ] ; <i32> [#uses=3]
+ %tmp3.i.i = icmp ult i32 %foreachkey.0.i.i, %tmp6.i ; <i1> [#uses=1]
+ br i1 %tmp3.i.i, label %foreachbody.i.i, label %_D5tango4text7convert7Integer12__T5parseTaZ5parseFAakPkZl.exit
+
+foreachbody.i.i: ; preds = %foreachcond.i.i
+ %tmp5.sum.i = add i32 %tmp86.i.i, %foreachkey.0.i.i ; <i32> [#uses=1]
+ %tmp5.i.i236 = getelementptr i8* %digits_arg27.i, i32 %tmp5.sum.i ; <i8*> [#uses=1]
+ %tmp6.i.i = load i8* %tmp5.i.i236 ; <i8> [#uses=6]
+ %tmp6.off84.i.i = add i8 %tmp6.i.i, -48 ; <i8> [#uses=1]
+ %or.cond.i28.i = icmp ugt i8 %tmp6.off84.i.i, 9 ; <i1> [#uses=1]
+ br i1 %or.cond.i28.i, label %else.i.i, label %endif.i.i
+
+else.i.i: ; preds = %foreachbody.i.i
+ %tmp6.off83.i.i = add i8 %tmp6.i.i, -97 ; <i8> [#uses=1]
+ %or.cond81.i.i = icmp ugt i8 %tmp6.off83.i.i, 25 ; <i1> [#uses=1]
+ br i1 %or.cond81.i.i, label %else24.i.i, label %if22.i.i
+
+if22.i.i: ; preds = %else.i.i
+ %tmp27.i.i = add i8 %tmp6.i.i, -39 ; <i8> [#uses=1]
+ br label %endif.i.i
+
+else24.i.i: ; preds = %else.i.i
+ %tmp6.off.i.i = add i8 %tmp6.i.i, -65 ; <i8> [#uses=1]
+ %or.cond82.i.i = icmp ugt i8 %tmp6.off.i.i, 25 ; <i1> [#uses=1]
+ br i1 %or.cond82.i.i, label %_D5tango4text7convert7Integer12__T5parseTaZ5parseFAakPkZl.exit, label %if39.i.i
+
+if39.i.i: ; preds = %else24.i.i
+ %tmp44.i29.i = add i8 %tmp6.i.i, -7 ; <i8> [#uses=1]
+ br label %endif.i.i
+
+endif.i.i: ; preds = %if39.i.i, %if22.i.i, %foreachbody.i.i
+ %c.0.i30.i = phi i8 [ %tmp27.i.i, %if22.i.i ], [ %tmp44.i29.i, %if39.i.i ], [ %tmp6.i.i, %foreachbody.i.i ] ; <i8> [#uses=1]
+ %tmp48.i31.i = zext i8 %c.0.i30.i to i32 ; <i32> [#uses=1]
+ %tmp49.i.i = add i32 %tmp48.i31.i, 208 ; <i32> [#uses=1]
+ %tmp52.i.i = and i32 %tmp49.i.i, 255 ; <i32> [#uses=2]
+ %tmp54.i.i = icmp ult i32 %tmp52.i.i, %radix.0.i ; <i1> [#uses=1]
+ br i1 %tmp54.i.i, label %if55.i.i, label %_D5tango4text7convert7Integer12__T5parseTaZ5parseFAakPkZl.exit
+
+if55.i.i: ; preds = %endif.i.i
+ %tmp59.i.i = zext i32 %radix.0.i to i64 ; <i64> [#uses=1]
+ %tmp61.i.i = mul i64 %value.0.i.i, %tmp59.i.i ; <i64> [#uses=1]
+ %tmp64.i.i = zext i32 %tmp52.i.i to i64 ; <i64> [#uses=1]
+ %tmp65.i.i = add i64 %tmp61.i.i, %tmp64.i.i ; <i64> [#uses=1]
+ %tmp70.i.i = add i32 %foreachkey.0.i.i, 1 ; <i32> [#uses=1]
+ br label %foreachcond.i.i
+
+_D5tango4text7convert7Integer12__T5parseTaZ5parseFAakPkZl.exit: ; preds = %endif.i.i, %else24.i.i, %foreachcond.i.i
+ %negval.i = sub i64 0, %value.0.i.i ; <i64> [#uses=1]
+ %condtmp.0.i = select i1 %sign.2.i, i64 %negval.i, i64 %value.0.i.i ; <i64> [#uses=1]
+ store i64 %condtmp.0.i, i64* %tmp127
+ br label %endif125
+
+endif125: ; preds = %_D5tango4text7convert7Integer12__T5parseTaZ5parseFAakPkZl.exit, %endif93
+ store %"byte[]" { i32 10, i8* getelementptr ([11 x i8]* @.str191, i32 0, i32 0) }, %"byte[]"* %aatmpkeystorage140, align 8
+ %tmp141 = bitcast %"byte[]"* %aatmpkeystorage140 to i8* ; <i8*> [#uses=1]
+ %aa.in142 = call i8* @_aaIn(%32* nocapture %tmp88, %object.TypeInfo* @_D11TypeInfo_Aa6__initZ, i8* nocapture %tmp141) readonly ; <i8*> [#uses=1]
+ %tmp146 = icmp eq i8* %aa.in142, null ; <i1> [#uses=1]
+ br i1 %tmp146, label %endif145, label %if144
+
+if144: ; preds = %endif125
+ %tmp147 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %info, i32 0, i32 5 ; <%"byte[]"*> [#uses=1]
+ store %"byte[]" { i32 10, i8* getelementptr ([11 x i8]* @.str192, i32 0, i32 0) }, %"byte[]"* %aatmpkeystorage151, align 8
+ %tmp152 = bitcast %"byte[]"* %aatmpkeystorage151 to i8* ; <i8*> [#uses=1]
+ %aa.index153 = call i8* @_aaIn(%32* nocapture %tmp88, %object.TypeInfo* @_D11TypeInfo_Aa6__initZ, i8* nocapture %tmp152) readonly ; <i8*> [#uses=1]
+ %tmp154 = bitcast i8* %aa.index153 to %"byte[]"* ; <%"byte[]"*> [#uses=1]
+ %tmp155 = load %"byte[]"* %tmp154 ; <%"byte[]"> [#uses=1]
+ store %"byte[]" %tmp155, %"byte[]"* %tmp147
+ br label %endif145
+
+endif145: ; preds = %if144, %endif125
+ store %"byte[]" { i32 6, i8* getelementptr ([7 x i8]* @.str193, i32 0, i32 0) }, %"byte[]"* %aatmpkeystorage159, align 8
+ %tmp160 = bitcast %"byte[]"* %aatmpkeystorage159 to i8* ; <i8*> [#uses=1]
+ %aa.in161 = call i8* @_aaIn(%32* nocapture %tmp88, %object.TypeInfo* @_D11TypeInfo_Aa6__initZ, i8* nocapture %tmp160) readonly ; <i8*> [#uses=1]
+ %tmp165 = icmp eq i8* %aa.in161, null ; <i1> [#uses=1]
+ br i1 %tmp165, label %endif164, label %if163
+
+if163: ; preds = %endif145
+ %tmp168 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 0 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl**> [#uses=1]
+ %tmp169 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp168 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
+ %"this.parseTimeval@vtbl" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp169, i32 0, i32 31 ; <void (%tango.time.Time.Time*, %tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")**> [#uses=1]
+ %this.parseTimeval = load void (%tango.time.Time.Time*, %tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")** %"this.parseTimeval@vtbl", align 4 ; <void (%tango.time.Time.Time*, %tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")*> [#uses=1]
+ store %"byte[]" { i32 6, i8* getelementptr ([7 x i8]* @.str194, i32 0, i32 0) }, %"byte[]"* %aatmpkeystorage174, align 8
+ %tmp175 = bitcast %"byte[]"* %aatmpkeystorage174 to i8* ; <i8*> [#uses=1]
+ %aa.index176 = call i8* @_aaIn(%32* nocapture %tmp88, %object.TypeInfo* @_D11TypeInfo_Aa6__initZ, i8* nocapture %tmp175) readonly ; <i8*> [#uses=1]
+ %tmp177 = bitcast i8* %aa.index176 to %"byte[]"* ; <%"byte[]"*> [#uses=1]
+ %tmp178 = load %"byte[]"* %tmp177 ; <%"byte[]"> [#uses=1]
+ call fastcc void %this.parseTimeval(%tango.time.Time.Time* noalias nocapture sret %.rettmp, %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" %tmp178)
+ %tmp180219 = getelementptr %tango.time.Time.Time* %.rettmp, i32 0, i32 0 ; <i64*> [#uses=1]
+ %tmp221 = load i64* %tmp180219, align 8 ; <i64> [#uses=1]
+ %3 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %info, i32 0, i32 3, i32 0 ; <i64*> [#uses=1]
+ store i64 %tmp221, i64* %3
+ br label %endif164
+
+endif164: ; preds = %if163, %endif145
+ store %"byte[]" { i32 6, i8* getelementptr ([7 x i8]* @.str195, i32 0, i32 0) }, %"byte[]"* %aatmpkeystorage184, align 8
+ %tmp185 = bitcast %"byte[]"* %aatmpkeystorage184 to i8* ; <i8*> [#uses=1]
+ %aa.in186 = call i8* @_aaIn(%32* nocapture %tmp88, %object.TypeInfo* @_D11TypeInfo_Aa6__initZ, i8* nocapture %tmp185) readonly ; <i8*> [#uses=1]
+ %tmp190 = icmp eq i8* %aa.in186, null ; <i1> [#uses=1]
+ br i1 %tmp190, label %endif34, label %if188
+
+if188: ; preds = %endif164
+ %tmp193 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 0 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl**> [#uses=1]
+ %tmp194 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp193 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
+ %"this.parseTimeval@vtbl195" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp194, i32 0, i32 31 ; <void (%tango.time.Time.Time*, %tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")**> [#uses=1]
+ %this.parseTimeval197 = load void (%tango.time.Time.Time*, %tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")** %"this.parseTimeval@vtbl195", align 4 ; <void (%tango.time.Time.Time*, %tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")*> [#uses=1]
+ store %"byte[]" { i32 6, i8* getelementptr ([7 x i8]* @.str196, i32 0, i32 0) }, %"byte[]"* %aatmpkeystorage202, align 8
+ %tmp203 = bitcast %"byte[]"* %aatmpkeystorage202 to i8* ; <i8*> [#uses=1]
+ %aa.index204 = call i8* @_aaIn(%32* nocapture %tmp88, %object.TypeInfo* @_D11TypeInfo_Aa6__initZ, i8* nocapture %tmp203) readonly ; <i8*> [#uses=1]
+ %tmp205 = bitcast i8* %aa.index204 to %"byte[]"* ; <%"byte[]"*> [#uses=1]
+ %tmp206 = load %"byte[]"* %tmp205 ; <%"byte[]"> [#uses=1]
+ call fastcc void %this.parseTimeval197(%tango.time.Time.Time* noalias nocapture sret %.rettmp198, %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" %tmp206)
+ %tmp208222 = getelementptr %tango.time.Time.Time* %.rettmp198, i32 0, i32 0 ; <i64*> [#uses=1]
+ %tmp224 = load i64* %tmp208222, align 8 ; <i64> [#uses=1]
+ %4 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %info, i32 0, i32 4, i32 0 ; <i64*> [#uses=1]
+ store i64 %tmp224, i64* %4
+ br label %endif34
+
+endif34: ; preds = %if188, %endif164, %endif
+ %tmp209 = bitcast %tango.net.ftp.FtpClient.FtpFileInfo* %.sret_arg to i8* ; <i8*> [#uses=1]
+ call void @llvm.memcpy.i32(i8* %tmp209, i8* %tmp, i32 48, i32 1)
+ ret void
+}
+
+define fastcc void @_D5tango3net3ftp9FtpClient13FTPConnection11getFileInfoMFAaZS5tango3net3ftp9FtpClient11FtpFileInfo(%tango.net.ftp.FtpClient.FtpFileInfo* noalias nocapture sret %.sret_arg, %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" %path_arg) {
+entry:
+ %tmp2 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 0 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl**> [#uses=2]
+ %tmp3 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp2 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
+ %"this.ls@vtbl" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp3, i32 0, i32 46 ; <%"FtpFileInfo[]" (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")**> [#uses=1]
+ %this.ls = load %"FtpFileInfo[]" (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")** %"this.ls@vtbl", align 4 ; <%"FtpFileInfo[]" (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")*> [#uses=1]
+ %tmp6 = tail call fastcc %"FtpFileInfo[]" %this.ls(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" %path_arg) ; <%"FtpFileInfo[]"> [#uses=2]
+ %tmp699 = extractvalue %"FtpFileInfo[]" %tmp6, 0 ; <i32> [#uses=1]
+ %tmp8 = icmp eq i32 %tmp699, 1 ; <i1> [#uses=1]
+ br i1 %tmp8, label %if, label %else
+
+if: ; preds = %entry
+ %tmp6100 = extractvalue %"FtpFileInfo[]" %tmp6, 1 ; <%tango.net.ftp.FtpClient.FtpFileInfo*> [#uses=1]
+ %tmp11 = bitcast %tango.net.ftp.FtpClient.FtpFileInfo* %.sret_arg to i8* ; <i8*> [#uses=1]
+ %tmp12 = bitcast %tango.net.ftp.FtpClient.FtpFileInfo* %tmp6100 to i8* ; <i8*> [#uses=1]
+ tail call void @llvm.memcpy.i32(i8* %tmp11, i8* %tmp12, i32 48, i32 1)
+ ret void
+
+else: ; preds = %entry
+ %tmp15 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp2 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
+ %"this.sendListCommand@vtbl" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp15, i32 0, i32 49 ; <%"FtpFileInfo[]" (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")**> [#uses=1]
+ %this.sendListCommand = load %"FtpFileInfo[]" (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")** %"this.sendListCommand@vtbl", align 4 ; <%"FtpFileInfo[]" (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")*> [#uses=1]
+ %tmp18 = tail call fastcc %"FtpFileInfo[]" %this.sendListCommand(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" %path_arg) ; <%"FtpFileInfo[]"> [#uses=2]
+ %tmp1897 = extractvalue %"FtpFileInfo[]" %tmp18, 0 ; <i32> [#uses=2]
+ %tmp1898 = extractvalue %"FtpFileInfo[]" %tmp18, 1 ; <%tango.net.ftp.FtpClient.FtpFileInfo*> [#uses=10]
+ switch i32 %tmp1897, label %foreachcond [
+ i32 0, label %if22
+ i32 1, label %endif34
+ ]
+
+if22: ; preds = %else
+ %.newclass_gc_alloc = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango3net3ftp9FtpClient12FtpException7__ClassZ) ; <i8*> [#uses=6]
+ %vtbl = bitcast i8* %.newclass_gc_alloc to %tango.net.ftp.FtpClient.FtpException.__vtbl** ; <%tango.net.ftp.FtpClient.FtpException.__vtbl**> [#uses=1]
+ store %tango.net.ftp.FtpClient.FtpException.__vtbl* @_D5tango3net3ftp9FtpClient12FtpException6__vtblZ, %tango.net.ftp.FtpClient.FtpException.__vtbl** %vtbl
+ %monitor = getelementptr i8* %.newclass_gc_alloc, i32 4 ; <i8*> [#uses=1]
+ %0 = bitcast i8* %monitor to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %0
+ %tmp24 = getelementptr i8* %.newclass_gc_alloc, i32 8 ; <i8*> [#uses=1]
+ tail call void @llvm.memcpy.i32(i8* %tmp24, i8* bitcast (%"byte[]"* getelementptr (%tango.net.ftp.FtpClient.FtpException* @_D5tango3net3ftp9FtpClient12FtpException6__initZ, i32 0, i32 2) to i8*), i32 31, i32 1)
+ %tmp2.i = getelementptr i8* %.newclass_gc_alloc, i32 36 ; <i8*> [#uses=1]
+ tail call void @llvm.memcpy.i32(i8* %tmp2.i, i8* getelementptr ([4 x i8]* @.str198, i32 0, i32 0), i32 3, i32 1)
+ %tmp5.i = bitcast i8* %.newclass_gc_alloc to %object.Exception* ; <%object.Exception*> [#uses=1]
+ %tmp7.i = tail call fastcc %object.Exception* @_D6object9Exception5_ctorMFAaC9ExceptionZC9Exception(%object.Exception* %tmp5.i, %"byte[]" { i32 37, i8* getelementptr ([38 x i8]* @.str197, i32 0, i32 0) }, %object.Exception* null) ; <%object.Exception*> [#uses=0]
+ %tmp29 = bitcast i8* %.newclass_gc_alloc to %object.Object* ; <%object.Object*> [#uses=1]
+ tail call void @_d_throw_exception(%object.Object* %tmp29)
+ unreachable
+
+foreachcond: ; preds = %foreachnext, %else
+ %foreachkey.0 = phi i32 [ %tmp54, %foreachnext ], [ 0, %else ] ; <i32> [#uses=11]
+ %tmp40 = icmp ult i32 %foreachkey.0, %tmp1897 ; <i1> [#uses=1]
+ br i1 %tmp40, label %foreachbody, label %endif34
+
+foreachbody: ; preds = %foreachcond
+ %tmp42.1 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %tmp1898, i32 %foreachkey.0, i32 1 ; <i32*> [#uses=1]
+ %tmp74 = load i32* %tmp42.1, align 8 ; <i32> [#uses=2]
+ %tmp47 = icmp eq i32 %tmp74, 2 ; <i1> [#uses=1]
+ br i1 %tmp47, label %if48, label %foreachnext
+
+if48: ; preds = %foreachbody
+ %tmp4291.0 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %tmp1898, i32 %foreachkey.0, i32 0, i32 0 ; <i32*> [#uses=1]
+ %tmp92 = load i32* %tmp4291.0 ; <i32> [#uses=1]
+ %tmp4291.1 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %tmp1898, i32 %foreachkey.0, i32 0, i32 1 ; <i8**> [#uses=1]
+ %tmp93 = load i8** %tmp4291.1, align 4 ; <i8*> [#uses=1]
+ %tmp42.2 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %tmp1898, i32 %foreachkey.0, i32 2 ; <i64*> [#uses=1]
+ %tmp75 = load i64* %tmp42.2, align 4 ; <i64> [#uses=1]
+ %tmp42.3.0 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %tmp1898, i32 %foreachkey.0, i32 3, i32 0 ; <i64*> [#uses=1]
+ %tmp89 = load i64* %tmp42.3.0, align 4 ; <i64> [#uses=1]
+ %tmp42.4.0 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %tmp1898, i32 %foreachkey.0, i32 4, i32 0 ; <i64*> [#uses=1]
+ %tmp87 = load i64* %tmp42.4.0, align 4 ; <i64> [#uses=1]
+ %tmp42.5.0 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %tmp1898, i32 %foreachkey.0, i32 5, i32 0 ; <i32*> [#uses=1]
+ %tmp83 = load i32* %tmp42.5.0, align 4 ; <i32> [#uses=1]
+ %tmp42.5.1 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %tmp1898, i32 %foreachkey.0, i32 5, i32 1 ; <i8**> [#uses=1]
+ %tmp84 = load i8** %tmp42.5.1, align 4 ; <i8*> [#uses=1]
+ %tmp42.6 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %tmp1898, i32 %foreachkey.0, i32 6 ; <i8**> [#uses=1]
+ %tmp82 = load i8** %tmp42.6, align 4 ; <i8*> [#uses=1]
+ %1 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %.sret_arg, i32 0, i32 0, i32 0 ; <i32*> [#uses=1]
+ store i32 %tmp92, i32* %1
+ %.sret_arg94.1 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %.sret_arg, i32 0, i32 0, i32 1 ; <i8**> [#uses=1]
+ store i8* %tmp93, i8** %.sret_arg94.1, align 4
+ %.sret_arg.1 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %.sret_arg, i32 0, i32 1 ; <i32*> [#uses=1]
+ store i32 %tmp74, i32* %.sret_arg.1, align 8
+ %.sret_arg.2 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %.sret_arg, i32 0, i32 2 ; <i64*> [#uses=1]
+ store i64 %tmp75, i64* %.sret_arg.2, align 4
+ %.sret_arg.3.0 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %.sret_arg, i32 0, i32 3, i32 0 ; <i64*> [#uses=1]
+ store i64 %tmp89, i64* %.sret_arg.3.0, align 4
+ %.sret_arg.4.0 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %.sret_arg, i32 0, i32 4, i32 0 ; <i64*> [#uses=1]
+ store i64 %tmp87, i64* %.sret_arg.4.0, align 4
+ %.sret_arg.5.0 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %.sret_arg, i32 0, i32 5, i32 0 ; <i32*> [#uses=1]
+ store i32 %tmp83, i32* %.sret_arg.5.0, align 4
+ %.sret_arg.5.1 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %.sret_arg, i32 0, i32 5, i32 1 ; <i8**> [#uses=1]
+ store i8* %tmp84, i8** %.sret_arg.5.1, align 4
+ %.sret_arg.6 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %.sret_arg, i32 0, i32 6 ; <i8**> [#uses=1]
+ store i8* %tmp82, i8** %.sret_arg.6, align 4
+ ret void
+
+foreachnext: ; preds = %foreachbody
+ %tmp54 = add i32 %foreachkey.0, 1 ; <i32> [#uses=1]
+ br label %foreachcond
+
+endif34: ; preds = %foreachcond, %else
+ %tmp58 = bitcast %tango.net.ftp.FtpClient.FtpFileInfo* %.sret_arg to i8* ; <i8*> [#uses=1]
+ %tmp59 = bitcast %tango.net.ftp.FtpClient.FtpFileInfo* %tmp1898 to i8* ; <i8*> [#uses=1]
+ tail call void @llvm.memcpy.i32(i8* %tmp58, i8* %tmp59, i32 48, i32 1)
+ ret void
+}
+
+define fastcc void @_D5tango3net3ftp9FtpClient13FTPConnection3putMFAaAaDFkZvE5tango3net3ftp9FtpClient9FtpFormatZv(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" %path_arg, %"byte[]" %local_file_arg, %"void delegate(uint pos)" %progress_arg, i32 %format_arg) {
+entry:
+ %style_arg = alloca i32, align 8 ; <i32*> [#uses=2]
+ %tmpcast = bitcast i32* %style_arg to %tango.io.device.File.File.Style* ; <%tango.io.device.File.File.Style*> [#uses=1]
+ %.newclass_gc_alloc = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango2io6device4File4File7__ClassZ) ; <i8*> [#uses=10]
+ %.newclass_gc = bitcast i8* %.newclass_gc_alloc to %tango.io.device.File.File* ; <%tango.io.device.File.File*> [#uses=2]
+ %vtbl = bitcast i8* %.newclass_gc_alloc to %tango.io.device.File.File.__vtbl** ; <%tango.io.device.File.File.__vtbl**> [#uses=3]
+ store %tango.io.device.File.File.__vtbl* @_D5tango2io6device4File4File6__vtblZ, %tango.io.device.File.File.__vtbl** %vtbl
+ %monitor = getelementptr i8* %.newclass_gc_alloc, i32 4 ; <i8*> [#uses=1]
+ %0 = bitcast i8* %monitor to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %0
+ %tmp = getelementptr i8* %.newclass_gc_alloc, i32 8 ; <i8*> [#uses=2]
+ tail call void @llvm.memcpy.i32(i8* %tmp, i8* bitcast (%13** getelementptr (%tango.io.device.File.File* bitcast (%27* @_D5tango2io6device4File4File6__initZ to %tango.io.device.File.File*), i32 0, i32 2) to i8*), i32 32, i32 1)
+ %tmp50 = load i32* bitcast (%tango.io.device.File.File.Style* @_D5tango2io6device4File4File12ReadExistingS5tango2io6device4File4File5Style to i32*), align 1 ; <i32> [#uses=1]
+ store i32 %tmp50, i32* %style_arg, align 8
+ %tmp2.i = load %tango.io.device.File.File.__vtbl** %vtbl ; <%tango.io.device.File.File.__vtbl*> [#uses=1]
+ %"this.open@vtbl.i" = getelementptr %tango.io.device.File.File.__vtbl* %tmp2.i, i32 0, i32 18 ; <void (%tango.io.device.File.File*, %"byte[]", %tango.io.device.File.File.Style*)**> [#uses=1]
+ %this.open.i = load void (%tango.io.device.File.File*, %"byte[]", %tango.io.device.File.File.Style*)** %"this.open@vtbl.i", align 4 ; <void (%tango.io.device.File.File*, %"byte[]", %tango.io.device.File.File.Style*)*> [#uses=1]
+ tail call fastcc void %this.open.i(%tango.io.device.File.File* %.newclass_gc, %"byte[]" %local_file_arg, %tango.io.device.File.File.Style* byval %tmpcast)
+ %tmp13 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 7 ; <i32*> [#uses=2]
+ %tmp14 = load i32* %tmp13 ; <i32> [#uses=2]
+ %tmp15 = icmp eq i32 %tmp14, 0 ; <i1> [#uses=1]
+ br i1 %tmp15, label %endif, label %if
+
+if: ; preds = %entry
+ %tmp18 = load %tango.io.device.File.File.__vtbl** %vtbl ; <%tango.io.device.File.File.__vtbl*> [#uses=1]
+ %"file.seek@vtbl" = getelementptr %tango.io.device.File.File.__vtbl* %tmp18, i32 0, i32 13 ; <i64 (%tango.io.device.File.File*, i64, i32)**> [#uses=1]
+ %file.seek = load i64 (%tango.io.device.File.File*, i64, i32)** %"file.seek@vtbl", align 4 ; <i64 (%tango.io.device.File.File*, i64, i32)*> [#uses=1]
+ %tmp23 = zext i32 %tmp14 to i64 ; <i64> [#uses=1]
+ %tmp24 = invoke fastcc i64 %file.seek(%tango.io.device.File.File* %.newclass_gc, i64 %tmp23, i32 0)
+ to label %postinvoke unwind label %landingpad ; <i64> [#uses=0]
+
+postinvoke: ; preds = %if
+ store i32 0, i32* %tmp13
+ br label %endif
+
+endif: ; preds = %postinvoke, %entry
+ %tmp28 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 0 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl**> [#uses=1]
+ %tmp29 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp28 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
+ %"this.put@vtbl" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp29, i32 0, i32 54 ; <void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]", %tango.io.model.IConduit.InputStream*, %"void delegate(uint pos)", i32)**> [#uses=1]
+ %this.put = load void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]", %tango.io.model.IConduit.InputStream*, %"void delegate(uint pos)", i32)** %"this.put@vtbl", align 4 ; <void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]", %tango.io.model.IConduit.InputStream*, %"void delegate(uint pos)", i32)*> [#uses=1]
+ %tmp34 = bitcast i8* %tmp to %tango.io.model.IConduit.InputStream* ; <%tango.io.model.IConduit.InputStream*> [#uses=1]
+ invoke fastcc void %this.put(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" %path_arg, %tango.io.model.IConduit.InputStream* %tmp34, %"void delegate(uint pos)" %progress_arg, i32 %format_arg)
+ to label %finally unwind label %landingpad
+
+finally: ; preds = %endif
+ %tmp39 = bitcast i8* %.newclass_gc_alloc to %tango.io.device.Device.Device* ; <%tango.io.device.Device.Device*> [#uses=1]
+ %tmp40 = bitcast i8* %.newclass_gc_alloc to %tango.io.device.Device.Device.__vtbl** ; <%tango.io.device.Device.Device.__vtbl**> [#uses=1]
+ %tmp41 = load %tango.io.device.Device.Device.__vtbl** %tmp40 ; <%tango.io.device.Device.Device.__vtbl*> [#uses=1]
+ %"(cast(Device)file).detach@vtbl42" = getelementptr %tango.io.device.Device.Device.__vtbl* %tmp41, i32 0, i32 8 ; <void (%tango.io.device.Device.Device*)**> [#uses=1]
+ %"(cast(Device)file).detach44" = load void (%tango.io.device.Device.Device*)** %"(cast(Device)file).detach@vtbl42", align 4 ; <void (%tango.io.device.Device.Device*)*> [#uses=1]
+ tail call fastcc void %"(cast(Device)file).detach44"(%tango.io.device.Device.Device* %tmp39)
+ %.tmp46 = bitcast i8* %.newclass_gc_alloc to %object.Object* ; <%object.Object*> [#uses=1]
+ tail call void @_d_delclass(%object.Object* %.tmp46)
+ ret void
+
+landingpad: ; preds = %endif, %if
+ %1 = tail call i8* @llvm.eh.exception() ; <i8*> [#uses=2]
+ %2 = tail call i32 (i8*, i8*, ...)* @llvm.eh.selector.i32(i8* %1, i8* bitcast (i32 (i32, i32, i64, i8*, i8*)* @_d_eh_personality to i8*), i32 0) ; <i32> [#uses=0]
+ %tmp7 = bitcast i8* %.newclass_gc_alloc to %tango.io.device.Device.Device* ; <%tango.io.device.Device.Device*> [#uses=1]
+ %tmp8 = bitcast i8* %.newclass_gc_alloc to %tango.io.device.Device.Device.__vtbl** ; <%tango.io.device.Device.Device.__vtbl**> [#uses=1]
+ %tmp9 = load %tango.io.device.Device.Device.__vtbl** %tmp8 ; <%tango.io.device.Device.Device.__vtbl*> [#uses=1]
+ %"(cast(Device)file).detach@vtbl" = getelementptr %tango.io.device.Device.Device.__vtbl* %tmp9, i32 0, i32 8 ; <void (%tango.io.device.Device.Device*)**> [#uses=1]
+ %"(cast(Device)file).detach" = load void (%tango.io.device.Device.Device*)** %"(cast(Device)file).detach@vtbl", align 4 ; <void (%tango.io.device.Device.Device*)*> [#uses=1]
+ tail call fastcc void %"(cast(Device)file).detach"(%tango.io.device.Device.Device* %tmp7)
+ %.tmp = bitcast i8* %.newclass_gc_alloc to %object.Object* ; <%object.Object*> [#uses=1]
+ tail call void @_d_delclass(%object.Object* %.tmp)
+ tail call void @_d_eh_resume_unwind(i8* %1)
+ unreachable
+}
+
+define fastcc void @_D5tango3net3ftp9FtpClient13FTPConnection3putMFAaC5tango2io5model8IConduit11InputStreamDFkZvE5tango3net3ftp9FtpClient9FtpFormatZv(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" %path_arg, %tango.io.model.IConduit.InputStream* %stream_arg, %"void delegate(uint pos)" %progress_arg, i32 %format_arg) {
+entry:
+ %__arrayArg150 = alloca [1 x %"byte[]"], align 8 ; <[1 x %"byte[]"]*> [#uses=1]
+ %tmp1 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 0 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl**> [#uses=4]
+ %tmp2 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp1 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
+ %"this.type@vtbl" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp2, i32 0, i32 29 ; <void (%tango.net.ftp.FtpClient.FTPConnection*, i32)**> [#uses=1]
+ %this.type = load void (%tango.net.ftp.FtpClient.FTPConnection*, i32)** %"this.type@vtbl", align 4 ; <void (%tango.net.ftp.FtpClient.FTPConnection*, i32)*> [#uses=1]
+ call fastcc void %this.type(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 %format_arg)
+ %tmp7 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp1 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
+ %"this.processDataCommand@vtbl" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp7, i32 0, i32 45 ; <%tango.net.SocketConduit.SocketConduit* (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]", %"char[][]")**> [#uses=1]
+ %this.processDataCommand = load %tango.net.SocketConduit.SocketConduit* (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]", %"char[][]")** %"this.processDataCommand@vtbl", align 4 ; <%tango.net.SocketConduit.SocketConduit* (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]", %"char[][]")*> [#uses=1]
+ %tmp9 = getelementptr [1 x %"byte[]"]* %__arrayArg150, i32 0, i32 0 ; <%"byte[]"*> [#uses=2]
+ store %"byte[]" %path_arg, %"byte[]"* %tmp9, align 8
+ %tmp12 = insertvalue %"char[][]" { i32 1, %"byte[]"* undef }, %"byte[]"* %tmp9, 1 ; <%"char[][]"> [#uses=1]
+ %tmp13 = call fastcc %tango.net.SocketConduit.SocketConduit* %this.processDataCommand(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" { i32 4, i8* getelementptr ([5 x i8]* @.str199, i32 0, i32 0) }, %"char[][]" %tmp12) ; <%tango.net.SocketConduit.SocketConduit*> [#uses=2]
+ %tmp15 = icmp eq %tango.io.model.IConduit.InputStream* %stream_arg, null ; <i1> [#uses=1]
+ br i1 %tmp15, label %endif, label %if
+
+if: ; preds = %entry
+ %tmp18 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp1 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
+ %"this.sendStream@vtbl" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp18, i32 0, i32 48 ; <void (%tango.net.ftp.FtpClient.FTPConnection*, %tango.net.SocketConduit.SocketConduit*, %tango.io.model.IConduit.InputStream*, %"void delegate(uint pos)")**> [#uses=1]
+ %this.sendStream = load void (%tango.net.ftp.FtpClient.FTPConnection*, %tango.net.SocketConduit.SocketConduit*, %tango.io.model.IConduit.InputStream*, %"void delegate(uint pos)")** %"this.sendStream@vtbl", align 4 ; <void (%tango.net.ftp.FtpClient.FTPConnection*, %tango.net.SocketConduit.SocketConduit*, %tango.io.model.IConduit.InputStream*, %"void delegate(uint pos)")*> [#uses=1]
+ call fastcc void %this.sendStream(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %tango.net.SocketConduit.SocketConduit* %tmp13, %tango.io.model.IConduit.InputStream* %stream_arg, %"void delegate(uint pos)" %progress_arg)
+ br label %endif
+
+endif: ; preds = %if, %entry
+ %tmp25 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp1 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
+ %"this.finishDataCommand@vtbl" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp25, i32 0, i32 44 ; <void (%tango.net.ftp.FtpClient.FTPConnection*, %tango.net.SocketConduit.SocketConduit*)**> [#uses=1]
+ %this.finishDataCommand = load void (%tango.net.ftp.FtpClient.FTPConnection*, %tango.net.SocketConduit.SocketConduit*)** %"this.finishDataCommand@vtbl", align 4 ; <void (%tango.net.ftp.FtpClient.FTPConnection*, %tango.net.SocketConduit.SocketConduit*)*> [#uses=1]
+ call fastcc void %this.finishDataCommand(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %tango.net.SocketConduit.SocketConduit* %tmp13)
+ ret void
+}
+
+define fastcc void @_D5tango3net3ftp9FtpClient13FTPConnection6appendMFAaC5tango2io5model8IConduit11InputStreamDFkZvE5tango3net3ftp9FtpClient9FtpFormatZv(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" %path_arg, %tango.io.model.IConduit.InputStream* %stream_arg, %"void delegate(uint pos)" %progress_arg, i32 %format_arg) {
+entry:
+ %__arrayArg151 = alloca [1 x %"byte[]"], align 8 ; <[1 x %"byte[]"]*> [#uses=1]
+ %tmp1 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 0 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl**> [#uses=4]
+ %tmp2 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp1 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
+ %"this.type@vtbl" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp2, i32 0, i32 29 ; <void (%tango.net.ftp.FtpClient.FTPConnection*, i32)**> [#uses=1]
+ %this.type = load void (%tango.net.ftp.FtpClient.FTPConnection*, i32)** %"this.type@vtbl", align 4 ; <void (%tango.net.ftp.FtpClient.FTPConnection*, i32)*> [#uses=1]
+ call fastcc void %this.type(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 %format_arg)
+ %tmp7 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp1 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
+ %"this.processDataCommand@vtbl" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp7, i32 0, i32 45 ; <%tango.net.SocketConduit.SocketConduit* (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]", %"char[][]")**> [#uses=1]
+ %this.processDataCommand = load %tango.net.SocketConduit.SocketConduit* (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]", %"char[][]")** %"this.processDataCommand@vtbl", align 4 ; <%tango.net.SocketConduit.SocketConduit* (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]", %"char[][]")*> [#uses=1]
+ %tmp9 = getelementptr [1 x %"byte[]"]* %__arrayArg151, i32 0, i32 0 ; <%"byte[]"*> [#uses=2]
+ store %"byte[]" %path_arg, %"byte[]"* %tmp9, align 8
+ %tmp12 = insertvalue %"char[][]" { i32 1, %"byte[]"* undef }, %"byte[]"* %tmp9, 1 ; <%"char[][]"> [#uses=1]
+ %tmp13 = call fastcc %tango.net.SocketConduit.SocketConduit* %this.processDataCommand(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" { i32 4, i8* getelementptr ([5 x i8]* @.str200, i32 0, i32 0) }, %"char[][]" %tmp12) ; <%tango.net.SocketConduit.SocketConduit*> [#uses=2]
+ %tmp16 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp1 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
+ %"this.sendStream@vtbl" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp16, i32 0, i32 48 ; <void (%tango.net.ftp.FtpClient.FTPConnection*, %tango.net.SocketConduit.SocketConduit*, %tango.io.model.IConduit.InputStream*, %"void delegate(uint pos)")**> [#uses=1]
+ %this.sendStream = load void (%tango.net.ftp.FtpClient.FTPConnection*, %tango.net.SocketConduit.SocketConduit*, %tango.io.model.IConduit.InputStream*, %"void delegate(uint pos)")** %"this.sendStream@vtbl", align 4 ; <void (%tango.net.ftp.FtpClient.FTPConnection*, %tango.net.SocketConduit.SocketConduit*, %tango.io.model.IConduit.InputStream*, %"void delegate(uint pos)")*> [#uses=1]
+ call fastcc void %this.sendStream(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %tango.net.SocketConduit.SocketConduit* %tmp13, %tango.io.model.IConduit.InputStream* %stream_arg, %"void delegate(uint pos)" %progress_arg)
+ %tmp23 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp1 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
+ %"this.finishDataCommand@vtbl" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp23, i32 0, i32 44 ; <void (%tango.net.ftp.FtpClient.FTPConnection*, %tango.net.SocketConduit.SocketConduit*)**> [#uses=1]
+ %this.finishDataCommand = load void (%tango.net.ftp.FtpClient.FTPConnection*, %tango.net.SocketConduit.SocketConduit*)** %"this.finishDataCommand@vtbl", align 4 ; <void (%tango.net.ftp.FtpClient.FTPConnection*, %tango.net.SocketConduit.SocketConduit*)*> [#uses=1]
+ call fastcc void %this.finishDataCommand(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %tango.net.SocketConduit.SocketConduit* %tmp13)
+ ret void
+}
+
+define fastcc void @_D5tango3net3ftp9FtpClient13FTPConnection11restartSeekMFkZv(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 %offset_arg) {
+entry:
+ %tmp = alloca [16 x i8], align 1 ; <[16 x i8]*> [#uses=3]
+ %__arrayArg152 = alloca [1 x %"byte[]"], align 8 ; <[1 x %"byte[]"]*> [#uses=1]
+ %.rettmp = alloca %tango.net.ftp.FtpClient.FtpResponse, align 8 ; <%tango.net.ftp.FtpClient.FtpResponse*> [#uses=1]
+ %tmp1 = getelementptr [16 x i8]* %tmp, i32 0, i32 0 ; <i8*> [#uses=1]
+ call void @llvm.memset.i32(i8* %tmp1, i8 -1, i32 16, i32 1)
+ %tmp3 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 0 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl**> [#uses=2]
+ %tmp4 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp3 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
+ %"this.sendCommand@vtbl" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp4, i32 0, i32 35 ; <void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]", %"char[][]")**> [#uses=1]
+ %this.sendCommand = load void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]", %"char[][]")** %"this.sendCommand@vtbl", align 4 ; <void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]", %"char[][]")*> [#uses=1]
+ %tmp6 = getelementptr [1 x %"byte[]"]* %__arrayArg152, i32 0, i32 0 ; <%"byte[]"*> [#uses=2]
+ %tmp49.i = load %"byte[]"* getelementptr ([8 x %nest.parseListLine]* @.constarray262, i32 0, i32 0, i32 2) ; <%"byte[]"> [#uses=1]
+ %tmp49178.i = extractvalue %"byte[]" %tmp49.i, 1 ; <i8*> [#uses=1]
+ %tmp52.i = load i32* getelementptr ([8 x %nest.parseListLine]* @.constarray262, i32 0, i32 0, i32 0), align 8 ; <i32> [#uses=2]
+ %tmp56.i = getelementptr [16 x i8]* %tmp, i32 0, i32 16 ; <i8*> [#uses=1]
+ br label %dowhile.i
+
+dowhile.i: ; preds = %andand.i, %entry
+ %p.0.i = phi i8* [ %tmp65.i, %andand.i ], [ %tmp56.i, %entry ] ; <i8*> [#uses=1]
+ %v.0.i = phi i32 [ %tmp75.i, %andand.i ], [ %offset_arg, %entry ] ; <i32> [#uses=2]
+ %len.0.i = phi i32 [ %tmp78.i, %andand.i ], [ 16, %entry ] ; <i32> [#uses=3]
+ %tmp65.i = getelementptr i8* %p.0.i, i32 -1 ; <i8*> [#uses=2]
+ %tmp68.i = urem i32 %v.0.i, %tmp52.i ; <i32> [#uses=1]
+ %tmp71.i = getelementptr i8* %tmp49178.i, i32 %tmp68.i ; <i8*> [#uses=1]
+ %tmp72.i = load i8* %tmp71.i ; <i8> [#uses=1]
+ store i8 %tmp72.i, i8* %tmp65.i
+ %tmp75.i = udiv i32 %v.0.i, %tmp52.i ; <i32> [#uses=2]
+ %tmp76.i = icmp eq i32 %tmp75.i, 0 ; <i1> [#uses=1]
+ br i1 %tmp76.i, label %condtrue.i, label %andand.i
+
+andand.i: ; preds = %dowhile.i
+ %tmp78.i = add i32 %len.0.i, -1 ; <i32> [#uses=2]
+ %tmp79.i = icmp eq i32 %len.0.i, 1 ; <i1> [#uses=1]
+ br i1 %tmp79.i, label %condtrue.i, label %dowhile.i
+
+condtrue.i: ; preds = %andand.i, %dowhile.i
+ %len.1.i = phi i32 [ %tmp78.i, %andand.i ], [ %len.0.i, %dowhile.i ] ; <i32> [#uses=2]
+ %tmp112.i = load %"byte[]"* getelementptr ([8 x %nest.parseListLine]* @.constarray262, i32 0, i32 0, i32 1) ; <%"byte[]"> [#uses=2]
+ %condtmp.0175.i = extractvalue %"byte[]" %tmp112.i, 0 ; <i32> [#uses=3]
+ %tmp117.i = icmp ugt i32 %len.1.i, %condtmp.0175.i ; <i1> [#uses=1]
+ br i1 %tmp117.i, label %if118.i, label %_D5tango4text7convert7Integer16__T9formatterTaZ9formatterFAalaaiZAa.exit
+
+if118.i: ; preds = %condtrue.i
+ %condtmp.0176.i = extractvalue %"byte[]" %tmp112.i, 1 ; <i8*> [#uses=1]
+ %tmp123.i = add i32 %condtmp.0175.i, 1 ; <i32> [#uses=1]
+ %tmp124.i = sub i32 %len.1.i, %tmp123.i ; <i32> [#uses=2]
+ %tmp156.i = getelementptr [16 x i8]* %tmp, i32 0, i32 %tmp124.i ; <i8*> [#uses=2]
+ call void @llvm.memcpy.i32(i8* %tmp156.i, i8* %condtmp.0176.i, i32 %condtmp.0175.i, i32 1)
+ %tmp170.i = sub i32 16, %tmp124.i ; <i32> [#uses=1]
+ %tmp171.i = insertvalue %"byte[]" undef, i32 %tmp170.i, 0 ; <%"byte[]"> [#uses=1]
+ %tmp172.i = insertvalue %"byte[]" %tmp171.i, i8* %tmp156.i, 1 ; <%"byte[]"> [#uses=1]
+ br label %_D5tango4text7convert7Integer16__T9formatterTaZ9formatterFAalaaiZAa.exit
+
+_D5tango4text7convert7Integer16__T9formatterTaZ9formatterFAalaaiZAa.exit: ; preds = %if118.i, %condtrue.i
+ %tmp6.i21 = phi %"byte[]" [ %tmp172.i, %if118.i ], [ { i32 24, i8* getelementptr ([25 x i8]* @.str265, i32 0, i32 0) }, %condtrue.i ] ; <%"byte[]"> [#uses=1]
+ store %"byte[]" %tmp6.i21, %"byte[]"* %tmp6, align 8
+ %tmp13 = insertvalue %"char[][]" { i32 1, %"byte[]"* undef }, %"byte[]"* %tmp6, 1 ; <%"char[][]"> [#uses=1]
+ call fastcc void %this.sendCommand(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" { i32 4, i8* getelementptr ([5 x i8]* @.str201, i32 0, i32 0) }, %"char[][]" %tmp13)
+ %tmp16 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp3 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
+ %"this.readResponse@vtbl" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp16, i32 0, i32 36 ; <void (%tango.net.ftp.FtpClient.FtpResponse*, %tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")**> [#uses=1]
+ %this.readResponse = load void (%tango.net.ftp.FtpClient.FtpResponse*, %tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")** %"this.readResponse@vtbl", align 4 ; <void (%tango.net.ftp.FtpClient.FtpResponse*, %tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")*> [#uses=1]
+ call fastcc void %this.readResponse(%tango.net.ftp.FtpClient.FtpResponse* noalias nocapture sret %.rettmp, %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" { i32 3, i8* getelementptr ([4 x i8]* @.str202, i32 0, i32 0) })
+ %tmp19 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 7 ; <i32*> [#uses=1]
+ store i32 %offset_arg, i32* %tmp19
+ ret void
+}
+
+define fastcc void @_D5tango3net3ftp9FtpClient13FTPConnection8allocateMFlZv(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i64 %bytes_arg) {
+entry:
+ %tmp = alloca [16 x i8], align 1 ; <[16 x i8]*> [#uses=3]
+ %__arrayArg153 = alloca [1 x %"byte[]"], align 8 ; <[1 x %"byte[]"]*> [#uses=1]
+ %response = alloca %tango.net.ftp.FtpClient.FtpResponse, align 4 ; <%tango.net.ftp.FtpClient.FtpResponse*> [#uses=2]
+ %.rettmp = alloca %tango.net.ftp.FtpClient.FtpResponse, align 8 ; <%tango.net.ftp.FtpClient.FtpResponse*> [#uses=2]
+ %tmp1 = getelementptr [16 x i8]* %tmp, i32 0, i32 0 ; <i8*> [#uses=1]
+ call void @llvm.memset.i32(i8* %tmp1, i8 -1, i32 16, i32 1)
+ %tmp3 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 0 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl**> [#uses=3]
+ %tmp4 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp3 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
+ %"this.sendCommand@vtbl" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp4, i32 0, i32 35 ; <void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]", %"char[][]")**> [#uses=1]
+ %this.sendCommand = load void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]", %"char[][]")** %"this.sendCommand@vtbl", align 4 ; <void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]", %"char[][]")*> [#uses=1]
+ %tmp6 = getelementptr [1 x %"byte[]"]* %__arrayArg153, i32 0, i32 0 ; <%"byte[]"*> [#uses=2]
+ %tmp10.i = icmp slt i64 %bytes_arg, 0 ; <i1> [#uses=1]
+ %negval.i = sub i64 0, %bytes_arg ; <i64> [#uses=1]
+ %bytes_arg.lobit = lshr i64 %bytes_arg, 63 ; <i64> [#uses=1]
+ %tmp36 = trunc i64 %bytes_arg.lobit to i32 ; <i32> [#uses=3]
+ %i.1.i = select i1 %tmp10.i, i64 %negval.i, i64 %bytes_arg ; <i64> [#uses=3]
+ %tmp48.i = getelementptr [8 x %nest.parseListLine]* @.constarray262, i32 0, i32 %tmp36, i32 2 ; <%"byte[]"*> [#uses=1]
+ %tmp49.i = load %"byte[]"* %tmp48.i ; <%"byte[]"> [#uses=1]
+ %tmp49178.i = extractvalue %"byte[]" %tmp49.i, 1 ; <i8*> [#uses=2]
+ %tmp51.i = getelementptr [8 x %nest.parseListLine]* @.constarray262, i32 0, i32 %tmp36, i32 0 ; <i32*> [#uses=1]
+ %tmp52.i = load i32* %tmp51.i ; <i32> [#uses=3]
+ %tmp56.i = getelementptr [16 x i8]* %tmp, i32 0, i32 16 ; <i8*> [#uses=2]
+ %tmp58.i = icmp ugt i64 %i.1.i, 4294967295 ; <i1> [#uses=1]
+ br i1 %tmp58.i, label %dowhile82.i, label %if59.i
+
+if59.i: ; preds = %entry
+ %tmp63.i = trunc i64 %i.1.i to i32 ; <i32> [#uses=1]
+ br label %dowhile.i
+
+dowhile.i: ; preds = %andand.i, %if59.i
+ %p.0.i = phi i8* [ %tmp56.i, %if59.i ], [ %tmp65.i, %andand.i ] ; <i8*> [#uses=1]
+ %v.0.i = phi i32 [ %tmp63.i, %if59.i ], [ %tmp75.i, %andand.i ] ; <i32> [#uses=2]
+ %len.0.i = phi i32 [ 16, %if59.i ], [ %tmp78.i, %andand.i ] ; <i32> [#uses=3]
+ %tmp65.i = getelementptr i8* %p.0.i, i32 -1 ; <i8*> [#uses=2]
+ %tmp68.i = urem i32 %v.0.i, %tmp52.i ; <i32> [#uses=1]
+ %tmp71.i = getelementptr i8* %tmp49178.i, i32 %tmp68.i ; <i8*> [#uses=1]
+ %tmp72.i = load i8* %tmp71.i ; <i8> [#uses=1]
+ store i8 %tmp72.i, i8* %tmp65.i
+ %tmp75.i = udiv i32 %v.0.i, %tmp52.i ; <i32> [#uses=2]
+ %tmp76.i = icmp eq i32 %tmp75.i, 0 ; <i1> [#uses=1]
+ br i1 %tmp76.i, label %condtrue.i, label %andand.i
+
+andand.i: ; preds = %dowhile.i
+ %tmp78.i = add i32 %len.0.i, -1 ; <i32> [#uses=2]
+ %tmp79.i = icmp eq i32 %len.0.i, 1 ; <i1> [#uses=1]
+ br i1 %tmp79.i, label %condtrue.i, label %dowhile.i
+
+dowhile82.i: ; preds = %andand100.i, %entry
+ %p.2.i = phi i8* [ %tmp86.i, %andand100.i ], [ %tmp56.i, %entry ] ; <i8*> [#uses=1]
+ %v80.0.i = phi i64 [ %tmp99.i, %andand100.i ], [ %i.1.i, %entry ] ; <i64> [#uses=2]
+ %len.2.i = phi i32 [ %tmp104.i, %andand100.i ], [ 16, %entry ] ; <i32> [#uses=3]
+ %tmp86.i = getelementptr i8* %p.2.i, i32 -1 ; <i8*> [#uses=2]
+ %tmp88.i = zext i32 %tmp52.i to i64 ; <i64> [#uses=2]
+ %tmp90.i = urem i64 %v80.0.i, %tmp88.i ; <i64> [#uses=1]
+ %tmp91.i = trunc i64 %tmp90.i to i32 ; <i32> [#uses=1]
+ %tmp94.i = getelementptr i8* %tmp49178.i, i32 %tmp91.i ; <i8*> [#uses=1]
+ %tmp95.i = load i8* %tmp94.i ; <i8> [#uses=1]
+ store i8 %tmp95.i, i8* %tmp86.i
+ %tmp99.i = udiv i64 %v80.0.i, %tmp88.i ; <i64> [#uses=2]
+ %tmp102.i = icmp eq i64 %tmp99.i, 0 ; <i1> [#uses=1]
+ br i1 %tmp102.i, label %condtrue.i, label %andand100.i
+
+andand100.i: ; preds = %dowhile82.i
+ %tmp104.i = add i32 %len.2.i, -1 ; <i32> [#uses=2]
+ %tmp105.i = icmp eq i32 %len.2.i, 1 ; <i1> [#uses=1]
+ br i1 %tmp105.i, label %condtrue.i, label %dowhile82.i
+
+condtrue.i: ; preds = %andand100.i, %dowhile82.i, %andand.i, %dowhile.i
+ %len.1.i = phi i32 [ %tmp78.i, %andand.i ], [ %len.0.i, %dowhile.i ], [ %tmp104.i, %andand100.i ], [ %len.2.i, %dowhile82.i ] ; <i32> [#uses=2]
+ %tmp111.i = getelementptr [8 x %nest.parseListLine]* @.constarray262, i32 0, i32 %tmp36, i32 1 ; <%"byte[]"*> [#uses=1]
+ %tmp112.i = load %"byte[]"* %tmp111.i ; <%"byte[]"> [#uses=2]
+ %condtmp.0175.i = extractvalue %"byte[]" %tmp112.i, 0 ; <i32> [#uses=3]
+ %tmp117.i = icmp ugt i32 %len.1.i, %condtmp.0175.i ; <i1> [#uses=1]
+ br i1 %tmp117.i, label %if118.i, label %_D5tango4text7convert7Integer16__T9formatterTaZ9formatterFAalaaiZAa.exit
+
+if118.i: ; preds = %condtrue.i
+ %condtmp.0176.i = extractvalue %"byte[]" %tmp112.i, 1 ; <i8*> [#uses=1]
+ %tmp123.i = add i32 %condtmp.0175.i, 1 ; <i32> [#uses=1]
+ %tmp124.i = sub i32 %len.1.i, %tmp123.i ; <i32> [#uses=2]
+ %tmp156.i = getelementptr [16 x i8]* %tmp, i32 0, i32 %tmp124.i ; <i8*> [#uses=2]
+ call void @llvm.memcpy.i32(i8* %tmp156.i, i8* %condtmp.0176.i, i32 %condtmp.0175.i, i32 1)
+ %tmp170.i = sub i32 16, %tmp124.i ; <i32> [#uses=1]
+ %tmp171.i = insertvalue %"byte[]" undef, i32 %tmp170.i, 0 ; <%"byte[]"> [#uses=1]
+ %tmp172.i = insertvalue %"byte[]" %tmp171.i, i8* %tmp156.i, 1 ; <%"byte[]"> [#uses=1]
+ br label %_D5tango4text7convert7Integer16__T9formatterTaZ9formatterFAalaaiZAa.exit
+
+_D5tango4text7convert7Integer16__T9formatterTaZ9formatterFAalaaiZAa.exit: ; preds = %if118.i, %condtrue.i
+ %tmp6.i35 = phi %"byte[]" [ %tmp172.i, %if118.i ], [ { i32 24, i8* getelementptr ([25 x i8]* @.str265, i32 0, i32 0) }, %condtrue.i ] ; <%"byte[]"> [#uses=1]
+ store %"byte[]" %tmp6.i35, %"byte[]"* %tmp6, align 8
+ %tmp12 = insertvalue %"char[][]" { i32 1, %"byte[]"* undef }, %"byte[]"* %tmp6, 1 ; <%"char[][]"> [#uses=1]
+ call fastcc void %this.sendCommand(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" { i32 4, i8* getelementptr ([5 x i8]* @.str203, i32 0, i32 0) }, %"char[][]" %tmp12)
+ %tmp15 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp3 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
+ %"this.readResponse@vtbl" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp15, i32 0, i32 37 ; <void (%tango.net.ftp.FtpClient.FtpResponse*, %tango.net.ftp.FtpClient.FTPConnection*)**> [#uses=1]
+ %this.readResponse = load void (%tango.net.ftp.FtpClient.FtpResponse*, %tango.net.ftp.FtpClient.FTPConnection*)** %"this.readResponse@vtbl", align 4 ; <void (%tango.net.ftp.FtpClient.FtpResponse*, %tango.net.ftp.FtpClient.FTPConnection*)*> [#uses=1]
+ call fastcc void %this.readResponse(%tango.net.ftp.FtpClient.FtpResponse* noalias nocapture sret %.rettmp, %tango.net.ftp.FtpClient.FTPConnection* %.this_arg)
+ %tmp17 = getelementptr %tango.net.ftp.FtpClient.FtpResponse* %response, i32 0, i32 0, i32 0 ; <i8*> [#uses=3]
+ %tmp18 = getelementptr %tango.net.ftp.FtpClient.FtpResponse* %.rettmp, i32 0, i32 0, i32 0 ; <i8*> [#uses=1]
+ call void @llvm.memcpy.i32(i8* %tmp17, i8* %tmp18, i32 12, i32 4)
+ %tmp21 = insertvalue %"byte[]" { i32 3, i8* undef }, i8* %tmp17, 1 ; <%"byte[]"> [#uses=1]
+ %tmp22 = call i32 @_adEq(%"byte[]" %tmp21, %"byte[]" { i32 3, i8* getelementptr ([4 x i8]* @.str204, i32 0, i32 0) }, %object.TypeInfo* @_D11TypeInfo_Aa6__initZ) readonly ; <i32> [#uses=1]
+ %tmp23 = icmp eq i32 %tmp22, 0 ; <i1> [#uses=1]
+ br i1 %tmp23, label %andand, label %endif
+
+andand: ; preds = %_D5tango4text7convert7Integer16__T9formatterTaZ9formatterFAalaaiZAa.exit
+ %tmp27 = insertvalue %"byte[]" { i32 3, i8* undef }, i8* %tmp17, 1 ; <%"byte[]"> [#uses=1]
+ %tmp28 = call i32 @_adEq(%"byte[]" %tmp27, %"byte[]" { i32 3, i8* getelementptr ([4 x i8]* @.str205, i32 0, i32 0) }, %object.TypeInfo* @_D11TypeInfo_Aa6__initZ) readonly ; <i32> [#uses=1]
+ %tmp29 = icmp eq i32 %tmp28, 0 ; <i1> [#uses=1]
+ br i1 %tmp29, label %if, label %endif
+
+if: ; preds = %andand
+ %tmp33 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp3 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
+ %"this.exception@vtbl" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp33, i32 0, i32 14 ; <void (%tango.net.ftp.FtpClient.FTPConnection*, %tango.net.ftp.FtpClient.FtpResponse*)**> [#uses=1]
+ %this.exception = load void (%tango.net.ftp.FtpClient.FTPConnection*, %tango.net.ftp.FtpClient.FtpResponse*)** %"this.exception@vtbl", align 4 ; <void (%tango.net.ftp.FtpClient.FTPConnection*, %tango.net.ftp.FtpClient.FtpResponse*)*> [#uses=1]
+ call fastcc void %this.exception(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %tango.net.ftp.FtpClient.FtpResponse* byval %response)
+ ret void
+
+endif: ; preds = %andand, %_D5tango4text7convert7Integer16__T9formatterTaZ9formatterFAalaaiZAa.exit
+ ret void
+}
+
+define fastcc void @_D5tango3net3ftp9FtpClient13FTPConnection3getMFAaAaDFkZvE5tango3net3ftp9FtpClient9FtpFormatZv(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" %path_arg, %"byte[]" %local_file_arg, %"void delegate(uint pos)" %progress_arg, i32 %format_arg) {
+entry:
+ %style_arg57 = alloca i32, align 8 ; <i32*> [#uses=2]
+ %style_arg = alloca i32, align 8 ; <i32*> [#uses=2]
+ %tmp1 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 7 ; <i32*> [#uses=3]
+ %tmp2 = load i32* %tmp1 ; <i32> [#uses=1]
+ %tmp3 = icmp eq i32 %tmp2, 0 ; <i1> [#uses=1]
+ %.newclass_gc_alloc = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango2io6device4File4File7__ClassZ) ; <i8*> [#uses=11]
+ %.newclass_gc = bitcast i8* %.newclass_gc_alloc to %tango.io.device.File.File* ; <%tango.io.device.File.File*> [#uses=3]
+ %vtbl = bitcast i8* %.newclass_gc_alloc to %tango.io.device.File.File.__vtbl** ; <%tango.io.device.File.File.__vtbl**> [#uses=4]
+ store %tango.io.device.File.File.__vtbl* @_D5tango2io6device4File4File6__vtblZ, %tango.io.device.File.File.__vtbl** %vtbl
+ %monitor = getelementptr i8* %.newclass_gc_alloc, i32 4 ; <i8*> [#uses=1]
+ %0 = bitcast i8* %monitor to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %0
+ %tmp4 = getelementptr i8* %.newclass_gc_alloc, i32 8 ; <i8*> [#uses=1]
+ tail call void @llvm.memcpy.i32(i8* %tmp4, i8* bitcast (%13** getelementptr (%tango.io.device.File.File* bitcast (%27* @_D5tango2io6device4File4File6__initZ to %tango.io.device.File.File*), i32 0, i32 2) to i8*), i32 32, i32 1)
+ br i1 %tmp3, label %if, label %else
+
+if: ; preds = %entry
+ %tmpcast = bitcast i32* %style_arg to %tango.io.device.File.File.Style* ; <%tango.io.device.File.File.Style*> [#uses=1]
+ %tmp65 = load i32* bitcast (%tango.io.device.File.File.Style* @_D5tango2io6device4File4File15ReadWriteCreateS5tango2io6device4File4File5Style to i32*), align 1 ; <i32> [#uses=1]
+ store i32 %tmp65, i32* %style_arg, align 8
+ %tmp2.i = load %tango.io.device.File.File.__vtbl** %vtbl ; <%tango.io.device.File.File.__vtbl*> [#uses=1]
+ %"this.open@vtbl.i" = getelementptr %tango.io.device.File.File.__vtbl* %tmp2.i, i32 0, i32 18 ; <void (%tango.io.device.File.File*, %"byte[]", %tango.io.device.File.File.Style*)**> [#uses=1]
+ %this.open.i = load void (%tango.io.device.File.File*, %"byte[]", %tango.io.device.File.File.Style*)** %"this.open@vtbl.i", align 4 ; <void (%tango.io.device.File.File*, %"byte[]", %tango.io.device.File.File.Style*)*> [#uses=1]
+ tail call fastcc void %this.open.i(%tango.io.device.File.File* %.newclass_gc, %"byte[]" %local_file_arg, %tango.io.device.File.File.Style* byval %tmpcast)
+ br label %try
+
+else: ; preds = %entry
+ %tmpcast68 = bitcast i32* %style_arg57 to %tango.io.device.File.File.Style* ; <%tango.io.device.File.File.Style*> [#uses=1]
+ %tmp = load i32* bitcast (%tango.io.device.File.File.Style* @_D5tango2io6device4File4File17ReadWriteExistingS5tango2io6device4File4File5Style to i32*), align 1 ; <i32> [#uses=1]
+ store i32 %tmp, i32* %style_arg57, align 8
+ %tmp2.i61 = load %tango.io.device.File.File.__vtbl** %vtbl ; <%tango.io.device.File.File.__vtbl*> [#uses=1]
+ %"this.open@vtbl.i62" = getelementptr %tango.io.device.File.File.__vtbl* %tmp2.i61, i32 0, i32 18 ; <void (%tango.io.device.File.File*, %"byte[]", %tango.io.device.File.File.Style*)**> [#uses=1]
+ %this.open.i63 = load void (%tango.io.device.File.File*, %"byte[]", %tango.io.device.File.File.Style*)** %"this.open@vtbl.i62", align 4 ; <void (%tango.io.device.File.File*, %"byte[]", %tango.io.device.File.File.Style*)*> [#uses=1]
+ tail call fastcc void %this.open.i63(%tango.io.device.File.File* %.newclass_gc, %"byte[]" %local_file_arg, %tango.io.device.File.File.Style* byval %tmpcast68)
+ %tmp22 = load %tango.io.device.File.File.__vtbl** %vtbl ; <%tango.io.device.File.File.__vtbl*> [#uses=1]
+ %"file.seek@vtbl" = getelementptr %tango.io.device.File.File.__vtbl* %tmp22, i32 0, i32 13 ; <i64 (%tango.io.device.File.File*, i64, i32)**> [#uses=1]
+ %file.seek = load i64 (%tango.io.device.File.File*, i64, i32)** %"file.seek@vtbl", align 4 ; <i64 (%tango.io.device.File.File*, i64, i32)*> [#uses=1]
+ %tmp26 = load i32* %tmp1 ; <i32> [#uses=1]
+ %tmp27 = zext i32 %tmp26 to i64 ; <i64> [#uses=1]
+ %tmp28 = tail call fastcc i64 %file.seek(%tango.io.device.File.File* %.newclass_gc, i64 %tmp27, i32 0) ; <i64> [#uses=0]
+ store i32 0, i32* %tmp1
+ br label %try
+
+try: ; preds = %else, %if
+ %tmp38 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 0 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl**> [#uses=1]
+ %tmp39 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp38 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
+ %"this.get@vtbl" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp39, i32 0, i32 60 ; <void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]", %tango.io.model.IConduit.OutputStream*, %"void delegate(uint pos)", i32)**> [#uses=1]
+ %this.get = load void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]", %tango.io.model.IConduit.OutputStream*, %"void delegate(uint pos)", i32)** %"this.get@vtbl", align 4 ; <void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]", %tango.io.model.IConduit.OutputStream*, %"void delegate(uint pos)", i32)*> [#uses=1]
+ %tmp43 = getelementptr i8* %.newclass_gc_alloc, i32 12 ; <i8*> [#uses=1]
+ %tmp44 = bitcast i8* %tmp43 to %tango.io.model.IConduit.OutputStream* ; <%tango.io.model.IConduit.OutputStream*> [#uses=1]
+ invoke fastcc void %this.get(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" %path_arg, %tango.io.model.IConduit.OutputStream* %tmp44, %"void delegate(uint pos)" %progress_arg, i32 %format_arg)
+ to label %finally unwind label %landingpad
+
+finally: ; preds = %try
+ %tmp48 = bitcast i8* %.newclass_gc_alloc to %tango.io.device.Device.Device* ; <%tango.io.device.Device.Device*> [#uses=1]
+ %tmp49 = bitcast i8* %.newclass_gc_alloc to %tango.io.device.Device.Device.__vtbl** ; <%tango.io.device.Device.Device.__vtbl**> [#uses=1]
+ %tmp50 = load %tango.io.device.Device.Device.__vtbl** %tmp49 ; <%tango.io.device.Device.Device.__vtbl*> [#uses=1]
+ %"(cast(Device)file).detach@vtbl51" = getelementptr %tango.io.device.Device.Device.__vtbl* %tmp50, i32 0, i32 8 ; <void (%tango.io.device.Device.Device*)**> [#uses=1]
+ %"(cast(Device)file).detach53" = load void (%tango.io.device.Device.Device*)** %"(cast(Device)file).detach@vtbl51", align 4 ; <void (%tango.io.device.Device.Device*)*> [#uses=1]
+ tail call fastcc void %"(cast(Device)file).detach53"(%tango.io.device.Device.Device* %tmp48)
+ %.tmp55 = bitcast i8* %.newclass_gc_alloc to %object.Object* ; <%object.Object*> [#uses=1]
+ tail call void @_d_delclass(%object.Object* %.tmp55)
+ ret void
+
+landingpad: ; preds = %try
+ %1 = tail call i8* @llvm.eh.exception() ; <i8*> [#uses=2]
+ %2 = tail call i32 (i8*, i8*, ...)* @llvm.eh.selector.i32(i8* %1, i8* bitcast (i32 (i32, i32, i64, i8*, i8*)* @_d_eh_personality to i8*), i32 0) ; <i32> [#uses=0]
+ %tmp32 = bitcast i8* %.newclass_gc_alloc to %tango.io.device.Device.Device* ; <%tango.io.device.Device.Device*> [#uses=1]
+ %tmp33 = bitcast i8* %.newclass_gc_alloc to %tango.io.device.Device.Device.__vtbl** ; <%tango.io.device.Device.Device.__vtbl**> [#uses=1]
+ %tmp34 = load %tango.io.device.Device.Device.__vtbl** %tmp33 ; <%tango.io.device.Device.Device.__vtbl*> [#uses=1]
+ %"(cast(Device)file).detach@vtbl" = getelementptr %tango.io.device.Device.Device.__vtbl* %tmp34, i32 0, i32 8 ; <void (%tango.io.device.Device.Device*)**> [#uses=1]
+ %"(cast(Device)file).detach" = load void (%tango.io.device.Device.Device*)** %"(cast(Device)file).detach@vtbl", align 4 ; <void (%tango.io.device.Device.Device*)*> [#uses=1]
+ tail call fastcc void %"(cast(Device)file).detach"(%tango.io.device.Device.Device* %tmp32)
+ %.tmp = bitcast i8* %.newclass_gc_alloc to %object.Object* ; <%object.Object*> [#uses=1]
+ tail call void @_d_delclass(%object.Object* %.tmp)
+ tail call void @_d_eh_resume_unwind(i8* %1)
+ unreachable
+}
+
+define fastcc void @_D5tango3net3ftp9FtpClient13FTPConnection10enableUTF8MFZv(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg) {
+entry:
+ %.rettmp = alloca %tango.net.ftp.FtpClient.FtpResponse, align 8 ; <%tango.net.ftp.FtpClient.FtpResponse*> [#uses=1]
+ %tmp1 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 0 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl**> [#uses=2]
+ %tmp2 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp1 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
+ %"this.sendCommand@vtbl" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp2, i32 0, i32 35 ; <void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]", %"char[][]")**> [#uses=1]
+ %this.sendCommand = load void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]", %"char[][]")** %"this.sendCommand@vtbl", align 4 ; <void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]", %"char[][]")*> [#uses=1]
+ call fastcc void %this.sendCommand(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" { i32 12, i8* getelementptr ([13 x i8]* @.str206, i32 0, i32 0) }, %"char[][]" zeroinitializer)
+ %tmp6 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp1 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
+ %"this.readResponse@vtbl" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp6, i32 0, i32 36 ; <void (%tango.net.ftp.FtpClient.FtpResponse*, %tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")**> [#uses=1]
+ %this.readResponse = load void (%tango.net.ftp.FtpClient.FtpResponse*, %tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")** %"this.readResponse@vtbl", align 4 ; <void (%tango.net.ftp.FtpClient.FtpResponse*, %tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")*> [#uses=1]
+ call fastcc void %this.readResponse(%tango.net.ftp.FtpClient.FtpResponse* noalias nocapture sret %.rettmp, %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" { i32 3, i8* getelementptr ([4 x i8]* @.str207, i32 0, i32 0) })
+ ret void
+}
+
+define fastcc void @_D5tango3net3ftp9FtpClient13FTPConnection3getMFAaC5tango2io5model8IConduit12OutputStreamDFkZvE5tango3net3ftp9FtpClient9FtpFormatZv(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" %path_arg, %tango.io.model.IConduit.OutputStream* %stream_arg, %"void delegate(uint pos)" %progress_arg, i32 %format_arg) {
+entry:
+ %__arrayArg155 = alloca [1 x %"byte[]"], align 8 ; <[1 x %"byte[]"]*> [#uses=1]
+ %tmp1 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 0 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl**> [#uses=4]
+ %tmp2 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp1 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
+ %"this.type@vtbl" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp2, i32 0, i32 29 ; <void (%tango.net.ftp.FtpClient.FTPConnection*, i32)**> [#uses=1]
+ %this.type = load void (%tango.net.ftp.FtpClient.FTPConnection*, i32)** %"this.type@vtbl", align 4 ; <void (%tango.net.ftp.FtpClient.FTPConnection*, i32)*> [#uses=1]
+ call fastcc void %this.type(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 %format_arg)
+ %tmp7 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp1 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
+ %"this.processDataCommand@vtbl" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp7, i32 0, i32 45 ; <%tango.net.SocketConduit.SocketConduit* (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]", %"char[][]")**> [#uses=1]
+ %this.processDataCommand = load %tango.net.SocketConduit.SocketConduit* (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]", %"char[][]")** %"this.processDataCommand@vtbl", align 4 ; <%tango.net.SocketConduit.SocketConduit* (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]", %"char[][]")*> [#uses=1]
+ %tmp9 = getelementptr [1 x %"byte[]"]* %__arrayArg155, i32 0, i32 0 ; <%"byte[]"*> [#uses=2]
+ store %"byte[]" %path_arg, %"byte[]"* %tmp9, align 8
+ %tmp12 = insertvalue %"char[][]" { i32 1, %"byte[]"* undef }, %"byte[]"* %tmp9, 1 ; <%"char[][]"> [#uses=1]
+ %tmp13 = call fastcc %tango.net.SocketConduit.SocketConduit* %this.processDataCommand(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" { i32 4, i8* getelementptr ([5 x i8]* @.str208, i32 0, i32 0) }, %"char[][]" %tmp12) ; <%tango.net.SocketConduit.SocketConduit*> [#uses=2]
+ %tmp16 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp1 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
+ %"this.readStream@vtbl" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp16, i32 0, i32 47 ; <void (%tango.net.ftp.FtpClient.FTPConnection*, %tango.net.SocketConduit.SocketConduit*, %tango.io.model.IConduit.OutputStream*, %"void delegate(uint pos)")**> [#uses=1]
+ %this.readStream = load void (%tango.net.ftp.FtpClient.FTPConnection*, %tango.net.SocketConduit.SocketConduit*, %tango.io.model.IConduit.OutputStream*, %"void delegate(uint pos)")** %"this.readStream@vtbl", align 4 ; <void (%tango.net.ftp.FtpClient.FTPConnection*, %tango.net.SocketConduit.SocketConduit*, %tango.io.model.IConduit.OutputStream*, %"void delegate(uint pos)")*> [#uses=1]
+ call fastcc void %this.readStream(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %tango.net.SocketConduit.SocketConduit* %tmp13, %tango.io.model.IConduit.OutputStream* %stream_arg, %"void delegate(uint pos)" %progress_arg)
+ %tmp23 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp1 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
+ %"this.finishDataCommand@vtbl" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp23, i32 0, i32 44 ; <void (%tango.net.ftp.FtpClient.FTPConnection*, %tango.net.SocketConduit.SocketConduit*)**> [#uses=1]
+ %this.finishDataCommand = load void (%tango.net.ftp.FtpClient.FTPConnection*, %tango.net.SocketConduit.SocketConduit*)** %"this.finishDataCommand@vtbl", align 4 ; <void (%tango.net.ftp.FtpClient.FTPConnection*, %tango.net.SocketConduit.SocketConduit*)*> [#uses=1]
+ call fastcc void %this.finishDataCommand(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %tango.net.SocketConduit.SocketConduit* %tmp13)
+ ret void
+}
+
+define fastcc %tango.io.model.IConduit.InputStream* @_D5tango3net3ftp9FtpClient13FTPConnection5inputMFAaZC5tango2io5model8IConduit11InputStream(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" %path_arg) {
+entry:
+ %__arrayArg156 = alloca [1 x %"byte[]"], align 8 ; <[1 x %"byte[]"]*> [#uses=1]
+ %tmp1 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 9 ; <%tango.net.SocketConduit.SocketConduit**> [#uses=1]
+ %tmp3 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 0 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl**> [#uses=1]
+ %tmp4 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp3 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
+ %"this.processDataCommand@vtbl" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp4, i32 0, i32 45 ; <%tango.net.SocketConduit.SocketConduit* (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]", %"char[][]")**> [#uses=1]
+ %this.processDataCommand = load %tango.net.SocketConduit.SocketConduit* (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]", %"char[][]")** %"this.processDataCommand@vtbl", align 4 ; <%tango.net.SocketConduit.SocketConduit* (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]", %"char[][]")*> [#uses=1]
+ %tmp6 = getelementptr [1 x %"byte[]"]* %__arrayArg156, i32 0, i32 0 ; <%"byte[]"*> [#uses=2]
+ store %"byte[]" %path_arg, %"byte[]"* %tmp6, align 8
+ %tmp9 = insertvalue %"char[][]" { i32 1, %"byte[]"* undef }, %"byte[]"* %tmp6, 1 ; <%"char[][]"> [#uses=1]
+ %tmp10 = call fastcc %tango.net.SocketConduit.SocketConduit* %this.processDataCommand(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" { i32 4, i8* getelementptr ([5 x i8]* @.str209, i32 0, i32 0) }, %"char[][]" %tmp9) ; <%tango.net.SocketConduit.SocketConduit*> [#uses=3]
+ store %tango.net.SocketConduit.SocketConduit* %tmp10, %tango.net.SocketConduit.SocketConduit** %tmp1
+ %tmp14 = getelementptr %tango.net.SocketConduit.SocketConduit* %tmp10, i32 0, i32 2 ; <%15**> [#uses=1]
+ %tmp15 = bitcast %15** %tmp14 to %tango.io.model.IConduit.InputStream* ; <%tango.io.model.IConduit.InputStream*> [#uses=1]
+ %.nullcheck = icmp eq %tango.net.SocketConduit.SocketConduit* %tmp10, null ; <i1> [#uses=1]
+ %.interface = select i1 %.nullcheck, %tango.io.model.IConduit.InputStream* null, %tango.io.model.IConduit.InputStream* %tmp15 ; <%tango.io.model.IConduit.InputStream*> [#uses=1]
+ ret %tango.io.model.IConduit.InputStream* %.interface
+}
+
+define fastcc %tango.io.model.IConduit.OutputStream* @_D5tango3net3ftp9FtpClient13FTPConnection6outputMFAaZC5tango2io5model8IConduit12OutputStream(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" %path_arg) {
+entry:
+ %__arrayArg157 = alloca [1 x %"byte[]"], align 8 ; <[1 x %"byte[]"]*> [#uses=1]
+ %tmp1 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 9 ; <%tango.net.SocketConduit.SocketConduit**> [#uses=1]
+ %tmp3 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 0 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl**> [#uses=1]
+ %tmp4 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp3 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
+ %"this.processDataCommand@vtbl" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp4, i32 0, i32 45 ; <%tango.net.SocketConduit.SocketConduit* (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]", %"char[][]")**> [#uses=1]
+ %this.processDataCommand = load %tango.net.SocketConduit.SocketConduit* (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]", %"char[][]")** %"this.processDataCommand@vtbl", align 4 ; <%tango.net.SocketConduit.SocketConduit* (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]", %"char[][]")*> [#uses=1]
+ %tmp6 = getelementptr [1 x %"byte[]"]* %__arrayArg157, i32 0, i32 0 ; <%"byte[]"*> [#uses=2]
+ store %"byte[]" %path_arg, %"byte[]"* %tmp6, align 8
+ %tmp9 = insertvalue %"char[][]" { i32 1, %"byte[]"* undef }, %"byte[]"* %tmp6, 1 ; <%"char[][]"> [#uses=1]
+ %tmp10 = call fastcc %tango.net.SocketConduit.SocketConduit* %this.processDataCommand(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" { i32 4, i8* getelementptr ([5 x i8]* @.str210, i32 0, i32 0) }, %"char[][]" %tmp9) ; <%tango.net.SocketConduit.SocketConduit*> [#uses=3]
+ store %tango.net.SocketConduit.SocketConduit* %tmp10, %tango.net.SocketConduit.SocketConduit** %tmp1
+ %tmp14 = getelementptr %tango.net.SocketConduit.SocketConduit* %tmp10, i32 0, i32 3 ; <%16**> [#uses=1]
+ %tmp15 = bitcast %16** %tmp14 to %tango.io.model.IConduit.OutputStream* ; <%tango.io.model.IConduit.OutputStream*> [#uses=1]
+ %.nullcheck = icmp eq %tango.net.SocketConduit.SocketConduit* %tmp10, null ; <i1> [#uses=1]
+ %.interface = select i1 %.nullcheck, %tango.io.model.IConduit.OutputStream* null, %tango.io.model.IConduit.OutputStream* %tmp15 ; <%tango.io.model.IConduit.OutputStream*> [#uses=1]
+ ret %tango.io.model.IConduit.OutputStream* %.interface
+}
+
+define fastcc %tango.net.ftp.FtpClient.FTPConnection* @_D5tango3net3ftp9FtpClient13FTPConnection5_ctorMFZC5tango3net3ftp9FtpClient13FTPConnection(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg) nounwind readnone {
+entry:
+ ret %tango.net.ftp.FtpClient.FTPConnection* %.this_arg
+}
+
+define fastcc %tango.net.ftp.FtpClient.FTPConnection* @_D5tango3net3ftp9FtpClient13FTPConnection5_ctorMFAaAaAakZC5tango3net3ftp9FtpClient13FTPConnection(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" %hostname_arg, %"byte[]" %username_arg, %"byte[]" %password_arg, i32 %port_arg) {
+entry:
+ %tmp1 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 0 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl**> [#uses=1]
+ %tmp2 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp1 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
+ %"this.connect@vtbl" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp2, i32 0, i32 16 ; <void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]", %"byte[]", %"byte[]", i32)**> [#uses=1]
+ %this.connect = load void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]", %"byte[]", %"byte[]", i32)** %"this.connect@vtbl", align 4 ; <void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]", %"byte[]", %"byte[]", i32)*> [#uses=1]
+ tail call fastcc void %this.connect(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" %hostname_arg, %"byte[]" %username_arg, %"byte[]" %password_arg, i32 %port_arg)
+ ret %tango.net.ftp.FtpClient.FTPConnection* %.this_arg
+}
+
+define fastcc %tango.net.ftp.FtpClient.FTPConnection* @_D5tango3net3ftp9FtpClient13FTPConnection5_ctorMFS5tango3net3ftp9FtpClient10FtpAddressZC5tango3net3ftp9FtpClient13FTPConnection(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %tango.net.ftp.FtpClient.FtpAddress* byval %fad_arg) {
+entry:
+ %tmp1 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 0 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl**> [#uses=1]
+ %tmp2 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp1 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
+ %"this.connect@vtbl" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp2, i32 0, i32 15 ; <void (%tango.net.ftp.FtpClient.FTPConnection*, %tango.net.ftp.FtpClient.FtpAddress*)**> [#uses=1]
+ %this.connect = load void (%tango.net.ftp.FtpClient.FTPConnection*, %tango.net.ftp.FtpClient.FtpAddress*)** %"this.connect@vtbl", align 4 ; <void (%tango.net.ftp.FtpClient.FTPConnection*, %tango.net.ftp.FtpClient.FtpAddress*)*> [#uses=1]
+ tail call fastcc void %this.connect(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %tango.net.ftp.FtpClient.FtpAddress* byval %fad_arg)
+ ret %tango.net.ftp.FtpClient.FTPConnection* %.this_arg
+}
+
+define weak_odr fastcc i32 @_D5tango4text5Regex11__T4TNFATwZ4TNFA8tagCountMFZk(%"tango.text.Regex.TNFA!(dchar).TNFA"* nocapture %.this_arg) nounwind readonly {
+entry:
+ %tmp1 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 6 ; <i32*> [#uses=1]
+ %tmp2 = load i32* %tmp1 ; <i32> [#uses=1]
+ %tmp3 = add i32 %tmp2, -1 ; <i32> [#uses=1]
+ ret i32 %tmp3
+}
+
+define weak_odr fastcc void @_D5tango4text5Regex11__T4TNFATwZ4TNFA5parseMFbZv(%"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i1 %unanchored_arg) {
+entry:
+ %tmp.i872 = alloca i32, align 4 ; <i32*> [#uses=2]
+ %tmp.i823 = alloca i32, align 4 ; <i32*> [#uses=2]
+ %tmp.i798 = alloca i32, align 4 ; <i32*> [#uses=2]
+ %tmp.i773 = alloca i32, align 4 ; <i32*> [#uses=2]
+ %tmp.i = alloca i32, align 4 ; <i32*> [#uses=2]
+ %.frame = alloca %nest.parse, align 8 ; <%nest.parse*> [#uses=43]
+ %occur = alloca %tango.net.Socket.timeval, align 8 ; <%tango.net.Socket.timeval*> [#uses=3]
+ %cc = alloca %"tango.text.Regex.CharClass!(dchar).CharClass", align 8 ; <%"tango.text.Regex.CharClass!(dchar).CharClass"*> [#uses=3]
+ %cc323 = alloca %"tango.text.Regex.CharClass!(dchar).CharClass", align 8 ; <%"tango.text.Regex.CharClass!(dchar).CharClass"*> [#uses=3]
+ %cc351 = alloca %"tango.text.Regex.CharClass!(dchar).CharClass", align 8 ; <%"tango.text.Regex.CharClass!(dchar).CharClass"*> [#uses=3]
+ %cc381 = alloca %"tango.text.Regex.CharClass!(dchar).CharClass", align 8 ; <%"tango.text.Regex.CharClass!(dchar).CharClass"*> [#uses=4]
+ %cc448 = alloca %"tango.text.Regex.CharClass!(dchar).CharClass", align 8 ; <%"tango.text.Regex.CharClass!(dchar).CharClass"*> [#uses=4]
+ %trans = alloca [4 x %"tango.text.Regex.List!(TNFATransition).List"*], align 4 ; <[4 x %"tango.text.Regex.List!(TNFATransition).List"*]*> [#uses=4]
+ %layout = getelementptr %nest.parse* %.frame, i32 0, i32 0 ; <%"tango.text.convert.Layout.Layout!(char).Layout"**> [#uses=1]
+ %frags = getelementptr %nest.parse* %.frame, i32 0, i32 1 ; <%"tango.text.Regex.List!(TNFAFragment).List"**> [#uses=27]
+ %opStack = getelementptr %nest.parse* %.frame, i32 0, i32 2 ; <%"tango.text.Regex.Stack!(Operator).Stack"*> [#uses=1]
+ %tagStack = getelementptr %nest.parse* %.frame, i32 0, i32 3 ; <%"tango.text.Regex.Stack!(Operator).Stack"*> [#uses=1]
+ %occurStack = getelementptr %nest.parse* %.frame, i32 0, i32 4 ; <%"tango.text.Regex.Stack!(Pair!(uint)).Stack"*> [#uses=1]
+ %finish = getelementptr %nest.parse* %.frame, i32 0, i32 5 ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"**> [#uses=1]
+ %todo = getelementptr %nest.parse* %.frame, i32 0, i32 6 ; <%"tango.text.Regex.Stack!(TNFATransition).Stack"*> [#uses=1]
+ %nextPrio = getelementptr %nest.parse* %.frame, i32 0, i32 7 ; <i32*> [#uses=1]
+ %this = getelementptr %nest.parse* %.frame, i32 0, i32 8 ; <%"tango.text.Regex.TNFA!(dchar).TNFA"**> [#uses=1]
+ store %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, %"tango.text.Regex.TNFA!(dchar).TNFA"** %this, align 8
+ %tmp2 = call fastcc %"tango.text.convert.Layout.Layout!(char).Layout"* @_D5tango4text7convert6Layout13__T6LayoutTaZ6Layout8instanceFZC5tango4text7convert6Layout13__T6LayoutTaZ6Layout() ; <%"tango.text.convert.Layout.Layout!(char).Layout"*> [#uses=1]
+ store %"tango.text.convert.Layout.Layout!(char).Layout"* %tmp2, %"tango.text.convert.Layout.Layout!(char).Layout"** %layout, align 8
+ %.newclass_gc_alloc = call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List7__ClassZ) ; <i8*> [#uses=4]
+ %.newclass_gc = bitcast i8* %.newclass_gc_alloc to %"tango.text.Regex.List!(TNFAFragment).List"* ; <%"tango.text.Regex.List!(TNFAFragment).List"*> [#uses=1]
+ %vtbl = bitcast i8* %.newclass_gc_alloc to %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"** ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"**> [#uses=1]
+ store %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"* @_D5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List6__vtblZ, %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"** %vtbl
+ %monitor = getelementptr i8* %.newclass_gc_alloc, i32 4 ; <i8*> [#uses=1]
+ %0 = bitcast i8* %monitor to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %0
+ %tmp3 = getelementptr i8* %.newclass_gc_alloc, i32 8 ; <i8*> [#uses=1]
+ call void @llvm.memcpy.i32(i8* %tmp3, i8* bitcast (i32* getelementptr (%"tango.text.Regex.List!(TNFAFragment).List"* @_D5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List6__initZ, i32 0, i32 2) to i8*), i32 12, i32 1)
+ store %"tango.text.Regex.List!(TNFAFragment).List"* %.newclass_gc, %"tango.text.Regex.List!(TNFAFragment).List"** %frags
+ %tmp7 = bitcast %"tango.text.Regex.Stack!(Operator).Stack"* %opStack to i8* ; <i8*> [#uses=1]
+ call void @llvm.memset.i32(i8* %tmp7, i8 0, i32 12, i32 8)
+ %tmp8 = bitcast %"tango.text.Regex.Stack!(Operator).Stack"* %tagStack to i8* ; <i8*> [#uses=1]
+ call void @llvm.memset.i32(i8* %tmp8, i8 0, i32 12, i32 4)
+ %tmp9 = bitcast %"tango.text.Regex.Stack!(Pair!(uint)).Stack"* %occurStack to i8* ; <i8*> [#uses=1]
+ call void @llvm.memset.i32(i8* %tmp9, i8 0, i32 12, i32 8)
+ %tmp1.i = getelementptr %nest.parse* %.frame, i32 0, i32 2, i32 0 ; <i32*> [#uses=4]
+ %tmp4.i = getelementptr %nest.parse* %.frame, i32 0, i32 2, i32 1, i32 0 ; <i32*> [#uses=2]
+ %.len.i = load i32* %tmp4.i ; <i32> [#uses=3]
+ %tmp5.i = load i32* %tmp1.i, align 8 ; <i32> [#uses=2]
+ %tmp6.i = icmp ult i32 %tmp5.i, %.len.i ; <i1> [#uses=1]
+ br i1 %tmp6.i, label %entry.endif_crit_edge.i, label %if.i
+
+entry.endif_crit_edge.i: ; preds = %entry
+ %tmp26.pre.i = getelementptr %nest.parse* %.frame, i32 0, i32 2, i32 1, i32 1 ; <i32**> [#uses=1]
+ %.ptr27.i.pre = load i32** %tmp26.pre.i ; <i32*> [#uses=1]
+ br label %_D5tango4text5Regex56__T5StackTE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorZ5Stack4pushMFE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorZv.exit
+
+if.i: ; preds = %entry
+ %tmp13.i = shl i32 %.len.i, 1 ; <i32> [#uses=1]
+ %tmp1437.i = or i32 %tmp13.i, 1 ; <i32> [#uses=2]
+ %tmp17.i = getelementptr %nest.parse* %.frame, i32 0, i32 2, i32 1, i32 1 ; <i32**> [#uses=2]
+ %.ptr.i = load i32** %tmp17.i ; <i32*> [#uses=1]
+ %tmp18.i = bitcast i32* %.ptr.i to i8* ; <i8*> [#uses=1]
+ %.gc_mem.i = call i8* @_d_arraysetlengthT(%object.TypeInfo* bitcast (%object.TypeInfo_Array* @_D55TypeInfo_AE5tango4text5Regex11__T4TNFATwZ4TNFA8Operator6__initZ to %object.TypeInfo*), i32 %tmp1437.i, i32 %.len.i, i8* %tmp18.i) ; <i8*> [#uses=1]
+ %.gc_mem19.i = bitcast i8* %.gc_mem.i to i32* ; <i32*> [#uses=2]
+ store i32 %tmp1437.i, i32* %tmp4.i
+ store i32* %.gc_mem19.i, i32** %tmp17.i
+ %tmp28.pre.i = load i32* %tmp1.i, align 8 ; <i32> [#uses=1]
+ br label %_D5tango4text5Regex56__T5StackTE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorZ5Stack4pushMFE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorZv.exit
+
+_D5tango4text5Regex56__T5StackTE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorZ5Stack4pushMFE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorZv.exit: ; preds = %if.i, %entry.endif_crit_edge.i
+ %.ptr27.i = phi i32* [ %.ptr27.i.pre, %entry.endif_crit_edge.i ], [ %.gc_mem19.i, %if.i ] ; <i32*> [#uses=1]
+ %tmp28.i = phi i32 [ %tmp5.i, %entry.endif_crit_edge.i ], [ %tmp28.pre.i, %if.i ] ; <i32> [#uses=1]
+ %tmp29.i = getelementptr i32* %.ptr27.i, i32 %tmp28.i ; <i32*> [#uses=1]
+ store i32 0, i32* %tmp29.i
+ %tmp35.i = load i32* %tmp1.i, align 8 ; <i32> [#uses=1]
+ %tmp36.i = add i32 %tmp35.i, 1 ; <i32> [#uses=1]
+ store i32 %tmp36.i, i32* %tmp1.i, align 8
+ br i1 %unanchored_arg, label %if, label %whilecond
+
+if: ; preds = %_D5tango4text5Regex56__T5StackTE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorZ5Stack4pushMFE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorZv.exit
+ %tmp11 = load %"tango.text.Regex.List!(TNFAFragment).List"** %frags ; <%"tango.text.Regex.List!(TNFAFragment).List"*> [#uses=2]
+ %tmp12 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %tmp11, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"**> [#uses=1]
+ %tmp13 = load %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"** %tmp12 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"*> [#uses=1]
+ %"frags.opCatAssign@vtbl" = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"* %tmp13, i32 0, i32 5 ; <%"tango.text.Regex.List!(TNFAFragment).List"* (%"tango.text.Regex.List!(TNFAFragment).List"*, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*)**> [#uses=1]
+ %frags.opCatAssign = load %"tango.text.Regex.List!(TNFAFragment).List"* (%"tango.text.Regex.List!(TNFAFragment).List"*, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*)** %"frags.opCatAssign@vtbl", align 4 ; <%"tango.text.Regex.List!(TNFAFragment).List"* (%"tango.text.Regex.List!(TNFAFragment).List"*, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*)*> [#uses=1]
+ %tmp16 = call fastcc %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* @_D5tango4text5Regex11__T4TNFATwZ4TNFA14constructCharsMFS5tango4text5Regex16__T9CharClassTwZ9CharClassE5tango4text5Regex16__T9PredicateTwZ9Predicate4TypeZC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment(%"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, %"tango.text.Regex.CharClass!(dchar).CharClass"* byval @_D5tango4text5Regex16__T9CharClassTwZ9CharClass8any_charS5tango4text5Regex16__T9CharClassTwZ9CharClass, i32 0) ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*> [#uses=1]
+ %tmp17 = call fastcc %"tango.text.Regex.List!(TNFAFragment).List"* %frags.opCatAssign(%"tango.text.Regex.List!(TNFAFragment).List"* %tmp11, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %tmp16) ; <%"tango.text.Regex.List!(TNFAFragment).List"*> [#uses=0]
+ %tmp18 = bitcast %nest.parse* %.frame to i8* ; <i8*> [#uses=3]
+ %tmp19 = call fastcc i1 @_D5tango4text5Regex11__T4TNFATwZ4TNFA5parseMFbZv7performMFE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorbZb(i8* %tmp18, i32 12, i1 false) ; <i1> [#uses=0]
+ %tmp21 = call fastcc i1 @_D5tango4text5Regex11__T4TNFATwZ4TNFA5parseMFbZv7performMFE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorbZb(i8* %tmp18, i32 1, i1 false) ; <i1> [#uses=0]
+ %tmp23 = call fastcc i1 @_D5tango4text5Regex11__T4TNFATwZ4TNFA5parseMFbZv7performMFE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorbZb(i8* %tmp18, i32 3, i1 false) ; <i1> [#uses=0]
+ br label %whilecond
+
+whilecond: ; preds = %endif532, %default515, %endif436, %endif370, %case350, %case338, %case322, %case310, %case296, %case284, %case272, %case260, %case248, %endif181, %endif165, %endif148, %endif131, %else120, %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit896, %else99, %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit847, %else85, %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit822, %else71, %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit797, %case61, %else, %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit741, %case, %if, %_D5tango4text5Regex56__T5StackTE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorZ5Stack4pushMFE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorZv.exit
+ %.rettmp.0.1.0 = phi i32 [ undef, %if ], [ %.rettmp.0.1.0, %endif532 ], [ %.rettmp.0.1.0, %default515 ], [ %.rettmp.0.1.0, %endif436 ], [ %.rettmp.0.1.0, %endif370 ], [ %.rettmp.0.1.0, %case350 ], [ %.rettmp.0.1.0, %case338 ], [ %.rettmp.0.1.0, %case322 ], [ %.rettmp.0.1.0, %case310 ], [ %tmp, %case296 ], [ %.rettmp.0.1.0, %case284 ], [ %.rettmp.0.1.0, %case272 ], [ %.rettmp.0.1.0, %case260 ], [ %.rettmp.0.1.0, %case248 ], [ %.rettmp.0.1.0, %endif148 ], [ %.rettmp.0.1.0, %endif131 ], [ %.rettmp.0.1.0, %endif181 ], [ %.rettmp.0.1.0, %endif165 ], [ %.rettmp.0.1.0, %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit896 ], [ %.rettmp.0.1.0, %else120 ], [ %.rettmp.0.1.0, %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit847 ], [ %.rettmp.0.1.0, %else99 ], [ %.rettmp.0.1.0, %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit822 ], [ %.rettmp.0.1.0, %else85 ], [ %.rettmp.0.1.0, %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit797 ], [ %.rettmp.0.1.0, %else71 ], [ %.rettmp.0.1.0, %case61 ], [ %.rettmp.0.1.0, %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit741 ], [ %.rettmp.0.1.0, %else ], [ %.rettmp.0.1.0, %case ], [ undef, %_D5tango4text5Regex56__T5StackTE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorZ5Stack4pushMFE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorZv.exit ] ; <i32> [#uses=28]
+ %.rettmp324.0.1.0 = phi i32 [ undef, %if ], [ %.rettmp324.0.1.0, %endif532 ], [ %.rettmp324.0.1.0, %default515 ], [ %.rettmp324.0.1.0, %endif436 ], [ %.rettmp324.0.1.0, %endif370 ], [ %.rettmp324.0.1.0, %case350 ], [ %.rettmp324.0.1.0, %case338 ], [ %tmp1018, %case322 ], [ %.rettmp324.0.1.0, %case310 ], [ %.rettmp324.0.1.0, %case296 ], [ %.rettmp324.0.1.0, %case284 ], [ %.rettmp324.0.1.0, %case272 ], [ %.rettmp324.0.1.0, %case260 ], [ %.rettmp324.0.1.0, %case248 ], [ %.rettmp324.0.1.0, %endif148 ], [ %.rettmp324.0.1.0, %endif131 ], [ %.rettmp324.0.1.0, %endif181 ], [ %.rettmp324.0.1.0, %endif165 ], [ %.rettmp324.0.1.0, %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit896 ], [ %.rettmp324.0.1.0, %else120 ], [ %.rettmp324.0.1.0, %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit847 ], [ %.rettmp324.0.1.0, %else99 ], [ %.rettmp324.0.1.0, %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit822 ], [ %.rettmp324.0.1.0, %else85 ], [ %.rettmp324.0.1.0, %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit797 ], [ %.rettmp324.0.1.0, %else71 ], [ %.rettmp324.0.1.0, %case61 ], [ %.rettmp324.0.1.0, %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit741 ], [ %.rettmp324.0.1.0, %else ], [ %.rettmp324.0.1.0, %case ], [ undef, %_D5tango4text5Regex56__T5StackTE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorZ5Stack4pushMFE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorZv.exit ] ; <i32> [#uses=28]
+ %.rettmp352.0.1.0 = phi i32 [ undef, %if ], [ %.rettmp352.0.1.0, %endif532 ], [ %.rettmp352.0.1.0, %default515 ], [ %.rettmp352.0.1.0, %endif436 ], [ %.rettmp352.0.1.0, %endif370 ], [ %tmp1013, %case350 ], [ %.rettmp352.0.1.0, %case338 ], [ %.rettmp352.0.1.0, %case322 ], [ %.rettmp352.0.1.0, %case310 ], [ %.rettmp352.0.1.0, %case296 ], [ %.rettmp352.0.1.0, %case284 ], [ %.rettmp352.0.1.0, %case272 ], [ %.rettmp352.0.1.0, %case260 ], [ %.rettmp352.0.1.0, %case248 ], [ %.rettmp352.0.1.0, %endif148 ], [ %.rettmp352.0.1.0, %endif131 ], [ %.rettmp352.0.1.0, %endif181 ], [ %.rettmp352.0.1.0, %endif165 ], [ %.rettmp352.0.1.0, %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit896 ], [ %.rettmp352.0.1.0, %else120 ], [ %.rettmp352.0.1.0, %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit847 ], [ %.rettmp352.0.1.0, %else99 ], [ %.rettmp352.0.1.0, %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit822 ], [ %.rettmp352.0.1.0, %else85 ], [ %.rettmp352.0.1.0, %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit797 ], [ %.rettmp352.0.1.0, %else71 ], [ %.rettmp352.0.1.0, %case61 ], [ %.rettmp352.0.1.0, %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit741 ], [ %.rettmp352.0.1.0, %else ], [ %.rettmp352.0.1.0, %case ], [ undef, %_D5tango4text5Regex56__T5StackTE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorZ5Stack4pushMFE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorZv.exit ] ; <i32> [#uses=28]
+ %.rettmp382.0.1.0 = phi i32 [ undef, %if ], [ %.rettmp382.0.1.0, %endif532 ], [ %.rettmp382.0.1.0, %default515 ], [ %.rettmp382.0.1.0, %endif436 ], [ %tmp1008, %endif370 ], [ %.rettmp382.0.1.0, %case350 ], [ %.rettmp382.0.1.0, %case338 ], [ %.rettmp382.0.1.0, %case322 ], [ %.rettmp382.0.1.0, %case310 ], [ %.rettmp382.0.1.0, %case296 ], [ %.rettmp382.0.1.0, %case284 ], [ %.rettmp382.0.1.0, %case272 ], [ %.rettmp382.0.1.0, %case260 ], [ %.rettmp382.0.1.0, %case248 ], [ %.rettmp382.0.1.0, %endif148 ], [ %.rettmp382.0.1.0, %endif131 ], [ %.rettmp382.0.1.0, %endif181 ], [ %.rettmp382.0.1.0, %endif165 ], [ %.rettmp382.0.1.0, %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit896 ], [ %.rettmp382.0.1.0, %else120 ], [ %.rettmp382.0.1.0, %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit847 ], [ %.rettmp382.0.1.0, %else99 ], [ %.rettmp382.0.1.0, %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit822 ], [ %.rettmp382.0.1.0, %else85 ], [ %.rettmp382.0.1.0, %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit797 ], [ %.rettmp382.0.1.0, %else71 ], [ %.rettmp382.0.1.0, %case61 ], [ %.rettmp382.0.1.0, %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit741 ], [ %.rettmp382.0.1.0, %else ], [ %.rettmp382.0.1.0, %case ], [ undef, %_D5tango4text5Regex56__T5StackTE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorZ5Stack4pushMFE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorZv.exit ] ; <i32> [#uses=28]
+ %.rettmp449.0.1.0 = phi i32 [ undef, %if ], [ %.rettmp449.0.1.0, %endif532 ], [ %.rettmp449.0.1.0, %default515 ], [ %tmp1003, %endif436 ], [ %.rettmp449.0.1.0, %endif370 ], [ %.rettmp449.0.1.0, %case350 ], [ %.rettmp449.0.1.0, %case338 ], [ %.rettmp449.0.1.0, %case322 ], [ %.rettmp449.0.1.0, %case310 ], [ %.rettmp449.0.1.0, %case296 ], [ %.rettmp449.0.1.0, %case284 ], [ %.rettmp449.0.1.0, %case272 ], [ %.rettmp449.0.1.0, %case260 ], [ %.rettmp449.0.1.0, %case248 ], [ %.rettmp449.0.1.0, %endif148 ], [ %.rettmp449.0.1.0, %endif131 ], [ %.rettmp449.0.1.0, %endif181 ], [ %.rettmp449.0.1.0, %endif165 ], [ %.rettmp449.0.1.0, %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit896 ], [ %.rettmp449.0.1.0, %else120 ], [ %.rettmp449.0.1.0, %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit847 ], [ %.rettmp449.0.1.0, %else99 ], [ %.rettmp449.0.1.0, %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit822 ], [ %.rettmp449.0.1.0, %else85 ], [ %.rettmp449.0.1.0, %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit797 ], [ %.rettmp449.0.1.0, %else71 ], [ %.rettmp449.0.1.0, %case61 ], [ %.rettmp449.0.1.0, %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit741 ], [ %.rettmp449.0.1.0, %else ], [ %.rettmp449.0.1.0, %case ], [ undef, %_D5tango4text5Regex56__T5StackTE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorZ5Stack4pushMFE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorZv.exit ] ; <i32> [#uses=28]
+ %implicit_concat.0 = phi i1 [ true, %endif532 ], [ true, %default515 ], [ true, %endif436 ], [ true, %endif370 ], [ true, %case350 ], [ true, %case338 ], [ true, %case322 ], [ true, %case310 ], [ true, %case296 ], [ true, %case284 ], [ true, %case272 ], [ true, %case260 ], [ true, %case248 ], [ true, %endif131 ], [ true, %endif148 ], [ true, %endif181 ], [ true, %endif165 ], [ %implicit_concat.0, %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit896 ], [ %implicit_concat.0, %else120 ], [ %implicit_concat.0, %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit847 ], [ %implicit_concat.0, %else99 ], [ %implicit_concat.0, %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit822 ], [ %implicit_concat.0, %else85 ], [ %implicit_concat.0, %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit797 ], [ %implicit_concat.0, %else71 ], [ %implicit_concat.0, %case61 ], [ false, %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit741 ], [ false, %else ], [ false, %case ], [ false, %if ], [ false, %_D5tango4text5Regex56__T5StackTE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorZ5Stack4pushMFE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorZv.exit ] ; <i1> [#uses=17]
+ %tmp1.i692 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 8 ; <i32*> [#uses=23]
+ %tmp4.i693 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 2, i32 0 ; <i32*> [#uses=14]
+ %.len.i694 = load i32* %tmp4.i693 ; <i32> [#uses=1]
+ %tmp5.i695 = load i32* %tmp1.i692 ; <i32> [#uses=2]
+ %tmp6.i696 = icmp ult i32 %tmp5.i695, %.len.i694 ; <i1> [#uses=1]
+ br i1 %tmp6.i696, label %whilebody, label %endwhile
+
+whilebody: ; preds = %whilecond
+ %tmp1.i697 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 7 ; <i32*> [#uses=9]
+ store i32 %tmp5.i695, i32* %tmp1.i697
+ %tmp13.i700 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 2 ; <%"Act[]"*> [#uses=1]
+ %tmp14.i = load %"Act[]"* %tmp13.i700 ; <%"Act[]"> [#uses=1]
+ %tmp17.i701 = call fastcc i32 @_D5tango4text5Regex6decodeFAwKkZw(%"Act[]" %tmp14.i, i32* %tmp1.i692) ; <i32> [#uses=2]
+ switch i32 %tmp17.i701, label %default529 [
+ i32 124, label %case
+ i32 40, label %case31
+ i32 41, label %case61
+ i32 63, label %case65
+ i32 42, label %case79
+ i32 43, label %case93
+ i32 123, label %case107
+ i32 91, label %case128
+ i32 46, label %case145
+ i32 36, label %case162
+ i32 94, label %case178
+ i32 62, label %case194
+ i32 60, label %case214
+ i32 92, label %case236
+ ]
+
+case: ; preds = %whilebody
+ %tmp29 = bitcast %nest.parse* %.frame to i8* ; <i8*> [#uses=1]
+ %tmp30 = call fastcc i1 @_D5tango4text5Regex11__T4TNFATwZ4TNFA5parseMFbZv7performMFE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorbZb(i8* %tmp29, i32 2, i1 true) ; <i1> [#uses=0]
+ br label %whilecond
+
+case31: ; preds = %whilebody
+ br i1 %implicit_concat.0, label %if33, label %endif34
+
+if33: ; preds = %case31
+ %tmp35 = bitcast %nest.parse* %.frame to i8* ; <i8*> [#uses=1]
+ %tmp36 = call fastcc i1 @_D5tango4text5Regex11__T4TNFATwZ4TNFA5parseMFbZv7performMFE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorbZb(i8* %tmp35, i32 1, i1 false) ; <i1> [#uses=0]
+ br label %endif34
+
+endif34: ; preds = %if33, %case31
+ %tmp3.i718 = load i32* %tmp1.i692 ; <i32> [#uses=2]
+ store i32 %tmp3.i718, i32* %tmp.i
+ %.len.i720 = load i32* %tmp4.i693 ; <i32> [#uses=1]
+ %tmp8.i721 = icmp ult i32 %tmp3.i718, %.len.i720 ; <i1> [#uses=1]
+ br i1 %tmp8.i721, label %if.i724, label %else
+
+if.i724: ; preds = %endif34
+ %tmp10.i722 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 2 ; <%"Act[]"*> [#uses=1]
+ %tmp11.i723 = load %"Act[]"* %tmp10.i722 ; <%"Act[]"> [#uses=1]
+ %tmp12.i = call fastcc i32 @_D5tango4text5Regex6decodeFAwKkZw(%"Act[]" %tmp11.i723, i32* %tmp.i) ; <i32> [#uses=1]
+ %phitmp = icmp eq i32 %tmp12.i, 63 ; <i1> [#uses=1]
+ br i1 %phitmp, label %if40, label %else
+
+if40: ; preds = %if.i724
+ %tmp4.i732 = load i32* %tmp1.i692 ; <i32> [#uses=2]
+ store i32 %tmp4.i732, i32* %tmp1.i697
+ %.len.i734 = load i32* %tmp4.i693 ; <i32> [#uses=1]
+ %tmp11.i735 = icmp ult i32 %tmp4.i732, %.len.i734 ; <i1> [#uses=1]
+ br i1 %tmp11.i735, label %if.i739, label %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit741
+
+if.i739: ; preds = %if40
+ %tmp13.i736 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 2 ; <%"Act[]"*> [#uses=1]
+ %tmp14.i737 = load %"Act[]"* %tmp13.i736 ; <%"Act[]"> [#uses=1]
+ %tmp17.i738 = call fastcc i32 @_D5tango4text5Regex6decodeFAwKkZw(%"Act[]" %tmp14.i737, i32* %tmp1.i692) ; <i32> [#uses=0]
+ br label %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit741
+
+_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit741: ; preds = %if.i739, %if40
+ %tmp44 = bitcast %nest.parse* %.frame to i8* ; <i8*> [#uses=1]
+ %tmp46 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 5 ; <i1*> [#uses=1]
+ %tmp47 = load i1* %tmp46 ; <i1> [#uses=1]
+ %condtmp.0 = select i1 %tmp47, i32 3, i32 14 ; <i32> [#uses=1]
+ %tmp49 = call fastcc i1 @_D5tango4text5Regex11__T4TNFATwZ4TNFA5parseMFbZv7performMFE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorbZb(i8* %tmp44, i32 %condtmp.0, i1 true) ; <i1> [#uses=0]
+ br label %whilecond
+
+else: ; preds = %if.i724, %endif34
+ %tmp50 = bitcast %nest.parse* %.frame to i8* ; <i8*> [#uses=1]
+ %tmp56 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 5 ; <i1*> [#uses=1]
+ %tmp57 = load i1* %tmp56 ; <i1> [#uses=1]
+ %condtmp51.0 = select i1 %tmp57, i32 14, i32 3 ; <i32> [#uses=1]
+ %tmp59 = call fastcc i1 @_D5tango4text5Regex11__T4TNFATwZ4TNFA5parseMFbZv7performMFE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorbZb(i8* %tmp50, i32 %condtmp51.0, i1 true) ; <i1> [#uses=0]
+ br label %whilecond
+
+case61: ; preds = %whilebody
+ %tmp62 = bitcast %nest.parse* %.frame to i8* ; <i8*> [#uses=1]
+ %tmp63 = call fastcc i1 @_D5tango4text5Regex11__T4TNFATwZ4TNFA5parseMFbZv7performMFE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorbZb(i8* %tmp62, i32 4, i1 true) ; <i1> [#uses=0]
+ br label %whilecond
+
+case65: ; preds = %whilebody
+ %tmp3.i775 = load i32* %tmp1.i692 ; <i32> [#uses=2]
+ store i32 %tmp3.i775, i32* %tmp.i773
+ %.len.i777 = load i32* %tmp4.i693 ; <i32> [#uses=1]
+ %tmp8.i778 = icmp ult i32 %tmp3.i775, %.len.i777 ; <i1> [#uses=1]
+ br i1 %tmp8.i778, label %if.i782, label %else71
+
+if.i782: ; preds = %case65
+ %tmp10.i779 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 2 ; <%"Act[]"*> [#uses=1]
+ %tmp11.i780 = load %"Act[]"* %tmp10.i779 ; <%"Act[]"> [#uses=1]
+ %tmp12.i781 = call fastcc i32 @_D5tango4text5Regex6decodeFAwKkZw(%"Act[]" %tmp11.i780, i32* %tmp.i773) ; <i32> [#uses=1]
+ %phitmp1066 = icmp eq i32 %tmp12.i781, 63 ; <i1> [#uses=1]
+ br i1 %phitmp1066, label %if69, label %else71
+
+if69: ; preds = %if.i782
+ %tmp4.i788 = load i32* %tmp1.i692 ; <i32> [#uses=2]
+ store i32 %tmp4.i788, i32* %tmp1.i697
+ %.len.i790 = load i32* %tmp4.i693 ; <i32> [#uses=1]
+ %tmp11.i791 = icmp ult i32 %tmp4.i788, %.len.i790 ; <i1> [#uses=1]
+ br i1 %tmp11.i791, label %if.i795, label %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit797
+
+if.i795: ; preds = %if69
+ %tmp13.i792 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 2 ; <%"Act[]"*> [#uses=1]
+ %tmp14.i793 = load %"Act[]"* %tmp13.i792 ; <%"Act[]"> [#uses=1]
+ %tmp17.i794 = call fastcc i32 @_D5tango4text5Regex6decodeFAwKkZw(%"Act[]" %tmp14.i793, i32* %tmp1.i692) ; <i32> [#uses=0]
+ br label %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit797
+
+_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit797: ; preds = %if.i795, %if69
+ %tmp74 = bitcast %nest.parse* %.frame to i8* ; <i8*> [#uses=1]
+ %tmp75 = call fastcc i1 @_D5tango4text5Regex11__T4TNFATwZ4TNFA5parseMFbZv7performMFE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorbZb(i8* %tmp74, i32 8, i1 true) ; <i1> [#uses=0]
+ br label %whilecond
+
+else71: ; preds = %if.i782, %case65
+ %tmp76 = bitcast %nest.parse* %.frame to i8* ; <i8*> [#uses=1]
+ %tmp77 = call fastcc i1 @_D5tango4text5Regex11__T4TNFATwZ4TNFA5parseMFbZv7performMFE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorbZb(i8* %tmp76, i32 5, i1 true) ; <i1> [#uses=0]
+ br label %whilecond
+
+case79: ; preds = %whilebody
+ %tmp3.i800 = load i32* %tmp1.i692 ; <i32> [#uses=2]
+ store i32 %tmp3.i800, i32* %tmp.i798
+ %.len.i802 = load i32* %tmp4.i693 ; <i32> [#uses=1]
+ %tmp8.i803 = icmp ult i32 %tmp3.i800, %.len.i802 ; <i1> [#uses=1]
+ br i1 %tmp8.i803, label %if.i807, label %else85
+
+if.i807: ; preds = %case79
+ %tmp10.i804 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 2 ; <%"Act[]"*> [#uses=1]
+ %tmp11.i805 = load %"Act[]"* %tmp10.i804 ; <%"Act[]"> [#uses=1]
+ %tmp12.i806 = call fastcc i32 @_D5tango4text5Regex6decodeFAwKkZw(%"Act[]" %tmp11.i805, i32* %tmp.i798) ; <i32> [#uses=1]
+ %phitmp1067 = icmp eq i32 %tmp12.i806, 63 ; <i1> [#uses=1]
+ br i1 %phitmp1067, label %if83, label %else85
+
+if83: ; preds = %if.i807
+ %tmp4.i813 = load i32* %tmp1.i692 ; <i32> [#uses=2]
+ store i32 %tmp4.i813, i32* %tmp1.i697
+ %.len.i815 = load i32* %tmp4.i693 ; <i32> [#uses=1]
+ %tmp11.i816 = icmp ult i32 %tmp4.i813, %.len.i815 ; <i1> [#uses=1]
+ br i1 %tmp11.i816, label %if.i820, label %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit822
+
+if.i820: ; preds = %if83
+ %tmp13.i817 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 2 ; <%"Act[]"*> [#uses=1]
+ %tmp14.i818 = load %"Act[]"* %tmp13.i817 ; <%"Act[]"> [#uses=1]
+ %tmp17.i819 = call fastcc i32 @_D5tango4text5Regex6decodeFAwKkZw(%"Act[]" %tmp14.i818, i32* %tmp1.i692) ; <i32> [#uses=0]
+ br label %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit822
+
+_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit822: ; preds = %if.i820, %if83
+ %tmp88 = bitcast %nest.parse* %.frame to i8* ; <i8*> [#uses=1]
+ %tmp89 = call fastcc i1 @_D5tango4text5Regex11__T4TNFATwZ4TNFA5parseMFbZv7performMFE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorbZb(i8* %tmp88, i32 9, i1 true) ; <i1> [#uses=0]
+ br label %whilecond
+
+else85: ; preds = %if.i807, %case79
+ %tmp90 = bitcast %nest.parse* %.frame to i8* ; <i8*> [#uses=1]
+ %tmp91 = call fastcc i1 @_D5tango4text5Regex11__T4TNFATwZ4TNFA5parseMFbZv7performMFE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorbZb(i8* %tmp90, i32 6, i1 true) ; <i1> [#uses=0]
+ br label %whilecond
+
+case93: ; preds = %whilebody
+ %tmp3.i825 = load i32* %tmp1.i692 ; <i32> [#uses=2]
+ store i32 %tmp3.i825, i32* %tmp.i823
+ %.len.i827 = load i32* %tmp4.i693 ; <i32> [#uses=1]
+ %tmp8.i828 = icmp ult i32 %tmp3.i825, %.len.i827 ; <i1> [#uses=1]
+ br i1 %tmp8.i828, label %if.i832, label %else99
+
+if.i832: ; preds = %case93
+ %tmp10.i829 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 2 ; <%"Act[]"*> [#uses=1]
+ %tmp11.i830 = load %"Act[]"* %tmp10.i829 ; <%"Act[]"> [#uses=1]
+ %tmp12.i831 = call fastcc i32 @_D5tango4text5Regex6decodeFAwKkZw(%"Act[]" %tmp11.i830, i32* %tmp.i823) ; <i32> [#uses=1]
+ %phitmp1068 = icmp eq i32 %tmp12.i831, 63 ; <i1> [#uses=1]
+ br i1 %phitmp1068, label %if97, label %else99
+
+if97: ; preds = %if.i832
+ %tmp4.i838 = load i32* %tmp1.i692 ; <i32> [#uses=2]
+ store i32 %tmp4.i838, i32* %tmp1.i697
+ %.len.i840 = load i32* %tmp4.i693 ; <i32> [#uses=1]
+ %tmp11.i841 = icmp ult i32 %tmp4.i838, %.len.i840 ; <i1> [#uses=1]
+ br i1 %tmp11.i841, label %if.i845, label %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit847
+
+if.i845: ; preds = %if97
+ %tmp13.i842 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 2 ; <%"Act[]"*> [#uses=1]
+ %tmp14.i843 = load %"Act[]"* %tmp13.i842 ; <%"Act[]"> [#uses=1]
+ %tmp17.i844 = call fastcc i32 @_D5tango4text5Regex6decodeFAwKkZw(%"Act[]" %tmp14.i843, i32* %tmp1.i692) ; <i32> [#uses=0]
+ br label %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit847
+
+_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit847: ; preds = %if.i845, %if97
+ %tmp102 = bitcast %nest.parse* %.frame to i8* ; <i8*> [#uses=1]
+ %tmp103 = call fastcc i1 @_D5tango4text5Regex11__T4TNFATwZ4TNFA5parseMFbZv7performMFE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorbZb(i8* %tmp102, i32 10, i1 true) ; <i1> [#uses=0]
+ br label %whilecond
+
+else99: ; preds = %if.i832, %case93
+ %tmp104 = bitcast %nest.parse* %.frame to i8* ; <i8*> [#uses=1]
+ %tmp105 = call fastcc i1 @_D5tango4text5Regex11__T4TNFATwZ4TNFA5parseMFbZv7performMFE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorbZb(i8* %tmp104, i32 7, i1 true) ; <i1> [#uses=0]
+ br label %whilecond
+
+case107: ; preds = %whilebody
+ %occur672 = bitcast %tango.net.Socket.timeval* %occur to i64* ; <i64*> [#uses=1]
+ store i64 0, i64* %occur672, align 8
+ %tmp110 = getelementptr %tango.net.Socket.timeval* %occur, i32 0, i32 0 ; <i32*> [#uses=3]
+ %tmp113 = getelementptr i32* %tmp110, i32 1 ; <i32*> [#uses=1]
+ call fastcc void @_D5tango4text5Regex11__T4TNFATwZ4TNFA15parseOccurCountMFJkJkZv(%"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32* %tmp110, i32* %tmp113)
+ %tmp1025 = load i32* %tmp110, align 8 ; <i32> [#uses=1]
+ %occur.1 = getelementptr %tango.net.Socket.timeval* %occur, i32 0, i32 1 ; <i32*> [#uses=1]
+ %tmp1026 = load i32* %occur.1, align 4 ; <i32> [#uses=1]
+ %tmp1.i850 = getelementptr %nest.parse* %.frame, i32 0, i32 4, i32 0 ; <i32*> [#uses=4]
+ %tmp4.i851 = getelementptr %nest.parse* %.frame, i32 0, i32 4, i32 1, i32 0 ; <i32*> [#uses=2]
+ %.len.i852 = load i32* %tmp4.i851 ; <i32> [#uses=3]
+ %tmp5.i853 = load i32* %tmp1.i850, align 8 ; <i32> [#uses=2]
+ %tmp6.i854 = icmp ult i32 %tmp5.i853, %.len.i852 ; <i1> [#uses=1]
+ br i1 %tmp6.i854, label %entry.endif_crit_edge.i856, label %if.i864
+
+entry.endif_crit_edge.i856: ; preds = %case107
+ %tmp26.pre.i855 = getelementptr %nest.parse* %.frame, i32 0, i32 4, i32 1, i32 1 ; <%tango.net.Socket.timeval**> [#uses=1]
+ %.ptr27.i867.pre = load %tango.net.Socket.timeval** %tmp26.pre.i855 ; <%tango.net.Socket.timeval*> [#uses=1]
+ br label %_D5tango4text5Regex47__T5StackTS5tango4text5Regex11__T4PairTkZ4PairZ5Stack4pushMFS5tango4text5Regex11__T4PairTkZ4PairZv.exit
+
+if.i864: ; preds = %case107
+ %tmp13.i857 = shl i32 %.len.i852, 1 ; <i32> [#uses=1]
+ %tmp1438.i = or i32 %tmp13.i857, 1 ; <i32> [#uses=2]
+ %tmp17.i858 = getelementptr %nest.parse* %.frame, i32 0, i32 4, i32 1, i32 1 ; <%tango.net.Socket.timeval**> [#uses=2]
+ %.ptr.i859 = load %tango.net.Socket.timeval** %tmp17.i858 ; <%tango.net.Socket.timeval*> [#uses=1]
+ %tmp18.i860 = bitcast %tango.net.Socket.timeval* %.ptr.i859 to i8* ; <i8*> [#uses=1]
+ %.gc_mem.i861 = call i8* @_d_arraysetlengthT(%object.TypeInfo* bitcast (%object.TypeInfo_Array* @_D46TypeInfo_AS5tango4text5Regex11__T4PairTkZ4Pair6__initZ to %object.TypeInfo*), i32 %tmp1438.i, i32 %.len.i852, i8* %tmp18.i860) ; <i8*> [#uses=1]
+ %.gc_mem19.i862 = bitcast i8* %.gc_mem.i861 to %tango.net.Socket.timeval* ; <%tango.net.Socket.timeval*> [#uses=2]
+ store i32 %tmp1438.i, i32* %tmp4.i851
+ store %tango.net.Socket.timeval* %.gc_mem19.i862, %tango.net.Socket.timeval** %tmp17.i858
+ %tmp28.pre.i863 = load i32* %tmp1.i850, align 8 ; <i32> [#uses=1]
+ br label %_D5tango4text5Regex47__T5StackTS5tango4text5Regex11__T4PairTkZ4PairZ5Stack4pushMFS5tango4text5Regex11__T4PairTkZ4PairZv.exit
+
+_D5tango4text5Regex47__T5StackTS5tango4text5Regex11__T4PairTkZ4PairZ5Stack4pushMFS5tango4text5Regex11__T4PairTkZ4PairZv.exit: ; preds = %if.i864, %entry.endif_crit_edge.i856
+ %.ptr27.i867 = phi %tango.net.Socket.timeval* [ %.ptr27.i867.pre, %entry.endif_crit_edge.i856 ], [ %.gc_mem19.i862, %if.i864 ] ; <%tango.net.Socket.timeval*> [#uses=1]
+ %tmp28.i866 = phi i32 [ %tmp5.i853, %entry.endif_crit_edge.i856 ], [ %tmp28.pre.i863, %if.i864 ] ; <i32> [#uses=1]
+ %tmp29.i868 = getelementptr %tango.net.Socket.timeval* %.ptr27.i867, i32 %tmp28.i866 ; <%tango.net.Socket.timeval*> [#uses=1]
+ %tmp3040.i = bitcast %tango.net.Socket.timeval* %tmp29.i868 to i64* ; <i64*> [#uses=1]
+ %1 = zext i32 %tmp1025 to i64 ; <i64> [#uses=1]
+ %2 = shl i64 %1, 32 ; <i64> [#uses=1]
+ %3 = zext i32 %tmp1026 to i64 ; <i64> [#uses=1]
+ %4 = or i64 %3, %2 ; <i64> [#uses=1]
+ store i64 %4, i64* %tmp3040.i, align 1
+ %tmp36.i870 = load i32* %tmp1.i850, align 8 ; <i32> [#uses=1]
+ %tmp37.i = add i32 %tmp36.i870, 1 ; <i32> [#uses=1]
+ store i32 %tmp37.i, i32* %tmp1.i850, align 8
+ %tmp3.i874 = load i32* %tmp1.i692 ; <i32> [#uses=2]
+ store i32 %tmp3.i874, i32* %tmp.i872
+ %.len.i876 = load i32* %tmp4.i693 ; <i32> [#uses=1]
+ %tmp8.i877 = icmp ult i32 %tmp3.i874, %.len.i876 ; <i1> [#uses=1]
+ br i1 %tmp8.i877, label %if.i881, label %else120
+
+if.i881: ; preds = %_D5tango4text5Regex47__T5StackTS5tango4text5Regex11__T4PairTkZ4PairZ5Stack4pushMFS5tango4text5Regex11__T4PairTkZ4PairZv.exit
+ %tmp10.i878 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 2 ; <%"Act[]"*> [#uses=1]
+ %tmp11.i879 = load %"Act[]"* %tmp10.i878 ; <%"Act[]"> [#uses=1]
+ %tmp12.i880 = call fastcc i32 @_D5tango4text5Regex6decodeFAwKkZw(%"Act[]" %tmp11.i879, i32* %tmp.i872) ; <i32> [#uses=1]
+ %phitmp1069 = icmp eq i32 %tmp12.i880, 63 ; <i1> [#uses=1]
+ br i1 %phitmp1069, label %if118, label %else120
+
+if118: ; preds = %if.i881
+ %tmp4.i887 = load i32* %tmp1.i692 ; <i32> [#uses=2]
+ store i32 %tmp4.i887, i32* %tmp1.i697
+ %.len.i889 = load i32* %tmp4.i693 ; <i32> [#uses=1]
+ %tmp11.i890 = icmp ult i32 %tmp4.i887, %.len.i889 ; <i1> [#uses=1]
+ br i1 %tmp11.i890, label %if.i894, label %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit896
+
+if.i894: ; preds = %if118
+ %tmp13.i891 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 2 ; <%"Act[]"*> [#uses=1]
+ %tmp14.i892 = load %"Act[]"* %tmp13.i891 ; <%"Act[]"> [#uses=1]
+ %tmp17.i893 = call fastcc i32 @_D5tango4text5Regex6decodeFAwKkZw(%"Act[]" %tmp14.i892, i32* %tmp1.i692) ; <i32> [#uses=0]
+ br label %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit896
+
+_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit896: ; preds = %if.i894, %if118
+ %tmp123 = bitcast %nest.parse* %.frame to i8* ; <i8*> [#uses=1]
+ %tmp124 = call fastcc i1 @_D5tango4text5Regex11__T4TNFATwZ4TNFA5parseMFbZv7performMFE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorbZb(i8* %tmp123, i32 16, i1 true) ; <i1> [#uses=0]
+ br label %whilecond
+
+else120: ; preds = %if.i881, %_D5tango4text5Regex47__T5StackTS5tango4text5Regex11__T4PairTkZ4PairZ5Stack4pushMFS5tango4text5Regex11__T4PairTkZ4PairZv.exit
+ %tmp125 = bitcast %nest.parse* %.frame to i8* ; <i8*> [#uses=1]
+ %tmp126 = call fastcc i1 @_D5tango4text5Regex11__T4TNFATwZ4TNFA5parseMFbZv7performMFE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorbZb(i8* %tmp125, i32 15, i1 true) ; <i1> [#uses=0]
+ br label %whilecond
+
+case128: ; preds = %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit921, %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit908, %whilebody
+ %pred_type.0 = phi i32 [ 3, %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit921 ], [ 2, %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit908 ], [ 0, %whilebody ] ; <i32> [#uses=1]
+ br i1 %implicit_concat.0, label %if130, label %endif131
+
+if130: ; preds = %case128
+ %tmp132 = bitcast %nest.parse* %.frame to i8* ; <i8*> [#uses=1]
+ %tmp133 = call fastcc i1 @_D5tango4text5Regex11__T4TNFATwZ4TNFA5parseMFbZv7performMFE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorbZb(i8* %tmp132, i32 1, i1 false) ; <i1> [#uses=0]
+ br label %endif131
+
+endif131: ; preds = %if130, %case128
+ %tmp134 = load %"tango.text.Regex.List!(TNFAFragment).List"** %frags ; <%"tango.text.Regex.List!(TNFAFragment).List"*> [#uses=2]
+ %tmp135 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %tmp134, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"**> [#uses=1]
+ %tmp136 = load %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"** %tmp135 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"*> [#uses=1]
+ %"frags.opCatAssign@vtbl137" = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"* %tmp136, i32 0, i32 5 ; <%"tango.text.Regex.List!(TNFAFragment).List"* (%"tango.text.Regex.List!(TNFAFragment).List"*, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*)**> [#uses=1]
+ %frags.opCatAssign139 = load %"tango.text.Regex.List!(TNFAFragment).List"* (%"tango.text.Regex.List!(TNFAFragment).List"*, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*)** %"frags.opCatAssign@vtbl137", align 4 ; <%"tango.text.Regex.List!(TNFAFragment).List"* (%"tango.text.Regex.List!(TNFAFragment).List"*, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*)*> [#uses=1]
+ %tmp142 = call fastcc %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* @_D5tango4text5Regex11__T4TNFATwZ4TNFA18constructCharClassMFE5tango4text5Regex16__T9PredicateTwZ9Predicate4TypeZC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment(%"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 %pred_type.0) ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*> [#uses=1]
+ %tmp143 = call fastcc %"tango.text.Regex.List!(TNFAFragment).List"* %frags.opCatAssign139(%"tango.text.Regex.List!(TNFAFragment).List"* %tmp134, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %tmp142) ; <%"tango.text.Regex.List!(TNFAFragment).List"*> [#uses=0]
+ br label %whilecond
+
+case145: ; preds = %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit921, %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit908, %whilebody
+ %pred_type.1 = phi i32 [ 0, %whilebody ], [ 2, %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit908 ], [ 3, %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit921 ] ; <i32> [#uses=1]
+ br i1 %implicit_concat.0, label %if147, label %endif148
+
+if147: ; preds = %case145
+ %tmp149 = bitcast %nest.parse* %.frame to i8* ; <i8*> [#uses=1]
+ %tmp150 = call fastcc i1 @_D5tango4text5Regex11__T4TNFATwZ4TNFA5parseMFbZv7performMFE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorbZb(i8* %tmp149, i32 1, i1 false) ; <i1> [#uses=0]
+ br label %endif148
+
+endif148: ; preds = %if147, %case145
+ %tmp151 = load %"tango.text.Regex.List!(TNFAFragment).List"** %frags ; <%"tango.text.Regex.List!(TNFAFragment).List"*> [#uses=2]
+ %tmp152 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %tmp151, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"**> [#uses=1]
+ %tmp153 = load %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"** %tmp152 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"*> [#uses=1]
+ %"frags.opCatAssign@vtbl154" = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"* %tmp153, i32 0, i32 5 ; <%"tango.text.Regex.List!(TNFAFragment).List"* (%"tango.text.Regex.List!(TNFAFragment).List"*, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*)**> [#uses=1]
+ %frags.opCatAssign156 = load %"tango.text.Regex.List!(TNFAFragment).List"* (%"tango.text.Regex.List!(TNFAFragment).List"*, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*)** %"frags.opCatAssign@vtbl154", align 4 ; <%"tango.text.Regex.List!(TNFAFragment).List"* (%"tango.text.Regex.List!(TNFAFragment).List"*, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*)*> [#uses=1]
+ %tmp159 = call fastcc %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* @_D5tango4text5Regex11__T4TNFATwZ4TNFA14constructCharsMFS5tango4text5Regex16__T9CharClassTwZ9CharClassE5tango4text5Regex16__T9PredicateTwZ9Predicate4TypeZC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment(%"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, %"tango.text.Regex.CharClass!(dchar).CharClass"* byval @_D5tango4text5Regex16__T9CharClassTwZ9CharClass8dot_operS5tango4text5Regex16__T9CharClassTwZ9CharClass, i32 %pred_type.1) ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*> [#uses=1]
+ %tmp160 = call fastcc %"tango.text.Regex.List!(TNFAFragment).List"* %frags.opCatAssign156(%"tango.text.Regex.List!(TNFAFragment).List"* %tmp151, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %tmp159) ; <%"tango.text.Regex.List!(TNFAFragment).List"*> [#uses=0]
+ br label %whilecond
+
+case162: ; preds = %whilebody
+ br i1 %implicit_concat.0, label %if164, label %endif165
+
+if164: ; preds = %case162
+ %tmp166 = bitcast %nest.parse* %.frame to i8* ; <i8*> [#uses=1]
+ %tmp167 = call fastcc i1 @_D5tango4text5Regex11__T4TNFATwZ4TNFA5parseMFbZv7performMFE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorbZb(i8* %tmp166, i32 1, i1 false) ; <i1> [#uses=0]
+ br label %endif165
+
+endif165: ; preds = %if164, %case162
+ %tmp168 = load %"tango.text.Regex.List!(TNFAFragment).List"** %frags ; <%"tango.text.Regex.List!(TNFAFragment).List"*> [#uses=2]
+ %tmp169 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %tmp168, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"**> [#uses=1]
+ %tmp170 = load %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"** %tmp169 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"*> [#uses=1]
+ %"frags.opCatAssign@vtbl171" = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"* %tmp170, i32 0, i32 5 ; <%"tango.text.Regex.List!(TNFAFragment).List"* (%"tango.text.Regex.List!(TNFAFragment).List"*, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*)**> [#uses=1]
+ %frags.opCatAssign173 = load %"tango.text.Regex.List!(TNFAFragment).List"* (%"tango.text.Regex.List!(TNFAFragment).List"*, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*)** %"frags.opCatAssign@vtbl171", align 4 ; <%"tango.text.Regex.List!(TNFAFragment).List"* (%"tango.text.Regex.List!(TNFAFragment).List"*, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*)*> [#uses=1]
+ %tmp175 = call fastcc %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* @_D5tango4text5Regex11__T4TNFATwZ4TNFA14constructCharsMFS5tango4text5Regex16__T9CharClassTwZ9CharClassE5tango4text5Regex16__T9PredicateTwZ9Predicate4TypeZC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment(%"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, %"tango.text.Regex.CharClass!(dchar).CharClass"* byval @_D5tango4text5Regex16__T9CharClassTwZ9CharClass13line_startendS5tango4text5Regex16__T9CharClassTwZ9CharClass, i32 2) ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*> [#uses=1]
+ %tmp176 = call fastcc %"tango.text.Regex.List!(TNFAFragment).List"* %frags.opCatAssign173(%"tango.text.Regex.List!(TNFAFragment).List"* %tmp168, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %tmp175) ; <%"tango.text.Regex.List!(TNFAFragment).List"*> [#uses=0]
+ br label %whilecond
+
+case178: ; preds = %whilebody
+ br i1 %implicit_concat.0, label %if180, label %endif181
+
+if180: ; preds = %case178
+ %tmp182 = bitcast %nest.parse* %.frame to i8* ; <i8*> [#uses=1]
+ %tmp183 = call fastcc i1 @_D5tango4text5Regex11__T4TNFATwZ4TNFA5parseMFbZv7performMFE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorbZb(i8* %tmp182, i32 1, i1 false) ; <i1> [#uses=0]
+ br label %endif181
+
+endif181: ; preds = %if180, %case178
+ %tmp184 = load %"tango.text.Regex.List!(TNFAFragment).List"** %frags ; <%"tango.text.Regex.List!(TNFAFragment).List"*> [#uses=2]
+ %tmp185 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %tmp184, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"**> [#uses=1]
+ %tmp186 = load %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"** %tmp185 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"*> [#uses=1]
+ %"frags.opCatAssign@vtbl187" = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"* %tmp186, i32 0, i32 5 ; <%"tango.text.Regex.List!(TNFAFragment).List"* (%"tango.text.Regex.List!(TNFAFragment).List"*, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*)**> [#uses=1]
+ %frags.opCatAssign189 = load %"tango.text.Regex.List!(TNFAFragment).List"* (%"tango.text.Regex.List!(TNFAFragment).List"*, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*)** %"frags.opCatAssign@vtbl187", align 4 ; <%"tango.text.Regex.List!(TNFAFragment).List"* (%"tango.text.Regex.List!(TNFAFragment).List"*, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*)*> [#uses=1]
+ %tmp191 = call fastcc %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* @_D5tango4text5Regex11__T4TNFATwZ4TNFA14constructCharsMFS5tango4text5Regex16__T9CharClassTwZ9CharClassE5tango4text5Regex16__T9PredicateTwZ9Predicate4TypeZC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment(%"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, %"tango.text.Regex.CharClass!(dchar).CharClass"* byval @_D5tango4text5Regex16__T9CharClassTwZ9CharClass13line_startendS5tango4text5Regex16__T9CharClassTwZ9CharClass, i32 3) ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*> [#uses=1]
+ %tmp192 = call fastcc %"tango.text.Regex.List!(TNFAFragment).List"* %frags.opCatAssign189(%"tango.text.Regex.List!(TNFAFragment).List"* %tmp184, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %tmp191) ; <%"tango.text.Regex.List!(TNFAFragment).List"*> [#uses=0]
+ br label %whilecond
+
+case194: ; preds = %whilebody
+ %tmp4.i899 = load i32* %tmp1.i692 ; <i32> [#uses=2]
+ store i32 %tmp4.i899, i32* %tmp1.i697
+ %.len.i901 = load i32* %tmp4.i693 ; <i32> [#uses=1]
+ %tmp11.i902 = icmp ult i32 %tmp4.i899, %.len.i901 ; <i1> [#uses=1]
+ br i1 %tmp11.i902, label %if.i906, label %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit908
+
+if.i906: ; preds = %case194
+ %tmp13.i903 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 2 ; <%"Act[]"*> [#uses=1]
+ %tmp14.i904 = load %"Act[]"* %tmp13.i903 ; <%"Act[]"> [#uses=1]
+ %tmp17.i905 = call fastcc i32 @_D5tango4text5Regex6decodeFAwKkZw(%"Act[]" %tmp14.i904, i32* %tmp1.i692) ; <i32> [#uses=1]
+ br label %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit908
+
+_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit908: ; preds = %if.i906, %case194
+ %tmp196909 = phi i32 [ %tmp17.i905, %if.i906 ], [ 0, %case194 ] ; <i32> [#uses=2]
+ switch i32 %tmp196909, label %default529 [
+ i32 91, label %case128
+ i32 92, label %case236
+ i32 46, label %case145
+ ]
+
+case214: ; preds = %whilebody
+ %tmp4.i912 = load i32* %tmp1.i692 ; <i32> [#uses=2]
+ store i32 %tmp4.i912, i32* %tmp1.i697
+ %.len.i914 = load i32* %tmp4.i693 ; <i32> [#uses=1]
+ %tmp11.i915 = icmp ult i32 %tmp4.i912, %.len.i914 ; <i1> [#uses=1]
+ br i1 %tmp11.i915, label %if.i919, label %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit921
+
+if.i919: ; preds = %case214
+ %tmp13.i916 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 2 ; <%"Act[]"*> [#uses=1]
+ %tmp14.i917 = load %"Act[]"* %tmp13.i916 ; <%"Act[]"> [#uses=1]
+ %tmp17.i918 = call fastcc i32 @_D5tango4text5Regex6decodeFAwKkZw(%"Act[]" %tmp14.i917, i32* %tmp1.i692) ; <i32> [#uses=1]
+ br label %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit921
+
+_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit921: ; preds = %if.i919, %case214
+ %tmp216922 = phi i32 [ %tmp17.i918, %if.i919 ], [ 0, %case214 ] ; <i32> [#uses=2]
+ switch i32 %tmp216922, label %default529 [
+ i32 91, label %case128
+ i32 92, label %case236
+ i32 46, label %case145
+ ]
+
+case236: ; preds = %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit921, %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit908, %whilebody
+ %pred_type.2 = phi i32 [ 0, %whilebody ], [ 2, %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit908 ], [ 3, %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit921 ] ; <i32> [#uses=12]
+ %tmp4.i925 = load i32* %tmp1.i692 ; <i32> [#uses=2]
+ store i32 %tmp4.i925, i32* %tmp1.i697
+ %.len.i927 = load i32* %tmp4.i693 ; <i32> [#uses=1]
+ %tmp11.i928 = icmp ult i32 %tmp4.i925, %.len.i927 ; <i1> [#uses=1]
+ br i1 %tmp11.i928, label %if.i932, label %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit934
+
+if.i932: ; preds = %case236
+ %tmp13.i929 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 2 ; <%"Act[]"*> [#uses=1]
+ %tmp14.i930 = load %"Act[]"* %tmp13.i929 ; <%"Act[]"> [#uses=1]
+ %tmp17.i931 = call fastcc i32 @_D5tango4text5Regex6decodeFAwKkZw(%"Act[]" %tmp14.i930, i32* %tmp1.i692) ; <i32> [#uses=1]
+ br label %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit934
+
+_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit934: ; preds = %if.i932, %case236
+ %tmp238935 = phi i32 [ %tmp17.i931, %if.i932 ], [ 0, %case236 ] ; <i32> [#uses=2]
+ br i1 %implicit_concat.0, label %if240, label %endif241
+
+if240: ; preds = %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit934
+ %tmp242 = bitcast %nest.parse* %.frame to i8* ; <i8*> [#uses=1]
+ %tmp243 = call fastcc i1 @_D5tango4text5Regex11__T4TNFATwZ4TNFA5parseMFbZv7performMFE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorbZb(i8* %tmp242, i32 1, i1 false) ; <i1> [#uses=0]
+ br label %endif241
+
+endif241: ; preds = %if240, %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit934
+ switch i32 %tmp238935, label %default515 [
+ i32 116, label %case248
+ i32 110, label %case260
+ i32 114, label %case272
+ i32 119, label %case284
+ i32 87, label %case296
+ i32 115, label %case310
+ i32 83, label %case322
+ i32 100, label %case338
+ i32 68, label %case350
+ i32 98, label %case366
+ i32 66, label %case432
+ ]
+
+case248: ; preds = %endif241
+ %tmp249 = load %"tango.text.Regex.List!(TNFAFragment).List"** %frags ; <%"tango.text.Regex.List!(TNFAFragment).List"*> [#uses=2]
+ %tmp250 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %tmp249, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"**> [#uses=1]
+ %tmp251 = load %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"** %tmp250 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"*> [#uses=1]
+ %"frags.opCatAssign@vtbl252" = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"* %tmp251, i32 0, i32 5 ; <%"tango.text.Regex.List!(TNFAFragment).List"* (%"tango.text.Regex.List!(TNFAFragment).List"*, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*)**> [#uses=1]
+ %frags.opCatAssign254 = load %"tango.text.Regex.List!(TNFAFragment).List"* (%"tango.text.Regex.List!(TNFAFragment).List"*, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*)** %"frags.opCatAssign@vtbl252", align 4 ; <%"tango.text.Regex.List!(TNFAFragment).List"* (%"tango.text.Regex.List!(TNFAFragment).List"*, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*)*> [#uses=1]
+ %tmp257 = call fastcc %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* @_D5tango4text5Regex11__T4TNFATwZ4TNFA19constructSingleCharMFwE5tango4text5Regex16__T9PredicateTwZ9Predicate4TypeZC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment(%"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 9, i32 %pred_type.2) ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*> [#uses=1]
+ %tmp258 = call fastcc %"tango.text.Regex.List!(TNFAFragment).List"* %frags.opCatAssign254(%"tango.text.Regex.List!(TNFAFragment).List"* %tmp249, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %tmp257) ; <%"tango.text.Regex.List!(TNFAFragment).List"*> [#uses=0]
+ br label %whilecond
+
+case260: ; preds = %endif241
+ %tmp261 = load %"tango.text.Regex.List!(TNFAFragment).List"** %frags ; <%"tango.text.Regex.List!(TNFAFragment).List"*> [#uses=2]
+ %tmp262 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %tmp261, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"**> [#uses=1]
+ %tmp263 = load %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"** %tmp262 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"*> [#uses=1]
+ %"frags.opCatAssign@vtbl264" = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"* %tmp263, i32 0, i32 5 ; <%"tango.text.Regex.List!(TNFAFragment).List"* (%"tango.text.Regex.List!(TNFAFragment).List"*, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*)**> [#uses=1]
+ %frags.opCatAssign266 = load %"tango.text.Regex.List!(TNFAFragment).List"* (%"tango.text.Regex.List!(TNFAFragment).List"*, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*)** %"frags.opCatAssign@vtbl264", align 4 ; <%"tango.text.Regex.List!(TNFAFragment).List"* (%"tango.text.Regex.List!(TNFAFragment).List"*, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*)*> [#uses=1]
+ %tmp269 = call fastcc %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* @_D5tango4text5Regex11__T4TNFATwZ4TNFA19constructSingleCharMFwE5tango4text5Regex16__T9PredicateTwZ9Predicate4TypeZC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment(%"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 10, i32 %pred_type.2) ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*> [#uses=1]
+ %tmp270 = call fastcc %"tango.text.Regex.List!(TNFAFragment).List"* %frags.opCatAssign266(%"tango.text.Regex.List!(TNFAFragment).List"* %tmp261, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %tmp269) ; <%"tango.text.Regex.List!(TNFAFragment).List"*> [#uses=0]
+ br label %whilecond
+
+case272: ; preds = %endif241
+ %tmp273 = load %"tango.text.Regex.List!(TNFAFragment).List"** %frags ; <%"tango.text.Regex.List!(TNFAFragment).List"*> [#uses=2]
+ %tmp274 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %tmp273, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"**> [#uses=1]
+ %tmp275 = load %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"** %tmp274 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"*> [#uses=1]
+ %"frags.opCatAssign@vtbl276" = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"* %tmp275, i32 0, i32 5 ; <%"tango.text.Regex.List!(TNFAFragment).List"* (%"tango.text.Regex.List!(TNFAFragment).List"*, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*)**> [#uses=1]
+ %frags.opCatAssign278 = load %"tango.text.Regex.List!(TNFAFragment).List"* (%"tango.text.Regex.List!(TNFAFragment).List"*, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*)** %"frags.opCatAssign@vtbl276", align 4 ; <%"tango.text.Regex.List!(TNFAFragment).List"* (%"tango.text.Regex.List!(TNFAFragment).List"*, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*)*> [#uses=1]
+ %tmp281 = call fastcc %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* @_D5tango4text5Regex11__T4TNFATwZ4TNFA19constructSingleCharMFwE5tango4text5Regex16__T9PredicateTwZ9Predicate4TypeZC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment(%"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 13, i32 %pred_type.2) ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*> [#uses=1]
+ %tmp282 = call fastcc %"tango.text.Regex.List!(TNFAFragment).List"* %frags.opCatAssign278(%"tango.text.Regex.List!(TNFAFragment).List"* %tmp273, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %tmp281) ; <%"tango.text.Regex.List!(TNFAFragment).List"*> [#uses=0]
+ br label %whilecond
+
+case284: ; preds = %endif241
+ %tmp285 = load %"tango.text.Regex.List!(TNFAFragment).List"** %frags ; <%"tango.text.Regex.List!(TNFAFragment).List"*> [#uses=2]
+ %tmp286 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %tmp285, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"**> [#uses=1]
+ %tmp287 = load %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"** %tmp286 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"*> [#uses=1]
+ %"frags.opCatAssign@vtbl288" = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"* %tmp287, i32 0, i32 5 ; <%"tango.text.Regex.List!(TNFAFragment).List"* (%"tango.text.Regex.List!(TNFAFragment).List"*, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*)**> [#uses=1]
+ %frags.opCatAssign290 = load %"tango.text.Regex.List!(TNFAFragment).List"* (%"tango.text.Regex.List!(TNFAFragment).List"*, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*)** %"frags.opCatAssign@vtbl288", align 4 ; <%"tango.text.Regex.List!(TNFAFragment).List"* (%"tango.text.Regex.List!(TNFAFragment).List"*, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*)*> [#uses=1]
+ %tmp293 = call fastcc %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* @_D5tango4text5Regex11__T4TNFATwZ4TNFA14constructCharsMFS5tango4text5Regex16__T9CharClassTwZ9CharClassE5tango4text5Regex16__T9PredicateTwZ9Predicate4TypeZC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment(%"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, %"tango.text.Regex.CharClass!(dchar).CharClass"* byval @_D5tango4text5Regex16__T9CharClassTwZ9CharClass9alphanum_S5tango4text5Regex16__T9CharClassTwZ9CharClass, i32 %pred_type.2) ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*> [#uses=1]
+ %tmp294 = call fastcc %"tango.text.Regex.List!(TNFAFragment).List"* %frags.opCatAssign290(%"tango.text.Regex.List!(TNFAFragment).List"* %tmp285, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %tmp293) ; <%"tango.text.Regex.List!(TNFAFragment).List"*> [#uses=0]
+ br label %whilecond
+
+case296: ; preds = %endif241
+ %srcval = load i64* bitcast (%"tango.text.Regex.CharClass!(dchar).CharClass"* @_D5tango4text5Regex16__T9CharClassTwZ9CharClass9alphanum_S5tango4text5Regex16__T9CharClassTwZ9CharClass to i64*), align 4 ; <i64> [#uses=2]
+ %tmp1028 = lshr i64 %srcval, 32 ; <i64> [#uses=1]
+ %tmp1029 = trunc i64 %tmp1028 to i32 ; <i32> [#uses=1]
+ %tmp1030 = insertvalue %"byte[]" undef, i32 %tmp1029, 0 ; <%"byte[]"> [#uses=1]
+ %tmp1031 = trunc i64 %srcval to i32 ; <i32> [#uses=1]
+ %tmp1032 = inttoptr i32 %tmp1031 to i8* ; <i8*> [#uses=1]
+ %tmp1033 = insertvalue %"byte[]" %tmp1030, i8* %tmp1032, 1 ; <%"byte[]"> [#uses=1]
+ %tmp5.i940 = call %"byte[]" @_adDupT(%object.TypeInfo* bitcast (%object.TypeInfo_Array* @_D56TypeInfo_AS5tango4text5Regex16__T9CharRangeTwZ9CharRange6__initZ to %object.TypeInfo*), %"byte[]" %tmp1033) ; <%"byte[]"> [#uses=2]
+ %tmp6.i941 = extractvalue %"byte[]" %tmp5.i940, 0 ; <i32> [#uses=1]
+ %tmp8.i942 = extractvalue %"byte[]" %tmp5.i940, 1 ; <i8*> [#uses=1]
+ %tmp = ptrtoint i8* %tmp8.i942 to i32 ; <i32> [#uses=2]
+ %tmp297674 = bitcast %"tango.text.Regex.CharClass!(dchar).CharClass"* %cc to i64* ; <i64*> [#uses=1]
+ %5 = zext i32 %tmp6.i941 to i64 ; <i64> [#uses=1]
+ %6 = shl i64 %5, 32 ; <i64> [#uses=1]
+ %7 = zext i32 %tmp to i64 ; <i64> [#uses=1]
+ %8 = or i64 %7, %6 ; <i64> [#uses=1]
+ store i64 %8, i64* %tmp297674, align 8
+ call fastcc void @_D5tango4text5Regex16__T9CharClassTwZ9CharClass6negateMFZv(%"tango.text.Regex.CharClass!(dchar).CharClass"* %cc)
+ %tmp299 = load %"tango.text.Regex.List!(TNFAFragment).List"** %frags ; <%"tango.text.Regex.List!(TNFAFragment).List"*> [#uses=2]
+ %tmp300 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %tmp299, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"**> [#uses=1]
+ %tmp301 = load %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"** %tmp300 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"*> [#uses=1]
+ %"frags.opCatAssign@vtbl302" = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"* %tmp301, i32 0, i32 5 ; <%"tango.text.Regex.List!(TNFAFragment).List"* (%"tango.text.Regex.List!(TNFAFragment).List"*, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*)**> [#uses=1]
+ %frags.opCatAssign304 = load %"tango.text.Regex.List!(TNFAFragment).List"* (%"tango.text.Regex.List!(TNFAFragment).List"*, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*)** %"frags.opCatAssign@vtbl302", align 4 ; <%"tango.text.Regex.List!(TNFAFragment).List"* (%"tango.text.Regex.List!(TNFAFragment).List"*, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*)*> [#uses=1]
+ %tmp307 = call fastcc %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* @_D5tango4text5Regex11__T4TNFATwZ4TNFA14constructCharsMFS5tango4text5Regex16__T9CharClassTwZ9CharClassE5tango4text5Regex16__T9PredicateTwZ9Predicate4TypeZC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment(%"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, %"tango.text.Regex.CharClass!(dchar).CharClass"* byval %cc, i32 %pred_type.2) ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*> [#uses=1]
+ %tmp308 = call fastcc %"tango.text.Regex.List!(TNFAFragment).List"* %frags.opCatAssign304(%"tango.text.Regex.List!(TNFAFragment).List"* %tmp299, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %tmp307) ; <%"tango.text.Regex.List!(TNFAFragment).List"*> [#uses=0]
+ br label %whilecond
+
+case310: ; preds = %endif241
+ %tmp311 = load %"tango.text.Regex.List!(TNFAFragment).List"** %frags ; <%"tango.text.Regex.List!(TNFAFragment).List"*> [#uses=2]
+ %tmp312 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %tmp311, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"**> [#uses=1]
+ %tmp313 = load %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"** %tmp312 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"*> [#uses=1]
+ %"frags.opCatAssign@vtbl314" = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"* %tmp313, i32 0, i32 5 ; <%"tango.text.Regex.List!(TNFAFragment).List"* (%"tango.text.Regex.List!(TNFAFragment).List"*, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*)**> [#uses=1]
+ %frags.opCatAssign316 = load %"tango.text.Regex.List!(TNFAFragment).List"* (%"tango.text.Regex.List!(TNFAFragment).List"*, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*)** %"frags.opCatAssign@vtbl314", align 4 ; <%"tango.text.Regex.List!(TNFAFragment).List"* (%"tango.text.Regex.List!(TNFAFragment).List"*, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*)*> [#uses=1]
+ %tmp319 = call fastcc %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* @_D5tango4text5Regex11__T4TNFATwZ4TNFA14constructCharsMFS5tango4text5Regex16__T9CharClassTwZ9CharClassE5tango4text5Regex16__T9PredicateTwZ9Predicate4TypeZC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment(%"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, %"tango.text.Regex.CharClass!(dchar).CharClass"* byval @_D5tango4text5Regex16__T9CharClassTwZ9CharClass10whitespaceS5tango4text5Regex16__T9CharClassTwZ9CharClass, i32 %pred_type.2) ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*> [#uses=1]
+ %tmp320 = call fastcc %"tango.text.Regex.List!(TNFAFragment).List"* %frags.opCatAssign316(%"tango.text.Regex.List!(TNFAFragment).List"* %tmp311, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %tmp319) ; <%"tango.text.Regex.List!(TNFAFragment).List"*> [#uses=0]
+ br label %whilecond
+
+case322: ; preds = %endif241
+ %srcval1041 = load i64* bitcast (%"tango.text.Regex.CharClass!(dchar).CharClass"* @_D5tango4text5Regex16__T9CharClassTwZ9CharClass10whitespaceS5tango4text5Regex16__T9CharClassTwZ9CharClass to i64*), align 4 ; <i64> [#uses=2]
+ %tmp1035 = lshr i64 %srcval1041, 32 ; <i64> [#uses=1]
+ %tmp1036 = trunc i64 %tmp1035 to i32 ; <i32> [#uses=1]
+ %tmp1037 = insertvalue %"byte[]" undef, i32 %tmp1036, 0 ; <%"byte[]"> [#uses=1]
+ %tmp1038 = trunc i64 %srcval1041 to i32 ; <i32> [#uses=1]
+ %tmp1039 = inttoptr i32 %tmp1038 to i8* ; <i8*> [#uses=1]
+ %tmp1040 = insertvalue %"byte[]" %tmp1037, i8* %tmp1039, 1 ; <%"byte[]"> [#uses=1]
+ %tmp5.i949 = call %"byte[]" @_adDupT(%object.TypeInfo* bitcast (%object.TypeInfo_Array* @_D56TypeInfo_AS5tango4text5Regex16__T9CharRangeTwZ9CharRange6__initZ to %object.TypeInfo*), %"byte[]" %tmp1040) ; <%"byte[]"> [#uses=2]
+ %tmp6.i950 = extractvalue %"byte[]" %tmp5.i949, 0 ; <i32> [#uses=1]
+ %tmp8.i951 = extractvalue %"byte[]" %tmp5.i949, 1 ; <i8*> [#uses=1]
+ %tmp1018 = ptrtoint i8* %tmp8.i951 to i32 ; <i32> [#uses=2]
+ %tmp325676 = bitcast %"tango.text.Regex.CharClass!(dchar).CharClass"* %cc323 to i64* ; <i64*> [#uses=1]
+ %9 = zext i32 %tmp6.i950 to i64 ; <i64> [#uses=1]
+ %10 = shl i64 %9, 32 ; <i64> [#uses=1]
+ %11 = zext i32 %tmp1018 to i64 ; <i64> [#uses=1]
+ %12 = or i64 %11, %10 ; <i64> [#uses=1]
+ store i64 %12, i64* %tmp325676, align 8
+ call fastcc void @_D5tango4text5Regex16__T9CharClassTwZ9CharClass6negateMFZv(%"tango.text.Regex.CharClass!(dchar).CharClass"* %cc323)
+ %tmp327 = load %"tango.text.Regex.List!(TNFAFragment).List"** %frags ; <%"tango.text.Regex.List!(TNFAFragment).List"*> [#uses=2]
+ %tmp328 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %tmp327, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"**> [#uses=1]
+ %tmp329 = load %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"** %tmp328 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"*> [#uses=1]
+ %"frags.opCatAssign@vtbl330" = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"* %tmp329, i32 0, i32 5 ; <%"tango.text.Regex.List!(TNFAFragment).List"* (%"tango.text.Regex.List!(TNFAFragment).List"*, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*)**> [#uses=1]
+ %frags.opCatAssign332 = load %"tango.text.Regex.List!(TNFAFragment).List"* (%"tango.text.Regex.List!(TNFAFragment).List"*, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*)** %"frags.opCatAssign@vtbl330", align 4 ; <%"tango.text.Regex.List!(TNFAFragment).List"* (%"tango.text.Regex.List!(TNFAFragment).List"*, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*)*> [#uses=1]
+ %tmp335 = call fastcc %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* @_D5tango4text5Regex11__T4TNFATwZ4TNFA14constructCharsMFS5tango4text5Regex16__T9CharClassTwZ9CharClassE5tango4text5Regex16__T9PredicateTwZ9Predicate4TypeZC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment(%"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, %"tango.text.Regex.CharClass!(dchar).CharClass"* byval %cc323, i32 %pred_type.2) ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*> [#uses=1]
+ %tmp336 = call fastcc %"tango.text.Regex.List!(TNFAFragment).List"* %frags.opCatAssign332(%"tango.text.Regex.List!(TNFAFragment).List"* %tmp327, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %tmp335) ; <%"tango.text.Regex.List!(TNFAFragment).List"*> [#uses=0]
+ br label %whilecond
+
+case338: ; preds = %endif241
+ %tmp339 = load %"tango.text.Regex.List!(TNFAFragment).List"** %frags ; <%"tango.text.Regex.List!(TNFAFragment).List"*> [#uses=2]
+ %tmp340 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %tmp339, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"**> [#uses=1]
+ %tmp341 = load %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"** %tmp340 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"*> [#uses=1]
+ %"frags.opCatAssign@vtbl342" = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"* %tmp341, i32 0, i32 5 ; <%"tango.text.Regex.List!(TNFAFragment).List"* (%"tango.text.Regex.List!(TNFAFragment).List"*, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*)**> [#uses=1]
+ %frags.opCatAssign344 = load %"tango.text.Regex.List!(TNFAFragment).List"* (%"tango.text.Regex.List!(TNFAFragment).List"*, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*)** %"frags.opCatAssign@vtbl342", align 4 ; <%"tango.text.Regex.List!(TNFAFragment).List"* (%"tango.text.Regex.List!(TNFAFragment).List"*, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*)*> [#uses=1]
+ %tmp347 = call fastcc %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* @_D5tango4text5Regex11__T4TNFATwZ4TNFA14constructCharsMFS5tango4text5Regex16__T9CharClassTwZ9CharClassE5tango4text5Regex16__T9PredicateTwZ9Predicate4TypeZC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment(%"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, %"tango.text.Regex.CharClass!(dchar).CharClass"* byval @_D5tango4text5Regex16__T9CharClassTwZ9CharClass5digitS5tango4text5Regex16__T9CharClassTwZ9CharClass, i32 %pred_type.2) ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*> [#uses=1]
+ %tmp348 = call fastcc %"tango.text.Regex.List!(TNFAFragment).List"* %frags.opCatAssign344(%"tango.text.Regex.List!(TNFAFragment).List"* %tmp339, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %tmp347) ; <%"tango.text.Regex.List!(TNFAFragment).List"*> [#uses=0]
+ br label %whilecond
+
+case350: ; preds = %endif241
+ %srcval1049 = load i64* bitcast (%"tango.text.Regex.CharClass!(dchar).CharClass"* @_D5tango4text5Regex16__T9CharClassTwZ9CharClass5digitS5tango4text5Regex16__T9CharClassTwZ9CharClass to i64*), align 4 ; <i64> [#uses=2]
+ %tmp1043 = lshr i64 %srcval1049, 32 ; <i64> [#uses=1]
+ %tmp1044 = trunc i64 %tmp1043 to i32 ; <i32> [#uses=1]
+ %tmp1045 = insertvalue %"byte[]" undef, i32 %tmp1044, 0 ; <%"byte[]"> [#uses=1]
+ %tmp1046 = trunc i64 %srcval1049 to i32 ; <i32> [#uses=1]
+ %tmp1047 = inttoptr i32 %tmp1046 to i8* ; <i8*> [#uses=1]
+ %tmp1048 = insertvalue %"byte[]" %tmp1045, i8* %tmp1047, 1 ; <%"byte[]"> [#uses=1]
+ %tmp5.i959 = call %"byte[]" @_adDupT(%object.TypeInfo* bitcast (%object.TypeInfo_Array* @_D56TypeInfo_AS5tango4text5Regex16__T9CharRangeTwZ9CharRange6__initZ to %object.TypeInfo*), %"byte[]" %tmp1048) ; <%"byte[]"> [#uses=2]
+ %tmp6.i960 = extractvalue %"byte[]" %tmp5.i959, 0 ; <i32> [#uses=1]
+ %tmp8.i961 = extractvalue %"byte[]" %tmp5.i959, 1 ; <i8*> [#uses=1]
+ %tmp1013 = ptrtoint i8* %tmp8.i961 to i32 ; <i32> [#uses=2]
+ %tmp353679 = bitcast %"tango.text.Regex.CharClass!(dchar).CharClass"* %cc351 to i64* ; <i64*> [#uses=1]
+ %13 = zext i32 %tmp6.i960 to i64 ; <i64> [#uses=1]
+ %14 = shl i64 %13, 32 ; <i64> [#uses=1]
+ %15 = zext i32 %tmp1013 to i64 ; <i64> [#uses=1]
+ %16 = or i64 %15, %14 ; <i64> [#uses=1]
+ store i64 %16, i64* %tmp353679, align 8
+ call fastcc void @_D5tango4text5Regex16__T9CharClassTwZ9CharClass6negateMFZv(%"tango.text.Regex.CharClass!(dchar).CharClass"* %cc351)
+ %tmp355 = load %"tango.text.Regex.List!(TNFAFragment).List"** %frags ; <%"tango.text.Regex.List!(TNFAFragment).List"*> [#uses=2]
+ %tmp356 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %tmp355, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"**> [#uses=1]
+ %tmp357 = load %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"** %tmp356 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"*> [#uses=1]
+ %"frags.opCatAssign@vtbl358" = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"* %tmp357, i32 0, i32 5 ; <%"tango.text.Regex.List!(TNFAFragment).List"* (%"tango.text.Regex.List!(TNFAFragment).List"*, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*)**> [#uses=1]
+ %frags.opCatAssign360 = load %"tango.text.Regex.List!(TNFAFragment).List"* (%"tango.text.Regex.List!(TNFAFragment).List"*, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*)** %"frags.opCatAssign@vtbl358", align 4 ; <%"tango.text.Regex.List!(TNFAFragment).List"* (%"tango.text.Regex.List!(TNFAFragment).List"*, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*)*> [#uses=1]
+ %tmp363 = call fastcc %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* @_D5tango4text5Regex11__T4TNFATwZ4TNFA14constructCharsMFS5tango4text5Regex16__T9CharClassTwZ9CharClassE5tango4text5Regex16__T9PredicateTwZ9Predicate4TypeZC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment(%"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, %"tango.text.Regex.CharClass!(dchar).CharClass"* byval %cc351, i32 %pred_type.2) ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*> [#uses=1]
+ %tmp364 = call fastcc %"tango.text.Regex.List!(TNFAFragment).List"* %frags.opCatAssign360(%"tango.text.Regex.List!(TNFAFragment).List"* %tmp355, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %tmp363) ; <%"tango.text.Regex.List!(TNFAFragment).List"*> [#uses=0]
+ br label %whilecond
+
+case366: ; preds = %endif241
+ %tmp368 = icmp eq i32 %pred_type.2, 0 ; <i1> [#uses=1]
+ br i1 %tmp368, label %endif370, label %if369
+
+if369: ; preds = %case366
+ %.newclass_gc_alloc371 = call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex15RegExpException7__ClassZ) ; <i8*> [#uses=5]
+ %.newclass_gc372 = bitcast i8* %.newclass_gc_alloc371 to %object.Exception* ; <%object.Exception*> [#uses=1]
+ %vtbl373 = bitcast i8* %.newclass_gc_alloc371 to %object.Exception.__vtbl** ; <%object.Exception.__vtbl**> [#uses=1]
+ store %object.Exception.__vtbl* @_D5tango4text5Regex15RegExpException6__vtblZ, %object.Exception.__vtbl** %vtbl373
+ %monitor374 = getelementptr i8* %.newclass_gc_alloc371, i32 4 ; <i8*> [#uses=1]
+ %17 = bitcast i8* %monitor374 to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %17
+ %tmp375 = getelementptr i8* %.newclass_gc_alloc371, i32 8 ; <i8*> [#uses=1]
+ call void @llvm.memcpy.i32(i8* %tmp375, i8* bitcast (%"byte[]"* getelementptr (%object.Exception* bitcast (%28* @_D5tango4text5Regex15RegExpException6__initZ to %object.Exception*), i32 0, i32 2) to i8*), i32 28, i32 1)
+ %.gc_mem.i965 = call noalias i8* @_d_newarrayvT(%object.TypeInfo* @_D11TypeInfo_Aa6__initZ, i32 63) ; <i8*> [#uses=3]
+ %.gc_mem12.i = bitcast i8* %.gc_mem.i965 to i64* ; <i64*> [#uses=1]
+ %tmp.i966 = load i64* bitcast ([9 x i8]* @.str280 to i64*), align 8 ; <i64> [#uses=1]
+ store i64 %tmp.i966, i64* %.gc_mem12.i, align 1
+ %tmp4.i967 = getelementptr i8* %.gc_mem.i965, i32 8 ; <i8*> [#uses=1]
+ call void @llvm.memcpy.i32(i8* %tmp4.i967, i8* getelementptr ([56 x i8]* @.str217, i32 0, i32 0), i32 55, i32 1)
+ %tmp6.i968 = insertvalue %"byte[]" undef, i32 63, 0 ; <%"byte[]"> [#uses=1]
+ %tmp7.i969 = insertvalue %"byte[]" %tmp6.i968, i8* %.gc_mem.i965, 1 ; <%"byte[]"> [#uses=1]
+ %tmp8.i970 = call fastcc %object.Exception* @_D6object9Exception5_ctorMFAaC9ExceptionZC9Exception(%object.Exception* %.newclass_gc372, %"byte[]" %tmp7.i969, %object.Exception* null) ; <%object.Exception*> [#uses=0]
+ %tmp380 = bitcast i8* %.newclass_gc_alloc371 to %object.Object* ; <%object.Object*> [#uses=1]
+ call void @_d_throw_exception(%object.Object* %tmp380)
+ unreachable
+
+endif370: ; preds = %case366
+ %srcval1057 = load i64* bitcast (%"tango.text.Regex.CharClass!(dchar).CharClass"* @_D5tango4text5Regex16__T9CharClassTwZ9CharClass10whitespaceS5tango4text5Regex16__T9CharClassTwZ9CharClass to i64*), align 4 ; <i64> [#uses=2]
+ %tmp1051 = lshr i64 %srcval1057, 32 ; <i64> [#uses=1]
+ %tmp1052 = trunc i64 %tmp1051 to i32 ; <i32> [#uses=1]
+ %tmp1053 = insertvalue %"byte[]" undef, i32 %tmp1052, 0 ; <%"byte[]"> [#uses=1]
+ %tmp1054 = trunc i64 %srcval1057 to i32 ; <i32> [#uses=1]
+ %tmp1055 = inttoptr i32 %tmp1054 to i8* ; <i8*> [#uses=1]
+ %tmp1056 = insertvalue %"byte[]" %tmp1053, i8* %tmp1055, 1 ; <%"byte[]"> [#uses=1]
+ %tmp5.i976 = call %"byte[]" @_adDupT(%object.TypeInfo* bitcast (%object.TypeInfo_Array* @_D56TypeInfo_AS5tango4text5Regex16__T9CharRangeTwZ9CharRange6__initZ to %object.TypeInfo*), %"byte[]" %tmp1056) ; <%"byte[]"> [#uses=2]
+ %tmp6.i977 = extractvalue %"byte[]" %tmp5.i976, 0 ; <i32> [#uses=1]
+ %tmp8.i978 = extractvalue %"byte[]" %tmp5.i976, 1 ; <i8*> [#uses=1]
+ %tmp1008 = ptrtoint i8* %tmp8.i978 to i32 ; <i32> [#uses=2]
+ %tmp383682 = bitcast %"tango.text.Regex.CharClass!(dchar).CharClass"* %cc381 to i64* ; <i64*> [#uses=1]
+ %18 = zext i32 %tmp6.i977 to i64 ; <i64> [#uses=1]
+ %19 = shl i64 %18, 32 ; <i64> [#uses=1]
+ %20 = zext i32 %tmp1008 to i64 ; <i64> [#uses=1]
+ %21 = or i64 %20, %19 ; <i64> [#uses=1]
+ store i64 %21, i64* %tmp383682, align 8
+ call fastcc void @_D5tango4text5Regex16__T9CharClassTwZ9CharClass6negateMFZv(%"tango.text.Regex.CharClass!(dchar).CharClass"* %cc381)
+ %tmp385 = bitcast %nest.parse* %.frame to i8* ; <i8*> [#uses=5]
+ %tmp386 = call fastcc i1 @_D5tango4text5Regex11__T4TNFATwZ4TNFA5parseMFbZv7performMFE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorbZb(i8* %tmp385, i32 14, i1 true) ; <i1> [#uses=0]
+ %tmp387 = load %"tango.text.Regex.List!(TNFAFragment).List"** %frags ; <%"tango.text.Regex.List!(TNFAFragment).List"*> [#uses=2]
+ %tmp388 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %tmp387, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"**> [#uses=1]
+ %tmp389 = load %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"** %tmp388 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"*> [#uses=1]
+ %"frags.opCatAssign@vtbl390" = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"* %tmp389, i32 0, i32 5 ; <%"tango.text.Regex.List!(TNFAFragment).List"* (%"tango.text.Regex.List!(TNFAFragment).List"*, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*)**> [#uses=1]
+ %frags.opCatAssign392 = load %"tango.text.Regex.List!(TNFAFragment).List"* (%"tango.text.Regex.List!(TNFAFragment).List"*, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*)** %"frags.opCatAssign@vtbl390", align 4 ; <%"tango.text.Regex.List!(TNFAFragment).List"* (%"tango.text.Regex.List!(TNFAFragment).List"*, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*)*> [#uses=1]
+ %tmp394 = call fastcc %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* @_D5tango4text5Regex11__T4TNFATwZ4TNFA14constructCharsMFS5tango4text5Regex16__T9CharClassTwZ9CharClassE5tango4text5Regex16__T9PredicateTwZ9Predicate4TypeZC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment(%"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, %"tango.text.Regex.CharClass!(dchar).CharClass"* byval %cc381, i32 3) ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*> [#uses=1]
+ %tmp395 = call fastcc %"tango.text.Regex.List!(TNFAFragment).List"* %frags.opCatAssign392(%"tango.text.Regex.List!(TNFAFragment).List"* %tmp387, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %tmp394) ; <%"tango.text.Regex.List!(TNFAFragment).List"*> [#uses=0]
+ %tmp397 = call fastcc i1 @_D5tango4text5Regex11__T4TNFATwZ4TNFA5parseMFbZv7performMFE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorbZb(i8* %tmp385, i32 1, i1 false) ; <i1> [#uses=0]
+ %tmp398 = load %"tango.text.Regex.List!(TNFAFragment).List"** %frags ; <%"tango.text.Regex.List!(TNFAFragment).List"*> [#uses=2]
+ %tmp399 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %tmp398, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"**> [#uses=1]
+ %tmp400 = load %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"** %tmp399 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"*> [#uses=1]
+ %"frags.opCatAssign@vtbl401" = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"* %tmp400, i32 0, i32 5 ; <%"tango.text.Regex.List!(TNFAFragment).List"* (%"tango.text.Regex.List!(TNFAFragment).List"*, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*)**> [#uses=1]
+ %frags.opCatAssign403 = load %"tango.text.Regex.List!(TNFAFragment).List"* (%"tango.text.Regex.List!(TNFAFragment).List"*, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*)** %"frags.opCatAssign@vtbl401", align 4 ; <%"tango.text.Regex.List!(TNFAFragment).List"* (%"tango.text.Regex.List!(TNFAFragment).List"*, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*)*> [#uses=1]
+ %tmp405 = call fastcc %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* @_D5tango4text5Regex11__T4TNFATwZ4TNFA14constructCharsMFS5tango4text5Regex16__T9CharClassTwZ9CharClassE5tango4text5Regex16__T9PredicateTwZ9Predicate4TypeZC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment(%"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, %"tango.text.Regex.CharClass!(dchar).CharClass"* byval @_D5tango4text5Regex16__T9CharClassTwZ9CharClass10whitespaceS5tango4text5Regex16__T9CharClassTwZ9CharClass, i32 2) ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*> [#uses=1]
+ %tmp406 = call fastcc %"tango.text.Regex.List!(TNFAFragment).List"* %frags.opCatAssign403(%"tango.text.Regex.List!(TNFAFragment).List"* %tmp398, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %tmp405) ; <%"tango.text.Regex.List!(TNFAFragment).List"*> [#uses=0]
+ %tmp408 = call fastcc i1 @_D5tango4text5Regex11__T4TNFATwZ4TNFA5parseMFbZv7performMFE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorbZb(i8* %tmp385, i32 2, i1 false) ; <i1> [#uses=0]
+ %tmp409 = load %"tango.text.Regex.List!(TNFAFragment).List"** %frags ; <%"tango.text.Regex.List!(TNFAFragment).List"*> [#uses=2]
+ %tmp410 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %tmp409, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"**> [#uses=1]
+ %tmp411 = load %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"** %tmp410 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"*> [#uses=1]
+ %"frags.opCatAssign@vtbl412" = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"* %tmp411, i32 0, i32 5 ; <%"tango.text.Regex.List!(TNFAFragment).List"* (%"tango.text.Regex.List!(TNFAFragment).List"*, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*)**> [#uses=1]
+ %frags.opCatAssign414 = load %"tango.text.Regex.List!(TNFAFragment).List"* (%"tango.text.Regex.List!(TNFAFragment).List"*, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*)** %"frags.opCatAssign@vtbl412", align 4 ; <%"tango.text.Regex.List!(TNFAFragment).List"* (%"tango.text.Regex.List!(TNFAFragment).List"*, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*)*> [#uses=1]
+ %tmp416 = call fastcc %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* @_D5tango4text5Regex11__T4TNFATwZ4TNFA14constructCharsMFS5tango4text5Regex16__T9CharClassTwZ9CharClassE5tango4text5Regex16__T9PredicateTwZ9Predicate4TypeZC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment(%"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, %"tango.text.Regex.CharClass!(dchar).CharClass"* byval @_D5tango4text5Regex16__T9CharClassTwZ9CharClass10whitespaceS5tango4text5Regex16__T9CharClassTwZ9CharClass, i32 3) ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*> [#uses=1]
+ %tmp417 = call fastcc %"tango.text.Regex.List!(TNFAFragment).List"* %frags.opCatAssign414(%"tango.text.Regex.List!(TNFAFragment).List"* %tmp409, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %tmp416) ; <%"tango.text.Regex.List!(TNFAFragment).List"*> [#uses=0]
+ %tmp419 = call fastcc i1 @_D5tango4text5Regex11__T4TNFATwZ4TNFA5parseMFbZv7performMFE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorbZb(i8* %tmp385, i32 1, i1 false) ; <i1> [#uses=0]
+ %tmp420 = load %"tango.text.Regex.List!(TNFAFragment).List"** %frags ; <%"tango.text.Regex.List!(TNFAFragment).List"*> [#uses=2]
+ %tmp421 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %tmp420, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"**> [#uses=1]
+ %tmp422 = load %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"** %tmp421 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"*> [#uses=1]
+ %"frags.opCatAssign@vtbl423" = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"* %tmp422, i32 0, i32 5 ; <%"tango.text.Regex.List!(TNFAFragment).List"* (%"tango.text.Regex.List!(TNFAFragment).List"*, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*)**> [#uses=1]
+ %frags.opCatAssign425 = load %"tango.text.Regex.List!(TNFAFragment).List"* (%"tango.text.Regex.List!(TNFAFragment).List"*, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*)** %"frags.opCatAssign@vtbl423", align 4 ; <%"tango.text.Regex.List!(TNFAFragment).List"* (%"tango.text.Regex.List!(TNFAFragment).List"*, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*)*> [#uses=1]
+ %tmp427 = call fastcc %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* @_D5tango4text5Regex11__T4TNFATwZ4TNFA14constructCharsMFS5tango4text5Regex16__T9CharClassTwZ9CharClassE5tango4text5Regex16__T9PredicateTwZ9Predicate4TypeZC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment(%"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, %"tango.text.Regex.CharClass!(dchar).CharClass"* byval %cc381, i32 2) ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*> [#uses=1]
+ %tmp428 = call fastcc %"tango.text.Regex.List!(TNFAFragment).List"* %frags.opCatAssign425(%"tango.text.Regex.List!(TNFAFragment).List"* %tmp420, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %tmp427) ; <%"tango.text.Regex.List!(TNFAFragment).List"*> [#uses=0]
+ %tmp430 = call fastcc i1 @_D5tango4text5Regex11__T4TNFATwZ4TNFA5parseMFbZv7performMFE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorbZb(i8* %tmp385, i32 4, i1 false) ; <i1> [#uses=0]
+ br label %whilecond
+
+case432: ; preds = %endif241
+ %tmp434 = icmp eq i32 %pred_type.2, 0 ; <i1> [#uses=1]
+ br i1 %tmp434, label %endif436, label %if435
+
+if435: ; preds = %case432
+ %.newclass_gc_alloc437 = call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex15RegExpException7__ClassZ) ; <i8*> [#uses=5]
+ %.newclass_gc438 = bitcast i8* %.newclass_gc_alloc437 to %object.Exception* ; <%object.Exception*> [#uses=1]
+ %vtbl439 = bitcast i8* %.newclass_gc_alloc437 to %object.Exception.__vtbl** ; <%object.Exception.__vtbl**> [#uses=1]
+ store %object.Exception.__vtbl* @_D5tango4text5Regex15RegExpException6__vtblZ, %object.Exception.__vtbl** %vtbl439
+ %monitor440 = getelementptr i8* %.newclass_gc_alloc437, i32 4 ; <i8*> [#uses=1]
+ %22 = bitcast i8* %monitor440 to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %22
+ %tmp441 = getelementptr i8* %.newclass_gc_alloc437, i32 8 ; <i8*> [#uses=1]
+ call void @llvm.memcpy.i32(i8* %tmp441, i8* bitcast (%"byte[]"* getelementptr (%object.Exception* bitcast (%28* @_D5tango4text5Regex15RegExpException6__initZ to %object.Exception*), i32 0, i32 2) to i8*), i32 28, i32 1)
+ %.gc_mem.i984 = call noalias i8* @_d_newarrayvT(%object.TypeInfo* @_D11TypeInfo_Aa6__initZ, i32 63) ; <i8*> [#uses=3]
+ %.gc_mem12.i985 = bitcast i8* %.gc_mem.i984 to i64* ; <i64*> [#uses=1]
+ %tmp.i986 = load i64* bitcast ([9 x i8]* @.str280 to i64*), align 8 ; <i64> [#uses=1]
+ store i64 %tmp.i986, i64* %.gc_mem12.i985, align 1
+ %tmp4.i987 = getelementptr i8* %.gc_mem.i984, i32 8 ; <i8*> [#uses=1]
+ call void @llvm.memcpy.i32(i8* %tmp4.i987, i8* getelementptr ([56 x i8]* @.str218, i32 0, i32 0), i32 55, i32 1)
+ %tmp6.i988 = insertvalue %"byte[]" undef, i32 63, 0 ; <%"byte[]"> [#uses=1]
+ %tmp7.i989 = insertvalue %"byte[]" %tmp6.i988, i8* %.gc_mem.i984, 1 ; <%"byte[]"> [#uses=1]
+ %tmp8.i990 = call fastcc %object.Exception* @_D6object9Exception5_ctorMFAaC9ExceptionZC9Exception(%object.Exception* %.newclass_gc438, %"byte[]" %tmp7.i989, %object.Exception* null) ; <%object.Exception*> [#uses=0]
+ %tmp446 = bitcast i8* %.newclass_gc_alloc437 to %object.Object* ; <%object.Object*> [#uses=1]
+ call void @_d_throw_exception(%object.Object* %tmp446)
+ unreachable
+
+endif436: ; preds = %case432
+ %srcval1065 = load i64* bitcast (%"tango.text.Regex.CharClass!(dchar).CharClass"* @_D5tango4text5Regex16__T9CharClassTwZ9CharClass10whitespaceS5tango4text5Regex16__T9CharClassTwZ9CharClass to i64*), align 4 ; <i64> [#uses=2]
+ %tmp1059 = lshr i64 %srcval1065, 32 ; <i64> [#uses=1]
+ %tmp1060 = trunc i64 %tmp1059 to i32 ; <i32> [#uses=1]
+ %tmp1061 = insertvalue %"byte[]" undef, i32 %tmp1060, 0 ; <%"byte[]"> [#uses=1]
+ %tmp1062 = trunc i64 %srcval1065 to i32 ; <i32> [#uses=1]
+ %tmp1063 = inttoptr i32 %tmp1062 to i8* ; <i8*> [#uses=1]
+ %tmp1064 = insertvalue %"byte[]" %tmp1061, i8* %tmp1063, 1 ; <%"byte[]"> [#uses=1]
+ %tmp5.i996 = call %"byte[]" @_adDupT(%object.TypeInfo* bitcast (%object.TypeInfo_Array* @_D56TypeInfo_AS5tango4text5Regex16__T9CharRangeTwZ9CharRange6__initZ to %object.TypeInfo*), %"byte[]" %tmp1064) ; <%"byte[]"> [#uses=2]
+ %tmp6.i997 = extractvalue %"byte[]" %tmp5.i996, 0 ; <i32> [#uses=1]
+ %tmp8.i998 = extractvalue %"byte[]" %tmp5.i996, 1 ; <i8*> [#uses=1]
+ %tmp1003 = ptrtoint i8* %tmp8.i998 to i32 ; <i32> [#uses=2]
+ %tmp450685 = bitcast %"tango.text.Regex.CharClass!(dchar).CharClass"* %cc448 to i64* ; <i64*> [#uses=1]
+ %23 = zext i32 %tmp6.i997 to i64 ; <i64> [#uses=1]
+ %24 = shl i64 %23, 32 ; <i64> [#uses=1]
+ %25 = zext i32 %tmp1003 to i64 ; <i64> [#uses=1]
+ %26 = or i64 %25, %24 ; <i64> [#uses=1]
+ store i64 %26, i64* %tmp450685, align 8
+ call fastcc void @_D5tango4text5Regex16__T9CharClassTwZ9CharClass6negateMFZv(%"tango.text.Regex.CharClass!(dchar).CharClass"* %cc448)
+ %tmp452 = bitcast %nest.parse* %.frame to i8* ; <i8*> [#uses=5]
+ %tmp453 = call fastcc i1 @_D5tango4text5Regex11__T4TNFATwZ4TNFA5parseMFbZv7performMFE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorbZb(i8* %tmp452, i32 14, i1 true) ; <i1> [#uses=0]
+ %tmp454 = load %"tango.text.Regex.List!(TNFAFragment).List"** %frags ; <%"tango.text.Regex.List!(TNFAFragment).List"*> [#uses=2]
+ %tmp455 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %tmp454, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"**> [#uses=1]
+ %tmp456 = load %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"** %tmp455 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"*> [#uses=1]
+ %"frags.opCatAssign@vtbl457" = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"* %tmp456, i32 0, i32 5 ; <%"tango.text.Regex.List!(TNFAFragment).List"* (%"tango.text.Regex.List!(TNFAFragment).List"*, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*)**> [#uses=1]
+ %frags.opCatAssign459 = load %"tango.text.Regex.List!(TNFAFragment).List"* (%"tango.text.Regex.List!(TNFAFragment).List"*, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*)** %"frags.opCatAssign@vtbl457", align 4 ; <%"tango.text.Regex.List!(TNFAFragment).List"* (%"tango.text.Regex.List!(TNFAFragment).List"*, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*)*> [#uses=1]
+ %tmp461 = call fastcc %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* @_D5tango4text5Regex11__T4TNFATwZ4TNFA14constructCharsMFS5tango4text5Regex16__T9CharClassTwZ9CharClassE5tango4text5Regex16__T9PredicateTwZ9Predicate4TypeZC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment(%"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, %"tango.text.Regex.CharClass!(dchar).CharClass"* byval %cc448, i32 3) ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*> [#uses=1]
+ %tmp462 = call fastcc %"tango.text.Regex.List!(TNFAFragment).List"* %frags.opCatAssign459(%"tango.text.Regex.List!(TNFAFragment).List"* %tmp454, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %tmp461) ; <%"tango.text.Regex.List!(TNFAFragment).List"*> [#uses=0]
+ %tmp464 = call fastcc i1 @_D5tango4text5Regex11__T4TNFATwZ4TNFA5parseMFbZv7performMFE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorbZb(i8* %tmp452, i32 1, i1 false) ; <i1> [#uses=0]
+ %tmp465 = load %"tango.text.Regex.List!(TNFAFragment).List"** %frags ; <%"tango.text.Regex.List!(TNFAFragment).List"*> [#uses=2]
+ %tmp466 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %tmp465, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"**> [#uses=1]
+ %tmp467 = load %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"** %tmp466 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"*> [#uses=1]
+ %"frags.opCatAssign@vtbl468" = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"* %tmp467, i32 0, i32 5 ; <%"tango.text.Regex.List!(TNFAFragment).List"* (%"tango.text.Regex.List!(TNFAFragment).List"*, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*)**> [#uses=1]
+ %frags.opCatAssign470 = load %"tango.text.Regex.List!(TNFAFragment).List"* (%"tango.text.Regex.List!(TNFAFragment).List"*, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*)** %"frags.opCatAssign@vtbl468", align 4 ; <%"tango.text.Regex.List!(TNFAFragment).List"* (%"tango.text.Regex.List!(TNFAFragment).List"*, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*)*> [#uses=1]
+ %tmp472 = call fastcc %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* @_D5tango4text5Regex11__T4TNFATwZ4TNFA14constructCharsMFS5tango4text5Regex16__T9CharClassTwZ9CharClassE5tango4text5Regex16__T9PredicateTwZ9Predicate4TypeZC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment(%"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, %"tango.text.Regex.CharClass!(dchar).CharClass"* byval %cc448, i32 2) ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*> [#uses=1]
+ %tmp473 = call fastcc %"tango.text.Regex.List!(TNFAFragment).List"* %frags.opCatAssign470(%"tango.text.Regex.List!(TNFAFragment).List"* %tmp465, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %tmp472) ; <%"tango.text.Regex.List!(TNFAFragment).List"*> [#uses=0]
+ %tmp475 = call fastcc i1 @_D5tango4text5Regex11__T4TNFATwZ4TNFA5parseMFbZv7performMFE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorbZb(i8* %tmp452, i32 2, i1 false) ; <i1> [#uses=0]
+ %tmp476 = load %"tango.text.Regex.List!(TNFAFragment).List"** %frags ; <%"tango.text.Regex.List!(TNFAFragment).List"*> [#uses=2]
+ %tmp477 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %tmp476, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"**> [#uses=1]
+ %tmp478 = load %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"** %tmp477 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"*> [#uses=1]
+ %"frags.opCatAssign@vtbl479" = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"* %tmp478, i32 0, i32 5 ; <%"tango.text.Regex.List!(TNFAFragment).List"* (%"tango.text.Regex.List!(TNFAFragment).List"*, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*)**> [#uses=1]
+ %frags.opCatAssign481 = load %"tango.text.Regex.List!(TNFAFragment).List"* (%"tango.text.Regex.List!(TNFAFragment).List"*, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*)** %"frags.opCatAssign@vtbl479", align 4 ; <%"tango.text.Regex.List!(TNFAFragment).List"* (%"tango.text.Regex.List!(TNFAFragment).List"*, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*)*> [#uses=1]
+ %tmp483 = call fastcc %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* @_D5tango4text5Regex11__T4TNFATwZ4TNFA14constructCharsMFS5tango4text5Regex16__T9CharClassTwZ9CharClassE5tango4text5Regex16__T9PredicateTwZ9Predicate4TypeZC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment(%"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, %"tango.text.Regex.CharClass!(dchar).CharClass"* byval @_D5tango4text5Regex16__T9CharClassTwZ9CharClass10whitespaceS5tango4text5Regex16__T9CharClassTwZ9CharClass, i32 3) ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*> [#uses=1]
+ %tmp484 = call fastcc %"tango.text.Regex.List!(TNFAFragment).List"* %frags.opCatAssign481(%"tango.text.Regex.List!(TNFAFragment).List"* %tmp476, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %tmp483) ; <%"tango.text.Regex.List!(TNFAFragment).List"*> [#uses=0]
+ %tmp486 = call fastcc i1 @_D5tango4text5Regex11__T4TNFATwZ4TNFA5parseMFbZv7performMFE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorbZb(i8* %tmp452, i32 1, i1 false) ; <i1> [#uses=0]
+ %tmp487 = load %"tango.text.Regex.List!(TNFAFragment).List"** %frags ; <%"tango.text.Regex.List!(TNFAFragment).List"*> [#uses=2]
+ %tmp488 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %tmp487, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"**> [#uses=1]
+ %tmp489 = load %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"** %tmp488 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"*> [#uses=1]
+ %"frags.opCatAssign@vtbl490" = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"* %tmp489, i32 0, i32 5 ; <%"tango.text.Regex.List!(TNFAFragment).List"* (%"tango.text.Regex.List!(TNFAFragment).List"*, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*)**> [#uses=1]
+ %frags.opCatAssign492 = load %"tango.text.Regex.List!(TNFAFragment).List"* (%"tango.text.Regex.List!(TNFAFragment).List"*, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*)** %"frags.opCatAssign@vtbl490", align 4 ; <%"tango.text.Regex.List!(TNFAFragment).List"* (%"tango.text.Regex.List!(TNFAFragment).List"*, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*)*> [#uses=1]
+ %tmp494 = call fastcc %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* @_D5tango4text5Regex11__T4TNFATwZ4TNFA14constructCharsMFS5tango4text5Regex16__T9CharClassTwZ9CharClassE5tango4text5Regex16__T9PredicateTwZ9Predicate4TypeZC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment(%"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, %"tango.text.Regex.CharClass!(dchar).CharClass"* byval @_D5tango4text5Regex16__T9CharClassTwZ9CharClass10whitespaceS5tango4text5Regex16__T9CharClassTwZ9CharClass, i32 2) ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*> [#uses=1]
+ %tmp495 = call fastcc %"tango.text.Regex.List!(TNFAFragment).List"* %frags.opCatAssign492(%"tango.text.Regex.List!(TNFAFragment).List"* %tmp487, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %tmp494) ; <%"tango.text.Regex.List!(TNFAFragment).List"*> [#uses=0]
+ %tmp497 = call fastcc i1 @_D5tango4text5Regex11__T4TNFATwZ4TNFA5parseMFbZv7performMFE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorbZb(i8* %tmp452, i32 4, i1 false) ; <i1> [#uses=0]
+ br label %whilecond
+
+default515: ; preds = %endif241
+ %tmp516 = load %"tango.text.Regex.List!(TNFAFragment).List"** %frags ; <%"tango.text.Regex.List!(TNFAFragment).List"*> [#uses=2]
+ %tmp517 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %tmp516, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"**> [#uses=1]
+ %tmp518 = load %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"** %tmp517 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"*> [#uses=1]
+ %"frags.opCatAssign@vtbl519" = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"* %tmp518, i32 0, i32 5 ; <%"tango.text.Regex.List!(TNFAFragment).List"* (%"tango.text.Regex.List!(TNFAFragment).List"*, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*)**> [#uses=1]
+ %frags.opCatAssign521 = load %"tango.text.Regex.List!(TNFAFragment).List"* (%"tango.text.Regex.List!(TNFAFragment).List"*, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*)** %"frags.opCatAssign@vtbl519", align 4 ; <%"tango.text.Regex.List!(TNFAFragment).List"* (%"tango.text.Regex.List!(TNFAFragment).List"*, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*)*> [#uses=1]
+ %tmp525 = call fastcc %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* @_D5tango4text5Regex11__T4TNFATwZ4TNFA19constructSingleCharMFwE5tango4text5Regex16__T9PredicateTwZ9Predicate4TypeZC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment(%"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 %tmp238935, i32 %pred_type.2) ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*> [#uses=1]
+ %tmp526 = call fastcc %"tango.text.Regex.List!(TNFAFragment).List"* %frags.opCatAssign521(%"tango.text.Regex.List!(TNFAFragment).List"* %tmp516, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %tmp525) ; <%"tango.text.Regex.List!(TNFAFragment).List"*> [#uses=0]
+ br label %whilecond
+
+default529: ; preds = %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit921, %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit908, %whilebody
+ %c.0 = phi i32 [ %tmp17.i701, %whilebody ], [ %tmp196909, %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit908 ], [ %tmp216922, %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit921 ] ; <i32> [#uses=1]
+ %pred_type.3 = phi i32 [ 0, %whilebody ], [ 2, %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit908 ], [ 3, %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit921 ] ; <i32> [#uses=1]
+ br i1 %implicit_concat.0, label %if531, label %endif532
+
+if531: ; preds = %default529
+ %tmp533 = bitcast %nest.parse* %.frame to i8* ; <i8*> [#uses=1]
+ %tmp534 = call fastcc i1 @_D5tango4text5Regex11__T4TNFATwZ4TNFA5parseMFbZv7performMFE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorbZb(i8* %tmp533, i32 1, i1 false) ; <i1> [#uses=0]
+ br label %endif532
+
+endif532: ; preds = %if531, %default529
+ %tmp535 = load %"tango.text.Regex.List!(TNFAFragment).List"** %frags ; <%"tango.text.Regex.List!(TNFAFragment).List"*> [#uses=2]
+ %tmp536 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %tmp535, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"**> [#uses=1]
+ %tmp537 = load %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"** %tmp536 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"*> [#uses=1]
+ %"frags.opCatAssign@vtbl538" = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"* %tmp537, i32 0, i32 5 ; <%"tango.text.Regex.List!(TNFAFragment).List"* (%"tango.text.Regex.List!(TNFAFragment).List"*, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*)**> [#uses=1]
+ %frags.opCatAssign540 = load %"tango.text.Regex.List!(TNFAFragment).List"* (%"tango.text.Regex.List!(TNFAFragment).List"*, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*)** %"frags.opCatAssign@vtbl538", align 4 ; <%"tango.text.Regex.List!(TNFAFragment).List"* (%"tango.text.Regex.List!(TNFAFragment).List"*, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*)*> [#uses=1]
+ %tmp544 = call fastcc %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* @_D5tango4text5Regex11__T4TNFATwZ4TNFA19constructSingleCharMFwE5tango4text5Regex16__T9PredicateTwZ9Predicate4TypeZC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment(%"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 %c.0, i32 %pred_type.3) ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*> [#uses=1]
+ %tmp545 = call fastcc %"tango.text.Regex.List!(TNFAFragment).List"* %frags.opCatAssign540(%"tango.text.Regex.List!(TNFAFragment).List"* %tmp535, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %tmp544) ; <%"tango.text.Regex.List!(TNFAFragment).List"*> [#uses=0]
+ br label %whilecond
+
+endwhile: ; preds = %whilecond
+ br i1 %unanchored_arg, label %if547, label %whilecond567
+
+if547: ; preds = %endwhile
+ %tmp549 = bitcast %nest.parse* %.frame to i8* ; <i8*> [#uses=3]
+ %tmp550 = call fastcc i1 @_D5tango4text5Regex11__T4TNFATwZ4TNFA5parseMFbZv7performMFE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorbZb(i8* %tmp549, i32 4, i1 false) ; <i1> [#uses=0]
+ br i1 %implicit_concat.0, label %if552, label %endif553
+
+if552: ; preds = %if547
+ %tmp555 = call fastcc i1 @_D5tango4text5Regex11__T4TNFATwZ4TNFA5parseMFbZv7performMFE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorbZb(i8* %tmp549, i32 1, i1 false) ; <i1> [#uses=0]
+ br label %endif553
+
+endif553: ; preds = %if552, %if547
+ %tmp556 = load %"tango.text.Regex.List!(TNFAFragment).List"** %frags ; <%"tango.text.Regex.List!(TNFAFragment).List"*> [#uses=2]
+ %tmp557 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %tmp556, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"**> [#uses=1]
+ %tmp558 = load %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"** %tmp557 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"*> [#uses=1]
+ %"frags.opCatAssign@vtbl559" = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"* %tmp558, i32 0, i32 5 ; <%"tango.text.Regex.List!(TNFAFragment).List"* (%"tango.text.Regex.List!(TNFAFragment).List"*, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*)**> [#uses=1]
+ %frags.opCatAssign561 = load %"tango.text.Regex.List!(TNFAFragment).List"* (%"tango.text.Regex.List!(TNFAFragment).List"*, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*)** %"frags.opCatAssign@vtbl559", align 4 ; <%"tango.text.Regex.List!(TNFAFragment).List"* (%"tango.text.Regex.List!(TNFAFragment).List"*, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*)*> [#uses=1]
+ %tmp563 = call fastcc %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* @_D5tango4text5Regex11__T4TNFATwZ4TNFA14constructCharsMFS5tango4text5Regex16__T9CharClassTwZ9CharClassE5tango4text5Regex16__T9PredicateTwZ9Predicate4TypeZC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment(%"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, %"tango.text.Regex.CharClass!(dchar).CharClass"* byval @_D5tango4text5Regex16__T9CharClassTwZ9CharClass8any_charS5tango4text5Regex16__T9CharClassTwZ9CharClass, i32 0) ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*> [#uses=1]
+ %tmp564 = call fastcc %"tango.text.Regex.List!(TNFAFragment).List"* %frags.opCatAssign561(%"tango.text.Regex.List!(TNFAFragment).List"* %tmp556, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %tmp563) ; <%"tango.text.Regex.List!(TNFAFragment).List"*> [#uses=0]
+ %tmp566 = call fastcc i1 @_D5tango4text5Regex11__T4TNFATwZ4TNFA5parseMFbZv7performMFE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorbZb(i8* %tmp549, i32 9, i1 false) ; <i1> [#uses=0]
+ br label %whilecond567
+
+whilecond567: ; preds = %whilecond567, %endif553, %endwhile
+ %tmp570 = bitcast %nest.parse* %.frame to i8* ; <i8*> [#uses=4]
+ %tmp571 = call fastcc i1 @_D5tango4text5Regex11__T4TNFATwZ4TNFA5parseMFbZv7performMFE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorbZb(i8* %tmp570, i32 0, i1 true) ; <i1> [#uses=1]
+ br i1 %tmp571, label %endwhile569, label %whilecond567
+
+endwhile569: ; preds = %whilecond567
+ %tmp573 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 4 ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"**> [#uses=2]
+ %.newclass_gc_alloc.i752 = call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex16__T9TNFAStateTwZ9TNFAState7__ClassZ) ; <i8*> [#uses=6]
+ %.newclass_gc.i753 = bitcast i8* %.newclass_gc_alloc.i752 to %"tango.text.Regex.TNFAState!(dchar).TNFAState"* ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"*> [#uses=2]
+ %vtbl.i754 = bitcast i8* %.newclass_gc_alloc.i752 to %object.ModuleInfo.__vtbl** ; <%object.ModuleInfo.__vtbl**> [#uses=1]
+ store %object.ModuleInfo.__vtbl* @_D5tango4text5Regex16__T9TNFAStateTwZ9TNFAState6__vtblZ, %object.ModuleInfo.__vtbl** %vtbl.i754
+ %monitor.i755 = getelementptr i8* %.newclass_gc_alloc.i752, i32 4 ; <i8*> [#uses=1]
+ %27 = bitcast i8* %monitor.i755 to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %27
+ %tmp.i756 = getelementptr i8* %.newclass_gc_alloc.i752, i32 8 ; <i8*> [#uses=1]
+ call void @llvm.memcpy.i32(i8* %tmp.i756, i8* bitcast (i1* getelementptr (%"tango.text.Regex.TNFAState!(dchar).TNFAState"* @_D5tango4text5Regex16__T9TNFAStateTwZ9TNFAState6__initZ, i32 0, i32 2) to i8*), i32 12, i32 1)
+ %tmp1.i.i757 = getelementptr i8* %.newclass_gc_alloc.i752, i32 16 ; <i8*> [#uses=1]
+ %28 = bitcast i8* %tmp1.i.i757 to %"tango.text.Regex.List!(TNFATransition).List"** ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
+ %.newclass_gc_alloc.i.i758 = call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7__ClassZ) ; <i8*> [#uses=4]
+ %.newclass_gc.i.i759 = bitcast i8* %.newclass_gc_alloc.i.i758 to %"tango.text.Regex.List!(TNFATransition).List"* ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
+ %vtbl.i.i760 = bitcast i8* %.newclass_gc_alloc.i.i758 to %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ store %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__vtblZ, %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %vtbl.i.i760
+ %monitor.i.i761 = getelementptr i8* %.newclass_gc_alloc.i.i758, i32 4 ; <i8*> [#uses=1]
+ %29 = bitcast i8* %monitor.i.i761 to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %29
+ %tmp2.i.i762 = getelementptr i8* %.newclass_gc_alloc.i.i758, i32 8 ; <i8*> [#uses=1]
+ call void @llvm.memcpy.i32(i8* %tmp2.i.i762, i8* bitcast (i32* getelementptr (%"tango.text.Regex.List!(TNFATransition).List"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__initZ, i32 0, i32 2) to i8*), i32 12, i32 1)
+ store %"tango.text.Regex.List!(TNFATransition).List"* %.newclass_gc.i.i759, %"tango.text.Regex.List!(TNFATransition).List"** %28
+ %tmp6.i763 = getelementptr i8* %.newclass_gc_alloc.i752, i32 12 ; <i8*> [#uses=1]
+ %30 = bitcast i8* %tmp6.i763 to i32* ; <i32*> [#uses=1]
+ %tmp9.i764 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 3, i32 0 ; <i32*> [#uses=4]
+ %.len.i765 = load i32* %tmp9.i764 ; <i32> [#uses=4]
+ store i32 %.len.i765, i32* %30
+ %tmp14.i766 = add i32 %.len.i765, 1 ; <i32> [#uses=2]
+ %tmp17.i767 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 3, i32 1 ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"***> [#uses=4]
+ %.ptr.i768 = load %"tango.text.Regex.TNFAState!(dchar).TNFAState"*** %tmp17.i767 ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"**> [#uses=1]
+ %tmp18.i769 = bitcast %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %.ptr.i768 to i8* ; <i8*> [#uses=1]
+ %.gc_mem.i770 = call i8* @_d_arraysetlengthT(%object.TypeInfo* bitcast (%object.TypeInfo_Array* @_D56TypeInfo_AC5tango4text5Regex16__T9TNFAStateTwZ9TNFAState6__initZ to %object.TypeInfo*), i32 %tmp14.i766, i32 %.len.i765, i8* %tmp18.i769) ; <i8*> [#uses=1]
+ %.gc_mem19.i771 = bitcast i8* %.gc_mem.i770 to %"tango.text.Regex.TNFAState!(dchar).TNFAState"** ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"**> [#uses=2]
+ %tmp20.i772 = getelementptr %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %.gc_mem19.i771, i32 %.len.i765 ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"**> [#uses=1]
+ store %"tango.text.Regex.TNFAState!(dchar).TNFAState"* %.newclass_gc.i753, %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %tmp20.i772
+ store i32 %tmp14.i766, i32* %tmp9.i764
+ store %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %.gc_mem19.i771, %"tango.text.Regex.TNFAState!(dchar).TNFAState"*** %tmp17.i767
+ store %"tango.text.Regex.TNFAState!(dchar).TNFAState"* %.newclass_gc.i753, %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %tmp573
+ %.newclass_gc_alloc.i = call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex16__T9TNFAStateTwZ9TNFAState7__ClassZ) ; <i8*> [#uses=6]
+ %.newclass_gc.i = bitcast i8* %.newclass_gc_alloc.i to %"tango.text.Regex.TNFAState!(dchar).TNFAState"* ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"*> [#uses=2]
+ %vtbl.i = bitcast i8* %.newclass_gc_alloc.i to %object.ModuleInfo.__vtbl** ; <%object.ModuleInfo.__vtbl**> [#uses=1]
+ store %object.ModuleInfo.__vtbl* @_D5tango4text5Regex16__T9TNFAStateTwZ9TNFAState6__vtblZ, %object.ModuleInfo.__vtbl** %vtbl.i
+ %monitor.i = getelementptr i8* %.newclass_gc_alloc.i, i32 4 ; <i8*> [#uses=1]
+ %31 = bitcast i8* %monitor.i to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %31
+ %tmp.i742 = getelementptr i8* %.newclass_gc_alloc.i, i32 8 ; <i8*> [#uses=2]
+ call void @llvm.memcpy.i32(i8* %tmp.i742, i8* bitcast (i1* getelementptr (%"tango.text.Regex.TNFAState!(dchar).TNFAState"* @_D5tango4text5Regex16__T9TNFAStateTwZ9TNFAState6__initZ, i32 0, i32 2) to i8*), i32 12, i32 1)
+ %tmp1.i.i = getelementptr i8* %.newclass_gc_alloc.i, i32 16 ; <i8*> [#uses=1]
+ %32 = bitcast i8* %tmp1.i.i to %"tango.text.Regex.List!(TNFATransition).List"** ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
+ %.newclass_gc_alloc.i.i = call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7__ClassZ) ; <i8*> [#uses=4]
+ %.newclass_gc.i.i = bitcast i8* %.newclass_gc_alloc.i.i to %"tango.text.Regex.List!(TNFATransition).List"* ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
+ %vtbl.i.i = bitcast i8* %.newclass_gc_alloc.i.i to %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ store %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__vtblZ, %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %vtbl.i.i
+ %monitor.i.i = getelementptr i8* %.newclass_gc_alloc.i.i, i32 4 ; <i8*> [#uses=1]
+ %33 = bitcast i8* %monitor.i.i to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %33
+ %tmp2.i.i = getelementptr i8* %.newclass_gc_alloc.i.i, i32 8 ; <i8*> [#uses=1]
+ call void @llvm.memcpy.i32(i8* %tmp2.i.i, i8* bitcast (i32* getelementptr (%"tango.text.Regex.List!(TNFATransition).List"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__initZ, i32 0, i32 2) to i8*), i32 12, i32 1)
+ store %"tango.text.Regex.List!(TNFATransition).List"* %.newclass_gc.i.i, %"tango.text.Regex.List!(TNFATransition).List"** %32
+ %tmp6.i743 = getelementptr i8* %.newclass_gc_alloc.i, i32 12 ; <i8*> [#uses=1]
+ %34 = bitcast i8* %tmp6.i743 to i32* ; <i32*> [#uses=1]
+ %.len.i745 = load i32* %tmp9.i764 ; <i32> [#uses=4]
+ store i32 %.len.i745, i32* %34
+ %tmp14.i746 = add i32 %.len.i745, 1 ; <i32> [#uses=2]
+ %.ptr.i748 = load %"tango.text.Regex.TNFAState!(dchar).TNFAState"*** %tmp17.i767 ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"**> [#uses=1]
+ %tmp18.i749 = bitcast %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %.ptr.i748 to i8* ; <i8*> [#uses=1]
+ %.gc_mem.i750 = call i8* @_d_arraysetlengthT(%object.TypeInfo* bitcast (%object.TypeInfo_Array* @_D56TypeInfo_AC5tango4text5Regex16__T9TNFAStateTwZ9TNFAState6__initZ to %object.TypeInfo*), i32 %tmp14.i746, i32 %.len.i745, i8* %tmp18.i749) ; <i8*> [#uses=1]
+ %.gc_mem19.i751 = bitcast i8* %.gc_mem.i750 to %"tango.text.Regex.TNFAState!(dchar).TNFAState"** ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"**> [#uses=2]
+ %tmp20.i = getelementptr %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %.gc_mem19.i751, i32 %.len.i745 ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"**> [#uses=1]
+ store %"tango.text.Regex.TNFAState!(dchar).TNFAState"* %.newclass_gc.i, %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %tmp20.i
+ store i32 %tmp14.i746, i32* %tmp9.i764
+ store %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %.gc_mem19.i751, %"tango.text.Regex.TNFAState!(dchar).TNFAState"*** %tmp17.i767
+ store %"tango.text.Regex.TNFAState!(dchar).TNFAState"* %.newclass_gc.i, %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %finish
+ %35 = bitcast i8* %tmp.i742 to i1* ; <i1*> [#uses=1]
+ store i1 true, i1* %35
+ %tmp580 = load %"tango.text.Regex.List!(TNFAFragment).List"** %frags ; <%"tango.text.Regex.List!(TNFAFragment).List"*> [#uses=2]
+ %tmp581 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %tmp580, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"**> [#uses=1]
+ %tmp582 = load %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"** %tmp581 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"*> [#uses=1]
+ %"frags.opApply@vtbl" = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"* %tmp582, i32 0, i32 20 ; <i32 (%"tango.text.Regex.List!(TNFAFragment).List"*, %"int delegate(ref TNFAFragment)")**> [#uses=1]
+ %frags.opApply = load i32 (%"tango.text.Regex.List!(TNFAFragment).List"*, %"int delegate(ref TNFAFragment)")** %"frags.opApply@vtbl", align 4 ; <i32 (%"tango.text.Regex.List!(TNFAFragment).List"*, %"int delegate(ref TNFAFragment)")*> [#uses=1]
+ %tmp585 = insertvalue %"int delegate(ref TNFAFragment)" undef, i8* %tmp570, 0 ; <%"int delegate(ref TNFAFragment)"> [#uses=1]
+ %.func = insertvalue %"int delegate(ref TNFAFragment)" %tmp585, i32 (i8*, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"**)* @_D5tango4text5Regex11__T4TNFATwZ4TNFA5parseMFbZv15__foreachbody44MFKC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZi, 1 ; <%"int delegate(ref TNFAFragment)"> [#uses=1]
+ %tmp586 = call fastcc i32 %frags.opApply(%"tango.text.Regex.List!(TNFAFragment).List"* %tmp580, %"int delegate(ref TNFAFragment)" %.func) ; <i32> [#uses=0]
+ %tmp588 = bitcast [4 x %"tango.text.Regex.List!(TNFATransition).List"*]* %trans to i8* ; <i8*> [#uses=1]
+ call void @llvm.memset.i32(i8* %tmp588, i8 0, i32 16, i32 4)
+ br label %foreachcond
+
+foreachcond: ; preds = %foreachbody, %endwhile569
+ %foreachkey.0 = phi i32 [ 0, %endwhile569 ], [ %tmp603, %foreachbody ] ; <i32> [#uses=3]
+ %tmp591 = icmp ult i32 %foreachkey.0, 4 ; <i1> [#uses=1]
+ br i1 %tmp591, label %foreachbody, label %foreachend
+
+foreachbody: ; preds = %foreachcond
+ %tmp593 = getelementptr [4 x %"tango.text.Regex.List!(TNFATransition).List"*]* %trans, i32 0, i32 %foreachkey.0 ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
+ %.newclass_gc_alloc594 = call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7__ClassZ) ; <i8*> [#uses=4]
+ %.newclass_gc595 = bitcast i8* %.newclass_gc_alloc594 to %"tango.text.Regex.List!(TNFATransition).List"* ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
+ %vtbl596 = bitcast i8* %.newclass_gc_alloc594 to %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ store %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__vtblZ, %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %vtbl596
+ %monitor597 = getelementptr i8* %.newclass_gc_alloc594, i32 4 ; <i8*> [#uses=1]
+ %36 = bitcast i8* %monitor597 to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %36
+ %tmp598 = getelementptr i8* %.newclass_gc_alloc594, i32 8 ; <i8*> [#uses=1]
+ call void @llvm.memcpy.i32(i8* %tmp598, i8* bitcast (i32* getelementptr (%"tango.text.Regex.List!(TNFATransition).List"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__initZ, i32 0, i32 2) to i8*), i32 12, i32 1)
+ store %"tango.text.Regex.List!(TNFATransition).List"* %.newclass_gc595, %"tango.text.Regex.List!(TNFATransition).List"** %tmp593
+ %tmp603 = add i32 %foreachkey.0, 1 ; <i32> [#uses=1]
+ br label %foreachcond
+
+foreachend: ; preds = %foreachcond
+ %tmp604 = bitcast %"tango.text.Regex.Stack!(TNFATransition).Stack"* %todo to i8* ; <i8*> [#uses=1]
+ call void @llvm.memset.i32(i8* %tmp604, i8 0, i32 12, i32 8)
+ br label %whilecond608
+
+whilecond608: ; preds = %endif634, %foreachend
+ %state.0.in = phi %"tango.text.Regex.TNFAState!(dchar).TNFAState"** [ %tmp573, %foreachend ], [ %tmp649, %endif634 ] ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"**> [#uses=1]
+ %state.0 = load %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %state.0.in ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"*> [#uses=2]
+ %tmp1.i727 = getelementptr %nest.parse* %.frame, i32 0, i32 6, i32 0 ; <i32*> [#uses=3]
+ %tmp2.i728 = load i32* %tmp1.i727, align 8 ; <i32> [#uses=2]
+ %tmp3.i729 = icmp eq i32 %tmp2.i728, 0 ; <i1> [#uses=1]
+ %tmp613 = getelementptr %"tango.text.Regex.TNFAState!(dchar).TNFAState"* %state.0, i32 0, i32 3 ; <i1*> [#uses=3]
+ br i1 %tmp3.i729, label %oror, label %whilebody609
+
+whilebody609: ; preds = %oror, %whilecond608
+ %tmp617 = load i1* %tmp613 ; <i1> [#uses=1]
+ br i1 %tmp617, label %endif619, label %if618
+
+oror: ; preds = %whilecond608
+ %tmp614 = load i1* %tmp613 ; <i1> [#uses=1]
+ br i1 %tmp614, label %endwhile610, label %whilebody609
+
+if618: ; preds = %whilebody609
+ store i1 true, i1* %tmp613
+ %tmp623 = getelementptr %"tango.text.Regex.TNFAState!(dchar).TNFAState"* %state.0, i32 0, i32 5 ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
+ %tmp624 = load %"tango.text.Regex.List!(TNFATransition).List"** %tmp623 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
+ %tmp625 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp624, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ %tmp626 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp625 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
+ %"state.transitions.opApplyReverse@vtbl" = getelementptr %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* %tmp626, i32 0, i32 21 ; <i32 (%"tango.text.Regex.List!(TNFATransition).List"*, %"int delegate(ref TNFATransition)")**> [#uses=1]
+ %state.transitions.opApplyReverse = load i32 (%"tango.text.Regex.List!(TNFATransition).List"*, %"int delegate(ref TNFATransition)")** %"state.transitions.opApplyReverse@vtbl", align 4 ; <i32 (%"tango.text.Regex.List!(TNFATransition).List"*, %"int delegate(ref TNFATransition)")*> [#uses=1]
+ %tmp629 = insertvalue %"int delegate(ref TNFATransition)" undef, i8* %tmp570, 0 ; <%"int delegate(ref TNFATransition)"> [#uses=1]
+ %.func630 = insertvalue %"int delegate(ref TNFATransition)" %tmp629, i32 (i8*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"**)* @_D5tango4text5Regex11__T4TNFATwZ4TNFA5parseMFbZv15__foreachbody45MFKC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZi, 1 ; <%"int delegate(ref TNFATransition)"> [#uses=1]
+ %tmp631 = call fastcc i32 %state.transitions.opApplyReverse(%"tango.text.Regex.List!(TNFATransition).List"* %tmp624, %"int delegate(ref TNFATransition)" %.func630) ; <i32> [#uses=0]
+ %tmp2.i.pre = load i32* %tmp1.i727, align 8 ; <i32> [#uses=1]
+ br label %endif619
+
+endif619: ; preds = %if618, %whilebody609
+ %tmp6.i705 = phi i32 [ %tmp2.i728, %whilebody609 ], [ %tmp2.i.pre, %if618 ] ; <i32> [#uses=2]
+ %tmp3.i716 = icmp eq i32 %tmp6.i705, 0 ; <i1> [#uses=1]
+ br i1 %tmp3.i716, label %endwhile610, label %endif634
+
+endif634: ; preds = %endif619
+ %tmp5.i710 = add i32 %tmp6.i705, -1 ; <i32> [#uses=2]
+ %tmp6.i711 = getelementptr %nest.parse* %.frame, i32 0, i32 6, i32 1, i32 1 ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"***> [#uses=1]
+ %.ptr.i712 = load %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*** %tmp6.i711 ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"**> [#uses=1]
+ %tmp7.i713 = getelementptr %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** %.ptr.i712, i32 %tmp5.i710 ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"**> [#uses=1]
+ %tmp8.i714 = load %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** %tmp7.i713 ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*> [#uses=3]
+ store i32 %tmp5.i710, i32* %tmp1.i727, align 8
+ %tmp639 = getelementptr %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %tmp8.i714, i32 0, i32 6 ; <i32*> [#uses=1]
+ %tmp640 = load i32* %tmp639 ; <i32> [#uses=1]
+ %tmp641 = getelementptr [4 x %"tango.text.Regex.List!(TNFATransition).List"*]* %trans, i32 0, i32 %tmp640 ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
+ %tmp642 = load %"tango.text.Regex.List!(TNFATransition).List"** %tmp641 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
+ %tmp643 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp642, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ %tmp644 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp643 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
+ %"(trans[cast(uint)t.priorityClass]).opCatAssign@vtbl" = getelementptr %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* %tmp644, i32 0, i32 5 ; <%"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)**> [#uses=1]
+ %"(trans[cast(uint)t.priorityClass]).opCatAssign" = load %"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)** %"(trans[cast(uint)t.priorityClass]).opCatAssign@vtbl", align 4 ; <%"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)*> [#uses=1]
+ %tmp647 = call fastcc %"tango.text.Regex.List!(TNFATransition).List"* %"(trans[cast(uint)t.priorityClass]).opCatAssign"(%"tango.text.Regex.List!(TNFATransition).List"* %tmp642, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %tmp8.i714) ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=0]
+ %tmp649 = getelementptr %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %tmp8.i714, i32 0, i32 2 ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"**> [#uses=1]
+ br label %whilecond608
+
+endwhile610: ; preds = %endif619, %oror
+ store i32 0, i32* %nextPrio
+ br label %foreachcond653
+
+foreachcond653: ; preds = %foreachbody654, %endwhile610
+ %foreachkey651.0 = phi i32 [ 0, %endwhile610 ], [ %tmp671, %foreachbody654 ] ; <i32> [#uses=3]
+ %tmp658 = icmp ult i32 %foreachkey651.0, 4 ; <i1> [#uses=1]
+ br i1 %tmp658, label %foreachbody654, label %foreachend656
+
+foreachbody654: ; preds = %foreachcond653
+ %tmp660 = getelementptr [4 x %"tango.text.Regex.List!(TNFATransition).List"*]* %trans, i32 0, i32 %foreachkey651.0 ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
+ %tmp661 = load %"tango.text.Regex.List!(TNFATransition).List"** %tmp660 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
+ %tmp663 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp661, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ %tmp664 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp663 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
+ %"ts.opApply@vtbl" = getelementptr %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* %tmp664, i32 0, i32 20 ; <i32 (%"tango.text.Regex.List!(TNFATransition).List"*, %"int delegate(ref TNFATransition)")**> [#uses=1]
+ %ts.opApply = load i32 (%"tango.text.Regex.List!(TNFATransition).List"*, %"int delegate(ref TNFATransition)")** %"ts.opApply@vtbl", align 4 ; <i32 (%"tango.text.Regex.List!(TNFATransition).List"*, %"int delegate(ref TNFATransition)")*> [#uses=1]
+ %tmp667 = insertvalue %"int delegate(ref TNFATransition)" undef, i8* %tmp570, 0 ; <%"int delegate(ref TNFATransition)"> [#uses=1]
+ %.func668 = insertvalue %"int delegate(ref TNFATransition)" %tmp667, i32 (i8*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"**)* @_D5tango4text5Regex11__T4TNFATwZ4TNFA5parseMFbZv15__foreachbody46MFKC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZi, 1 ; <%"int delegate(ref TNFATransition)"> [#uses=1]
+ %tmp669 = call fastcc i32 %ts.opApply(%"tango.text.Regex.List!(TNFATransition).List"* %tmp661, %"int delegate(ref TNFATransition)" %.func668) ; <i32> [#uses=0]
+ %tmp671 = add i32 %foreachkey651.0, 1 ; <i32> [#uses=1]
+ br label %foreachcond653
+
+foreachend656: ; preds = %foreachcond653
+ ret void
+}
+
+define weak_odr fastcc %"tango.text.Regex.TNFA!(dchar).TNFA"* @_D5tango4text5Regex11__T4TNFATwZ4TNFA5_ctorMFAwZC5tango4text5Regex11__T4TNFATwZ4TNFA(%"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, %"Act[]" %regex_arg) {
+entry:
+ %tmp1 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 6 ; <i32*> [#uses=1]
+ store i32 1, i32* %tmp1
+ %tmp3 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 9 ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
+ %.newclass_gc_alloc = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7__ClassZ) ; <i8*> [#uses=4]
+ %.newclass_gc = bitcast i8* %.newclass_gc_alloc to %"tango.text.Regex.List!(TNFATransition).List"* ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
+ %vtbl = bitcast i8* %.newclass_gc_alloc to %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ store %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__vtblZ, %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %vtbl
+ %monitor = getelementptr i8* %.newclass_gc_alloc, i32 4 ; <i8*> [#uses=1]
+ %0 = bitcast i8* %monitor to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %0
+ %tmp4 = getelementptr i8* %.newclass_gc_alloc, i32 8 ; <i8*> [#uses=1]
+ tail call void @llvm.memcpy.i32(i8* %tmp4, i8* bitcast (i32* getelementptr (%"tango.text.Regex.List!(TNFATransition).List"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__initZ, i32 0, i32 2) to i8*), i32 12, i32 1)
+ store %"tango.text.Regex.List!(TNFATransition).List"* %.newclass_gc, %"tango.text.Regex.List!(TNFATransition).List"** %tmp3
+ %tmp9 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 2 ; <%"Act[]"*> [#uses=1]
+ store %"Act[]" %regex_arg, %"Act[]"* %tmp9
+ ret %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg
+}
+
+define weak_odr fastcc i32 @_D5tango4text5Regex11__T4TNFATwZ4TNFA11peekPatternMFZw(%"tango.text.Regex.TNFA!(dchar).TNFA"* nocapture %.this_arg) {
+entry:
+ %tmp = alloca i32, align 4 ; <i32*> [#uses=2]
+ %tmp2 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 8 ; <i32*> [#uses=1]
+ %tmp3 = load i32* %tmp2 ; <i32> [#uses=2]
+ store i32 %tmp3, i32* %tmp
+ %tmp6 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 2, i32 0 ; <i32*> [#uses=1]
+ %.len = load i32* %tmp6 ; <i32> [#uses=1]
+ %tmp8 = icmp ult i32 %tmp3, %.len ; <i1> [#uses=1]
+ br i1 %tmp8, label %if, label %endif
+
+if: ; preds = %entry
+ %tmp10 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 2 ; <%"Act[]"*> [#uses=1]
+ %tmp11 = load %"Act[]"* %tmp10 ; <%"Act[]"> [#uses=1]
+ %tmp12 = call fastcc i32 @_D5tango4text5Regex6decodeFAwKkZw(%"Act[]" %tmp11, i32* %tmp) ; <i32> [#uses=1]
+ ret i32 %tmp12
+
+endif: ; preds = %entry
+ ret i32 0
+}
+
+define weak_odr fastcc i32 @_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw(%"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg) {
+entry:
+ %tmp1 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 7 ; <i32*> [#uses=1]
+ %tmp3 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 8 ; <i32*> [#uses=2]
+ %tmp4 = load i32* %tmp3 ; <i32> [#uses=2]
+ store i32 %tmp4, i32* %tmp1
+ %tmp9 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 2, i32 0 ; <i32*> [#uses=1]
+ %.len = load i32* %tmp9 ; <i32> [#uses=1]
+ %tmp11 = icmp ult i32 %tmp4, %.len ; <i1> [#uses=1]
+ br i1 %tmp11, label %if, label %endif
+
+if: ; preds = %entry
+ %tmp13 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 2 ; <%"Act[]"*> [#uses=1]
+ %tmp14 = load %"Act[]"* %tmp13 ; <%"Act[]"> [#uses=1]
+ %tmp17 = tail call fastcc i32 @_D5tango4text5Regex6decodeFAwKkZw(%"Act[]" %tmp14, i32* %tmp3) ; <i32> [#uses=1]
+ ret i32 %tmp17
+
+endif: ; preds = %entry
+ ret i32 0
+}
+
+define weak_odr fastcc i1 @_D5tango4text5Regex11__T4TNFATwZ4TNFA12endOfPatternMFZb(%"tango.text.Regex.TNFA!(dchar).TNFA"* nocapture %.this_arg) nounwind readonly {
+entry:
+ %tmp1 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 8 ; <i32*> [#uses=1]
+ %tmp4 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 2, i32 0 ; <i32*> [#uses=1]
+ %.len = load i32* %tmp4 ; <i32> [#uses=1]
+ %tmp5 = load i32* %tmp1 ; <i32> [#uses=1]
+ %tmp6 = icmp uge i32 %tmp5, %.len ; <i1> [#uses=1]
+ ret i1 %tmp6
+}
+
+define weak_odr fastcc %"tango.text.Regex.TNFAState!(dchar).TNFAState"* @_D5tango4text5Regex11__T4TNFATwZ4TNFA8addStateMFZC5tango4text5Regex16__T9TNFAStateTwZ9TNFAState(%"tango.text.Regex.TNFA!(dchar).TNFA"* nocapture %.this_arg) {
+entry:
+ %.newclass_gc_alloc = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex16__T9TNFAStateTwZ9TNFAState7__ClassZ) ; <i8*> [#uses=6]
+ %.newclass_gc = bitcast i8* %.newclass_gc_alloc to %"tango.text.Regex.TNFAState!(dchar).TNFAState"* ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"*> [#uses=2]
+ %vtbl = bitcast i8* %.newclass_gc_alloc to %object.ModuleInfo.__vtbl** ; <%object.ModuleInfo.__vtbl**> [#uses=1]
+ store %object.ModuleInfo.__vtbl* @_D5tango4text5Regex16__T9TNFAStateTwZ9TNFAState6__vtblZ, %object.ModuleInfo.__vtbl** %vtbl
+ %monitor = getelementptr i8* %.newclass_gc_alloc, i32 4 ; <i8*> [#uses=1]
+ %0 = bitcast i8* %monitor to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %0
+ %tmp = getelementptr i8* %.newclass_gc_alloc, i32 8 ; <i8*> [#uses=1]
+ tail call void @llvm.memcpy.i32(i8* %tmp, i8* bitcast (i1* getelementptr (%"tango.text.Regex.TNFAState!(dchar).TNFAState"* @_D5tango4text5Regex16__T9TNFAStateTwZ9TNFAState6__initZ, i32 0, i32 2) to i8*), i32 12, i32 1)
+ %tmp1.i = getelementptr i8* %.newclass_gc_alloc, i32 16 ; <i8*> [#uses=1]
+ %1 = bitcast i8* %tmp1.i to %"tango.text.Regex.List!(TNFATransition).List"** ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
+ %.newclass_gc_alloc.i = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7__ClassZ) ; <i8*> [#uses=4]
+ %.newclass_gc.i = bitcast i8* %.newclass_gc_alloc.i to %"tango.text.Regex.List!(TNFATransition).List"* ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
+ %vtbl.i = bitcast i8* %.newclass_gc_alloc.i to %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ store %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__vtblZ, %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %vtbl.i
+ %monitor.i = getelementptr i8* %.newclass_gc_alloc.i, i32 4 ; <i8*> [#uses=1]
+ %2 = bitcast i8* %monitor.i to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %2
+ %tmp2.i = getelementptr i8* %.newclass_gc_alloc.i, i32 8 ; <i8*> [#uses=1]
+ tail call void @llvm.memcpy.i32(i8* %tmp2.i, i8* bitcast (i32* getelementptr (%"tango.text.Regex.List!(TNFATransition).List"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__initZ, i32 0, i32 2) to i8*), i32 12, i32 1)
+ store %"tango.text.Regex.List!(TNFATransition).List"* %.newclass_gc.i, %"tango.text.Regex.List!(TNFATransition).List"** %1
+ %tmp6 = getelementptr i8* %.newclass_gc_alloc, i32 12 ; <i8*> [#uses=1]
+ %3 = bitcast i8* %tmp6 to i32* ; <i32*> [#uses=1]
+ %tmp9 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 3, i32 0 ; <i32*> [#uses=2]
+ %.len = load i32* %tmp9 ; <i32> [#uses=4]
+ store i32 %.len, i32* %3
+ %tmp14 = add i32 %.len, 1 ; <i32> [#uses=2]
+ %tmp17 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 3, i32 1 ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"***> [#uses=2]
+ %.ptr = load %"tango.text.Regex.TNFAState!(dchar).TNFAState"*** %tmp17 ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"**> [#uses=1]
+ %tmp18 = bitcast %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %.ptr to i8* ; <i8*> [#uses=1]
+ %.gc_mem = tail call i8* @_d_arraysetlengthT(%object.TypeInfo* bitcast (%object.TypeInfo_Array* @_D56TypeInfo_AC5tango4text5Regex16__T9TNFAStateTwZ9TNFAState6__initZ to %object.TypeInfo*), i32 %tmp14, i32 %.len, i8* %tmp18) ; <i8*> [#uses=1]
+ %.gc_mem19 = bitcast i8* %.gc_mem to %"tango.text.Regex.TNFAState!(dchar).TNFAState"** ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"**> [#uses=2]
+ %tmp20 = getelementptr %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %.gc_mem19, i32 %.len ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"**> [#uses=1]
+ store %"tango.text.Regex.TNFAState!(dchar).TNFAState"* %.newclass_gc, %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %tmp20
+ store i32 %tmp14, i32* %tmp9
+ store %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %.gc_mem19, %"tango.text.Regex.TNFAState!(dchar).TNFAState"*** %tmp17
+ ret %"tango.text.Regex.TNFAState!(dchar).TNFAState"* %.newclass_gc
+}
+
+define weak_odr fastcc %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* @_D5tango4text5Regex11__T4TNFATwZ4TNFA13addTransitionMFE5tango4text5Regex13PriorityClassZC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransition(%"tango.text.Regex.TNFA!(dchar).TNFA"* nocapture %.this_arg, i32 %pc_arg) {
+entry:
+ %.newclass_gc_alloc = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransition7__ClassZ) ; <i8*> [#uses=5]
+ %.newclass_gc = bitcast i8* %.newclass_gc_alloc to %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*> [#uses=2]
+ %vtbl = bitcast i8* %.newclass_gc_alloc to %object.ModuleInfo.__vtbl** ; <%object.ModuleInfo.__vtbl**> [#uses=1]
+ store %object.ModuleInfo.__vtbl* @_D5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransition6__vtblZ, %object.ModuleInfo.__vtbl** %vtbl
+ %monitor = getelementptr i8* %.newclass_gc_alloc, i32 4 ; <i8*> [#uses=1]
+ %0 = bitcast i8* %monitor to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %0
+ %tmp = getelementptr i8* %.newclass_gc_alloc, i32 8 ; <i8*> [#uses=1]
+ tail call void @llvm.memcpy.i32(i8* %tmp, i8* bitcast (%"tango.text.Regex.TNFAState!(dchar).TNFAState"** getelementptr (%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* @_D5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransition6__initZ, i32 0, i32 2) to i8*), i32 44, i32 1)
+ %tmp1.i = getelementptr i8* %.newclass_gc_alloc, i32 48 ; <i8*> [#uses=1]
+ %1 = bitcast i8* %tmp1.i to i32* ; <i32*> [#uses=1]
+ store i32 %pc_arg, i32* %1
+ %tmp7 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 9 ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
+ %tmp8 = load %"tango.text.Regex.List!(TNFATransition).List"** %tmp7 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
+ %tmp9 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp8, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ %tmp10 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp9 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
+ %"this.transitions.opCatAssign@vtbl" = getelementptr %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* %tmp10, i32 0, i32 5 ; <%"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)**> [#uses=1]
+ %this.transitions.opCatAssign = load %"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)** %"this.transitions.opCatAssign@vtbl", align 4 ; <%"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)*> [#uses=1]
+ %tmp13 = tail call fastcc %"tango.text.Regex.List!(TNFATransition).List"* %this.transitions.opCatAssign(%"tango.text.Regex.List!(TNFATransition).List"* %tmp8, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %.newclass_gc) ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=0]
+ ret %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %.newclass_gc
+}
+
+define weak_odr fastcc i32 @_D5tango4text5Regex11__T4TNFATwZ4TNFA11parseNumberMFZk(%"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg) {
+entry:
+ %tmp.i = alloca i32, align 4 ; <i32*> [#uses=2]
+ br label %whilecond
+
+whilecond: ; preds = %if.i, %endif, %entry
+ %res.0 = phi i32 [ 0, %entry ], [ %tmp12, %endif ], [ %tmp12, %if.i ] ; <i32> [#uses=2]
+ %tmp1.i = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 8 ; <i32*> [#uses=3]
+ %tmp4.i = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 2, i32 0 ; <i32*> [#uses=2]
+ %.len.i = load i32* %tmp4.i ; <i32> [#uses=1]
+ %tmp5.i = load i32* %tmp1.i ; <i32> [#uses=2]
+ %tmp6.i = icmp ult i32 %tmp5.i, %.len.i ; <i1> [#uses=1]
+ br i1 %tmp6.i, label %whilebody, label %endwhile
+
+whilebody: ; preds = %whilecond
+ store i32 %tmp5.i, i32* %tmp.i
+ %tmp10.i = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 2 ; <%"Act[]"*> [#uses=1]
+ %tmp11.i22 = load %"Act[]"* %tmp10.i ; <%"Act[]"> [#uses=1]
+ %tmp12.i = call fastcc i32 @_D5tango4text5Regex6decodeFAwKkZw(%"Act[]" %tmp11.i22, i32* %tmp.i) ; <i32> [#uses=1]
+ %phitmp = add i32 %tmp12.i, -48 ; <i32> [#uses=2]
+ %or.cond = icmp ugt i32 %phitmp, 9 ; <i1> [#uses=1]
+ br i1 %or.cond, label %endwhile, label %endif
+
+endif: ; preds = %whilebody
+ %tmp9 = mul i32 %res.0, 10 ; <i32> [#uses=1]
+ %tmp12 = add i32 %tmp9, %phitmp ; <i32> [#uses=2]
+ %tmp1.i16 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 7 ; <i32*> [#uses=1]
+ %tmp4.i17 = load i32* %tmp1.i ; <i32> [#uses=2]
+ store i32 %tmp4.i17, i32* %tmp1.i16
+ %.len.i18 = load i32* %tmp4.i ; <i32> [#uses=1]
+ %tmp11.i = icmp ult i32 %tmp4.i17, %.len.i18 ; <i1> [#uses=1]
+ br i1 %tmp11.i, label %if.i, label %whilecond
+
+if.i: ; preds = %endif
+ %tmp13.i = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 2 ; <%"Act[]"*> [#uses=1]
+ %tmp14.i = load %"Act[]"* %tmp13.i ; <%"Act[]"> [#uses=1]
+ %tmp17.i = tail call fastcc i32 @_D5tango4text5Regex6decodeFAwKkZw(%"Act[]" %tmp14.i, i32* %tmp1.i) ; <i32> [#uses=0]
+ br label %whilecond
+
+endwhile: ; preds = %whilebody, %whilecond
+ ret i32 %res.0
+}
+
+define weak_odr fastcc void @_D5tango4text5Regex11__T4TNFATwZ4TNFA15parseOccurCountMFJkJkZv(%"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32* nocapture %minOccur_arg, i32* nocapture %maxOccur_arg) {
+entry:
+ %tmp.i235 = alloca i32, align 4 ; <i32*> [#uses=2]
+ %tmp.i210 = alloca i32, align 4 ; <i32*> [#uses=2]
+ %tmp.i.i158 = alloca i32, align 4 ; <i32*> [#uses=2]
+ %tmp.i147 = alloca i32, align 4 ; <i32*> [#uses=2]
+ %tmp.i.i = alloca i32, align 4 ; <i32*> [#uses=2]
+ store i32 0, i32* %minOccur_arg
+ store i32 0, i32* %maxOccur_arg
+ br label %whilecond.i
+
+whilecond.i: ; preds = %if.i.i, %endif.i, %entry
+ %res.0.i = phi i32 [ 0, %entry ], [ %tmp12.i, %endif.i ], [ %tmp12.i, %if.i.i ] ; <i32> [#uses=2]
+ %tmp1.i.i = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 8 ; <i32*> [#uses=15]
+ %tmp4.i.i = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 2, i32 0 ; <i32*> [#uses=13]
+ %.len.i.i = load i32* %tmp4.i.i ; <i32> [#uses=1]
+ %tmp5.i.i = load i32* %tmp1.i.i ; <i32> [#uses=2]
+ %tmp6.i.i = icmp ult i32 %tmp5.i.i, %.len.i.i ; <i1> [#uses=1]
+ br i1 %tmp6.i.i, label %whilebody.i, label %_D5tango4text5Regex11__T4TNFATwZ4TNFA11parseNumberMFZk.exit
+
+whilebody.i: ; preds = %whilecond.i
+ store i32 %tmp5.i.i, i32* %tmp.i.i
+ %tmp10.i.i = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 2 ; <%"Act[]"*> [#uses=2]
+ %tmp11.i22.i = load %"Act[]"* %tmp10.i.i ; <%"Act[]"> [#uses=1]
+ %tmp12.i.i = call fastcc i32 @_D5tango4text5Regex6decodeFAwKkZw(%"Act[]" %tmp11.i22.i, i32* %tmp.i.i) ; <i32> [#uses=1]
+ %phitmp = add i32 %tmp12.i.i, -48 ; <i32> [#uses=2]
+ %or.cond.i = icmp ugt i32 %phitmp, 9 ; <i1> [#uses=1]
+ br i1 %or.cond.i, label %_D5tango4text5Regex11__T4TNFATwZ4TNFA11parseNumberMFZk.exit, label %endif.i
+
+endif.i: ; preds = %whilebody.i
+ %tmp9.i = mul i32 %res.0.i, 10 ; <i32> [#uses=1]
+ %tmp12.i = add i32 %tmp9.i, %phitmp ; <i32> [#uses=2]
+ %tmp1.i16.i = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 7 ; <i32*> [#uses=1]
+ %tmp4.i17.i = load i32* %tmp1.i.i ; <i32> [#uses=2]
+ store i32 %tmp4.i17.i, i32* %tmp1.i16.i
+ %.len.i18.i = load i32* %tmp4.i.i ; <i32> [#uses=1]
+ %tmp11.i.i = icmp ult i32 %tmp4.i17.i, %.len.i18.i ; <i1> [#uses=1]
+ br i1 %tmp11.i.i, label %if.i.i, label %whilecond.i
+
+if.i.i: ; preds = %endif.i
+ %tmp14.i.i = load %"Act[]"* %tmp10.i.i ; <%"Act[]"> [#uses=1]
+ %tmp17.i.i = tail call fastcc i32 @_D5tango4text5Regex6decodeFAwKkZw(%"Act[]" %tmp14.i.i, i32* %tmp1.i.i) ; <i32> [#uses=0]
+ br label %whilecond.i
+
+_D5tango4text5Regex11__T4TNFATwZ4TNFA11parseNumberMFZk.exit: ; preds = %whilebody.i, %whilecond.i
+ store i32 %res.0.i, i32* %minOccur_arg
+ %tmp3.i237 = load i32* %tmp1.i.i ; <i32> [#uses=2]
+ store i32 %tmp3.i237, i32* %tmp.i235
+ %.len.i239 = load i32* %tmp4.i.i ; <i32> [#uses=1]
+ %tmp8.i240 = icmp ult i32 %tmp3.i237, %.len.i239 ; <i1> [#uses=1]
+ br i1 %tmp8.i240, label %if.i244, label %endif
+
+if.i244: ; preds = %_D5tango4text5Regex11__T4TNFATwZ4TNFA11parseNumberMFZk.exit
+ %tmp10.i241 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 2 ; <%"Act[]"*> [#uses=1]
+ %tmp11.i242 = load %"Act[]"* %tmp10.i241 ; <%"Act[]"> [#uses=1]
+ %tmp12.i243 = call fastcc i32 @_D5tango4text5Regex6decodeFAwKkZw(%"Act[]" %tmp11.i242, i32* %tmp.i235) ; <i32> [#uses=1]
+ %phitmp251 = icmp eq i32 %tmp12.i243, 125 ; <i1> [#uses=1]
+ br i1 %phitmp251, label %if, label %endif
+
+if: ; preds = %if.i244
+ %tmp1.i223 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 7 ; <i32*> [#uses=1]
+ %tmp4.i225 = load i32* %tmp1.i.i ; <i32> [#uses=2]
+ store i32 %tmp4.i225, i32* %tmp1.i223
+ %.len.i227 = load i32* %tmp4.i.i ; <i32> [#uses=1]
+ %tmp11.i228 = icmp ult i32 %tmp4.i225, %.len.i227 ; <i1> [#uses=1]
+ br i1 %tmp11.i228, label %if.i232, label %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit234
+
+if.i232: ; preds = %if
+ %tmp13.i229 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 2 ; <%"Act[]"*> [#uses=1]
+ %tmp14.i230 = load %"Act[]"* %tmp13.i229 ; <%"Act[]"> [#uses=1]
+ %tmp17.i231 = tail call fastcc i32 @_D5tango4text5Regex6decodeFAwKkZw(%"Act[]" %tmp14.i230, i32* %tmp1.i.i) ; <i32> [#uses=0]
+ br label %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit234
+
+_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit234: ; preds = %if.i232, %if
+ %tmp7 = load i32* %minOccur_arg ; <i32> [#uses=1]
+ store i32 %tmp7, i32* %maxOccur_arg
+ ret void
+
+endif: ; preds = %if.i244, %_D5tango4text5Regex11__T4TNFATwZ4TNFA11parseNumberMFZk.exit
+ %tmp3.i212 = load i32* %tmp1.i.i ; <i32> [#uses=2]
+ store i32 %tmp3.i212, i32* %tmp.i210
+ %.len.i214 = load i32* %tmp4.i.i ; <i32> [#uses=1]
+ %tmp8.i215 = icmp ult i32 %tmp3.i212, %.len.i214 ; <i1> [#uses=1]
+ br i1 %tmp8.i215, label %if.i219, label %if11
+
+if.i219: ; preds = %endif
+ %tmp10.i216 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 2 ; <%"Act[]"*> [#uses=1]
+ %tmp11.i217 = load %"Act[]"* %tmp10.i216 ; <%"Act[]"> [#uses=1]
+ %tmp12.i218 = call fastcc i32 @_D5tango4text5Regex6decodeFAwKkZw(%"Act[]" %tmp11.i217, i32* %tmp.i210) ; <i32> [#uses=1]
+ %phitmp250 = icmp eq i32 %tmp12.i218, 44 ; <i1> [#uses=1]
+ br i1 %phitmp250, label %endif12, label %if11
+
+if11: ; preds = %if.i219, %endif
+ %.newclass_gc_alloc = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex15RegExpException7__ClassZ) ; <i8*> [#uses=5]
+ %.newclass_gc = bitcast i8* %.newclass_gc_alloc to %object.Exception* ; <%object.Exception*> [#uses=1]
+ %vtbl = bitcast i8* %.newclass_gc_alloc to %object.Exception.__vtbl** ; <%object.Exception.__vtbl**> [#uses=1]
+ store %object.Exception.__vtbl* @_D5tango4text5Regex15RegExpException6__vtblZ, %object.Exception.__vtbl** %vtbl
+ %monitor = getelementptr i8* %.newclass_gc_alloc, i32 4 ; <i8*> [#uses=1]
+ %0 = bitcast i8* %monitor to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %0
+ %tmp13 = getelementptr i8* %.newclass_gc_alloc, i32 8 ; <i8*> [#uses=1]
+ tail call void @llvm.memcpy.i32(i8* %tmp13, i8* bitcast (%"byte[]"* getelementptr (%object.Exception* bitcast (%28* @_D5tango4text5Regex15RegExpException6__initZ to %object.Exception*), i32 0, i32 2) to i8*), i32 28, i32 1)
+ %tmp19 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 2, i32 1 ; <i32**> [#uses=1]
+ %.ptr = load i32** %tmp19 ; <i32*> [#uses=1]
+ %tmp21 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 7 ; <i32*> [#uses=1]
+ %.len = load i32* %tmp4.i.i ; <i32> [#uses=1]
+ %tmp23 = load i32* %tmp21 ; <i32> [#uses=2]
+ %tmp24 = getelementptr i32* %.ptr, i32 %tmp23 ; <i32*> [#uses=1]
+ %tmp25 = sub i32 %.len, %tmp23 ; <i32> [#uses=1]
+ %tmp26 = insertvalue %"Act[]" undef, i32 %tmp25, 0 ; <%"Act[]"> [#uses=1]
+ %tmp27 = insertvalue %"Act[]" %tmp26, i32* %tmp24, 1 ; <%"Act[]"> [#uses=1]
+ %tmp28 = tail call fastcc %"byte[]" @_D5tango4text7convert3Utf8toStringFAwAaPkZAa(%"Act[]" %tmp27, %"byte[]" zeroinitializer, i32* null) ; <%"byte[]"> [#uses=2]
+ %.len29 = extractvalue %"byte[]" %tmp28, 0 ; <i32> [#uses=4]
+ %tmp30 = add i32 %.len29, 28 ; <i32> [#uses=3]
+ %.nongc_mem = alloca i8, i32 %tmp30, align 1 ; <i8*> [#uses=3]
+ %.ptr31 = extractvalue %"byte[]" %tmp28, 1 ; <i8*> [#uses=1]
+ tail call void @llvm.memcpy.i32(i8* %.nongc_mem, i8* getelementptr ([29 x i8]* @.str219, i32 0, i32 0), i32 28, i32 1)
+ %tmp32 = getelementptr i8* %.nongc_mem, i32 28 ; <i8*> [#uses=1]
+ tail call void @llvm.memcpy.i32(i8* %tmp32, i8* %.ptr31, i32 %.len29, i32 1)
+ %tmp34 = add i32 %.len29, 29 ; <i32> [#uses=2]
+ %.nongc_mem252 = alloca i8, i32 %tmp34, align 1 ; <i8*> [#uses=3]
+ tail call void @llvm.memcpy.i32(i8* %.nongc_mem252, i8* %.nongc_mem, i32 %tmp30, i32 1)
+ %tmp37 = getelementptr i8* %.nongc_mem252, i32 %tmp30 ; <i8*> [#uses=1]
+ store i8 34, i8* %tmp37, align 1
+ %tmp2.i202 = add i32 %.len29, 37 ; <i32> [#uses=2]
+ %.gc_mem.i203 = tail call noalias i8* @_d_newarrayvT(%object.TypeInfo* @_D11TypeInfo_Aa6__initZ, i32 %tmp2.i202) ; <i8*> [#uses=3]
+ %.gc_mem12.i204 = bitcast i8* %.gc_mem.i203 to i64* ; <i64*> [#uses=1]
+ %tmp.i205 = load i64* bitcast ([9 x i8]* @.str280 to i64*), align 8 ; <i64> [#uses=1]
+ store i64 %tmp.i205, i64* %.gc_mem12.i204, align 1
+ %tmp4.i206 = getelementptr i8* %.gc_mem.i203, i32 8 ; <i8*> [#uses=1]
+ tail call void @llvm.memcpy.i32(i8* %tmp4.i206, i8* %.nongc_mem252, i32 %tmp34, i32 1)
+ %tmp6.i207 = insertvalue %"byte[]" undef, i32 %tmp2.i202, 0 ; <%"byte[]"> [#uses=1]
+ %tmp7.i208 = insertvalue %"byte[]" %tmp6.i207, i8* %.gc_mem.i203, 1 ; <%"byte[]"> [#uses=1]
+ %tmp8.i209 = tail call fastcc %object.Exception* @_D6object9Exception5_ctorMFAaC9ExceptionZC9Exception(%object.Exception* %.newclass_gc, %"byte[]" %tmp7.i208, %object.Exception* null) ; <%object.Exception*> [#uses=0]
+ %tmp41 = bitcast i8* %.newclass_gc_alloc to %object.Object* ; <%object.Object*> [#uses=1]
+ tail call void @_d_throw_exception(%object.Object* %tmp41)
+ unreachable
+
+endif12: ; preds = %if.i219
+ %tmp1.i188 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 7 ; <i32*> [#uses=5]
+ %tmp4.i190 = load i32* %tmp1.i.i ; <i32> [#uses=2]
+ store i32 %tmp4.i190, i32* %tmp1.i188
+ %.len.i192 = load i32* %tmp4.i.i ; <i32> [#uses=1]
+ %tmp11.i193 = icmp ult i32 %tmp4.i190, %.len.i192 ; <i1> [#uses=1]
+ br i1 %tmp11.i193, label %if.i197, label %whilecond.i165
+
+if.i197: ; preds = %endif12
+ %tmp13.i194 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 2 ; <%"Act[]"*> [#uses=1]
+ %tmp14.i195 = load %"Act[]"* %tmp13.i194 ; <%"Act[]"> [#uses=1]
+ %tmp17.i196 = tail call fastcc i32 @_D5tango4text5Regex6decodeFAwKkZw(%"Act[]" %tmp14.i195, i32* %tmp1.i.i) ; <i32> [#uses=0]
+ br label %whilecond.i165
+
+whilecond.i165: ; preds = %if.i.i184, %endif.i180, %if.i197, %endif12
+ %res.0.i159 = phi i32 [ 0, %endif12 ], [ 0, %if.i197 ], [ %tmp12.i175, %endif.i180 ], [ %tmp12.i175, %if.i.i184 ] ; <i32> [#uses=2]
+ %.len.i.i162 = load i32* %tmp4.i.i ; <i32> [#uses=1]
+ %tmp5.i.i163 = load i32* %tmp1.i.i ; <i32> [#uses=2]
+ %tmp6.i.i164 = icmp ult i32 %tmp5.i.i163, %.len.i.i162 ; <i1> [#uses=1]
+ br i1 %tmp6.i.i164, label %whilebody.i166, label %_D5tango4text5Regex11__T4TNFATwZ4TNFA11parseNumberMFZk.exit187
+
+whilebody.i166: ; preds = %whilecond.i165
+ store i32 %tmp5.i.i163, i32* %tmp.i.i158
+ %tmp10.i.i167 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 2 ; <%"Act[]"*> [#uses=2]
+ %tmp11.i22.i168 = load %"Act[]"* %tmp10.i.i167 ; <%"Act[]"> [#uses=1]
+ %tmp12.i.i169 = call fastcc i32 @_D5tango4text5Regex6decodeFAwKkZw(%"Act[]" %tmp11.i22.i168, i32* %tmp.i.i158) ; <i32> [#uses=1]
+ %phitmp248 = add i32 %tmp12.i.i169, -48 ; <i32> [#uses=2]
+ %or.cond.i172 = icmp ugt i32 %phitmp248, 9 ; <i1> [#uses=1]
+ br i1 %or.cond.i172, label %_D5tango4text5Regex11__T4TNFATwZ4TNFA11parseNumberMFZk.exit187, label %endif.i180
+
+endif.i180: ; preds = %whilebody.i166
+ %tmp9.i174 = mul i32 %res.0.i159, 10 ; <i32> [#uses=1]
+ %tmp12.i175 = add i32 %tmp9.i174, %phitmp248 ; <i32> [#uses=2]
+ %tmp4.i17.i177 = load i32* %tmp1.i.i ; <i32> [#uses=2]
+ store i32 %tmp4.i17.i177, i32* %tmp1.i188
+ %.len.i18.i178 = load i32* %tmp4.i.i ; <i32> [#uses=1]
+ %tmp11.i.i179 = icmp ult i32 %tmp4.i17.i177, %.len.i18.i178 ; <i1> [#uses=1]
+ br i1 %tmp11.i.i179, label %if.i.i184, label %whilecond.i165
+
+if.i.i184: ; preds = %endif.i180
+ %tmp14.i.i182 = load %"Act[]"* %tmp10.i.i167 ; <%"Act[]"> [#uses=1]
+ %tmp17.i.i183 = tail call fastcc i32 @_D5tango4text5Regex6decodeFAwKkZw(%"Act[]" %tmp14.i.i182, i32* %tmp1.i.i) ; <i32> [#uses=0]
+ br label %whilecond.i165
+
+_D5tango4text5Regex11__T4TNFATwZ4TNFA11parseNumberMFZk.exit187: ; preds = %whilebody.i166, %whilecond.i165
+ store i32 %res.0.i159, i32* %maxOccur_arg
+ %tmp3.i149 = load i32* %tmp1.i.i ; <i32> [#uses=2]
+ store i32 %tmp3.i149, i32* %tmp.i147
+ %.len.i151 = load i32* %tmp4.i.i ; <i32> [#uses=1]
+ %tmp8.i152 = icmp ult i32 %tmp3.i149, %.len.i151 ; <i1> [#uses=1]
+ br i1 %tmp8.i152, label %if.i155, label %if49
+
+if.i155: ; preds = %_D5tango4text5Regex11__T4TNFATwZ4TNFA11parseNumberMFZk.exit187
+ %tmp10.i = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 2 ; <%"Act[]"*> [#uses=1]
+ %tmp11.i153 = load %"Act[]"* %tmp10.i ; <%"Act[]"> [#uses=1]
+ %tmp12.i154 = call fastcc i32 @_D5tango4text5Regex6decodeFAwKkZw(%"Act[]" %tmp11.i153, i32* %tmp.i147) ; <i32> [#uses=1]
+ %phitmp249 = icmp eq i32 %tmp12.i154, 125 ; <i1> [#uses=1]
+ br i1 %phitmp249, label %endif50, label %if49
+
+if49: ; preds = %if.i155, %_D5tango4text5Regex11__T4TNFATwZ4TNFA11parseNumberMFZk.exit187
+ %.newclass_gc_alloc51 = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex15RegExpException7__ClassZ) ; <i8*> [#uses=5]
+ %.newclass_gc52 = bitcast i8* %.newclass_gc_alloc51 to %object.Exception* ; <%object.Exception*> [#uses=1]
+ %vtbl53 = bitcast i8* %.newclass_gc_alloc51 to %object.Exception.__vtbl** ; <%object.Exception.__vtbl**> [#uses=1]
+ store %object.Exception.__vtbl* @_D5tango4text5Regex15RegExpException6__vtblZ, %object.Exception.__vtbl** %vtbl53
+ %monitor54 = getelementptr i8* %.newclass_gc_alloc51, i32 4 ; <i8*> [#uses=1]
+ %1 = bitcast i8* %monitor54 to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %1
+ %tmp55 = getelementptr i8* %.newclass_gc_alloc51, i32 8 ; <i8*> [#uses=1]
+ tail call void @llvm.memcpy.i32(i8* %tmp55, i8* bitcast (%"byte[]"* getelementptr (%object.Exception* bitcast (%28* @_D5tango4text5Regex15RegExpException6__initZ to %object.Exception*), i32 0, i32 2) to i8*), i32 28, i32 1)
+ %tmp61 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 2, i32 1 ; <i32**> [#uses=1]
+ %.ptr62 = load i32** %tmp61 ; <i32*> [#uses=1]
+ %.len66 = load i32* %tmp4.i.i ; <i32> [#uses=1]
+ %tmp67 = load i32* %tmp1.i188 ; <i32> [#uses=2]
+ %tmp68 = getelementptr i32* %.ptr62, i32 %tmp67 ; <i32*> [#uses=1]
+ %tmp69 = sub i32 %.len66, %tmp67 ; <i32> [#uses=1]
+ %tmp70 = insertvalue %"Act[]" undef, i32 %tmp69, 0 ; <%"Act[]"> [#uses=1]
+ %tmp71 = insertvalue %"Act[]" %tmp70, i32* %tmp68, 1 ; <%"Act[]"> [#uses=1]
+ %tmp72 = tail call fastcc %"byte[]" @_D5tango4text7convert3Utf8toStringFAwAaPkZAa(%"Act[]" %tmp71, %"byte[]" zeroinitializer, i32* null) ; <%"byte[]"> [#uses=2]
+ %.len73 = extractvalue %"byte[]" %tmp72, 0 ; <i32> [#uses=4]
+ %tmp74 = add i32 %.len73, 28 ; <i32> [#uses=3]
+ %.nongc_mem253 = alloca i8, i32 %tmp74, align 1 ; <i8*> [#uses=3]
+ %.ptr76 = extractvalue %"byte[]" %tmp72, 1 ; <i8*> [#uses=1]
+ tail call void @llvm.memcpy.i32(i8* %.nongc_mem253, i8* getelementptr ([29 x i8]* @.str221, i32 0, i32 0), i32 28, i32 1)
+ %tmp77 = getelementptr i8* %.nongc_mem253, i32 28 ; <i8*> [#uses=1]
+ tail call void @llvm.memcpy.i32(i8* %tmp77, i8* %.ptr76, i32 %.len73, i32 1)
+ %tmp79 = add i32 %.len73, 29 ; <i32> [#uses=2]
+ %.nongc_mem254 = alloca i8, i32 %tmp79, align 1 ; <i8*> [#uses=3]
+ tail call void @llvm.memcpy.i32(i8* %.nongc_mem254, i8* %.nongc_mem253, i32 %tmp74, i32 1)
+ %tmp82 = getelementptr i8* %.nongc_mem254, i32 %tmp74 ; <i8*> [#uses=1]
+ store i8 34, i8* %tmp82, align 1
+ %tmp2.i139 = add i32 %.len73, 37 ; <i32> [#uses=2]
+ %.gc_mem.i140 = tail call noalias i8* @_d_newarrayvT(%object.TypeInfo* @_D11TypeInfo_Aa6__initZ, i32 %tmp2.i139) ; <i8*> [#uses=3]
+ %.gc_mem12.i141 = bitcast i8* %.gc_mem.i140 to i64* ; <i64*> [#uses=1]
+ %tmp.i142 = load i64* bitcast ([9 x i8]* @.str280 to i64*), align 8 ; <i64> [#uses=1]
+ store i64 %tmp.i142, i64* %.gc_mem12.i141, align 1
+ %tmp4.i143 = getelementptr i8* %.gc_mem.i140, i32 8 ; <i8*> [#uses=1]
+ tail call void @llvm.memcpy.i32(i8* %tmp4.i143, i8* %.nongc_mem254, i32 %tmp79, i32 1)
+ %tmp6.i144 = insertvalue %"byte[]" undef, i32 %tmp2.i139, 0 ; <%"byte[]"> [#uses=1]
+ %tmp7.i145 = insertvalue %"byte[]" %tmp6.i144, i8* %.gc_mem.i140, 1 ; <%"byte[]"> [#uses=1]
+ %tmp8.i146 = tail call fastcc %object.Exception* @_D6object9Exception5_ctorMFAaC9ExceptionZC9Exception(%object.Exception* %.newclass_gc52, %"byte[]" %tmp7.i145, %object.Exception* null) ; <%object.Exception*> [#uses=0]
+ %tmp86 = bitcast i8* %.newclass_gc_alloc51 to %object.Object* ; <%object.Object*> [#uses=1]
+ tail call void @_d_throw_exception(%object.Object* %tmp86)
+ unreachable
+
+endif50: ; preds = %if.i155
+ %tmp4.i134 = load i32* %tmp1.i.i ; <i32> [#uses=2]
+ store i32 %tmp4.i134, i32* %tmp1.i188
+ %.len.i = load i32* %tmp4.i.i ; <i32> [#uses=1]
+ %tmp11.i = icmp ult i32 %tmp4.i134, %.len.i ; <i1> [#uses=1]
+ br i1 %tmp11.i, label %if.i, label %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit
+
+if.i: ; preds = %endif50
+ %tmp13.i = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 2 ; <%"Act[]"*> [#uses=1]
+ %tmp14.i = load %"Act[]"* %tmp13.i ; <%"Act[]"> [#uses=1]
+ %tmp17.i = tail call fastcc i32 @_D5tango4text5Regex6decodeFAwKkZw(%"Act[]" %tmp14.i, i32* %tmp1.i.i) ; <i32> [#uses=0]
+ br label %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit
+
+_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit: ; preds = %if.i, %endif50
+ %tmp90 = load i32* %maxOccur_arg ; <i32> [#uses=2]
+ %tmp91 = icmp eq i32 %tmp90, 0 ; <i1> [#uses=1]
+ br i1 %tmp91, label %endif96, label %andand
+
+andand: ; preds = %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit
+ %tmp93 = load i32* %minOccur_arg ; <i32> [#uses=1]
+ %tmp94 = icmp ult i32 %tmp90, %tmp93 ; <i1> [#uses=1]
+ br i1 %tmp94, label %if95, label %endif96
+
+if95: ; preds = %andand
+ %.newclass_gc_alloc97 = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex15RegExpException7__ClassZ) ; <i8*> [#uses=5]
+ %.newclass_gc98 = bitcast i8* %.newclass_gc_alloc97 to %object.Exception* ; <%object.Exception*> [#uses=1]
+ %vtbl99 = bitcast i8* %.newclass_gc_alloc97 to %object.Exception.__vtbl** ; <%object.Exception.__vtbl**> [#uses=1]
+ store %object.Exception.__vtbl* @_D5tango4text5Regex15RegExpException6__vtblZ, %object.Exception.__vtbl** %vtbl99
+ %monitor100 = getelementptr i8* %.newclass_gc_alloc97, i32 4 ; <i8*> [#uses=1]
+ %2 = bitcast i8* %monitor100 to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %2
+ %tmp101 = getelementptr i8* %.newclass_gc_alloc97, i32 8 ; <i8*> [#uses=1]
+ tail call void @llvm.memcpy.i32(i8* %tmp101, i8* bitcast (%"byte[]"* getelementptr (%object.Exception* bitcast (%28* @_D5tango4text5Regex15RegExpException6__initZ to %object.Exception*), i32 0, i32 2) to i8*), i32 28, i32 1)
+ %tmp107 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 2, i32 1 ; <i32**> [#uses=1]
+ %.ptr108 = load i32** %tmp107 ; <i32*> [#uses=1]
+ %.len112 = load i32* %tmp4.i.i ; <i32> [#uses=1]
+ %tmp113 = load i32* %tmp1.i188 ; <i32> [#uses=2]
+ %tmp114 = getelementptr i32* %.ptr108, i32 %tmp113 ; <i32*> [#uses=1]
+ %tmp115 = sub i32 %.len112, %tmp113 ; <i32> [#uses=1]
+ %tmp116 = insertvalue %"Act[]" undef, i32 %tmp115, 0 ; <%"Act[]"> [#uses=1]
+ %tmp117 = insertvalue %"Act[]" %tmp116, i32* %tmp114, 1 ; <%"Act[]"> [#uses=1]
+ %tmp118 = tail call fastcc %"byte[]" @_D5tango4text7convert3Utf8toStringFAwAaPkZAa(%"Act[]" %tmp117, %"byte[]" zeroinitializer, i32* null) ; <%"byte[]"> [#uses=2]
+ %.len119 = extractvalue %"byte[]" %tmp118, 0 ; <i32> [#uses=4]
+ %tmp120 = add i32 %.len119, 40 ; <i32> [#uses=3]
+ %.nongc_mem255 = alloca i8, i32 %tmp120, align 1 ; <i8*> [#uses=3]
+ %.ptr122 = extractvalue %"byte[]" %tmp118, 1 ; <i8*> [#uses=1]
+ tail call void @llvm.memcpy.i32(i8* %.nongc_mem255, i8* getelementptr ([41 x i8]* @.str223, i32 0, i32 0), i32 40, i32 1)
+ %tmp123 = getelementptr i8* %.nongc_mem255, i32 40 ; <i8*> [#uses=1]
+ tail call void @llvm.memcpy.i32(i8* %tmp123, i8* %.ptr122, i32 %.len119, i32 1)
+ %tmp125 = add i32 %.len119, 41 ; <i32> [#uses=2]
+ %.nongc_mem256 = alloca i8, i32 %tmp125, align 1 ; <i8*> [#uses=3]
+ tail call void @llvm.memcpy.i32(i8* %.nongc_mem256, i8* %.nongc_mem255, i32 %tmp120, i32 1)
+ %tmp128 = getelementptr i8* %.nongc_mem256, i32 %tmp120 ; <i8*> [#uses=1]
+ store i8 34, i8* %tmp128, align 1
+ %tmp2.i = add i32 %.len119, 49 ; <i32> [#uses=2]
+ %.gc_mem.i = tail call noalias i8* @_d_newarrayvT(%object.TypeInfo* @_D11TypeInfo_Aa6__initZ, i32 %tmp2.i) ; <i8*> [#uses=3]
+ %.gc_mem12.i = bitcast i8* %.gc_mem.i to i64* ; <i64*> [#uses=1]
+ %tmp.i = load i64* bitcast ([9 x i8]* @.str280 to i64*), align 8 ; <i64> [#uses=1]
+ store i64 %tmp.i, i64* %.gc_mem12.i, align 1
+ %tmp4.i = getelementptr i8* %.gc_mem.i, i32 8 ; <i8*> [#uses=1]
+ tail call void @llvm.memcpy.i32(i8* %tmp4.i, i8* %.nongc_mem256, i32 %tmp125, i32 1)
+ %tmp6.i = insertvalue %"byte[]" undef, i32 %tmp2.i, 0 ; <%"byte[]"> [#uses=1]
+ %tmp7.i = insertvalue %"byte[]" %tmp6.i, i8* %.gc_mem.i, 1 ; <%"byte[]"> [#uses=1]
+ %tmp8.i = tail call fastcc %object.Exception* @_D6object9Exception5_ctorMFAaC9ExceptionZC9Exception(%object.Exception* %.newclass_gc98, %"byte[]" %tmp7.i, %object.Exception* null) ; <%object.Exception*> [#uses=0]
+ %tmp132 = bitcast i8* %.newclass_gc_alloc97 to %object.Object* ; <%object.Object*> [#uses=1]
+ tail call void @_d_throw_exception(%object.Object* %tmp132)
+ unreachable
+
+endif96: ; preds = %andand, %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit
+ ret void
+}
+
+define weak_odr fastcc %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* @_D5tango4text5Regex11__T4TNFATwZ4TNFA5cloneMFC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransition(%"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %t_arg) {
+entry:
+ %t = alloca %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*, align 4 ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"**> [#uses=4]
+ store %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %t_arg, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** %t
+ %tmp1 = icmp eq %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %t_arg, null ; <i1> [#uses=1]
+ br i1 %tmp1, label %if, label %endif
+
+if: ; preds = %entry
+ ret %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* null
+
+endif: ; preds = %entry
+ %tmp4 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 11 ; <i8**> [#uses=2]
+ %tmp5 = load i8** %tmp4 ; <i8*> [#uses=1]
+ %tmp6 = bitcast i8* %tmp5 to %32* ; <%32*> [#uses=1]
+ %tmp7 = bitcast %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** %t to i8* ; <i8*> [#uses=2]
+ %aa.in = call i8* @_aaIn(%32* nocapture %tmp6, %object.TypeInfo* bitcast (%object.TypeInfo_Class* @_D67TypeInfo_C5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransition6__initZ to %object.TypeInfo*), i8* nocapture %tmp7) readonly ; <i8*> [#uses=2]
+ %tmp10 = icmp eq i8* %aa.in, null ; <i1> [#uses=1]
+ br i1 %tmp10, label %endif12, label %if11
+
+if11: ; preds = %endif
+ %tmp8 = bitcast i8* %aa.in to %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"**> [#uses=1]
+ %tmp14 = load %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** %tmp8 ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*> [#uses=1]
+ ret %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %tmp14
+
+endif12: ; preds = %endif
+ %.newclass_gc_alloc = call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransition7__ClassZ) ; <i8*> [#uses=8]
+ %.newclass_gc = bitcast i8* %.newclass_gc_alloc to %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*> [#uses=3]
+ %vtbl = bitcast i8* %.newclass_gc_alloc to %object.ModuleInfo.__vtbl** ; <%object.ModuleInfo.__vtbl**> [#uses=1]
+ store %object.ModuleInfo.__vtbl* @_D5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransition6__vtblZ, %object.ModuleInfo.__vtbl** %vtbl
+ %monitor = getelementptr i8* %.newclass_gc_alloc, i32 4 ; <i8*> [#uses=1]
+ %0 = bitcast i8* %monitor to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %0
+ %tmp16 = getelementptr i8* %.newclass_gc_alloc, i32 8 ; <i8*> [#uses=2]
+ call void @llvm.memcpy.i32(i8* %tmp16, i8* bitcast (%"tango.text.Regex.TNFAState!(dchar).TNFAState"** getelementptr (%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* @_D5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransition6__initZ, i32 0, i32 2) to i8*), i32 44, i32 1)
+ %tmp21 = getelementptr %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %t_arg, i32 0, i32 6 ; <i32*> [#uses=1]
+ %tmp22 = load i32* %tmp21 ; <i32> [#uses=1]
+ %tmp1.i = getelementptr i8* %.newclass_gc_alloc, i32 48 ; <i8*> [#uses=1]
+ %1 = bitcast i8* %tmp1.i to i32* ; <i32*> [#uses=1]
+ store i32 %tmp22, i32* %1
+ %tmp26 = bitcast i8** %tmp4 to %32* ; <%32*> [#uses=1]
+ %aa.index = call i8* @_aaGet(%32* nocapture %tmp26, %object.TypeInfo* bitcast (%object.TypeInfo_Class* @_D67TypeInfo_C5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransition6__initZ to %object.TypeInfo*), i32 4, i8* nocapture %tmp7) ; <i8*> [#uses=1]
+ %tmp28 = bitcast i8* %aa.index to %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"**> [#uses=1]
+ store %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %.newclass_gc, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** %tmp28
+ %tmp31 = getelementptr i8* %.newclass_gc_alloc, i32 44 ; <i8*> [#uses=1]
+ %2 = bitcast i8* %tmp31 to i32* ; <i32*> [#uses=1]
+ %tmp32 = load %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** %t ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*> [#uses=3]
+ %tmp33 = getelementptr %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %tmp32, i32 0, i32 5 ; <i32*> [#uses=1]
+ %tmp34 = load i32* %tmp33 ; <i32> [#uses=1]
+ store i32 %tmp34, i32* %2
+ %tmp36 = getelementptr i8* %.newclass_gc_alloc, i32 40 ; <i8*> [#uses=1]
+ %3 = bitcast i8* %tmp36 to i32* ; <i32*> [#uses=1]
+ %tmp38 = getelementptr %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %tmp32, i32 0, i32 4 ; <i32*> [#uses=1]
+ %tmp39 = load i32* %tmp38 ; <i32> [#uses=1]
+ store i32 %tmp39, i32* %3
+ %tmp43 = getelementptr %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %tmp32, i32 0, i32 3 ; <%"tango.text.Regex.Predicate!(dchar).Predicate"*> [#uses=1]
+ %tmp41 = getelementptr i8* %.newclass_gc_alloc, i32 12 ; <i8*> [#uses=1]
+ %tmp45 = bitcast %"tango.text.Regex.Predicate!(dchar).Predicate"* %tmp43 to i8* ; <i8*> [#uses=1]
+ call void @llvm.memcpy.i32(i8* %tmp41, i8* %tmp45, i32 28, i32 1)
+ %4 = bitcast i8* %tmp16 to %"tango.text.Regex.TNFAState!(dchar).TNFAState"** ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"**> [#uses=1]
+ %tmp49 = load %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** %t ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*> [#uses=1]
+ %tmp50 = getelementptr %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %tmp49, i32 0, i32 2 ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"**> [#uses=1]
+ %tmp51 = load %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %tmp50 ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"*> [#uses=1]
+ %tmp52 = call fastcc %"tango.text.Regex.TNFAState!(dchar).TNFAState"* @_D5tango4text5Regex11__T4TNFATwZ4TNFA5cloneMFC5tango4text5Regex16__T9TNFAStateTwZ9TNFAStateZC5tango4text5Regex16__T9TNFAStateTwZ9TNFAState(%"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, %"tango.text.Regex.TNFAState!(dchar).TNFAState"* %tmp51) ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"*> [#uses=1]
+ store %"tango.text.Regex.TNFAState!(dchar).TNFAState"* %tmp52, %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %4
+ %tmp54 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 9 ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
+ %tmp55 = load %"tango.text.Regex.List!(TNFATransition).List"** %tmp54 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
+ %tmp56 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp55, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ %tmp57 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp56 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
+ %"this.transitions.opCatAssign@vtbl" = getelementptr %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* %tmp57, i32 0, i32 5 ; <%"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)**> [#uses=1]
+ %this.transitions.opCatAssign = load %"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)** %"this.transitions.opCatAssign@vtbl", align 4 ; <%"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)*> [#uses=1]
+ %tmp60 = call fastcc %"tango.text.Regex.List!(TNFATransition).List"* %this.transitions.opCatAssign(%"tango.text.Regex.List!(TNFATransition).List"* %tmp55, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %.newclass_gc) ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=0]
+ ret %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %.newclass_gc
+}
+
+define weak_odr fastcc %"tango.text.Regex.TNFAState!(dchar).TNFAState"* @_D5tango4text5Regex11__T4TNFATwZ4TNFA5cloneMFC5tango4text5Regex16__T9TNFAStateTwZ9TNFAStateZC5tango4text5Regex16__T9TNFAStateTwZ9TNFAState(%"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, %"tango.text.Regex.TNFAState!(dchar).TNFAState"* %s_arg) {
+entry:
+ %s = alloca %"tango.text.Regex.TNFAState!(dchar).TNFAState"*, align 4 ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"**> [#uses=5]
+ %.frame = alloca %nest.clone, align 8 ; <%nest.clone*> [#uses=3]
+ store %"tango.text.Regex.TNFAState!(dchar).TNFAState"* %s_arg, %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %s
+ %s2 = getelementptr %nest.clone* %.frame, i32 0, i32 0 ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"**> [#uses=7]
+ %this = getelementptr %nest.clone* %.frame, i32 0, i32 1 ; <%"tango.text.Regex.TNFA!(dchar).TNFA"**> [#uses=1]
+ store %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, %"tango.text.Regex.TNFA!(dchar).TNFA"** %this
+ %tmp3 = icmp eq %"tango.text.Regex.TNFAState!(dchar).TNFAState"* %s_arg, null ; <i1> [#uses=1]
+ br i1 %tmp3, label %if, label %endif
+
+if: ; preds = %entry
+ ret %"tango.text.Regex.TNFAState!(dchar).TNFAState"* null
+
+endif: ; preds = %entry
+ %tmp6 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 10 ; <i8**> [#uses=2]
+ %tmp7 = load i8** %tmp6 ; <i8*> [#uses=1]
+ %tmp8 = bitcast i8* %tmp7 to %32* ; <%32*> [#uses=1]
+ %tmp9 = bitcast %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %s to i8* ; <i8*> [#uses=2]
+ %aa.in = call i8* @_aaIn(%32* nocapture %tmp8, %object.TypeInfo* bitcast (%object.TypeInfo_Class* @_D55TypeInfo_C5tango4text5Regex16__T9TNFAStateTwZ9TNFAState6__initZ to %object.TypeInfo*), i8* nocapture %tmp9) readonly ; <i8*> [#uses=2]
+ %tmp12 = icmp eq i8* %aa.in, null ; <i1> [#uses=1]
+ br i1 %tmp12, label %endif14, label %if13
+
+if13: ; preds = %endif
+ %tmp10 = bitcast i8* %aa.in to %"tango.text.Regex.TNFAState!(dchar).TNFAState"** ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"**> [#uses=1]
+ %tmp16 = load %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %tmp10 ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"*> [#uses=1]
+ ret %"tango.text.Regex.TNFAState!(dchar).TNFAState"* %tmp16
+
+endif14: ; preds = %endif
+ %.newclass_gc_alloc = call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex16__T9TNFAStateTwZ9TNFAState7__ClassZ) ; <i8*> [#uses=5]
+ %.newclass_gc = bitcast i8* %.newclass_gc_alloc to %"tango.text.Regex.TNFAState!(dchar).TNFAState"* ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"*> [#uses=1]
+ %vtbl = bitcast i8* %.newclass_gc_alloc to %object.ModuleInfo.__vtbl** ; <%object.ModuleInfo.__vtbl**> [#uses=1]
+ store %object.ModuleInfo.__vtbl* @_D5tango4text5Regex16__T9TNFAStateTwZ9TNFAState6__vtblZ, %object.ModuleInfo.__vtbl** %vtbl
+ %monitor = getelementptr i8* %.newclass_gc_alloc, i32 4 ; <i8*> [#uses=1]
+ %0 = bitcast i8* %monitor to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %0
+ %tmp18 = getelementptr i8* %.newclass_gc_alloc, i32 8 ; <i8*> [#uses=1]
+ call void @llvm.memcpy.i32(i8* %tmp18, i8* bitcast (i1* getelementptr (%"tango.text.Regex.TNFAState!(dchar).TNFAState"* @_D5tango4text5Regex16__T9TNFAStateTwZ9TNFAState6__initZ, i32 0, i32 2) to i8*), i32 12, i32 1)
+ %tmp1.i = getelementptr i8* %.newclass_gc_alloc, i32 16 ; <i8*> [#uses=1]
+ %1 = bitcast i8* %tmp1.i to %"tango.text.Regex.List!(TNFATransition).List"** ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
+ %.newclass_gc_alloc.i = call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7__ClassZ) ; <i8*> [#uses=4]
+ %.newclass_gc.i = bitcast i8* %.newclass_gc_alloc.i to %"tango.text.Regex.List!(TNFATransition).List"* ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
+ %vtbl.i = bitcast i8* %.newclass_gc_alloc.i to %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ store %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__vtblZ, %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %vtbl.i
+ %monitor.i = getelementptr i8* %.newclass_gc_alloc.i, i32 4 ; <i8*> [#uses=1]
+ %2 = bitcast i8* %monitor.i to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %2
+ %tmp2.i = getelementptr i8* %.newclass_gc_alloc.i, i32 8 ; <i8*> [#uses=1]
+ call void @llvm.memcpy.i32(i8* %tmp2.i, i8* bitcast (i32* getelementptr (%"tango.text.Regex.List!(TNFATransition).List"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__initZ, i32 0, i32 2) to i8*), i32 12, i32 1)
+ store %"tango.text.Regex.List!(TNFATransition).List"* %.newclass_gc.i, %"tango.text.Regex.List!(TNFATransition).List"** %1
+ store %"tango.text.Regex.TNFAState!(dchar).TNFAState"* %.newclass_gc, %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %s2, align 8
+ %tmp25 = bitcast i8** %tmp6 to %32* ; <%32*> [#uses=1]
+ %aa.index = call i8* @_aaGet(%32* nocapture %tmp25, %object.TypeInfo* bitcast (%object.TypeInfo_Class* @_D55TypeInfo_C5tango4text5Regex16__T9TNFAStateTwZ9TNFAState6__initZ to %object.TypeInfo*), i32 4, i8* nocapture %tmp9) ; <i8*> [#uses=1]
+ %tmp27 = bitcast i8* %aa.index to %"tango.text.Regex.TNFAState!(dchar).TNFAState"** ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"**> [#uses=1]
+ %tmp28 = load %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %s2, align 8 ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"*> [#uses=1]
+ store %"tango.text.Regex.TNFAState!(dchar).TNFAState"* %tmp28, %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %tmp27
+ %tmp29 = load %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %s2, align 8 ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"*> [#uses=1]
+ %tmp30 = getelementptr %"tango.text.Regex.TNFAState!(dchar).TNFAState"* %tmp29, i32 0, i32 2 ; <i1*> [#uses=1]
+ %tmp31 = load %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %s ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"*> [#uses=1]
+ %tmp32 = getelementptr %"tango.text.Regex.TNFAState!(dchar).TNFAState"* %tmp31, i32 0, i32 2 ; <i1*> [#uses=1]
+ %tmp33 = load i1* %tmp32 ; <i1> [#uses=1]
+ store i1 %tmp33, i1* %tmp30
+ %tmp34 = load %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %s2, align 8 ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"*> [#uses=1]
+ %tmp35 = getelementptr %"tango.text.Regex.TNFAState!(dchar).TNFAState"* %tmp34, i32 0, i32 3 ; <i1*> [#uses=1]
+ %tmp36 = load %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %s ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"*> [#uses=1]
+ %tmp37 = getelementptr %"tango.text.Regex.TNFAState!(dchar).TNFAState"* %tmp36, i32 0, i32 3 ; <i1*> [#uses=1]
+ %tmp38 = load i1* %tmp37 ; <i1> [#uses=1]
+ store i1 %tmp38, i1* %tmp35
+ %tmp39 = load %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %s ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"*> [#uses=1]
+ %tmp40 = getelementptr %"tango.text.Regex.TNFAState!(dchar).TNFAState"* %tmp39, i32 0, i32 5 ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
+ %tmp41 = load %"tango.text.Regex.List!(TNFATransition).List"** %tmp40 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
+ %tmp42 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp41, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ %tmp43 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp42 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
+ %"s.transitions.opApply@vtbl" = getelementptr %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* %tmp43, i32 0, i32 20 ; <i32 (%"tango.text.Regex.List!(TNFATransition).List"*, %"int delegate(ref TNFATransition)")**> [#uses=1]
+ %s.transitions.opApply = load i32 (%"tango.text.Regex.List!(TNFATransition).List"*, %"int delegate(ref TNFATransition)")** %"s.transitions.opApply@vtbl", align 4 ; <i32 (%"tango.text.Regex.List!(TNFATransition).List"*, %"int delegate(ref TNFATransition)")*> [#uses=1]
+ %tmp45 = bitcast %nest.clone* %.frame to i8* ; <i8*> [#uses=1]
+ %tmp46 = insertvalue %"int delegate(ref TNFATransition)" undef, i8* %tmp45, 0 ; <%"int delegate(ref TNFATransition)"> [#uses=1]
+ %.func = insertvalue %"int delegate(ref TNFATransition)" %tmp46, i32 (i8*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"**)* @_D5tango4text5Regex11__T4TNFATwZ4TNFA5cloneMFC5tango4text5Regex16__T9TNFAStateTwZ9TNFAStateZC5tango4text5Regex16__T9TNFAStateTwZ9TNFAState15__foreachbody47MFKC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZi, 1 ; <%"int delegate(ref TNFATransition)"> [#uses=1]
+ %tmp47 = call fastcc i32 %s.transitions.opApply(%"tango.text.Regex.List!(TNFATransition).List"* %tmp41, %"int delegate(ref TNFATransition)" %.func) ; <i32> [#uses=0]
+ %tmp48 = load %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %s2, align 8 ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"*> [#uses=1]
+ %tmp49 = getelementptr %"tango.text.Regex.TNFAState!(dchar).TNFAState"* %tmp48, i32 0, i32 4 ; <i32*> [#uses=1]
+ %tmp52 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 3, i32 0 ; <i32*> [#uses=3]
+ %.len = load i32* %tmp52 ; <i32> [#uses=1]
+ store i32 %.len, i32* %tmp49
+ %.len56 = load i32* %tmp52 ; <i32> [#uses=3]
+ %tmp57 = add i32 %.len56, 1 ; <i32> [#uses=2]
+ %tmp60 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 3, i32 1 ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"***> [#uses=2]
+ %.ptr = load %"tango.text.Regex.TNFAState!(dchar).TNFAState"*** %tmp60 ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"**> [#uses=1]
+ %tmp61 = bitcast %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %.ptr to i8* ; <i8*> [#uses=1]
+ %.gc_mem = call i8* @_d_arraysetlengthT(%object.TypeInfo* bitcast (%object.TypeInfo_Array* @_D56TypeInfo_AC5tango4text5Regex16__T9TNFAStateTwZ9TNFAState6__initZ to %object.TypeInfo*), i32 %tmp57, i32 %.len56, i8* %tmp61) ; <i8*> [#uses=1]
+ %.gc_mem62 = bitcast i8* %.gc_mem to %"tango.text.Regex.TNFAState!(dchar).TNFAState"** ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"**> [#uses=2]
+ %tmp63 = getelementptr %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %.gc_mem62, i32 %.len56 ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"**> [#uses=1]
+ %tmp64 = load %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %s2, align 8 ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"*> [#uses=1]
+ store %"tango.text.Regex.TNFAState!(dchar).TNFAState"* %tmp64, %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %tmp63
+ store i32 %tmp57, i32* %tmp52
+ store %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %.gc_mem62, %"tango.text.Regex.TNFAState!(dchar).TNFAState"*** %tmp60
+ %tmp67 = load %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %s2, align 8 ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"*> [#uses=1]
+ ret %"tango.text.Regex.TNFAState!(dchar).TNFAState"* %tmp67
+}
+
+define weak_odr fastcc %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* @_D5tango4text5Regex11__T4TNFATwZ4TNFA5cloneMFC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment(%"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %f_arg) {
+entry:
+ %.frame = alloca %33, align 8 ; <%33*> [#uses=3]
+ %f2 = getelementptr %33* %.frame, i32 0, i32 0 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"**> [#uses=2]
+ %this = getelementptr %33* %.frame, i32 0, i32 1 ; <%"tango.text.Regex.TNFA!(dchar).TNFA"**> [#uses=1]
+ store %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, %"tango.text.Regex.TNFA!(dchar).TNFA"** %this
+ %tmp3 = icmp eq %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %f_arg, null ; <i1> [#uses=1]
+ br i1 %tmp3, label %if, label %endif
+
+if: ; preds = %entry
+ ret %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* null
+
+endif: ; preds = %entry
+ %tmp5 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 10 ; <i8**> [#uses=1]
+ store i8* null, i8** %tmp5
+ %tmp7 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 11 ; <i8**> [#uses=1]
+ store i8* null, i8** %tmp7
+ %.newclass_gc_alloc = call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment7__ClassZ) ; <i8*> [#uses=7]
+ %.newclass_gc = bitcast i8* %.newclass_gc_alloc to %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*> [#uses=1]
+ %vtbl = bitcast i8* %.newclass_gc_alloc to %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"** ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"**> [#uses=1]
+ store %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"* @_D5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment6__vtblZ, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"** %vtbl
+ %monitor = getelementptr i8* %.newclass_gc_alloc, i32 4 ; <i8*> [#uses=1]
+ %0 = bitcast i8* %monitor to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %0
+ %tmp8 = getelementptr i8* %.newclass_gc_alloc, i32 8 ; <i8*> [#uses=2]
+ call void @llvm.memcpy.i32(i8* %tmp8, i8* bitcast (%"tango.text.Regex.List!(TNFATransition).List"** getelementptr (%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* @_D5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment6__initZ, i32 0, i32 2) to i8*), i32 17, i32 1)
+ %1 = bitcast i8* %tmp8 to %"tango.text.Regex.List!(TNFATransition).List"** ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
+ %.newclass_gc_alloc.i = call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7__ClassZ) ; <i8*> [#uses=4]
+ %.newclass_gc.i = bitcast i8* %.newclass_gc_alloc.i to %"tango.text.Regex.List!(TNFATransition).List"* ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
+ %vtbl.i = bitcast i8* %.newclass_gc_alloc.i to %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ store %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__vtblZ, %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %vtbl.i
+ %monitor.i = getelementptr i8* %.newclass_gc_alloc.i, i32 4 ; <i8*> [#uses=1]
+ %2 = bitcast i8* %monitor.i to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %2
+ %tmp2.i = getelementptr i8* %.newclass_gc_alloc.i, i32 8 ; <i8*> [#uses=1]
+ call void @llvm.memcpy.i32(i8* %tmp2.i, i8* bitcast (i32* getelementptr (%"tango.text.Regex.List!(TNFATransition).List"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__initZ, i32 0, i32 2) to i8*), i32 12, i32 1)
+ store %"tango.text.Regex.List!(TNFATransition).List"* %.newclass_gc.i, %"tango.text.Regex.List!(TNFATransition).List"** %1
+ %tmp7.i = getelementptr i8* %.newclass_gc_alloc, i32 12 ; <i8*> [#uses=1]
+ %3 = bitcast i8* %tmp7.i to %"tango.text.Regex.List!(TNFATransition).List"** ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
+ %.newclass_gc_alloc8.i = call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7__ClassZ) ; <i8*> [#uses=4]
+ %.newclass_gc9.i = bitcast i8* %.newclass_gc_alloc8.i to %"tango.text.Regex.List!(TNFATransition).List"* ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
+ %vtbl10.i = bitcast i8* %.newclass_gc_alloc8.i to %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ store %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__vtblZ, %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %vtbl10.i
+ %monitor11.i = getelementptr i8* %.newclass_gc_alloc8.i, i32 4 ; <i8*> [#uses=1]
+ %4 = bitcast i8* %monitor11.i to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %4
+ %tmp12.i = getelementptr i8* %.newclass_gc_alloc8.i, i32 8 ; <i8*> [#uses=1]
+ call void @llvm.memcpy.i32(i8* %tmp12.i, i8* bitcast (i32* getelementptr (%"tango.text.Regex.List!(TNFATransition).List"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__initZ, i32 0, i32 2) to i8*), i32 12, i32 1)
+ store %"tango.text.Regex.List!(TNFATransition).List"* %.newclass_gc9.i, %"tango.text.Regex.List!(TNFATransition).List"** %3
+ %tmp17.i = getelementptr i8* %.newclass_gc_alloc, i32 16 ; <i8*> [#uses=1]
+ %5 = bitcast i8* %tmp17.i to %"tango.text.Regex.List!(TNFATransition).List"** ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
+ %.newclass_gc_alloc18.i = call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7__ClassZ) ; <i8*> [#uses=4]
+ %.newclass_gc19.i = bitcast i8* %.newclass_gc_alloc18.i to %"tango.text.Regex.List!(TNFATransition).List"* ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
+ %vtbl20.i = bitcast i8* %.newclass_gc_alloc18.i to %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ store %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__vtblZ, %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %vtbl20.i
+ %monitor21.i = getelementptr i8* %.newclass_gc_alloc18.i, i32 4 ; <i8*> [#uses=1]
+ %6 = bitcast i8* %monitor21.i to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %6
+ %tmp22.i = getelementptr i8* %.newclass_gc_alloc18.i, i32 8 ; <i8*> [#uses=1]
+ call void @llvm.memcpy.i32(i8* %tmp22.i, i8* bitcast (i32* getelementptr (%"tango.text.Regex.List!(TNFATransition).List"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__initZ, i32 0, i32 2) to i8*), i32 12, i32 1)
+ store %"tango.text.Regex.List!(TNFATransition).List"* %.newclass_gc19.i, %"tango.text.Regex.List!(TNFATransition).List"** %5
+ %tmp27.i = getelementptr i8* %.newclass_gc_alloc, i32 20 ; <i8*> [#uses=1]
+ %7 = bitcast i8* %tmp27.i to %"tango.text.Regex.List!(TNFATransition).List"** ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
+ %.newclass_gc_alloc28.i = call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7__ClassZ) ; <i8*> [#uses=4]
+ %.newclass_gc29.i = bitcast i8* %.newclass_gc_alloc28.i to %"tango.text.Regex.List!(TNFATransition).List"* ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
+ %vtbl30.i = bitcast i8* %.newclass_gc_alloc28.i to %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ store %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__vtblZ, %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %vtbl30.i
+ %monitor31.i = getelementptr i8* %.newclass_gc_alloc28.i, i32 4 ; <i8*> [#uses=1]
+ %8 = bitcast i8* %monitor31.i to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %8
+ %tmp32.i = getelementptr i8* %.newclass_gc_alloc28.i, i32 8 ; <i8*> [#uses=1]
+ call void @llvm.memcpy.i32(i8* %tmp32.i, i8* bitcast (i32* getelementptr (%"tango.text.Regex.List!(TNFATransition).List"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__initZ, i32 0, i32 2) to i8*), i32 12, i32 1)
+ store %"tango.text.Regex.List!(TNFATransition).List"* %.newclass_gc29.i, %"tango.text.Regex.List!(TNFATransition).List"** %7
+ store %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %.newclass_gc, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"** %f2, align 8
+ %tmp14 = getelementptr %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %f_arg, i32 0, i32 2 ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
+ %tmp15 = load %"tango.text.Regex.List!(TNFATransition).List"** %tmp14 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
+ %tmp16 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp15, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ %tmp17 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp16 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
+ %"f.entries.opApply@vtbl" = getelementptr %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* %tmp17, i32 0, i32 20 ; <i32 (%"tango.text.Regex.List!(TNFATransition).List"*, %"int delegate(ref TNFATransition)")**> [#uses=1]
+ %f.entries.opApply = load i32 (%"tango.text.Regex.List!(TNFATransition).List"*, %"int delegate(ref TNFATransition)")** %"f.entries.opApply@vtbl", align 4 ; <i32 (%"tango.text.Regex.List!(TNFATransition).List"*, %"int delegate(ref TNFATransition)")*> [#uses=1]
+ %tmp19 = bitcast %33* %.frame to i8* ; <i8*> [#uses=4]
+ %tmp20 = insertvalue %"int delegate(ref TNFATransition)" undef, i8* %tmp19, 0 ; <%"int delegate(ref TNFATransition)"> [#uses=1]
+ %.func = insertvalue %"int delegate(ref TNFATransition)" %tmp20, i32 (i8*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"**)* @_D5tango4text5Regex11__T4TNFATwZ4TNFA5cloneMFC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment15__foreachbody48MFKC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZi, 1 ; <%"int delegate(ref TNFATransition)"> [#uses=1]
+ %tmp21 = call fastcc i32 %f.entries.opApply(%"tango.text.Regex.List!(TNFATransition).List"* %tmp15, %"int delegate(ref TNFATransition)" %.func) ; <i32> [#uses=0]
+ %tmp23 = getelementptr %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %f_arg, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
+ %tmp24 = load %"tango.text.Regex.List!(TNFATransition).List"** %tmp23 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
+ %tmp25 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp24, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ %tmp26 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp25 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
+ %"f.exits.opApply@vtbl" = getelementptr %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* %tmp26, i32 0, i32 20 ; <i32 (%"tango.text.Regex.List!(TNFATransition).List"*, %"int delegate(ref TNFATransition)")**> [#uses=1]
+ %f.exits.opApply = load i32 (%"tango.text.Regex.List!(TNFATransition).List"*, %"int delegate(ref TNFATransition)")** %"f.exits.opApply@vtbl", align 4 ; <i32 (%"tango.text.Regex.List!(TNFATransition).List"*, %"int delegate(ref TNFATransition)")*> [#uses=1]
+ %tmp29 = insertvalue %"int delegate(ref TNFATransition)" undef, i8* %tmp19, 0 ; <%"int delegate(ref TNFATransition)"> [#uses=1]
+ %.func30 = insertvalue %"int delegate(ref TNFATransition)" %tmp29, i32 (i8*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"**)* @_D5tango4text5Regex11__T4TNFATwZ4TNFA5cloneMFC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment15__foreachbody49MFKC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZi, 1 ; <%"int delegate(ref TNFATransition)"> [#uses=1]
+ %tmp31 = call fastcc i32 %f.exits.opApply(%"tango.text.Regex.List!(TNFATransition).List"* %tmp24, %"int delegate(ref TNFATransition)" %.func30) ; <i32> [#uses=0]
+ %tmp33 = getelementptr %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %f_arg, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
+ %tmp34 = load %"tango.text.Regex.List!(TNFATransition).List"** %tmp33 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
+ %tmp35 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp34, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ %tmp36 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp35 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
+ %"f.entry_state.opApply@vtbl" = getelementptr %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* %tmp36, i32 0, i32 20 ; <i32 (%"tango.text.Regex.List!(TNFATransition).List"*, %"int delegate(ref TNFATransition)")**> [#uses=1]
+ %f.entry_state.opApply = load i32 (%"tango.text.Regex.List!(TNFATransition).List"*, %"int delegate(ref TNFATransition)")** %"f.entry_state.opApply@vtbl", align 4 ; <i32 (%"tango.text.Regex.List!(TNFATransition).List"*, %"int delegate(ref TNFATransition)")*> [#uses=1]
+ %tmp39 = insertvalue %"int delegate(ref TNFATransition)" undef, i8* %tmp19, 0 ; <%"int delegate(ref TNFATransition)"> [#uses=1]
+ %.func40 = insertvalue %"int delegate(ref TNFATransition)" %tmp39, i32 (i8*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"**)* @_D5tango4text5Regex11__T4TNFATwZ4TNFA5cloneMFC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment15__foreachbody50MFKC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZi, 1 ; <%"int delegate(ref TNFATransition)"> [#uses=1]
+ %tmp41 = call fastcc i32 %f.entry_state.opApply(%"tango.text.Regex.List!(TNFATransition).List"* %tmp34, %"int delegate(ref TNFATransition)" %.func40) ; <i32> [#uses=0]
+ %tmp43 = getelementptr %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %f_arg, i32 0, i32 5 ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
+ %tmp44 = load %"tango.text.Regex.List!(TNFATransition).List"** %tmp43 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
+ %tmp45 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp44, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ %tmp46 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp45 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
+ %"f.exit_state.opApply@vtbl" = getelementptr %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* %tmp46, i32 0, i32 20 ; <i32 (%"tango.text.Regex.List!(TNFATransition).List"*, %"int delegate(ref TNFATransition)")**> [#uses=1]
+ %f.exit_state.opApply = load i32 (%"tango.text.Regex.List!(TNFATransition).List"*, %"int delegate(ref TNFATransition)")** %"f.exit_state.opApply@vtbl", align 4 ; <i32 (%"tango.text.Regex.List!(TNFATransition).List"*, %"int delegate(ref TNFATransition)")*> [#uses=1]
+ %tmp49 = insertvalue %"int delegate(ref TNFATransition)" undef, i8* %tmp19, 0 ; <%"int delegate(ref TNFATransition)"> [#uses=1]
+ %.func50 = insertvalue %"int delegate(ref TNFATransition)" %tmp49, i32 (i8*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"**)* @_D5tango4text5Regex11__T4TNFATwZ4TNFA5cloneMFC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment15__foreachbody51MFKC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZi, 1 ; <%"int delegate(ref TNFATransition)"> [#uses=1]
+ %tmp51 = call fastcc i32 %f.exit_state.opApply(%"tango.text.Regex.List!(TNFATransition).List"* %tmp44, %"int delegate(ref TNFATransition)" %.func50) ; <i32> [#uses=0]
+ %tmp52 = load %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"** %f2, align 8 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*> [#uses=1]
+ ret %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %tmp52
+}
+
+define weak_odr fastcc %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* @_D5tango4text5Regex11__T4TNFATwZ4TNFA19constructSingleCharMFwE5tango4text5Regex16__T9PredicateTwZ9Predicate4TypeZC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment(%"tango.text.Regex.TNFA!(dchar).TNFA"* nocapture %.this_arg, i32 %c_arg, i32 %type_arg) {
+entry:
+ %.newclass_gc_alloc.i = call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransition7__ClassZ) ; <i8*> [#uses=8]
+ %.newclass_gc.i = bitcast i8* %.newclass_gc_alloc.i to %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*> [#uses=3]
+ %vtbl.i = bitcast i8* %.newclass_gc_alloc.i to %object.ModuleInfo.__vtbl** ; <%object.ModuleInfo.__vtbl**> [#uses=1]
+ store %object.ModuleInfo.__vtbl* @_D5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransition6__vtblZ, %object.ModuleInfo.__vtbl** %vtbl.i
+ %monitor.i = getelementptr i8* %.newclass_gc_alloc.i, i32 4 ; <i8*> [#uses=1]
+ %0 = bitcast i8* %monitor.i to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %0
+ %tmp.i = getelementptr i8* %.newclass_gc_alloc.i, i32 8 ; <i8*> [#uses=1]
+ call void @llvm.memcpy.i32(i8* %tmp.i, i8* bitcast (%"tango.text.Regex.TNFAState!(dchar).TNFAState"** getelementptr (%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* @_D5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransition6__initZ, i32 0, i32 2) to i8*), i32 44, i32 1)
+ %tmp1.i.i = getelementptr i8* %.newclass_gc_alloc.i, i32 48 ; <i8*> [#uses=1]
+ %1 = bitcast i8* %tmp1.i.i to i32* ; <i32*> [#uses=1]
+ store i32 1, i32* %1
+ %tmp7.i = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 9 ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
+ %tmp8.i = load %"tango.text.Regex.List!(TNFATransition).List"** %tmp7.i ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
+ %tmp9.i = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp8.i, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ %tmp10.i = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp9.i ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
+ %"this.transitions.opCatAssign@vtbl.i" = getelementptr %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* %tmp10.i, i32 0, i32 5 ; <%"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)**> [#uses=1]
+ %this.transitions.opCatAssign.i = load %"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)** %"this.transitions.opCatAssign@vtbl.i", align 4 ; <%"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)*> [#uses=1]
+ %tmp13.i = call fastcc %"tango.text.Regex.List!(TNFATransition).List"* %this.transitions.opCatAssign.i(%"tango.text.Regex.List!(TNFATransition).List"* %tmp8.i, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %.newclass_gc.i) ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=0]
+ %tmp2.i.i = getelementptr i8* %.newclass_gc_alloc.i, i32 12 ; <i8*> [#uses=1]
+ %2 = bitcast i8* %tmp2.i.i to i32* ; <i32*> [#uses=2]
+ %.len.i.i = load i32* %2 ; <i32> [#uses=3]
+ %tmp3.i.i = add i32 %.len.i.i, 1 ; <i32> [#uses=2]
+ %tmp6.i.i = getelementptr i8* %.newclass_gc_alloc.i, i32 16 ; <i8*> [#uses=1]
+ %3 = bitcast i8* %tmp6.i.i to %tango.net.Socket.timeval** ; <%tango.net.Socket.timeval**> [#uses=2]
+ %.ptr.i.i = load %tango.net.Socket.timeval** %3 ; <%tango.net.Socket.timeval*> [#uses=1]
+ %tmp7.i.i = bitcast %tango.net.Socket.timeval* %.ptr.i.i to i8* ; <i8*> [#uses=1]
+ %.gc_mem.i.i = call i8* @_d_arraysetlengthiT(%object.TypeInfo* bitcast (%object.TypeInfo_Array* @_D56TypeInfo_AS5tango4text5Regex16__T9CharRangeTwZ9CharRange6__initZ to %object.TypeInfo*), i32 %tmp3.i.i, i32 %.len.i.i, i8* %tmp7.i.i) ; <i8*> [#uses=1]
+ %.gc_mem8.i.i = bitcast i8* %.gc_mem.i.i to %tango.net.Socket.timeval* ; <%tango.net.Socket.timeval*> [#uses=2]
+ %tmp9.i.i = getelementptr %tango.net.Socket.timeval* %.gc_mem8.i.i, i32 %.len.i.i ; <%tango.net.Socket.timeval*> [#uses=1]
+ %tmp1015.i.i = bitcast %tango.net.Socket.timeval* %tmp9.i.i to i64* ; <i64*> [#uses=1]
+ %4 = zext i32 %c_arg to i64 ; <i64> [#uses=2]
+ %5 = shl i64 %4, 32 ; <i64> [#uses=1]
+ %6 = or i64 %4, %5 ; <i64> [#uses=1]
+ store i64 %6, i64* %tmp1015.i.i, align 1
+ store i32 %tmp3.i.i, i32* %2
+ store %tango.net.Socket.timeval* %.gc_mem8.i.i, %tango.net.Socket.timeval** %3
+ %tmp7 = getelementptr i8* %.newclass_gc_alloc.i, i32 20 ; <i8*> [#uses=1]
+ %7 = bitcast i8* %tmp7 to i32* ; <i32*> [#uses=1]
+ store i32 %type_arg, i32* %7
+ %.newclass_gc_alloc = call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment7__ClassZ) ; <i8*> [#uses=7]
+ %.newclass_gc = bitcast i8* %.newclass_gc_alloc to %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*> [#uses=1]
+ %vtbl = bitcast i8* %.newclass_gc_alloc to %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"** ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"**> [#uses=1]
+ store %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"* @_D5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment6__vtblZ, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"** %vtbl
+ %monitor = getelementptr i8* %.newclass_gc_alloc, i32 4 ; <i8*> [#uses=1]
+ %8 = bitcast i8* %monitor to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %8
+ %tmp9 = getelementptr i8* %.newclass_gc_alloc, i32 8 ; <i8*> [#uses=2]
+ call void @llvm.memcpy.i32(i8* %tmp9, i8* bitcast (%"tango.text.Regex.List!(TNFATransition).List"** getelementptr (%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* @_D5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment6__initZ, i32 0, i32 2) to i8*), i32 17, i32 1)
+ %9 = bitcast i8* %tmp9 to %"tango.text.Regex.List!(TNFATransition).List"** ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
+ %.newclass_gc_alloc.i32 = call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7__ClassZ) ; <i8*> [#uses=5]
+ %.newclass_gc.i33 = bitcast i8* %.newclass_gc_alloc.i32 to %"tango.text.Regex.List!(TNFATransition).List"* ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
+ %vtbl.i34 = bitcast i8* %.newclass_gc_alloc.i32 to %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ store %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__vtblZ, %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %vtbl.i34
+ %monitor.i35 = getelementptr i8* %.newclass_gc_alloc.i32, i32 4 ; <i8*> [#uses=1]
+ %10 = bitcast i8* %monitor.i35 to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %10
+ %tmp2.i = getelementptr i8* %.newclass_gc_alloc.i32, i32 8 ; <i8*> [#uses=1]
+ call void @llvm.memcpy.i32(i8* %tmp2.i, i8* bitcast (i32* getelementptr (%"tango.text.Regex.List!(TNFATransition).List"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__initZ, i32 0, i32 2) to i8*), i32 12, i32 1)
+ store %"tango.text.Regex.List!(TNFATransition).List"* %.newclass_gc.i33, %"tango.text.Regex.List!(TNFATransition).List"** %9
+ %tmp7.i36 = getelementptr i8* %.newclass_gc_alloc, i32 12 ; <i8*> [#uses=1]
+ %11 = bitcast i8* %tmp7.i36 to %"tango.text.Regex.List!(TNFATransition).List"** ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
+ %.newclass_gc_alloc8.i = call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7__ClassZ) ; <i8*> [#uses=4]
+ %.newclass_gc9.i = bitcast i8* %.newclass_gc_alloc8.i to %"tango.text.Regex.List!(TNFATransition).List"* ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
+ %vtbl10.i = bitcast i8* %.newclass_gc_alloc8.i to %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ store %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__vtblZ, %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %vtbl10.i
+ %monitor11.i = getelementptr i8* %.newclass_gc_alloc8.i, i32 4 ; <i8*> [#uses=1]
+ %12 = bitcast i8* %monitor11.i to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %12
+ %tmp12.i = getelementptr i8* %.newclass_gc_alloc8.i, i32 8 ; <i8*> [#uses=1]
+ call void @llvm.memcpy.i32(i8* %tmp12.i, i8* bitcast (i32* getelementptr (%"tango.text.Regex.List!(TNFATransition).List"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__initZ, i32 0, i32 2) to i8*), i32 12, i32 1)
+ store %"tango.text.Regex.List!(TNFATransition).List"* %.newclass_gc9.i, %"tango.text.Regex.List!(TNFATransition).List"** %11
+ %tmp17.i = getelementptr i8* %.newclass_gc_alloc, i32 16 ; <i8*> [#uses=1]
+ %13 = bitcast i8* %tmp17.i to %"tango.text.Regex.List!(TNFATransition).List"** ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
+ %.newclass_gc_alloc18.i = call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7__ClassZ) ; <i8*> [#uses=4]
+ %.newclass_gc19.i = bitcast i8* %.newclass_gc_alloc18.i to %"tango.text.Regex.List!(TNFATransition).List"* ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
+ %vtbl20.i = bitcast i8* %.newclass_gc_alloc18.i to %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ store %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__vtblZ, %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %vtbl20.i
+ %monitor21.i = getelementptr i8* %.newclass_gc_alloc18.i, i32 4 ; <i8*> [#uses=1]
+ %14 = bitcast i8* %monitor21.i to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %14
+ %tmp22.i = getelementptr i8* %.newclass_gc_alloc18.i, i32 8 ; <i8*> [#uses=1]
+ call void @llvm.memcpy.i32(i8* %tmp22.i, i8* bitcast (i32* getelementptr (%"tango.text.Regex.List!(TNFATransition).List"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__initZ, i32 0, i32 2) to i8*), i32 12, i32 1)
+ store %"tango.text.Regex.List!(TNFATransition).List"* %.newclass_gc19.i, %"tango.text.Regex.List!(TNFATransition).List"** %13
+ %tmp27.i = getelementptr i8* %.newclass_gc_alloc, i32 20 ; <i8*> [#uses=1]
+ %15 = bitcast i8* %tmp27.i to %"tango.text.Regex.List!(TNFATransition).List"** ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
+ %.newclass_gc_alloc28.i = call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7__ClassZ) ; <i8*> [#uses=5]
+ %.newclass_gc29.i = bitcast i8* %.newclass_gc_alloc28.i to %"tango.text.Regex.List!(TNFATransition).List"* ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
+ %vtbl30.i = bitcast i8* %.newclass_gc_alloc28.i to %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ store %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__vtblZ, %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %vtbl30.i
+ %monitor31.i = getelementptr i8* %.newclass_gc_alloc28.i, i32 4 ; <i8*> [#uses=1]
+ %16 = bitcast i8* %monitor31.i to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %16
+ %tmp32.i = getelementptr i8* %.newclass_gc_alloc28.i, i32 8 ; <i8*> [#uses=1]
+ call void @llvm.memcpy.i32(i8* %tmp32.i, i8* bitcast (i32* getelementptr (%"tango.text.Regex.List!(TNFATransition).List"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__initZ, i32 0, i32 2) to i8*), i32 12, i32 1)
+ store %"tango.text.Regex.List!(TNFATransition).List"* %.newclass_gc29.i, %"tango.text.Regex.List!(TNFATransition).List"** %15
+ %tmp17 = bitcast i8* %.newclass_gc_alloc28.i to %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ %tmp18 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp17 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
+ %"frag.exit_state.opCatAssign@vtbl" = getelementptr %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* %tmp18, i32 0, i32 5 ; <%"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)**> [#uses=1]
+ %frag.exit_state.opCatAssign = load %"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)** %"frag.exit_state.opCatAssign@vtbl", align 4 ; <%"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)*> [#uses=1]
+ %tmp21 = call fastcc %"tango.text.Regex.List!(TNFATransition).List"* %frag.exit_state.opCatAssign(%"tango.text.Regex.List!(TNFATransition).List"* %.newclass_gc29.i, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %.newclass_gc.i) ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=0]
+ %tmp25 = bitcast i8* %.newclass_gc_alloc.i32 to %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ %tmp26 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp25 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
+ %"frag.entries.opCatAssign@vtbl" = getelementptr %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* %tmp26, i32 0, i32 5 ; <%"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)**> [#uses=1]
+ %frag.entries.opCatAssign = load %"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)** %"frag.entries.opCatAssign@vtbl", align 4 ; <%"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)*> [#uses=1]
+ %tmp29 = call fastcc %"tango.text.Regex.List!(TNFATransition).List"* %frag.entries.opCatAssign(%"tango.text.Regex.List!(TNFATransition).List"* %.newclass_gc.i33, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %.newclass_gc.i) ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=0]
+ ret %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %.newclass_gc
+}
+
+define weak_odr fastcc %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* @_D5tango4text5Regex11__T4TNFATwZ4TNFA14constructCharsMFAwE5tango4text5Regex16__T9PredicateTwZ9Predicate4TypeZC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment(%"tango.text.Regex.TNFA!(dchar).TNFA"* nocapture %.this_arg, %"Act[]" %chars_arg, i32 %type_arg) {
+entry:
+ %cc = alloca %"tango.text.Regex.CharClass!(dchar).CharClass", align 8 ; <%"tango.text.Regex.CharClass!(dchar).CharClass"*> [#uses=4]
+ %chars_arg13 = extractvalue %"Act[]" %chars_arg, 0 ; <i32> [#uses=1]
+ %chars_arg14 = extractvalue %"Act[]" %chars_arg, 1 ; <i32*> [#uses=1]
+ %cc15 = bitcast %"tango.text.Regex.CharClass!(dchar).CharClass"* %cc to i64* ; <i64*> [#uses=1]
+ store i64 0, i64* %cc15, align 8
+ br label %forcond
+
+forcond: ; preds = %forbody, %entry
+ %i.0 = phi i32 [ 0, %entry ], [ %tmp9, %forbody ] ; <i32> [#uses=3]
+ %tmp3 = icmp ult i32 %i.0, %chars_arg13 ; <i1> [#uses=1]
+ br i1 %tmp3, label %forbody, label %endfor
+
+forbody: ; preds = %forcond
+ %tmp6 = getelementptr i32* %chars_arg14, i32 %i.0 ; <i32*> [#uses=1]
+ %tmp7 = load i32* %tmp6 ; <i32> [#uses=1]
+ %tmp2.i = getelementptr %"tango.text.Regex.CharClass!(dchar).CharClass"* %cc, i32 0, i32 0, i32 0 ; <i32*> [#uses=2]
+ %.len.i = load i32* %tmp2.i, align 8 ; <i32> [#uses=3]
+ %tmp3.i = add i32 %.len.i, 1 ; <i32> [#uses=2]
+ %tmp6.i = getelementptr %"tango.text.Regex.CharClass!(dchar).CharClass"* %cc, i32 0, i32 0, i32 1 ; <%tango.net.Socket.timeval**> [#uses=2]
+ %.ptr.i = load %tango.net.Socket.timeval** %tmp6.i ; <%tango.net.Socket.timeval*> [#uses=1]
+ %tmp7.i = bitcast %tango.net.Socket.timeval* %.ptr.i to i8* ; <i8*> [#uses=1]
+ %.gc_mem.i = call i8* @_d_arraysetlengthiT(%object.TypeInfo* bitcast (%object.TypeInfo_Array* @_D56TypeInfo_AS5tango4text5Regex16__T9CharRangeTwZ9CharRange6__initZ to %object.TypeInfo*), i32 %tmp3.i, i32 %.len.i, i8* %tmp7.i) ; <i8*> [#uses=1]
+ %.gc_mem8.i = bitcast i8* %.gc_mem.i to %tango.net.Socket.timeval* ; <%tango.net.Socket.timeval*> [#uses=2]
+ %tmp9.i = getelementptr %tango.net.Socket.timeval* %.gc_mem8.i, i32 %.len.i ; <%tango.net.Socket.timeval*> [#uses=1]
+ %tmp1116.i = bitcast %tango.net.Socket.timeval* %tmp9.i to i64* ; <i64*> [#uses=1]
+ %0 = zext i32 %tmp7 to i64 ; <i64> [#uses=2]
+ %1 = shl i64 %0, 32 ; <i64> [#uses=1]
+ %2 = or i64 %0, %1 ; <i64> [#uses=1]
+ store i64 %2, i64* %tmp1116.i, align 1
+ store i32 %tmp3.i, i32* %tmp2.i, align 8
+ store %tango.net.Socket.timeval* %.gc_mem8.i, %tango.net.Socket.timeval** %tmp6.i
+ %tmp9 = add i32 %i.0, 1 ; <i32> [#uses=1]
+ br label %forcond
+
+endfor: ; preds = %forcond
+ %tmp12 = call fastcc %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* @_D5tango4text5Regex11__T4TNFATwZ4TNFA14constructCharsMFS5tango4text5Regex16__T9CharClassTwZ9CharClassE5tango4text5Regex16__T9PredicateTwZ9Predicate4TypeZC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment(%"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, %"tango.text.Regex.CharClass!(dchar).CharClass"* byval %cc, i32 %type_arg) ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*> [#uses=1]
+ ret %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %tmp12
+}
+
+define weak_odr fastcc %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* @_D5tango4text5Regex11__T4TNFATwZ4TNFA14constructCharsMFS5tango4text5Regex16__T9CharClassTwZ9CharClassE5tango4text5Regex16__T9PredicateTwZ9Predicate4TypeZC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment(%"tango.text.Regex.TNFA!(dchar).TNFA"* nocapture %.this_arg, %"tango.text.Regex.CharClass!(dchar).CharClass"* nocapture byval %charclass_arg, i32 %type_arg) {
+entry:
+ %.newclass_gc_alloc.i = call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransition7__ClassZ) ; <i8*> [#uses=7]
+ %.newclass_gc.i = bitcast i8* %.newclass_gc_alloc.i to %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*> [#uses=3]
+ %vtbl.i = bitcast i8* %.newclass_gc_alloc.i to %object.ModuleInfo.__vtbl** ; <%object.ModuleInfo.__vtbl**> [#uses=1]
+ store %object.ModuleInfo.__vtbl* @_D5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransition6__vtblZ, %object.ModuleInfo.__vtbl** %vtbl.i
+ %monitor.i = getelementptr i8* %.newclass_gc_alloc.i, i32 4 ; <i8*> [#uses=1]
+ %0 = bitcast i8* %monitor.i to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %0
+ %tmp.i = getelementptr i8* %.newclass_gc_alloc.i, i32 8 ; <i8*> [#uses=1]
+ call void @llvm.memcpy.i32(i8* %tmp.i, i8* bitcast (%"tango.text.Regex.TNFAState!(dchar).TNFAState"** getelementptr (%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* @_D5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransition6__initZ, i32 0, i32 2) to i8*), i32 44, i32 1)
+ %tmp1.i.i = getelementptr i8* %.newclass_gc_alloc.i, i32 48 ; <i8*> [#uses=1]
+ %1 = bitcast i8* %tmp1.i.i to i32* ; <i32*> [#uses=1]
+ store i32 1, i32* %1
+ %tmp7.i = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 9 ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
+ %tmp8.i = load %"tango.text.Regex.List!(TNFATransition).List"** %tmp7.i ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
+ %tmp9.i = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp8.i, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ %tmp10.i = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp9.i ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
+ %"this.transitions.opCatAssign@vtbl.i" = getelementptr %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* %tmp10.i, i32 0, i32 5 ; <%"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)**> [#uses=1]
+ %this.transitions.opCatAssign.i = load %"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)** %"this.transitions.opCatAssign@vtbl.i", align 4 ; <%"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)*> [#uses=1]
+ %tmp13.i = call fastcc %"tango.text.Regex.List!(TNFATransition).List"* %this.transitions.opCatAssign.i(%"tango.text.Regex.List!(TNFATransition).List"* %tmp8.i, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %.newclass_gc.i) ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=0]
+ %tmp4 = getelementptr i8* %.newclass_gc_alloc.i, i32 20 ; <i8*> [#uses=1]
+ %2 = bitcast i8* %tmp4 to i32* ; <i32*> [#uses=1]
+ store i32 %type_arg, i32* %2
+ %3 = bitcast %"tango.text.Regex.CharClass!(dchar).CharClass"* %charclass_arg to i64* ; <i64*> [#uses=1]
+ %srcval = load i64* %3, align 1 ; <i64> [#uses=2]
+ %tmp51 = lshr i64 %srcval, 32 ; <i64> [#uses=1]
+ %tmp52 = trunc i64 %tmp51 to i32 ; <i32> [#uses=1]
+ %tmp53 = insertvalue %"byte[]" undef, i32 %tmp52, 0 ; <%"byte[]"> [#uses=1]
+ %tmp54 = trunc i64 %srcval to i32 ; <i32> [#uses=1]
+ %tmp55 = inttoptr i32 %tmp54 to i8* ; <i8*> [#uses=1]
+ %tmp56 = insertvalue %"byte[]" %tmp53, i8* %tmp55, 1 ; <%"byte[]"> [#uses=1]
+ %tmp5.i = call %"byte[]" @_adDupT(%object.TypeInfo* bitcast (%object.TypeInfo_Array* @_D56TypeInfo_AS5tango4text5Regex16__T9CharRangeTwZ9CharRange6__initZ to %object.TypeInfo*), %"byte[]" %tmp56) ; <%"byte[]"> [#uses=2]
+ %tmp6.i = extractvalue %"byte[]" %tmp5.i, 0 ; <i32> [#uses=1]
+ %tmp8.i33 = extractvalue %"byte[]" %tmp5.i, 1 ; <i8*> [#uses=1]
+ %tmp59 = zext i32 %tmp6.i to i64 ; <i64> [#uses=1]
+ %tmp60 = shl i64 %tmp59, 32 ; <i64> [#uses=1]
+ %tmp = ptrtoint i8* %tmp8.i33 to i32 ; <i32> [#uses=1]
+ %tmp57 = zext i32 %tmp to i64 ; <i64> [#uses=1]
+ %ins = or i64 %tmp60, %tmp57 ; <i64> [#uses=1]
+ %tmp7 = getelementptr i8* %.newclass_gc_alloc.i, i32 12 ; <i8*> [#uses=2]
+ %tmp25.i = bitcast i8* %tmp7 to i64* ; <i64*> [#uses=1]
+ store i64 %ins, i64* %tmp25.i, align 1
+ %4 = bitcast i8* %tmp7 to %"tango.text.Regex.CharClass!(dchar).CharClass"* ; <%"tango.text.Regex.CharClass!(dchar).CharClass"*> [#uses=1]
+ call fastcc void @_D5tango4text5Regex16__T9CharClassTwZ9CharClass8optimizeMFZv(%"tango.text.Regex.CharClass!(dchar).CharClass"* %4)
+ %.newclass_gc_alloc = call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment7__ClassZ) ; <i8*> [#uses=7]
+ %.newclass_gc = bitcast i8* %.newclass_gc_alloc to %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*> [#uses=1]
+ %vtbl = bitcast i8* %.newclass_gc_alloc to %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"** ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"**> [#uses=1]
+ store %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"* @_D5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment6__vtblZ, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"** %vtbl
+ %monitor = getelementptr i8* %.newclass_gc_alloc, i32 4 ; <i8*> [#uses=1]
+ %5 = bitcast i8* %monitor to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %5
+ %tmp10 = getelementptr i8* %.newclass_gc_alloc, i32 8 ; <i8*> [#uses=2]
+ call void @llvm.memcpy.i32(i8* %tmp10, i8* bitcast (%"tango.text.Regex.List!(TNFATransition).List"** getelementptr (%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* @_D5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment6__initZ, i32 0, i32 2) to i8*), i32 17, i32 1)
+ %6 = bitcast i8* %tmp10 to %"tango.text.Regex.List!(TNFATransition).List"** ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
+ %.newclass_gc_alloc.i39 = call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7__ClassZ) ; <i8*> [#uses=5]
+ %.newclass_gc.i40 = bitcast i8* %.newclass_gc_alloc.i39 to %"tango.text.Regex.List!(TNFATransition).List"* ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
+ %vtbl.i41 = bitcast i8* %.newclass_gc_alloc.i39 to %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ store %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__vtblZ, %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %vtbl.i41
+ %monitor.i42 = getelementptr i8* %.newclass_gc_alloc.i39, i32 4 ; <i8*> [#uses=1]
+ %7 = bitcast i8* %monitor.i42 to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %7
+ %tmp2.i = getelementptr i8* %.newclass_gc_alloc.i39, i32 8 ; <i8*> [#uses=1]
+ call void @llvm.memcpy.i32(i8* %tmp2.i, i8* bitcast (i32* getelementptr (%"tango.text.Regex.List!(TNFATransition).List"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__initZ, i32 0, i32 2) to i8*), i32 12, i32 1)
+ store %"tango.text.Regex.List!(TNFATransition).List"* %.newclass_gc.i40, %"tango.text.Regex.List!(TNFATransition).List"** %6
+ %tmp7.i43 = getelementptr i8* %.newclass_gc_alloc, i32 12 ; <i8*> [#uses=1]
+ %8 = bitcast i8* %tmp7.i43 to %"tango.text.Regex.List!(TNFATransition).List"** ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
+ %.newclass_gc_alloc8.i = call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7__ClassZ) ; <i8*> [#uses=4]
+ %.newclass_gc9.i = bitcast i8* %.newclass_gc_alloc8.i to %"tango.text.Regex.List!(TNFATransition).List"* ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
+ %vtbl10.i = bitcast i8* %.newclass_gc_alloc8.i to %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ store %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__vtblZ, %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %vtbl10.i
+ %monitor11.i = getelementptr i8* %.newclass_gc_alloc8.i, i32 4 ; <i8*> [#uses=1]
+ %9 = bitcast i8* %monitor11.i to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %9
+ %tmp12.i = getelementptr i8* %.newclass_gc_alloc8.i, i32 8 ; <i8*> [#uses=1]
+ call void @llvm.memcpy.i32(i8* %tmp12.i, i8* bitcast (i32* getelementptr (%"tango.text.Regex.List!(TNFATransition).List"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__initZ, i32 0, i32 2) to i8*), i32 12, i32 1)
+ store %"tango.text.Regex.List!(TNFATransition).List"* %.newclass_gc9.i, %"tango.text.Regex.List!(TNFATransition).List"** %8
+ %tmp17.i = getelementptr i8* %.newclass_gc_alloc, i32 16 ; <i8*> [#uses=1]
+ %10 = bitcast i8* %tmp17.i to %"tango.text.Regex.List!(TNFATransition).List"** ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
+ %.newclass_gc_alloc18.i = call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7__ClassZ) ; <i8*> [#uses=4]
+ %.newclass_gc19.i = bitcast i8* %.newclass_gc_alloc18.i to %"tango.text.Regex.List!(TNFATransition).List"* ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
+ %vtbl20.i = bitcast i8* %.newclass_gc_alloc18.i to %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ store %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__vtblZ, %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %vtbl20.i
+ %monitor21.i = getelementptr i8* %.newclass_gc_alloc18.i, i32 4 ; <i8*> [#uses=1]
+ %11 = bitcast i8* %monitor21.i to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %11
+ %tmp22.i = getelementptr i8* %.newclass_gc_alloc18.i, i32 8 ; <i8*> [#uses=1]
+ call void @llvm.memcpy.i32(i8* %tmp22.i, i8* bitcast (i32* getelementptr (%"tango.text.Regex.List!(TNFATransition).List"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__initZ, i32 0, i32 2) to i8*), i32 12, i32 1)
+ store %"tango.text.Regex.List!(TNFATransition).List"* %.newclass_gc19.i, %"tango.text.Regex.List!(TNFATransition).List"** %10
+ %tmp27.i = getelementptr i8* %.newclass_gc_alloc, i32 20 ; <i8*> [#uses=1]
+ %12 = bitcast i8* %tmp27.i to %"tango.text.Regex.List!(TNFATransition).List"** ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
+ %.newclass_gc_alloc28.i = call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7__ClassZ) ; <i8*> [#uses=5]
+ %.newclass_gc29.i = bitcast i8* %.newclass_gc_alloc28.i to %"tango.text.Regex.List!(TNFATransition).List"* ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
+ %vtbl30.i = bitcast i8* %.newclass_gc_alloc28.i to %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ store %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__vtblZ, %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %vtbl30.i
+ %monitor31.i = getelementptr i8* %.newclass_gc_alloc28.i, i32 4 ; <i8*> [#uses=1]
+ %13 = bitcast i8* %monitor31.i to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %13
+ %tmp32.i = getelementptr i8* %.newclass_gc_alloc28.i, i32 8 ; <i8*> [#uses=1]
+ call void @llvm.memcpy.i32(i8* %tmp32.i, i8* bitcast (i32* getelementptr (%"tango.text.Regex.List!(TNFATransition).List"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__initZ, i32 0, i32 2) to i8*), i32 12, i32 1)
+ store %"tango.text.Regex.List!(TNFATransition).List"* %.newclass_gc29.i, %"tango.text.Regex.List!(TNFATransition).List"** %12
+ %tmp18 = bitcast i8* %.newclass_gc_alloc28.i to %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ %tmp19 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp18 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
+ %"frag.exit_state.opCatAssign@vtbl" = getelementptr %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* %tmp19, i32 0, i32 5 ; <%"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)**> [#uses=1]
+ %frag.exit_state.opCatAssign = load %"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)** %"frag.exit_state.opCatAssign@vtbl", align 4 ; <%"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)*> [#uses=1]
+ %tmp22 = call fastcc %"tango.text.Regex.List!(TNFATransition).List"* %frag.exit_state.opCatAssign(%"tango.text.Regex.List!(TNFATransition).List"* %.newclass_gc29.i, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %.newclass_gc.i) ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=0]
+ %tmp26 = bitcast i8* %.newclass_gc_alloc.i39 to %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ %tmp27 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp26 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
+ %"frag.entries.opCatAssign@vtbl" = getelementptr %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* %tmp27, i32 0, i32 5 ; <%"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)**> [#uses=1]
+ %frag.entries.opCatAssign = load %"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)** %"frag.entries.opCatAssign@vtbl", align 4 ; <%"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)*> [#uses=1]
+ %tmp30 = call fastcc %"tango.text.Regex.List!(TNFATransition).List"* %frag.entries.opCatAssign(%"tango.text.Regex.List!(TNFATransition).List"* %.newclass_gc.i40, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %.newclass_gc.i) ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=0]
+ ret %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %.newclass_gc
+}
+
+define weak_odr fastcc %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* @_D5tango4text5Regex11__T4TNFATwZ4TNFA18constructCharClassMFE5tango4text5Regex16__T9PredicateTwZ9Predicate4TypeZC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment(%"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 %type_arg) {
+entry:
+ %tmp.i419 = alloca i32, align 4 ; <i32*> [#uses=2]
+ %tmp.i359 = alloca i32, align 4 ; <i32*> [#uses=2]
+ %tmp.i213 = alloca i32, align 4 ; <i32*> [#uses=2]
+ %tmp162 = alloca %"tango.text.Regex.CharClass!(dchar).CharClass", align 8 ; <%"tango.text.Regex.CharClass!(dchar).CharClass"*> [#uses=5]
+ %.newclass_gc_alloc.i = call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransition7__ClassZ) ; <i8*> [#uses=17]
+ %.newclass_gc.i = bitcast i8* %.newclass_gc_alloc.i to %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*> [#uses=3]
+ %vtbl.i = bitcast i8* %.newclass_gc_alloc.i to %object.ModuleInfo.__vtbl** ; <%object.ModuleInfo.__vtbl**> [#uses=1]
+ store %object.ModuleInfo.__vtbl* @_D5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransition6__vtblZ, %object.ModuleInfo.__vtbl** %vtbl.i
+ %monitor.i = getelementptr i8* %.newclass_gc_alloc.i, i32 4 ; <i8*> [#uses=1]
+ %0 = bitcast i8* %monitor.i to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %0
+ %tmp.i = getelementptr i8* %.newclass_gc_alloc.i, i32 8 ; <i8*> [#uses=1]
+ call void @llvm.memcpy.i32(i8* %tmp.i, i8* bitcast (%"tango.text.Regex.TNFAState!(dchar).TNFAState"** getelementptr (%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* @_D5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransition6__initZ, i32 0, i32 2) to i8*), i32 44, i32 1)
+ %tmp1.i.i = getelementptr i8* %.newclass_gc_alloc.i, i32 48 ; <i8*> [#uses=1]
+ %1 = bitcast i8* %tmp1.i.i to i32* ; <i32*> [#uses=1]
+ store i32 1, i32* %1
+ %tmp7.i = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 9 ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
+ %tmp8.i = load %"tango.text.Regex.List!(TNFATransition).List"** %tmp7.i ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
+ %tmp9.i = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp8.i, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ %tmp10.i = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp9.i ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
+ %"this.transitions.opCatAssign@vtbl.i" = getelementptr %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* %tmp10.i, i32 0, i32 5 ; <%"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)**> [#uses=1]
+ %this.transitions.opCatAssign.i = load %"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)** %"this.transitions.opCatAssign@vtbl.i", align 4 ; <%"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)*> [#uses=1]
+ %tmp13.i = call fastcc %"tango.text.Regex.List!(TNFATransition).List"* %this.transitions.opCatAssign.i(%"tango.text.Regex.List!(TNFATransition).List"* %tmp8.i, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %.newclass_gc.i) ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=0]
+ %tmp2.i = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 8 ; <i32*> [#uses=13]
+ %tmp3.i = load i32* %tmp2.i ; <i32> [#uses=2]
+ store i32 %tmp3.i, i32* %tmp.i213
+ %tmp6.i = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 2, i32 0 ; <i32*> [#uses=8]
+ %.len.i = load i32* %tmp6.i ; <i32> [#uses=1]
+ %tmp8.i214 = icmp ult i32 %tmp3.i, %.len.i ; <i1> [#uses=1]
+ br i1 %tmp8.i214, label %if.i, label %forcond
+
+if.i: ; preds = %entry
+ %tmp10.i215 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 2 ; <%"Act[]"*> [#uses=1]
+ %tmp11.i = load %"Act[]"* %tmp10.i215 ; <%"Act[]"> [#uses=1]
+ %tmp12.i = call fastcc i32 @_D5tango4text5Regex6decodeFAwKkZw(%"Act[]" %tmp11.i, i32* %tmp.i213) ; <i32> [#uses=1]
+ %phitmp470 = icmp eq i32 %tmp12.i, 94 ; <i1> [#uses=1]
+ br i1 %phitmp470, label %if, label %forcond
+
+if: ; preds = %if.i
+ %tmp1.i = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 7 ; <i32*> [#uses=1]
+ %tmp4.i = load i32* %tmp2.i ; <i32> [#uses=2]
+ store i32 %tmp4.i, i32* %tmp1.i
+ %.len.i219 = load i32* %tmp6.i ; <i32> [#uses=1]
+ %tmp11.i220 = icmp ult i32 %tmp4.i, %.len.i219 ; <i1> [#uses=1]
+ br i1 %tmp11.i220, label %if.i222, label %forcond
+
+if.i222: ; preds = %if
+ %tmp13.i221 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 2 ; <%"Act[]"*> [#uses=1]
+ %tmp14.i = load %"Act[]"* %tmp13.i221 ; <%"Act[]"> [#uses=1]
+ %tmp17.i = call fastcc i32 @_D5tango4text5Regex6decodeFAwKkZw(%"Act[]" %tmp14.i, i32* %tmp2.i) ; <i32> [#uses=0]
+ br label %forcond
+
+forcond: ; preds = %if137, %default135, %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit347, %if19, %if.i222, %if, %if.i, %entry
+ %negated.0 = phi i1 [ false, %if.i ], [ %negated.0, %default135 ], [ %negated.0, %if137 ], [ %negated.0, %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit347 ], [ %negated.0, %if19 ], [ true, %if ], [ true, %if.i222 ], [ false, %entry ] ; <i1> [#uses=5]
+ %last.1 = phi i32 [ 65535, %if.i ], [ %last.1, %if19 ], [ %last.1, %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit347 ], [ %c.0, %if137 ], [ %c.0, %default135 ], [ 65535, %if ], [ 65535, %if.i222 ], [ 65535, %entry ] ; <i32> [#uses=9]
+ %have_range_start.1 = phi i1 [ false, %if.i ], [ %have_range_start.1, %if19 ], [ false, %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit347 ], [ true, %if137 ], [ true, %default135 ], [ false, %if ], [ false, %if.i222 ], [ false, %entry ] ; <i1> [#uses=3]
+ %first_char.0 = phi i1 [ true, %if.i ], [ false, %default135 ], [ false, %if137 ], [ false, %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit347 ], [ false, %if19 ], [ true, %if ], [ true, %if.i222 ], [ true, %entry ] ; <i1> [#uses=1]
+ %.len.i434 = load i32* %tmp6.i ; <i32> [#uses=1]
+ %tmp5.i435 = load i32* %tmp2.i ; <i32> [#uses=2]
+ %tmp6.i436 = icmp ult i32 %tmp5.i435, %.len.i434 ; <i1> [#uses=1]
+ br i1 %tmp6.i436, label %andand, label %endfor
+
+andand: ; preds = %forcond
+ store i32 %tmp5.i435, i32* %tmp.i419
+ %tmp10.i425 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 2 ; <%"Act[]"*> [#uses=1]
+ %tmp11.i426 = load %"Act[]"* %tmp10.i425 ; <%"Act[]"> [#uses=1]
+ %tmp12.i427 = call fastcc i32 @_D5tango4text5Regex6decodeFAwKkZw(%"Act[]" %tmp11.i426, i32* %tmp.i419) ; <i32> [#uses=1]
+ %phitmp469 = icmp eq i32 %tmp12.i427, 93 ; <i1> [#uses=1]
+ br i1 %phitmp469, label %endfor, label %forbody
+
+forbody: ; preds = %andand
+ %tmp1.i406 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 7 ; <i32*> [#uses=3]
+ %tmp4.i408 = load i32* %tmp2.i ; <i32> [#uses=2]
+ store i32 %tmp4.i408, i32* %tmp1.i406
+ %.len.i410 = load i32* %tmp6.i ; <i32> [#uses=1]
+ %tmp11.i411 = icmp ult i32 %tmp4.i408, %.len.i410 ; <i1> [#uses=1]
+ br i1 %tmp11.i411, label %if.i415, label %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit417
+
+if.i415: ; preds = %forbody
+ %tmp13.i412 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 2 ; <%"Act[]"*> [#uses=1]
+ %tmp14.i413 = load %"Act[]"* %tmp13.i412 ; <%"Act[]"> [#uses=1]
+ %tmp17.i414 = call fastcc i32 @_D5tango4text5Regex6decodeFAwKkZw(%"Act[]" %tmp14.i413, i32* %tmp2.i) ; <i32> [#uses=1]
+ br label %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit417
+
+_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit417: ; preds = %if.i415, %forbody
+ %tmp16418 = phi i32 [ %tmp17.i414, %if.i415 ], [ 0, %forbody ] ; <i32> [#uses=3]
+ switch i32 %tmp16418, label %default135 [
+ i32 45, label %case
+ i32 92, label %case89
+ ]
+
+case: ; preds = %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit417
+ br i1 %first_char.0, label %if19, label %endif20
+
+if19: ; preds = %case
+ %tmp2.i.i394 = getelementptr i8* %.newclass_gc_alloc.i, i32 12 ; <i8*> [#uses=1]
+ %2 = bitcast i8* %tmp2.i.i394 to i32* ; <i32*> [#uses=2]
+ %.len.i.i395 = load i32* %2 ; <i32> [#uses=3]
+ %tmp3.i.i396 = add i32 %.len.i.i395, 1 ; <i32> [#uses=2]
+ %tmp6.i.i397 = getelementptr i8* %.newclass_gc_alloc.i, i32 16 ; <i8*> [#uses=1]
+ %3 = bitcast i8* %tmp6.i.i397 to %tango.net.Socket.timeval** ; <%tango.net.Socket.timeval**> [#uses=2]
+ %.ptr.i.i398 = load %tango.net.Socket.timeval** %3 ; <%tango.net.Socket.timeval*> [#uses=1]
+ %tmp7.i.i399 = bitcast %tango.net.Socket.timeval* %.ptr.i.i398 to i8* ; <i8*> [#uses=1]
+ %.gc_mem.i.i400 = call i8* @_d_arraysetlengthiT(%object.TypeInfo* bitcast (%object.TypeInfo_Array* @_D56TypeInfo_AS5tango4text5Regex16__T9CharRangeTwZ9CharRange6__initZ to %object.TypeInfo*), i32 %tmp3.i.i396, i32 %.len.i.i395, i8* %tmp7.i.i399) ; <i8*> [#uses=1]
+ %.gc_mem8.i.i401 = bitcast i8* %.gc_mem.i.i400 to %tango.net.Socket.timeval* ; <%tango.net.Socket.timeval*> [#uses=2]
+ %tmp9.i.i402 = getelementptr %tango.net.Socket.timeval* %.gc_mem8.i.i401, i32 %.len.i.i395 ; <%tango.net.Socket.timeval*> [#uses=1]
+ %tmp1015.i.i403 = bitcast %tango.net.Socket.timeval* %tmp9.i.i402 to i64* ; <i64*> [#uses=1]
+ %4 = zext i32 %tmp16418 to i64 ; <i64> [#uses=2]
+ %5 = shl i64 %4, 32 ; <i64> [#uses=1]
+ %6 = or i64 %4, %5 ; <i64> [#uses=1]
+ store i64 %6, i64* %tmp1015.i.i403, align 1
+ store i32 %tmp3.i.i396, i32* %2
+ store %tango.net.Socket.timeval* %.gc_mem8.i.i401, %tango.net.Socket.timeval** %3
+ br label %forcond
+
+endif20: ; preds = %case
+ br i1 %have_range_start.1, label %else, label %if25
+
+if25: ; preds = %endif20
+ %.newclass_gc_alloc = call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex15RegExpException7__ClassZ) ; <i8*> [#uses=5]
+ %.newclass_gc = bitcast i8* %.newclass_gc_alloc to %object.Exception* ; <%object.Exception*> [#uses=1]
+ %vtbl = bitcast i8* %.newclass_gc_alloc to %object.Exception.__vtbl** ; <%object.Exception.__vtbl**> [#uses=1]
+ store %object.Exception.__vtbl* @_D5tango4text5Regex15RegExpException6__vtblZ, %object.Exception.__vtbl** %vtbl
+ %monitor = getelementptr i8* %.newclass_gc_alloc, i32 4 ; <i8*> [#uses=1]
+ %7 = bitcast i8* %monitor to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %7
+ %tmp27 = getelementptr i8* %.newclass_gc_alloc, i32 8 ; <i8*> [#uses=1]
+ call void @llvm.memcpy.i32(i8* %tmp27, i8* bitcast (%"byte[]"* getelementptr (%object.Exception* bitcast (%28* @_D5tango4text5Regex15RegExpException6__initZ to %object.Exception*), i32 0, i32 2) to i8*), i32 28, i32 1)
+ %tmp32 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 2 ; <%"Act[]"*> [#uses=1]
+ %tmp33 = load %"Act[]"* %tmp32 ; <%"Act[]"> [#uses=1]
+ %tmp34 = call fastcc %"byte[]" @_D5tango4text7convert3Utf8toStringFAwAaPkZAa(%"Act[]" %tmp33, %"byte[]" zeroinitializer, i32* null) ; <%"byte[]"> [#uses=2]
+ %.len = extractvalue %"byte[]" %tmp34, 0 ; <i32> [#uses=4]
+ %tmp35 = add i32 %.len, 44 ; <i32> [#uses=3]
+ %.nongc_mem = alloca i8, i32 %tmp35, align 1 ; <i8*> [#uses=3]
+ %.ptr = extractvalue %"byte[]" %tmp34, 1 ; <i8*> [#uses=1]
+ call void @llvm.memcpy.i32(i8* %.nongc_mem, i8* getelementptr ([45 x i8]* @.str225, i32 0, i32 0), i32 44, i32 1)
+ %tmp36 = getelementptr i8* %.nongc_mem, i32 44 ; <i8*> [#uses=1]
+ call void @llvm.memcpy.i32(i8* %tmp36, i8* %.ptr, i32 %.len, i32 1)
+ %tmp38 = add i32 %.len, 45 ; <i32> [#uses=2]
+ %.nongc_mem471 = alloca i8, i32 %tmp38, align 1 ; <i8*> [#uses=3]
+ call void @llvm.memcpy.i32(i8* %.nongc_mem471, i8* %.nongc_mem, i32 %tmp35, i32 1)
+ %tmp41 = getelementptr i8* %.nongc_mem471, i32 %tmp35 ; <i8*> [#uses=1]
+ store i8 34, i8* %tmp41, align 1
+ %tmp2.i379 = add i32 %.len, 53 ; <i32> [#uses=2]
+ %.gc_mem.i380 = call noalias i8* @_d_newarrayvT(%object.TypeInfo* @_D11TypeInfo_Aa6__initZ, i32 %tmp2.i379) ; <i8*> [#uses=3]
+ %.gc_mem12.i381 = bitcast i8* %.gc_mem.i380 to i64* ; <i64*> [#uses=1]
+ %tmp.i382 = load i64* bitcast ([9 x i8]* @.str280 to i64*), align 8 ; <i64> [#uses=1]
+ store i64 %tmp.i382, i64* %.gc_mem12.i381, align 1
+ %tmp4.i383 = getelementptr i8* %.gc_mem.i380, i32 8 ; <i8*> [#uses=1]
+ call void @llvm.memcpy.i32(i8* %tmp4.i383, i8* %.nongc_mem471, i32 %tmp38, i32 1)
+ %tmp6.i384 = insertvalue %"byte[]" undef, i32 %tmp2.i379, 0 ; <%"byte[]"> [#uses=1]
+ %tmp7.i385 = insertvalue %"byte[]" %tmp6.i384, i8* %.gc_mem.i380, 1 ; <%"byte[]"> [#uses=1]
+ %tmp8.i386 = call fastcc %object.Exception* @_D6object9Exception5_ctorMFAaC9ExceptionZC9Exception(%object.Exception* %.newclass_gc, %"byte[]" %tmp7.i385, %object.Exception* null) ; <%object.Exception*> [#uses=0]
+ %tmp45 = bitcast i8* %.newclass_gc_alloc to %object.Object* ; <%object.Object*> [#uses=1]
+ call void @_d_throw_exception(%object.Object* %tmp45)
+ unreachable
+
+else: ; preds = %endif20
+ %.len.i374 = load i32* %tmp6.i ; <i32> [#uses=1]
+ %tmp5.i375 = load i32* %tmp2.i ; <i32> [#uses=2]
+ %tmp6.i376 = icmp ult i32 %tmp5.i375, %.len.i374 ; <i1> [#uses=1]
+ br i1 %tmp6.i376, label %oror, label %if51
+
+oror: ; preds = %else
+ store i32 %tmp5.i375, i32* %tmp.i359
+ %tmp10.i365 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 2 ; <%"Act[]"*> [#uses=1]
+ %tmp11.i366 = load %"Act[]"* %tmp10.i365 ; <%"Act[]"> [#uses=1]
+ %tmp12.i367 = call fastcc i32 @_D5tango4text5Regex6decodeFAwKkZw(%"Act[]" %tmp11.i366, i32* %tmp.i359) ; <i32> [#uses=1]
+ %phitmp = icmp eq i32 %tmp12.i367, 93 ; <i1> [#uses=1]
+ br i1 %phitmp, label %if51, label %else53
+
+if51: ; preds = %oror, %else
+ %.newclass_gc_alloc54 = call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex15RegExpException7__ClassZ) ; <i8*> [#uses=5]
+ %.newclass_gc55 = bitcast i8* %.newclass_gc_alloc54 to %object.Exception* ; <%object.Exception*> [#uses=1]
+ %vtbl56 = bitcast i8* %.newclass_gc_alloc54 to %object.Exception.__vtbl** ; <%object.Exception.__vtbl**> [#uses=1]
+ store %object.Exception.__vtbl* @_D5tango4text5Regex15RegExpException6__vtblZ, %object.Exception.__vtbl** %vtbl56
+ %monitor57 = getelementptr i8* %.newclass_gc_alloc54, i32 4 ; <i8*> [#uses=1]
+ %8 = bitcast i8* %monitor57 to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %8
+ %tmp58 = getelementptr i8* %.newclass_gc_alloc54, i32 8 ; <i8*> [#uses=1]
+ call void @llvm.memcpy.i32(i8* %tmp58, i8* bitcast (%"byte[]"* getelementptr (%object.Exception* bitcast (%28* @_D5tango4text5Regex15RegExpException6__initZ to %object.Exception*), i32 0, i32 2) to i8*), i32 28, i32 1)
+ %tmp63 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 2 ; <%"Act[]"*> [#uses=1]
+ %tmp64 = load %"Act[]"* %tmp63 ; <%"Act[]"> [#uses=1]
+ %tmp65 = call fastcc %"byte[]" @_D5tango4text7convert3Utf8toStringFAwAaPkZAa(%"Act[]" %tmp64, %"byte[]" zeroinitializer, i32* null) ; <%"byte[]"> [#uses=2]
+ %.len66 = extractvalue %"byte[]" %tmp65, 0 ; <i32> [#uses=4]
+ %tmp67 = add i32 %.len66, 42 ; <i32> [#uses=3]
+ %.nongc_mem472 = alloca i8, i32 %tmp67, align 1 ; <i8*> [#uses=3]
+ %.ptr69 = extractvalue %"byte[]" %tmp65, 1 ; <i8*> [#uses=1]
+ call void @llvm.memcpy.i32(i8* %.nongc_mem472, i8* getelementptr ([43 x i8]* @.str227, i32 0, i32 0), i32 42, i32 1)
+ %tmp70 = getelementptr i8* %.nongc_mem472, i32 42 ; <i8*> [#uses=1]
+ call void @llvm.memcpy.i32(i8* %tmp70, i8* %.ptr69, i32 %.len66, i32 1)
+ %tmp72 = add i32 %.len66, 43 ; <i32> [#uses=2]
+ %.nongc_mem473 = alloca i8, i32 %tmp72, align 1 ; <i8*> [#uses=3]
+ call void @llvm.memcpy.i32(i8* %.nongc_mem473, i8* %.nongc_mem472, i32 %tmp67, i32 1)
+ %tmp75 = getelementptr i8* %.nongc_mem473, i32 %tmp67 ; <i8*> [#uses=1]
+ store i8 34, i8* %tmp75, align 1
+ %tmp2.i351 = add i32 %.len66, 51 ; <i32> [#uses=2]
+ %.gc_mem.i352 = call noalias i8* @_d_newarrayvT(%object.TypeInfo* @_D11TypeInfo_Aa6__initZ, i32 %tmp2.i351) ; <i8*> [#uses=3]
+ %.gc_mem12.i353 = bitcast i8* %.gc_mem.i352 to i64* ; <i64*> [#uses=1]
+ %tmp.i354 = load i64* bitcast ([9 x i8]* @.str280 to i64*), align 8 ; <i64> [#uses=1]
+ store i64 %tmp.i354, i64* %.gc_mem12.i353, align 1
+ %tmp4.i355 = getelementptr i8* %.gc_mem.i352, i32 8 ; <i8*> [#uses=1]
+ call void @llvm.memcpy.i32(i8* %tmp4.i355, i8* %.nongc_mem473, i32 %tmp72, i32 1)
+ %tmp6.i356 = insertvalue %"byte[]" undef, i32 %tmp2.i351, 0 ; <%"byte[]"> [#uses=1]
+ %tmp7.i357 = insertvalue %"byte[]" %tmp6.i356, i8* %.gc_mem.i352, 1 ; <%"byte[]"> [#uses=1]
+ %tmp8.i358 = call fastcc %object.Exception* @_D6object9Exception5_ctorMFAaC9ExceptionZC9Exception(%object.Exception* %.newclass_gc55, %"byte[]" %tmp7.i357, %object.Exception* null) ; <%object.Exception*> [#uses=0]
+ %tmp79 = bitcast i8* %.newclass_gc_alloc54 to %object.Object* ; <%object.Object*> [#uses=1]
+ call void @_d_throw_exception(%object.Object* %tmp79)
+ unreachable
+
+else53: ; preds = %oror
+ %tmp4.i338 = load i32* %tmp2.i ; <i32> [#uses=2]
+ store i32 %tmp4.i338, i32* %tmp1.i406
+ %.len.i340 = load i32* %tmp6.i ; <i32> [#uses=1]
+ %tmp11.i341 = icmp ult i32 %tmp4.i338, %.len.i340 ; <i1> [#uses=1]
+ br i1 %tmp11.i341, label %if.i345, label %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit347
+
+if.i345: ; preds = %else53
+ %tmp13.i342 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 2 ; <%"Act[]"*> [#uses=1]
+ %tmp14.i343 = load %"Act[]"* %tmp13.i342 ; <%"Act[]"> [#uses=1]
+ %tmp17.i344 = call fastcc i32 @_D5tango4text5Regex6decodeFAwKkZw(%"Act[]" %tmp14.i343, i32* %tmp2.i) ; <i32> [#uses=1]
+ br label %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit347
+
+_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit347: ; preds = %if.i345, %else53
+ %tmp82348 = phi i32 [ %tmp17.i344, %if.i345 ], [ 0, %else53 ] ; <i32> [#uses=4]
+ %tmp2.i.i333 = icmp ult i32 %tmp82348, %last.1 ; <i1> [#uses=1]
+ %condtmp.0.i.i = select i1 %tmp2.i.i333, i32 %tmp82348, i32 %last.1 ; <i32> [#uses=1]
+ %tmp2.i15.i = icmp ugt i32 %tmp82348, %last.1 ; <i1> [#uses=1]
+ %condtmp.0.i16.i = select i1 %tmp2.i15.i, i32 %tmp82348, i32 %last.1 ; <i32> [#uses=1]
+ %tmp2.i.i323 = getelementptr i8* %.newclass_gc_alloc.i, i32 12 ; <i8*> [#uses=1]
+ %9 = bitcast i8* %tmp2.i.i323 to i32* ; <i32*> [#uses=2]
+ %.len.i.i324 = load i32* %9 ; <i32> [#uses=3]
+ %tmp3.i.i325 = add i32 %.len.i.i324, 1 ; <i32> [#uses=2]
+ %tmp6.i.i326 = getelementptr i8* %.newclass_gc_alloc.i, i32 16 ; <i8*> [#uses=1]
+ %10 = bitcast i8* %tmp6.i.i326 to %tango.net.Socket.timeval** ; <%tango.net.Socket.timeval**> [#uses=2]
+ %.ptr.i.i327 = load %tango.net.Socket.timeval** %10 ; <%tango.net.Socket.timeval*> [#uses=1]
+ %tmp7.i.i328 = bitcast %tango.net.Socket.timeval* %.ptr.i.i327 to i8* ; <i8*> [#uses=1]
+ %.gc_mem.i.i329 = call i8* @_d_arraysetlengthiT(%object.TypeInfo* bitcast (%object.TypeInfo_Array* @_D56TypeInfo_AS5tango4text5Regex16__T9CharRangeTwZ9CharRange6__initZ to %object.TypeInfo*), i32 %tmp3.i.i325, i32 %.len.i.i324, i8* %tmp7.i.i328) ; <i8*> [#uses=1]
+ %.gc_mem8.i.i330 = bitcast i8* %.gc_mem.i.i329 to %tango.net.Socket.timeval* ; <%tango.net.Socket.timeval*> [#uses=2]
+ %tmp9.i.i331 = getelementptr %tango.net.Socket.timeval* %.gc_mem8.i.i330, i32 %.len.i.i324 ; <%tango.net.Socket.timeval*> [#uses=1]
+ %tmp1015.i.i332 = bitcast %tango.net.Socket.timeval* %tmp9.i.i331 to i64* ; <i64*> [#uses=1]
+ %11 = zext i32 %condtmp.0.i.i to i64 ; <i64> [#uses=1]
+ %12 = shl i64 %11, 32 ; <i64> [#uses=1]
+ %13 = zext i32 %condtmp.0.i16.i to i64 ; <i64> [#uses=1]
+ %14 = or i64 %13, %12 ; <i64> [#uses=1]
+ store i64 %14, i64* %tmp1015.i.i332, align 1
+ store i32 %tmp3.i.i325, i32* %9
+ store %tango.net.Socket.timeval* %.gc_mem8.i.i330, %tango.net.Socket.timeval** %10
+ br label %forcond
+
+case89: ; preds = %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit417
+ %.len.i313 = load i32* %tmp6.i ; <i32> [#uses=1]
+ %tmp5.i314 = load i32* %tmp2.i ; <i32> [#uses=2]
+ %tmp6.i315 = icmp ult i32 %tmp5.i314, %.len.i313 ; <i1> [#uses=1]
+ br i1 %tmp6.i315, label %endif93, label %if92
+
+if92: ; preds = %case89
+ %.newclass_gc_alloc94 = call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex15RegExpException7__ClassZ) ; <i8*> [#uses=5]
+ %.newclass_gc95 = bitcast i8* %.newclass_gc_alloc94 to %object.Exception* ; <%object.Exception*> [#uses=1]
+ %vtbl96 = bitcast i8* %.newclass_gc_alloc94 to %object.Exception.__vtbl** ; <%object.Exception.__vtbl**> [#uses=1]
+ store %object.Exception.__vtbl* @_D5tango4text5Regex15RegExpException6__vtblZ, %object.Exception.__vtbl** %vtbl96
+ %monitor97 = getelementptr i8* %.newclass_gc_alloc94, i32 4 ; <i8*> [#uses=1]
+ %15 = bitcast i8* %monitor97 to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %15
+ %tmp98 = getelementptr i8* %.newclass_gc_alloc94, i32 8 ; <i8*> [#uses=1]
+ call void @llvm.memcpy.i32(i8* %tmp98, i8* bitcast (%"byte[]"* getelementptr (%object.Exception* bitcast (%28* @_D5tango4text5Regex15RegExpException6__initZ to %object.Exception*), i32 0, i32 2) to i8*), i32 28, i32 1)
+ %tmp103 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 2 ; <%"Act[]"*> [#uses=1]
+ %tmp104 = load %"Act[]"* %tmp103 ; <%"Act[]"> [#uses=1]
+ %tmp105 = call fastcc %"byte[]" @_D5tango4text7convert3Utf8toStringFAwAaPkZAa(%"Act[]" %tmp104, %"byte[]" zeroinitializer, i32* null) ; <%"byte[]"> [#uses=2]
+ %.len106 = extractvalue %"byte[]" %tmp105, 0 ; <i32> [#uses=4]
+ %tmp107 = add i32 %.len106, 32 ; <i32> [#uses=3]
+ %.nongc_mem474 = alloca i8, i32 %tmp107, align 1 ; <i8*> [#uses=3]
+ %.ptr109 = extractvalue %"byte[]" %tmp105, 1 ; <i8*> [#uses=1]
+ call void @llvm.memcpy.i32(i8* %.nongc_mem474, i8* getelementptr ([33 x i8]* @.str229, i32 0, i32 0), i32 32, i32 1)
+ %tmp110 = getelementptr i8* %.nongc_mem474, i32 32 ; <i8*> [#uses=1]
+ call void @llvm.memcpy.i32(i8* %tmp110, i8* %.ptr109, i32 %.len106, i32 1)
+ %tmp112 = add i32 %.len106, 33 ; <i32> [#uses=2]
+ %.nongc_mem475 = alloca i8, i32 %tmp112, align 1 ; <i8*> [#uses=3]
+ call void @llvm.memcpy.i32(i8* %.nongc_mem475, i8* %.nongc_mem474, i32 %tmp107, i32 1)
+ %tmp115 = getelementptr i8* %.nongc_mem475, i32 %tmp107 ; <i8*> [#uses=1]
+ store i8 34, i8* %tmp115, align 1
+ %tmp2.i305 = add i32 %.len106, 41 ; <i32> [#uses=2]
+ %.gc_mem.i = call noalias i8* @_d_newarrayvT(%object.TypeInfo* @_D11TypeInfo_Aa6__initZ, i32 %tmp2.i305) ; <i8*> [#uses=3]
+ %.gc_mem12.i = bitcast i8* %.gc_mem.i to i64* ; <i64*> [#uses=1]
+ %tmp.i306 = load i64* bitcast ([9 x i8]* @.str280 to i64*), align 8 ; <i64> [#uses=1]
+ store i64 %tmp.i306, i64* %.gc_mem12.i, align 1
+ %tmp4.i307 = getelementptr i8* %.gc_mem.i, i32 8 ; <i8*> [#uses=1]
+ call void @llvm.memcpy.i32(i8* %tmp4.i307, i8* %.nongc_mem475, i32 %tmp112, i32 1)
+ %tmp6.i308 = insertvalue %"byte[]" undef, i32 %tmp2.i305, 0 ; <%"byte[]"> [#uses=1]
+ %tmp7.i309 = insertvalue %"byte[]" %tmp6.i308, i8* %.gc_mem.i, 1 ; <%"byte[]"> [#uses=1]
+ %tmp8.i310 = call fastcc %object.Exception* @_D6object9Exception5_ctorMFAaC9ExceptionZC9Exception(%object.Exception* %.newclass_gc95, %"byte[]" %tmp7.i309, %object.Exception* null) ; <%object.Exception*> [#uses=0]
+ %tmp119 = bitcast i8* %.newclass_gc_alloc94 to %object.Object* ; <%object.Object*> [#uses=1]
+ call void @_d_throw_exception(%object.Object* %tmp119)
+ unreachable
+
+endif93: ; preds = %case89
+ store i32 %tmp5.i314, i32* %tmp1.i406
+ %tmp13.i298 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 2 ; <%"Act[]"*> [#uses=1]
+ %tmp14.i299 = load %"Act[]"* %tmp13.i298 ; <%"Act[]"> [#uses=1]
+ %tmp17.i300 = call fastcc i32 @_D5tango4text5Regex6decodeFAwKkZw(%"Act[]" %tmp14.i299, i32* %tmp2.i) ; <i32> [#uses=2]
+ switch i32 %tmp17.i300, label %default135 [
+ i32 116, label %case127
+ i32 110, label %case129
+ i32 114, label %case131
+ ]
+
+case127: ; preds = %endif93
+ br label %default135
+
+case129: ; preds = %endif93
+ br label %default135
+
+case131: ; preds = %endif93
+ br label %default135
+
+default135: ; preds = %case131, %case129, %case127, %endif93, %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit417
+ %c.0 = phi i32 [ %tmp16418, %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit417 ], [ %tmp17.i300, %endif93 ], [ 13, %case131 ], [ 10, %case129 ], [ 9, %case127 ] ; <i32> [#uses=2]
+ br i1 %have_range_start.1, label %if137, label %forcond
+
+if137: ; preds = %default135
+ %tmp2.i.i280 = getelementptr i8* %.newclass_gc_alloc.i, i32 12 ; <i8*> [#uses=1]
+ %16 = bitcast i8* %tmp2.i.i280 to i32* ; <i32*> [#uses=2]
+ %.len.i.i281 = load i32* %16 ; <i32> [#uses=3]
+ %tmp3.i.i282 = add i32 %.len.i.i281, 1 ; <i32> [#uses=2]
+ %tmp6.i.i283 = getelementptr i8* %.newclass_gc_alloc.i, i32 16 ; <i8*> [#uses=1]
+ %17 = bitcast i8* %tmp6.i.i283 to %tango.net.Socket.timeval** ; <%tango.net.Socket.timeval**> [#uses=2]
+ %.ptr.i.i284 = load %tango.net.Socket.timeval** %17 ; <%tango.net.Socket.timeval*> [#uses=1]
+ %tmp7.i.i285 = bitcast %tango.net.Socket.timeval* %.ptr.i.i284 to i8* ; <i8*> [#uses=1]
+ %.gc_mem.i.i286 = call i8* @_d_arraysetlengthiT(%object.TypeInfo* bitcast (%object.TypeInfo_Array* @_D56TypeInfo_AS5tango4text5Regex16__T9CharRangeTwZ9CharRange6__initZ to %object.TypeInfo*), i32 %tmp3.i.i282, i32 %.len.i.i281, i8* %tmp7.i.i285) ; <i8*> [#uses=1]
+ %.gc_mem8.i.i287 = bitcast i8* %.gc_mem.i.i286 to %tango.net.Socket.timeval* ; <%tango.net.Socket.timeval*> [#uses=2]
+ %tmp9.i.i288 = getelementptr %tango.net.Socket.timeval* %.gc_mem8.i.i287, i32 %.len.i.i281 ; <%tango.net.Socket.timeval*> [#uses=1]
+ %tmp1015.i.i289 = bitcast %tango.net.Socket.timeval* %tmp9.i.i288 to i64* ; <i64*> [#uses=1]
+ %18 = zext i32 %last.1 to i64 ; <i64> [#uses=2]
+ %19 = shl i64 %18, 32 ; <i64> [#uses=1]
+ %20 = or i64 %18, %19 ; <i64> [#uses=1]
+ store i64 %20, i64* %tmp1015.i.i289, align 1
+ store i32 %tmp3.i.i282, i32* %16
+ store %tango.net.Socket.timeval* %.gc_mem8.i.i287, %tango.net.Socket.timeval** %17
+ br label %forcond
+
+endfor: ; preds = %andand, %forcond
+ %.len.i270 = load i32* %tmp6.i ; <i32> [#uses=1]
+ %tmp5.i271 = load i32* %tmp2.i ; <i32> [#uses=2]
+ %tmp6.i272 = icmp ult i32 %tmp5.i271, %.len.i270 ; <i1> [#uses=1]
+ br i1 %tmp6.i272, label %if146, label %endif147
+
+if146: ; preds = %endfor
+ %tmp1.i256 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 7 ; <i32*> [#uses=1]
+ store i32 %tmp5.i271, i32* %tmp1.i256
+ %tmp13.i262 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 2 ; <%"Act[]"*> [#uses=1]
+ %tmp14.i263 = load %"Act[]"* %tmp13.i262 ; <%"Act[]"> [#uses=1]
+ %tmp17.i264 = call fastcc i32 @_D5tango4text5Regex6decodeFAwKkZw(%"Act[]" %tmp14.i263, i32* %tmp2.i) ; <i32> [#uses=0]
+ br label %endif147
+
+endif147: ; preds = %if146, %endfor
+ %tmp151 = icmp eq i32 %last.1, 65535 ; <i1> [#uses=1]
+ br i1 %tmp151, label %endif153, label %if152
+
+if152: ; preds = %endif147
+ %tmp2.i.i = getelementptr i8* %.newclass_gc_alloc.i, i32 12 ; <i8*> [#uses=1]
+ %21 = bitcast i8* %tmp2.i.i to i32* ; <i32*> [#uses=2]
+ %.len.i.i250 = load i32* %21 ; <i32> [#uses=3]
+ %tmp3.i.i251 = add i32 %.len.i.i250, 1 ; <i32> [#uses=2]
+ %tmp6.i.i252 = getelementptr i8* %.newclass_gc_alloc.i, i32 16 ; <i8*> [#uses=1]
+ %22 = bitcast i8* %tmp6.i.i252 to %tango.net.Socket.timeval** ; <%tango.net.Socket.timeval**> [#uses=2]
+ %.ptr.i.i253 = load %tango.net.Socket.timeval** %22 ; <%tango.net.Socket.timeval*> [#uses=1]
+ %tmp7.i.i = bitcast %tango.net.Socket.timeval* %.ptr.i.i253 to i8* ; <i8*> [#uses=1]
+ %.gc_mem.i.i254 = call i8* @_d_arraysetlengthiT(%object.TypeInfo* bitcast (%object.TypeInfo_Array* @_D56TypeInfo_AS5tango4text5Regex16__T9CharRangeTwZ9CharRange6__initZ to %object.TypeInfo*), i32 %tmp3.i.i251, i32 %.len.i.i250, i8* %tmp7.i.i) ; <i8*> [#uses=1]
+ %.gc_mem8.i.i = bitcast i8* %.gc_mem.i.i254 to %tango.net.Socket.timeval* ; <%tango.net.Socket.timeval*> [#uses=2]
+ %tmp9.i.i255 = getelementptr %tango.net.Socket.timeval* %.gc_mem8.i.i, i32 %.len.i.i250 ; <%tango.net.Socket.timeval*> [#uses=1]
+ %tmp1015.i.i = bitcast %tango.net.Socket.timeval* %tmp9.i.i255 to i64* ; <i64*> [#uses=1]
+ %23 = zext i32 %last.1 to i64 ; <i64> [#uses=2]
+ %24 = shl i64 %23, 32 ; <i64> [#uses=1]
+ %25 = or i64 %23, %24 ; <i64> [#uses=1]
+ store i64 %25, i64* %tmp1015.i.i, align 1
+ store i32 %tmp3.i.i251, i32* %21
+ store %tango.net.Socket.timeval* %.gc_mem8.i.i, %tango.net.Socket.timeval** %22
+ br label %endif153
+
+endif153: ; preds = %if152, %endif147
+ br i1 %negated.0, label %if159, label %else161
+
+if159: ; preds = %endif153
+ %srcval = load i64* bitcast (%"tango.text.Regex.CharClass!(dchar).CharClass"* @_D5tango4text5Regex16__T9CharClassTwZ9CharClass8any_charS5tango4text5Regex16__T9CharClassTwZ9CharClass to i64*), align 4 ; <i64> [#uses=2]
+ %tmp455 = lshr i64 %srcval, 32 ; <i64> [#uses=1]
+ %tmp456 = trunc i64 %tmp455 to i32 ; <i32> [#uses=1]
+ %tmp457 = insertvalue %"byte[]" undef, i32 %tmp456, 0 ; <%"byte[]"> [#uses=1]
+ %tmp458 = trunc i64 %srcval to i32 ; <i32> [#uses=1]
+ %tmp459 = inttoptr i32 %tmp458 to i8* ; <i8*> [#uses=1]
+ %tmp460 = insertvalue %"byte[]" %tmp457, i8* %tmp459, 1 ; <%"byte[]"> [#uses=1]
+ %tmp5.i = call %"byte[]" @_adDupT(%object.TypeInfo* bitcast (%object.TypeInfo_Array* @_D56TypeInfo_AS5tango4text5Regex16__T9CharRangeTwZ9CharRange6__initZ to %object.TypeInfo*), %"byte[]" %tmp460) ; <%"byte[]"> [#uses=2]
+ %tmp6.i243 = extractvalue %"byte[]" %tmp5.i, 0 ; <i32> [#uses=1]
+ %tmp8.i244 = extractvalue %"byte[]" %tmp5.i, 1 ; <i8*> [#uses=1]
+ %tmp439 = ptrtoint i8* %tmp8.i244 to i32 ; <i32> [#uses=1]
+ %tmp164209 = bitcast %"tango.text.Regex.CharClass!(dchar).CharClass"* %tmp162 to i64* ; <i64*> [#uses=2]
+ %26 = zext i32 %tmp6.i243 to i64 ; <i64> [#uses=1]
+ %27 = shl i64 %26, 32 ; <i64> [#uses=1]
+ %28 = zext i32 %tmp439 to i64 ; <i64> [#uses=1]
+ %29 = or i64 %28, %27 ; <i64> [#uses=1]
+ store i64 %29, i64* %tmp164209, align 8
+ %tmp168451.0 = getelementptr i8* %.newclass_gc_alloc.i, i32 12 ; <i8*> [#uses=2]
+ %30 = bitcast i8* %tmp168451.0 to i32* ; <i32*> [#uses=1]
+ %tmp452 = load i32* %30, align 1 ; <i32> [#uses=2]
+ %tmp168451.1 = getelementptr i8* %.newclass_gc_alloc.i, i32 16 ; <i8*> [#uses=1]
+ %31 = bitcast i8* %tmp168451.1 to %tango.net.Socket.timeval** ; <%tango.net.Socket.timeval**> [#uses=1]
+ %tmp453 = load %tango.net.Socket.timeval** %31, align 1 ; <%tango.net.Socket.timeval*> [#uses=1]
+ call fastcc void @_D5tango4text5Regex16__T9CharClassTwZ9CharClass6negateMFZv(%"tango.text.Regex.CharClass!(dchar).CharClass"* %tmp162)
+ %tmp3.i.i = getelementptr %"tango.text.Regex.CharClass!(dchar).CharClass"* %tmp162, i32 0, i32 0, i32 0 ; <i32*> [#uses=2]
+ %.len.i.i = load i32* %tmp3.i.i, align 8 ; <i32> [#uses=3]
+ %tmp6.i.i = add i32 %.len.i.i, %tmp452 ; <i32> [#uses=2]
+ %tmp9.i.i = getelementptr %"tango.text.Regex.CharClass!(dchar).CharClass"* %tmp162, i32 0, i32 0, i32 1 ; <%tango.net.Socket.timeval**> [#uses=2]
+ %.ptr.i.i = load %tango.net.Socket.timeval** %tmp9.i.i ; <%tango.net.Socket.timeval*> [#uses=1]
+ %tmp10.i.i = bitcast %tango.net.Socket.timeval* %.ptr.i.i to i8* ; <i8*> [#uses=1]
+ %.gc_mem.i.i = call i8* @_d_arraysetlengthiT(%object.TypeInfo* bitcast (%object.TypeInfo_Array* @_D56TypeInfo_AS5tango4text5Regex16__T9CharRangeTwZ9CharRange6__initZ to %object.TypeInfo*), i32 %tmp6.i.i, i32 %.len.i.i, i8* %tmp10.i.i) ; <i8*> [#uses=1]
+ %.gc_mem11.i.i = bitcast i8* %.gc_mem.i.i to %tango.net.Socket.timeval* ; <%tango.net.Socket.timeval*> [#uses=2]
+ %tmp14.i.i = getelementptr %tango.net.Socket.timeval* %.gc_mem11.i.i, i32 %.len.i.i ; <%tango.net.Socket.timeval*> [#uses=1]
+ %tmp15.i.i = shl i32 %tmp452, 3 ; <i32> [#uses=1]
+ %tmp16.i.i = bitcast %tango.net.Socket.timeval* %tmp14.i.i to i8* ; <i8*> [#uses=1]
+ %tmp17.i.i = bitcast %tango.net.Socket.timeval* %tmp453 to i8* ; <i8*> [#uses=1]
+ call void @llvm.memcpy.i32(i8* %tmp16.i.i, i8* %tmp17.i.i, i32 %tmp15.i.i, i32 1)
+ store i32 %tmp6.i.i, i32* %tmp3.i.i, align 8
+ store %tango.net.Socket.timeval* %.gc_mem11.i.i, %tango.net.Socket.timeval** %tmp9.i.i
+ call fastcc void @_D5tango4text5Regex16__T9CharClassTwZ9CharClass6negateMFZv(%"tango.text.Regex.CharClass!(dchar).CharClass"* %tmp162)
+ %tmp172207 = bitcast i8* %tmp168451.0 to i64* ; <i64*> [#uses=1]
+ %tmp = load i64* %tmp164209, align 8 ; <i64> [#uses=1]
+ store i64 %tmp, i64* %tmp172207, align 1
+ br label %endif160
+
+else161: ; preds = %endif153
+ %tmp1.i233 = getelementptr i8* %.newclass_gc_alloc.i, i32 12 ; <i8*> [#uses=1]
+ %32 = bitcast i8* %tmp1.i233 to %"tango.text.Regex.CharClass!(dchar).CharClass"* ; <%"tango.text.Regex.CharClass!(dchar).CharClass"*> [#uses=1]
+ call fastcc void @_D5tango4text5Regex16__T9CharClassTwZ9CharClass8optimizeMFZv(%"tango.text.Regex.CharClass!(dchar).CharClass"* %32)
+ br label %endif160
+
+endif160: ; preds = %else161, %if159
+ %tmp178 = getelementptr i8* %.newclass_gc_alloc.i, i32 20 ; <i8*> [#uses=1]
+ %33 = bitcast i8* %tmp178 to i32* ; <i32*> [#uses=1]
+ store i32 %type_arg, i32* %33
+ %.newclass_gc_alloc180 = call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment7__ClassZ) ; <i8*> [#uses=7]
+ %.newclass_gc181 = bitcast i8* %.newclass_gc_alloc180 to %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*> [#uses=1]
+ %vtbl182 = bitcast i8* %.newclass_gc_alloc180 to %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"** ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"**> [#uses=1]
+ store %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"* @_D5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment6__vtblZ, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"** %vtbl182
+ %monitor183 = getelementptr i8* %.newclass_gc_alloc180, i32 4 ; <i8*> [#uses=1]
+ %34 = bitcast i8* %monitor183 to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %34
+ %tmp184 = getelementptr i8* %.newclass_gc_alloc180, i32 8 ; <i8*> [#uses=2]
+ call void @llvm.memcpy.i32(i8* %tmp184, i8* bitcast (%"tango.text.Regex.List!(TNFATransition).List"** getelementptr (%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* @_D5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment6__initZ, i32 0, i32 2) to i8*), i32 17, i32 1)
+ %35 = bitcast i8* %tmp184 to %"tango.text.Regex.List!(TNFATransition).List"** ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
+ %.newclass_gc_alloc.i225 = call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7__ClassZ) ; <i8*> [#uses=5]
+ %.newclass_gc.i226 = bitcast i8* %.newclass_gc_alloc.i225 to %"tango.text.Regex.List!(TNFATransition).List"* ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
+ %vtbl.i227 = bitcast i8* %.newclass_gc_alloc.i225 to %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ store %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__vtblZ, %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %vtbl.i227
+ %monitor.i228 = getelementptr i8* %.newclass_gc_alloc.i225, i32 4 ; <i8*> [#uses=1]
+ %36 = bitcast i8* %monitor.i228 to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %36
+ %tmp2.i229 = getelementptr i8* %.newclass_gc_alloc.i225, i32 8 ; <i8*> [#uses=1]
+ call void @llvm.memcpy.i32(i8* %tmp2.i229, i8* bitcast (i32* getelementptr (%"tango.text.Regex.List!(TNFATransition).List"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__initZ, i32 0, i32 2) to i8*), i32 12, i32 1)
+ store %"tango.text.Regex.List!(TNFATransition).List"* %.newclass_gc.i226, %"tango.text.Regex.List!(TNFATransition).List"** %35
+ %tmp7.i230 = getelementptr i8* %.newclass_gc_alloc180, i32 12 ; <i8*> [#uses=1]
+ %37 = bitcast i8* %tmp7.i230 to %"tango.text.Regex.List!(TNFATransition).List"** ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
+ %.newclass_gc_alloc8.i = call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7__ClassZ) ; <i8*> [#uses=4]
+ %.newclass_gc9.i = bitcast i8* %.newclass_gc_alloc8.i to %"tango.text.Regex.List!(TNFATransition).List"* ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
+ %vtbl10.i = bitcast i8* %.newclass_gc_alloc8.i to %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ store %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__vtblZ, %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %vtbl10.i
+ %monitor11.i = getelementptr i8* %.newclass_gc_alloc8.i, i32 4 ; <i8*> [#uses=1]
+ %38 = bitcast i8* %monitor11.i to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %38
+ %tmp12.i231 = getelementptr i8* %.newclass_gc_alloc8.i, i32 8 ; <i8*> [#uses=1]
+ call void @llvm.memcpy.i32(i8* %tmp12.i231, i8* bitcast (i32* getelementptr (%"tango.text.Regex.List!(TNFATransition).List"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__initZ, i32 0, i32 2) to i8*), i32 12, i32 1)
+ store %"tango.text.Regex.List!(TNFATransition).List"* %.newclass_gc9.i, %"tango.text.Regex.List!(TNFATransition).List"** %37
+ %tmp17.i232 = getelementptr i8* %.newclass_gc_alloc180, i32 16 ; <i8*> [#uses=1]
+ %39 = bitcast i8* %tmp17.i232 to %"tango.text.Regex.List!(TNFATransition).List"** ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
+ %.newclass_gc_alloc18.i = call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7__ClassZ) ; <i8*> [#uses=4]
+ %.newclass_gc19.i = bitcast i8* %.newclass_gc_alloc18.i to %"tango.text.Regex.List!(TNFATransition).List"* ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
+ %vtbl20.i = bitcast i8* %.newclass_gc_alloc18.i to %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ store %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__vtblZ, %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %vtbl20.i
+ %monitor21.i = getelementptr i8* %.newclass_gc_alloc18.i, i32 4 ; <i8*> [#uses=1]
+ %40 = bitcast i8* %monitor21.i to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %40
+ %tmp22.i = getelementptr i8* %.newclass_gc_alloc18.i, i32 8 ; <i8*> [#uses=1]
+ call void @llvm.memcpy.i32(i8* %tmp22.i, i8* bitcast (i32* getelementptr (%"tango.text.Regex.List!(TNFATransition).List"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__initZ, i32 0, i32 2) to i8*), i32 12, i32 1)
+ store %"tango.text.Regex.List!(TNFATransition).List"* %.newclass_gc19.i, %"tango.text.Regex.List!(TNFATransition).List"** %39
+ %tmp27.i = getelementptr i8* %.newclass_gc_alloc180, i32 20 ; <i8*> [#uses=1]
+ %41 = bitcast i8* %tmp27.i to %"tango.text.Regex.List!(TNFATransition).List"** ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
+ %.newclass_gc_alloc28.i = call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7__ClassZ) ; <i8*> [#uses=5]
+ %.newclass_gc29.i = bitcast i8* %.newclass_gc_alloc28.i to %"tango.text.Regex.List!(TNFATransition).List"* ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
+ %vtbl30.i = bitcast i8* %.newclass_gc_alloc28.i to %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ store %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__vtblZ, %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %vtbl30.i
+ %monitor31.i = getelementptr i8* %.newclass_gc_alloc28.i, i32 4 ; <i8*> [#uses=1]
+ %42 = bitcast i8* %monitor31.i to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %42
+ %tmp32.i = getelementptr i8* %.newclass_gc_alloc28.i, i32 8 ; <i8*> [#uses=1]
+ call void @llvm.memcpy.i32(i8* %tmp32.i, i8* bitcast (i32* getelementptr (%"tango.text.Regex.List!(TNFATransition).List"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__initZ, i32 0, i32 2) to i8*), i32 12, i32 1)
+ store %"tango.text.Regex.List!(TNFATransition).List"* %.newclass_gc29.i, %"tango.text.Regex.List!(TNFATransition).List"** %41
+ %tmp192 = bitcast i8* %.newclass_gc_alloc28.i to %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ %tmp193 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp192 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
+ %"frag.exit_state.opCatAssign@vtbl" = getelementptr %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* %tmp193, i32 0, i32 5 ; <%"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)**> [#uses=1]
+ %frag.exit_state.opCatAssign = load %"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)** %"frag.exit_state.opCatAssign@vtbl", align 4 ; <%"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)*> [#uses=1]
+ %tmp196 = call fastcc %"tango.text.Regex.List!(TNFATransition).List"* %frag.exit_state.opCatAssign(%"tango.text.Regex.List!(TNFATransition).List"* %.newclass_gc29.i, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %.newclass_gc.i) ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=0]
+ %tmp200 = bitcast i8* %.newclass_gc_alloc.i225 to %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ %tmp201 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp200 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
+ %"frag.entries.opCatAssign@vtbl" = getelementptr %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* %tmp201, i32 0, i32 5 ; <%"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)**> [#uses=1]
+ %frag.entries.opCatAssign = load %"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)** %"frag.entries.opCatAssign@vtbl", align 4 ; <%"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)*> [#uses=1]
+ %tmp204 = call fastcc %"tango.text.Regex.List!(TNFATransition).List"* %frag.entries.opCatAssign(%"tango.text.Regex.List!(TNFATransition).List"* %.newclass_gc.i226, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %.newclass_gc.i) ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=0]
+ ret %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %.newclass_gc181
+}
+
+define weak_odr fastcc void @_D5tango4text5Regex11__T4TNFATwZ4TNFA16constructBracketMFC5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4ListkZv(%"tango.text.Regex.TNFA!(dchar).TNFA"* nocapture %.this_arg, %"tango.text.Regex.List!(TNFAFragment).List"* %frags_arg, i32 %tag_arg) {
+entry:
+ %.newclass_gc_alloc.i = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex16__T9TNFAStateTwZ9TNFAState7__ClassZ) ; <i8*> [#uses=6]
+ %.newclass_gc.i = bitcast i8* %.newclass_gc_alloc.i to %"tango.text.Regex.TNFAState!(dchar).TNFAState"* ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"*> [#uses=3]
+ %vtbl.i = bitcast i8* %.newclass_gc_alloc.i to %object.ModuleInfo.__vtbl** ; <%object.ModuleInfo.__vtbl**> [#uses=1]
+ store %object.ModuleInfo.__vtbl* @_D5tango4text5Regex16__T9TNFAStateTwZ9TNFAState6__vtblZ, %object.ModuleInfo.__vtbl** %vtbl.i
+ %monitor.i = getelementptr i8* %.newclass_gc_alloc.i, i32 4 ; <i8*> [#uses=1]
+ %0 = bitcast i8* %monitor.i to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %0
+ %tmp.i = getelementptr i8* %.newclass_gc_alloc.i, i32 8 ; <i8*> [#uses=1]
+ tail call void @llvm.memcpy.i32(i8* %tmp.i, i8* bitcast (i1* getelementptr (%"tango.text.Regex.TNFAState!(dchar).TNFAState"* @_D5tango4text5Regex16__T9TNFAStateTwZ9TNFAState6__initZ, i32 0, i32 2) to i8*), i32 12, i32 1)
+ %tmp1.i.i = getelementptr i8* %.newclass_gc_alloc.i, i32 16 ; <i8*> [#uses=1]
+ %1 = bitcast i8* %tmp1.i.i to %"tango.text.Regex.List!(TNFATransition).List"** ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
+ %.newclass_gc_alloc.i.i = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7__ClassZ) ; <i8*> [#uses=4]
+ %.newclass_gc.i.i = bitcast i8* %.newclass_gc_alloc.i.i to %"tango.text.Regex.List!(TNFATransition).List"* ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
+ %vtbl.i.i = bitcast i8* %.newclass_gc_alloc.i.i to %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ store %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__vtblZ, %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %vtbl.i.i
+ %monitor.i.i = getelementptr i8* %.newclass_gc_alloc.i.i, i32 4 ; <i8*> [#uses=1]
+ %2 = bitcast i8* %monitor.i.i to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %2
+ %tmp2.i.i = getelementptr i8* %.newclass_gc_alloc.i.i, i32 8 ; <i8*> [#uses=1]
+ tail call void @llvm.memcpy.i32(i8* %tmp2.i.i, i8* bitcast (i32* getelementptr (%"tango.text.Regex.List!(TNFATransition).List"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__initZ, i32 0, i32 2) to i8*), i32 12, i32 1)
+ store %"tango.text.Regex.List!(TNFATransition).List"* %.newclass_gc.i.i, %"tango.text.Regex.List!(TNFATransition).List"** %1
+ %tmp6.i = getelementptr i8* %.newclass_gc_alloc.i, i32 12 ; <i8*> [#uses=1]
+ %3 = bitcast i8* %tmp6.i to i32* ; <i32*> [#uses=1]
+ %tmp9.i = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 3, i32 0 ; <i32*> [#uses=4]
+ %.len.i = load i32* %tmp9.i ; <i32> [#uses=4]
+ store i32 %.len.i, i32* %3
+ %tmp14.i = add i32 %.len.i, 1 ; <i32> [#uses=2]
+ %tmp17.i = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 3, i32 1 ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"***> [#uses=4]
+ %.ptr.i = load %"tango.text.Regex.TNFAState!(dchar).TNFAState"*** %tmp17.i ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"**> [#uses=1]
+ %tmp18.i = bitcast %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %.ptr.i to i8* ; <i8*> [#uses=1]
+ %.gc_mem.i = tail call i8* @_d_arraysetlengthT(%object.TypeInfo* bitcast (%object.TypeInfo_Array* @_D56TypeInfo_AC5tango4text5Regex16__T9TNFAStateTwZ9TNFAState6__initZ to %object.TypeInfo*), i32 %tmp14.i, i32 %.len.i, i8* %tmp18.i) ; <i8*> [#uses=1]
+ %.gc_mem19.i = bitcast i8* %.gc_mem.i to %"tango.text.Regex.TNFAState!(dchar).TNFAState"** ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"**> [#uses=2]
+ %tmp20.i = getelementptr %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %.gc_mem19.i, i32 %.len.i ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"**> [#uses=1]
+ store %"tango.text.Regex.TNFAState!(dchar).TNFAState"* %.newclass_gc.i, %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %tmp20.i
+ store i32 %tmp14.i, i32* %tmp9.i
+ store %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %.gc_mem19.i, %"tango.text.Regex.TNFAState!(dchar).TNFAState"*** %tmp17.i
+ %.newclass_gc_alloc.i84 = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex16__T9TNFAStateTwZ9TNFAState7__ClassZ) ; <i8*> [#uses=6]
+ %.newclass_gc.i85 = bitcast i8* %.newclass_gc_alloc.i84 to %"tango.text.Regex.TNFAState!(dchar).TNFAState"* ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"*> [#uses=2]
+ %vtbl.i86 = bitcast i8* %.newclass_gc_alloc.i84 to %object.ModuleInfo.__vtbl** ; <%object.ModuleInfo.__vtbl**> [#uses=1]
+ store %object.ModuleInfo.__vtbl* @_D5tango4text5Regex16__T9TNFAStateTwZ9TNFAState6__vtblZ, %object.ModuleInfo.__vtbl** %vtbl.i86
+ %monitor.i87 = getelementptr i8* %.newclass_gc_alloc.i84, i32 4 ; <i8*> [#uses=1]
+ %4 = bitcast i8* %monitor.i87 to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %4
+ %tmp.i88 = getelementptr i8* %.newclass_gc_alloc.i84, i32 8 ; <i8*> [#uses=1]
+ tail call void @llvm.memcpy.i32(i8* %tmp.i88, i8* bitcast (i1* getelementptr (%"tango.text.Regex.TNFAState!(dchar).TNFAState"* @_D5tango4text5Regex16__T9TNFAStateTwZ9TNFAState6__initZ, i32 0, i32 2) to i8*), i32 12, i32 1)
+ %tmp1.i.i89 = getelementptr i8* %.newclass_gc_alloc.i84, i32 16 ; <i8*> [#uses=1]
+ %5 = bitcast i8* %tmp1.i.i89 to %"tango.text.Regex.List!(TNFATransition).List"** ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=2]
+ %.newclass_gc_alloc.i.i90 = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7__ClassZ) ; <i8*> [#uses=4]
+ %.newclass_gc.i.i91 = bitcast i8* %.newclass_gc_alloc.i.i90 to %"tango.text.Regex.List!(TNFATransition).List"* ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
+ %vtbl.i.i92 = bitcast i8* %.newclass_gc_alloc.i.i90 to %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ store %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__vtblZ, %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %vtbl.i.i92
+ %monitor.i.i93 = getelementptr i8* %.newclass_gc_alloc.i.i90, i32 4 ; <i8*> [#uses=1]
+ %6 = bitcast i8* %monitor.i.i93 to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %6
+ %tmp2.i.i94 = getelementptr i8* %.newclass_gc_alloc.i.i90, i32 8 ; <i8*> [#uses=1]
+ tail call void @llvm.memcpy.i32(i8* %tmp2.i.i94, i8* bitcast (i32* getelementptr (%"tango.text.Regex.List!(TNFATransition).List"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__initZ, i32 0, i32 2) to i8*), i32 12, i32 1)
+ store %"tango.text.Regex.List!(TNFATransition).List"* %.newclass_gc.i.i91, %"tango.text.Regex.List!(TNFATransition).List"** %5
+ %tmp6.i95 = getelementptr i8* %.newclass_gc_alloc.i84, i32 12 ; <i8*> [#uses=1]
+ %7 = bitcast i8* %tmp6.i95 to i32* ; <i32*> [#uses=1]
+ %.len.i97 = load i32* %tmp9.i ; <i32> [#uses=4]
+ store i32 %.len.i97, i32* %7
+ %tmp14.i98 = add i32 %.len.i97, 1 ; <i32> [#uses=2]
+ %.ptr.i100 = load %"tango.text.Regex.TNFAState!(dchar).TNFAState"*** %tmp17.i ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"**> [#uses=1]
+ %tmp18.i101 = bitcast %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %.ptr.i100 to i8* ; <i8*> [#uses=1]
+ %.gc_mem.i102 = tail call i8* @_d_arraysetlengthT(%object.TypeInfo* bitcast (%object.TypeInfo_Array* @_D56TypeInfo_AC5tango4text5Regex16__T9TNFAStateTwZ9TNFAState6__initZ to %object.TypeInfo*), i32 %tmp14.i98, i32 %.len.i97, i8* %tmp18.i101) ; <i8*> [#uses=1]
+ %.gc_mem19.i103 = bitcast i8* %.gc_mem.i102 to %"tango.text.Regex.TNFAState!(dchar).TNFAState"** ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"**> [#uses=2]
+ %tmp20.i104 = getelementptr %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %.gc_mem19.i103, i32 %.len.i97 ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"**> [#uses=1]
+ store %"tango.text.Regex.TNFAState!(dchar).TNFAState"* %.newclass_gc.i85, %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %tmp20.i104
+ store i32 %tmp14.i98, i32* %tmp9.i
+ store %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %.gc_mem19.i103, %"tango.text.Regex.TNFAState!(dchar).TNFAState"*** %tmp17.i
+ %tmp6 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %frags_arg, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=2]
+ %tmp7 = load %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp6 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=1]
+ %tmp8 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp7, i32 0, i32 2 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"**> [#uses=1]
+ %tmp9 = load %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"** %tmp8 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*> [#uses=2]
+ %tmp10 = getelementptr %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %tmp9, i32 0, i32 0 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"**> [#uses=1]
+ %tmp11 = load %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"** %tmp10 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"*> [#uses=1]
+ %"frags.tail.value.setEntry@vtbl" = getelementptr %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"* %tmp11, i32 0, i32 5 ; <void (%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*, %"tango.text.Regex.TNFAState!(dchar).TNFAState"*)**> [#uses=1]
+ %frags.tail.value.setEntry = load void (%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*, %"tango.text.Regex.TNFAState!(dchar).TNFAState"*)** %"frags.tail.value.setEntry@vtbl", align 4 ; <void (%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*, %"tango.text.Regex.TNFAState!(dchar).TNFAState"*)*> [#uses=1]
+ tail call fastcc void %frags.tail.value.setEntry(%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %tmp9, %"tango.text.Regex.TNFAState!(dchar).TNFAState"* %.newclass_gc.i)
+ %tmp16 = load %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp6 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=1]
+ %tmp17 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp16, i32 0, i32 2 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"**> [#uses=1]
+ %tmp18 = load %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"** %tmp17 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*> [#uses=2]
+ %tmp19 = getelementptr %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %tmp18, i32 0, i32 0 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"**> [#uses=1]
+ %tmp20 = load %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"** %tmp19 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"*> [#uses=1]
+ %"frags.tail.value.setExit@vtbl" = getelementptr %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"* %tmp20, i32 0, i32 6 ; <void (%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*, %"tango.text.Regex.TNFAState!(dchar).TNFAState"*)**> [#uses=1]
+ %frags.tail.value.setExit = load void (%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*, %"tango.text.Regex.TNFAState!(dchar).TNFAState"*)** %"frags.tail.value.setExit@vtbl", align 4 ; <void (%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*, %"tango.text.Regex.TNFAState!(dchar).TNFAState"*)*> [#uses=1]
+ tail call fastcc void %frags.tail.value.setExit(%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %tmp18, %"tango.text.Regex.TNFAState!(dchar).TNFAState"* %.newclass_gc.i85)
+ %.newclass_gc_alloc.i105 = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransition7__ClassZ) ; <i8*> [#uses=7]
+ %.newclass_gc.i106 = bitcast i8* %.newclass_gc_alloc.i105 to %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*> [#uses=2]
+ %vtbl.i107 = bitcast i8* %.newclass_gc_alloc.i105 to %object.ModuleInfo.__vtbl** ; <%object.ModuleInfo.__vtbl**> [#uses=1]
+ store %object.ModuleInfo.__vtbl* @_D5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransition6__vtblZ, %object.ModuleInfo.__vtbl** %vtbl.i107
+ %monitor.i108 = getelementptr i8* %.newclass_gc_alloc.i105, i32 4 ; <i8*> [#uses=1]
+ %8 = bitcast i8* %monitor.i108 to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %8
+ %tmp.i109 = getelementptr i8* %.newclass_gc_alloc.i105, i32 8 ; <i8*> [#uses=2]
+ tail call void @llvm.memcpy.i32(i8* %tmp.i109, i8* bitcast (%"tango.text.Regex.TNFAState!(dchar).TNFAState"** getelementptr (%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* @_D5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransition6__initZ, i32 0, i32 2) to i8*), i32 44, i32 1)
+ %tmp1.i.i110 = getelementptr i8* %.newclass_gc_alloc.i105, i32 48 ; <i8*> [#uses=1]
+ %9 = bitcast i8* %tmp1.i.i110 to i32* ; <i32*> [#uses=1]
+ store i32 1, i32* %9
+ %tmp7.i = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 9 ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=2]
+ %tmp8.i = load %"tango.text.Regex.List!(TNFATransition).List"** %tmp7.i ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
+ %tmp9.i111 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp8.i, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ %tmp10.i = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp9.i111 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
+ %"this.transitions.opCatAssign@vtbl.i" = getelementptr %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* %tmp10.i, i32 0, i32 5 ; <%"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)**> [#uses=1]
+ %this.transitions.opCatAssign.i = load %"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)** %"this.transitions.opCatAssign@vtbl.i", align 4 ; <%"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)*> [#uses=1]
+ %tmp13.i = tail call fastcc %"tango.text.Regex.List!(TNFATransition).List"* %this.transitions.opCatAssign.i(%"tango.text.Regex.List!(TNFATransition).List"* %tmp8.i, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %.newclass_gc.i106) ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=0]
+ %.newclass_gc_alloc.i112 = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransition7__ClassZ) ; <i8*> [#uses=7]
+ %.newclass_gc.i113 = bitcast i8* %.newclass_gc_alloc.i112 to %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*> [#uses=3]
+ %vtbl.i114 = bitcast i8* %.newclass_gc_alloc.i112 to %object.ModuleInfo.__vtbl** ; <%object.ModuleInfo.__vtbl**> [#uses=1]
+ store %object.ModuleInfo.__vtbl* @_D5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransition6__vtblZ, %object.ModuleInfo.__vtbl** %vtbl.i114
+ %monitor.i115 = getelementptr i8* %.newclass_gc_alloc.i112, i32 4 ; <i8*> [#uses=1]
+ %10 = bitcast i8* %monitor.i115 to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %10
+ %tmp.i116 = getelementptr i8* %.newclass_gc_alloc.i112, i32 8 ; <i8*> [#uses=1]
+ tail call void @llvm.memcpy.i32(i8* %tmp.i116, i8* bitcast (%"tango.text.Regex.TNFAState!(dchar).TNFAState"** getelementptr (%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* @_D5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransition6__initZ, i32 0, i32 2) to i8*), i32 44, i32 1)
+ %tmp1.i.i117 = getelementptr i8* %.newclass_gc_alloc.i112, i32 48 ; <i8*> [#uses=1]
+ %11 = bitcast i8* %tmp1.i.i117 to i32* ; <i32*> [#uses=1]
+ store i32 1, i32* %11
+ %tmp8.i119 = load %"tango.text.Regex.List!(TNFATransition).List"** %tmp7.i ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
+ %tmp9.i120 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp8.i119, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ %tmp10.i121 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp9.i120 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
+ %"this.transitions.opCatAssign@vtbl.i122" = getelementptr %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* %tmp10.i121, i32 0, i32 5 ; <%"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)**> [#uses=1]
+ %this.transitions.opCatAssign.i123 = load %"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)** %"this.transitions.opCatAssign@vtbl.i122", align 4 ; <%"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)*> [#uses=1]
+ %tmp13.i124 = tail call fastcc %"tango.text.Regex.List!(TNFATransition).List"* %this.transitions.opCatAssign.i123(%"tango.text.Regex.List!(TNFATransition).List"* %tmp8.i119, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %.newclass_gc.i113) ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=0]
+ %tmp29 = getelementptr i8* %.newclass_gc_alloc.i105, i32 20 ; <i8*> [#uses=1]
+ %12 = bitcast i8* %tmp29 to i32* ; <i32*> [#uses=1]
+ store i32 1, i32* %12
+ %tmp32 = getelementptr i8* %.newclass_gc_alloc.i112, i32 20 ; <i8*> [#uses=1]
+ %13 = bitcast i8* %tmp32 to i32* ; <i32*> [#uses=1]
+ store i32 1, i32* %13
+ %tmp34 = icmp eq i32 %tag_arg, 0 ; <i1> [#uses=1]
+ br i1 %tmp34, label %endif, label %if
+
+if: ; preds = %entry
+ %tmp36 = getelementptr i8* %.newclass_gc_alloc.i105, i32 44 ; <i8*> [#uses=1]
+ %14 = bitcast i8* %tmp36 to i32* ; <i32*> [#uses=1]
+ %tmp38 = add i32 %tag_arg, 1 ; <i32> [#uses=1]
+ store i32 %tag_arg, i32* %14
+ %tmp40 = getelementptr i8* %.newclass_gc_alloc.i112, i32 44 ; <i8*> [#uses=1]
+ %15 = bitcast i8* %tmp40 to i32* ; <i32*> [#uses=1]
+ store i32 %tmp38, i32* %15
+ br label %endif
+
+endif: ; preds = %if, %entry
+ %16 = bitcast i8* %tmp.i109 to %"tango.text.Regex.TNFAState!(dchar).TNFAState"** ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"**> [#uses=1]
+ store %"tango.text.Regex.TNFAState!(dchar).TNFAState"* %.newclass_gc.i, %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %16
+ %tmp47 = load %"tango.text.Regex.List!(TNFATransition).List"** %5 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
+ %tmp48 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp47, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ %tmp49 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp48 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
+ %"exit.transitions.opCatAssign@vtbl" = getelementptr %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* %tmp49, i32 0, i32 5 ; <%"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)**> [#uses=1]
+ %exit.transitions.opCatAssign = load %"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)** %"exit.transitions.opCatAssign@vtbl", align 4 ; <%"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)*> [#uses=1]
+ %tmp52 = tail call fastcc %"tango.text.Regex.List!(TNFATransition).List"* %exit.transitions.opCatAssign(%"tango.text.Regex.List!(TNFATransition).List"* %tmp47, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %.newclass_gc.i113) ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=0]
+ %.newclass_gc_alloc = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment7__ClassZ) ; <i8*> [#uses=7]
+ %.newclass_gc = bitcast i8* %.newclass_gc_alloc to %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*> [#uses=1]
+ %vtbl = bitcast i8* %.newclass_gc_alloc to %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"** ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"**> [#uses=1]
+ store %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"* @_D5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment6__vtblZ, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"** %vtbl
+ %monitor = getelementptr i8* %.newclass_gc_alloc, i32 4 ; <i8*> [#uses=1]
+ %17 = bitcast i8* %monitor to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %17
+ %tmp53 = getelementptr i8* %.newclass_gc_alloc, i32 8 ; <i8*> [#uses=2]
+ tail call void @llvm.memcpy.i32(i8* %tmp53, i8* bitcast (%"tango.text.Regex.List!(TNFATransition).List"** getelementptr (%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* @_D5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment6__initZ, i32 0, i32 2) to i8*), i32 17, i32 1)
+ %18 = bitcast i8* %tmp53 to %"tango.text.Regex.List!(TNFATransition).List"** ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=2]
+ %.newclass_gc_alloc.i125 = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7__ClassZ) ; <i8*> [#uses=4]
+ %.newclass_gc.i126 = bitcast i8* %.newclass_gc_alloc.i125 to %"tango.text.Regex.List!(TNFATransition).List"* ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
+ %vtbl.i127 = bitcast i8* %.newclass_gc_alloc.i125 to %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ store %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__vtblZ, %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %vtbl.i127
+ %monitor.i128 = getelementptr i8* %.newclass_gc_alloc.i125, i32 4 ; <i8*> [#uses=1]
+ %19 = bitcast i8* %monitor.i128 to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %19
+ %tmp2.i = getelementptr i8* %.newclass_gc_alloc.i125, i32 8 ; <i8*> [#uses=1]
+ tail call void @llvm.memcpy.i32(i8* %tmp2.i, i8* bitcast (i32* getelementptr (%"tango.text.Regex.List!(TNFATransition).List"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__initZ, i32 0, i32 2) to i8*), i32 12, i32 1)
+ store %"tango.text.Regex.List!(TNFATransition).List"* %.newclass_gc.i126, %"tango.text.Regex.List!(TNFATransition).List"** %18
+ %tmp7.i129 = getelementptr i8* %.newclass_gc_alloc, i32 12 ; <i8*> [#uses=1]
+ %20 = bitcast i8* %tmp7.i129 to %"tango.text.Regex.List!(TNFATransition).List"** ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
+ %.newclass_gc_alloc8.i = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7__ClassZ) ; <i8*> [#uses=4]
+ %.newclass_gc9.i = bitcast i8* %.newclass_gc_alloc8.i to %"tango.text.Regex.List!(TNFATransition).List"* ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
+ %vtbl10.i = bitcast i8* %.newclass_gc_alloc8.i to %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ store %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__vtblZ, %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %vtbl10.i
+ %monitor11.i = getelementptr i8* %.newclass_gc_alloc8.i, i32 4 ; <i8*> [#uses=1]
+ %21 = bitcast i8* %monitor11.i to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %21
+ %tmp12.i = getelementptr i8* %.newclass_gc_alloc8.i, i32 8 ; <i8*> [#uses=1]
+ tail call void @llvm.memcpy.i32(i8* %tmp12.i, i8* bitcast (i32* getelementptr (%"tango.text.Regex.List!(TNFATransition).List"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__initZ, i32 0, i32 2) to i8*), i32 12, i32 1)
+ store %"tango.text.Regex.List!(TNFATransition).List"* %.newclass_gc9.i, %"tango.text.Regex.List!(TNFATransition).List"** %20
+ %tmp17.i130 = getelementptr i8* %.newclass_gc_alloc, i32 16 ; <i8*> [#uses=1]
+ %22 = bitcast i8* %tmp17.i130 to %"tango.text.Regex.List!(TNFATransition).List"** ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
+ %.newclass_gc_alloc18.i = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7__ClassZ) ; <i8*> [#uses=4]
+ %.newclass_gc19.i = bitcast i8* %.newclass_gc_alloc18.i to %"tango.text.Regex.List!(TNFATransition).List"* ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
+ %vtbl20.i = bitcast i8* %.newclass_gc_alloc18.i to %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ store %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__vtblZ, %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %vtbl20.i
+ %monitor21.i = getelementptr i8* %.newclass_gc_alloc18.i, i32 4 ; <i8*> [#uses=1]
+ %23 = bitcast i8* %monitor21.i to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %23
+ %tmp22.i = getelementptr i8* %.newclass_gc_alloc18.i, i32 8 ; <i8*> [#uses=1]
+ tail call void @llvm.memcpy.i32(i8* %tmp22.i, i8* bitcast (i32* getelementptr (%"tango.text.Regex.List!(TNFATransition).List"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__initZ, i32 0, i32 2) to i8*), i32 12, i32 1)
+ store %"tango.text.Regex.List!(TNFATransition).List"* %.newclass_gc19.i, %"tango.text.Regex.List!(TNFATransition).List"** %22
+ %tmp27.i = getelementptr i8* %.newclass_gc_alloc, i32 20 ; <i8*> [#uses=1]
+ %24 = bitcast i8* %tmp27.i to %"tango.text.Regex.List!(TNFATransition).List"** ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=2]
+ %.newclass_gc_alloc28.i = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7__ClassZ) ; <i8*> [#uses=4]
+ %.newclass_gc29.i = bitcast i8* %.newclass_gc_alloc28.i to %"tango.text.Regex.List!(TNFATransition).List"* ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
+ %vtbl30.i = bitcast i8* %.newclass_gc_alloc28.i to %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ store %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__vtblZ, %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %vtbl30.i
+ %monitor31.i = getelementptr i8* %.newclass_gc_alloc28.i, i32 4 ; <i8*> [#uses=1]
+ %25 = bitcast i8* %monitor31.i to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %25
+ %tmp32.i = getelementptr i8* %.newclass_gc_alloc28.i, i32 8 ; <i8*> [#uses=1]
+ tail call void @llvm.memcpy.i32(i8* %tmp32.i, i8* bitcast (i32* getelementptr (%"tango.text.Regex.List!(TNFATransition).List"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__initZ, i32 0, i32 2) to i8*), i32 12, i32 1)
+ store %"tango.text.Regex.List!(TNFATransition).List"* %.newclass_gc29.i, %"tango.text.Regex.List!(TNFATransition).List"** %24
+ %tmp60 = load %"tango.text.Regex.List!(TNFATransition).List"** %18 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
+ %tmp61 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp60, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ %tmp62 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp61 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
+ %"frag.entries.opCatAssign@vtbl" = getelementptr %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* %tmp62, i32 0, i32 5 ; <%"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)**> [#uses=1]
+ %frag.entries.opCatAssign = load %"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)** %"frag.entries.opCatAssign@vtbl", align 4 ; <%"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)*> [#uses=1]
+ %tmp65 = tail call fastcc %"tango.text.Regex.List!(TNFATransition).List"* %frag.entries.opCatAssign(%"tango.text.Regex.List!(TNFATransition).List"* %tmp60, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %.newclass_gc.i106) ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=0]
+ %tmp68 = load %"tango.text.Regex.List!(TNFATransition).List"** %24 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
+ %tmp69 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp68, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ %tmp70 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp69 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
+ %"frag.exit_state.opCatAssign@vtbl" = getelementptr %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* %tmp70, i32 0, i32 5 ; <%"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)**> [#uses=1]
+ %frag.exit_state.opCatAssign = load %"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)** %"frag.exit_state.opCatAssign@vtbl", align 4 ; <%"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)*> [#uses=1]
+ %tmp73 = tail call fastcc %"tango.text.Regex.List!(TNFATransition).List"* %frag.exit_state.opCatAssign(%"tango.text.Regex.List!(TNFATransition).List"* %tmp68, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %.newclass_gc.i113) ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=0]
+ %tmp75 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %frags_arg, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"**> [#uses=2]
+ %tmp76 = load %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"** %tmp75 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"*> [#uses=1]
+ %"frags.pop@vtbl" = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"* %tmp76, i32 0, i32 16 ; <void (%"tango.text.Regex.List!(TNFAFragment).List"*)**> [#uses=1]
+ %frags.pop = load void (%"tango.text.Regex.List!(TNFAFragment).List"*)** %"frags.pop@vtbl", align 4 ; <void (%"tango.text.Regex.List!(TNFAFragment).List"*)*> [#uses=1]
+ tail call fastcc void %frags.pop(%"tango.text.Regex.List!(TNFAFragment).List"* %frags_arg)
+ %tmp80 = load %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"** %tmp75 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"*> [#uses=1]
+ %"frags.opCatAssign@vtbl" = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"* %tmp80, i32 0, i32 5 ; <%"tango.text.Regex.List!(TNFAFragment).List"* (%"tango.text.Regex.List!(TNFAFragment).List"*, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*)**> [#uses=1]
+ %frags.opCatAssign = load %"tango.text.Regex.List!(TNFAFragment).List"* (%"tango.text.Regex.List!(TNFAFragment).List"*, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*)** %"frags.opCatAssign@vtbl", align 4 ; <%"tango.text.Regex.List!(TNFAFragment).List"* (%"tango.text.Regex.List!(TNFAFragment).List"*, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*)*> [#uses=1]
+ %tmp83 = tail call fastcc %"tango.text.Regex.List!(TNFAFragment).List"* %frags.opCatAssign(%"tango.text.Regex.List!(TNFAFragment).List"* %frags_arg, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %.newclass_gc) ; <%"tango.text.Regex.List!(TNFAFragment).List"*> [#uses=0]
+ ret void
+}
+
+define weak_odr fastcc void @_D5tango4text5Regex11__T4TNFATwZ4TNFA16constructOneMoreMFC5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4ListE5tango4text5Regex13PriorityClassZv(%"tango.text.Regex.TNFA!(dchar).TNFA"* nocapture %.this_arg, %"tango.text.Regex.List!(TNFAFragment).List"* %frags_arg, i32 %prioClass_arg) {
+entry:
+ %tmp1 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %frags_arg, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"**> [#uses=3]
+ %tmp2 = load %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"** %tmp1 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"*> [#uses=1]
+ %"frags.empty@vtbl" = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"* %tmp2, i32 0, i32 14 ; <i1 (%"tango.text.Regex.List!(TNFAFragment).List"*)**> [#uses=1]
+ %frags.empty = load i1 (%"tango.text.Regex.List!(TNFAFragment).List"*)** %"frags.empty@vtbl", align 4 ; <i1 (%"tango.text.Regex.List!(TNFAFragment).List"*)*> [#uses=1]
+ %tmp4 = tail call fastcc i1 %frags.empty(%"tango.text.Regex.List!(TNFAFragment).List"* %frags_arg) ; <i1> [#uses=1]
+ br i1 %tmp4, label %if, label %endif
+
+if: ; preds = %entry
+ %.newclass_gc_alloc = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex15RegExpException7__ClassZ) ; <i8*> [#uses=5]
+ %.newclass_gc = bitcast i8* %.newclass_gc_alloc to %object.Exception* ; <%object.Exception*> [#uses=1]
+ %vtbl = bitcast i8* %.newclass_gc_alloc to %object.Exception.__vtbl** ; <%object.Exception.__vtbl**> [#uses=1]
+ store %object.Exception.__vtbl* @_D5tango4text5Regex15RegExpException6__vtblZ, %object.Exception.__vtbl** %vtbl
+ %monitor = getelementptr i8* %.newclass_gc_alloc, i32 4 ; <i8*> [#uses=1]
+ %0 = bitcast i8* %monitor to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %0
+ %tmp5 = getelementptr i8* %.newclass_gc_alloc, i32 8 ; <i8*> [#uses=1]
+ tail call void @llvm.memcpy.i32(i8* %tmp5, i8* bitcast (%"byte[]"* getelementptr (%object.Exception* bitcast (%28* @_D5tango4text5Regex15RegExpException6__initZ to %object.Exception*), i32 0, i32 2) to i8*), i32 28, i32 1)
+ %tmp11 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 2, i32 1 ; <i32**> [#uses=1]
+ %.ptr = load i32** %tmp11 ; <i32*> [#uses=1]
+ %tmp13 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 7 ; <i32*> [#uses=1]
+ %tmp14 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 2, i32 0 ; <i32*> [#uses=1]
+ %.len = load i32* %tmp14 ; <i32> [#uses=1]
+ %tmp15 = load i32* %tmp13 ; <i32> [#uses=2]
+ %tmp16 = getelementptr i32* %.ptr, i32 %tmp15 ; <i32*> [#uses=1]
+ %tmp17 = sub i32 %.len, %tmp15 ; <i32> [#uses=1]
+ %tmp18 = insertvalue %"Act[]" undef, i32 %tmp17, 0 ; <%"Act[]"> [#uses=1]
+ %tmp19 = insertvalue %"Act[]" %tmp18, i32* %tmp16, 1 ; <%"Act[]"> [#uses=1]
+ %tmp20 = tail call fastcc %"byte[]" @_D5tango4text7convert3Utf8toStringFAwAaPkZAa(%"Act[]" %tmp19, %"byte[]" zeroinitializer, i32* null) ; <%"byte[]"> [#uses=2]
+ %.len21 = extractvalue %"byte[]" %tmp20, 0 ; <i32> [#uses=4]
+ %tmp22 = add i32 %.len21, 28 ; <i32> [#uses=3]
+ %.nongc_mem = alloca i8, i32 %tmp22, align 1 ; <i8*> [#uses=3]
+ %.ptr23 = extractvalue %"byte[]" %tmp20, 1 ; <i8*> [#uses=1]
+ tail call void @llvm.memcpy.i32(i8* %.nongc_mem, i8* getelementptr ([29 x i8]* @.str231, i32 0, i32 0), i32 28, i32 1)
+ %tmp24 = getelementptr i8* %.nongc_mem, i32 28 ; <i8*> [#uses=1]
+ tail call void @llvm.memcpy.i32(i8* %tmp24, i8* %.ptr23, i32 %.len21, i32 1)
+ %tmp26 = add i32 %.len21, 29 ; <i32> [#uses=2]
+ %.nongc_mem171 = alloca i8, i32 %tmp26, align 1 ; <i8*> [#uses=3]
+ tail call void @llvm.memcpy.i32(i8* %.nongc_mem171, i8* %.nongc_mem, i32 %tmp22, i32 1)
+ %tmp29 = getelementptr i8* %.nongc_mem171, i32 %tmp22 ; <i8*> [#uses=1]
+ store i8 34, i8* %tmp29, align 1
+ %tmp2.i = add i32 %.len21, 37 ; <i32> [#uses=2]
+ %.gc_mem.i = tail call noalias i8* @_d_newarrayvT(%object.TypeInfo* @_D11TypeInfo_Aa6__initZ, i32 %tmp2.i) ; <i8*> [#uses=3]
+ %.gc_mem12.i = bitcast i8* %.gc_mem.i to i64* ; <i64*> [#uses=1]
+ %tmp.i = load i64* bitcast ([9 x i8]* @.str280 to i64*), align 8 ; <i64> [#uses=1]
+ store i64 %tmp.i, i64* %.gc_mem12.i, align 1
+ %tmp4.i = getelementptr i8* %.gc_mem.i, i32 8 ; <i8*> [#uses=1]
+ tail call void @llvm.memcpy.i32(i8* %tmp4.i, i8* %.nongc_mem171, i32 %tmp26, i32 1)
+ %tmp6.i = insertvalue %"byte[]" undef, i32 %tmp2.i, 0 ; <%"byte[]"> [#uses=1]
+ %tmp7.i = insertvalue %"byte[]" %tmp6.i, i8* %.gc_mem.i, 1 ; <%"byte[]"> [#uses=1]
+ %tmp8.i = tail call fastcc %object.Exception* @_D6object9Exception5_ctorMFAaC9ExceptionZC9Exception(%object.Exception* %.newclass_gc, %"byte[]" %tmp7.i, %object.Exception* null) ; <%object.Exception*> [#uses=0]
+ %tmp33 = bitcast i8* %.newclass_gc_alloc to %object.Object* ; <%object.Object*> [#uses=1]
+ tail call void @_d_throw_exception(%object.Object* %tmp33)
+ unreachable
+
+endif: ; preds = %entry
+ %.newclass_gc_alloc.i = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransition7__ClassZ) ; <i8*> [#uses=6]
+ %.newclass_gc.i = bitcast i8* %.newclass_gc_alloc.i to %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*> [#uses=3]
+ %vtbl.i = bitcast i8* %.newclass_gc_alloc.i to %object.ModuleInfo.__vtbl** ; <%object.ModuleInfo.__vtbl**> [#uses=1]
+ store %object.ModuleInfo.__vtbl* @_D5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransition6__vtblZ, %object.ModuleInfo.__vtbl** %vtbl.i
+ %monitor.i = getelementptr i8* %.newclass_gc_alloc.i, i32 4 ; <i8*> [#uses=1]
+ %1 = bitcast i8* %monitor.i to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %1
+ %tmp.i139 = getelementptr i8* %.newclass_gc_alloc.i, i32 8 ; <i8*> [#uses=1]
+ tail call void @llvm.memcpy.i32(i8* %tmp.i139, i8* bitcast (%"tango.text.Regex.TNFAState!(dchar).TNFAState"** getelementptr (%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* @_D5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransition6__initZ, i32 0, i32 2) to i8*), i32 44, i32 1)
+ %tmp1.i.i = getelementptr i8* %.newclass_gc_alloc.i, i32 48 ; <i8*> [#uses=1]
+ %2 = bitcast i8* %tmp1.i.i to i32* ; <i32*> [#uses=1]
+ store i32 %prioClass_arg, i32* %2
+ %tmp7.i140 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 9 ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=2]
+ %tmp8.i141 = load %"tango.text.Regex.List!(TNFATransition).List"** %tmp7.i140 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
+ %tmp9.i = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp8.i141, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ %tmp10.i = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp9.i ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
+ %"this.transitions.opCatAssign@vtbl.i" = getelementptr %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* %tmp10.i, i32 0, i32 5 ; <%"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)**> [#uses=1]
+ %this.transitions.opCatAssign.i = load %"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)** %"this.transitions.opCatAssign@vtbl.i", align 4 ; <%"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)*> [#uses=1]
+ %tmp13.i = tail call fastcc %"tango.text.Regex.List!(TNFATransition).List"* %this.transitions.opCatAssign.i(%"tango.text.Regex.List!(TNFATransition).List"* %tmp8.i141, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %.newclass_gc.i) ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=0]
+ %.newclass_gc_alloc.i142 = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransition7__ClassZ) ; <i8*> [#uses=6]
+ %.newclass_gc.i143 = bitcast i8* %.newclass_gc_alloc.i142 to %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*> [#uses=3]
+ %vtbl.i144 = bitcast i8* %.newclass_gc_alloc.i142 to %object.ModuleInfo.__vtbl** ; <%object.ModuleInfo.__vtbl**> [#uses=1]
+ store %object.ModuleInfo.__vtbl* @_D5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransition6__vtblZ, %object.ModuleInfo.__vtbl** %vtbl.i144
+ %monitor.i145 = getelementptr i8* %.newclass_gc_alloc.i142, i32 4 ; <i8*> [#uses=1]
+ %3 = bitcast i8* %monitor.i145 to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %3
+ %tmp.i146 = getelementptr i8* %.newclass_gc_alloc.i142, i32 8 ; <i8*> [#uses=1]
+ tail call void @llvm.memcpy.i32(i8* %tmp.i146, i8* bitcast (%"tango.text.Regex.TNFAState!(dchar).TNFAState"** getelementptr (%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* @_D5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransition6__initZ, i32 0, i32 2) to i8*), i32 44, i32 1)
+ %tmp1.i.i147 = getelementptr i8* %.newclass_gc_alloc.i142, i32 48 ; <i8*> [#uses=1]
+ %4 = bitcast i8* %tmp1.i.i147 to i32* ; <i32*> [#uses=1]
+ store i32 1, i32* %4
+ %tmp8.i149 = load %"tango.text.Regex.List!(TNFATransition).List"** %tmp7.i140 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
+ %tmp9.i150 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp8.i149, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ %tmp10.i151 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp9.i150 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
+ %"this.transitions.opCatAssign@vtbl.i152" = getelementptr %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* %tmp10.i151, i32 0, i32 5 ; <%"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)**> [#uses=1]
+ %this.transitions.opCatAssign.i153 = load %"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)** %"this.transitions.opCatAssign@vtbl.i152", align 4 ; <%"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)*> [#uses=1]
+ %tmp13.i154 = tail call fastcc %"tango.text.Regex.List!(TNFATransition).List"* %this.transitions.opCatAssign.i153(%"tango.text.Regex.List!(TNFATransition).List"* %tmp8.i149, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %.newclass_gc.i143) ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=0]
+ %tmp41 = getelementptr i8* %.newclass_gc_alloc.i, i32 20 ; <i8*> [#uses=1]
+ %5 = bitcast i8* %tmp41 to i32* ; <i32*> [#uses=1]
+ store i32 1, i32* %5
+ %tmp44 = getelementptr i8* %.newclass_gc_alloc.i142, i32 20 ; <i8*> [#uses=1]
+ %6 = bitcast i8* %tmp44 to i32* ; <i32*> [#uses=1]
+ store i32 1, i32* %6
+ %.newclass_gc_alloc.i155 = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex16__T9TNFAStateTwZ9TNFAState7__ClassZ) ; <i8*> [#uses=6]
+ %.newclass_gc.i156 = bitcast i8* %.newclass_gc_alloc.i155 to %"tango.text.Regex.TNFAState!(dchar).TNFAState"* ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"*> [#uses=2]
+ %vtbl.i157 = bitcast i8* %.newclass_gc_alloc.i155 to %object.ModuleInfo.__vtbl** ; <%object.ModuleInfo.__vtbl**> [#uses=1]
+ store %object.ModuleInfo.__vtbl* @_D5tango4text5Regex16__T9TNFAStateTwZ9TNFAState6__vtblZ, %object.ModuleInfo.__vtbl** %vtbl.i157
+ %monitor.i158 = getelementptr i8* %.newclass_gc_alloc.i155, i32 4 ; <i8*> [#uses=1]
+ %7 = bitcast i8* %monitor.i158 to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %7
+ %tmp.i159 = getelementptr i8* %.newclass_gc_alloc.i155, i32 8 ; <i8*> [#uses=1]
+ tail call void @llvm.memcpy.i32(i8* %tmp.i159, i8* bitcast (i1* getelementptr (%"tango.text.Regex.TNFAState!(dchar).TNFAState"* @_D5tango4text5Regex16__T9TNFAStateTwZ9TNFAState6__initZ, i32 0, i32 2) to i8*), i32 12, i32 1)
+ %tmp1.i.i160 = getelementptr i8* %.newclass_gc_alloc.i155, i32 16 ; <i8*> [#uses=1]
+ %8 = bitcast i8* %tmp1.i.i160 to %"tango.text.Regex.List!(TNFATransition).List"** ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=3]
+ %.newclass_gc_alloc.i.i = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7__ClassZ) ; <i8*> [#uses=4]
+ %.newclass_gc.i.i = bitcast i8* %.newclass_gc_alloc.i.i to %"tango.text.Regex.List!(TNFATransition).List"* ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
+ %vtbl.i.i = bitcast i8* %.newclass_gc_alloc.i.i to %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ store %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__vtblZ, %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %vtbl.i.i
+ %monitor.i.i = getelementptr i8* %.newclass_gc_alloc.i.i, i32 4 ; <i8*> [#uses=1]
+ %9 = bitcast i8* %monitor.i.i to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %9
+ %tmp2.i.i = getelementptr i8* %.newclass_gc_alloc.i.i, i32 8 ; <i8*> [#uses=1]
+ tail call void @llvm.memcpy.i32(i8* %tmp2.i.i, i8* bitcast (i32* getelementptr (%"tango.text.Regex.List!(TNFATransition).List"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__initZ, i32 0, i32 2) to i8*), i32 12, i32 1)
+ store %"tango.text.Regex.List!(TNFATransition).List"* %.newclass_gc.i.i, %"tango.text.Regex.List!(TNFATransition).List"** %8
+ %tmp6.i161 = getelementptr i8* %.newclass_gc_alloc.i155, i32 12 ; <i8*> [#uses=1]
+ %10 = bitcast i8* %tmp6.i161 to i32* ; <i32*> [#uses=1]
+ %tmp9.i162 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 3, i32 0 ; <i32*> [#uses=2]
+ %.len.i = load i32* %tmp9.i162 ; <i32> [#uses=4]
+ store i32 %.len.i, i32* %10
+ %tmp14.i = add i32 %.len.i, 1 ; <i32> [#uses=2]
+ %tmp17.i = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 3, i32 1 ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"***> [#uses=2]
+ %.ptr.i = load %"tango.text.Regex.TNFAState!(dchar).TNFAState"*** %tmp17.i ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"**> [#uses=1]
+ %tmp18.i = bitcast %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %.ptr.i to i8* ; <i8*> [#uses=1]
+ %.gc_mem.i163 = tail call i8* @_d_arraysetlengthT(%object.TypeInfo* bitcast (%object.TypeInfo_Array* @_D56TypeInfo_AC5tango4text5Regex16__T9TNFAStateTwZ9TNFAState6__initZ to %object.TypeInfo*), i32 %tmp14.i, i32 %.len.i, i8* %tmp18.i) ; <i8*> [#uses=1]
+ %.gc_mem19.i = bitcast i8* %.gc_mem.i163 to %"tango.text.Regex.TNFAState!(dchar).TNFAState"** ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"**> [#uses=2]
+ %tmp20.i = getelementptr %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %.gc_mem19.i, i32 %.len.i ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"**> [#uses=1]
+ store %"tango.text.Regex.TNFAState!(dchar).TNFAState"* %.newclass_gc.i156, %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %tmp20.i
+ store i32 %tmp14.i, i32* %tmp9.i162
+ store %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %.gc_mem19.i, %"tango.text.Regex.TNFAState!(dchar).TNFAState"*** %tmp17.i
+ %tmp48 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %frags_arg, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=3]
+ %tmp49 = load %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp48 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=1]
+ %tmp50 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp49, i32 0, i32 2 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"**> [#uses=1]
+ %tmp51 = load %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"** %tmp50 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*> [#uses=2]
+ %tmp52 = getelementptr %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %tmp51, i32 0, i32 0 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"**> [#uses=1]
+ %tmp53 = load %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"** %tmp52 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"*> [#uses=1]
+ %"frags.tail.value.setExit@vtbl" = getelementptr %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"* %tmp53, i32 0, i32 6 ; <void (%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*, %"tango.text.Regex.TNFAState!(dchar).TNFAState"*)**> [#uses=1]
+ %frags.tail.value.setExit = load void (%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*, %"tango.text.Regex.TNFAState!(dchar).TNFAState"*)** %"frags.tail.value.setExit@vtbl", align 4 ; <void (%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*, %"tango.text.Regex.TNFAState!(dchar).TNFAState"*)*> [#uses=1]
+ tail call fastcc void %frags.tail.value.setExit(%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %tmp51, %"tango.text.Regex.TNFAState!(dchar).TNFAState"* %.newclass_gc.i156)
+ %tmp58 = load %"tango.text.Regex.List!(TNFATransition).List"** %8 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
+ %tmp59 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp58, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ %tmp60 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp59 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
+ %"s.transitions.opCatAssign@vtbl" = getelementptr %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* %tmp60, i32 0, i32 5 ; <%"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)**> [#uses=1]
+ %s.transitions.opCatAssign = load %"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)** %"s.transitions.opCatAssign@vtbl", align 4 ; <%"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)*> [#uses=1]
+ %tmp63 = tail call fastcc %"tango.text.Regex.List!(TNFATransition).List"* %s.transitions.opCatAssign(%"tango.text.Regex.List!(TNFATransition).List"* %tmp58, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %.newclass_gc.i) ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=0]
+ %tmp66 = load %"tango.text.Regex.List!(TNFATransition).List"** %8 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
+ %tmp67 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp66, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ %tmp68 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp67 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
+ %"s.transitions.opCatAssign@vtbl69" = getelementptr %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* %tmp68, i32 0, i32 5 ; <%"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)**> [#uses=1]
+ %s.transitions.opCatAssign71 = load %"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)** %"s.transitions.opCatAssign@vtbl69", align 4 ; <%"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)*> [#uses=1]
+ %tmp73 = tail call fastcc %"tango.text.Regex.List!(TNFATransition).List"* %s.transitions.opCatAssign71(%"tango.text.Regex.List!(TNFATransition).List"* %tmp66, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %.newclass_gc.i143) ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=0]
+ %.newclass_gc_alloc74 = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment7__ClassZ) ; <i8*> [#uses=7]
+ %.newclass_gc75 = bitcast i8* %.newclass_gc_alloc74 to %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*> [#uses=1]
+ %vtbl76 = bitcast i8* %.newclass_gc_alloc74 to %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"** ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"**> [#uses=1]
+ store %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"* @_D5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment6__vtblZ, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"** %vtbl76
+ %monitor77 = getelementptr i8* %.newclass_gc_alloc74, i32 4 ; <i8*> [#uses=1]
+ %11 = bitcast i8* %monitor77 to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %11
+ %tmp78 = getelementptr i8* %.newclass_gc_alloc74, i32 8 ; <i8*> [#uses=2]
+ tail call void @llvm.memcpy.i32(i8* %tmp78, i8* bitcast (%"tango.text.Regex.List!(TNFATransition).List"** getelementptr (%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* @_D5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment6__initZ, i32 0, i32 2) to i8*), i32 17, i32 1)
+ %12 = bitcast i8* %tmp78 to %"tango.text.Regex.List!(TNFATransition).List"** ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=2]
+ %.newclass_gc_alloc.i164 = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7__ClassZ) ; <i8*> [#uses=4]
+ %.newclass_gc.i165 = bitcast i8* %.newclass_gc_alloc.i164 to %"tango.text.Regex.List!(TNFATransition).List"* ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
+ %vtbl.i166 = bitcast i8* %.newclass_gc_alloc.i164 to %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ store %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__vtblZ, %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %vtbl.i166
+ %monitor.i167 = getelementptr i8* %.newclass_gc_alloc.i164, i32 4 ; <i8*> [#uses=1]
+ %13 = bitcast i8* %monitor.i167 to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %13
+ %tmp2.i168 = getelementptr i8* %.newclass_gc_alloc.i164, i32 8 ; <i8*> [#uses=1]
+ tail call void @llvm.memcpy.i32(i8* %tmp2.i168, i8* bitcast (i32* getelementptr (%"tango.text.Regex.List!(TNFATransition).List"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__initZ, i32 0, i32 2) to i8*), i32 12, i32 1)
+ store %"tango.text.Regex.List!(TNFATransition).List"* %.newclass_gc.i165, %"tango.text.Regex.List!(TNFATransition).List"** %12
+ %tmp7.i169 = getelementptr i8* %.newclass_gc_alloc74, i32 12 ; <i8*> [#uses=1]
+ %14 = bitcast i8* %tmp7.i169 to %"tango.text.Regex.List!(TNFATransition).List"** ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
+ %.newclass_gc_alloc8.i = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7__ClassZ) ; <i8*> [#uses=4]
+ %.newclass_gc9.i = bitcast i8* %.newclass_gc_alloc8.i to %"tango.text.Regex.List!(TNFATransition).List"* ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
+ %vtbl10.i = bitcast i8* %.newclass_gc_alloc8.i to %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ store %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__vtblZ, %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %vtbl10.i
+ %monitor11.i = getelementptr i8* %.newclass_gc_alloc8.i, i32 4 ; <i8*> [#uses=1]
+ %15 = bitcast i8* %monitor11.i to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %15
+ %tmp12.i = getelementptr i8* %.newclass_gc_alloc8.i, i32 8 ; <i8*> [#uses=1]
+ tail call void @llvm.memcpy.i32(i8* %tmp12.i, i8* bitcast (i32* getelementptr (%"tango.text.Regex.List!(TNFATransition).List"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__initZ, i32 0, i32 2) to i8*), i32 12, i32 1)
+ store %"tango.text.Regex.List!(TNFATransition).List"* %.newclass_gc9.i, %"tango.text.Regex.List!(TNFATransition).List"** %14
+ %tmp17.i170 = getelementptr i8* %.newclass_gc_alloc74, i32 16 ; <i8*> [#uses=1]
+ %16 = bitcast i8* %tmp17.i170 to %"tango.text.Regex.List!(TNFATransition).List"** ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=3]
+ %.newclass_gc_alloc18.i = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7__ClassZ) ; <i8*> [#uses=4]
+ %.newclass_gc19.i = bitcast i8* %.newclass_gc_alloc18.i to %"tango.text.Regex.List!(TNFATransition).List"* ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
+ %vtbl20.i = bitcast i8* %.newclass_gc_alloc18.i to %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ store %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__vtblZ, %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %vtbl20.i
+ %monitor21.i = getelementptr i8* %.newclass_gc_alloc18.i, i32 4 ; <i8*> [#uses=1]
+ %17 = bitcast i8* %monitor21.i to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %17
+ %tmp22.i = getelementptr i8* %.newclass_gc_alloc18.i, i32 8 ; <i8*> [#uses=1]
+ tail call void @llvm.memcpy.i32(i8* %tmp22.i, i8* bitcast (i32* getelementptr (%"tango.text.Regex.List!(TNFATransition).List"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__initZ, i32 0, i32 2) to i8*), i32 12, i32 1)
+ store %"tango.text.Regex.List!(TNFATransition).List"* %.newclass_gc19.i, %"tango.text.Regex.List!(TNFATransition).List"** %16
+ %tmp27.i = getelementptr i8* %.newclass_gc_alloc74, i32 20 ; <i8*> [#uses=1]
+ %18 = bitcast i8* %tmp27.i to %"tango.text.Regex.List!(TNFATransition).List"** ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=2]
+ %.newclass_gc_alloc28.i = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7__ClassZ) ; <i8*> [#uses=4]
+ %.newclass_gc29.i = bitcast i8* %.newclass_gc_alloc28.i to %"tango.text.Regex.List!(TNFATransition).List"* ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
+ %vtbl30.i = bitcast i8* %.newclass_gc_alloc28.i to %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ store %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__vtblZ, %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %vtbl30.i
+ %monitor31.i = getelementptr i8* %.newclass_gc_alloc28.i, i32 4 ; <i8*> [#uses=1]
+ %19 = bitcast i8* %monitor31.i to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %19
+ %tmp32.i = getelementptr i8* %.newclass_gc_alloc28.i, i32 8 ; <i8*> [#uses=1]
+ tail call void @llvm.memcpy.i32(i8* %tmp32.i, i8* bitcast (i32* getelementptr (%"tango.text.Regex.List!(TNFATransition).List"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__initZ, i32 0, i32 2) to i8*), i32 12, i32 1)
+ store %"tango.text.Regex.List!(TNFATransition).List"* %.newclass_gc29.i, %"tango.text.Regex.List!(TNFATransition).List"** %18
+ %tmp85 = load %"tango.text.Regex.List!(TNFATransition).List"** %12 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
+ %tmp86 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp85, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ %tmp87 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp86 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
+ %"frag.entries.opCatAssign@vtbl" = getelementptr %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* %tmp87, i32 0, i32 8 ; <%"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.List!(TNFATransition).List"*)**> [#uses=1]
+ %frag.entries.opCatAssign = load %"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.List!(TNFATransition).List"*)** %"frag.entries.opCatAssign@vtbl", align 4 ; <%"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.List!(TNFATransition).List"*)*> [#uses=1]
+ %tmp91 = load %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp48 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=1]
+ %tmp92 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp91, i32 0, i32 2 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"**> [#uses=1]
+ %tmp93 = load %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"** %tmp92 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*> [#uses=1]
+ %tmp94 = getelementptr %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %tmp93, i32 0, i32 2 ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
+ %tmp95 = load %"tango.text.Regex.List!(TNFATransition).List"** %tmp94 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
+ %tmp96 = tail call fastcc %"tango.text.Regex.List!(TNFATransition).List"* %frag.entries.opCatAssign(%"tango.text.Regex.List!(TNFATransition).List"* %tmp85, %"tango.text.Regex.List!(TNFATransition).List"* %tmp95) ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=0]
+ %tmp99 = load %"tango.text.Regex.List!(TNFATransition).List"** %16 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
+ %tmp100 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp99, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ %tmp101 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp100 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
+ %"frag.entry_state.opCatAssign@vtbl" = getelementptr %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* %tmp101, i32 0, i32 8 ; <%"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.List!(TNFATransition).List"*)**> [#uses=1]
+ %frag.entry_state.opCatAssign = load %"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.List!(TNFATransition).List"*)** %"frag.entry_state.opCatAssign@vtbl", align 4 ; <%"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.List!(TNFATransition).List"*)*> [#uses=1]
+ %tmp105 = load %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp48 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=1]
+ %tmp106 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp105, i32 0, i32 2 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"**> [#uses=1]
+ %tmp107 = load %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"** %tmp106 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*> [#uses=1]
+ %tmp108 = getelementptr %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %tmp107, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
+ %tmp109 = load %"tango.text.Regex.List!(TNFATransition).List"** %tmp108 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
+ %tmp110 = tail call fastcc %"tango.text.Regex.List!(TNFATransition).List"* %frag.entry_state.opCatAssign(%"tango.text.Regex.List!(TNFATransition).List"* %tmp99, %"tango.text.Regex.List!(TNFATransition).List"* %tmp109) ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=0]
+ %tmp113 = load %"tango.text.Regex.List!(TNFATransition).List"** %16 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
+ %tmp114 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp113, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ %tmp115 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp114 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
+ %"frag.entry_state.opCatAssign@vtbl116" = getelementptr %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* %tmp115, i32 0, i32 5 ; <%"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)**> [#uses=1]
+ %frag.entry_state.opCatAssign118 = load %"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)** %"frag.entry_state.opCatAssign@vtbl116", align 4 ; <%"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)*> [#uses=1]
+ %tmp120 = tail call fastcc %"tango.text.Regex.List!(TNFATransition).List"* %frag.entry_state.opCatAssign118(%"tango.text.Regex.List!(TNFATransition).List"* %tmp113, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %.newclass_gc.i) ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=0]
+ %tmp123 = load %"tango.text.Regex.List!(TNFATransition).List"** %18 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
+ %tmp124 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp123, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ %tmp125 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp124 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
+ %"frag.exit_state.opCatAssign@vtbl" = getelementptr %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* %tmp125, i32 0, i32 5 ; <%"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)**> [#uses=1]
+ %frag.exit_state.opCatAssign = load %"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)** %"frag.exit_state.opCatAssign@vtbl", align 4 ; <%"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)*> [#uses=1]
+ %tmp128 = tail call fastcc %"tango.text.Regex.List!(TNFATransition).List"* %frag.exit_state.opCatAssign(%"tango.text.Regex.List!(TNFATransition).List"* %tmp123, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %.newclass_gc.i143) ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=0]
+ %tmp131 = load %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"** %tmp1 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"*> [#uses=1]
+ %"frags.pop@vtbl" = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"* %tmp131, i32 0, i32 16 ; <void (%"tango.text.Regex.List!(TNFAFragment).List"*)**> [#uses=1]
+ %frags.pop = load void (%"tango.text.Regex.List!(TNFAFragment).List"*)** %"frags.pop@vtbl", align 4 ; <void (%"tango.text.Regex.List!(TNFAFragment).List"*)*> [#uses=1]
+ tail call fastcc void %frags.pop(%"tango.text.Regex.List!(TNFAFragment).List"* %frags_arg)
+ %tmp135 = load %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"** %tmp1 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"*> [#uses=1]
+ %"frags.opCatAssign@vtbl" = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"* %tmp135, i32 0, i32 5 ; <%"tango.text.Regex.List!(TNFAFragment).List"* (%"tango.text.Regex.List!(TNFAFragment).List"*, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*)**> [#uses=1]
+ %frags.opCatAssign = load %"tango.text.Regex.List!(TNFAFragment).List"* (%"tango.text.Regex.List!(TNFAFragment).List"*, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*)** %"frags.opCatAssign@vtbl", align 4 ; <%"tango.text.Regex.List!(TNFAFragment).List"* (%"tango.text.Regex.List!(TNFAFragment).List"*, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*)*> [#uses=1]
+ %tmp138 = tail call fastcc %"tango.text.Regex.List!(TNFAFragment).List"* %frags.opCatAssign(%"tango.text.Regex.List!(TNFAFragment).List"* %frags_arg, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %.newclass_gc75) ; <%"tango.text.Regex.List!(TNFAFragment).List"*> [#uses=0]
+ ret void
+}
+
+define weak_odr fastcc void @_D5tango4text5Regex11__T4TNFATwZ4TNFA17constructZeroMoreMFC5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4ListE5tango4text5Regex13PriorityClassZv(%"tango.text.Regex.TNFA!(dchar).TNFA"* nocapture %.this_arg, %"tango.text.Regex.List!(TNFAFragment).List"* %frags_arg, i32 %prioClass_arg) {
+entry:
+ %tmp1 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %frags_arg, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"**> [#uses=3]
+ %tmp2 = load %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"** %tmp1 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"*> [#uses=1]
+ %"frags.empty@vtbl" = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"* %tmp2, i32 0, i32 14 ; <i1 (%"tango.text.Regex.List!(TNFAFragment).List"*)**> [#uses=1]
+ %frags.empty = load i1 (%"tango.text.Regex.List!(TNFAFragment).List"*)** %"frags.empty@vtbl", align 4 ; <i1 (%"tango.text.Regex.List!(TNFAFragment).List"*)*> [#uses=1]
+ %tmp4 = tail call fastcc i1 %frags.empty(%"tango.text.Regex.List!(TNFAFragment).List"* %frags_arg) ; <i1> [#uses=1]
+ br i1 %tmp4, label %if, label %endif
+
+if: ; preds = %entry
+ %.newclass_gc_alloc = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex15RegExpException7__ClassZ) ; <i8*> [#uses=5]
+ %.newclass_gc = bitcast i8* %.newclass_gc_alloc to %object.Exception* ; <%object.Exception*> [#uses=1]
+ %vtbl = bitcast i8* %.newclass_gc_alloc to %object.Exception.__vtbl** ; <%object.Exception.__vtbl**> [#uses=1]
+ store %object.Exception.__vtbl* @_D5tango4text5Regex15RegExpException6__vtblZ, %object.Exception.__vtbl** %vtbl
+ %monitor = getelementptr i8* %.newclass_gc_alloc, i32 4 ; <i8*> [#uses=1]
+ %0 = bitcast i8* %monitor to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %0
+ %tmp5 = getelementptr i8* %.newclass_gc_alloc, i32 8 ; <i8*> [#uses=1]
+ tail call void @llvm.memcpy.i32(i8* %tmp5, i8* bitcast (%"byte[]"* getelementptr (%object.Exception* bitcast (%28* @_D5tango4text5Regex15RegExpException6__initZ to %object.Exception*), i32 0, i32 2) to i8*), i32 28, i32 1)
+ %tmp11 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 2, i32 1 ; <i32**> [#uses=1]
+ %.ptr = load i32** %tmp11 ; <i32*> [#uses=1]
+ %tmp13 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 7 ; <i32*> [#uses=1]
+ %tmp14 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 2, i32 0 ; <i32*> [#uses=1]
+ %.len = load i32* %tmp14 ; <i32> [#uses=1]
+ %tmp15 = load i32* %tmp13 ; <i32> [#uses=2]
+ %tmp16 = getelementptr i32* %.ptr, i32 %tmp15 ; <i32*> [#uses=1]
+ %tmp17 = sub i32 %.len, %tmp15 ; <i32> [#uses=1]
+ %tmp18 = insertvalue %"Act[]" undef, i32 %tmp17, 0 ; <%"Act[]"> [#uses=1]
+ %tmp19 = insertvalue %"Act[]" %tmp18, i32* %tmp16, 1 ; <%"Act[]"> [#uses=1]
+ %tmp20 = tail call fastcc %"byte[]" @_D5tango4text7convert3Utf8toStringFAwAaPkZAa(%"Act[]" %tmp19, %"byte[]" zeroinitializer, i32* null) ; <%"byte[]"> [#uses=2]
+ %.len21 = extractvalue %"byte[]" %tmp20, 0 ; <i32> [#uses=4]
+ %tmp22 = add i32 %.len21, 28 ; <i32> [#uses=3]
+ %.nongc_mem = alloca i8, i32 %tmp22, align 1 ; <i8*> [#uses=3]
+ %.ptr23 = extractvalue %"byte[]" %tmp20, 1 ; <i8*> [#uses=1]
+ tail call void @llvm.memcpy.i32(i8* %.nongc_mem, i8* getelementptr ([29 x i8]* @.str233, i32 0, i32 0), i32 28, i32 1)
+ %tmp24 = getelementptr i8* %.nongc_mem, i32 28 ; <i8*> [#uses=1]
+ tail call void @llvm.memcpy.i32(i8* %tmp24, i8* %.ptr23, i32 %.len21, i32 1)
+ %tmp26 = add i32 %.len21, 29 ; <i32> [#uses=2]
+ %.nongc_mem204 = alloca i8, i32 %tmp26, align 1 ; <i8*> [#uses=3]
+ tail call void @llvm.memcpy.i32(i8* %.nongc_mem204, i8* %.nongc_mem, i32 %tmp22, i32 1)
+ %tmp29 = getelementptr i8* %.nongc_mem204, i32 %tmp22 ; <i8*> [#uses=1]
+ store i8 34, i8* %tmp29, align 1
+ %tmp2.i = add i32 %.len21, 37 ; <i32> [#uses=2]
+ %.gc_mem.i = tail call noalias i8* @_d_newarrayvT(%object.TypeInfo* @_D11TypeInfo_Aa6__initZ, i32 %tmp2.i) ; <i8*> [#uses=3]
+ %.gc_mem12.i = bitcast i8* %.gc_mem.i to i64* ; <i64*> [#uses=1]
+ %tmp.i = load i64* bitcast ([9 x i8]* @.str280 to i64*), align 8 ; <i64> [#uses=1]
+ store i64 %tmp.i, i64* %.gc_mem12.i, align 1
+ %tmp4.i = getelementptr i8* %.gc_mem.i, i32 8 ; <i8*> [#uses=1]
+ tail call void @llvm.memcpy.i32(i8* %tmp4.i, i8* %.nongc_mem204, i32 %tmp26, i32 1)
+ %tmp6.i = insertvalue %"byte[]" undef, i32 %tmp2.i, 0 ; <%"byte[]"> [#uses=1]
+ %tmp7.i = insertvalue %"byte[]" %tmp6.i, i8* %.gc_mem.i, 1 ; <%"byte[]"> [#uses=1]
+ %tmp8.i = tail call fastcc %object.Exception* @_D6object9Exception5_ctorMFAaC9ExceptionZC9Exception(%object.Exception* %.newclass_gc, %"byte[]" %tmp7.i, %object.Exception* null) ; <%object.Exception*> [#uses=0]
+ %tmp33 = bitcast i8* %.newclass_gc_alloc to %object.Object* ; <%object.Object*> [#uses=1]
+ tail call void @_d_throw_exception(%object.Object* %tmp33)
+ unreachable
+
+endif: ; preds = %entry
+ %.newclass_gc_alloc.i = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransition7__ClassZ) ; <i8*> [#uses=6]
+ %.newclass_gc.i = bitcast i8* %.newclass_gc_alloc.i to %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*> [#uses=2]
+ %vtbl.i = bitcast i8* %.newclass_gc_alloc.i to %object.ModuleInfo.__vtbl** ; <%object.ModuleInfo.__vtbl**> [#uses=1]
+ store %object.ModuleInfo.__vtbl* @_D5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransition6__vtblZ, %object.ModuleInfo.__vtbl** %vtbl.i
+ %monitor.i = getelementptr i8* %.newclass_gc_alloc.i, i32 4 ; <i8*> [#uses=1]
+ %1 = bitcast i8* %monitor.i to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %1
+ %tmp.i138 = getelementptr i8* %.newclass_gc_alloc.i, i32 8 ; <i8*> [#uses=2]
+ tail call void @llvm.memcpy.i32(i8* %tmp.i138, i8* bitcast (%"tango.text.Regex.TNFAState!(dchar).TNFAState"** getelementptr (%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* @_D5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransition6__initZ, i32 0, i32 2) to i8*), i32 44, i32 1)
+ %tmp1.i.i = getelementptr i8* %.newclass_gc_alloc.i, i32 48 ; <i8*> [#uses=1]
+ %2 = bitcast i8* %tmp1.i.i to i32* ; <i32*> [#uses=1]
+ store i32 %prioClass_arg, i32* %2
+ %tmp7.i139 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 9 ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=3]
+ %tmp8.i140 = load %"tango.text.Regex.List!(TNFATransition).List"** %tmp7.i139 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
+ %tmp9.i = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp8.i140, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ %tmp10.i = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp9.i ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
+ %"this.transitions.opCatAssign@vtbl.i" = getelementptr %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* %tmp10.i, i32 0, i32 5 ; <%"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)**> [#uses=1]
+ %this.transitions.opCatAssign.i = load %"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)** %"this.transitions.opCatAssign@vtbl.i", align 4 ; <%"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)*> [#uses=1]
+ %tmp13.i = tail call fastcc %"tango.text.Regex.List!(TNFATransition).List"* %this.transitions.opCatAssign.i(%"tango.text.Regex.List!(TNFATransition).List"* %tmp8.i140, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %.newclass_gc.i) ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=0]
+ %.newclass_gc_alloc.i141 = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransition7__ClassZ) ; <i8*> [#uses=6]
+ %.newclass_gc.i142 = bitcast i8* %.newclass_gc_alloc.i141 to %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*> [#uses=3]
+ %vtbl.i143 = bitcast i8* %.newclass_gc_alloc.i141 to %object.ModuleInfo.__vtbl** ; <%object.ModuleInfo.__vtbl**> [#uses=1]
+ store %object.ModuleInfo.__vtbl* @_D5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransition6__vtblZ, %object.ModuleInfo.__vtbl** %vtbl.i143
+ %monitor.i144 = getelementptr i8* %.newclass_gc_alloc.i141, i32 4 ; <i8*> [#uses=1]
+ %3 = bitcast i8* %monitor.i144 to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %3
+ %tmp.i145 = getelementptr i8* %.newclass_gc_alloc.i141, i32 8 ; <i8*> [#uses=1]
+ tail call void @llvm.memcpy.i32(i8* %tmp.i145, i8* bitcast (%"tango.text.Regex.TNFAState!(dchar).TNFAState"** getelementptr (%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* @_D5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransition6__initZ, i32 0, i32 2) to i8*), i32 44, i32 1)
+ %tmp1.i.i146 = getelementptr i8* %.newclass_gc_alloc.i141, i32 48 ; <i8*> [#uses=1]
+ %4 = bitcast i8* %tmp1.i.i146 to i32* ; <i32*> [#uses=1]
+ store i32 %prioClass_arg, i32* %4
+ %tmp8.i148 = load %"tango.text.Regex.List!(TNFATransition).List"** %tmp7.i139 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
+ %tmp9.i149 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp8.i148, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ %tmp10.i150 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp9.i149 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
+ %"this.transitions.opCatAssign@vtbl.i151" = getelementptr %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* %tmp10.i150, i32 0, i32 5 ; <%"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)**> [#uses=1]
+ %this.transitions.opCatAssign.i152 = load %"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)** %"this.transitions.opCatAssign@vtbl.i151", align 4 ; <%"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)*> [#uses=1]
+ %tmp13.i153 = tail call fastcc %"tango.text.Regex.List!(TNFATransition).List"* %this.transitions.opCatAssign.i152(%"tango.text.Regex.List!(TNFATransition).List"* %tmp8.i148, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %.newclass_gc.i142) ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=0]
+ %.newclass_gc_alloc.i154 = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransition7__ClassZ) ; <i8*> [#uses=6]
+ %.newclass_gc.i155 = bitcast i8* %.newclass_gc_alloc.i154 to %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*> [#uses=3]
+ %vtbl.i156 = bitcast i8* %.newclass_gc_alloc.i154 to %object.ModuleInfo.__vtbl** ; <%object.ModuleInfo.__vtbl**> [#uses=1]
+ store %object.ModuleInfo.__vtbl* @_D5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransition6__vtblZ, %object.ModuleInfo.__vtbl** %vtbl.i156
+ %monitor.i157 = getelementptr i8* %.newclass_gc_alloc.i154, i32 4 ; <i8*> [#uses=1]
+ %5 = bitcast i8* %monitor.i157 to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %5
+ %tmp.i158 = getelementptr i8* %.newclass_gc_alloc.i154, i32 8 ; <i8*> [#uses=1]
+ tail call void @llvm.memcpy.i32(i8* %tmp.i158, i8* bitcast (%"tango.text.Regex.TNFAState!(dchar).TNFAState"** getelementptr (%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* @_D5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransition6__initZ, i32 0, i32 2) to i8*), i32 44, i32 1)
+ %tmp1.i.i159 = getelementptr i8* %.newclass_gc_alloc.i154, i32 48 ; <i8*> [#uses=1]
+ %6 = bitcast i8* %tmp1.i.i159 to i32* ; <i32*> [#uses=1]
+ store i32 1, i32* %6
+ %tmp8.i161 = load %"tango.text.Regex.List!(TNFATransition).List"** %tmp7.i139 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
+ %tmp9.i162 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp8.i161, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ %tmp10.i163 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp9.i162 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
+ %"this.transitions.opCatAssign@vtbl.i164" = getelementptr %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* %tmp10.i163, i32 0, i32 5 ; <%"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)**> [#uses=1]
+ %this.transitions.opCatAssign.i165 = load %"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)** %"this.transitions.opCatAssign@vtbl.i164", align 4 ; <%"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)*> [#uses=1]
+ %tmp13.i166 = tail call fastcc %"tango.text.Regex.List!(TNFATransition).List"* %this.transitions.opCatAssign.i165(%"tango.text.Regex.List!(TNFATransition).List"* %tmp8.i161, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %.newclass_gc.i155) ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=0]
+ %tmp44 = getelementptr i8* %.newclass_gc_alloc.i154, i32 20 ; <i8*> [#uses=1]
+ %7 = bitcast i8* %tmp44 to i32* ; <i32*> [#uses=1]
+ store i32 1, i32* %7
+ %tmp47 = getelementptr i8* %.newclass_gc_alloc.i141, i32 20 ; <i8*> [#uses=1]
+ %8 = bitcast i8* %tmp47 to i32* ; <i32*> [#uses=1]
+ store i32 1, i32* %8
+ %tmp50 = getelementptr i8* %.newclass_gc_alloc.i, i32 20 ; <i8*> [#uses=1]
+ %9 = bitcast i8* %tmp50 to i32* ; <i32*> [#uses=1]
+ store i32 1, i32* %9
+ %.newclass_gc_alloc.i167 = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex16__T9TNFAStateTwZ9TNFAState7__ClassZ) ; <i8*> [#uses=6]
+ %.newclass_gc.i168 = bitcast i8* %.newclass_gc_alloc.i167 to %"tango.text.Regex.TNFAState!(dchar).TNFAState"* ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"*> [#uses=3]
+ %vtbl.i169 = bitcast i8* %.newclass_gc_alloc.i167 to %object.ModuleInfo.__vtbl** ; <%object.ModuleInfo.__vtbl**> [#uses=1]
+ store %object.ModuleInfo.__vtbl* @_D5tango4text5Regex16__T9TNFAStateTwZ9TNFAState6__vtblZ, %object.ModuleInfo.__vtbl** %vtbl.i169
+ %monitor.i170 = getelementptr i8* %.newclass_gc_alloc.i167, i32 4 ; <i8*> [#uses=1]
+ %10 = bitcast i8* %monitor.i170 to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %10
+ %tmp.i171 = getelementptr i8* %.newclass_gc_alloc.i167, i32 8 ; <i8*> [#uses=1]
+ tail call void @llvm.memcpy.i32(i8* %tmp.i171, i8* bitcast (i1* getelementptr (%"tango.text.Regex.TNFAState!(dchar).TNFAState"* @_D5tango4text5Regex16__T9TNFAStateTwZ9TNFAState6__initZ, i32 0, i32 2) to i8*), i32 12, i32 1)
+ %tmp1.i.i172 = getelementptr i8* %.newclass_gc_alloc.i167, i32 16 ; <i8*> [#uses=1]
+ %11 = bitcast i8* %tmp1.i.i172 to %"tango.text.Regex.List!(TNFATransition).List"** ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
+ %.newclass_gc_alloc.i.i = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7__ClassZ) ; <i8*> [#uses=4]
+ %.newclass_gc.i.i = bitcast i8* %.newclass_gc_alloc.i.i to %"tango.text.Regex.List!(TNFATransition).List"* ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
+ %vtbl.i.i = bitcast i8* %.newclass_gc_alloc.i.i to %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ store %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__vtblZ, %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %vtbl.i.i
+ %monitor.i.i = getelementptr i8* %.newclass_gc_alloc.i.i, i32 4 ; <i8*> [#uses=1]
+ %12 = bitcast i8* %monitor.i.i to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %12
+ %tmp2.i.i = getelementptr i8* %.newclass_gc_alloc.i.i, i32 8 ; <i8*> [#uses=1]
+ tail call void @llvm.memcpy.i32(i8* %tmp2.i.i, i8* bitcast (i32* getelementptr (%"tango.text.Regex.List!(TNFATransition).List"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__initZ, i32 0, i32 2) to i8*), i32 12, i32 1)
+ store %"tango.text.Regex.List!(TNFATransition).List"* %.newclass_gc.i.i, %"tango.text.Regex.List!(TNFATransition).List"** %11
+ %tmp6.i173 = getelementptr i8* %.newclass_gc_alloc.i167, i32 12 ; <i8*> [#uses=1]
+ %13 = bitcast i8* %tmp6.i173 to i32* ; <i32*> [#uses=1]
+ %tmp9.i174 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 3, i32 0 ; <i32*> [#uses=4]
+ %.len.i = load i32* %tmp9.i174 ; <i32> [#uses=4]
+ store i32 %.len.i, i32* %13
+ %tmp14.i = add i32 %.len.i, 1 ; <i32> [#uses=2]
+ %tmp17.i = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 3, i32 1 ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"***> [#uses=4]
+ %.ptr.i = load %"tango.text.Regex.TNFAState!(dchar).TNFAState"*** %tmp17.i ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"**> [#uses=1]
+ %tmp18.i = bitcast %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %.ptr.i to i8* ; <i8*> [#uses=1]
+ %.gc_mem.i175 = tail call i8* @_d_arraysetlengthT(%object.TypeInfo* bitcast (%object.TypeInfo_Array* @_D56TypeInfo_AC5tango4text5Regex16__T9TNFAStateTwZ9TNFAState6__initZ to %object.TypeInfo*), i32 %tmp14.i, i32 %.len.i, i8* %tmp18.i) ; <i8*> [#uses=1]
+ %.gc_mem19.i = bitcast i8* %.gc_mem.i175 to %"tango.text.Regex.TNFAState!(dchar).TNFAState"** ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"**> [#uses=2]
+ %tmp20.i = getelementptr %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %.gc_mem19.i, i32 %.len.i ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"**> [#uses=1]
+ store %"tango.text.Regex.TNFAState!(dchar).TNFAState"* %.newclass_gc.i168, %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %tmp20.i
+ store i32 %tmp14.i, i32* %tmp9.i174
+ store %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %.gc_mem19.i, %"tango.text.Regex.TNFAState!(dchar).TNFAState"*** %tmp17.i
+ %.newclass_gc_alloc.i176 = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex16__T9TNFAStateTwZ9TNFAState7__ClassZ) ; <i8*> [#uses=6]
+ %.newclass_gc.i177 = bitcast i8* %.newclass_gc_alloc.i176 to %"tango.text.Regex.TNFAState!(dchar).TNFAState"* ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"*> [#uses=2]
+ %vtbl.i178 = bitcast i8* %.newclass_gc_alloc.i176 to %object.ModuleInfo.__vtbl** ; <%object.ModuleInfo.__vtbl**> [#uses=1]
+ store %object.ModuleInfo.__vtbl* @_D5tango4text5Regex16__T9TNFAStateTwZ9TNFAState6__vtblZ, %object.ModuleInfo.__vtbl** %vtbl.i178
+ %monitor.i179 = getelementptr i8* %.newclass_gc_alloc.i176, i32 4 ; <i8*> [#uses=1]
+ %14 = bitcast i8* %monitor.i179 to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %14
+ %tmp.i180 = getelementptr i8* %.newclass_gc_alloc.i176, i32 8 ; <i8*> [#uses=1]
+ tail call void @llvm.memcpy.i32(i8* %tmp.i180, i8* bitcast (i1* getelementptr (%"tango.text.Regex.TNFAState!(dchar).TNFAState"* @_D5tango4text5Regex16__T9TNFAStateTwZ9TNFAState6__initZ, i32 0, i32 2) to i8*), i32 12, i32 1)
+ %tmp1.i.i181 = getelementptr i8* %.newclass_gc_alloc.i176, i32 16 ; <i8*> [#uses=1]
+ %15 = bitcast i8* %tmp1.i.i181 to %"tango.text.Regex.List!(TNFATransition).List"** ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=2]
+ %.newclass_gc_alloc.i.i182 = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7__ClassZ) ; <i8*> [#uses=4]
+ %.newclass_gc.i.i183 = bitcast i8* %.newclass_gc_alloc.i.i182 to %"tango.text.Regex.List!(TNFATransition).List"* ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
+ %vtbl.i.i184 = bitcast i8* %.newclass_gc_alloc.i.i182 to %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ store %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__vtblZ, %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %vtbl.i.i184
+ %monitor.i.i185 = getelementptr i8* %.newclass_gc_alloc.i.i182, i32 4 ; <i8*> [#uses=1]
+ %16 = bitcast i8* %monitor.i.i185 to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %16
+ %tmp2.i.i186 = getelementptr i8* %.newclass_gc_alloc.i.i182, i32 8 ; <i8*> [#uses=1]
+ tail call void @llvm.memcpy.i32(i8* %tmp2.i.i186, i8* bitcast (i32* getelementptr (%"tango.text.Regex.List!(TNFATransition).List"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__initZ, i32 0, i32 2) to i8*), i32 12, i32 1)
+ store %"tango.text.Regex.List!(TNFATransition).List"* %.newclass_gc.i.i183, %"tango.text.Regex.List!(TNFATransition).List"** %15
+ %tmp6.i187 = getelementptr i8* %.newclass_gc_alloc.i176, i32 12 ; <i8*> [#uses=1]
+ %17 = bitcast i8* %tmp6.i187 to i32* ; <i32*> [#uses=1]
+ %.len.i189 = load i32* %tmp9.i174 ; <i32> [#uses=4]
+ store i32 %.len.i189, i32* %17
+ %tmp14.i190 = add i32 %.len.i189, 1 ; <i32> [#uses=2]
+ %.ptr.i192 = load %"tango.text.Regex.TNFAState!(dchar).TNFAState"*** %tmp17.i ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"**> [#uses=1]
+ %tmp18.i193 = bitcast %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %.ptr.i192 to i8* ; <i8*> [#uses=1]
+ %.gc_mem.i194 = tail call i8* @_d_arraysetlengthT(%object.TypeInfo* bitcast (%object.TypeInfo_Array* @_D56TypeInfo_AC5tango4text5Regex16__T9TNFAStateTwZ9TNFAState6__initZ to %object.TypeInfo*), i32 %tmp14.i190, i32 %.len.i189, i8* %tmp18.i193) ; <i8*> [#uses=1]
+ %.gc_mem19.i195 = bitcast i8* %.gc_mem.i194 to %"tango.text.Regex.TNFAState!(dchar).TNFAState"** ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"**> [#uses=2]
+ %tmp20.i196 = getelementptr %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %.gc_mem19.i195, i32 %.len.i189 ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"**> [#uses=1]
+ store %"tango.text.Regex.TNFAState!(dchar).TNFAState"* %.newclass_gc.i177, %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %tmp20.i196
+ store i32 %tmp14.i190, i32* %tmp9.i174
+ store %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %.gc_mem19.i195, %"tango.text.Regex.TNFAState!(dchar).TNFAState"*** %tmp17.i
+ %tmp57 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %frags_arg, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=2]
+ %tmp58 = load %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp57 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=1]
+ %tmp59 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp58, i32 0, i32 2 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"**> [#uses=1]
+ %tmp60 = load %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"** %tmp59 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*> [#uses=2]
+ %tmp61 = getelementptr %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %tmp60, i32 0, i32 0 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"**> [#uses=1]
+ %tmp62 = load %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"** %tmp61 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"*> [#uses=1]
+ %"frags.tail.value.setEntry@vtbl" = getelementptr %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"* %tmp62, i32 0, i32 5 ; <void (%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*, %"tango.text.Regex.TNFAState!(dchar).TNFAState"*)**> [#uses=1]
+ %frags.tail.value.setEntry = load void (%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*, %"tango.text.Regex.TNFAState!(dchar).TNFAState"*)** %"frags.tail.value.setEntry@vtbl", align 4 ; <void (%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*, %"tango.text.Regex.TNFAState!(dchar).TNFAState"*)*> [#uses=1]
+ tail call fastcc void %frags.tail.value.setEntry(%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %tmp60, %"tango.text.Regex.TNFAState!(dchar).TNFAState"* %.newclass_gc.i168)
+ %tmp67 = load %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp57 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=1]
+ %tmp68 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp67, i32 0, i32 2 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"**> [#uses=1]
+ %tmp69 = load %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"** %tmp68 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*> [#uses=2]
+ %tmp70 = getelementptr %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %tmp69, i32 0, i32 0 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"**> [#uses=1]
+ %tmp71 = load %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"** %tmp70 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"*> [#uses=1]
+ %"frags.tail.value.setExit@vtbl" = getelementptr %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"* %tmp71, i32 0, i32 6 ; <void (%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*, %"tango.text.Regex.TNFAState!(dchar).TNFAState"*)**> [#uses=1]
+ %frags.tail.value.setExit = load void (%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*, %"tango.text.Regex.TNFAState!(dchar).TNFAState"*)** %"frags.tail.value.setExit@vtbl", align 4 ; <void (%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*, %"tango.text.Regex.TNFAState!(dchar).TNFAState"*)*> [#uses=1]
+ tail call fastcc void %frags.tail.value.setExit(%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %tmp69, %"tango.text.Regex.TNFAState!(dchar).TNFAState"* %.newclass_gc.i177)
+ %tmp76 = load %"tango.text.Regex.List!(TNFATransition).List"** %15 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
+ %tmp77 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp76, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ %tmp78 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp77 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
+ %"exit.transitions.opCatAssign@vtbl" = getelementptr %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* %tmp78, i32 0, i32 5 ; <%"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)**> [#uses=1]
+ %exit.transitions.opCatAssign = load %"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)** %"exit.transitions.opCatAssign@vtbl", align 4 ; <%"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)*> [#uses=1]
+ %tmp81 = tail call fastcc %"tango.text.Regex.List!(TNFATransition).List"* %exit.transitions.opCatAssign(%"tango.text.Regex.List!(TNFATransition).List"* %tmp76, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %.newclass_gc.i142) ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=0]
+ %18 = bitcast i8* %tmp.i138 to %"tango.text.Regex.TNFAState!(dchar).TNFAState"** ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"**> [#uses=1]
+ store %"tango.text.Regex.TNFAState!(dchar).TNFAState"* %.newclass_gc.i168, %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %18
+ %.newclass_gc_alloc85 = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment7__ClassZ) ; <i8*> [#uses=7]
+ %.newclass_gc86 = bitcast i8* %.newclass_gc_alloc85 to %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*> [#uses=1]
+ %vtbl87 = bitcast i8* %.newclass_gc_alloc85 to %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"** ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"**> [#uses=1]
+ store %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"* @_D5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment6__vtblZ, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"** %vtbl87
+ %monitor88 = getelementptr i8* %.newclass_gc_alloc85, i32 4 ; <i8*> [#uses=1]
+ %19 = bitcast i8* %monitor88 to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %19
+ %tmp89 = getelementptr i8* %.newclass_gc_alloc85, i32 8 ; <i8*> [#uses=2]
+ tail call void @llvm.memcpy.i32(i8* %tmp89, i8* bitcast (%"tango.text.Regex.List!(TNFATransition).List"** getelementptr (%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* @_D5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment6__initZ, i32 0, i32 2) to i8*), i32 17, i32 1)
+ %20 = bitcast i8* %tmp89 to %"tango.text.Regex.List!(TNFATransition).List"** ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=3]
+ %.newclass_gc_alloc.i197 = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7__ClassZ) ; <i8*> [#uses=4]
+ %.newclass_gc.i198 = bitcast i8* %.newclass_gc_alloc.i197 to %"tango.text.Regex.List!(TNFATransition).List"* ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
+ %vtbl.i199 = bitcast i8* %.newclass_gc_alloc.i197 to %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ store %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__vtblZ, %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %vtbl.i199
+ %monitor.i200 = getelementptr i8* %.newclass_gc_alloc.i197, i32 4 ; <i8*> [#uses=1]
+ %21 = bitcast i8* %monitor.i200 to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %21
+ %tmp2.i201 = getelementptr i8* %.newclass_gc_alloc.i197, i32 8 ; <i8*> [#uses=1]
+ tail call void @llvm.memcpy.i32(i8* %tmp2.i201, i8* bitcast (i32* getelementptr (%"tango.text.Regex.List!(TNFATransition).List"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__initZ, i32 0, i32 2) to i8*), i32 12, i32 1)
+ store %"tango.text.Regex.List!(TNFATransition).List"* %.newclass_gc.i198, %"tango.text.Regex.List!(TNFATransition).List"** %20
+ %tmp7.i202 = getelementptr i8* %.newclass_gc_alloc85, i32 12 ; <i8*> [#uses=1]
+ %22 = bitcast i8* %tmp7.i202 to %"tango.text.Regex.List!(TNFATransition).List"** ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
+ %.newclass_gc_alloc8.i = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7__ClassZ) ; <i8*> [#uses=4]
+ %.newclass_gc9.i = bitcast i8* %.newclass_gc_alloc8.i to %"tango.text.Regex.List!(TNFATransition).List"* ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
+ %vtbl10.i = bitcast i8* %.newclass_gc_alloc8.i to %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ store %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__vtblZ, %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %vtbl10.i
+ %monitor11.i = getelementptr i8* %.newclass_gc_alloc8.i, i32 4 ; <i8*> [#uses=1]
+ %23 = bitcast i8* %monitor11.i to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %23
+ %tmp12.i = getelementptr i8* %.newclass_gc_alloc8.i, i32 8 ; <i8*> [#uses=1]
+ tail call void @llvm.memcpy.i32(i8* %tmp12.i, i8* bitcast (i32* getelementptr (%"tango.text.Regex.List!(TNFATransition).List"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__initZ, i32 0, i32 2) to i8*), i32 12, i32 1)
+ store %"tango.text.Regex.List!(TNFATransition).List"* %.newclass_gc9.i, %"tango.text.Regex.List!(TNFATransition).List"** %22
+ %tmp17.i203 = getelementptr i8* %.newclass_gc_alloc85, i32 16 ; <i8*> [#uses=1]
+ %24 = bitcast i8* %tmp17.i203 to %"tango.text.Regex.List!(TNFATransition).List"** ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=2]
+ %.newclass_gc_alloc18.i = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7__ClassZ) ; <i8*> [#uses=4]
+ %.newclass_gc19.i = bitcast i8* %.newclass_gc_alloc18.i to %"tango.text.Regex.List!(TNFATransition).List"* ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
+ %vtbl20.i = bitcast i8* %.newclass_gc_alloc18.i to %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ store %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__vtblZ, %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %vtbl20.i
+ %monitor21.i = getelementptr i8* %.newclass_gc_alloc18.i, i32 4 ; <i8*> [#uses=1]
+ %25 = bitcast i8* %monitor21.i to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %25
+ %tmp22.i = getelementptr i8* %.newclass_gc_alloc18.i, i32 8 ; <i8*> [#uses=1]
+ tail call void @llvm.memcpy.i32(i8* %tmp22.i, i8* bitcast (i32* getelementptr (%"tango.text.Regex.List!(TNFATransition).List"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__initZ, i32 0, i32 2) to i8*), i32 12, i32 1)
+ store %"tango.text.Regex.List!(TNFATransition).List"* %.newclass_gc19.i, %"tango.text.Regex.List!(TNFATransition).List"** %24
+ %tmp27.i = getelementptr i8* %.newclass_gc_alloc85, i32 20 ; <i8*> [#uses=1]
+ %26 = bitcast i8* %tmp27.i to %"tango.text.Regex.List!(TNFATransition).List"** ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=2]
+ %.newclass_gc_alloc28.i = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7__ClassZ) ; <i8*> [#uses=4]
+ %.newclass_gc29.i = bitcast i8* %.newclass_gc_alloc28.i to %"tango.text.Regex.List!(TNFATransition).List"* ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
+ %vtbl30.i = bitcast i8* %.newclass_gc_alloc28.i to %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ store %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__vtblZ, %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %vtbl30.i
+ %monitor31.i = getelementptr i8* %.newclass_gc_alloc28.i, i32 4 ; <i8*> [#uses=1]
+ %27 = bitcast i8* %monitor31.i to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %27
+ %tmp32.i = getelementptr i8* %.newclass_gc_alloc28.i, i32 8 ; <i8*> [#uses=1]
+ tail call void @llvm.memcpy.i32(i8* %tmp32.i, i8* bitcast (i32* getelementptr (%"tango.text.Regex.List!(TNFATransition).List"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__initZ, i32 0, i32 2) to i8*), i32 12, i32 1)
+ store %"tango.text.Regex.List!(TNFATransition).List"* %.newclass_gc29.i, %"tango.text.Regex.List!(TNFATransition).List"** %26
+ %tmp96 = load %"tango.text.Regex.List!(TNFATransition).List"** %20 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
+ %tmp97 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp96, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ %tmp98 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp97 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
+ %"frag.entries.opCatAssign@vtbl" = getelementptr %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* %tmp98, i32 0, i32 5 ; <%"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)**> [#uses=1]
+ %frag.entries.opCatAssign = load %"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)** %"frag.entries.opCatAssign@vtbl", align 4 ; <%"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)*> [#uses=1]
+ %tmp101 = tail call fastcc %"tango.text.Regex.List!(TNFATransition).List"* %frag.entries.opCatAssign(%"tango.text.Regex.List!(TNFATransition).List"* %tmp96, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %.newclass_gc.i155) ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=0]
+ %tmp104 = load %"tango.text.Regex.List!(TNFATransition).List"** %20 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
+ %tmp105 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp104, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ %tmp106 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp105 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
+ %"frag.entries.opCatAssign@vtbl107" = getelementptr %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* %tmp106, i32 0, i32 5 ; <%"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)**> [#uses=1]
+ %frag.entries.opCatAssign109 = load %"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)** %"frag.entries.opCatAssign@vtbl107", align 4 ; <%"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)*> [#uses=1]
+ %tmp111 = tail call fastcc %"tango.text.Regex.List!(TNFATransition).List"* %frag.entries.opCatAssign109(%"tango.text.Regex.List!(TNFATransition).List"* %tmp104, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %.newclass_gc.i) ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=0]
+ %tmp114 = load %"tango.text.Regex.List!(TNFATransition).List"** %26 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
+ %tmp115 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp114, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ %tmp116 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp115 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
+ %"frag.exit_state.opCatAssign@vtbl" = getelementptr %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* %tmp116, i32 0, i32 5 ; <%"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)**> [#uses=1]
+ %frag.exit_state.opCatAssign = load %"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)** %"frag.exit_state.opCatAssign@vtbl", align 4 ; <%"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)*> [#uses=1]
+ %tmp119 = tail call fastcc %"tango.text.Regex.List!(TNFATransition).List"* %frag.exit_state.opCatAssign(%"tango.text.Regex.List!(TNFATransition).List"* %tmp114, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %.newclass_gc.i155) ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=0]
+ %tmp122 = load %"tango.text.Regex.List!(TNFATransition).List"** %24 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
+ %tmp123 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp122, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ %tmp124 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp123 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
+ %"frag.entry_state.opCatAssign@vtbl" = getelementptr %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* %tmp124, i32 0, i32 5 ; <%"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)**> [#uses=1]
+ %frag.entry_state.opCatAssign = load %"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)** %"frag.entry_state.opCatAssign@vtbl", align 4 ; <%"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)*> [#uses=1]
+ %tmp127 = tail call fastcc %"tango.text.Regex.List!(TNFATransition).List"* %frag.entry_state.opCatAssign(%"tango.text.Regex.List!(TNFATransition).List"* %tmp122, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %.newclass_gc.i142) ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=0]
+ %tmp130 = load %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"** %tmp1 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"*> [#uses=1]
+ %"frags.pop@vtbl" = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"* %tmp130, i32 0, i32 16 ; <void (%"tango.text.Regex.List!(TNFAFragment).List"*)**> [#uses=1]
+ %frags.pop = load void (%"tango.text.Regex.List!(TNFAFragment).List"*)** %"frags.pop@vtbl", align 4 ; <void (%"tango.text.Regex.List!(TNFAFragment).List"*)*> [#uses=1]
+ tail call fastcc void %frags.pop(%"tango.text.Regex.List!(TNFAFragment).List"* %frags_arg)
+ %tmp134 = load %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"** %tmp1 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"*> [#uses=1]
+ %"frags.opCatAssign@vtbl" = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"* %tmp134, i32 0, i32 5 ; <%"tango.text.Regex.List!(TNFAFragment).List"* (%"tango.text.Regex.List!(TNFAFragment).List"*, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*)**> [#uses=1]
+ %frags.opCatAssign = load %"tango.text.Regex.List!(TNFAFragment).List"* (%"tango.text.Regex.List!(TNFAFragment).List"*, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*)** %"frags.opCatAssign@vtbl", align 4 ; <%"tango.text.Regex.List!(TNFAFragment).List"* (%"tango.text.Regex.List!(TNFAFragment).List"*, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*)*> [#uses=1]
+ %tmp137 = tail call fastcc %"tango.text.Regex.List!(TNFAFragment).List"* %frags.opCatAssign(%"tango.text.Regex.List!(TNFAFragment).List"* %frags_arg, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %.newclass_gc86) ; <%"tango.text.Regex.List!(TNFAFragment).List"*> [#uses=0]
+ ret void
+}
+
+define weak_odr fastcc void @_D5tango4text5Regex11__T4TNFATwZ4TNFA16constructZeroOneMFC5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4ListE5tango4text5Regex13PriorityClassZv(%"tango.text.Regex.TNFA!(dchar).TNFA"* nocapture %.this_arg, %"tango.text.Regex.List!(TNFAFragment).List"* %frags_arg, i32 %prioClass_arg) {
+entry:
+ %tmp1 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %frags_arg, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"**> [#uses=3]
+ %tmp2 = load %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"** %tmp1 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"*> [#uses=1]
+ %"frags.empty@vtbl" = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"* %tmp2, i32 0, i32 14 ; <i1 (%"tango.text.Regex.List!(TNFAFragment).List"*)**> [#uses=1]
+ %frags.empty = load i1 (%"tango.text.Regex.List!(TNFAFragment).List"*)** %"frags.empty@vtbl", align 4 ; <i1 (%"tango.text.Regex.List!(TNFAFragment).List"*)*> [#uses=1]
+ %tmp4 = tail call fastcc i1 %frags.empty(%"tango.text.Regex.List!(TNFAFragment).List"* %frags_arg) ; <i1> [#uses=1]
+ br i1 %tmp4, label %if, label %endif
+
+if: ; preds = %entry
+ %.newclass_gc_alloc = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex15RegExpException7__ClassZ) ; <i8*> [#uses=5]
+ %.newclass_gc = bitcast i8* %.newclass_gc_alloc to %object.Exception* ; <%object.Exception*> [#uses=1]
+ %vtbl = bitcast i8* %.newclass_gc_alloc to %object.Exception.__vtbl** ; <%object.Exception.__vtbl**> [#uses=1]
+ store %object.Exception.__vtbl* @_D5tango4text5Regex15RegExpException6__vtblZ, %object.Exception.__vtbl** %vtbl
+ %monitor = getelementptr i8* %.newclass_gc_alloc, i32 4 ; <i8*> [#uses=1]
+ %0 = bitcast i8* %monitor to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %0
+ %tmp5 = getelementptr i8* %.newclass_gc_alloc, i32 8 ; <i8*> [#uses=1]
+ tail call void @llvm.memcpy.i32(i8* %tmp5, i8* bitcast (%"byte[]"* getelementptr (%object.Exception* bitcast (%28* @_D5tango4text5Regex15RegExpException6__initZ to %object.Exception*), i32 0, i32 2) to i8*), i32 28, i32 1)
+ %tmp11 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 2, i32 1 ; <i32**> [#uses=1]
+ %.ptr = load i32** %tmp11 ; <i32*> [#uses=1]
+ %tmp13 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 7 ; <i32*> [#uses=1]
+ %tmp14 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 2, i32 0 ; <i32*> [#uses=1]
+ %.len = load i32* %tmp14 ; <i32> [#uses=1]
+ %tmp15 = load i32* %tmp13 ; <i32> [#uses=2]
+ %tmp16 = getelementptr i32* %.ptr, i32 %tmp15 ; <i32*> [#uses=1]
+ %tmp17 = sub i32 %.len, %tmp15 ; <i32> [#uses=1]
+ %tmp18 = insertvalue %"Act[]" undef, i32 %tmp17, 0 ; <%"Act[]"> [#uses=1]
+ %tmp19 = insertvalue %"Act[]" %tmp18, i32* %tmp16, 1 ; <%"Act[]"> [#uses=1]
+ %tmp20 = tail call fastcc %"byte[]" @_D5tango4text7convert3Utf8toStringFAwAaPkZAa(%"Act[]" %tmp19, %"byte[]" zeroinitializer, i32* null) ; <%"byte[]"> [#uses=2]
+ %.len21 = extractvalue %"byte[]" %tmp20, 0 ; <i32> [#uses=4]
+ %tmp22 = add i32 %.len21, 28 ; <i32> [#uses=3]
+ %.nongc_mem = alloca i8, i32 %tmp22, align 1 ; <i8*> [#uses=3]
+ %.ptr23 = extractvalue %"byte[]" %tmp20, 1 ; <i8*> [#uses=1]
+ tail call void @llvm.memcpy.i32(i8* %.nongc_mem, i8* getelementptr ([29 x i8]* @.str235, i32 0, i32 0), i32 28, i32 1)
+ %tmp24 = getelementptr i8* %.nongc_mem, i32 28 ; <i8*> [#uses=1]
+ tail call void @llvm.memcpy.i32(i8* %tmp24, i8* %.ptr23, i32 %.len21, i32 1)
+ %tmp26 = add i32 %.len21, 29 ; <i32> [#uses=2]
+ %.nongc_mem166 = alloca i8, i32 %tmp26, align 1 ; <i8*> [#uses=3]
+ tail call void @llvm.memcpy.i32(i8* %.nongc_mem166, i8* %.nongc_mem, i32 %tmp22, i32 1)
+ %tmp29 = getelementptr i8* %.nongc_mem166, i32 %tmp22 ; <i8*> [#uses=1]
+ store i8 34, i8* %tmp29, align 1
+ %tmp2.i = add i32 %.len21, 37 ; <i32> [#uses=2]
+ %.gc_mem.i = tail call noalias i8* @_d_newarrayvT(%object.TypeInfo* @_D11TypeInfo_Aa6__initZ, i32 %tmp2.i) ; <i8*> [#uses=3]
+ %.gc_mem12.i = bitcast i8* %.gc_mem.i to i64* ; <i64*> [#uses=1]
+ %tmp.i = load i64* bitcast ([9 x i8]* @.str280 to i64*), align 8 ; <i64> [#uses=1]
+ store i64 %tmp.i, i64* %.gc_mem12.i, align 1
+ %tmp4.i = getelementptr i8* %.gc_mem.i, i32 8 ; <i8*> [#uses=1]
+ tail call void @llvm.memcpy.i32(i8* %tmp4.i, i8* %.nongc_mem166, i32 %tmp26, i32 1)
+ %tmp6.i = insertvalue %"byte[]" undef, i32 %tmp2.i, 0 ; <%"byte[]"> [#uses=1]
+ %tmp7.i = insertvalue %"byte[]" %tmp6.i, i8* %.gc_mem.i, 1 ; <%"byte[]"> [#uses=1]
+ %tmp8.i = tail call fastcc %object.Exception* @_D6object9Exception5_ctorMFAaC9ExceptionZC9Exception(%object.Exception* %.newclass_gc, %"byte[]" %tmp7.i, %object.Exception* null) ; <%object.Exception*> [#uses=0]
+ %tmp33 = bitcast i8* %.newclass_gc_alloc to %object.Object* ; <%object.Object*> [#uses=1]
+ tail call void @_d_throw_exception(%object.Object* %tmp33)
+ unreachable
+
+endif: ; preds = %entry
+ %.newclass_gc_alloc.i = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransition7__ClassZ) ; <i8*> [#uses=6]
+ %.newclass_gc.i = bitcast i8* %.newclass_gc_alloc.i to %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*> [#uses=2]
+ %vtbl.i = bitcast i8* %.newclass_gc_alloc.i to %object.ModuleInfo.__vtbl** ; <%object.ModuleInfo.__vtbl**> [#uses=1]
+ store %object.ModuleInfo.__vtbl* @_D5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransition6__vtblZ, %object.ModuleInfo.__vtbl** %vtbl.i
+ %monitor.i = getelementptr i8* %.newclass_gc_alloc.i, i32 4 ; <i8*> [#uses=1]
+ %1 = bitcast i8* %monitor.i to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %1
+ %tmp.i134 = getelementptr i8* %.newclass_gc_alloc.i, i32 8 ; <i8*> [#uses=2]
+ tail call void @llvm.memcpy.i32(i8* %tmp.i134, i8* bitcast (%"tango.text.Regex.TNFAState!(dchar).TNFAState"** getelementptr (%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* @_D5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransition6__initZ, i32 0, i32 2) to i8*), i32 44, i32 1)
+ %tmp1.i.i = getelementptr i8* %.newclass_gc_alloc.i, i32 48 ; <i8*> [#uses=1]
+ %2 = bitcast i8* %tmp1.i.i to i32* ; <i32*> [#uses=1]
+ store i32 %prioClass_arg, i32* %2
+ %tmp7.i135 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 9 ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=2]
+ %tmp8.i136 = load %"tango.text.Regex.List!(TNFATransition).List"** %tmp7.i135 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
+ %tmp9.i = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp8.i136, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ %tmp10.i = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp9.i ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
+ %"this.transitions.opCatAssign@vtbl.i" = getelementptr %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* %tmp10.i, i32 0, i32 5 ; <%"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)**> [#uses=1]
+ %this.transitions.opCatAssign.i = load %"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)** %"this.transitions.opCatAssign@vtbl.i", align 4 ; <%"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)*> [#uses=1]
+ %tmp13.i = tail call fastcc %"tango.text.Regex.List!(TNFATransition).List"* %this.transitions.opCatAssign.i(%"tango.text.Regex.List!(TNFATransition).List"* %tmp8.i136, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %.newclass_gc.i) ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=0]
+ %.newclass_gc_alloc.i137 = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransition7__ClassZ) ; <i8*> [#uses=6]
+ %.newclass_gc.i138 = bitcast i8* %.newclass_gc_alloc.i137 to %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*> [#uses=3]
+ %vtbl.i139 = bitcast i8* %.newclass_gc_alloc.i137 to %object.ModuleInfo.__vtbl** ; <%object.ModuleInfo.__vtbl**> [#uses=1]
+ store %object.ModuleInfo.__vtbl* @_D5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransition6__vtblZ, %object.ModuleInfo.__vtbl** %vtbl.i139
+ %monitor.i140 = getelementptr i8* %.newclass_gc_alloc.i137, i32 4 ; <i8*> [#uses=1]
+ %3 = bitcast i8* %monitor.i140 to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %3
+ %tmp.i141 = getelementptr i8* %.newclass_gc_alloc.i137, i32 8 ; <i8*> [#uses=1]
+ tail call void @llvm.memcpy.i32(i8* %tmp.i141, i8* bitcast (%"tango.text.Regex.TNFAState!(dchar).TNFAState"** getelementptr (%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* @_D5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransition6__initZ, i32 0, i32 2) to i8*), i32 44, i32 1)
+ %tmp1.i.i142 = getelementptr i8* %.newclass_gc_alloc.i137, i32 48 ; <i8*> [#uses=1]
+ %4 = bitcast i8* %tmp1.i.i142 to i32* ; <i32*> [#uses=1]
+ store i32 1, i32* %4
+ %tmp8.i144 = load %"tango.text.Regex.List!(TNFATransition).List"** %tmp7.i135 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
+ %tmp9.i145 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp8.i144, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ %tmp10.i146 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp9.i145 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
+ %"this.transitions.opCatAssign@vtbl.i147" = getelementptr %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* %tmp10.i146, i32 0, i32 5 ; <%"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)**> [#uses=1]
+ %this.transitions.opCatAssign.i148 = load %"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)** %"this.transitions.opCatAssign@vtbl.i147", align 4 ; <%"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)*> [#uses=1]
+ %tmp13.i149 = tail call fastcc %"tango.text.Regex.List!(TNFATransition).List"* %this.transitions.opCatAssign.i148(%"tango.text.Regex.List!(TNFATransition).List"* %tmp8.i144, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %.newclass_gc.i138) ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=0]
+ %tmp41 = getelementptr i8* %.newclass_gc_alloc.i, i32 20 ; <i8*> [#uses=1]
+ %5 = bitcast i8* %tmp41 to i32* ; <i32*> [#uses=1]
+ store i32 1, i32* %5
+ %tmp44 = getelementptr i8* %.newclass_gc_alloc.i137, i32 20 ; <i8*> [#uses=1]
+ %6 = bitcast i8* %tmp44 to i32* ; <i32*> [#uses=1]
+ store i32 1, i32* %6
+ %.newclass_gc_alloc.i150 = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex16__T9TNFAStateTwZ9TNFAState7__ClassZ) ; <i8*> [#uses=6]
+ %.newclass_gc.i151 = bitcast i8* %.newclass_gc_alloc.i150 to %"tango.text.Regex.TNFAState!(dchar).TNFAState"* ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"*> [#uses=3]
+ %vtbl.i152 = bitcast i8* %.newclass_gc_alloc.i150 to %object.ModuleInfo.__vtbl** ; <%object.ModuleInfo.__vtbl**> [#uses=1]
+ store %object.ModuleInfo.__vtbl* @_D5tango4text5Regex16__T9TNFAStateTwZ9TNFAState6__vtblZ, %object.ModuleInfo.__vtbl** %vtbl.i152
+ %monitor.i153 = getelementptr i8* %.newclass_gc_alloc.i150, i32 4 ; <i8*> [#uses=1]
+ %7 = bitcast i8* %monitor.i153 to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %7
+ %tmp.i154 = getelementptr i8* %.newclass_gc_alloc.i150, i32 8 ; <i8*> [#uses=1]
+ tail call void @llvm.memcpy.i32(i8* %tmp.i154, i8* bitcast (i1* getelementptr (%"tango.text.Regex.TNFAState!(dchar).TNFAState"* @_D5tango4text5Regex16__T9TNFAStateTwZ9TNFAState6__initZ, i32 0, i32 2) to i8*), i32 12, i32 1)
+ %tmp1.i.i155 = getelementptr i8* %.newclass_gc_alloc.i150, i32 16 ; <i8*> [#uses=1]
+ %8 = bitcast i8* %tmp1.i.i155 to %"tango.text.Regex.List!(TNFATransition).List"** ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
+ %.newclass_gc_alloc.i.i = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7__ClassZ) ; <i8*> [#uses=4]
+ %.newclass_gc.i.i = bitcast i8* %.newclass_gc_alloc.i.i to %"tango.text.Regex.List!(TNFATransition).List"* ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
+ %vtbl.i.i = bitcast i8* %.newclass_gc_alloc.i.i to %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ store %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__vtblZ, %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %vtbl.i.i
+ %monitor.i.i = getelementptr i8* %.newclass_gc_alloc.i.i, i32 4 ; <i8*> [#uses=1]
+ %9 = bitcast i8* %monitor.i.i to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %9
+ %tmp2.i.i = getelementptr i8* %.newclass_gc_alloc.i.i, i32 8 ; <i8*> [#uses=1]
+ tail call void @llvm.memcpy.i32(i8* %tmp2.i.i, i8* bitcast (i32* getelementptr (%"tango.text.Regex.List!(TNFATransition).List"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__initZ, i32 0, i32 2) to i8*), i32 12, i32 1)
+ store %"tango.text.Regex.List!(TNFATransition).List"* %.newclass_gc.i.i, %"tango.text.Regex.List!(TNFATransition).List"** %8
+ %tmp6.i156 = getelementptr i8* %.newclass_gc_alloc.i150, i32 12 ; <i8*> [#uses=1]
+ %10 = bitcast i8* %tmp6.i156 to i32* ; <i32*> [#uses=1]
+ %tmp9.i157 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 3, i32 0 ; <i32*> [#uses=2]
+ %.len.i = load i32* %tmp9.i157 ; <i32> [#uses=4]
+ store i32 %.len.i, i32* %10
+ %tmp14.i = add i32 %.len.i, 1 ; <i32> [#uses=2]
+ %tmp17.i = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 3, i32 1 ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"***> [#uses=2]
+ %.ptr.i = load %"tango.text.Regex.TNFAState!(dchar).TNFAState"*** %tmp17.i ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"**> [#uses=1]
+ %tmp18.i = bitcast %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %.ptr.i to i8* ; <i8*> [#uses=1]
+ %.gc_mem.i158 = tail call i8* @_d_arraysetlengthT(%object.TypeInfo* bitcast (%object.TypeInfo_Array* @_D56TypeInfo_AC5tango4text5Regex16__T9TNFAStateTwZ9TNFAState6__initZ to %object.TypeInfo*), i32 %tmp14.i, i32 %.len.i, i8* %tmp18.i) ; <i8*> [#uses=1]
+ %.gc_mem19.i = bitcast i8* %.gc_mem.i158 to %"tango.text.Regex.TNFAState!(dchar).TNFAState"** ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"**> [#uses=2]
+ %tmp20.i = getelementptr %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %.gc_mem19.i, i32 %.len.i ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"**> [#uses=1]
+ store %"tango.text.Regex.TNFAState!(dchar).TNFAState"* %.newclass_gc.i151, %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %tmp20.i
+ store i32 %tmp14.i, i32* %tmp9.i157
+ store %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %.gc_mem19.i, %"tango.text.Regex.TNFAState!(dchar).TNFAState"*** %tmp17.i
+ %tmp48 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %frags_arg, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=3]
+ %tmp49 = load %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp48 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=1]
+ %tmp50 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp49, i32 0, i32 2 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"**> [#uses=1]
+ %tmp51 = load %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"** %tmp50 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*> [#uses=2]
+ %tmp52 = getelementptr %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %tmp51, i32 0, i32 0 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"**> [#uses=1]
+ %tmp53 = load %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"** %tmp52 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"*> [#uses=1]
+ %"frags.tail.value.setEntry@vtbl" = getelementptr %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"* %tmp53, i32 0, i32 5 ; <void (%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*, %"tango.text.Regex.TNFAState!(dchar).TNFAState"*)**> [#uses=1]
+ %frags.tail.value.setEntry = load void (%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*, %"tango.text.Regex.TNFAState!(dchar).TNFAState"*)** %"frags.tail.value.setEntry@vtbl", align 4 ; <void (%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*, %"tango.text.Regex.TNFAState!(dchar).TNFAState"*)*> [#uses=1]
+ tail call fastcc void %frags.tail.value.setEntry(%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %tmp51, %"tango.text.Regex.TNFAState!(dchar).TNFAState"* %.newclass_gc.i151)
+ %11 = bitcast i8* %tmp.i134 to %"tango.text.Regex.TNFAState!(dchar).TNFAState"** ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"**> [#uses=1]
+ store %"tango.text.Regex.TNFAState!(dchar).TNFAState"* %.newclass_gc.i151, %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %11
+ %.newclass_gc_alloc59 = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment7__ClassZ) ; <i8*> [#uses=7]
+ %.newclass_gc60 = bitcast i8* %.newclass_gc_alloc59 to %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*> [#uses=1]
+ %vtbl61 = bitcast i8* %.newclass_gc_alloc59 to %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"** ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"**> [#uses=1]
+ store %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"* @_D5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment6__vtblZ, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"** %vtbl61
+ %monitor62 = getelementptr i8* %.newclass_gc_alloc59, i32 4 ; <i8*> [#uses=1]
+ %12 = bitcast i8* %monitor62 to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %12
+ %tmp63 = getelementptr i8* %.newclass_gc_alloc59, i32 8 ; <i8*> [#uses=2]
+ tail call void @llvm.memcpy.i32(i8* %tmp63, i8* bitcast (%"tango.text.Regex.List!(TNFATransition).List"** getelementptr (%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* @_D5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment6__initZ, i32 0, i32 2) to i8*), i32 17, i32 1)
+ %13 = bitcast i8* %tmp63 to %"tango.text.Regex.List!(TNFATransition).List"** ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=3]
+ %.newclass_gc_alloc.i159 = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7__ClassZ) ; <i8*> [#uses=4]
+ %.newclass_gc.i160 = bitcast i8* %.newclass_gc_alloc.i159 to %"tango.text.Regex.List!(TNFATransition).List"* ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
+ %vtbl.i161 = bitcast i8* %.newclass_gc_alloc.i159 to %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ store %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__vtblZ, %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %vtbl.i161
+ %monitor.i162 = getelementptr i8* %.newclass_gc_alloc.i159, i32 4 ; <i8*> [#uses=1]
+ %14 = bitcast i8* %monitor.i162 to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %14
+ %tmp2.i163 = getelementptr i8* %.newclass_gc_alloc.i159, i32 8 ; <i8*> [#uses=1]
+ tail call void @llvm.memcpy.i32(i8* %tmp2.i163, i8* bitcast (i32* getelementptr (%"tango.text.Regex.List!(TNFATransition).List"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__initZ, i32 0, i32 2) to i8*), i32 12, i32 1)
+ store %"tango.text.Regex.List!(TNFATransition).List"* %.newclass_gc.i160, %"tango.text.Regex.List!(TNFATransition).List"** %13
+ %tmp7.i164 = getelementptr i8* %.newclass_gc_alloc59, i32 12 ; <i8*> [#uses=1]
+ %15 = bitcast i8* %tmp7.i164 to %"tango.text.Regex.List!(TNFATransition).List"** ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=2]
+ %.newclass_gc_alloc8.i = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7__ClassZ) ; <i8*> [#uses=4]
+ %.newclass_gc9.i = bitcast i8* %.newclass_gc_alloc8.i to %"tango.text.Regex.List!(TNFATransition).List"* ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
+ %vtbl10.i = bitcast i8* %.newclass_gc_alloc8.i to %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ store %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__vtblZ, %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %vtbl10.i
+ %monitor11.i = getelementptr i8* %.newclass_gc_alloc8.i, i32 4 ; <i8*> [#uses=1]
+ %16 = bitcast i8* %monitor11.i to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %16
+ %tmp12.i = getelementptr i8* %.newclass_gc_alloc8.i, i32 8 ; <i8*> [#uses=1]
+ tail call void @llvm.memcpy.i32(i8* %tmp12.i, i8* bitcast (i32* getelementptr (%"tango.text.Regex.List!(TNFATransition).List"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__initZ, i32 0, i32 2) to i8*), i32 12, i32 1)
+ store %"tango.text.Regex.List!(TNFATransition).List"* %.newclass_gc9.i, %"tango.text.Regex.List!(TNFATransition).List"** %15
+ %tmp17.i165 = getelementptr i8* %.newclass_gc_alloc59, i32 16 ; <i8*> [#uses=1]
+ %17 = bitcast i8* %tmp17.i165 to %"tango.text.Regex.List!(TNFATransition).List"** ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
+ %.newclass_gc_alloc18.i = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7__ClassZ) ; <i8*> [#uses=4]
+ %.newclass_gc19.i = bitcast i8* %.newclass_gc_alloc18.i to %"tango.text.Regex.List!(TNFATransition).List"* ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
+ %vtbl20.i = bitcast i8* %.newclass_gc_alloc18.i to %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ store %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__vtblZ, %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %vtbl20.i
+ %monitor21.i = getelementptr i8* %.newclass_gc_alloc18.i, i32 4 ; <i8*> [#uses=1]
+ %18 = bitcast i8* %monitor21.i to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %18
+ %tmp22.i = getelementptr i8* %.newclass_gc_alloc18.i, i32 8 ; <i8*> [#uses=1]
+ tail call void @llvm.memcpy.i32(i8* %tmp22.i, i8* bitcast (i32* getelementptr (%"tango.text.Regex.List!(TNFATransition).List"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__initZ, i32 0, i32 2) to i8*), i32 12, i32 1)
+ store %"tango.text.Regex.List!(TNFATransition).List"* %.newclass_gc19.i, %"tango.text.Regex.List!(TNFATransition).List"** %17
+ %tmp27.i = getelementptr i8* %.newclass_gc_alloc59, i32 20 ; <i8*> [#uses=1]
+ %19 = bitcast i8* %tmp27.i to %"tango.text.Regex.List!(TNFATransition).List"** ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=3]
+ %.newclass_gc_alloc28.i = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7__ClassZ) ; <i8*> [#uses=4]
+ %.newclass_gc29.i = bitcast i8* %.newclass_gc_alloc28.i to %"tango.text.Regex.List!(TNFATransition).List"* ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
+ %vtbl30.i = bitcast i8* %.newclass_gc_alloc28.i to %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ store %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__vtblZ, %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %vtbl30.i
+ %monitor31.i = getelementptr i8* %.newclass_gc_alloc28.i, i32 4 ; <i8*> [#uses=1]
+ %20 = bitcast i8* %monitor31.i to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %20
+ %tmp32.i = getelementptr i8* %.newclass_gc_alloc28.i, i32 8 ; <i8*> [#uses=1]
+ tail call void @llvm.memcpy.i32(i8* %tmp32.i, i8* bitcast (i32* getelementptr (%"tango.text.Regex.List!(TNFATransition).List"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__initZ, i32 0, i32 2) to i8*), i32 12, i32 1)
+ store %"tango.text.Regex.List!(TNFATransition).List"* %.newclass_gc29.i, %"tango.text.Regex.List!(TNFATransition).List"** %19
+ %tmp70 = load %"tango.text.Regex.List!(TNFATransition).List"** %13 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
+ %tmp71 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp70, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ %tmp72 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp71 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
+ %"frag.entries.opCatAssign@vtbl" = getelementptr %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* %tmp72, i32 0, i32 5 ; <%"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)**> [#uses=1]
+ %frag.entries.opCatAssign = load %"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)** %"frag.entries.opCatAssign@vtbl", align 4 ; <%"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)*> [#uses=1]
+ %tmp75 = tail call fastcc %"tango.text.Regex.List!(TNFATransition).List"* %frag.entries.opCatAssign(%"tango.text.Regex.List!(TNFATransition).List"* %tmp70, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %.newclass_gc.i) ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=0]
+ %tmp78 = load %"tango.text.Regex.List!(TNFATransition).List"** %13 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
+ %tmp79 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp78, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ %tmp80 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp79 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
+ %"frag.entries.opCatAssign@vtbl81" = getelementptr %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* %tmp80, i32 0, i32 5 ; <%"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)**> [#uses=1]
+ %frag.entries.opCatAssign83 = load %"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)** %"frag.entries.opCatAssign@vtbl81", align 4 ; <%"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)*> [#uses=1]
+ %tmp85 = tail call fastcc %"tango.text.Regex.List!(TNFATransition).List"* %frag.entries.opCatAssign83(%"tango.text.Regex.List!(TNFATransition).List"* %tmp78, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %.newclass_gc.i138) ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=0]
+ %tmp88 = load %"tango.text.Regex.List!(TNFATransition).List"** %15 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
+ %tmp89 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp88, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ %tmp90 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp89 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
+ %"frag.exits.opCatAssign@vtbl" = getelementptr %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* %tmp90, i32 0, i32 8 ; <%"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.List!(TNFATransition).List"*)**> [#uses=1]
+ %frag.exits.opCatAssign = load %"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.List!(TNFATransition).List"*)** %"frag.exits.opCatAssign@vtbl", align 4 ; <%"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.List!(TNFATransition).List"*)*> [#uses=1]
+ %tmp94 = load %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp48 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=1]
+ %tmp95 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp94, i32 0, i32 2 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"**> [#uses=1]
+ %tmp96 = load %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"** %tmp95 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*> [#uses=1]
+ %tmp97 = getelementptr %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %tmp96, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
+ %tmp98 = load %"tango.text.Regex.List!(TNFATransition).List"** %tmp97 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
+ %tmp99 = tail call fastcc %"tango.text.Regex.List!(TNFATransition).List"* %frag.exits.opCatAssign(%"tango.text.Regex.List!(TNFATransition).List"* %tmp88, %"tango.text.Regex.List!(TNFATransition).List"* %tmp98) ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=0]
+ %tmp102 = load %"tango.text.Regex.List!(TNFATransition).List"** %19 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
+ %tmp103 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp102, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ %tmp104 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp103 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
+ %"frag.exit_state.opCatAssign@vtbl" = getelementptr %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* %tmp104, i32 0, i32 8 ; <%"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.List!(TNFATransition).List"*)**> [#uses=1]
+ %frag.exit_state.opCatAssign = load %"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.List!(TNFATransition).List"*)** %"frag.exit_state.opCatAssign@vtbl", align 4 ; <%"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.List!(TNFATransition).List"*)*> [#uses=1]
+ %tmp108 = load %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp48 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=1]
+ %tmp109 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp108, i32 0, i32 2 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"**> [#uses=1]
+ %tmp110 = load %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"** %tmp109 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*> [#uses=1]
+ %tmp111 = getelementptr %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %tmp110, i32 0, i32 5 ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
+ %tmp112 = load %"tango.text.Regex.List!(TNFATransition).List"** %tmp111 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
+ %tmp113 = tail call fastcc %"tango.text.Regex.List!(TNFATransition).List"* %frag.exit_state.opCatAssign(%"tango.text.Regex.List!(TNFATransition).List"* %tmp102, %"tango.text.Regex.List!(TNFATransition).List"* %tmp112) ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=0]
+ %tmp116 = load %"tango.text.Regex.List!(TNFATransition).List"** %19 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
+ %tmp117 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp116, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ %tmp118 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp117 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
+ %"frag.exit_state.opCatAssign@vtbl119" = getelementptr %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* %tmp118, i32 0, i32 5 ; <%"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)**> [#uses=1]
+ %frag.exit_state.opCatAssign121 = load %"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)** %"frag.exit_state.opCatAssign@vtbl119", align 4 ; <%"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)*> [#uses=1]
+ %tmp123 = tail call fastcc %"tango.text.Regex.List!(TNFATransition).List"* %frag.exit_state.opCatAssign121(%"tango.text.Regex.List!(TNFATransition).List"* %tmp116, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %.newclass_gc.i138) ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=0]
+ %tmp126 = load %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"** %tmp1 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"*> [#uses=1]
+ %"frags.pop@vtbl" = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"* %tmp126, i32 0, i32 16 ; <void (%"tango.text.Regex.List!(TNFAFragment).List"*)**> [#uses=1]
+ %frags.pop = load void (%"tango.text.Regex.List!(TNFAFragment).List"*)** %"frags.pop@vtbl", align 4 ; <void (%"tango.text.Regex.List!(TNFAFragment).List"*)*> [#uses=1]
+ tail call fastcc void %frags.pop(%"tango.text.Regex.List!(TNFAFragment).List"* %frags_arg)
+ %tmp130 = load %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"** %tmp1 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"*> [#uses=1]
+ %"frags.opCatAssign@vtbl" = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"* %tmp130, i32 0, i32 5 ; <%"tango.text.Regex.List!(TNFAFragment).List"* (%"tango.text.Regex.List!(TNFAFragment).List"*, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*)**> [#uses=1]
+ %frags.opCatAssign = load %"tango.text.Regex.List!(TNFAFragment).List"* (%"tango.text.Regex.List!(TNFAFragment).List"*, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*)** %"frags.opCatAssign@vtbl", align 4 ; <%"tango.text.Regex.List!(TNFAFragment).List"* (%"tango.text.Regex.List!(TNFAFragment).List"*, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*)*> [#uses=1]
+ %tmp133 = tail call fastcc %"tango.text.Regex.List!(TNFAFragment).List"* %frags.opCatAssign(%"tango.text.Regex.List!(TNFAFragment).List"* %frags_arg, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %.newclass_gc60) ; <%"tango.text.Regex.List!(TNFAFragment).List"*> [#uses=0]
+ ret void
+}
+
+define weak_odr fastcc void @_D5tango4text5Regex11__T4TNFATwZ4TNFA14constructOccurMFC5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4ListkkE5tango4text5Regex13PriorityClassZv(%"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, %"tango.text.Regex.List!(TNFAFragment).List"* %frags_arg, i32 %minOccur_arg, i32 %maxOccur_arg, i32 %prioClass_arg) {
+entry:
+ %tmp1 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %frags_arg, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"**> [#uses=3]
+ %tmp2 = load %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"** %tmp1 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"*> [#uses=1]
+ %"frags.empty@vtbl" = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"* %tmp2, i32 0, i32 14 ; <i1 (%"tango.text.Regex.List!(TNFAFragment).List"*)**> [#uses=1]
+ %frags.empty = load i1 (%"tango.text.Regex.List!(TNFAFragment).List"*)** %"frags.empty@vtbl", align 4 ; <i1 (%"tango.text.Regex.List!(TNFAFragment).List"*)*> [#uses=1]
+ %tmp4 = tail call fastcc i1 %frags.empty(%"tango.text.Regex.List!(TNFAFragment).List"* %frags_arg) ; <i1> [#uses=1]
+ br i1 %tmp4, label %if, label %endif
+
+if: ; preds = %entry
+ %.newclass_gc_alloc = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex15RegExpException7__ClassZ) ; <i8*> [#uses=5]
+ %.newclass_gc = bitcast i8* %.newclass_gc_alloc to %object.Exception* ; <%object.Exception*> [#uses=1]
+ %vtbl = bitcast i8* %.newclass_gc_alloc to %object.Exception.__vtbl** ; <%object.Exception.__vtbl**> [#uses=1]
+ store %object.Exception.__vtbl* @_D5tango4text5Regex15RegExpException6__vtblZ, %object.Exception.__vtbl** %vtbl
+ %monitor = getelementptr i8* %.newclass_gc_alloc, i32 4 ; <i8*> [#uses=1]
+ %0 = bitcast i8* %monitor to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %0
+ %tmp5 = getelementptr i8* %.newclass_gc_alloc, i32 8 ; <i8*> [#uses=1]
+ tail call void @llvm.memcpy.i32(i8* %tmp5, i8* bitcast (%"byte[]"* getelementptr (%object.Exception* bitcast (%28* @_D5tango4text5Regex15RegExpException6__initZ to %object.Exception*), i32 0, i32 2) to i8*), i32 28, i32 1)
+ %tmp11 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 2, i32 1 ; <i32**> [#uses=1]
+ %.ptr = load i32** %tmp11 ; <i32*> [#uses=1]
+ %tmp13 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 7 ; <i32*> [#uses=1]
+ %tmp14 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 2, i32 0 ; <i32*> [#uses=1]
+ %.len = load i32* %tmp14 ; <i32> [#uses=1]
+ %tmp15 = load i32* %tmp13 ; <i32> [#uses=2]
+ %tmp16 = getelementptr i32* %.ptr, i32 %tmp15 ; <i32*> [#uses=1]
+ %tmp17 = sub i32 %.len, %tmp15 ; <i32> [#uses=1]
+ %tmp18 = insertvalue %"Act[]" undef, i32 %tmp17, 0 ; <%"Act[]"> [#uses=1]
+ %tmp19 = insertvalue %"Act[]" %tmp18, i32* %tmp16, 1 ; <%"Act[]"> [#uses=1]
+ %tmp20 = tail call fastcc %"byte[]" @_D5tango4text7convert3Utf8toStringFAwAaPkZAa(%"Act[]" %tmp19, %"byte[]" zeroinitializer, i32* null) ; <%"byte[]"> [#uses=2]
+ %.len21 = extractvalue %"byte[]" %tmp20, 0 ; <i32> [#uses=4]
+ %tmp22 = add i32 %.len21, 32 ; <i32> [#uses=3]
+ %.nongc_mem = alloca i8, i32 %tmp22, align 1 ; <i8*> [#uses=3]
+ %.ptr23 = extractvalue %"byte[]" %tmp20, 1 ; <i8*> [#uses=1]
+ tail call void @llvm.memcpy.i32(i8* %.nongc_mem, i8* getelementptr ([33 x i8]* @.str237, i32 0, i32 0), i32 32, i32 1)
+ %tmp24 = getelementptr i8* %.nongc_mem, i32 32 ; <i8*> [#uses=1]
+ tail call void @llvm.memcpy.i32(i8* %tmp24, i8* %.ptr23, i32 %.len21, i32 1)
+ %tmp26 = add i32 %.len21, 33 ; <i32> [#uses=2]
+ %.nongc_mem362 = alloca i8, i32 %tmp26, align 1 ; <i8*> [#uses=3]
+ tail call void @llvm.memcpy.i32(i8* %.nongc_mem362, i8* %.nongc_mem, i32 %tmp22, i32 1)
+ %tmp29 = getelementptr i8* %.nongc_mem362, i32 %tmp22 ; <i8*> [#uses=1]
+ store i8 34, i8* %tmp29, align 1
+ %tmp2.i = add i32 %.len21, 41 ; <i32> [#uses=2]
+ %.gc_mem.i = tail call noalias i8* @_d_newarrayvT(%object.TypeInfo* @_D11TypeInfo_Aa6__initZ, i32 %tmp2.i) ; <i8*> [#uses=3]
+ %.gc_mem12.i = bitcast i8* %.gc_mem.i to i64* ; <i64*> [#uses=1]
+ %tmp.i = load i64* bitcast ([9 x i8]* @.str280 to i64*), align 8 ; <i64> [#uses=1]
+ store i64 %tmp.i, i64* %.gc_mem12.i, align 1
+ %tmp4.i = getelementptr i8* %.gc_mem.i, i32 8 ; <i8*> [#uses=1]
+ tail call void @llvm.memcpy.i32(i8* %tmp4.i, i8* %.nongc_mem362, i32 %tmp26, i32 1)
+ %tmp6.i = insertvalue %"byte[]" undef, i32 %tmp2.i, 0 ; <%"byte[]"> [#uses=1]
+ %tmp7.i = insertvalue %"byte[]" %tmp6.i, i8* %.gc_mem.i, 1 ; <%"byte[]"> [#uses=1]
+ %tmp8.i = tail call fastcc %object.Exception* @_D6object9Exception5_ctorMFAaC9ExceptionZC9Exception(%object.Exception* %.newclass_gc, %"byte[]" %tmp7.i, %object.Exception* null) ; <%object.Exception*> [#uses=0]
+ %tmp33 = bitcast i8* %.newclass_gc_alloc to %object.Object* ; <%object.Object*> [#uses=1]
+ tail call void @_d_throw_exception(%object.Object* %tmp33)
+ unreachable
+
+endif: ; preds = %entry
+ %.newclass_gc_alloc34 = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment7__ClassZ) ; <i8*> [#uses=7]
+ %.newclass_gc35 = bitcast i8* %.newclass_gc_alloc34 to %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*> [#uses=1]
+ %vtbl36 = bitcast i8* %.newclass_gc_alloc34 to %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"** ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"**> [#uses=1]
+ store %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"* @_D5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment6__vtblZ, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"** %vtbl36
+ %monitor37 = getelementptr i8* %.newclass_gc_alloc34, i32 4 ; <i8*> [#uses=1]
+ %1 = bitcast i8* %monitor37 to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %1
+ %tmp38 = getelementptr i8* %.newclass_gc_alloc34, i32 8 ; <i8*> [#uses=2]
+ tail call void @llvm.memcpy.i32(i8* %tmp38, i8* bitcast (%"tango.text.Regex.List!(TNFATransition).List"** getelementptr (%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* @_D5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment6__initZ, i32 0, i32 2) to i8*), i32 17, i32 1)
+ %2 = bitcast i8* %tmp38 to %"tango.text.Regex.List!(TNFATransition).List"** ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=4]
+ %.newclass_gc_alloc.i = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7__ClassZ) ; <i8*> [#uses=4]
+ %.newclass_gc.i = bitcast i8* %.newclass_gc_alloc.i to %"tango.text.Regex.List!(TNFATransition).List"* ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
+ %vtbl.i = bitcast i8* %.newclass_gc_alloc.i to %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ store %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__vtblZ, %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %vtbl.i
+ %monitor.i = getelementptr i8* %.newclass_gc_alloc.i, i32 4 ; <i8*> [#uses=1]
+ %3 = bitcast i8* %monitor.i to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %3
+ %tmp2.i275 = getelementptr i8* %.newclass_gc_alloc.i, i32 8 ; <i8*> [#uses=1]
+ tail call void @llvm.memcpy.i32(i8* %tmp2.i275, i8* bitcast (i32* getelementptr (%"tango.text.Regex.List!(TNFATransition).List"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__initZ, i32 0, i32 2) to i8*), i32 12, i32 1)
+ store %"tango.text.Regex.List!(TNFATransition).List"* %.newclass_gc.i, %"tango.text.Regex.List!(TNFATransition).List"** %2
+ %tmp7.i276 = getelementptr i8* %.newclass_gc_alloc34, i32 12 ; <i8*> [#uses=1]
+ %4 = bitcast i8* %tmp7.i276 to %"tango.text.Regex.List!(TNFATransition).List"** ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=2]
+ %.newclass_gc_alloc8.i = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7__ClassZ) ; <i8*> [#uses=4]
+ %.newclass_gc9.i = bitcast i8* %.newclass_gc_alloc8.i to %"tango.text.Regex.List!(TNFATransition).List"* ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
+ %vtbl10.i = bitcast i8* %.newclass_gc_alloc8.i to %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ store %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__vtblZ, %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %vtbl10.i
+ %monitor11.i = getelementptr i8* %.newclass_gc_alloc8.i, i32 4 ; <i8*> [#uses=1]
+ %5 = bitcast i8* %monitor11.i to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %5
+ %tmp12.i = getelementptr i8* %.newclass_gc_alloc8.i, i32 8 ; <i8*> [#uses=1]
+ tail call void @llvm.memcpy.i32(i8* %tmp12.i, i8* bitcast (i32* getelementptr (%"tango.text.Regex.List!(TNFATransition).List"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__initZ, i32 0, i32 2) to i8*), i32 12, i32 1)
+ store %"tango.text.Regex.List!(TNFATransition).List"* %.newclass_gc9.i, %"tango.text.Regex.List!(TNFATransition).List"** %4
+ %tmp17.i = getelementptr i8* %.newclass_gc_alloc34, i32 16 ; <i8*> [#uses=1]
+ %6 = bitcast i8* %tmp17.i to %"tango.text.Regex.List!(TNFATransition).List"** ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=4]
+ %.newclass_gc_alloc18.i = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7__ClassZ) ; <i8*> [#uses=4]
+ %.newclass_gc19.i = bitcast i8* %.newclass_gc_alloc18.i to %"tango.text.Regex.List!(TNFATransition).List"* ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
+ %vtbl20.i = bitcast i8* %.newclass_gc_alloc18.i to %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ store %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__vtblZ, %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %vtbl20.i
+ %monitor21.i = getelementptr i8* %.newclass_gc_alloc18.i, i32 4 ; <i8*> [#uses=1]
+ %7 = bitcast i8* %monitor21.i to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %7
+ %tmp22.i = getelementptr i8* %.newclass_gc_alloc18.i, i32 8 ; <i8*> [#uses=1]
+ tail call void @llvm.memcpy.i32(i8* %tmp22.i, i8* bitcast (i32* getelementptr (%"tango.text.Regex.List!(TNFATransition).List"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__initZ, i32 0, i32 2) to i8*), i32 12, i32 1)
+ store %"tango.text.Regex.List!(TNFATransition).List"* %.newclass_gc19.i, %"tango.text.Regex.List!(TNFATransition).List"** %6
+ %tmp27.i = getelementptr i8* %.newclass_gc_alloc34, i32 20 ; <i8*> [#uses=1]
+ %8 = bitcast i8* %tmp27.i to %"tango.text.Regex.List!(TNFATransition).List"** ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=2]
+ %.newclass_gc_alloc28.i = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7__ClassZ) ; <i8*> [#uses=4]
+ %.newclass_gc29.i = bitcast i8* %.newclass_gc_alloc28.i to %"tango.text.Regex.List!(TNFATransition).List"* ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
+ %vtbl30.i = bitcast i8* %.newclass_gc_alloc28.i to %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ store %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__vtblZ, %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %vtbl30.i
+ %monitor31.i = getelementptr i8* %.newclass_gc_alloc28.i, i32 4 ; <i8*> [#uses=1]
+ %9 = bitcast i8* %monitor31.i to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %9
+ %tmp32.i = getelementptr i8* %.newclass_gc_alloc28.i, i32 8 ; <i8*> [#uses=1]
+ tail call void @llvm.memcpy.i32(i8* %tmp32.i, i8* bitcast (i32* getelementptr (%"tango.text.Regex.List!(TNFATransition).List"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__initZ, i32 0, i32 2) to i8*), i32 12, i32 1)
+ store %"tango.text.Regex.List!(TNFATransition).List"* %.newclass_gc29.i, %"tango.text.Regex.List!(TNFATransition).List"** %8
+ br label %forcond
+
+forcond: ; preds = %endif56, %endif
+ %prev.0 = phi %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* [ null, %endif ], [ %tmp52, %endif56 ] ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*> [#uses=7]
+ %i.0 = phi i32 [ 0, %endif ], [ %tmp81, %endif56 ] ; <i32> [#uses=2]
+ %tmp45 = icmp ult i32 %i.0, %minOccur_arg ; <i1> [#uses=1]
+ br i1 %tmp45, label %forbody, label %endfor
+
+forbody: ; preds = %forcond
+ %tmp48 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %frags_arg, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=1]
+ %tmp49 = load %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp48 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=1]
+ %tmp50 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp49, i32 0, i32 2 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"**> [#uses=1]
+ %tmp51 = load %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"** %tmp50 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*> [#uses=1]
+ %tmp52 = tail call fastcc %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* @_D5tango4text5Regex11__T4TNFATwZ4TNFA5cloneMFC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment(%"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %tmp51) ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*> [#uses=5]
+ %tmp54 = icmp eq %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %prev.0, null ; <i1> [#uses=1]
+ br i1 %tmp54, label %else, label %if55
+
+if55: ; preds = %forbody
+ %.newclass_gc_alloc.i277 = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex16__T9TNFAStateTwZ9TNFAState7__ClassZ) ; <i8*> [#uses=6]
+ %.newclass_gc.i278 = bitcast i8* %.newclass_gc_alloc.i277 to %"tango.text.Regex.TNFAState!(dchar).TNFAState"* ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"*> [#uses=3]
+ %vtbl.i279 = bitcast i8* %.newclass_gc_alloc.i277 to %object.ModuleInfo.__vtbl** ; <%object.ModuleInfo.__vtbl**> [#uses=1]
+ store %object.ModuleInfo.__vtbl* @_D5tango4text5Regex16__T9TNFAStateTwZ9TNFAState6__vtblZ, %object.ModuleInfo.__vtbl** %vtbl.i279
+ %monitor.i280 = getelementptr i8* %.newclass_gc_alloc.i277, i32 4 ; <i8*> [#uses=1]
+ %10 = bitcast i8* %monitor.i280 to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %10
+ %tmp.i281 = getelementptr i8* %.newclass_gc_alloc.i277, i32 8 ; <i8*> [#uses=1]
+ tail call void @llvm.memcpy.i32(i8* %tmp.i281, i8* bitcast (i1* getelementptr (%"tango.text.Regex.TNFAState!(dchar).TNFAState"* @_D5tango4text5Regex16__T9TNFAStateTwZ9TNFAState6__initZ, i32 0, i32 2) to i8*), i32 12, i32 1)
+ %tmp1.i.i = getelementptr i8* %.newclass_gc_alloc.i277, i32 16 ; <i8*> [#uses=1]
+ %11 = bitcast i8* %tmp1.i.i to %"tango.text.Regex.List!(TNFATransition).List"** ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
+ %.newclass_gc_alloc.i.i = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7__ClassZ) ; <i8*> [#uses=4]
+ %.newclass_gc.i.i = bitcast i8* %.newclass_gc_alloc.i.i to %"tango.text.Regex.List!(TNFATransition).List"* ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
+ %vtbl.i.i = bitcast i8* %.newclass_gc_alloc.i.i to %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ store %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__vtblZ, %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %vtbl.i.i
+ %monitor.i.i = getelementptr i8* %.newclass_gc_alloc.i.i, i32 4 ; <i8*> [#uses=1]
+ %12 = bitcast i8* %monitor.i.i to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %12
+ %tmp2.i.i = getelementptr i8* %.newclass_gc_alloc.i.i, i32 8 ; <i8*> [#uses=1]
+ tail call void @llvm.memcpy.i32(i8* %tmp2.i.i, i8* bitcast (i32* getelementptr (%"tango.text.Regex.List!(TNFATransition).List"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__initZ, i32 0, i32 2) to i8*), i32 12, i32 1)
+ store %"tango.text.Regex.List!(TNFATransition).List"* %.newclass_gc.i.i, %"tango.text.Regex.List!(TNFATransition).List"** %11
+ %tmp6.i282 = getelementptr i8* %.newclass_gc_alloc.i277, i32 12 ; <i8*> [#uses=1]
+ %13 = bitcast i8* %tmp6.i282 to i32* ; <i32*> [#uses=1]
+ %tmp9.i = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 3, i32 0 ; <i32*> [#uses=2]
+ %.len.i = load i32* %tmp9.i ; <i32> [#uses=4]
+ store i32 %.len.i, i32* %13
+ %tmp14.i = add i32 %.len.i, 1 ; <i32> [#uses=2]
+ %tmp17.i283 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 3, i32 1 ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"***> [#uses=2]
+ %.ptr.i = load %"tango.text.Regex.TNFAState!(dchar).TNFAState"*** %tmp17.i283 ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"**> [#uses=1]
+ %tmp18.i = bitcast %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %.ptr.i to i8* ; <i8*> [#uses=1]
+ %.gc_mem.i284 = tail call i8* @_d_arraysetlengthT(%object.TypeInfo* bitcast (%object.TypeInfo_Array* @_D56TypeInfo_AC5tango4text5Regex16__T9TNFAStateTwZ9TNFAState6__initZ to %object.TypeInfo*), i32 %tmp14.i, i32 %.len.i, i8* %tmp18.i) ; <i8*> [#uses=1]
+ %.gc_mem19.i = bitcast i8* %.gc_mem.i284 to %"tango.text.Regex.TNFAState!(dchar).TNFAState"** ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"**> [#uses=2]
+ %tmp20.i = getelementptr %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %.gc_mem19.i, i32 %.len.i ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"**> [#uses=1]
+ store %"tango.text.Regex.TNFAState!(dchar).TNFAState"* %.newclass_gc.i278, %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %tmp20.i
+ store i32 %tmp14.i, i32* %tmp9.i
+ store %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %.gc_mem19.i, %"tango.text.Regex.TNFAState!(dchar).TNFAState"*** %tmp17.i283
+ %tmp60 = getelementptr %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %prev.0, i32 0, i32 0 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"**> [#uses=1]
+ %tmp61 = load %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"** %tmp60 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"*> [#uses=1]
+ %"prev.setExit@vtbl" = getelementptr %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"* %tmp61, i32 0, i32 6 ; <void (%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*, %"tango.text.Regex.TNFAState!(dchar).TNFAState"*)**> [#uses=1]
+ %prev.setExit = load void (%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*, %"tango.text.Regex.TNFAState!(dchar).TNFAState"*)** %"prev.setExit@vtbl", align 4 ; <void (%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*, %"tango.text.Regex.TNFAState!(dchar).TNFAState"*)*> [#uses=1]
+ tail call fastcc void %prev.setExit(%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %prev.0, %"tango.text.Regex.TNFAState!(dchar).TNFAState"* %.newclass_gc.i278)
+ %tmp65 = getelementptr %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %tmp52, i32 0, i32 0 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"**> [#uses=1]
+ %tmp66 = load %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"** %tmp65 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"*> [#uses=1]
+ %"f.setEntry@vtbl" = getelementptr %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"* %tmp66, i32 0, i32 5 ; <void (%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*, %"tango.text.Regex.TNFAState!(dchar).TNFAState"*)**> [#uses=1]
+ %f.setEntry = load void (%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*, %"tango.text.Regex.TNFAState!(dchar).TNFAState"*)** %"f.setEntry@vtbl", align 4 ; <void (%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*, %"tango.text.Regex.TNFAState!(dchar).TNFAState"*)*> [#uses=1]
+ tail call fastcc void %f.setEntry(%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %tmp52, %"tango.text.Regex.TNFAState!(dchar).TNFAState"* %.newclass_gc.i278)
+ br label %endif56
+
+else: ; preds = %forbody
+ %tmp72 = getelementptr %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %tmp52, i32 0, i32 2 ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
+ %tmp73 = load %"tango.text.Regex.List!(TNFATransition).List"** %tmp72 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
+ store %"tango.text.Regex.List!(TNFATransition).List"* %tmp73, %"tango.text.Regex.List!(TNFATransition).List"** %2
+ %tmp77 = getelementptr %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %tmp52, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
+ %tmp78 = load %"tango.text.Regex.List!(TNFATransition).List"** %tmp77 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
+ store %"tango.text.Regex.List!(TNFATransition).List"* %tmp78, %"tango.text.Regex.List!(TNFATransition).List"** %6
+ br label %endif56
+
+endif56: ; preds = %else, %if55
+ %tmp81 = add i32 %i.0, 1 ; <i32> [#uses=1]
+ br label %forcond
+
+endfor: ; preds = %forcond
+ %tmp83 = icmp eq i32 %maxOccur_arg, 0 ; <i1> [#uses=1]
+ br i1 %tmp83, label %if84, label %forcond166
+
+if84: ; preds = %endfor
+ %tmp88 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %frags_arg, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=1]
+ %tmp89 = load %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp88 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=1]
+ %tmp90 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp89, i32 0, i32 2 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"**> [#uses=1]
+ %tmp91 = load %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"** %tmp90 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*> [#uses=8]
+ %.newclass_gc_alloc.i285 = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransition7__ClassZ) ; <i8*> [#uses=6]
+ %.newclass_gc.i286 = bitcast i8* %.newclass_gc_alloc.i285 to %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*> [#uses=3]
+ %vtbl.i287 = bitcast i8* %.newclass_gc_alloc.i285 to %object.ModuleInfo.__vtbl** ; <%object.ModuleInfo.__vtbl**> [#uses=1]
+ store %object.ModuleInfo.__vtbl* @_D5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransition6__vtblZ, %object.ModuleInfo.__vtbl** %vtbl.i287
+ %monitor.i288 = getelementptr i8* %.newclass_gc_alloc.i285, i32 4 ; <i8*> [#uses=1]
+ %14 = bitcast i8* %monitor.i288 to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %14
+ %tmp.i289 = getelementptr i8* %.newclass_gc_alloc.i285, i32 8 ; <i8*> [#uses=1]
+ tail call void @llvm.memcpy.i32(i8* %tmp.i289, i8* bitcast (%"tango.text.Regex.TNFAState!(dchar).TNFAState"** getelementptr (%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* @_D5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransition6__initZ, i32 0, i32 2) to i8*), i32 44, i32 1)
+ %tmp1.i.i290 = getelementptr i8* %.newclass_gc_alloc.i285, i32 48 ; <i8*> [#uses=1]
+ %15 = bitcast i8* %tmp1.i.i290 to i32* ; <i32*> [#uses=1]
+ store i32 1, i32* %15
+ %tmp7.i291 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 9 ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=2]
+ %tmp8.i292 = load %"tango.text.Regex.List!(TNFATransition).List"** %tmp7.i291 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
+ %tmp9.i293 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp8.i292, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ %tmp10.i = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp9.i293 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
+ %"this.transitions.opCatAssign@vtbl.i" = getelementptr %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* %tmp10.i, i32 0, i32 5 ; <%"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)**> [#uses=1]
+ %this.transitions.opCatAssign.i = load %"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)** %"this.transitions.opCatAssign@vtbl.i", align 4 ; <%"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)*> [#uses=1]
+ %tmp13.i = tail call fastcc %"tango.text.Regex.List!(TNFATransition).List"* %this.transitions.opCatAssign.i(%"tango.text.Regex.List!(TNFATransition).List"* %tmp8.i292, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %.newclass_gc.i286) ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=0]
+ %tmp96 = getelementptr i8* %.newclass_gc_alloc.i285, i32 20 ; <i8*> [#uses=1]
+ %16 = bitcast i8* %tmp96 to i32* ; <i32*> [#uses=1]
+ store i32 1, i32* %16
+ %tmp98 = getelementptr %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %tmp91, i32 0, i32 2 ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=2]
+ %tmp99 = load %"tango.text.Regex.List!(TNFATransition).List"** %tmp98 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
+ %tmp100 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp99, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ %tmp101 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp100 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
+ %"f.entries.opCatAssign@vtbl" = getelementptr %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* %tmp101, i32 0, i32 5 ; <%"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)**> [#uses=1]
+ %f.entries.opCatAssign = load %"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)** %"f.entries.opCatAssign@vtbl", align 4 ; <%"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)*> [#uses=1]
+ %tmp104 = tail call fastcc %"tango.text.Regex.List!(TNFATransition).List"* %f.entries.opCatAssign(%"tango.text.Regex.List!(TNFATransition).List"* %tmp99, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %.newclass_gc.i286) ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=0]
+ %tmp106 = getelementptr %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %tmp91, i32 0, i32 5 ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
+ %tmp107 = load %"tango.text.Regex.List!(TNFATransition).List"** %tmp106 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
+ %tmp108 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp107, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ %tmp109 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp108 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
+ %"f.exit_state.opCatAssign@vtbl" = getelementptr %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* %tmp109, i32 0, i32 5 ; <%"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)**> [#uses=1]
+ %f.exit_state.opCatAssign = load %"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)** %"f.exit_state.opCatAssign@vtbl", align 4 ; <%"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)*> [#uses=1]
+ %tmp112 = tail call fastcc %"tango.text.Regex.List!(TNFATransition).List"* %f.exit_state.opCatAssign(%"tango.text.Regex.List!(TNFATransition).List"* %tmp107, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %.newclass_gc.i286) ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=0]
+ %.newclass_gc_alloc.i294 = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransition7__ClassZ) ; <i8*> [#uses=6]
+ %.newclass_gc.i295 = bitcast i8* %.newclass_gc_alloc.i294 to %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*> [#uses=3]
+ %vtbl.i296 = bitcast i8* %.newclass_gc_alloc.i294 to %object.ModuleInfo.__vtbl** ; <%object.ModuleInfo.__vtbl**> [#uses=1]
+ store %object.ModuleInfo.__vtbl* @_D5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransition6__vtblZ, %object.ModuleInfo.__vtbl** %vtbl.i296
+ %monitor.i297 = getelementptr i8* %.newclass_gc_alloc.i294, i32 4 ; <i8*> [#uses=1]
+ %17 = bitcast i8* %monitor.i297 to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %17
+ %tmp.i298 = getelementptr i8* %.newclass_gc_alloc.i294, i32 8 ; <i8*> [#uses=1]
+ tail call void @llvm.memcpy.i32(i8* %tmp.i298, i8* bitcast (%"tango.text.Regex.TNFAState!(dchar).TNFAState"** getelementptr (%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* @_D5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransition6__initZ, i32 0, i32 2) to i8*), i32 44, i32 1)
+ %tmp1.i.i299 = getelementptr i8* %.newclass_gc_alloc.i294, i32 48 ; <i8*> [#uses=1]
+ %18 = bitcast i8* %tmp1.i.i299 to i32* ; <i32*> [#uses=1]
+ store i32 1, i32* %18
+ %tmp8.i301 = load %"tango.text.Regex.List!(TNFATransition).List"** %tmp7.i291 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
+ %tmp9.i302 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp8.i301, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ %tmp10.i303 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp9.i302 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
+ %"this.transitions.opCatAssign@vtbl.i304" = getelementptr %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* %tmp10.i303, i32 0, i32 5 ; <%"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)**> [#uses=1]
+ %this.transitions.opCatAssign.i305 = load %"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)** %"this.transitions.opCatAssign@vtbl.i304", align 4 ; <%"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)*> [#uses=1]
+ %tmp13.i306 = tail call fastcc %"tango.text.Regex.List!(TNFATransition).List"* %this.transitions.opCatAssign.i305(%"tango.text.Regex.List!(TNFATransition).List"* %tmp8.i301, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %.newclass_gc.i295) ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=0]
+ %tmp117 = getelementptr i8* %.newclass_gc_alloc.i294, i32 20 ; <i8*> [#uses=1]
+ %19 = bitcast i8* %tmp117 to i32* ; <i32*> [#uses=1]
+ store i32 1, i32* %19
+ %tmp119 = getelementptr %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %tmp91, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
+ %tmp120 = load %"tango.text.Regex.List!(TNFATransition).List"** %tmp119 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
+ %tmp121 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp120, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ %tmp122 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp121 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
+ %"f.exits.opCatAssign@vtbl" = getelementptr %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* %tmp122, i32 0, i32 5 ; <%"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)**> [#uses=1]
+ %f.exits.opCatAssign = load %"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)** %"f.exits.opCatAssign@vtbl", align 4 ; <%"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)*> [#uses=1]
+ %tmp125 = tail call fastcc %"tango.text.Regex.List!(TNFATransition).List"* %f.exits.opCatAssign(%"tango.text.Regex.List!(TNFATransition).List"* %tmp120, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %.newclass_gc.i295) ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=0]
+ %tmp127 = getelementptr %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %tmp91, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=2]
+ %tmp128 = load %"tango.text.Regex.List!(TNFATransition).List"** %tmp127 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
+ %tmp129 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp128, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ %tmp130 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp129 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
+ %"f.entry_state.opCatAssign@vtbl" = getelementptr %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* %tmp130, i32 0, i32 5 ; <%"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)**> [#uses=1]
+ %f.entry_state.opCatAssign = load %"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)** %"f.entry_state.opCatAssign@vtbl", align 4 ; <%"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)*> [#uses=1]
+ %tmp133 = tail call fastcc %"tango.text.Regex.List!(TNFATransition).List"* %f.entry_state.opCatAssign(%"tango.text.Regex.List!(TNFATransition).List"* %tmp128, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %.newclass_gc.i295) ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=0]
+ %.newclass_gc_alloc.i328 = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex16__T9TNFAStateTwZ9TNFAState7__ClassZ) ; <i8*> [#uses=6]
+ %.newclass_gc.i329 = bitcast i8* %.newclass_gc_alloc.i328 to %"tango.text.Regex.TNFAState!(dchar).TNFAState"* ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"*> [#uses=3]
+ %vtbl.i330 = bitcast i8* %.newclass_gc_alloc.i328 to %object.ModuleInfo.__vtbl** ; <%object.ModuleInfo.__vtbl**> [#uses=1]
+ store %object.ModuleInfo.__vtbl* @_D5tango4text5Regex16__T9TNFAStateTwZ9TNFAState6__vtblZ, %object.ModuleInfo.__vtbl** %vtbl.i330
+ %monitor.i331 = getelementptr i8* %.newclass_gc_alloc.i328, i32 4 ; <i8*> [#uses=1]
+ %20 = bitcast i8* %monitor.i331 to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %20
+ %tmp.i332 = getelementptr i8* %.newclass_gc_alloc.i328, i32 8 ; <i8*> [#uses=1]
+ tail call void @llvm.memcpy.i32(i8* %tmp.i332, i8* bitcast (i1* getelementptr (%"tango.text.Regex.TNFAState!(dchar).TNFAState"* @_D5tango4text5Regex16__T9TNFAStateTwZ9TNFAState6__initZ, i32 0, i32 2) to i8*), i32 12, i32 1)
+ %tmp1.i.i333 = getelementptr i8* %.newclass_gc_alloc.i328, i32 16 ; <i8*> [#uses=1]
+ %21 = bitcast i8* %tmp1.i.i333 to %"tango.text.Regex.List!(TNFATransition).List"** ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
+ %.newclass_gc_alloc.i.i334 = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7__ClassZ) ; <i8*> [#uses=4]
+ %.newclass_gc.i.i335 = bitcast i8* %.newclass_gc_alloc.i.i334 to %"tango.text.Regex.List!(TNFATransition).List"* ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
+ %vtbl.i.i336 = bitcast i8* %.newclass_gc_alloc.i.i334 to %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ store %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__vtblZ, %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %vtbl.i.i336
+ %monitor.i.i337 = getelementptr i8* %.newclass_gc_alloc.i.i334, i32 4 ; <i8*> [#uses=1]
+ %22 = bitcast i8* %monitor.i.i337 to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %22
+ %tmp2.i.i338 = getelementptr i8* %.newclass_gc_alloc.i.i334, i32 8 ; <i8*> [#uses=1]
+ tail call void @llvm.memcpy.i32(i8* %tmp2.i.i338, i8* bitcast (i32* getelementptr (%"tango.text.Regex.List!(TNFATransition).List"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__initZ, i32 0, i32 2) to i8*), i32 12, i32 1)
+ store %"tango.text.Regex.List!(TNFATransition).List"* %.newclass_gc.i.i335, %"tango.text.Regex.List!(TNFATransition).List"** %21
+ %tmp6.i339 = getelementptr i8* %.newclass_gc_alloc.i328, i32 12 ; <i8*> [#uses=1]
+ %23 = bitcast i8* %tmp6.i339 to i32* ; <i32*> [#uses=1]
+ %tmp9.i340 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 3, i32 0 ; <i32*> [#uses=2]
+ %.len.i341 = load i32* %tmp9.i340 ; <i32> [#uses=4]
+ store i32 %.len.i341, i32* %23
+ %tmp14.i342 = add i32 %.len.i341, 1 ; <i32> [#uses=2]
+ %tmp17.i343 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 3, i32 1 ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"***> [#uses=2]
+ %.ptr.i344 = load %"tango.text.Regex.TNFAState!(dchar).TNFAState"*** %tmp17.i343 ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"**> [#uses=1]
+ %tmp18.i345 = bitcast %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %.ptr.i344 to i8* ; <i8*> [#uses=1]
+ %.gc_mem.i346 = tail call i8* @_d_arraysetlengthT(%object.TypeInfo* bitcast (%object.TypeInfo_Array* @_D56TypeInfo_AC5tango4text5Regex16__T9TNFAStateTwZ9TNFAState6__initZ to %object.TypeInfo*), i32 %tmp14.i342, i32 %.len.i341, i8* %tmp18.i345) ; <i8*> [#uses=1]
+ %.gc_mem19.i347 = bitcast i8* %.gc_mem.i346 to %"tango.text.Regex.TNFAState!(dchar).TNFAState"** ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"**> [#uses=2]
+ %tmp20.i348 = getelementptr %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %.gc_mem19.i347, i32 %.len.i341 ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"**> [#uses=1]
+ store %"tango.text.Regex.TNFAState!(dchar).TNFAState"* %.newclass_gc.i329, %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %tmp20.i348
+ store i32 %tmp14.i342, i32* %tmp9.i340
+ store %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %.gc_mem19.i347, %"tango.text.Regex.TNFAState!(dchar).TNFAState"*** %tmp17.i343
+ %tmp137 = getelementptr %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %tmp91, i32 0, i32 0 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"**> [#uses=1]
+ %tmp138 = load %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"** %tmp137 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"*> [#uses=1]
+ %"f.setEntry@vtbl139" = getelementptr %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"* %tmp138, i32 0, i32 5 ; <void (%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*, %"tango.text.Regex.TNFAState!(dchar).TNFAState"*)**> [#uses=1]
+ %f.setEntry141 = load void (%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*, %"tango.text.Regex.TNFAState!(dchar).TNFAState"*)** %"f.setEntry@vtbl139", align 4 ; <void (%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*, %"tango.text.Regex.TNFAState!(dchar).TNFAState"*)*> [#uses=1]
+ tail call fastcc void %f.setEntry141(%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %tmp91, %"tango.text.Regex.TNFAState!(dchar).TNFAState"* %.newclass_gc.i329)
+ %tmp144 = icmp eq %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %prev.0, null ; <i1> [#uses=1]
+ br i1 %tmp144, label %else147, label %if145
+
+if145: ; preds = %if84
+ %tmp149 = getelementptr %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %prev.0, i32 0, i32 0 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"**> [#uses=1]
+ %tmp150 = load %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"** %tmp149 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"*> [#uses=1]
+ %"prev.setExit@vtbl151" = getelementptr %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"* %tmp150, i32 0, i32 6 ; <void (%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*, %"tango.text.Regex.TNFAState!(dchar).TNFAState"*)**> [#uses=1]
+ %prev.setExit153 = load void (%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*, %"tango.text.Regex.TNFAState!(dchar).TNFAState"*)** %"prev.setExit@vtbl151", align 4 ; <void (%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*, %"tango.text.Regex.TNFAState!(dchar).TNFAState"*)*> [#uses=1]
+ tail call fastcc void %prev.setExit153(%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %prev.0, %"tango.text.Regex.TNFAState!(dchar).TNFAState"* %.newclass_gc.i329)
+ br label %forcond166
+
+else147: ; preds = %if84
+ %tmp159 = load %"tango.text.Regex.List!(TNFATransition).List"** %tmp98 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
+ store %"tango.text.Regex.List!(TNFATransition).List"* %tmp159, %"tango.text.Regex.List!(TNFATransition).List"** %2
+ %tmp164 = load %"tango.text.Regex.List!(TNFATransition).List"** %tmp127 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
+ store %"tango.text.Regex.List!(TNFATransition).List"* %tmp164, %"tango.text.Regex.List!(TNFATransition).List"** %6
+ br label %forcond166
+
+forcond166: ; preds = %endif224, %else147, %if145, %endfor
+ %prev.2 = phi %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* [ %f175.0, %endif224 ], [ %prev.0, %endfor ], [ %tmp91, %else147 ], [ %tmp91, %if145 ] ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*> [#uses=5]
+ %i170.0 = phi i32 [ %tmp254, %endif224 ], [ %minOccur_arg, %if145 ], [ %minOccur_arg, %else147 ], [ %minOccur_arg, %endfor ] ; <i32> [#uses=3]
+ %tmp174 = icmp ult i32 %i170.0, %maxOccur_arg ; <i1> [#uses=1]
+ br i1 %tmp174, label %forbody167, label %endfor169
+
+forbody167: ; preds = %forcond166
+ %tmp178 = add i32 %maxOccur_arg, -1 ; <i32> [#uses=1]
+ %tmp179 = icmp ult i32 %i170.0, %tmp178 ; <i1> [#uses=1]
+ %tmp185 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %frags_arg, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=1]
+ %tmp186 = load %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp185 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=1]
+ %tmp187 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp186, i32 0, i32 2 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"**> [#uses=1]
+ %tmp188 = load %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"** %tmp187 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*> [#uses=2]
+ br i1 %tmp179, label %if180, label %endif181
+
+if180: ; preds = %forbody167
+ %tmp189 = tail call fastcc %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* @_D5tango4text5Regex11__T4TNFATwZ4TNFA5cloneMFC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment(%"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %tmp188) ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*> [#uses=1]
+ br label %endif181
+
+endif181: ; preds = %if180, %forbody167
+ %f175.0 = phi %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* [ %tmp189, %if180 ], [ %tmp188, %forbody167 ] ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*> [#uses=6]
+ %.newclass_gc_alloc.i349 = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransition7__ClassZ) ; <i8*> [#uses=6]
+ %.newclass_gc.i350 = bitcast i8* %.newclass_gc_alloc.i349 to %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*> [#uses=3]
+ %vtbl.i351 = bitcast i8* %.newclass_gc_alloc.i349 to %object.ModuleInfo.__vtbl** ; <%object.ModuleInfo.__vtbl**> [#uses=1]
+ store %object.ModuleInfo.__vtbl* @_D5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransition6__vtblZ, %object.ModuleInfo.__vtbl** %vtbl.i351
+ %monitor.i352 = getelementptr i8* %.newclass_gc_alloc.i349, i32 4 ; <i8*> [#uses=1]
+ %24 = bitcast i8* %monitor.i352 to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %24
+ %tmp.i353 = getelementptr i8* %.newclass_gc_alloc.i349, i32 8 ; <i8*> [#uses=1]
+ tail call void @llvm.memcpy.i32(i8* %tmp.i353, i8* bitcast (%"tango.text.Regex.TNFAState!(dchar).TNFAState"** getelementptr (%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* @_D5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransition6__initZ, i32 0, i32 2) to i8*), i32 44, i32 1)
+ %tmp1.i.i354 = getelementptr i8* %.newclass_gc_alloc.i349, i32 48 ; <i8*> [#uses=1]
+ %25 = bitcast i8* %tmp1.i.i354 to i32* ; <i32*> [#uses=1]
+ store i32 1, i32* %25
+ %tmp7.i355 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 9 ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
+ %tmp8.i356 = load %"tango.text.Regex.List!(TNFATransition).List"** %tmp7.i355 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
+ %tmp9.i357 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp8.i356, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ %tmp10.i358 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp9.i357 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
+ %"this.transitions.opCatAssign@vtbl.i359" = getelementptr %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* %tmp10.i358, i32 0, i32 5 ; <%"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)**> [#uses=1]
+ %this.transitions.opCatAssign.i360 = load %"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)** %"this.transitions.opCatAssign@vtbl.i359", align 4 ; <%"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)*> [#uses=1]
+ %tmp13.i361 = tail call fastcc %"tango.text.Regex.List!(TNFATransition).List"* %this.transitions.opCatAssign.i360(%"tango.text.Regex.List!(TNFATransition).List"* %tmp8.i356, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %.newclass_gc.i350) ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=0]
+ %tmp200 = getelementptr i8* %.newclass_gc_alloc.i349, i32 20 ; <i8*> [#uses=1]
+ %26 = bitcast i8* %tmp200 to i32* ; <i32*> [#uses=1]
+ store i32 1, i32* %26
+ %tmp202 = getelementptr %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %f175.0, i32 0, i32 2 ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=2]
+ %tmp203 = load %"tango.text.Regex.List!(TNFATransition).List"** %tmp202 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
+ %tmp204 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp203, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ %tmp205 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp204 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
+ %"f.entries.opCatAssign@vtbl206" = getelementptr %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* %tmp205, i32 0, i32 5 ; <%"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)**> [#uses=1]
+ %f.entries.opCatAssign208 = load %"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)** %"f.entries.opCatAssign@vtbl206", align 4 ; <%"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)*> [#uses=1]
+ %tmp210 = tail call fastcc %"tango.text.Regex.List!(TNFATransition).List"* %f.entries.opCatAssign208(%"tango.text.Regex.List!(TNFATransition).List"* %tmp203, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %.newclass_gc.i350) ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=0]
+ %tmp212 = getelementptr %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %f175.0, i32 0, i32 5 ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
+ %tmp213 = load %"tango.text.Regex.List!(TNFATransition).List"** %tmp212 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
+ %tmp214 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp213, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ %tmp215 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp214 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
+ %"f.exit_state.opCatAssign@vtbl216" = getelementptr %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* %tmp215, i32 0, i32 5 ; <%"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)**> [#uses=1]
+ %f.exit_state.opCatAssign218 = load %"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)** %"f.exit_state.opCatAssign@vtbl216", align 4 ; <%"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)*> [#uses=1]
+ %tmp220 = tail call fastcc %"tango.text.Regex.List!(TNFATransition).List"* %f.exit_state.opCatAssign218(%"tango.text.Regex.List!(TNFATransition).List"* %tmp213, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %.newclass_gc.i350) ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=0]
+ %tmp222 = icmp eq %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %prev.2, null ; <i1> [#uses=1]
+ br i1 %tmp222, label %else225, label %if223
+
+if223: ; preds = %endif181
+ %.newclass_gc_alloc.i307 = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex16__T9TNFAStateTwZ9TNFAState7__ClassZ) ; <i8*> [#uses=6]
+ %.newclass_gc.i308 = bitcast i8* %.newclass_gc_alloc.i307 to %"tango.text.Regex.TNFAState!(dchar).TNFAState"* ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"*> [#uses=3]
+ %vtbl.i309 = bitcast i8* %.newclass_gc_alloc.i307 to %object.ModuleInfo.__vtbl** ; <%object.ModuleInfo.__vtbl**> [#uses=1]
+ store %object.ModuleInfo.__vtbl* @_D5tango4text5Regex16__T9TNFAStateTwZ9TNFAState6__vtblZ, %object.ModuleInfo.__vtbl** %vtbl.i309
+ %monitor.i310 = getelementptr i8* %.newclass_gc_alloc.i307, i32 4 ; <i8*> [#uses=1]
+ %27 = bitcast i8* %monitor.i310 to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %27
+ %tmp.i311 = getelementptr i8* %.newclass_gc_alloc.i307, i32 8 ; <i8*> [#uses=1]
+ tail call void @llvm.memcpy.i32(i8* %tmp.i311, i8* bitcast (i1* getelementptr (%"tango.text.Regex.TNFAState!(dchar).TNFAState"* @_D5tango4text5Regex16__T9TNFAStateTwZ9TNFAState6__initZ, i32 0, i32 2) to i8*), i32 12, i32 1)
+ %tmp1.i.i312 = getelementptr i8* %.newclass_gc_alloc.i307, i32 16 ; <i8*> [#uses=1]
+ %28 = bitcast i8* %tmp1.i.i312 to %"tango.text.Regex.List!(TNFATransition).List"** ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
+ %.newclass_gc_alloc.i.i313 = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7__ClassZ) ; <i8*> [#uses=4]
+ %.newclass_gc.i.i314 = bitcast i8* %.newclass_gc_alloc.i.i313 to %"tango.text.Regex.List!(TNFATransition).List"* ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
+ %vtbl.i.i315 = bitcast i8* %.newclass_gc_alloc.i.i313 to %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ store %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__vtblZ, %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %vtbl.i.i315
+ %monitor.i.i316 = getelementptr i8* %.newclass_gc_alloc.i.i313, i32 4 ; <i8*> [#uses=1]
+ %29 = bitcast i8* %monitor.i.i316 to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %29
+ %tmp2.i.i317 = getelementptr i8* %.newclass_gc_alloc.i.i313, i32 8 ; <i8*> [#uses=1]
+ tail call void @llvm.memcpy.i32(i8* %tmp2.i.i317, i8* bitcast (i32* getelementptr (%"tango.text.Regex.List!(TNFATransition).List"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__initZ, i32 0, i32 2) to i8*), i32 12, i32 1)
+ store %"tango.text.Regex.List!(TNFATransition).List"* %.newclass_gc.i.i314, %"tango.text.Regex.List!(TNFATransition).List"** %28
+ %tmp6.i318 = getelementptr i8* %.newclass_gc_alloc.i307, i32 12 ; <i8*> [#uses=1]
+ %30 = bitcast i8* %tmp6.i318 to i32* ; <i32*> [#uses=1]
+ %tmp9.i319 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 3, i32 0 ; <i32*> [#uses=2]
+ %.len.i320 = load i32* %tmp9.i319 ; <i32> [#uses=4]
+ store i32 %.len.i320, i32* %30
+ %tmp14.i321 = add i32 %.len.i320, 1 ; <i32> [#uses=2]
+ %tmp17.i322 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 3, i32 1 ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"***> [#uses=2]
+ %.ptr.i323 = load %"tango.text.Regex.TNFAState!(dchar).TNFAState"*** %tmp17.i322 ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"**> [#uses=1]
+ %tmp18.i324 = bitcast %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %.ptr.i323 to i8* ; <i8*> [#uses=1]
+ %.gc_mem.i325 = tail call i8* @_d_arraysetlengthT(%object.TypeInfo* bitcast (%object.TypeInfo_Array* @_D56TypeInfo_AC5tango4text5Regex16__T9TNFAStateTwZ9TNFAState6__initZ to %object.TypeInfo*), i32 %tmp14.i321, i32 %.len.i320, i8* %tmp18.i324) ; <i8*> [#uses=1]
+ %.gc_mem19.i326 = bitcast i8* %.gc_mem.i325 to %"tango.text.Regex.TNFAState!(dchar).TNFAState"** ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"**> [#uses=2]
+ %tmp20.i327 = getelementptr %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %.gc_mem19.i326, i32 %.len.i320 ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"**> [#uses=1]
+ store %"tango.text.Regex.TNFAState!(dchar).TNFAState"* %.newclass_gc.i308, %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %tmp20.i327
+ store i32 %tmp14.i321, i32* %tmp9.i319
+ store %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %.gc_mem19.i326, %"tango.text.Regex.TNFAState!(dchar).TNFAState"*** %tmp17.i322
+ %tmp229 = getelementptr %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %prev.2, i32 0, i32 0 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"**> [#uses=1]
+ %tmp230 = load %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"** %tmp229 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"*> [#uses=1]
+ %"prev.setExit@vtbl231" = getelementptr %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"* %tmp230, i32 0, i32 6 ; <void (%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*, %"tango.text.Regex.TNFAState!(dchar).TNFAState"*)**> [#uses=1]
+ %prev.setExit233 = load void (%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*, %"tango.text.Regex.TNFAState!(dchar).TNFAState"*)** %"prev.setExit@vtbl231", align 4 ; <void (%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*, %"tango.text.Regex.TNFAState!(dchar).TNFAState"*)*> [#uses=1]
+ tail call fastcc void %prev.setExit233(%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %prev.2, %"tango.text.Regex.TNFAState!(dchar).TNFAState"* %.newclass_gc.i308)
+ %tmp236 = getelementptr %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %f175.0, i32 0, i32 0 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"**> [#uses=1]
+ %tmp237 = load %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"** %tmp236 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"*> [#uses=1]
+ %"f.setEntry@vtbl238" = getelementptr %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"* %tmp237, i32 0, i32 5 ; <void (%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*, %"tango.text.Regex.TNFAState!(dchar).TNFAState"*)**> [#uses=1]
+ %f.setEntry240 = load void (%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*, %"tango.text.Regex.TNFAState!(dchar).TNFAState"*)** %"f.setEntry@vtbl238", align 4 ; <void (%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*, %"tango.text.Regex.TNFAState!(dchar).TNFAState"*)*> [#uses=1]
+ tail call fastcc void %f.setEntry240(%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %f175.0, %"tango.text.Regex.TNFAState!(dchar).TNFAState"* %.newclass_gc.i308)
+ br label %endif224
+
+else225: ; preds = %endif181
+ %tmp246 = load %"tango.text.Regex.List!(TNFATransition).List"** %tmp202 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
+ store %"tango.text.Regex.List!(TNFATransition).List"* %tmp246, %"tango.text.Regex.List!(TNFATransition).List"** %2
+ %tmp250 = getelementptr %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %f175.0, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
+ %tmp251 = load %"tango.text.Regex.List!(TNFATransition).List"** %tmp250 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
+ store %"tango.text.Regex.List!(TNFATransition).List"* %tmp251, %"tango.text.Regex.List!(TNFATransition).List"** %6
+ br label %endif224
+
+endif224: ; preds = %else225, %if223
+ %tmp254 = add i32 %i170.0, 1 ; <i32> [#uses=1]
+ br label %forcond166
+
+endfor169: ; preds = %forcond166
+ %tmp258 = getelementptr %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %prev.2, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
+ %tmp259 = load %"tango.text.Regex.List!(TNFATransition).List"** %tmp258 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
+ store %"tango.text.Regex.List!(TNFATransition).List"* %tmp259, %"tango.text.Regex.List!(TNFATransition).List"** %4
+ %tmp263 = getelementptr %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %prev.2, i32 0, i32 5 ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
+ %tmp264 = load %"tango.text.Regex.List!(TNFATransition).List"** %tmp263 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
+ store %"tango.text.Regex.List!(TNFATransition).List"* %tmp264, %"tango.text.Regex.List!(TNFATransition).List"** %8
+ %tmp267 = load %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"** %tmp1 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"*> [#uses=1]
+ %"frags.pop@vtbl" = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"* %tmp267, i32 0, i32 16 ; <void (%"tango.text.Regex.List!(TNFAFragment).List"*)**> [#uses=1]
+ %frags.pop = load void (%"tango.text.Regex.List!(TNFAFragment).List"*)** %"frags.pop@vtbl", align 4 ; <void (%"tango.text.Regex.List!(TNFAFragment).List"*)*> [#uses=1]
+ tail call fastcc void %frags.pop(%"tango.text.Regex.List!(TNFAFragment).List"* %frags_arg)
+ %tmp271 = load %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"** %tmp1 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"*> [#uses=1]
+ %"frags.opCatAssign@vtbl" = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"* %tmp271, i32 0, i32 5 ; <%"tango.text.Regex.List!(TNFAFragment).List"* (%"tango.text.Regex.List!(TNFAFragment).List"*, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*)**> [#uses=1]
+ %frags.opCatAssign = load %"tango.text.Regex.List!(TNFAFragment).List"* (%"tango.text.Regex.List!(TNFAFragment).List"*, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*)** %"frags.opCatAssign@vtbl", align 4 ; <%"tango.text.Regex.List!(TNFAFragment).List"* (%"tango.text.Regex.List!(TNFAFragment).List"*, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*)*> [#uses=1]
+ %tmp274 = tail call fastcc %"tango.text.Regex.List!(TNFAFragment).List"* %frags.opCatAssign(%"tango.text.Regex.List!(TNFAFragment).List"* %frags_arg, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %.newclass_gc35) ; <%"tango.text.Regex.List!(TNFAFragment).List"*> [#uses=0]
+ ret void
+}
+
+define weak_odr fastcc void @_D5tango4text5Regex11__T4TNFATwZ4TNFA15constructAlternMFC5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4ListZv(%"tango.text.Regex.TNFA!(dchar).TNFA"* nocapture %.this_arg, %"tango.text.Regex.List!(TNFAFragment).List"* %frags_arg) {
+entry:
+ %tmp1 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %frags_arg, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"**> [#uses=4]
+ %tmp2 = load %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"** %tmp1 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"*> [#uses=1]
+ %"frags.empty@vtbl" = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"* %tmp2, i32 0, i32 14 ; <i1 (%"tango.text.Regex.List!(TNFAFragment).List"*)**> [#uses=1]
+ %frags.empty = load i1 (%"tango.text.Regex.List!(TNFAFragment).List"*)** %"frags.empty@vtbl", align 4 ; <i1 (%"tango.text.Regex.List!(TNFAFragment).List"*)*> [#uses=1]
+ %tmp4 = tail call fastcc i1 %frags.empty(%"tango.text.Regex.List!(TNFAFragment).List"* %frags_arg) ; <i1> [#uses=1]
+ br i1 %tmp4, label %if, label %oror
+
+oror: ; preds = %entry
+ %tmp6 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %frags_arg, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=1]
+ %tmp8 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %frags_arg, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=2]
+ %tmp9 = load %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp6 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=1]
+ %tmp10 = load %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp8 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=1]
+ %tmp11 = icmp eq %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp9, %tmp10 ; <i1> [#uses=1]
+ br i1 %tmp11, label %if, label %endif
+
+if: ; preds = %oror, %entry
+ %.newclass_gc_alloc = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex15RegExpException7__ClassZ) ; <i8*> [#uses=5]
+ %.newclass_gc = bitcast i8* %.newclass_gc_alloc to %object.Exception* ; <%object.Exception*> [#uses=1]
+ %vtbl = bitcast i8* %.newclass_gc_alloc to %object.Exception.__vtbl** ; <%object.Exception.__vtbl**> [#uses=1]
+ store %object.Exception.__vtbl* @_D5tango4text5Regex15RegExpException6__vtblZ, %object.Exception.__vtbl** %vtbl
+ %monitor = getelementptr i8* %.newclass_gc_alloc, i32 4 ; <i8*> [#uses=1]
+ %0 = bitcast i8* %monitor to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %0
+ %tmp12 = getelementptr i8* %.newclass_gc_alloc, i32 8 ; <i8*> [#uses=1]
+ tail call void @llvm.memcpy.i32(i8* %tmp12, i8* bitcast (%"byte[]"* getelementptr (%object.Exception* bitcast (%28* @_D5tango4text5Regex15RegExpException6__initZ to %object.Exception*), i32 0, i32 2) to i8*), i32 28, i32 1)
+ %tmp18 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 2, i32 1 ; <i32**> [#uses=1]
+ %.ptr = load i32** %tmp18 ; <i32*> [#uses=1]
+ %tmp20 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 7 ; <i32*> [#uses=1]
+ %tmp21 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 2, i32 0 ; <i32*> [#uses=1]
+ %.len = load i32* %tmp21 ; <i32> [#uses=1]
+ %tmp22 = load i32* %tmp20 ; <i32> [#uses=2]
+ %tmp23 = getelementptr i32* %.ptr, i32 %tmp22 ; <i32*> [#uses=1]
+ %tmp24 = sub i32 %.len, %tmp22 ; <i32> [#uses=1]
+ %tmp25 = insertvalue %"Act[]" undef, i32 %tmp24, 0 ; <%"Act[]"> [#uses=1]
+ %tmp26 = insertvalue %"Act[]" %tmp25, i32* %tmp23, 1 ; <%"Act[]"> [#uses=1]
+ %tmp27 = tail call fastcc %"byte[]" @_D5tango4text7convert3Utf8toStringFAwAaPkZAa(%"Act[]" %tmp26, %"byte[]" zeroinitializer, i32* null) ; <%"byte[]"> [#uses=2]
+ %.len28 = extractvalue %"byte[]" %tmp27, 0 ; <i32> [#uses=4]
+ %tmp29 = add i32 %.len28, 28 ; <i32> [#uses=3]
+ %.nongc_mem = alloca i8, i32 %tmp29, align 1 ; <i8*> [#uses=3]
+ %.ptr30 = extractvalue %"byte[]" %tmp27, 1 ; <i8*> [#uses=1]
+ tail call void @llvm.memcpy.i32(i8* %.nongc_mem, i8* getelementptr ([29 x i8]* @.str239, i32 0, i32 0), i32 28, i32 1)
+ %tmp31 = getelementptr i8* %.nongc_mem, i32 28 ; <i8*> [#uses=1]
+ tail call void @llvm.memcpy.i32(i8* %tmp31, i8* %.ptr30, i32 %.len28, i32 1)
+ %tmp33 = add i32 %.len28, 29 ; <i32> [#uses=2]
+ %.nongc_mem168 = alloca i8, i32 %tmp33, align 1 ; <i8*> [#uses=3]
+ tail call void @llvm.memcpy.i32(i8* %.nongc_mem168, i8* %.nongc_mem, i32 %tmp29, i32 1)
+ %tmp36 = getelementptr i8* %.nongc_mem168, i32 %tmp29 ; <i8*> [#uses=1]
+ store i8 34, i8* %tmp36, align 1
+ %tmp2.i = add i32 %.len28, 37 ; <i32> [#uses=2]
+ %.gc_mem.i = tail call noalias i8* @_d_newarrayvT(%object.TypeInfo* @_D11TypeInfo_Aa6__initZ, i32 %tmp2.i) ; <i8*> [#uses=3]
+ %.gc_mem12.i = bitcast i8* %.gc_mem.i to i64* ; <i64*> [#uses=1]
+ %tmp.i = load i64* bitcast ([9 x i8]* @.str280 to i64*), align 8 ; <i64> [#uses=1]
+ store i64 %tmp.i, i64* %.gc_mem12.i, align 1
+ %tmp4.i = getelementptr i8* %.gc_mem.i, i32 8 ; <i8*> [#uses=1]
+ tail call void @llvm.memcpy.i32(i8* %tmp4.i, i8* %.nongc_mem168, i32 %tmp33, i32 1)
+ %tmp6.i = insertvalue %"byte[]" undef, i32 %tmp2.i, 0 ; <%"byte[]"> [#uses=1]
+ %tmp7.i = insertvalue %"byte[]" %tmp6.i, i8* %.gc_mem.i, 1 ; <%"byte[]"> [#uses=1]
+ %tmp8.i = tail call fastcc %object.Exception* @_D6object9Exception5_ctorMFAaC9ExceptionZC9Exception(%object.Exception* %.newclass_gc, %"byte[]" %tmp7.i, %object.Exception* null) ; <%object.Exception*> [#uses=0]
+ %tmp40 = bitcast i8* %.newclass_gc_alloc to %object.Object* ; <%object.Object*> [#uses=1]
+ tail call void @_d_throw_exception(%object.Object* %tmp40)
+ unreachable
+
+endif: ; preds = %oror
+ %.newclass_gc_alloc41 = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment7__ClassZ) ; <i8*> [#uses=7]
+ %.newclass_gc42 = bitcast i8* %.newclass_gc_alloc41 to %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*> [#uses=1]
+ %vtbl43 = bitcast i8* %.newclass_gc_alloc41 to %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"** ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"**> [#uses=1]
+ store %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"* @_D5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment6__vtblZ, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"** %vtbl43
+ %monitor44 = getelementptr i8* %.newclass_gc_alloc41, i32 4 ; <i8*> [#uses=1]
+ %1 = bitcast i8* %monitor44 to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %1
+ %tmp45 = getelementptr i8* %.newclass_gc_alloc41, i32 8 ; <i8*> [#uses=2]
+ tail call void @llvm.memcpy.i32(i8* %tmp45, i8* bitcast (%"tango.text.Regex.List!(TNFATransition).List"** getelementptr (%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* @_D5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment6__initZ, i32 0, i32 2) to i8*), i32 17, i32 1)
+ %2 = bitcast i8* %tmp45 to %"tango.text.Regex.List!(TNFATransition).List"** ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=3]
+ %.newclass_gc_alloc.i = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7__ClassZ) ; <i8*> [#uses=4]
+ %.newclass_gc.i = bitcast i8* %.newclass_gc_alloc.i to %"tango.text.Regex.List!(TNFATransition).List"* ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
+ %vtbl.i = bitcast i8* %.newclass_gc_alloc.i to %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ store %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__vtblZ, %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %vtbl.i
+ %monitor.i = getelementptr i8* %.newclass_gc_alloc.i, i32 4 ; <i8*> [#uses=1]
+ %3 = bitcast i8* %monitor.i to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %3
+ %tmp2.i166 = getelementptr i8* %.newclass_gc_alloc.i, i32 8 ; <i8*> [#uses=1]
+ tail call void @llvm.memcpy.i32(i8* %tmp2.i166, i8* bitcast (i32* getelementptr (%"tango.text.Regex.List!(TNFATransition).List"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__initZ, i32 0, i32 2) to i8*), i32 12, i32 1)
+ store %"tango.text.Regex.List!(TNFATransition).List"* %.newclass_gc.i, %"tango.text.Regex.List!(TNFATransition).List"** %2
+ %tmp7.i167 = getelementptr i8* %.newclass_gc_alloc41, i32 12 ; <i8*> [#uses=1]
+ %4 = bitcast i8* %tmp7.i167 to %"tango.text.Regex.List!(TNFATransition).List"** ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=3]
+ %.newclass_gc_alloc8.i = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7__ClassZ) ; <i8*> [#uses=4]
+ %.newclass_gc9.i = bitcast i8* %.newclass_gc_alloc8.i to %"tango.text.Regex.List!(TNFATransition).List"* ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
+ %vtbl10.i = bitcast i8* %.newclass_gc_alloc8.i to %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ store %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__vtblZ, %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %vtbl10.i
+ %monitor11.i = getelementptr i8* %.newclass_gc_alloc8.i, i32 4 ; <i8*> [#uses=1]
+ %5 = bitcast i8* %monitor11.i to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %5
+ %tmp12.i = getelementptr i8* %.newclass_gc_alloc8.i, i32 8 ; <i8*> [#uses=1]
+ tail call void @llvm.memcpy.i32(i8* %tmp12.i, i8* bitcast (i32* getelementptr (%"tango.text.Regex.List!(TNFATransition).List"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__initZ, i32 0, i32 2) to i8*), i32 12, i32 1)
+ store %"tango.text.Regex.List!(TNFATransition).List"* %.newclass_gc9.i, %"tango.text.Regex.List!(TNFATransition).List"** %4
+ %tmp17.i = getelementptr i8* %.newclass_gc_alloc41, i32 16 ; <i8*> [#uses=1]
+ %6 = bitcast i8* %tmp17.i to %"tango.text.Regex.List!(TNFATransition).List"** ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=3]
+ %.newclass_gc_alloc18.i = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7__ClassZ) ; <i8*> [#uses=4]
+ %.newclass_gc19.i = bitcast i8* %.newclass_gc_alloc18.i to %"tango.text.Regex.List!(TNFATransition).List"* ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
+ %vtbl20.i = bitcast i8* %.newclass_gc_alloc18.i to %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ store %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__vtblZ, %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %vtbl20.i
+ %monitor21.i = getelementptr i8* %.newclass_gc_alloc18.i, i32 4 ; <i8*> [#uses=1]
+ %7 = bitcast i8* %monitor21.i to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %7
+ %tmp22.i = getelementptr i8* %.newclass_gc_alloc18.i, i32 8 ; <i8*> [#uses=1]
+ tail call void @llvm.memcpy.i32(i8* %tmp22.i, i8* bitcast (i32* getelementptr (%"tango.text.Regex.List!(TNFATransition).List"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__initZ, i32 0, i32 2) to i8*), i32 12, i32 1)
+ store %"tango.text.Regex.List!(TNFATransition).List"* %.newclass_gc19.i, %"tango.text.Regex.List!(TNFATransition).List"** %6
+ %tmp27.i = getelementptr i8* %.newclass_gc_alloc41, i32 20 ; <i8*> [#uses=1]
+ %8 = bitcast i8* %tmp27.i to %"tango.text.Regex.List!(TNFATransition).List"** ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=3]
+ %.newclass_gc_alloc28.i = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7__ClassZ) ; <i8*> [#uses=4]
+ %.newclass_gc29.i = bitcast i8* %.newclass_gc_alloc28.i to %"tango.text.Regex.List!(TNFATransition).List"* ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
+ %vtbl30.i = bitcast i8* %.newclass_gc_alloc28.i to %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ store %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__vtblZ, %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %vtbl30.i
+ %monitor31.i = getelementptr i8* %.newclass_gc_alloc28.i, i32 4 ; <i8*> [#uses=1]
+ %9 = bitcast i8* %monitor31.i to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %9
+ %tmp32.i = getelementptr i8* %.newclass_gc_alloc28.i, i32 8 ; <i8*> [#uses=1]
+ tail call void @llvm.memcpy.i32(i8* %tmp32.i, i8* bitcast (i32* getelementptr (%"tango.text.Regex.List!(TNFATransition).List"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__initZ, i32 0, i32 2) to i8*), i32 12, i32 1)
+ store %"tango.text.Regex.List!(TNFATransition).List"* %.newclass_gc29.i, %"tango.text.Regex.List!(TNFATransition).List"** %8
+ %tmp52 = load %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp8 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=2]
+ %tmp53 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp52, i32 0, i32 2 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"**> [#uses=1]
+ %tmp54 = load %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"** %tmp53 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*> [#uses=4]
+ %tmp58 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp52, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=1]
+ %tmp59 = load %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp58 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=1]
+ %tmp60 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp59, i32 0, i32 2 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"**> [#uses=1]
+ %tmp61 = load %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"** %tmp60 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*> [#uses=4]
+ %tmp64 = load %"tango.text.Regex.List!(TNFATransition).List"** %6 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
+ %tmp65 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp64, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ %tmp66 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp65 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
+ %"frag.entry_state.opCatAssign@vtbl" = getelementptr %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* %tmp66, i32 0, i32 8 ; <%"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.List!(TNFATransition).List"*)**> [#uses=1]
+ %frag.entry_state.opCatAssign = load %"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.List!(TNFATransition).List"*)** %"frag.entry_state.opCatAssign@vtbl", align 4 ; <%"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.List!(TNFATransition).List"*)*> [#uses=1]
+ %tmp69 = getelementptr %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %tmp61, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
+ %tmp70 = load %"tango.text.Regex.List!(TNFATransition).List"** %tmp69 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
+ %tmp71 = tail call fastcc %"tango.text.Regex.List!(TNFATransition).List"* %frag.entry_state.opCatAssign(%"tango.text.Regex.List!(TNFATransition).List"* %tmp64, %"tango.text.Regex.List!(TNFATransition).List"* %tmp70) ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=0]
+ %tmp74 = load %"tango.text.Regex.List!(TNFATransition).List"** %6 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
+ %tmp75 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp74, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ %tmp76 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp75 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
+ %"frag.entry_state.opCatAssign@vtbl77" = getelementptr %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* %tmp76, i32 0, i32 8 ; <%"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.List!(TNFATransition).List"*)**> [#uses=1]
+ %frag.entry_state.opCatAssign79 = load %"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.List!(TNFATransition).List"*)** %"frag.entry_state.opCatAssign@vtbl77", align 4 ; <%"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.List!(TNFATransition).List"*)*> [#uses=1]
+ %tmp81 = getelementptr %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %tmp54, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
+ %tmp82 = load %"tango.text.Regex.List!(TNFATransition).List"** %tmp81 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
+ %tmp83 = tail call fastcc %"tango.text.Regex.List!(TNFATransition).List"* %frag.entry_state.opCatAssign79(%"tango.text.Regex.List!(TNFATransition).List"* %tmp74, %"tango.text.Regex.List!(TNFATransition).List"* %tmp82) ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=0]
+ %tmp86 = load %"tango.text.Regex.List!(TNFATransition).List"** %8 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
+ %tmp87 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp86, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ %tmp88 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp87 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
+ %"frag.exit_state.opCatAssign@vtbl" = getelementptr %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* %tmp88, i32 0, i32 8 ; <%"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.List!(TNFATransition).List"*)**> [#uses=1]
+ %frag.exit_state.opCatAssign = load %"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.List!(TNFATransition).List"*)** %"frag.exit_state.opCatAssign@vtbl", align 4 ; <%"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.List!(TNFATransition).List"*)*> [#uses=1]
+ %tmp91 = getelementptr %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %tmp61, i32 0, i32 5 ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
+ %tmp92 = load %"tango.text.Regex.List!(TNFATransition).List"** %tmp91 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
+ %tmp93 = tail call fastcc %"tango.text.Regex.List!(TNFATransition).List"* %frag.exit_state.opCatAssign(%"tango.text.Regex.List!(TNFATransition).List"* %tmp86, %"tango.text.Regex.List!(TNFATransition).List"* %tmp92) ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=0]
+ %tmp96 = load %"tango.text.Regex.List!(TNFATransition).List"** %8 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
+ %tmp97 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp96, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ %tmp98 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp97 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
+ %"frag.exit_state.opCatAssign@vtbl99" = getelementptr %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* %tmp98, i32 0, i32 8 ; <%"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.List!(TNFATransition).List"*)**> [#uses=1]
+ %frag.exit_state.opCatAssign101 = load %"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.List!(TNFATransition).List"*)** %"frag.exit_state.opCatAssign@vtbl99", align 4 ; <%"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.List!(TNFATransition).List"*)*> [#uses=1]
+ %tmp103 = getelementptr %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %tmp54, i32 0, i32 5 ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
+ %tmp104 = load %"tango.text.Regex.List!(TNFATransition).List"** %tmp103 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
+ %tmp105 = tail call fastcc %"tango.text.Regex.List!(TNFATransition).List"* %frag.exit_state.opCatAssign101(%"tango.text.Regex.List!(TNFATransition).List"* %tmp96, %"tango.text.Regex.List!(TNFATransition).List"* %tmp104) ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=0]
+ %tmp108 = load %"tango.text.Regex.List!(TNFATransition).List"** %2 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
+ %tmp109 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp108, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ %tmp110 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp109 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
+ %"frag.entries.opCatAssign@vtbl" = getelementptr %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* %tmp110, i32 0, i32 8 ; <%"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.List!(TNFATransition).List"*)**> [#uses=1]
+ %frag.entries.opCatAssign = load %"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.List!(TNFATransition).List"*)** %"frag.entries.opCatAssign@vtbl", align 4 ; <%"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.List!(TNFATransition).List"*)*> [#uses=1]
+ %tmp113 = getelementptr %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %tmp61, i32 0, i32 2 ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
+ %tmp114 = load %"tango.text.Regex.List!(TNFATransition).List"** %tmp113 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
+ %tmp115 = tail call fastcc %"tango.text.Regex.List!(TNFATransition).List"* %frag.entries.opCatAssign(%"tango.text.Regex.List!(TNFATransition).List"* %tmp108, %"tango.text.Regex.List!(TNFATransition).List"* %tmp114) ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=0]
+ %tmp118 = load %"tango.text.Regex.List!(TNFATransition).List"** %2 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
+ %tmp119 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp118, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ %tmp120 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp119 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
+ %"frag.entries.opCatAssign@vtbl121" = getelementptr %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* %tmp120, i32 0, i32 8 ; <%"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.List!(TNFATransition).List"*)**> [#uses=1]
+ %frag.entries.opCatAssign123 = load %"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.List!(TNFATransition).List"*)** %"frag.entries.opCatAssign@vtbl121", align 4 ; <%"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.List!(TNFATransition).List"*)*> [#uses=1]
+ %tmp125 = getelementptr %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %tmp54, i32 0, i32 2 ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
+ %tmp126 = load %"tango.text.Regex.List!(TNFATransition).List"** %tmp125 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
+ %tmp127 = tail call fastcc %"tango.text.Regex.List!(TNFATransition).List"* %frag.entries.opCatAssign123(%"tango.text.Regex.List!(TNFATransition).List"* %tmp118, %"tango.text.Regex.List!(TNFATransition).List"* %tmp126) ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=0]
+ %tmp130 = load %"tango.text.Regex.List!(TNFATransition).List"** %4 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
+ %tmp131 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp130, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ %tmp132 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp131 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
+ %"frag.exits.opCatAssign@vtbl" = getelementptr %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* %tmp132, i32 0, i32 8 ; <%"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.List!(TNFATransition).List"*)**> [#uses=1]
+ %frag.exits.opCatAssign = load %"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.List!(TNFATransition).List"*)** %"frag.exits.opCatAssign@vtbl", align 4 ; <%"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.List!(TNFATransition).List"*)*> [#uses=1]
+ %tmp135 = getelementptr %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %tmp61, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
+ %tmp136 = load %"tango.text.Regex.List!(TNFATransition).List"** %tmp135 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
+ %tmp137 = tail call fastcc %"tango.text.Regex.List!(TNFATransition).List"* %frag.exits.opCatAssign(%"tango.text.Regex.List!(TNFATransition).List"* %tmp130, %"tango.text.Regex.List!(TNFATransition).List"* %tmp136) ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=0]
+ %tmp140 = load %"tango.text.Regex.List!(TNFATransition).List"** %4 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
+ %tmp141 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp140, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ %tmp142 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp141 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
+ %"frag.exits.opCatAssign@vtbl143" = getelementptr %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* %tmp142, i32 0, i32 8 ; <%"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.List!(TNFATransition).List"*)**> [#uses=1]
+ %frag.exits.opCatAssign145 = load %"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.List!(TNFATransition).List"*)** %"frag.exits.opCatAssign@vtbl143", align 4 ; <%"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.List!(TNFATransition).List"*)*> [#uses=1]
+ %tmp147 = getelementptr %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %tmp54, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
+ %tmp148 = load %"tango.text.Regex.List!(TNFATransition).List"** %tmp147 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
+ %tmp149 = tail call fastcc %"tango.text.Regex.List!(TNFATransition).List"* %frag.exits.opCatAssign145(%"tango.text.Regex.List!(TNFATransition).List"* %tmp140, %"tango.text.Regex.List!(TNFATransition).List"* %tmp148) ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=0]
+ %tmp152 = load %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"** %tmp1 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"*> [#uses=1]
+ %"frags.pop@vtbl" = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"* %tmp152, i32 0, i32 16 ; <void (%"tango.text.Regex.List!(TNFAFragment).List"*)**> [#uses=1]
+ %frags.pop = load void (%"tango.text.Regex.List!(TNFAFragment).List"*)** %"frags.pop@vtbl", align 4 ; <void (%"tango.text.Regex.List!(TNFAFragment).List"*)*> [#uses=1]
+ tail call fastcc void %frags.pop(%"tango.text.Regex.List!(TNFAFragment).List"* %frags_arg)
+ %tmp156 = load %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"** %tmp1 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"*> [#uses=1]
+ %"frags.pop@vtbl157" = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"* %tmp156, i32 0, i32 16 ; <void (%"tango.text.Regex.List!(TNFAFragment).List"*)**> [#uses=1]
+ %frags.pop159 = load void (%"tango.text.Regex.List!(TNFAFragment).List"*)** %"frags.pop@vtbl157", align 4 ; <void (%"tango.text.Regex.List!(TNFAFragment).List"*)*> [#uses=1]
+ tail call fastcc void %frags.pop159(%"tango.text.Regex.List!(TNFAFragment).List"* %frags_arg)
+ %tmp162 = load %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"** %tmp1 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"*> [#uses=1]
+ %"frags.opCatAssign@vtbl" = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"* %tmp162, i32 0, i32 5 ; <%"tango.text.Regex.List!(TNFAFragment).List"* (%"tango.text.Regex.List!(TNFAFragment).List"*, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*)**> [#uses=1]
+ %frags.opCatAssign = load %"tango.text.Regex.List!(TNFAFragment).List"* (%"tango.text.Regex.List!(TNFAFragment).List"*, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*)** %"frags.opCatAssign@vtbl", align 4 ; <%"tango.text.Regex.List!(TNFAFragment).List"* (%"tango.text.Regex.List!(TNFAFragment).List"*, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*)*> [#uses=1]
+ %tmp165 = tail call fastcc %"tango.text.Regex.List!(TNFAFragment).List"* %frags.opCatAssign(%"tango.text.Regex.List!(TNFAFragment).List"* %frags_arg, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %.newclass_gc42) ; <%"tango.text.Regex.List!(TNFAFragment).List"*> [#uses=0]
+ ret void
+}
+
+define weak_odr fastcc void @_D5tango4text5Regex11__T4TNFATwZ4TNFA15constructConcatMFC5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4ListZv(%"tango.text.Regex.TNFA!(dchar).TNFA"* nocapture %.this_arg, %"tango.text.Regex.List!(TNFAFragment).List"* %frags_arg) {
+entry:
+ %tmp1 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %frags_arg, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"**> [#uses=4]
+ %tmp2 = load %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"** %tmp1 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"*> [#uses=1]
+ %"frags.empty@vtbl" = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"* %tmp2, i32 0, i32 14 ; <i1 (%"tango.text.Regex.List!(TNFAFragment).List"*)**> [#uses=1]
+ %frags.empty = load i1 (%"tango.text.Regex.List!(TNFAFragment).List"*)** %"frags.empty@vtbl", align 4 ; <i1 (%"tango.text.Regex.List!(TNFAFragment).List"*)*> [#uses=1]
+ %tmp4 = tail call fastcc i1 %frags.empty(%"tango.text.Regex.List!(TNFAFragment).List"* %frags_arg) ; <i1> [#uses=1]
+ br i1 %tmp4, label %if, label %oror
+
+oror: ; preds = %entry
+ %tmp6 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %frags_arg, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=1]
+ %tmp8 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %frags_arg, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=1]
+ %tmp9 = load %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp6 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=1]
+ %tmp10 = load %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp8 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=3]
+ %tmp11 = icmp eq %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp9, %tmp10 ; <i1> [#uses=1]
+ br i1 %tmp11, label %if, label %endif
+
+if: ; preds = %oror, %entry
+ %.newclass_gc_alloc = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex15RegExpException7__ClassZ) ; <i8*> [#uses=5]
+ %.newclass_gc = bitcast i8* %.newclass_gc_alloc to %object.Exception* ; <%object.Exception*> [#uses=1]
+ %vtbl = bitcast i8* %.newclass_gc_alloc to %object.Exception.__vtbl** ; <%object.Exception.__vtbl**> [#uses=1]
+ store %object.Exception.__vtbl* @_D5tango4text5Regex15RegExpException6__vtblZ, %object.Exception.__vtbl** %vtbl
+ %monitor = getelementptr i8* %.newclass_gc_alloc, i32 4 ; <i8*> [#uses=1]
+ %0 = bitcast i8* %monitor to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %0
+ %tmp12 = getelementptr i8* %.newclass_gc_alloc, i32 8 ; <i8*> [#uses=1]
+ tail call void @llvm.memcpy.i32(i8* %tmp12, i8* bitcast (%"byte[]"* getelementptr (%object.Exception* bitcast (%28* @_D5tango4text5Regex15RegExpException6__initZ to %object.Exception*), i32 0, i32 2) to i8*), i32 28, i32 1)
+ %tmp18 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 2, i32 1 ; <i32**> [#uses=1]
+ %.ptr = load i32** %tmp18 ; <i32*> [#uses=1]
+ %tmp20 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 7 ; <i32*> [#uses=1]
+ %tmp21 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 2, i32 0 ; <i32*> [#uses=1]
+ %.len = load i32* %tmp21 ; <i32> [#uses=1]
+ %tmp22 = load i32* %tmp20 ; <i32> [#uses=2]
+ %tmp23 = getelementptr i32* %.ptr, i32 %tmp22 ; <i32*> [#uses=1]
+ %tmp24 = sub i32 %.len, %tmp22 ; <i32> [#uses=1]
+ %tmp25 = insertvalue %"Act[]" undef, i32 %tmp24, 0 ; <%"Act[]"> [#uses=1]
+ %tmp26 = insertvalue %"Act[]" %tmp25, i32* %tmp23, 1 ; <%"Act[]"> [#uses=1]
+ %tmp27 = tail call fastcc %"byte[]" @_D5tango4text7convert3Utf8toStringFAwAaPkZAa(%"Act[]" %tmp26, %"byte[]" zeroinitializer, i32* null) ; <%"byte[]"> [#uses=2]
+ %.len28 = extractvalue %"byte[]" %tmp27, 0 ; <i32> [#uses=4]
+ %tmp29 = add i32 %.len28, 39 ; <i32> [#uses=3]
+ %.nongc_mem = alloca i8, i32 %tmp29, align 1 ; <i8*> [#uses=3]
+ %.ptr30 = extractvalue %"byte[]" %tmp27, 1 ; <i8*> [#uses=1]
+ tail call void @llvm.memcpy.i32(i8* %.nongc_mem, i8* getelementptr ([40 x i8]* @.str241, i32 0, i32 0), i32 39, i32 1)
+ %tmp31 = getelementptr i8* %.nongc_mem, i32 39 ; <i8*> [#uses=1]
+ tail call void @llvm.memcpy.i32(i8* %tmp31, i8* %.ptr30, i32 %.len28, i32 1)
+ %tmp33 = add i32 %.len28, 40 ; <i32> [#uses=2]
+ %.nongc_mem140 = alloca i8, i32 %tmp33, align 1 ; <i8*> [#uses=3]
+ tail call void @llvm.memcpy.i32(i8* %.nongc_mem140, i8* %.nongc_mem, i32 %tmp29, i32 1)
+ %tmp36 = getelementptr i8* %.nongc_mem140, i32 %tmp29 ; <i8*> [#uses=1]
+ store i8 34, i8* %tmp36, align 1
+ %tmp2.i = add i32 %.len28, 48 ; <i32> [#uses=2]
+ %.gc_mem.i = tail call noalias i8* @_d_newarrayvT(%object.TypeInfo* @_D11TypeInfo_Aa6__initZ, i32 %tmp2.i) ; <i8*> [#uses=3]
+ %.gc_mem12.i = bitcast i8* %.gc_mem.i to i64* ; <i64*> [#uses=1]
+ %tmp.i = load i64* bitcast ([9 x i8]* @.str280 to i64*), align 8 ; <i64> [#uses=1]
+ store i64 %tmp.i, i64* %.gc_mem12.i, align 1
+ %tmp4.i = getelementptr i8* %.gc_mem.i, i32 8 ; <i8*> [#uses=1]
+ tail call void @llvm.memcpy.i32(i8* %tmp4.i, i8* %.nongc_mem140, i32 %tmp33, i32 1)
+ %tmp6.i = insertvalue %"byte[]" undef, i32 %tmp2.i, 0 ; <%"byte[]"> [#uses=1]
+ %tmp7.i = insertvalue %"byte[]" %tmp6.i, i8* %.gc_mem.i, 1 ; <%"byte[]"> [#uses=1]
+ %tmp8.i = tail call fastcc %object.Exception* @_D6object9Exception5_ctorMFAaC9ExceptionZC9Exception(%object.Exception* %.newclass_gc, %"byte[]" %tmp7.i, %object.Exception* null) ; <%object.Exception*> [#uses=0]
+ %tmp40 = bitcast i8* %.newclass_gc_alloc to %object.Object* ; <%object.Object*> [#uses=1]
+ tail call void @_d_throw_exception(%object.Object* %tmp40)
+ unreachable
+
+endif: ; preds = %oror
+ %tmp44 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp10, i32 0, i32 2 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"**> [#uses=1]
+ %tmp45 = load %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"** %tmp44 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*> [#uses=4]
+ %tmp49 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp10, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=1]
+ %tmp50 = load %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp49 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=1]
+ %tmp51 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp50, i32 0, i32 2 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"**> [#uses=1]
+ %tmp52 = load %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"** %tmp51 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*> [#uses=4]
+ %.newclass_gc_alloc.i = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex16__T9TNFAStateTwZ9TNFAState7__ClassZ) ; <i8*> [#uses=6]
+ %.newclass_gc.i = bitcast i8* %.newclass_gc_alloc.i to %"tango.text.Regex.TNFAState!(dchar).TNFAState"* ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"*> [#uses=3]
+ %vtbl.i = bitcast i8* %.newclass_gc_alloc.i to %object.ModuleInfo.__vtbl** ; <%object.ModuleInfo.__vtbl**> [#uses=1]
+ store %object.ModuleInfo.__vtbl* @_D5tango4text5Regex16__T9TNFAStateTwZ9TNFAState6__vtblZ, %object.ModuleInfo.__vtbl** %vtbl.i
+ %monitor.i = getelementptr i8* %.newclass_gc_alloc.i, i32 4 ; <i8*> [#uses=1]
+ %1 = bitcast i8* %monitor.i to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %1
+ %tmp.i130 = getelementptr i8* %.newclass_gc_alloc.i, i32 8 ; <i8*> [#uses=1]
+ tail call void @llvm.memcpy.i32(i8* %tmp.i130, i8* bitcast (i1* getelementptr (%"tango.text.Regex.TNFAState!(dchar).TNFAState"* @_D5tango4text5Regex16__T9TNFAStateTwZ9TNFAState6__initZ, i32 0, i32 2) to i8*), i32 12, i32 1)
+ %tmp1.i.i = getelementptr i8* %.newclass_gc_alloc.i, i32 16 ; <i8*> [#uses=1]
+ %2 = bitcast i8* %tmp1.i.i to %"tango.text.Regex.List!(TNFATransition).List"** ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
+ %.newclass_gc_alloc.i.i = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7__ClassZ) ; <i8*> [#uses=4]
+ %.newclass_gc.i.i = bitcast i8* %.newclass_gc_alloc.i.i to %"tango.text.Regex.List!(TNFATransition).List"* ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
+ %vtbl.i.i = bitcast i8* %.newclass_gc_alloc.i.i to %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ store %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__vtblZ, %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %vtbl.i.i
+ %monitor.i.i = getelementptr i8* %.newclass_gc_alloc.i.i, i32 4 ; <i8*> [#uses=1]
+ %3 = bitcast i8* %monitor.i.i to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %3
+ %tmp2.i.i = getelementptr i8* %.newclass_gc_alloc.i.i, i32 8 ; <i8*> [#uses=1]
+ tail call void @llvm.memcpy.i32(i8* %tmp2.i.i, i8* bitcast (i32* getelementptr (%"tango.text.Regex.List!(TNFATransition).List"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__initZ, i32 0, i32 2) to i8*), i32 12, i32 1)
+ store %"tango.text.Regex.List!(TNFATransition).List"* %.newclass_gc.i.i, %"tango.text.Regex.List!(TNFATransition).List"** %2
+ %tmp6.i131 = getelementptr i8* %.newclass_gc_alloc.i, i32 12 ; <i8*> [#uses=1]
+ %4 = bitcast i8* %tmp6.i131 to i32* ; <i32*> [#uses=1]
+ %tmp9.i = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 3, i32 0 ; <i32*> [#uses=2]
+ %.len.i = load i32* %tmp9.i ; <i32> [#uses=4]
+ store i32 %.len.i, i32* %4
+ %tmp14.i = add i32 %.len.i, 1 ; <i32> [#uses=2]
+ %tmp17.i = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 3, i32 1 ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"***> [#uses=2]
+ %.ptr.i = load %"tango.text.Regex.TNFAState!(dchar).TNFAState"*** %tmp17.i ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"**> [#uses=1]
+ %tmp18.i = bitcast %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %.ptr.i to i8* ; <i8*> [#uses=1]
+ %.gc_mem.i132 = tail call i8* @_d_arraysetlengthT(%object.TypeInfo* bitcast (%object.TypeInfo_Array* @_D56TypeInfo_AC5tango4text5Regex16__T9TNFAStateTwZ9TNFAState6__initZ to %object.TypeInfo*), i32 %tmp14.i, i32 %.len.i, i8* %tmp18.i) ; <i8*> [#uses=1]
+ %.gc_mem19.i = bitcast i8* %.gc_mem.i132 to %"tango.text.Regex.TNFAState!(dchar).TNFAState"** ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"**> [#uses=2]
+ %tmp20.i = getelementptr %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %.gc_mem19.i, i32 %.len.i ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"**> [#uses=1]
+ store %"tango.text.Regex.TNFAState!(dchar).TNFAState"* %.newclass_gc.i, %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %tmp20.i
+ store i32 %tmp14.i, i32* %tmp9.i
+ store %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %.gc_mem19.i, %"tango.text.Regex.TNFAState!(dchar).TNFAState"*** %tmp17.i
+ %tmp56 = getelementptr %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %tmp52, i32 0, i32 0 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"**> [#uses=1]
+ %tmp57 = load %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"** %tmp56 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"*> [#uses=1]
+ %"f2.setExit@vtbl" = getelementptr %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"* %tmp57, i32 0, i32 6 ; <void (%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*, %"tango.text.Regex.TNFAState!(dchar).TNFAState"*)**> [#uses=1]
+ %f2.setExit = load void (%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*, %"tango.text.Regex.TNFAState!(dchar).TNFAState"*)** %"f2.setExit@vtbl", align 4 ; <void (%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*, %"tango.text.Regex.TNFAState!(dchar).TNFAState"*)*> [#uses=1]
+ tail call fastcc void %f2.setExit(%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %tmp52, %"tango.text.Regex.TNFAState!(dchar).TNFAState"* %.newclass_gc.i)
+ %tmp61 = getelementptr %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %tmp45, i32 0, i32 0 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"**> [#uses=1]
+ %tmp62 = load %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"** %tmp61 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"*> [#uses=1]
+ %"f1.setEntry@vtbl" = getelementptr %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"* %tmp62, i32 0, i32 5 ; <void (%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*, %"tango.text.Regex.TNFAState!(dchar).TNFAState"*)**> [#uses=1]
+ %f1.setEntry = load void (%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*, %"tango.text.Regex.TNFAState!(dchar).TNFAState"*)** %"f1.setEntry@vtbl", align 4 ; <void (%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*, %"tango.text.Regex.TNFAState!(dchar).TNFAState"*)*> [#uses=1]
+ tail call fastcc void %f1.setEntry(%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %tmp45, %"tango.text.Regex.TNFAState!(dchar).TNFAState"* %.newclass_gc.i)
+ %.newclass_gc_alloc65 = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment7__ClassZ) ; <i8*> [#uses=7]
+ %.newclass_gc66 = bitcast i8* %.newclass_gc_alloc65 to %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*> [#uses=1]
+ %vtbl67 = bitcast i8* %.newclass_gc_alloc65 to %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"** ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"**> [#uses=1]
+ store %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"* @_D5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment6__vtblZ, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"** %vtbl67
+ %monitor68 = getelementptr i8* %.newclass_gc_alloc65, i32 4 ; <i8*> [#uses=1]
+ %5 = bitcast i8* %monitor68 to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %5
+ %tmp69 = getelementptr i8* %.newclass_gc_alloc65, i32 8 ; <i8*> [#uses=2]
+ tail call void @llvm.memcpy.i32(i8* %tmp69, i8* bitcast (%"tango.text.Regex.List!(TNFATransition).List"** getelementptr (%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* @_D5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment6__initZ, i32 0, i32 2) to i8*), i32 17, i32 1)
+ %6 = bitcast i8* %tmp69 to %"tango.text.Regex.List!(TNFATransition).List"** ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=2]
+ %.newclass_gc_alloc.i133 = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7__ClassZ) ; <i8*> [#uses=4]
+ %.newclass_gc.i134 = bitcast i8* %.newclass_gc_alloc.i133 to %"tango.text.Regex.List!(TNFATransition).List"* ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
+ %vtbl.i135 = bitcast i8* %.newclass_gc_alloc.i133 to %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ store %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__vtblZ, %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %vtbl.i135
+ %monitor.i136 = getelementptr i8* %.newclass_gc_alloc.i133, i32 4 ; <i8*> [#uses=1]
+ %7 = bitcast i8* %monitor.i136 to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %7
+ %tmp2.i137 = getelementptr i8* %.newclass_gc_alloc.i133, i32 8 ; <i8*> [#uses=1]
+ tail call void @llvm.memcpy.i32(i8* %tmp2.i137, i8* bitcast (i32* getelementptr (%"tango.text.Regex.List!(TNFATransition).List"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__initZ, i32 0, i32 2) to i8*), i32 12, i32 1)
+ store %"tango.text.Regex.List!(TNFATransition).List"* %.newclass_gc.i134, %"tango.text.Regex.List!(TNFATransition).List"** %6
+ %tmp7.i138 = getelementptr i8* %.newclass_gc_alloc65, i32 12 ; <i8*> [#uses=1]
+ %8 = bitcast i8* %tmp7.i138 to %"tango.text.Regex.List!(TNFATransition).List"** ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=2]
+ %.newclass_gc_alloc8.i = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7__ClassZ) ; <i8*> [#uses=4]
+ %.newclass_gc9.i = bitcast i8* %.newclass_gc_alloc8.i to %"tango.text.Regex.List!(TNFATransition).List"* ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
+ %vtbl10.i = bitcast i8* %.newclass_gc_alloc8.i to %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ store %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__vtblZ, %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %vtbl10.i
+ %monitor11.i = getelementptr i8* %.newclass_gc_alloc8.i, i32 4 ; <i8*> [#uses=1]
+ %9 = bitcast i8* %monitor11.i to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %9
+ %tmp12.i = getelementptr i8* %.newclass_gc_alloc8.i, i32 8 ; <i8*> [#uses=1]
+ tail call void @llvm.memcpy.i32(i8* %tmp12.i, i8* bitcast (i32* getelementptr (%"tango.text.Regex.List!(TNFATransition).List"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__initZ, i32 0, i32 2) to i8*), i32 12, i32 1)
+ store %"tango.text.Regex.List!(TNFATransition).List"* %.newclass_gc9.i, %"tango.text.Regex.List!(TNFATransition).List"** %8
+ %tmp17.i139 = getelementptr i8* %.newclass_gc_alloc65, i32 16 ; <i8*> [#uses=1]
+ %10 = bitcast i8* %tmp17.i139 to %"tango.text.Regex.List!(TNFATransition).List"** ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=2]
+ %.newclass_gc_alloc18.i = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7__ClassZ) ; <i8*> [#uses=4]
+ %.newclass_gc19.i = bitcast i8* %.newclass_gc_alloc18.i to %"tango.text.Regex.List!(TNFATransition).List"* ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
+ %vtbl20.i = bitcast i8* %.newclass_gc_alloc18.i to %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ store %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__vtblZ, %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %vtbl20.i
+ %monitor21.i = getelementptr i8* %.newclass_gc_alloc18.i, i32 4 ; <i8*> [#uses=1]
+ %11 = bitcast i8* %monitor21.i to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %11
+ %tmp22.i = getelementptr i8* %.newclass_gc_alloc18.i, i32 8 ; <i8*> [#uses=1]
+ tail call void @llvm.memcpy.i32(i8* %tmp22.i, i8* bitcast (i32* getelementptr (%"tango.text.Regex.List!(TNFATransition).List"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__initZ, i32 0, i32 2) to i8*), i32 12, i32 1)
+ store %"tango.text.Regex.List!(TNFATransition).List"* %.newclass_gc19.i, %"tango.text.Regex.List!(TNFATransition).List"** %10
+ %tmp27.i = getelementptr i8* %.newclass_gc_alloc65, i32 20 ; <i8*> [#uses=1]
+ %12 = bitcast i8* %tmp27.i to %"tango.text.Regex.List!(TNFATransition).List"** ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=2]
+ %.newclass_gc_alloc28.i = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7__ClassZ) ; <i8*> [#uses=4]
+ %.newclass_gc29.i = bitcast i8* %.newclass_gc_alloc28.i to %"tango.text.Regex.List!(TNFATransition).List"* ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
+ %vtbl30.i = bitcast i8* %.newclass_gc_alloc28.i to %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ store %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__vtblZ, %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %vtbl30.i
+ %monitor31.i = getelementptr i8* %.newclass_gc_alloc28.i, i32 4 ; <i8*> [#uses=1]
+ %13 = bitcast i8* %monitor31.i to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %13
+ %tmp32.i = getelementptr i8* %.newclass_gc_alloc28.i, i32 8 ; <i8*> [#uses=1]
+ tail call void @llvm.memcpy.i32(i8* %tmp32.i, i8* bitcast (i32* getelementptr (%"tango.text.Regex.List!(TNFATransition).List"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__initZ, i32 0, i32 2) to i8*), i32 12, i32 1)
+ store %"tango.text.Regex.List!(TNFATransition).List"* %.newclass_gc29.i, %"tango.text.Regex.List!(TNFATransition).List"** %12
+ %tmp76 = load %"tango.text.Regex.List!(TNFATransition).List"** %6 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
+ %tmp77 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp76, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ %tmp78 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp77 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
+ %"frag.entries.opCatAssign@vtbl" = getelementptr %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* %tmp78, i32 0, i32 8 ; <%"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.List!(TNFATransition).List"*)**> [#uses=1]
+ %frag.entries.opCatAssign = load %"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.List!(TNFATransition).List"*)** %"frag.entries.opCatAssign@vtbl", align 4 ; <%"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.List!(TNFATransition).List"*)*> [#uses=1]
+ %tmp81 = getelementptr %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %tmp52, i32 0, i32 2 ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
+ %tmp82 = load %"tango.text.Regex.List!(TNFATransition).List"** %tmp81 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
+ %tmp83 = tail call fastcc %"tango.text.Regex.List!(TNFATransition).List"* %frag.entries.opCatAssign(%"tango.text.Regex.List!(TNFATransition).List"* %tmp76, %"tango.text.Regex.List!(TNFATransition).List"* %tmp82) ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=0]
+ %tmp86 = load %"tango.text.Regex.List!(TNFATransition).List"** %8 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
+ %tmp87 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp86, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ %tmp88 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp87 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
+ %"frag.exits.opCatAssign@vtbl" = getelementptr %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* %tmp88, i32 0, i32 8 ; <%"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.List!(TNFATransition).List"*)**> [#uses=1]
+ %frag.exits.opCatAssign = load %"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.List!(TNFATransition).List"*)** %"frag.exits.opCatAssign@vtbl", align 4 ; <%"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.List!(TNFATransition).List"*)*> [#uses=1]
+ %tmp91 = getelementptr %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %tmp45, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
+ %tmp92 = load %"tango.text.Regex.List!(TNFATransition).List"** %tmp91 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
+ %tmp93 = tail call fastcc %"tango.text.Regex.List!(TNFATransition).List"* %frag.exits.opCatAssign(%"tango.text.Regex.List!(TNFATransition).List"* %tmp86, %"tango.text.Regex.List!(TNFATransition).List"* %tmp92) ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=0]
+ %tmp96 = load %"tango.text.Regex.List!(TNFATransition).List"** %10 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
+ %tmp97 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp96, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ %tmp98 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp97 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
+ %"frag.entry_state.opCatAssign@vtbl" = getelementptr %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* %tmp98, i32 0, i32 8 ; <%"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.List!(TNFATransition).List"*)**> [#uses=1]
+ %frag.entry_state.opCatAssign = load %"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.List!(TNFATransition).List"*)** %"frag.entry_state.opCatAssign@vtbl", align 4 ; <%"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.List!(TNFATransition).List"*)*> [#uses=1]
+ %tmp101 = getelementptr %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %tmp52, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
+ %tmp102 = load %"tango.text.Regex.List!(TNFATransition).List"** %tmp101 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
+ %tmp103 = tail call fastcc %"tango.text.Regex.List!(TNFATransition).List"* %frag.entry_state.opCatAssign(%"tango.text.Regex.List!(TNFATransition).List"* %tmp96, %"tango.text.Regex.List!(TNFATransition).List"* %tmp102) ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=0]
+ %tmp106 = load %"tango.text.Regex.List!(TNFATransition).List"** %12 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
+ %tmp107 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp106, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ %tmp108 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp107 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
+ %"frag.exit_state.opCatAssign@vtbl" = getelementptr %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* %tmp108, i32 0, i32 8 ; <%"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.List!(TNFATransition).List"*)**> [#uses=1]
+ %frag.exit_state.opCatAssign = load %"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.List!(TNFATransition).List"*)** %"frag.exit_state.opCatAssign@vtbl", align 4 ; <%"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.List!(TNFATransition).List"*)*> [#uses=1]
+ %tmp111 = getelementptr %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %tmp45, i32 0, i32 5 ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
+ %tmp112 = load %"tango.text.Regex.List!(TNFATransition).List"** %tmp111 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
+ %tmp113 = tail call fastcc %"tango.text.Regex.List!(TNFATransition).List"* %frag.exit_state.opCatAssign(%"tango.text.Regex.List!(TNFATransition).List"* %tmp106, %"tango.text.Regex.List!(TNFATransition).List"* %tmp112) ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=0]
+ %tmp116 = load %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"** %tmp1 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"*> [#uses=1]
+ %"frags.pop@vtbl" = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"* %tmp116, i32 0, i32 16 ; <void (%"tango.text.Regex.List!(TNFAFragment).List"*)**> [#uses=1]
+ %frags.pop = load void (%"tango.text.Regex.List!(TNFAFragment).List"*)** %"frags.pop@vtbl", align 4 ; <void (%"tango.text.Regex.List!(TNFAFragment).List"*)*> [#uses=1]
+ tail call fastcc void %frags.pop(%"tango.text.Regex.List!(TNFAFragment).List"* %frags_arg)
+ %tmp120 = load %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"** %tmp1 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"*> [#uses=1]
+ %"frags.pop@vtbl121" = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"* %tmp120, i32 0, i32 16 ; <void (%"tango.text.Regex.List!(TNFAFragment).List"*)**> [#uses=1]
+ %frags.pop123 = load void (%"tango.text.Regex.List!(TNFAFragment).List"*)** %"frags.pop@vtbl121", align 4 ; <void (%"tango.text.Regex.List!(TNFAFragment).List"*)*> [#uses=1]
+ tail call fastcc void %frags.pop123(%"tango.text.Regex.List!(TNFAFragment).List"* %frags_arg)
+ %tmp126 = load %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"** %tmp1 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"*> [#uses=1]
+ %"frags.opCatAssign@vtbl" = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"* %tmp126, i32 0, i32 5 ; <%"tango.text.Regex.List!(TNFAFragment).List"* (%"tango.text.Regex.List!(TNFAFragment).List"*, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*)**> [#uses=1]
+ %frags.opCatAssign = load %"tango.text.Regex.List!(TNFAFragment).List"* (%"tango.text.Regex.List!(TNFAFragment).List"*, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*)** %"frags.opCatAssign@vtbl", align 4 ; <%"tango.text.Regex.List!(TNFAFragment).List"* (%"tango.text.Regex.List!(TNFAFragment).List"*, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*)*> [#uses=1]
+ %tmp129 = tail call fastcc %"tango.text.Regex.List!(TNFAFragment).List"* %frags.opCatAssign(%"tango.text.Regex.List!(TNFAFragment).List"* %frags_arg, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %.newclass_gc66) ; <%"tango.text.Regex.List!(TNFAFragment).List"*> [#uses=0]
+ ret void
+}
+
+declare fastcc %"byte[]" @_D5tango4text5Regex16__T9CharRangeTwZ9CharRange8toStringMFZAa(%tango.net.Socket.timeval*)
+
+declare fastcc i32 @_D5tango4text5Regex16__T9CharRangeTwZ9CharRange8opEqualsMFPS5tango4text5Regex16__T9CharRangeTwZ9CharRangeZi(%tango.net.Socket.timeval* nocapture, %tango.net.Socket.timeval* nocapture) nounwind readonly
+
+declare fastcc i32 @_D5tango4text5Regex16__T9CharRangeTwZ9CharRange5opCmpMFPS5tango4text5Regex16__T9CharRangeTwZ9CharRangeZi(%tango.net.Socket.timeval* nocapture, %tango.net.Socket.timeval* nocapture) nounwind readonly
+
+declare fastcc void @_D5tango4text5Regex16__T9CharClassTwZ9CharClass6negateMFZv(%"tango.text.Regex.CharClass!(dchar).CharClass"*)
+
+declare fastcc void @_D5tango4text5Regex16__T9CharClassTwZ9CharClass8optimizeMFZv(%"tango.text.Regex.CharClass!(dchar).CharClass"*)
+
+define weak_odr fastcc %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* @_D5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransition5_ctorMFE5tango4text5Regex13PriorityClassZC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransition(%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %.this_arg, i32 %pc_arg) nounwind {
+entry:
+ %tmp1 = getelementptr %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %.this_arg, i32 0, i32 6 ; <i32*> [#uses=1]
+ store i32 %pc_arg, i32* %tmp1
+ ret %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %.this_arg
+}
+
+define weak_odr fastcc %"tango.text.Regex.TNFAState!(dchar).TNFAState"* @_D5tango4text5Regex16__T9TNFAStateTwZ9TNFAState5_ctorMFZC5tango4text5Regex16__T9TNFAStateTwZ9TNFAState(%"tango.text.Regex.TNFAState!(dchar).TNFAState"* %.this_arg) {
+entry:
+ %tmp1 = getelementptr %"tango.text.Regex.TNFAState!(dchar).TNFAState"* %.this_arg, i32 0, i32 5 ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
+ %.newclass_gc_alloc = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7__ClassZ) ; <i8*> [#uses=4]
+ %.newclass_gc = bitcast i8* %.newclass_gc_alloc to %"tango.text.Regex.List!(TNFATransition).List"* ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
+ %vtbl = bitcast i8* %.newclass_gc_alloc to %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ store %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__vtblZ, %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %vtbl
+ %monitor = getelementptr i8* %.newclass_gc_alloc, i32 4 ; <i8*> [#uses=1]
+ %0 = bitcast i8* %monitor to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %0
+ %tmp2 = getelementptr i8* %.newclass_gc_alloc, i32 8 ; <i8*> [#uses=1]
+ tail call void @llvm.memcpy.i32(i8* %tmp2, i8* bitcast (i32* getelementptr (%"tango.text.Regex.List!(TNFATransition).List"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__initZ, i32 0, i32 2) to i8*), i32 12, i32 1)
+ store %"tango.text.Regex.List!(TNFATransition).List"* %.newclass_gc, %"tango.text.Regex.List!(TNFATransition).List"** %tmp1
+ ret %"tango.text.Regex.TNFAState!(dchar).TNFAState"* %.this_arg
+}
+
+define weak_odr fastcc %"tango.text.Regex.List!(TNFATransition).List"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List11opCatAssignMFC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZC5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List(%"tango.text.Regex.List!(TNFATransition).List"* %.this_arg, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %v_arg) {
+entry:
+ %tmp1 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %.this_arg, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"**> [#uses=5]
+ %tmp2 = load %"tango.text.Regex.List!(TNFATransition).List.Element"** %tmp1 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"*> [#uses=2]
+ %tmp3 = icmp eq %"tango.text.Regex.List!(TNFATransition).List.Element"* %tmp2, null ; <i1> [#uses=1]
+ br i1 %tmp3, label %if, label %else
+
+if: ; preds = %entry
+ %tmp5 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %.this_arg, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"**> [#uses=1]
+ %.newclass_gc_alloc = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7Element7__ClassZ) ; <i8*> [#uses=5]
+ %.newclass_gc = bitcast i8* %.newclass_gc_alloc to %"tango.text.Regex.List!(TNFATransition).List.Element"* ; <%"tango.text.Regex.List!(TNFATransition).List.Element"*> [#uses=2]
+ %vtbl = bitcast i8* %.newclass_gc_alloc to %object.ModuleInfo.__vtbl** ; <%object.ModuleInfo.__vtbl**> [#uses=1]
+ store %object.ModuleInfo.__vtbl* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7Element6__vtblZ, %object.ModuleInfo.__vtbl** %vtbl
+ %monitor = getelementptr i8* %.newclass_gc_alloc, i32 4 ; <i8*> [#uses=1]
+ %0 = bitcast i8* %monitor to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %0
+ %tmp8 = getelementptr i8* %.newclass_gc_alloc, i32 8 ; <i8*> [#uses=2]
+ tail call void @llvm.memcpy.i32(i8* %tmp8, i8* bitcast (%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** getelementptr (%"tango.text.Regex.List!(TNFATransition).List.Element"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7Element6__initZ, i32 0, i32 2) to i8*), i32 16, i32 1)
+ %tmp13 = getelementptr i8* %.newclass_gc_alloc, i32 20 ; <i8*> [#uses=1]
+ %1 = bitcast i8* %tmp13 to %"tango.text.Regex.List!(TNFATransition).List"** ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
+ store %"tango.text.Regex.List!(TNFATransition).List"* %.this_arg, %"tango.text.Regex.List!(TNFATransition).List"** %1
+ %2 = bitcast i8* %tmp8 to %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"**> [#uses=1]
+ store %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %v_arg, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** %2
+ store %"tango.text.Regex.List!(TNFATransition).List.Element"* %.newclass_gc, %"tango.text.Regex.List!(TNFATransition).List.Element"** %tmp1
+ store %"tango.text.Regex.List!(TNFATransition).List.Element"* %.newclass_gc, %"tango.text.Regex.List!(TNFATransition).List.Element"** %tmp5
+ br label %endif
+
+else: ; preds = %entry
+ %tmp19 = getelementptr %"tango.text.Regex.List!(TNFATransition).List.Element"* %tmp2, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"**> [#uses=1]
+ %.newclass_gc_alloc20 = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7Element7__ClassZ) ; <i8*> [#uses=5]
+ %.newclass_gc21 = bitcast i8* %.newclass_gc_alloc20 to %"tango.text.Regex.List!(TNFATransition).List.Element"* ; <%"tango.text.Regex.List!(TNFATransition).List.Element"*> [#uses=1]
+ %vtbl22 = bitcast i8* %.newclass_gc_alloc20 to %object.ModuleInfo.__vtbl** ; <%object.ModuleInfo.__vtbl**> [#uses=1]
+ store %object.ModuleInfo.__vtbl* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7Element6__vtblZ, %object.ModuleInfo.__vtbl** %vtbl22
+ %monitor23 = getelementptr i8* %.newclass_gc_alloc20, i32 4 ; <i8*> [#uses=1]
+ %3 = bitcast i8* %monitor23 to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %3
+ %tmp24 = getelementptr i8* %.newclass_gc_alloc20, i32 8 ; <i8*> [#uses=2]
+ tail call void @llvm.memcpy.i32(i8* %tmp24, i8* bitcast (%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** getelementptr (%"tango.text.Regex.List!(TNFATransition).List.Element"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7Element6__initZ, i32 0, i32 2) to i8*), i32 16, i32 1)
+ %tmp29 = getelementptr i8* %.newclass_gc_alloc20, i32 20 ; <i8*> [#uses=1]
+ %4 = bitcast i8* %tmp29 to %"tango.text.Regex.List!(TNFATransition).List"** ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
+ store %"tango.text.Regex.List!(TNFATransition).List"* %.this_arg, %"tango.text.Regex.List!(TNFATransition).List"** %4
+ %5 = bitcast i8* %tmp24 to %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"**> [#uses=1]
+ store %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %v_arg, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** %5
+ store %"tango.text.Regex.List!(TNFATransition).List.Element"* %.newclass_gc21, %"tango.text.Regex.List!(TNFATransition).List.Element"** %tmp19
+ %tmp34 = load %"tango.text.Regex.List!(TNFATransition).List.Element"** %tmp1 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"*> [#uses=2]
+ %tmp35 = getelementptr %"tango.text.Regex.List!(TNFATransition).List.Element"* %tmp34, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"**> [#uses=1]
+ %tmp36 = load %"tango.text.Regex.List!(TNFATransition).List.Element"** %tmp35 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"*> [#uses=1]
+ %tmp37 = getelementptr %"tango.text.Regex.List!(TNFATransition).List.Element"* %tmp36, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"**> [#uses=1]
+ store %"tango.text.Regex.List!(TNFATransition).List.Element"* %tmp34, %"tango.text.Regex.List!(TNFATransition).List.Element"** %tmp37
+ %tmp45 = load %"tango.text.Regex.List!(TNFATransition).List.Element"** %tmp1 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"*> [#uses=1]
+ %tmp46 = getelementptr %"tango.text.Regex.List!(TNFATransition).List.Element"* %tmp45, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"**> [#uses=1]
+ %tmp47 = load %"tango.text.Regex.List!(TNFATransition).List.Element"** %tmp46 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"*> [#uses=1]
+ store %"tango.text.Regex.List!(TNFATransition).List.Element"* %tmp47, %"tango.text.Regex.List!(TNFATransition).List.Element"** %tmp1
+ br label %endif
+
+endif: ; preds = %else, %if
+ %tmp49 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %.this_arg, i32 0, i32 2 ; <i32*> [#uses=2]
+ %tmp52 = load i32* %tmp49 ; <i32> [#uses=1]
+ %tmp53 = add i32 %tmp52, 1 ; <i32> [#uses=1]
+ store i32 %tmp53, i32* %tmp49
+ ret %"tango.text.Regex.List!(TNFATransition).List"* %.this_arg
+}
+
+define weak_odr fastcc %"tango.text.Regex.List!(TNFATransition).List"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List11insertAfterMFC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZC5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List(%"tango.text.Regex.List!(TNFATransition).List"* %.this_arg, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %w_arg, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %v_arg) {
+entry:
+ %.frame = alloca %nest.insertAfter, align 8 ; <%nest.insertAfter*> [#uses=5]
+ %this = getelementptr %nest.insertAfter* %.frame, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
+ store %"tango.text.Regex.List!(TNFATransition).List"* %.this_arg, %"tango.text.Regex.List!(TNFATransition).List"** %this, align 8
+ %w = getelementptr %nest.insertAfter* %.frame, i32 0, i32 1 ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"**> [#uses=1]
+ store %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %w_arg, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** %w
+ %v = getelementptr %nest.insertAfter* %.frame, i32 0, i32 2 ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"**> [#uses=1]
+ store %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %v_arg, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** %v, align 8
+ %tmp7 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %.this_arg, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ %tmp8 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp7 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
+ %"this.elements@vtbl" = getelementptr %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* %tmp8, i32 0, i32 18 ; <i32 (%"tango.text.Regex.List!(TNFATransition).List"*, %"int delegate(ref Element)")**> [#uses=1]
+ %this.elements = load i32 (%"tango.text.Regex.List!(TNFATransition).List"*, %"int delegate(ref Element)")** %"this.elements@vtbl", align 4 ; <i32 (%"tango.text.Regex.List!(TNFATransition).List"*, %"int delegate(ref Element)")*> [#uses=1]
+ %tmp10 = bitcast %nest.insertAfter* %.frame to i8* ; <i8*> [#uses=1]
+ %tmp11 = insertvalue %"int delegate(ref Element)" undef, i8* %tmp10, 0 ; <%"int delegate(ref Element)"> [#uses=1]
+ %.func = insertvalue %"int delegate(ref Element)" %tmp11, i32 (i8*, %"tango.text.Regex.List!(TNFATransition).List.Element"**)* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List11insertAfterMFC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZC5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List15__foreachbody52MFKC5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7ElementZi, 1 ; <%"int delegate(ref Element)"> [#uses=1]
+ %tmp12 = call fastcc i32 %this.elements(%"tango.text.Regex.List!(TNFATransition).List"* %.this_arg, %"int delegate(ref Element)" %.func) ; <i32> [#uses=1]
+ %cond = icmp eq i32 %tmp12, 2 ; <i1> [#uses=1]
+ br i1 %cond, label %case, label %switchend
+
+case: ; preds = %entry
+ %__result = getelementptr %nest.insertAfter* %.frame, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
+ %tmp14 = load %"tango.text.Regex.List!(TNFATransition).List"** %__result ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
+ ret %"tango.text.Regex.List!(TNFATransition).List"* %tmp14
+
+switchend: ; preds = %entry
+ ret %"tango.text.Regex.List!(TNFATransition).List"* null
+}
+
+define weak_odr fastcc %"tango.text.Regex.List!(TNFATransition).List"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List11insertAfterMFC5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7ElementC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZC5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List(%"tango.text.Regex.List!(TNFATransition).List"* %.this_arg, %"tango.text.Regex.List!(TNFATransition).List.Element"* %e_arg, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %v_arg) {
+entry:
+ %.newclass_gc_alloc = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7Element7__ClassZ) ; <i8*> [#uses=7]
+ %.newclass_gc = bitcast i8* %.newclass_gc_alloc to %"tango.text.Regex.List!(TNFATransition).List.Element"* ; <%"tango.text.Regex.List!(TNFATransition).List.Element"*> [#uses=3]
+ %vtbl = bitcast i8* %.newclass_gc_alloc to %object.ModuleInfo.__vtbl** ; <%object.ModuleInfo.__vtbl**> [#uses=1]
+ store %object.ModuleInfo.__vtbl* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7Element6__vtblZ, %object.ModuleInfo.__vtbl** %vtbl
+ %monitor = getelementptr i8* %.newclass_gc_alloc, i32 4 ; <i8*> [#uses=1]
+ %0 = bitcast i8* %monitor to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %0
+ %tmp1 = getelementptr i8* %.newclass_gc_alloc, i32 8 ; <i8*> [#uses=2]
+ tail call void @llvm.memcpy.i32(i8* %tmp1, i8* bitcast (%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** getelementptr (%"tango.text.Regex.List!(TNFATransition).List.Element"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7Element6__initZ, i32 0, i32 2) to i8*), i32 16, i32 1)
+ %tmp6 = getelementptr i8* %.newclass_gc_alloc, i32 20 ; <i8*> [#uses=1]
+ %1 = bitcast i8* %tmp6 to %"tango.text.Regex.List!(TNFATransition).List"** ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
+ store %"tango.text.Regex.List!(TNFATransition).List"* %.this_arg, %"tango.text.Regex.List!(TNFATransition).List"** %1
+ %2 = bitcast i8* %tmp1 to %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"**> [#uses=1]
+ store %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %v_arg, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** %2
+ %tmp10 = getelementptr i8* %.newclass_gc_alloc, i32 12 ; <i8*> [#uses=1]
+ %3 = bitcast i8* %tmp10 to %"tango.text.Regex.List!(TNFATransition).List.Element"** ; <%"tango.text.Regex.List!(TNFATransition).List.Element"**> [#uses=1]
+ store %"tango.text.Regex.List!(TNFATransition).List.Element"* %e_arg, %"tango.text.Regex.List!(TNFATransition).List.Element"** %3
+ %tmp13 = getelementptr i8* %.newclass_gc_alloc, i32 16 ; <i8*> [#uses=1]
+ %4 = bitcast i8* %tmp13 to %"tango.text.Regex.List!(TNFATransition).List.Element"** ; <%"tango.text.Regex.List!(TNFATransition).List.Element"**> [#uses=1]
+ %tmp15 = getelementptr %"tango.text.Regex.List!(TNFATransition).List.Element"* %e_arg, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"**> [#uses=2]
+ %tmp16 = load %"tango.text.Regex.List!(TNFATransition).List.Element"** %tmp15 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"*> [#uses=2]
+ store %"tango.text.Regex.List!(TNFATransition).List.Element"* %tmp16, %"tango.text.Regex.List!(TNFATransition).List.Element"** %4
+ %tmp20 = getelementptr %"tango.text.Regex.List!(TNFATransition).List.Element"* %tmp16, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"**> [#uses=1]
+ store %"tango.text.Regex.List!(TNFATransition).List.Element"* %.newclass_gc, %"tango.text.Regex.List!(TNFATransition).List.Element"** %tmp20
+ store %"tango.text.Regex.List!(TNFATransition).List.Element"* %.newclass_gc, %"tango.text.Regex.List!(TNFATransition).List.Element"** %tmp15
+ %tmp26 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %.this_arg, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"**> [#uses=2]
+ %tmp28 = load %"tango.text.Regex.List!(TNFATransition).List.Element"** %tmp26 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"*> [#uses=1]
+ %tmp29 = icmp eq %"tango.text.Regex.List!(TNFATransition).List.Element"* %tmp28, %e_arg ; <i1> [#uses=1]
+ br i1 %tmp29, label %if, label %endif
+
+if: ; preds = %entry
+ store %"tango.text.Regex.List!(TNFATransition).List.Element"* %.newclass_gc, %"tango.text.Regex.List!(TNFATransition).List.Element"** %tmp26
+ br label %endif
+
+endif: ; preds = %if, %entry
+ %tmp34 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %.this_arg, i32 0, i32 2 ; <i32*> [#uses=2]
+ %tmp37 = load i32* %tmp34 ; <i32> [#uses=1]
+ %tmp38 = add i32 %tmp37, 1 ; <i32> [#uses=1]
+ store i32 %tmp38, i32* %tmp34
+ ret %"tango.text.Regex.List!(TNFATransition).List"* %.this_arg
+}
+
+define weak_odr fastcc %"tango.text.Regex.List!(TNFATransition).List"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List11opCatAssignMFC5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4ListZC5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List(%"tango.text.Regex.List!(TNFATransition).List"* %.this_arg, %"tango.text.Regex.List!(TNFATransition).List"* %l_arg) {
+entry:
+ %tmp1 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %l_arg, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ %tmp2 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp1 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
+ %"l.empty@vtbl" = getelementptr %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* %tmp2, i32 0, i32 14 ; <i1 (%"tango.text.Regex.List!(TNFATransition).List"*)**> [#uses=1]
+ %l.empty = load i1 (%"tango.text.Regex.List!(TNFATransition).List"*)** %"l.empty@vtbl", align 4 ; <i1 (%"tango.text.Regex.List!(TNFATransition).List"*)*> [#uses=1]
+ %tmp4 = tail call fastcc i1 %l.empty(%"tango.text.Regex.List!(TNFATransition).List"* %l_arg) ; <i1> [#uses=1]
+ br i1 %tmp4, label %if, label %endif
+
+if: ; preds = %entry
+ ret %"tango.text.Regex.List!(TNFATransition).List"* %.this_arg
+
+endif: ; preds = %entry
+ %tmp7 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %.this_arg, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"**> [#uses=3]
+ %tmp8 = load %"tango.text.Regex.List!(TNFATransition).List.Element"** %tmp7 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"*> [#uses=2]
+ %tmp9 = icmp eq %"tango.text.Regex.List!(TNFATransition).List.Element"* %tmp8, null ; <i1> [#uses=1]
+ br i1 %tmp9, label %if10, label %else
+
+if10: ; preds = %endif
+ %tmp13 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %.this_arg, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"**> [#uses=1]
+ %tmp15 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %l_arg, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"**> [#uses=1]
+ %tmp16 = load %"tango.text.Regex.List!(TNFATransition).List.Element"** %tmp15 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"*> [#uses=1]
+ store %"tango.text.Regex.List!(TNFATransition).List.Element"* %tmp16, %"tango.text.Regex.List!(TNFATransition).List.Element"** %tmp13
+ br label %endif11
+
+else: ; preds = %endif
+ %tmp25 = getelementptr %"tango.text.Regex.List!(TNFATransition).List.Element"* %tmp8, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"**> [#uses=1]
+ %tmp27 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %l_arg, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"**> [#uses=1]
+ %tmp28 = load %"tango.text.Regex.List!(TNFATransition).List.Element"** %tmp27 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"*> [#uses=1]
+ store %"tango.text.Regex.List!(TNFATransition).List.Element"* %tmp28, %"tango.text.Regex.List!(TNFATransition).List.Element"** %tmp25
+ %tmp31 = load %"tango.text.Regex.List!(TNFATransition).List.Element"** %tmp7 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"*> [#uses=2]
+ %tmp32 = getelementptr %"tango.text.Regex.List!(TNFATransition).List.Element"* %tmp31, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"**> [#uses=1]
+ %tmp33 = load %"tango.text.Regex.List!(TNFATransition).List.Element"** %tmp32 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"*> [#uses=1]
+ %tmp34 = getelementptr %"tango.text.Regex.List!(TNFATransition).List.Element"* %tmp33, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"**> [#uses=1]
+ store %"tango.text.Regex.List!(TNFATransition).List.Element"* %tmp31, %"tango.text.Regex.List!(TNFATransition).List.Element"** %tmp34
+ br label %endif11
+
+endif11: ; preds = %else, %if10
+ %storemerge.in = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %l_arg, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"**> [#uses=1]
+ %storemerge = load %"tango.text.Regex.List!(TNFATransition).List.Element"** %storemerge.in ; <%"tango.text.Regex.List!(TNFATransition).List.Element"*> [#uses=1]
+ store %"tango.text.Regex.List!(TNFATransition).List.Element"* %storemerge, %"tango.text.Regex.List!(TNFATransition).List.Element"** %tmp7
+ %tmp44 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %.this_arg, i32 0, i32 2 ; <i32*> [#uses=2]
+ %tmp48 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %l_arg, i32 0, i32 2 ; <i32*> [#uses=1]
+ %tmp49 = load i32* %tmp44 ; <i32> [#uses=1]
+ %tmp50 = load i32* %tmp48 ; <i32> [#uses=1]
+ %tmp51 = add i32 %tmp49, %tmp50 ; <i32> [#uses=1]
+ store i32 %tmp51, i32* %tmp44
+ ret %"tango.text.Regex.List!(TNFATransition).List"* %.this_arg
+}
+
+define weak_odr fastcc %"tango.text.Regex.List!(TNFATransition).List"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List9pushFrontMFC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZC5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List(%"tango.text.Regex.List!(TNFATransition).List"* %.this_arg, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %v_arg) {
+entry:
+ %tmp1 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %.this_arg, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"**> [#uses=4]
+ %tmp2 = load %"tango.text.Regex.List!(TNFATransition).List.Element"** %tmp1 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"*> [#uses=2]
+ %tmp3 = icmp eq %"tango.text.Regex.List!(TNFATransition).List.Element"* %tmp2, null ; <i1> [#uses=1]
+ br i1 %tmp3, label %if, label %else
+
+if: ; preds = %entry
+ %tmp7 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %.this_arg, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"**> [#uses=1]
+ %.newclass_gc_alloc = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7Element7__ClassZ) ; <i8*> [#uses=5]
+ %.newclass_gc = bitcast i8* %.newclass_gc_alloc to %"tango.text.Regex.List!(TNFATransition).List.Element"* ; <%"tango.text.Regex.List!(TNFATransition).List.Element"*> [#uses=2]
+ %vtbl = bitcast i8* %.newclass_gc_alloc to %object.ModuleInfo.__vtbl** ; <%object.ModuleInfo.__vtbl**> [#uses=1]
+ store %object.ModuleInfo.__vtbl* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7Element6__vtblZ, %object.ModuleInfo.__vtbl** %vtbl
+ %monitor = getelementptr i8* %.newclass_gc_alloc, i32 4 ; <i8*> [#uses=1]
+ %0 = bitcast i8* %monitor to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %0
+ %tmp8 = getelementptr i8* %.newclass_gc_alloc, i32 8 ; <i8*> [#uses=2]
+ tail call void @llvm.memcpy.i32(i8* %tmp8, i8* bitcast (%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** getelementptr (%"tango.text.Regex.List!(TNFATransition).List.Element"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7Element6__initZ, i32 0, i32 2) to i8*), i32 16, i32 1)
+ %tmp13 = getelementptr i8* %.newclass_gc_alloc, i32 20 ; <i8*> [#uses=1]
+ %1 = bitcast i8* %tmp13 to %"tango.text.Regex.List!(TNFATransition).List"** ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
+ store %"tango.text.Regex.List!(TNFATransition).List"* %.this_arg, %"tango.text.Regex.List!(TNFATransition).List"** %1
+ %2 = bitcast i8* %tmp8 to %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"**> [#uses=1]
+ store %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %v_arg, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** %2
+ store %"tango.text.Regex.List!(TNFATransition).List.Element"* %.newclass_gc, %"tango.text.Regex.List!(TNFATransition).List.Element"** %tmp7
+ br label %endif
+
+else: ; preds = %entry
+ %tmp19 = getelementptr %"tango.text.Regex.List!(TNFATransition).List.Element"* %tmp2, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"**> [#uses=1]
+ %.newclass_gc_alloc20 = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7Element7__ClassZ) ; <i8*> [#uses=5]
+ %.newclass_gc21 = bitcast i8* %.newclass_gc_alloc20 to %"tango.text.Regex.List!(TNFATransition).List.Element"* ; <%"tango.text.Regex.List!(TNFATransition).List.Element"*> [#uses=1]
+ %vtbl22 = bitcast i8* %.newclass_gc_alloc20 to %object.ModuleInfo.__vtbl** ; <%object.ModuleInfo.__vtbl**> [#uses=1]
+ store %object.ModuleInfo.__vtbl* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7Element6__vtblZ, %object.ModuleInfo.__vtbl** %vtbl22
+ %monitor23 = getelementptr i8* %.newclass_gc_alloc20, i32 4 ; <i8*> [#uses=1]
+ %3 = bitcast i8* %monitor23 to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %3
+ %tmp24 = getelementptr i8* %.newclass_gc_alloc20, i32 8 ; <i8*> [#uses=2]
+ tail call void @llvm.memcpy.i32(i8* %tmp24, i8* bitcast (%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** getelementptr (%"tango.text.Regex.List!(TNFATransition).List.Element"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7Element6__initZ, i32 0, i32 2) to i8*), i32 16, i32 1)
+ %tmp29 = getelementptr i8* %.newclass_gc_alloc20, i32 20 ; <i8*> [#uses=1]
+ %4 = bitcast i8* %tmp29 to %"tango.text.Regex.List!(TNFATransition).List"** ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
+ store %"tango.text.Regex.List!(TNFATransition).List"* %.this_arg, %"tango.text.Regex.List!(TNFATransition).List"** %4
+ %5 = bitcast i8* %tmp24 to %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"**> [#uses=1]
+ store %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %v_arg, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** %5
+ store %"tango.text.Regex.List!(TNFATransition).List.Element"* %.newclass_gc21, %"tango.text.Regex.List!(TNFATransition).List.Element"** %tmp19
+ %tmp34 = load %"tango.text.Regex.List!(TNFATransition).List.Element"** %tmp1 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"*> [#uses=2]
+ %tmp35 = getelementptr %"tango.text.Regex.List!(TNFATransition).List.Element"* %tmp34, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"**> [#uses=1]
+ %tmp36 = load %"tango.text.Regex.List!(TNFATransition).List.Element"** %tmp35 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"*> [#uses=1]
+ %tmp37 = getelementptr %"tango.text.Regex.List!(TNFATransition).List.Element"* %tmp36, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"**> [#uses=1]
+ store %"tango.text.Regex.List!(TNFATransition).List.Element"* %tmp34, %"tango.text.Regex.List!(TNFATransition).List.Element"** %tmp37
+ %tmp45 = load %"tango.text.Regex.List!(TNFATransition).List.Element"** %tmp1 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"*> [#uses=1]
+ %tmp46 = getelementptr %"tango.text.Regex.List!(TNFATransition).List.Element"* %tmp45, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"**> [#uses=1]
+ %tmp47 = load %"tango.text.Regex.List!(TNFATransition).List.Element"** %tmp46 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"*> [#uses=1]
+ br label %endif
+
+endif: ; preds = %else, %if
+ %storemerge = phi %"tango.text.Regex.List!(TNFATransition).List.Element"* [ %.newclass_gc, %if ], [ %tmp47, %else ] ; <%"tango.text.Regex.List!(TNFATransition).List.Element"*> [#uses=1]
+ store %"tango.text.Regex.List!(TNFATransition).List.Element"* %storemerge, %"tango.text.Regex.List!(TNFATransition).List.Element"** %tmp1
+ %tmp49 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %.this_arg, i32 0, i32 2 ; <i32*> [#uses=2]
+ %tmp52 = load i32* %tmp49 ; <i32> [#uses=1]
+ %tmp53 = add i32 %tmp52, 1 ; <i32> [#uses=1]
+ store i32 %tmp53, i32* %tmp49
+ ret %"tango.text.Regex.List!(TNFATransition).List"* %.this_arg
+}
+
+define weak_odr fastcc %"tango.text.Regex.List!(TNFATransition).List"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List12insertBeforeMFC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZC5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List(%"tango.text.Regex.List!(TNFATransition).List"* %.this_arg, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %w_arg, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %v_arg) {
+entry:
+ %.frame = alloca %nest.insertAfter, align 8 ; <%nest.insertAfter*> [#uses=5]
+ %this = getelementptr %nest.insertAfter* %.frame, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
+ store %"tango.text.Regex.List!(TNFATransition).List"* %.this_arg, %"tango.text.Regex.List!(TNFATransition).List"** %this, align 8
+ %w = getelementptr %nest.insertAfter* %.frame, i32 0, i32 1 ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"**> [#uses=1]
+ store %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %w_arg, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** %w
+ %v = getelementptr %nest.insertAfter* %.frame, i32 0, i32 2 ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"**> [#uses=1]
+ store %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %v_arg, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** %v, align 8
+ %tmp7 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %.this_arg, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ %tmp8 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp7 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
+ %"this.elements@vtbl" = getelementptr %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* %tmp8, i32 0, i32 18 ; <i32 (%"tango.text.Regex.List!(TNFATransition).List"*, %"int delegate(ref Element)")**> [#uses=1]
+ %this.elements = load i32 (%"tango.text.Regex.List!(TNFATransition).List"*, %"int delegate(ref Element)")** %"this.elements@vtbl", align 4 ; <i32 (%"tango.text.Regex.List!(TNFATransition).List"*, %"int delegate(ref Element)")*> [#uses=1]
+ %tmp10 = bitcast %nest.insertAfter* %.frame to i8* ; <i8*> [#uses=1]
+ %tmp11 = insertvalue %"int delegate(ref Element)" undef, i8* %tmp10, 0 ; <%"int delegate(ref Element)"> [#uses=1]
+ %.func = insertvalue %"int delegate(ref Element)" %tmp11, i32 (i8*, %"tango.text.Regex.List!(TNFATransition).List.Element"**)* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List12insertBeforeMFC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZC5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List15__foreachbody53MFKC5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7ElementZi, 1 ; <%"int delegate(ref Element)"> [#uses=1]
+ %tmp12 = call fastcc i32 %this.elements(%"tango.text.Regex.List!(TNFATransition).List"* %.this_arg, %"int delegate(ref Element)" %.func) ; <i32> [#uses=1]
+ %cond = icmp eq i32 %tmp12, 2 ; <i1> [#uses=1]
+ br i1 %cond, label %case, label %switchend
+
+case: ; preds = %entry
+ %__result = getelementptr %nest.insertAfter* %.frame, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
+ %tmp14 = load %"tango.text.Regex.List!(TNFATransition).List"** %__result ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
+ ret %"tango.text.Regex.List!(TNFATransition).List"* %tmp14
+
+switchend: ; preds = %entry
+ ret %"tango.text.Regex.List!(TNFATransition).List"* null
+}
+
+define weak_odr fastcc %"tango.text.Regex.List!(TNFATransition).List"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List12insertBeforeMFC5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7ElementC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZC5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List(%"tango.text.Regex.List!(TNFATransition).List"* %.this_arg, %"tango.text.Regex.List!(TNFATransition).List.Element"* %e_arg, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %v_arg) {
+entry:
+ %.newclass_gc_alloc = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7Element7__ClassZ) ; <i8*> [#uses=7]
+ %.newclass_gc = bitcast i8* %.newclass_gc_alloc to %"tango.text.Regex.List!(TNFATransition).List.Element"* ; <%"tango.text.Regex.List!(TNFATransition).List.Element"*> [#uses=3]
+ %vtbl = bitcast i8* %.newclass_gc_alloc to %object.ModuleInfo.__vtbl** ; <%object.ModuleInfo.__vtbl**> [#uses=1]
+ store %object.ModuleInfo.__vtbl* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7Element6__vtblZ, %object.ModuleInfo.__vtbl** %vtbl
+ %monitor = getelementptr i8* %.newclass_gc_alloc, i32 4 ; <i8*> [#uses=1]
+ %0 = bitcast i8* %monitor to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %0
+ %tmp1 = getelementptr i8* %.newclass_gc_alloc, i32 8 ; <i8*> [#uses=2]
+ tail call void @llvm.memcpy.i32(i8* %tmp1, i8* bitcast (%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** getelementptr (%"tango.text.Regex.List!(TNFATransition).List.Element"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7Element6__initZ, i32 0, i32 2) to i8*), i32 16, i32 1)
+ %tmp6 = getelementptr i8* %.newclass_gc_alloc, i32 20 ; <i8*> [#uses=1]
+ %1 = bitcast i8* %tmp6 to %"tango.text.Regex.List!(TNFATransition).List"** ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
+ store %"tango.text.Regex.List!(TNFATransition).List"* %.this_arg, %"tango.text.Regex.List!(TNFATransition).List"** %1
+ %2 = bitcast i8* %tmp1 to %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"**> [#uses=1]
+ store %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %v_arg, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** %2
+ %tmp10 = getelementptr i8* %.newclass_gc_alloc, i32 12 ; <i8*> [#uses=1]
+ %3 = bitcast i8* %tmp10 to %"tango.text.Regex.List!(TNFATransition).List.Element"** ; <%"tango.text.Regex.List!(TNFATransition).List.Element"**> [#uses=1]
+ %tmp12 = getelementptr %"tango.text.Regex.List!(TNFATransition).List.Element"* %e_arg, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"**> [#uses=2]
+ %tmp13 = load %"tango.text.Regex.List!(TNFATransition).List.Element"** %tmp12 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"*> [#uses=2]
+ store %"tango.text.Regex.List!(TNFATransition).List.Element"* %tmp13, %"tango.text.Regex.List!(TNFATransition).List.Element"** %3
+ %tmp15 = getelementptr i8* %.newclass_gc_alloc, i32 16 ; <i8*> [#uses=1]
+ %4 = bitcast i8* %tmp15 to %"tango.text.Regex.List!(TNFATransition).List.Element"** ; <%"tango.text.Regex.List!(TNFATransition).List.Element"**> [#uses=1]
+ store %"tango.text.Regex.List!(TNFATransition).List.Element"* %e_arg, %"tango.text.Regex.List!(TNFATransition).List.Element"** %4
+ %tmp20 = getelementptr %"tango.text.Regex.List!(TNFATransition).List.Element"* %tmp13, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"**> [#uses=1]
+ store %"tango.text.Regex.List!(TNFATransition).List.Element"* %.newclass_gc, %"tango.text.Regex.List!(TNFATransition).List.Element"** %tmp20
+ store %"tango.text.Regex.List!(TNFATransition).List.Element"* %.newclass_gc, %"tango.text.Regex.List!(TNFATransition).List.Element"** %tmp12
+ %tmp26 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %.this_arg, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"**> [#uses=2]
+ %tmp28 = load %"tango.text.Regex.List!(TNFATransition).List.Element"** %tmp26 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"*> [#uses=1]
+ %tmp29 = icmp eq %"tango.text.Regex.List!(TNFATransition).List.Element"* %tmp28, %e_arg ; <i1> [#uses=1]
+ br i1 %tmp29, label %if, label %endif
+
+if: ; preds = %entry
+ store %"tango.text.Regex.List!(TNFATransition).List.Element"* %.newclass_gc, %"tango.text.Regex.List!(TNFATransition).List.Element"** %tmp26
+ br label %endif
+
+endif: ; preds = %if, %entry
+ %tmp34 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %.this_arg, i32 0, i32 2 ; <i32*> [#uses=2]
+ %tmp37 = load i32* %tmp34 ; <i32> [#uses=1]
+ %tmp38 = add i32 %tmp37, 1 ; <i32> [#uses=1]
+ store i32 %tmp38, i32* %tmp34
+ ret %"tango.text.Regex.List!(TNFATransition).List"* %.this_arg
+}
+
+define weak_odr fastcc %"tango.text.Regex.List!(TNFATransition).List"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List9pushFrontMFC5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4ListZC5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List(%"tango.text.Regex.List!(TNFATransition).List"* %.this_arg, %"tango.text.Regex.List!(TNFATransition).List"* %l_arg) {
+entry:
+ %tmp1 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %l_arg, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ %tmp2 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp1 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
+ %"l.empty@vtbl" = getelementptr %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* %tmp2, i32 0, i32 14 ; <i1 (%"tango.text.Regex.List!(TNFATransition).List"*)**> [#uses=1]
+ %l.empty = load i1 (%"tango.text.Regex.List!(TNFATransition).List"*)** %"l.empty@vtbl", align 4 ; <i1 (%"tango.text.Regex.List!(TNFATransition).List"*)*> [#uses=1]
+ %tmp4 = tail call fastcc i1 %l.empty(%"tango.text.Regex.List!(TNFATransition).List"* %l_arg) ; <i1> [#uses=1]
+ br i1 %tmp4, label %if, label %endif
+
+if: ; preds = %entry
+ ret %"tango.text.Regex.List!(TNFATransition).List"* %.this_arg
+
+endif: ; preds = %entry
+ %tmp7 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %.this_arg, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"**> [#uses=4]
+ %tmp8 = load %"tango.text.Regex.List!(TNFATransition).List.Element"** %tmp7 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"*> [#uses=2]
+ %tmp9 = icmp eq %"tango.text.Regex.List!(TNFATransition).List.Element"* %tmp8, null ; <i1> [#uses=1]
+ br i1 %tmp9, label %if10, label %else
+
+if10: ; preds = %endif
+ %tmp15 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %l_arg, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"**> [#uses=1]
+ %tmp16 = load %"tango.text.Regex.List!(TNFATransition).List.Element"** %tmp15 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"*> [#uses=1]
+ store %"tango.text.Regex.List!(TNFATransition).List.Element"* %tmp16, %"tango.text.Regex.List!(TNFATransition).List.Element"** %tmp7
+ %tmp18 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %.this_arg, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"**> [#uses=1]
+ %tmp20 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %l_arg, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"**> [#uses=1]
+ %tmp21 = load %"tango.text.Regex.List!(TNFATransition).List.Element"** %tmp20 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"*> [#uses=1]
+ store %"tango.text.Regex.List!(TNFATransition).List.Element"* %tmp21, %"tango.text.Regex.List!(TNFATransition).List.Element"** %tmp18
+ br label %endif11
+
+else: ; preds = %endif
+ %tmp25 = getelementptr %"tango.text.Regex.List!(TNFATransition).List.Element"* %tmp8, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"**> [#uses=1]
+ %tmp27 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %l_arg, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"**> [#uses=1]
+ %tmp28 = load %"tango.text.Regex.List!(TNFATransition).List.Element"** %tmp27 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"*> [#uses=1]
+ store %"tango.text.Regex.List!(TNFATransition).List.Element"* %tmp28, %"tango.text.Regex.List!(TNFATransition).List.Element"** %tmp25
+ %tmp31 = load %"tango.text.Regex.List!(TNFATransition).List.Element"** %tmp7 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"*> [#uses=2]
+ %tmp32 = getelementptr %"tango.text.Regex.List!(TNFATransition).List.Element"* %tmp31, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"**> [#uses=1]
+ %tmp33 = load %"tango.text.Regex.List!(TNFATransition).List.Element"** %tmp32 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"*> [#uses=1]
+ %tmp34 = getelementptr %"tango.text.Regex.List!(TNFATransition).List.Element"* %tmp33, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"**> [#uses=1]
+ store %"tango.text.Regex.List!(TNFATransition).List.Element"* %tmp31, %"tango.text.Regex.List!(TNFATransition).List.Element"** %tmp34
+ %tmp41 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %l_arg, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"**> [#uses=1]
+ %tmp42 = load %"tango.text.Regex.List!(TNFATransition).List.Element"** %tmp41 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"*> [#uses=1]
+ store %"tango.text.Regex.List!(TNFATransition).List.Element"* %tmp42, %"tango.text.Regex.List!(TNFATransition).List.Element"** %tmp7
+ br label %endif11
+
+endif11: ; preds = %else, %if10
+ %tmp44 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %.this_arg, i32 0, i32 2 ; <i32*> [#uses=2]
+ %tmp48 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %l_arg, i32 0, i32 2 ; <i32*> [#uses=1]
+ %tmp49 = load i32* %tmp44 ; <i32> [#uses=1]
+ %tmp50 = load i32* %tmp48 ; <i32> [#uses=1]
+ %tmp51 = add i32 %tmp49, %tmp50 ; <i32> [#uses=1]
+ store i32 %tmp51, i32* %tmp44
+ ret %"tango.text.Regex.List!(TNFATransition).List"* %.this_arg
+}
+
+define weak_odr fastcc i32 @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6lengthMFZk(%"tango.text.Regex.List!(TNFATransition).List"* nocapture %.this_arg) nounwind readonly {
+entry:
+ %tmp1 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %.this_arg, i32 0, i32 2 ; <i32*> [#uses=1]
+ %tmp2 = load i32* %tmp1 ; <i32> [#uses=1]
+ ret i32 %tmp2
+}
+
+define weak_odr fastcc i1 @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List5emptyMFZb(%"tango.text.Regex.List!(TNFATransition).List"* nocapture %.this_arg) nounwind readonly {
+entry:
+ %tmp1 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %.this_arg, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"**> [#uses=1]
+ %tmp2 = load %"tango.text.Regex.List!(TNFATransition).List.Element"** %tmp1 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"*> [#uses=1]
+ %tmp3 = icmp eq %"tango.text.Regex.List!(TNFATransition).List.Element"* %tmp2, null ; <i1> [#uses=1]
+ ret i1 %tmp3
+}
+
+define weak_odr fastcc void @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List5clearMFZv(%"tango.text.Regex.List!(TNFATransition).List"* nocapture %.this_arg) nounwind {
+entry:
+ %tmp1 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %.this_arg, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"**> [#uses=1]
+ store %"tango.text.Regex.List!(TNFATransition).List.Element"* null, %"tango.text.Regex.List!(TNFATransition).List.Element"** %tmp1
+ %tmp3 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %.this_arg, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"**> [#uses=1]
+ store %"tango.text.Regex.List!(TNFATransition).List.Element"* null, %"tango.text.Regex.List!(TNFATransition).List.Element"** %tmp3
+ %tmp5 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %.this_arg, i32 0, i32 2 ; <i32*> [#uses=1]
+ store i32 0, i32* %tmp5
+ ret void
+}
+
+define weak_odr fastcc void @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List3popMFZv(%"tango.text.Regex.List!(TNFATransition).List"* %.this_arg) {
+entry:
+ %tmp1 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %.this_arg, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ %tmp2 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp1 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
+ %"this.remove@vtbl" = getelementptr %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* %tmp2, i32 0, i32 17 ; <void (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.List!(TNFATransition).List.Element"*)**> [#uses=1]
+ %this.remove = load void (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.List!(TNFATransition).List.Element"*)** %"this.remove@vtbl", align 4 ; <void (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.List!(TNFATransition).List.Element"*)*> [#uses=1]
+ %tmp5 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %.this_arg, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"**> [#uses=1]
+ %tmp6 = load %"tango.text.Regex.List!(TNFATransition).List.Element"** %tmp5 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"*> [#uses=1]
+ tail call fastcc void %this.remove(%"tango.text.Regex.List!(TNFATransition).List"* %.this_arg, %"tango.text.Regex.List!(TNFATransition).List.Element"* %tmp6)
+ ret void
+}
+
+define weak_odr fastcc void @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6removeMFC5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7ElementZv(%"tango.text.Regex.List!(TNFATransition).List"* nocapture %.this_arg, %"tango.text.Regex.List!(TNFATransition).List.Element"* %e_arg) nounwind {
+entry:
+ %tmp1 = icmp eq %"tango.text.Regex.List!(TNFATransition).List.Element"* %e_arg, null ; <i1> [#uses=1]
+ br i1 %tmp1, label %if, label %endif
+
+if: ; preds = %entry
+ ret void
+
+endif: ; preds = %entry
+ %tmp3 = getelementptr %"tango.text.Regex.List!(TNFATransition).List.Element"* %e_arg, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"**> [#uses=3]
+ %tmp4 = load %"tango.text.Regex.List!(TNFATransition).List.Element"** %tmp3 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"*> [#uses=2]
+ %tmp5 = icmp eq %"tango.text.Regex.List!(TNFATransition).List.Element"* %tmp4, null ; <i1> [#uses=1]
+ br i1 %tmp5, label %if6, label %else
+
+if6: ; preds = %endif
+ %tmp9 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %.this_arg, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"**> [#uses=1]
+ %tmp11 = getelementptr %"tango.text.Regex.List!(TNFATransition).List.Element"* %e_arg, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"**> [#uses=1]
+ %tmp12 = load %"tango.text.Regex.List!(TNFATransition).List.Element"** %tmp11 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"*> [#uses=1]
+ store %"tango.text.Regex.List!(TNFATransition).List.Element"* %tmp12, %"tango.text.Regex.List!(TNFATransition).List.Element"** %tmp9
+ br label %endif7
+
+else: ; preds = %endif
+ %tmp16 = getelementptr %"tango.text.Regex.List!(TNFATransition).List.Element"* %tmp4, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"**> [#uses=1]
+ %tmp18 = getelementptr %"tango.text.Regex.List!(TNFATransition).List.Element"* %e_arg, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"**> [#uses=1]
+ %tmp19 = load %"tango.text.Regex.List!(TNFATransition).List.Element"** %tmp18 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"*> [#uses=1]
+ store %"tango.text.Regex.List!(TNFATransition).List.Element"* %tmp19, %"tango.text.Regex.List!(TNFATransition).List.Element"** %tmp16
+ br label %endif7
+
+endif7: ; preds = %else, %if6
+ %tmp21 = getelementptr %"tango.text.Regex.List!(TNFATransition).List.Element"* %e_arg, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"**> [#uses=1]
+ %tmp22 = load %"tango.text.Regex.List!(TNFATransition).List.Element"** %tmp21 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"*> [#uses=2]
+ %tmp23 = icmp eq %"tango.text.Regex.List!(TNFATransition).List.Element"* %tmp22, null ; <i1> [#uses=1]
+ br i1 %tmp23, label %if24, label %else26
+
+if24: ; preds = %endif7
+ %tmp28 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %.this_arg, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"**> [#uses=1]
+ %tmp31 = load %"tango.text.Regex.List!(TNFATransition).List.Element"** %tmp3 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"*> [#uses=1]
+ store %"tango.text.Regex.List!(TNFATransition).List.Element"* %tmp31, %"tango.text.Regex.List!(TNFATransition).List.Element"** %tmp28
+ br label %endif25
+
+else26: ; preds = %endif7
+ %tmp35 = getelementptr %"tango.text.Regex.List!(TNFATransition).List.Element"* %tmp22, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"**> [#uses=1]
+ %tmp38 = load %"tango.text.Regex.List!(TNFATransition).List.Element"** %tmp3 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"*> [#uses=1]
+ store %"tango.text.Regex.List!(TNFATransition).List.Element"* %tmp38, %"tango.text.Regex.List!(TNFATransition).List.Element"** %tmp35
+ br label %endif25
+
+endif25: ; preds = %else26, %if24
+ %tmp40 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %.this_arg, i32 0, i32 2 ; <i32*> [#uses=2]
+ %tmp43 = load i32* %tmp40 ; <i32> [#uses=1]
+ %tmp44 = add i32 %tmp43, -1 ; <i32> [#uses=1]
+ store i32 %tmp44, i32* %tmp40
+ ret void
+}
+
+define weak_odr fastcc i32 @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List8elementsMFDFKC5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7ElementZiZi(%"tango.text.Regex.List!(TNFATransition).List"* nocapture %.this_arg, %"int delegate(ref Element)" %dg_arg) {
+entry:
+ %e = alloca %"tango.text.Regex.List!(TNFATransition).List.Element"*, align 4 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"**> [#uses=3]
+ %dg_arg18 = extractvalue %"int delegate(ref Element)" %dg_arg, 0 ; <i8*> [#uses=1]
+ %dg_arg19 = extractvalue %"int delegate(ref Element)" %dg_arg, 1 ; <i32 (i8*, %"tango.text.Regex.List!(TNFATransition).List.Element"**)*> [#uses=1]
+ %tmp1 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %.this_arg, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"**> [#uses=1]
+ br label %forcond
+
+forcond: ; preds = %forinc, %entry
+ %storemerge.in = phi %"tango.text.Regex.List!(TNFATransition).List.Element"** [ %tmp15, %forinc ], [ %tmp1, %entry ] ; <%"tango.text.Regex.List!(TNFATransition).List.Element"**> [#uses=1]
+ %storemerge = load %"tango.text.Regex.List!(TNFATransition).List.Element"** %storemerge.in ; <%"tango.text.Regex.List!(TNFATransition).List.Element"*> [#uses=2]
+ store %"tango.text.Regex.List!(TNFATransition).List.Element"* %storemerge, %"tango.text.Regex.List!(TNFATransition).List.Element"** %e
+ %tmp4 = icmp eq %"tango.text.Regex.List!(TNFATransition).List.Element"* %storemerge, null ; <i1> [#uses=1]
+ br i1 %tmp4, label %endfor, label %forbody
+
+forbody: ; preds = %forcond
+ %tmp9 = call fastcc i32 %dg_arg19(i8* %dg_arg18, %"tango.text.Regex.List!(TNFATransition).List.Element"** %e) ; <i32> [#uses=2]
+ %tmp12 = icmp eq i32 %tmp9, 0 ; <i1> [#uses=1]
+ br i1 %tmp12, label %forinc, label %if
+
+if: ; preds = %forbody
+ ret i32 %tmp9
+
+forinc: ; preds = %forbody
+ %tmp14 = load %"tango.text.Regex.List!(TNFATransition).List.Element"** %e ; <%"tango.text.Regex.List!(TNFATransition).List.Element"*> [#uses=1]
+ %tmp15 = getelementptr %"tango.text.Regex.List!(TNFATransition).List.Element"* %tmp14, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"**> [#uses=1]
+ br label %forcond
+
+endfor: ; preds = %forcond
+ ret i32 0
+}
+
+define weak_odr fastcc i32 @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List16elements_reverseMFDFKC5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7ElementZiZi(%"tango.text.Regex.List!(TNFATransition).List"* nocapture %.this_arg, %"int delegate(ref Element)" %dg_arg) {
+entry:
+ %e = alloca %"tango.text.Regex.List!(TNFATransition).List.Element"*, align 4 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"**> [#uses=3]
+ %dg_arg18 = extractvalue %"int delegate(ref Element)" %dg_arg, 0 ; <i8*> [#uses=1]
+ %dg_arg19 = extractvalue %"int delegate(ref Element)" %dg_arg, 1 ; <i32 (i8*, %"tango.text.Regex.List!(TNFATransition).List.Element"**)*> [#uses=1]
+ %tmp1 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %.this_arg, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"**> [#uses=1]
+ br label %forcond
+
+forcond: ; preds = %forinc, %entry
+ %storemerge.in = phi %"tango.text.Regex.List!(TNFATransition).List.Element"** [ %tmp15, %forinc ], [ %tmp1, %entry ] ; <%"tango.text.Regex.List!(TNFATransition).List.Element"**> [#uses=1]
+ %storemerge = load %"tango.text.Regex.List!(TNFATransition).List.Element"** %storemerge.in ; <%"tango.text.Regex.List!(TNFATransition).List.Element"*> [#uses=2]
+ store %"tango.text.Regex.List!(TNFATransition).List.Element"* %storemerge, %"tango.text.Regex.List!(TNFATransition).List.Element"** %e
+ %tmp4 = icmp eq %"tango.text.Regex.List!(TNFATransition).List.Element"* %storemerge, null ; <i1> [#uses=1]
+ br i1 %tmp4, label %endfor, label %forbody
+
+forbody: ; preds = %forcond
+ %tmp9 = call fastcc i32 %dg_arg19(i8* %dg_arg18, %"tango.text.Regex.List!(TNFATransition).List.Element"** %e) ; <i32> [#uses=2]
+ %tmp12 = icmp eq i32 %tmp9, 0 ; <i1> [#uses=1]
+ br i1 %tmp12, label %forinc, label %if
+
+if: ; preds = %forbody
+ ret i32 %tmp9
+
+forinc: ; preds = %forbody
+ %tmp14 = load %"tango.text.Regex.List!(TNFATransition).List.Element"** %e ; <%"tango.text.Regex.List!(TNFATransition).List.Element"*> [#uses=1]
+ %tmp15 = getelementptr %"tango.text.Regex.List!(TNFATransition).List.Element"* %tmp14, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"**> [#uses=1]
+ br label %forcond
+
+endfor: ; preds = %forcond
+ ret i32 0
+}
+
+define weak_odr fastcc i32 @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7opApplyMFDFKC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZiZi(%"tango.text.Regex.List!(TNFATransition).List"* nocapture %.this_arg, %"int delegate(ref TNFATransition)" %dg_arg) {
+entry:
+ %dg_arg20 = extractvalue %"int delegate(ref TNFATransition)" %dg_arg, 0 ; <i8*> [#uses=1]
+ %dg_arg21 = extractvalue %"int delegate(ref TNFATransition)" %dg_arg, 1 ; <i32 (i8*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"**)*> [#uses=1]
+ %tmp1 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %.this_arg, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"**> [#uses=1]
+ br label %forcond
+
+forcond: ; preds = %forinc, %entry
+ %e.0.in = phi %"tango.text.Regex.List!(TNFATransition).List.Element"** [ %tmp1, %entry ], [ %tmp17, %forinc ] ; <%"tango.text.Regex.List!(TNFATransition).List.Element"**> [#uses=1]
+ %e.0 = load %"tango.text.Regex.List!(TNFATransition).List.Element"** %e.0.in ; <%"tango.text.Regex.List!(TNFATransition).List.Element"*> [#uses=3]
+ %tmp4 = icmp eq %"tango.text.Regex.List!(TNFATransition).List.Element"* %e.0, null ; <i1> [#uses=1]
+ br i1 %tmp4, label %endfor, label %forbody
+
+forbody: ; preds = %forcond
+ %tmp10 = getelementptr %"tango.text.Regex.List!(TNFATransition).List.Element"* %e.0, i32 0, i32 2 ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"**> [#uses=1]
+ %tmp11 = tail call fastcc i32 %dg_arg21(i8* %dg_arg20, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** %tmp10) ; <i32> [#uses=2]
+ %tmp14 = icmp eq i32 %tmp11, 0 ; <i1> [#uses=1]
+ br i1 %tmp14, label %forinc, label %if
+
+if: ; preds = %forbody
+ ret i32 %tmp11
+
+forinc: ; preds = %forbody
+ %tmp17 = getelementptr %"tango.text.Regex.List!(TNFATransition).List.Element"* %e.0, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"**> [#uses=1]
+ br label %forcond
+
+endfor: ; preds = %forcond
+ ret i32 0
+}
+
+define weak_odr fastcc i32 @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List14opApplyReverseMFDFKC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZiZi(%"tango.text.Regex.List!(TNFATransition).List"* nocapture %.this_arg, %"int delegate(ref TNFATransition)" %dg_arg) {
+entry:
+ %dg_arg20 = extractvalue %"int delegate(ref TNFATransition)" %dg_arg, 0 ; <i8*> [#uses=1]
+ %dg_arg21 = extractvalue %"int delegate(ref TNFATransition)" %dg_arg, 1 ; <i32 (i8*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"**)*> [#uses=1]
+ %tmp1 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %.this_arg, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"**> [#uses=1]
+ br label %forcond
+
+forcond: ; preds = %forinc, %entry
+ %e.0.in = phi %"tango.text.Regex.List!(TNFATransition).List.Element"** [ %tmp1, %entry ], [ %tmp17, %forinc ] ; <%"tango.text.Regex.List!(TNFATransition).List.Element"**> [#uses=1]
+ %e.0 = load %"tango.text.Regex.List!(TNFATransition).List.Element"** %e.0.in ; <%"tango.text.Regex.List!(TNFATransition).List.Element"*> [#uses=3]
+ %tmp4 = icmp eq %"tango.text.Regex.List!(TNFATransition).List.Element"* %e.0, null ; <i1> [#uses=1]
+ br i1 %tmp4, label %endfor, label %forbody
+
+forbody: ; preds = %forcond
+ %tmp10 = getelementptr %"tango.text.Regex.List!(TNFATransition).List.Element"* %e.0, i32 0, i32 2 ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"**> [#uses=1]
+ %tmp11 = tail call fastcc i32 %dg_arg21(i8* %dg_arg20, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** %tmp10) ; <i32> [#uses=2]
+ %tmp14 = icmp eq i32 %tmp11, 0 ; <i1> [#uses=1]
+ br i1 %tmp14, label %forinc, label %if
+
+if: ; preds = %forbody
+ ret i32 %tmp11
+
+forinc: ; preds = %forbody
+ %tmp17 = getelementptr %"tango.text.Regex.List!(TNFATransition).List.Element"* %e.0, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"**> [#uses=1]
+ br label %forcond
+
+endfor: ; preds = %forcond
+ ret i32 0
+}
+
+define weak_odr fastcc %"tango.text.Regex.List!(TNFATransition).List.Element"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7Element5_ctorMFC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZC5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7Element(%"tango.text.Regex.List!(TNFATransition).List.Element"* %.this_arg, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %v_arg) nounwind {
+entry:
+ %tmp1 = getelementptr %"tango.text.Regex.List!(TNFATransition).List.Element"* %.this_arg, i32 0, i32 2 ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"**> [#uses=1]
+ store %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %v_arg, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** %tmp1
+ ret %"tango.text.Regex.List!(TNFATransition).List.Element"* %.this_arg
+}
+
+define weak_odr fastcc void @_D5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment8setEntryMFC5tango4text5Regex16__T9TNFAStateTwZ9TNFAStateZv(%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* nocapture %.this_arg, %"tango.text.Regex.TNFAState!(dchar).TNFAState"* %state_arg) {
+entry:
+ %.frame = alloca %nest.setEntry, align 8 ; <%nest.setEntry*> [#uses=2]
+ %state = getelementptr %nest.setEntry* %.frame, i32 0, i32 0 ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"**> [#uses=1]
+ store %"tango.text.Regex.TNFAState!(dchar).TNFAState"* %state_arg, %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %state, align 8
+ %tmp3 = getelementptr %"tango.text.Regex.TNFAState!(dchar).TNFAState"* %state_arg, i32 0, i32 5 ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
+ %tmp4 = load %"tango.text.Regex.List!(TNFATransition).List"** %tmp3 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
+ %tmp5 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp4, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ %tmp6 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp5 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
+ %"state.transitions.opCatAssign@vtbl" = getelementptr %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* %tmp6, i32 0, i32 8 ; <%"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.List!(TNFATransition).List"*)**> [#uses=1]
+ %state.transitions.opCatAssign = load %"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.List!(TNFATransition).List"*)** %"state.transitions.opCatAssign@vtbl", align 4 ; <%"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.List!(TNFATransition).List"*)*> [#uses=1]
+ %tmp9 = getelementptr %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %.this_arg, i32 0, i32 2 ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
+ %tmp10 = load %"tango.text.Regex.List!(TNFATransition).List"** %tmp9 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
+ %tmp11 = call fastcc %"tango.text.Regex.List!(TNFATransition).List"* %state.transitions.opCatAssign(%"tango.text.Regex.List!(TNFATransition).List"* %tmp4, %"tango.text.Regex.List!(TNFATransition).List"* %tmp10) ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=0]
+ %tmp13 = getelementptr %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %.this_arg, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
+ %tmp14 = load %"tango.text.Regex.List!(TNFATransition).List"** %tmp13 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
+ %tmp15 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp14, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ %tmp16 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp15 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
+ %"this.entry_state.opApply@vtbl" = getelementptr %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* %tmp16, i32 0, i32 20 ; <i32 (%"tango.text.Regex.List!(TNFATransition).List"*, %"int delegate(ref TNFATransition)")**> [#uses=1]
+ %this.entry_state.opApply = load i32 (%"tango.text.Regex.List!(TNFATransition).List"*, %"int delegate(ref TNFATransition)")** %"this.entry_state.opApply@vtbl", align 4 ; <i32 (%"tango.text.Regex.List!(TNFATransition).List"*, %"int delegate(ref TNFATransition)")*> [#uses=1]
+ %tmp18 = bitcast %nest.setEntry* %.frame to i8* ; <i8*> [#uses=1]
+ %tmp19 = insertvalue %"int delegate(ref TNFATransition)" undef, i8* %tmp18, 0 ; <%"int delegate(ref TNFATransition)"> [#uses=1]
+ %.func = insertvalue %"int delegate(ref TNFATransition)" %tmp19, i32 (i8*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"**)* @_D5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment8setEntryMFC5tango4text5Regex16__T9TNFAStateTwZ9TNFAStateZv15__foreachbody54MFKC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZi, 1 ; <%"int delegate(ref TNFATransition)"> [#uses=1]
+ %tmp20 = call fastcc i32 %this.entry_state.opApply(%"tango.text.Regex.List!(TNFATransition).List"* %tmp14, %"int delegate(ref TNFATransition)" %.func) ; <i32> [#uses=0]
+ ret void
+}
+
+define weak_odr fastcc void @_D5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment7setExitMFC5tango4text5Regex16__T9TNFAStateTwZ9TNFAStateZv(%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* nocapture %.this_arg, %"tango.text.Regex.TNFAState!(dchar).TNFAState"* %state_arg) {
+entry:
+ %.frame = alloca %nest.setEntry, align 8 ; <%nest.setEntry*> [#uses=2]
+ %state = getelementptr %nest.setEntry* %.frame, i32 0, i32 0 ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"**> [#uses=1]
+ store %"tango.text.Regex.TNFAState!(dchar).TNFAState"* %state_arg, %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %state, align 8
+ %tmp3 = getelementptr %"tango.text.Regex.TNFAState!(dchar).TNFAState"* %state_arg, i32 0, i32 5 ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
+ %tmp4 = load %"tango.text.Regex.List!(TNFATransition).List"** %tmp3 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
+ %tmp5 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp4, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ %tmp6 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp5 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
+ %"state.transitions.opCatAssign@vtbl" = getelementptr %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* %tmp6, i32 0, i32 8 ; <%"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.List!(TNFATransition).List"*)**> [#uses=1]
+ %state.transitions.opCatAssign = load %"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.List!(TNFATransition).List"*)** %"state.transitions.opCatAssign@vtbl", align 4 ; <%"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.List!(TNFATransition).List"*)*> [#uses=1]
+ %tmp9 = getelementptr %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %.this_arg, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
+ %tmp10 = load %"tango.text.Regex.List!(TNFATransition).List"** %tmp9 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
+ %tmp11 = call fastcc %"tango.text.Regex.List!(TNFATransition).List"* %state.transitions.opCatAssign(%"tango.text.Regex.List!(TNFATransition).List"* %tmp4, %"tango.text.Regex.List!(TNFATransition).List"* %tmp10) ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=0]
+ %tmp13 = getelementptr %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %.this_arg, i32 0, i32 5 ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
+ %tmp14 = load %"tango.text.Regex.List!(TNFATransition).List"** %tmp13 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
+ %tmp15 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp14, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ %tmp16 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp15 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
+ %"this.exit_state.opApply@vtbl" = getelementptr %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* %tmp16, i32 0, i32 20 ; <i32 (%"tango.text.Regex.List!(TNFATransition).List"*, %"int delegate(ref TNFATransition)")**> [#uses=1]
+ %this.exit_state.opApply = load i32 (%"tango.text.Regex.List!(TNFATransition).List"*, %"int delegate(ref TNFATransition)")** %"this.exit_state.opApply@vtbl", align 4 ; <i32 (%"tango.text.Regex.List!(TNFATransition).List"*, %"int delegate(ref TNFATransition)")*> [#uses=1]
+ %tmp18 = bitcast %nest.setEntry* %.frame to i8* ; <i8*> [#uses=1]
+ %tmp19 = insertvalue %"int delegate(ref TNFATransition)" undef, i8* %tmp18, 0 ; <%"int delegate(ref TNFATransition)"> [#uses=1]
+ %.func = insertvalue %"int delegate(ref TNFATransition)" %tmp19, i32 (i8*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"**)* @_D5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment7setExitMFC5tango4text5Regex16__T9TNFAStateTwZ9TNFAStateZv15__foreachbody55MFKC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZi, 1 ; <%"int delegate(ref TNFATransition)"> [#uses=1]
+ %tmp20 = call fastcc i32 %this.exit_state.opApply(%"tango.text.Regex.List!(TNFATransition).List"* %tmp14, %"int delegate(ref TNFATransition)" %.func) ; <i32> [#uses=0]
+ ret void
+}
+
+define weak_odr fastcc %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* @_D5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment5_ctorMFZC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment(%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %.this_arg) {
+entry:
+ %tmp1 = getelementptr %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %.this_arg, i32 0, i32 2 ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
+ %.newclass_gc_alloc = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7__ClassZ) ; <i8*> [#uses=4]
+ %.newclass_gc = bitcast i8* %.newclass_gc_alloc to %"tango.text.Regex.List!(TNFATransition).List"* ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
+ %vtbl = bitcast i8* %.newclass_gc_alloc to %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ store %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__vtblZ, %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %vtbl
+ %monitor = getelementptr i8* %.newclass_gc_alloc, i32 4 ; <i8*> [#uses=1]
+ %0 = bitcast i8* %monitor to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %0
+ %tmp2 = getelementptr i8* %.newclass_gc_alloc, i32 8 ; <i8*> [#uses=1]
+ tail call void @llvm.memcpy.i32(i8* %tmp2, i8* bitcast (i32* getelementptr (%"tango.text.Regex.List!(TNFATransition).List"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__initZ, i32 0, i32 2) to i8*), i32 12, i32 1)
+ store %"tango.text.Regex.List!(TNFATransition).List"* %.newclass_gc, %"tango.text.Regex.List!(TNFATransition).List"** %tmp1
+ %tmp7 = getelementptr %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %.this_arg, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
+ %.newclass_gc_alloc8 = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7__ClassZ) ; <i8*> [#uses=4]
+ %.newclass_gc9 = bitcast i8* %.newclass_gc_alloc8 to %"tango.text.Regex.List!(TNFATransition).List"* ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
+ %vtbl10 = bitcast i8* %.newclass_gc_alloc8 to %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ store %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__vtblZ, %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %vtbl10
+ %monitor11 = getelementptr i8* %.newclass_gc_alloc8, i32 4 ; <i8*> [#uses=1]
+ %1 = bitcast i8* %monitor11 to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %1
+ %tmp12 = getelementptr i8* %.newclass_gc_alloc8, i32 8 ; <i8*> [#uses=1]
+ tail call void @llvm.memcpy.i32(i8* %tmp12, i8* bitcast (i32* getelementptr (%"tango.text.Regex.List!(TNFATransition).List"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__initZ, i32 0, i32 2) to i8*), i32 12, i32 1)
+ store %"tango.text.Regex.List!(TNFATransition).List"* %.newclass_gc9, %"tango.text.Regex.List!(TNFATransition).List"** %tmp7
+ %tmp17 = getelementptr %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %.this_arg, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
+ %.newclass_gc_alloc18 = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7__ClassZ) ; <i8*> [#uses=4]
+ %.newclass_gc19 = bitcast i8* %.newclass_gc_alloc18 to %"tango.text.Regex.List!(TNFATransition).List"* ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
+ %vtbl20 = bitcast i8* %.newclass_gc_alloc18 to %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ store %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__vtblZ, %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %vtbl20
+ %monitor21 = getelementptr i8* %.newclass_gc_alloc18, i32 4 ; <i8*> [#uses=1]
+ %2 = bitcast i8* %monitor21 to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %2
+ %tmp22 = getelementptr i8* %.newclass_gc_alloc18, i32 8 ; <i8*> [#uses=1]
+ tail call void @llvm.memcpy.i32(i8* %tmp22, i8* bitcast (i32* getelementptr (%"tango.text.Regex.List!(TNFATransition).List"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__initZ, i32 0, i32 2) to i8*), i32 12, i32 1)
+ store %"tango.text.Regex.List!(TNFATransition).List"* %.newclass_gc19, %"tango.text.Regex.List!(TNFATransition).List"** %tmp17
+ %tmp27 = getelementptr %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %.this_arg, i32 0, i32 5 ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
+ %.newclass_gc_alloc28 = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7__ClassZ) ; <i8*> [#uses=4]
+ %.newclass_gc29 = bitcast i8* %.newclass_gc_alloc28 to %"tango.text.Regex.List!(TNFATransition).List"* ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
+ %vtbl30 = bitcast i8* %.newclass_gc_alloc28 to %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ store %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__vtblZ, %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %vtbl30
+ %monitor31 = getelementptr i8* %.newclass_gc_alloc28, i32 4 ; <i8*> [#uses=1]
+ %3 = bitcast i8* %monitor31 to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %3
+ %tmp32 = getelementptr i8* %.newclass_gc_alloc28, i32 8 ; <i8*> [#uses=1]
+ tail call void @llvm.memcpy.i32(i8* %tmp32, i8* bitcast (i32* getelementptr (%"tango.text.Regex.List!(TNFATransition).List"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__initZ, i32 0, i32 2) to i8*), i32 12, i32 1)
+ store %"tango.text.Regex.List!(TNFATransition).List"* %.newclass_gc29, %"tango.text.Regex.List!(TNFATransition).List"** %tmp27
+ ret %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %.this_arg
+}
+
+define weak_odr fastcc %"tango.text.Regex.List!(TNFAFragment).List"* @_D5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List11opCatAssignMFC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZC5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List(%"tango.text.Regex.List!(TNFAFragment).List"* %.this_arg, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %v_arg) {
+entry:
+ %tmp1 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %.this_arg, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=5]
+ %tmp2 = load %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp1 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=2]
+ %tmp3 = icmp eq %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp2, null ; <i1> [#uses=1]
+ br i1 %tmp3, label %if, label %else
+
+if: ; preds = %entry
+ %tmp5 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %.this_arg, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=1]
+ %.newclass_gc_alloc = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List7Element7__ClassZ) ; <i8*> [#uses=5]
+ %.newclass_gc = bitcast i8* %.newclass_gc_alloc to %"tango.text.Regex.List!(TNFAFragment).List.Element"* ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=2]
+ %vtbl = bitcast i8* %.newclass_gc_alloc to %object.ModuleInfo.__vtbl** ; <%object.ModuleInfo.__vtbl**> [#uses=1]
+ store %object.ModuleInfo.__vtbl* @_D5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List7Element6__vtblZ, %object.ModuleInfo.__vtbl** %vtbl
+ %monitor = getelementptr i8* %.newclass_gc_alloc, i32 4 ; <i8*> [#uses=1]
+ %0 = bitcast i8* %monitor to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %0
+ %tmp8 = getelementptr i8* %.newclass_gc_alloc, i32 8 ; <i8*> [#uses=2]
+ tail call void @llvm.memcpy.i32(i8* %tmp8, i8* bitcast (%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"** getelementptr (%"tango.text.Regex.List!(TNFAFragment).List.Element"* @_D5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List7Element6__initZ, i32 0, i32 2) to i8*), i32 16, i32 1)
+ %tmp13 = getelementptr i8* %.newclass_gc_alloc, i32 20 ; <i8*> [#uses=1]
+ %1 = bitcast i8* %tmp13 to %"tango.text.Regex.List!(TNFAFragment).List"** ; <%"tango.text.Regex.List!(TNFAFragment).List"**> [#uses=1]
+ store %"tango.text.Regex.List!(TNFAFragment).List"* %.this_arg, %"tango.text.Regex.List!(TNFAFragment).List"** %1
+ %2 = bitcast i8* %tmp8 to %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"** ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"**> [#uses=1]
+ store %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %v_arg, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"** %2
+ store %"tango.text.Regex.List!(TNFAFragment).List.Element"* %.newclass_gc, %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp1
+ store %"tango.text.Regex.List!(TNFAFragment).List.Element"* %.newclass_gc, %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp5
+ br label %endif
+
+else: ; preds = %entry
+ %tmp19 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp2, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=1]
+ %.newclass_gc_alloc20 = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List7Element7__ClassZ) ; <i8*> [#uses=5]
+ %.newclass_gc21 = bitcast i8* %.newclass_gc_alloc20 to %"tango.text.Regex.List!(TNFAFragment).List.Element"* ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=1]
+ %vtbl22 = bitcast i8* %.newclass_gc_alloc20 to %object.ModuleInfo.__vtbl** ; <%object.ModuleInfo.__vtbl**> [#uses=1]
+ store %object.ModuleInfo.__vtbl* @_D5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List7Element6__vtblZ, %object.ModuleInfo.__vtbl** %vtbl22
+ %monitor23 = getelementptr i8* %.newclass_gc_alloc20, i32 4 ; <i8*> [#uses=1]
+ %3 = bitcast i8* %monitor23 to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %3
+ %tmp24 = getelementptr i8* %.newclass_gc_alloc20, i32 8 ; <i8*> [#uses=2]
+ tail call void @llvm.memcpy.i32(i8* %tmp24, i8* bitcast (%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"** getelementptr (%"tango.text.Regex.List!(TNFAFragment).List.Element"* @_D5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List7Element6__initZ, i32 0, i32 2) to i8*), i32 16, i32 1)
+ %tmp29 = getelementptr i8* %.newclass_gc_alloc20, i32 20 ; <i8*> [#uses=1]
+ %4 = bitcast i8* %tmp29 to %"tango.text.Regex.List!(TNFAFragment).List"** ; <%"tango.text.Regex.List!(TNFAFragment).List"**> [#uses=1]
+ store %"tango.text.Regex.List!(TNFAFragment).List"* %.this_arg, %"tango.text.Regex.List!(TNFAFragment).List"** %4
+ %5 = bitcast i8* %tmp24 to %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"** ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"**> [#uses=1]
+ store %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %v_arg, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"** %5
+ store %"tango.text.Regex.List!(TNFAFragment).List.Element"* %.newclass_gc21, %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp19
+ %tmp34 = load %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp1 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=2]
+ %tmp35 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp34, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=1]
+ %tmp36 = load %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp35 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=1]
+ %tmp37 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp36, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=1]
+ store %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp34, %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp37
+ %tmp45 = load %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp1 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=1]
+ %tmp46 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp45, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=1]
+ %tmp47 = load %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp46 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=1]
+ store %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp47, %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp1
+ br label %endif
+
+endif: ; preds = %else, %if
+ %tmp49 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %.this_arg, i32 0, i32 2 ; <i32*> [#uses=2]
+ %tmp52 = load i32* %tmp49 ; <i32> [#uses=1]
+ %tmp53 = add i32 %tmp52, 1 ; <i32> [#uses=1]
+ store i32 %tmp53, i32* %tmp49
+ ret %"tango.text.Regex.List!(TNFAFragment).List"* %.this_arg
+}
+
+define weak_odr fastcc %"tango.text.Regex.List!(TNFAFragment).List"* @_D5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List11insertAfterMFC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZC5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List(%"tango.text.Regex.List!(TNFAFragment).List"* %.this_arg, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %w_arg, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %v_arg) {
+entry:
+ %.frame = alloca %34, align 8 ; <%34*> [#uses=5]
+ %this = getelementptr %34* %.frame, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFAFragment).List"**> [#uses=1]
+ store %"tango.text.Regex.List!(TNFAFragment).List"* %.this_arg, %"tango.text.Regex.List!(TNFAFragment).List"** %this, align 8
+ %w = getelementptr %34* %.frame, i32 0, i32 1 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"**> [#uses=1]
+ store %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %w_arg, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"** %w
+ %v = getelementptr %34* %.frame, i32 0, i32 2 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"**> [#uses=1]
+ store %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %v_arg, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"** %v, align 8
+ %tmp7 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %.this_arg, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"**> [#uses=1]
+ %tmp8 = load %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"** %tmp7 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"*> [#uses=1]
+ %"this.elements@vtbl" = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"* %tmp8, i32 0, i32 18 ; <i32 (%"tango.text.Regex.List!(TNFAFragment).List"*, %1)**> [#uses=1]
+ %this.elements = load i32 (%"tango.text.Regex.List!(TNFAFragment).List"*, %1)** %"this.elements@vtbl", align 4 ; <i32 (%"tango.text.Regex.List!(TNFAFragment).List"*, %1)*> [#uses=1]
+ %tmp10 = bitcast %34* %.frame to i8* ; <i8*> [#uses=1]
+ %tmp11 = insertvalue %1 undef, i8* %tmp10, 0 ; <%1> [#uses=1]
+ %.func = insertvalue %1 %tmp11, i32 (i8*, %"tango.text.Regex.List!(TNFAFragment).List.Element"**)* @_D5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List11insertAfterMFC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZC5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List15__foreachbody56MFKC5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List7ElementZi, 1 ; <%1> [#uses=1]
+ %tmp12 = call fastcc i32 %this.elements(%"tango.text.Regex.List!(TNFAFragment).List"* %.this_arg, %1 %.func) ; <i32> [#uses=1]
+ %cond = icmp eq i32 %tmp12, 2 ; <i1> [#uses=1]
+ br i1 %cond, label %case, label %switchend
+
+case: ; preds = %entry
+ %__result = getelementptr %34* %.frame, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFAFragment).List"**> [#uses=1]
+ %tmp14 = load %"tango.text.Regex.List!(TNFAFragment).List"** %__result ; <%"tango.text.Regex.List!(TNFAFragment).List"*> [#uses=1]
+ ret %"tango.text.Regex.List!(TNFAFragment).List"* %tmp14
+
+switchend: ; preds = %entry
+ ret %"tango.text.Regex.List!(TNFAFragment).List"* null
+}
+
+define weak_odr fastcc %"tango.text.Regex.List!(TNFAFragment).List"* @_D5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List11insertAfterMFC5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List7ElementC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZC5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List(%"tango.text.Regex.List!(TNFAFragment).List"* %.this_arg, %"tango.text.Regex.List!(TNFAFragment).List.Element"* %e_arg, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %v_arg) {
+entry:
+ %.newclass_gc_alloc = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List7Element7__ClassZ) ; <i8*> [#uses=7]
+ %.newclass_gc = bitcast i8* %.newclass_gc_alloc to %"tango.text.Regex.List!(TNFAFragment).List.Element"* ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=3]
+ %vtbl = bitcast i8* %.newclass_gc_alloc to %object.ModuleInfo.__vtbl** ; <%object.ModuleInfo.__vtbl**> [#uses=1]
+ store %object.ModuleInfo.__vtbl* @_D5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List7Element6__vtblZ, %object.ModuleInfo.__vtbl** %vtbl
+ %monitor = getelementptr i8* %.newclass_gc_alloc, i32 4 ; <i8*> [#uses=1]
+ %0 = bitcast i8* %monitor to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %0
+ %tmp1 = getelementptr i8* %.newclass_gc_alloc, i32 8 ; <i8*> [#uses=2]
+ tail call void @llvm.memcpy.i32(i8* %tmp1, i8* bitcast (%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"** getelementptr (%"tango.text.Regex.List!(TNFAFragment).List.Element"* @_D5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List7Element6__initZ, i32 0, i32 2) to i8*), i32 16, i32 1)
+ %tmp6 = getelementptr i8* %.newclass_gc_alloc, i32 20 ; <i8*> [#uses=1]
+ %1 = bitcast i8* %tmp6 to %"tango.text.Regex.List!(TNFAFragment).List"** ; <%"tango.text.Regex.List!(TNFAFragment).List"**> [#uses=1]
+ store %"tango.text.Regex.List!(TNFAFragment).List"* %.this_arg, %"tango.text.Regex.List!(TNFAFragment).List"** %1
+ %2 = bitcast i8* %tmp1 to %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"** ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"**> [#uses=1]
+ store %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %v_arg, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"** %2
+ %tmp10 = getelementptr i8* %.newclass_gc_alloc, i32 12 ; <i8*> [#uses=1]
+ %3 = bitcast i8* %tmp10 to %"tango.text.Regex.List!(TNFAFragment).List.Element"** ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=1]
+ store %"tango.text.Regex.List!(TNFAFragment).List.Element"* %e_arg, %"tango.text.Regex.List!(TNFAFragment).List.Element"** %3
+ %tmp13 = getelementptr i8* %.newclass_gc_alloc, i32 16 ; <i8*> [#uses=1]
+ %4 = bitcast i8* %tmp13 to %"tango.text.Regex.List!(TNFAFragment).List.Element"** ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=1]
+ %tmp15 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.Element"* %e_arg, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=2]
+ %tmp16 = load %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp15 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=2]
+ store %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp16, %"tango.text.Regex.List!(TNFAFragment).List.Element"** %4
+ %tmp20 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp16, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=1]
+ store %"tango.text.Regex.List!(TNFAFragment).List.Element"* %.newclass_gc, %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp20
+ store %"tango.text.Regex.List!(TNFAFragment).List.Element"* %.newclass_gc, %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp15
+ %tmp26 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %.this_arg, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=2]
+ %tmp28 = load %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp26 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=1]
+ %tmp29 = icmp eq %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp28, %e_arg ; <i1> [#uses=1]
+ br i1 %tmp29, label %if, label %endif
+
+if: ; preds = %entry
+ store %"tango.text.Regex.List!(TNFAFragment).List.Element"* %.newclass_gc, %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp26
+ br label %endif
+
+endif: ; preds = %if, %entry
+ %tmp34 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %.this_arg, i32 0, i32 2 ; <i32*> [#uses=2]
+ %tmp37 = load i32* %tmp34 ; <i32> [#uses=1]
+ %tmp38 = add i32 %tmp37, 1 ; <i32> [#uses=1]
+ store i32 %tmp38, i32* %tmp34
+ ret %"tango.text.Regex.List!(TNFAFragment).List"* %.this_arg
+}
+
+define weak_odr fastcc %"tango.text.Regex.List!(TNFAFragment).List"* @_D5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List11opCatAssignMFC5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4ListZC5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List(%"tango.text.Regex.List!(TNFAFragment).List"* %.this_arg, %"tango.text.Regex.List!(TNFAFragment).List"* %l_arg) {
+entry:
+ %tmp1 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %l_arg, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"**> [#uses=1]
+ %tmp2 = load %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"** %tmp1 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"*> [#uses=1]
+ %"l.empty@vtbl" = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"* %tmp2, i32 0, i32 14 ; <i1 (%"tango.text.Regex.List!(TNFAFragment).List"*)**> [#uses=1]
+ %l.empty = load i1 (%"tango.text.Regex.List!(TNFAFragment).List"*)** %"l.empty@vtbl", align 4 ; <i1 (%"tango.text.Regex.List!(TNFAFragment).List"*)*> [#uses=1]
+ %tmp4 = tail call fastcc i1 %l.empty(%"tango.text.Regex.List!(TNFAFragment).List"* %l_arg) ; <i1> [#uses=1]
+ br i1 %tmp4, label %if, label %endif
+
+if: ; preds = %entry
+ ret %"tango.text.Regex.List!(TNFAFragment).List"* %.this_arg
+
+endif: ; preds = %entry
+ %tmp7 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %.this_arg, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=3]
+ %tmp8 = load %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp7 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=2]
+ %tmp9 = icmp eq %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp8, null ; <i1> [#uses=1]
+ br i1 %tmp9, label %if10, label %else
+
+if10: ; preds = %endif
+ %tmp13 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %.this_arg, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=1]
+ %tmp15 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %l_arg, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=1]
+ %tmp16 = load %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp15 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=1]
+ store %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp16, %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp13
+ br label %endif11
+
+else: ; preds = %endif
+ %tmp25 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp8, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=1]
+ %tmp27 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %l_arg, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=1]
+ %tmp28 = load %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp27 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=1]
+ store %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp28, %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp25
+ %tmp31 = load %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp7 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=2]
+ %tmp32 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp31, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=1]
+ %tmp33 = load %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp32 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=1]
+ %tmp34 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp33, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=1]
+ store %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp31, %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp34
+ br label %endif11
+
+endif11: ; preds = %else, %if10
+ %storemerge.in = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %l_arg, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=1]
+ %storemerge = load %"tango.text.Regex.List!(TNFAFragment).List.Element"** %storemerge.in ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=1]
+ store %"tango.text.Regex.List!(TNFAFragment).List.Element"* %storemerge, %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp7
+ %tmp44 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %.this_arg, i32 0, i32 2 ; <i32*> [#uses=2]
+ %tmp48 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %l_arg, i32 0, i32 2 ; <i32*> [#uses=1]
+ %tmp49 = load i32* %tmp44 ; <i32> [#uses=1]
+ %tmp50 = load i32* %tmp48 ; <i32> [#uses=1]
+ %tmp51 = add i32 %tmp49, %tmp50 ; <i32> [#uses=1]
+ store i32 %tmp51, i32* %tmp44
+ ret %"tango.text.Regex.List!(TNFAFragment).List"* %.this_arg
+}
+
+define weak_odr fastcc %"tango.text.Regex.List!(TNFAFragment).List"* @_D5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List9pushFrontMFC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZC5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List(%"tango.text.Regex.List!(TNFAFragment).List"* %.this_arg, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %v_arg) {
+entry:
+ %tmp1 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %.this_arg, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=4]
+ %tmp2 = load %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp1 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=2]
+ %tmp3 = icmp eq %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp2, null ; <i1> [#uses=1]
+ br i1 %tmp3, label %if, label %else
+
+if: ; preds = %entry
+ %tmp7 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %.this_arg, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=1]
+ %.newclass_gc_alloc = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List7Element7__ClassZ) ; <i8*> [#uses=5]
+ %.newclass_gc = bitcast i8* %.newclass_gc_alloc to %"tango.text.Regex.List!(TNFAFragment).List.Element"* ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=2]
+ %vtbl = bitcast i8* %.newclass_gc_alloc to %object.ModuleInfo.__vtbl** ; <%object.ModuleInfo.__vtbl**> [#uses=1]
+ store %object.ModuleInfo.__vtbl* @_D5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List7Element6__vtblZ, %object.ModuleInfo.__vtbl** %vtbl
+ %monitor = getelementptr i8* %.newclass_gc_alloc, i32 4 ; <i8*> [#uses=1]
+ %0 = bitcast i8* %monitor to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %0
+ %tmp8 = getelementptr i8* %.newclass_gc_alloc, i32 8 ; <i8*> [#uses=2]
+ tail call void @llvm.memcpy.i32(i8* %tmp8, i8* bitcast (%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"** getelementptr (%"tango.text.Regex.List!(TNFAFragment).List.Element"* @_D5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List7Element6__initZ, i32 0, i32 2) to i8*), i32 16, i32 1)
+ %tmp13 = getelementptr i8* %.newclass_gc_alloc, i32 20 ; <i8*> [#uses=1]
+ %1 = bitcast i8* %tmp13 to %"tango.text.Regex.List!(TNFAFragment).List"** ; <%"tango.text.Regex.List!(TNFAFragment).List"**> [#uses=1]
+ store %"tango.text.Regex.List!(TNFAFragment).List"* %.this_arg, %"tango.text.Regex.List!(TNFAFragment).List"** %1
+ %2 = bitcast i8* %tmp8 to %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"** ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"**> [#uses=1]
+ store %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %v_arg, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"** %2
+ store %"tango.text.Regex.List!(TNFAFragment).List.Element"* %.newclass_gc, %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp7
+ br label %endif
+
+else: ; preds = %entry
+ %tmp19 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp2, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=1]
+ %.newclass_gc_alloc20 = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List7Element7__ClassZ) ; <i8*> [#uses=5]
+ %.newclass_gc21 = bitcast i8* %.newclass_gc_alloc20 to %"tango.text.Regex.List!(TNFAFragment).List.Element"* ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=1]
+ %vtbl22 = bitcast i8* %.newclass_gc_alloc20 to %object.ModuleInfo.__vtbl** ; <%object.ModuleInfo.__vtbl**> [#uses=1]
+ store %object.ModuleInfo.__vtbl* @_D5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List7Element6__vtblZ, %object.ModuleInfo.__vtbl** %vtbl22
+ %monitor23 = getelementptr i8* %.newclass_gc_alloc20, i32 4 ; <i8*> [#uses=1]
+ %3 = bitcast i8* %monitor23 to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %3
+ %tmp24 = getelementptr i8* %.newclass_gc_alloc20, i32 8 ; <i8*> [#uses=2]
+ tail call void @llvm.memcpy.i32(i8* %tmp24, i8* bitcast (%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"** getelementptr (%"tango.text.Regex.List!(TNFAFragment).List.Element"* @_D5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List7Element6__initZ, i32 0, i32 2) to i8*), i32 16, i32 1)
+ %tmp29 = getelementptr i8* %.newclass_gc_alloc20, i32 20 ; <i8*> [#uses=1]
+ %4 = bitcast i8* %tmp29 to %"tango.text.Regex.List!(TNFAFragment).List"** ; <%"tango.text.Regex.List!(TNFAFragment).List"**> [#uses=1]
+ store %"tango.text.Regex.List!(TNFAFragment).List"* %.this_arg, %"tango.text.Regex.List!(TNFAFragment).List"** %4
+ %5 = bitcast i8* %tmp24 to %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"** ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"**> [#uses=1]
+ store %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %v_arg, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"** %5
+ store %"tango.text.Regex.List!(TNFAFragment).List.Element"* %.newclass_gc21, %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp19
+ %tmp34 = load %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp1 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=2]
+ %tmp35 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp34, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=1]
+ %tmp36 = load %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp35 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=1]
+ %tmp37 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp36, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=1]
+ store %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp34, %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp37
+ %tmp45 = load %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp1 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=1]
+ %tmp46 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp45, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=1]
+ %tmp47 = load %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp46 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=1]
+ br label %endif
+
+endif: ; preds = %else, %if
+ %storemerge = phi %"tango.text.Regex.List!(TNFAFragment).List.Element"* [ %.newclass_gc, %if ], [ %tmp47, %else ] ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=1]
+ store %"tango.text.Regex.List!(TNFAFragment).List.Element"* %storemerge, %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp1
+ %tmp49 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %.this_arg, i32 0, i32 2 ; <i32*> [#uses=2]
+ %tmp52 = load i32* %tmp49 ; <i32> [#uses=1]
+ %tmp53 = add i32 %tmp52, 1 ; <i32> [#uses=1]
+ store i32 %tmp53, i32* %tmp49
+ ret %"tango.text.Regex.List!(TNFAFragment).List"* %.this_arg
+}
+
+define weak_odr fastcc %"tango.text.Regex.List!(TNFAFragment).List"* @_D5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List12insertBeforeMFC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZC5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List(%"tango.text.Regex.List!(TNFAFragment).List"* %.this_arg, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %w_arg, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %v_arg) {
+entry:
+ %.frame = alloca %34, align 8 ; <%34*> [#uses=5]
+ %this = getelementptr %34* %.frame, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFAFragment).List"**> [#uses=1]
+ store %"tango.text.Regex.List!(TNFAFragment).List"* %.this_arg, %"tango.text.Regex.List!(TNFAFragment).List"** %this, align 8
+ %w = getelementptr %34* %.frame, i32 0, i32 1 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"**> [#uses=1]
+ store %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %w_arg, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"** %w
+ %v = getelementptr %34* %.frame, i32 0, i32 2 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"**> [#uses=1]
+ store %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %v_arg, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"** %v, align 8
+ %tmp7 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %.this_arg, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"**> [#uses=1]
+ %tmp8 = load %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"** %tmp7 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"*> [#uses=1]
+ %"this.elements@vtbl" = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"* %tmp8, i32 0, i32 18 ; <i32 (%"tango.text.Regex.List!(TNFAFragment).List"*, %1)**> [#uses=1]
+ %this.elements = load i32 (%"tango.text.Regex.List!(TNFAFragment).List"*, %1)** %"this.elements@vtbl", align 4 ; <i32 (%"tango.text.Regex.List!(TNFAFragment).List"*, %1)*> [#uses=1]
+ %tmp10 = bitcast %34* %.frame to i8* ; <i8*> [#uses=1]
+ %tmp11 = insertvalue %1 undef, i8* %tmp10, 0 ; <%1> [#uses=1]
+ %.func = insertvalue %1 %tmp11, i32 (i8*, %"tango.text.Regex.List!(TNFAFragment).List.Element"**)* @_D5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List12insertBeforeMFC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZC5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List15__foreachbody57MFKC5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List7ElementZi, 1 ; <%1> [#uses=1]
+ %tmp12 = call fastcc i32 %this.elements(%"tango.text.Regex.List!(TNFAFragment).List"* %.this_arg, %1 %.func) ; <i32> [#uses=1]
+ %cond = icmp eq i32 %tmp12, 2 ; <i1> [#uses=1]
+ br i1 %cond, label %case, label %switchend
+
+case: ; preds = %entry
+ %__result = getelementptr %34* %.frame, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFAFragment).List"**> [#uses=1]
+ %tmp14 = load %"tango.text.Regex.List!(TNFAFragment).List"** %__result ; <%"tango.text.Regex.List!(TNFAFragment).List"*> [#uses=1]
+ ret %"tango.text.Regex.List!(TNFAFragment).List"* %tmp14
+
+switchend: ; preds = %entry
+ ret %"tango.text.Regex.List!(TNFAFragment).List"* null
+}
+
+define weak_odr fastcc %"tango.text.Regex.List!(TNFAFragment).List"* @_D5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List12insertBeforeMFC5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List7ElementC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZC5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List(%"tango.text.Regex.List!(TNFAFragment).List"* %.this_arg, %"tango.text.Regex.List!(TNFAFragment).List.Element"* %e_arg, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %v_arg) {
+entry:
+ %.newclass_gc_alloc = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List7Element7__ClassZ) ; <i8*> [#uses=7]
+ %.newclass_gc = bitcast i8* %.newclass_gc_alloc to %"tango.text.Regex.List!(TNFAFragment).List.Element"* ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=3]
+ %vtbl = bitcast i8* %.newclass_gc_alloc to %object.ModuleInfo.__vtbl** ; <%object.ModuleInfo.__vtbl**> [#uses=1]
+ store %object.ModuleInfo.__vtbl* @_D5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List7Element6__vtblZ, %object.ModuleInfo.__vtbl** %vtbl
+ %monitor = getelementptr i8* %.newclass_gc_alloc, i32 4 ; <i8*> [#uses=1]
+ %0 = bitcast i8* %monitor to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %0
+ %tmp1 = getelementptr i8* %.newclass_gc_alloc, i32 8 ; <i8*> [#uses=2]
+ tail call void @llvm.memcpy.i32(i8* %tmp1, i8* bitcast (%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"** getelementptr (%"tango.text.Regex.List!(TNFAFragment).List.Element"* @_D5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List7Element6__initZ, i32 0, i32 2) to i8*), i32 16, i32 1)
+ %tmp6 = getelementptr i8* %.newclass_gc_alloc, i32 20 ; <i8*> [#uses=1]
+ %1 = bitcast i8* %tmp6 to %"tango.text.Regex.List!(TNFAFragment).List"** ; <%"tango.text.Regex.List!(TNFAFragment).List"**> [#uses=1]
+ store %"tango.text.Regex.List!(TNFAFragment).List"* %.this_arg, %"tango.text.Regex.List!(TNFAFragment).List"** %1
+ %2 = bitcast i8* %tmp1 to %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"** ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"**> [#uses=1]
+ store %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %v_arg, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"** %2
+ %tmp10 = getelementptr i8* %.newclass_gc_alloc, i32 12 ; <i8*> [#uses=1]
+ %3 = bitcast i8* %tmp10 to %"tango.text.Regex.List!(TNFAFragment).List.Element"** ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=1]
+ %tmp12 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.Element"* %e_arg, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=2]
+ %tmp13 = load %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp12 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=2]
+ store %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp13, %"tango.text.Regex.List!(TNFAFragment).List.Element"** %3
+ %tmp15 = getelementptr i8* %.newclass_gc_alloc, i32 16 ; <i8*> [#uses=1]
+ %4 = bitcast i8* %tmp15 to %"tango.text.Regex.List!(TNFAFragment).List.Element"** ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=1]
+ store %"tango.text.Regex.List!(TNFAFragment).List.Element"* %e_arg, %"tango.text.Regex.List!(TNFAFragment).List.Element"** %4
+ %tmp20 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp13, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=1]
+ store %"tango.text.Regex.List!(TNFAFragment).List.Element"* %.newclass_gc, %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp20
+ store %"tango.text.Regex.List!(TNFAFragment).List.Element"* %.newclass_gc, %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp12
+ %tmp26 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %.this_arg, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=2]
+ %tmp28 = load %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp26 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=1]
+ %tmp29 = icmp eq %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp28, %e_arg ; <i1> [#uses=1]
+ br i1 %tmp29, label %if, label %endif
+
+if: ; preds = %entry
+ store %"tango.text.Regex.List!(TNFAFragment).List.Element"* %.newclass_gc, %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp26
+ br label %endif
+
+endif: ; preds = %if, %entry
+ %tmp34 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %.this_arg, i32 0, i32 2 ; <i32*> [#uses=2]
+ %tmp37 = load i32* %tmp34 ; <i32> [#uses=1]
+ %tmp38 = add i32 %tmp37, 1 ; <i32> [#uses=1]
+ store i32 %tmp38, i32* %tmp34
+ ret %"tango.text.Regex.List!(TNFAFragment).List"* %.this_arg
+}
+
+define weak_odr fastcc %"tango.text.Regex.List!(TNFAFragment).List"* @_D5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List9pushFrontMFC5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4ListZC5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List(%"tango.text.Regex.List!(TNFAFragment).List"* %.this_arg, %"tango.text.Regex.List!(TNFAFragment).List"* %l_arg) {
+entry:
+ %tmp1 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %l_arg, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"**> [#uses=1]
+ %tmp2 = load %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"** %tmp1 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"*> [#uses=1]
+ %"l.empty@vtbl" = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"* %tmp2, i32 0, i32 14 ; <i1 (%"tango.text.Regex.List!(TNFAFragment).List"*)**> [#uses=1]
+ %l.empty = load i1 (%"tango.text.Regex.List!(TNFAFragment).List"*)** %"l.empty@vtbl", align 4 ; <i1 (%"tango.text.Regex.List!(TNFAFragment).List"*)*> [#uses=1]
+ %tmp4 = tail call fastcc i1 %l.empty(%"tango.text.Regex.List!(TNFAFragment).List"* %l_arg) ; <i1> [#uses=1]
+ br i1 %tmp4, label %if, label %endif
+
+if: ; preds = %entry
+ ret %"tango.text.Regex.List!(TNFAFragment).List"* %.this_arg
+
+endif: ; preds = %entry
+ %tmp7 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %.this_arg, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=4]
+ %tmp8 = load %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp7 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=2]
+ %tmp9 = icmp eq %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp8, null ; <i1> [#uses=1]
+ br i1 %tmp9, label %if10, label %else
+
+if10: ; preds = %endif
+ %tmp15 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %l_arg, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=1]
+ %tmp16 = load %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp15 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=1]
+ store %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp16, %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp7
+ %tmp18 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %.this_arg, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=1]
+ %tmp20 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %l_arg, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=1]
+ %tmp21 = load %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp20 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=1]
+ store %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp21, %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp18
+ br label %endif11
+
+else: ; preds = %endif
+ %tmp25 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp8, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=1]
+ %tmp27 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %l_arg, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=1]
+ %tmp28 = load %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp27 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=1]
+ store %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp28, %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp25
+ %tmp31 = load %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp7 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=2]
+ %tmp32 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp31, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=1]
+ %tmp33 = load %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp32 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=1]
+ %tmp34 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp33, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=1]
+ store %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp31, %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp34
+ %tmp41 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %l_arg, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=1]
+ %tmp42 = load %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp41 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=1]
+ store %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp42, %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp7
+ br label %endif11
+
+endif11: ; preds = %else, %if10
+ %tmp44 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %.this_arg, i32 0, i32 2 ; <i32*> [#uses=2]
+ %tmp48 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %l_arg, i32 0, i32 2 ; <i32*> [#uses=1]
+ %tmp49 = load i32* %tmp44 ; <i32> [#uses=1]
+ %tmp50 = load i32* %tmp48 ; <i32> [#uses=1]
+ %tmp51 = add i32 %tmp49, %tmp50 ; <i32> [#uses=1]
+ store i32 %tmp51, i32* %tmp44
+ ret %"tango.text.Regex.List!(TNFAFragment).List"* %.this_arg
+}
+
+define weak_odr fastcc i32 @_D5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List6lengthMFZk(%"tango.text.Regex.List!(TNFAFragment).List"* nocapture %.this_arg) nounwind readonly {
+entry:
+ %tmp1 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %.this_arg, i32 0, i32 2 ; <i32*> [#uses=1]
+ %tmp2 = load i32* %tmp1 ; <i32> [#uses=1]
+ ret i32 %tmp2
+}
+
+define weak_odr fastcc i1 @_D5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List5emptyMFZb(%"tango.text.Regex.List!(TNFAFragment).List"* nocapture %.this_arg) nounwind readonly {
+entry:
+ %tmp1 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %.this_arg, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=1]
+ %tmp2 = load %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp1 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=1]
+ %tmp3 = icmp eq %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp2, null ; <i1> [#uses=1]
+ ret i1 %tmp3
+}
+
+define weak_odr fastcc void @_D5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List5clearMFZv(%"tango.text.Regex.List!(TNFAFragment).List"* nocapture %.this_arg) nounwind {
+entry:
+ %tmp1 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %.this_arg, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=1]
+ store %"tango.text.Regex.List!(TNFAFragment).List.Element"* null, %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp1
+ %tmp3 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %.this_arg, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=1]
+ store %"tango.text.Regex.List!(TNFAFragment).List.Element"* null, %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp3
+ %tmp5 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %.this_arg, i32 0, i32 2 ; <i32*> [#uses=1]
+ store i32 0, i32* %tmp5
+ ret void
+}
+
+define weak_odr fastcc void @_D5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List3popMFZv(%"tango.text.Regex.List!(TNFAFragment).List"* %.this_arg) {
+entry:
+ %tmp1 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %.this_arg, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"**> [#uses=1]
+ %tmp2 = load %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"** %tmp1 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"*> [#uses=1]
+ %"this.remove@vtbl" = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"* %tmp2, i32 0, i32 17 ; <void (%"tango.text.Regex.List!(TNFAFragment).List"*, %"tango.text.Regex.List!(TNFAFragment).List.Element"*)**> [#uses=1]
+ %this.remove = load void (%"tango.text.Regex.List!(TNFAFragment).List"*, %"tango.text.Regex.List!(TNFAFragment).List.Element"*)** %"this.remove@vtbl", align 4 ; <void (%"tango.text.Regex.List!(TNFAFragment).List"*, %"tango.text.Regex.List!(TNFAFragment).List.Element"*)*> [#uses=1]
+ %tmp5 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %.this_arg, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=1]
+ %tmp6 = load %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp5 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=1]
+ tail call fastcc void %this.remove(%"tango.text.Regex.List!(TNFAFragment).List"* %.this_arg, %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp6)
+ ret void
+}
+
+define weak_odr fastcc void @_D5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List6removeMFC5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List7ElementZv(%"tango.text.Regex.List!(TNFAFragment).List"* nocapture %.this_arg, %"tango.text.Regex.List!(TNFAFragment).List.Element"* %e_arg) nounwind {
+entry:
+ %tmp1 = icmp eq %"tango.text.Regex.List!(TNFAFragment).List.Element"* %e_arg, null ; <i1> [#uses=1]
+ br i1 %tmp1, label %if, label %endif
+
+if: ; preds = %entry
+ ret void
+
+endif: ; preds = %entry
+ %tmp3 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.Element"* %e_arg, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=3]
+ %tmp4 = load %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp3 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=2]
+ %tmp5 = icmp eq %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp4, null ; <i1> [#uses=1]
+ br i1 %tmp5, label %if6, label %else
+
+if6: ; preds = %endif
+ %tmp9 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %.this_arg, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=1]
+ %tmp11 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.Element"* %e_arg, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=1]
+ %tmp12 = load %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp11 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=1]
+ store %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp12, %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp9
+ br label %endif7
+
+else: ; preds = %endif
+ %tmp16 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp4, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=1]
+ %tmp18 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.Element"* %e_arg, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=1]
+ %tmp19 = load %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp18 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=1]
+ store %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp19, %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp16
+ br label %endif7
+
+endif7: ; preds = %else, %if6
+ %tmp21 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.Element"* %e_arg, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=1]
+ %tmp22 = load %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp21 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=2]
+ %tmp23 = icmp eq %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp22, null ; <i1> [#uses=1]
+ br i1 %tmp23, label %if24, label %else26
+
+if24: ; preds = %endif7
+ %tmp28 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %.this_arg, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=1]
+ %tmp31 = load %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp3 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=1]
+ store %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp31, %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp28
+ br label %endif25
+
+else26: ; preds = %endif7
+ %tmp35 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp22, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=1]
+ %tmp38 = load %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp3 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=1]
+ store %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp38, %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp35
+ br label %endif25
+
+endif25: ; preds = %else26, %if24
+ %tmp40 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %.this_arg, i32 0, i32 2 ; <i32*> [#uses=2]
+ %tmp43 = load i32* %tmp40 ; <i32> [#uses=1]
+ %tmp44 = add i32 %tmp43, -1 ; <i32> [#uses=1]
+ store i32 %tmp44, i32* %tmp40
+ ret void
+}
+
+define weak_odr fastcc i32 @_D5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List8elementsMFDFKC5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List7ElementZiZi(%"tango.text.Regex.List!(TNFAFragment).List"* nocapture %.this_arg, %1 %dg_arg) {
+entry:
+ %e = alloca %"tango.text.Regex.List!(TNFAFragment).List.Element"*, align 4 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=3]
+ %dg_arg18 = extractvalue %1 %dg_arg, 0 ; <i8*> [#uses=1]
+ %dg_arg19 = extractvalue %1 %dg_arg, 1 ; <i32 (i8*, %"tango.text.Regex.List!(TNFAFragment).List.Element"**)*> [#uses=1]
+ %tmp1 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %.this_arg, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=1]
+ br label %forcond
+
+forcond: ; preds = %forinc, %entry
+ %storemerge.in = phi %"tango.text.Regex.List!(TNFAFragment).List.Element"** [ %tmp15, %forinc ], [ %tmp1, %entry ] ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=1]
+ %storemerge = load %"tango.text.Regex.List!(TNFAFragment).List.Element"** %storemerge.in ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=2]
+ store %"tango.text.Regex.List!(TNFAFragment).List.Element"* %storemerge, %"tango.text.Regex.List!(TNFAFragment).List.Element"** %e
+ %tmp4 = icmp eq %"tango.text.Regex.List!(TNFAFragment).List.Element"* %storemerge, null ; <i1> [#uses=1]
+ br i1 %tmp4, label %endfor, label %forbody
+
+forbody: ; preds = %forcond
+ %tmp9 = call fastcc i32 %dg_arg19(i8* %dg_arg18, %"tango.text.Regex.List!(TNFAFragment).List.Element"** %e) ; <i32> [#uses=2]
+ %tmp12 = icmp eq i32 %tmp9, 0 ; <i1> [#uses=1]
+ br i1 %tmp12, label %forinc, label %if
+
+if: ; preds = %forbody
+ ret i32 %tmp9
+
+forinc: ; preds = %forbody
+ %tmp14 = load %"tango.text.Regex.List!(TNFAFragment).List.Element"** %e ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=1]
+ %tmp15 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp14, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=1]
+ br label %forcond
+
+endfor: ; preds = %forcond
+ ret i32 0
+}
+
+define weak_odr fastcc i32 @_D5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List16elements_reverseMFDFKC5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List7ElementZiZi(%"tango.text.Regex.List!(TNFAFragment).List"* nocapture %.this_arg, %1 %dg_arg) {
+entry:
+ %e = alloca %"tango.text.Regex.List!(TNFAFragment).List.Element"*, align 4 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=3]
+ %dg_arg18 = extractvalue %1 %dg_arg, 0 ; <i8*> [#uses=1]
+ %dg_arg19 = extractvalue %1 %dg_arg, 1 ; <i32 (i8*, %"tango.text.Regex.List!(TNFAFragment).List.Element"**)*> [#uses=1]
+ %tmp1 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %.this_arg, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=1]
+ br label %forcond
+
+forcond: ; preds = %forinc, %entry
+ %storemerge.in = phi %"tango.text.Regex.List!(TNFAFragment).List.Element"** [ %tmp15, %forinc ], [ %tmp1, %entry ] ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=1]
+ %storemerge = load %"tango.text.Regex.List!(TNFAFragment).List.Element"** %storemerge.in ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=2]
+ store %"tango.text.Regex.List!(TNFAFragment).List.Element"* %storemerge, %"tango.text.Regex.List!(TNFAFragment).List.Element"** %e
+ %tmp4 = icmp eq %"tango.text.Regex.List!(TNFAFragment).List.Element"* %storemerge, null ; <i1> [#uses=1]
+ br i1 %tmp4, label %endfor, label %forbody
+
+forbody: ; preds = %forcond
+ %tmp9 = call fastcc i32 %dg_arg19(i8* %dg_arg18, %"tango.text.Regex.List!(TNFAFragment).List.Element"** %e) ; <i32> [#uses=2]
+ %tmp12 = icmp eq i32 %tmp9, 0 ; <i1> [#uses=1]
+ br i1 %tmp12, label %forinc, label %if
+
+if: ; preds = %forbody
+ ret i32 %tmp9
+
+forinc: ; preds = %forbody
+ %tmp14 = load %"tango.text.Regex.List!(TNFAFragment).List.Element"** %e ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=1]
+ %tmp15 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp14, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=1]
+ br label %forcond
+
+endfor: ; preds = %forcond
+ ret i32 0
+}
+
+define weak_odr fastcc i32 @_D5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List7opApplyMFDFKC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZiZi(%"tango.text.Regex.List!(TNFAFragment).List"* nocapture %.this_arg, %"int delegate(ref TNFAFragment)" %dg_arg) {
+entry:
+ %dg_arg20 = extractvalue %"int delegate(ref TNFAFragment)" %dg_arg, 0 ; <i8*> [#uses=1]
+ %dg_arg21 = extractvalue %"int delegate(ref TNFAFragment)" %dg_arg, 1 ; <i32 (i8*, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"**)*> [#uses=1]
+ %tmp1 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %.this_arg, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=1]
+ br label %forcond
+
+forcond: ; preds = %forinc, %entry
+ %e.0.in = phi %"tango.text.Regex.List!(TNFAFragment).List.Element"** [ %tmp1, %entry ], [ %tmp17, %forinc ] ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=1]
+ %e.0 = load %"tango.text.Regex.List!(TNFAFragment).List.Element"** %e.0.in ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=3]
+ %tmp4 = icmp eq %"tango.text.Regex.List!(TNFAFragment).List.Element"* %e.0, null ; <i1> [#uses=1]
+ br i1 %tmp4, label %endfor, label %forbody
+
+forbody: ; preds = %forcond
+ %tmp10 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.Element"* %e.0, i32 0, i32 2 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"**> [#uses=1]
+ %tmp11 = tail call fastcc i32 %dg_arg21(i8* %dg_arg20, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"** %tmp10) ; <i32> [#uses=2]
+ %tmp14 = icmp eq i32 %tmp11, 0 ; <i1> [#uses=1]
+ br i1 %tmp14, label %forinc, label %if
+
+if: ; preds = %forbody
+ ret i32 %tmp11
+
+forinc: ; preds = %forbody
+ %tmp17 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.Element"* %e.0, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=1]
+ br label %forcond
+
+endfor: ; preds = %forcond
+ ret i32 0
+}
+
+define weak_odr fastcc i32 @_D5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List14opApplyReverseMFDFKC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZiZi(%"tango.text.Regex.List!(TNFAFragment).List"* nocapture %.this_arg, %"int delegate(ref TNFAFragment)" %dg_arg) {
+entry:
+ %dg_arg20 = extractvalue %"int delegate(ref TNFAFragment)" %dg_arg, 0 ; <i8*> [#uses=1]
+ %dg_arg21 = extractvalue %"int delegate(ref TNFAFragment)" %dg_arg, 1 ; <i32 (i8*, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"**)*> [#uses=1]
+ %tmp1 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %.this_arg, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=1]
+ br label %forcond
+
+forcond: ; preds = %forinc, %entry
+ %e.0.in = phi %"tango.text.Regex.List!(TNFAFragment).List.Element"** [ %tmp1, %entry ], [ %tmp17, %forinc ] ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=1]
+ %e.0 = load %"tango.text.Regex.List!(TNFAFragment).List.Element"** %e.0.in ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=3]
+ %tmp4 = icmp eq %"tango.text.Regex.List!(TNFAFragment).List.Element"* %e.0, null ; <i1> [#uses=1]
+ br i1 %tmp4, label %endfor, label %forbody
+
+forbody: ; preds = %forcond
+ %tmp10 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.Element"* %e.0, i32 0, i32 2 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"**> [#uses=1]
+ %tmp11 = tail call fastcc i32 %dg_arg21(i8* %dg_arg20, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"** %tmp10) ; <i32> [#uses=2]
+ %tmp14 = icmp eq i32 %tmp11, 0 ; <i1> [#uses=1]
+ br i1 %tmp14, label %forinc, label %if
+
+if: ; preds = %forbody
+ ret i32 %tmp11
+
+forinc: ; preds = %forbody
+ %tmp17 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.Element"* %e.0, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=1]
+ br label %forcond
+
+endfor: ; preds = %forcond
+ ret i32 0
+}
+
+define weak_odr fastcc %"tango.text.Regex.List!(TNFAFragment).List.Element"* @_D5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List7Element5_ctorMFC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZC5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List7Element(%"tango.text.Regex.List!(TNFAFragment).List.Element"* %.this_arg, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %v_arg) nounwind {
+entry:
+ %tmp1 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.Element"* %.this_arg, i32 0, i32 2 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"**> [#uses=1]
+ store %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %v_arg, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"** %tmp1
+ ret %"tango.text.Regex.List!(TNFAFragment).List.Element"* %.this_arg
+}
+
+define weak_odr fastcc i32 @_D5tango4text4Util21__T13locatePatternTaZ13locatePatternFAaAakZk(%"byte[]" %source_arg, %"byte[]" %match_arg, i32 %start_arg) nounwind readonly {
+entry:
+ %source_arg59 = extractvalue %"byte[]" %source_arg, 0 ; <i32> [#uses=3]
+ %source_arg60 = extractvalue %"byte[]" %source_arg, 1 ; <i8*> [#uses=2]
+ %match_arg57 = extractvalue %"byte[]" %match_arg, 0 ; <i32> [#uses=5]
+ %match_arg58 = extractvalue %"byte[]" %match_arg, 1 ; <i8*> [#uses=2]
+ %tmp5 = sub i32 %source_arg59, %start_arg ; <i32> [#uses=1]
+ %tmp8 = sub i32 %tmp5, %match_arg57 ; <i32> [#uses=1]
+ %tmp9 = add i32 %tmp8, 1 ; <i32> [#uses=2]
+ %tmp12 = icmp eq i32 %match_arg57, 0 ; <i1> [#uses=1]
+ %tmp16 = icmp ugt i32 %tmp9, %source_arg59 ; <i1> [#uses=1]
+ %or.cond = or i1 %tmp12, %tmp16 ; <i1> [#uses=1]
+ br i1 %or.cond, label %endif, label %whilecond
+
+whilecond: ; preds = %else40, %entry
+ %source_arg60.pn = phi i8* [ %p.0, %else40 ], [ %source_arg60, %entry ] ; <i8*> [#uses=4]
+ %start_arg.pn = phi i32 [ %tmp49, %else40 ], [ %start_arg, %entry ] ; <i32> [#uses=3]
+ %extent.0 = phi i32 [ %tmp51, %else40 ], [ %tmp9, %entry ] ; <i32> [#uses=5]
+ %p.0 = getelementptr i8* %source_arg60.pn, i32 %start_arg.pn ; <i8*> [#uses=2]
+ %tmp18 = icmp eq i32 %extent.0, 0 ; <i1> [#uses=1]
+ br i1 %tmp18, label %endif, label %whilebody
+
+whilebody: ; preds = %whilecond
+ %tmp23 = load i8* %match_arg58 ; <i8> [#uses=1]
+ %p.0.sum63 = add i32 %start_arg.pn, -1 ; <i32> [#uses=1]
+ %tmp2.i = getelementptr i8* %source_arg60.pn, i32 %p.0.sum63 ; <i8*> [#uses=1]
+ br label %forcond.i
+
+forcond.i: ; preds = %forbody.i, %whilebody
+ %len.0.i = phi i32 [ %extent.0, %whilebody ], [ %tmp4.i, %forbody.i ] ; <i32> [#uses=2]
+ %p.0.i = phi i8* [ %tmp2.i, %whilebody ], [ %tmp7.i, %forbody.i ] ; <i8*> [#uses=1]
+ %tmp4.i = add i32 %len.0.i, -1 ; <i32> [#uses=1]
+ %tmp5.i = icmp eq i32 %len.0.i, 0 ; <i1> [#uses=1]
+ br i1 %tmp5.i, label %_D5tango4text4Util14__T7indexOfTaZ7indexOfFPaakZk.exit, label %forbody.i
+
+forbody.i: ; preds = %forcond.i
+ %tmp7.i = getelementptr i8* %p.0.i, i32 1 ; <i8*> [#uses=3]
+ %tmp8.i = load i8* %tmp7.i ; <i8> [#uses=1]
+ %tmp12.i = icmp eq i8 %tmp8.i, %tmp23 ; <i1> [#uses=1]
+ br i1 %tmp12.i, label %if.i, label %forcond.i
+
+if.i: ; preds = %forbody.i
+ %tmp15.i = ptrtoint i8* %tmp7.i to i32 ; <i32> [#uses=1]
+ %tmp16.i = ptrtoint i8* %p.0 to i32 ; <i32> [#uses=1]
+ %tmp17.i = sub i32 %tmp15.i, %tmp16.i ; <i32> [#uses=1]
+ br label %_D5tango4text4Util14__T7indexOfTaZ7indexOfFPaakZk.exit
+
+_D5tango4text4Util14__T7indexOfTaZ7indexOfFPaakZk.exit: ; preds = %if.i, %forcond.i
+ %tmp2561 = phi i32 [ %tmp17.i, %if.i ], [ %extent.0, %forcond.i ] ; <i32> [#uses=3]
+ %tmp27 = icmp eq i32 %tmp2561, %extent.0 ; <i1> [#uses=1]
+ br i1 %tmp27, label %endif, label %else
+
+else: ; preds = %_D5tango4text4Util14__T7indexOfTaZ7indexOfFPaakZk.exit
+ %p.0.sum = add i32 %start_arg.pn, %tmp2561 ; <i32> [#uses=2]
+ %tmp32 = getelementptr i8* %source_arg60.pn, i32 %p.0.sum ; <i8*> [#uses=2]
+ %tmp32.sum = add i32 %p.0.sum, -1 ; <i32> [#uses=1]
+ %tmp2.i.i = getelementptr i8* %source_arg60.pn, i32 %tmp32.sum ; <i8*> [#uses=1]
+ br label %forcond.i.i
+
+forcond.i.i: ; preds = %forbody.i.i, %else
+ %len.0.i.i = phi i32 [ %match_arg57, %else ], [ %tmp4.i.i, %forbody.i.i ] ; <i32> [#uses=2]
+ %s2.0.i.i = phi i8* [ %match_arg58, %else ], [ %tmp11.i.i, %forbody.i.i ] ; <i8*> [#uses=2]
+ %p.0.i.i = phi i8* [ %tmp2.i.i, %else ], [ %tmp7.i.i, %forbody.i.i ] ; <i8*> [#uses=1]
+ %tmp4.i.i = add i32 %len.0.i.i, -1 ; <i32> [#uses=1]
+ %tmp5.i.i = icmp eq i32 %len.0.i.i, 0 ; <i1> [#uses=1]
+ br i1 %tmp5.i.i, label %_D5tango4text4Util15__T8matchingTaZ8matchingFPaPakZb.exit, label %forbody.i.i
+
+forbody.i.i: ; preds = %forcond.i.i
+ %tmp7.i.i = getelementptr i8* %p.0.i.i, i32 1 ; <i8*> [#uses=3]
+ %tmp8.i.i = load i8* %tmp7.i.i ; <i8> [#uses=1]
+ %tmp11.i.i = getelementptr i8* %s2.0.i.i, i32 1 ; <i8*> [#uses=1]
+ %tmp12.i.i = load i8* %s2.0.i.i ; <i8> [#uses=1]
+ %tmp14.i.i = icmp eq i8 %tmp8.i.i, %tmp12.i.i ; <i1> [#uses=1]
+ br i1 %tmp14.i.i, label %forcond.i.i, label %if.i.i
+
+if.i.i: ; preds = %forbody.i.i
+ %tmp17.i.i = ptrtoint i8* %tmp7.i.i to i32 ; <i32> [#uses=1]
+ %tmp18.i.i = ptrtoint i8* %tmp32 to i32 ; <i32> [#uses=1]
+ %tmp19.i.i = sub i32 %tmp17.i.i, %tmp18.i.i ; <i32> [#uses=1]
+ br label %_D5tango4text4Util15__T8matchingTaZ8matchingFPaPakZb.exit
+
+_D5tango4text4Util15__T8matchingTaZ8matchingFPaPakZb.exit: ; preds = %if.i.i, %forcond.i.i
+ %tmp36.i = phi i32 [ %tmp19.i.i, %if.i.i ], [ %match_arg57, %forcond.i.i ] ; <i32> [#uses=1]
+ %tmp5.i62 = icmp eq i32 %tmp36.i, %match_arg57 ; <i1> [#uses=1]
+ br i1 %tmp5.i62, label %if38, label %else40
+
+if38: ; preds = %_D5tango4text4Util15__T8matchingTaZ8matchingFPaPakZb.exit
+ %tmp44 = ptrtoint i8* %tmp32 to i32 ; <i32> [#uses=1]
+ %tmp45 = ptrtoint i8* %source_arg60 to i32 ; <i32> [#uses=1]
+ %tmp46 = sub i32 %tmp44, %tmp45 ; <i32> [#uses=1]
+ ret i32 %tmp46
+
+else40: ; preds = %_D5tango4text4Util15__T8matchingTaZ8matchingFPaPakZb.exit
+ %tmp49 = add i32 %tmp2561, 1 ; <i32> [#uses=2]
+ %tmp51 = sub i32 %extent.0, %tmp49 ; <i32> [#uses=1]
+ br label %whilecond
+
+endif: ; preds = %_D5tango4text4Util14__T7indexOfTaZ7indexOfFPaakZk.exit, %whilecond, %entry
+ ret i32 %source_arg59
+}
+
+define weak_odr fastcc i32 @_D5tango4text4Util14__T7indexOfTaZ7indexOfFPaakZk(i8* %str_arg, i8 %match_arg, i32 %length_arg) nounwind readonly {
+entry:
+ %tmp2 = getelementptr i8* %str_arg, i32 -1 ; <i8*> [#uses=1]
+ br label %forcond
+
+forcond: ; preds = %forbody, %entry
+ %len.0 = phi i32 [ %length_arg, %entry ], [ %tmp4, %forbody ] ; <i32> [#uses=2]
+ %p.0 = phi i8* [ %tmp2, %entry ], [ %tmp7, %forbody ] ; <i8*> [#uses=1]
+ %tmp4 = add i32 %len.0, -1 ; <i32> [#uses=1]
+ %tmp5 = icmp eq i32 %len.0, 0 ; <i1> [#uses=1]
+ br i1 %tmp5, label %endfor, label %forbody
+
+forbody: ; preds = %forcond
+ %tmp7 = getelementptr i8* %p.0, i32 1 ; <i8*> [#uses=3]
+ %tmp8 = load i8* %tmp7 ; <i8> [#uses=1]
+ %tmp12 = icmp eq i8 %tmp8, %match_arg ; <i1> [#uses=1]
+ br i1 %tmp12, label %if, label %forcond
+
+if: ; preds = %forbody
+ %tmp15 = ptrtoint i8* %tmp7 to i32 ; <i32> [#uses=1]
+ %tmp16 = ptrtoint i8* %str_arg to i32 ; <i32> [#uses=1]
+ %tmp17 = sub i32 %tmp15, %tmp16 ; <i32> [#uses=1]
+ ret i32 %tmp17
+
+endfor: ; preds = %forcond
+ ret i32 %length_arg
+}
+
+define weak_odr fastcc i1 @_D5tango4text4Util15__T8matchingTaZ8matchingFPaPakZb(i8* %s1_arg, i8* nocapture %s2_arg, i32 %length_arg) nounwind readonly {
+entry:
+ %tmp2.i = getelementptr i8* %s1_arg, i32 -1 ; <i8*> [#uses=1]
+ br label %forcond.i
+
+forcond.i: ; preds = %forbody.i, %entry
+ %len.0.i = phi i32 [ %length_arg, %entry ], [ %tmp4.i, %forbody.i ] ; <i32> [#uses=2]
+ %s2.0.i = phi i8* [ %s2_arg, %entry ], [ %tmp11.i, %forbody.i ] ; <i8*> [#uses=2]
+ %p.0.i = phi i8* [ %tmp2.i, %entry ], [ %tmp7.i, %forbody.i ] ; <i8*> [#uses=1]
+ %tmp4.i = add i32 %len.0.i, -1 ; <i32> [#uses=1]
+ %tmp5.i = icmp eq i32 %len.0.i, 0 ; <i1> [#uses=1]
+ br i1 %tmp5.i, label %_D5tango4text4Util15__T8mismatchTaZ8mismatchFPaPakZk.exit, label %forbody.i
+
+forbody.i: ; preds = %forcond.i
+ %tmp7.i = getelementptr i8* %p.0.i, i32 1 ; <i8*> [#uses=3]
+ %tmp8.i = load i8* %tmp7.i ; <i8> [#uses=1]
+ %tmp11.i = getelementptr i8* %s2.0.i, i32 1 ; <i8*> [#uses=1]
+ %tmp12.i = load i8* %s2.0.i ; <i8> [#uses=1]
+ %tmp14.i = icmp eq i8 %tmp8.i, %tmp12.i ; <i1> [#uses=1]
+ br i1 %tmp14.i, label %forcond.i, label %if.i
+
+if.i: ; preds = %forbody.i
+ %tmp17.i = ptrtoint i8* %tmp7.i to i32 ; <i32> [#uses=1]
+ %tmp18.i = ptrtoint i8* %s1_arg to i32 ; <i32> [#uses=1]
+ %tmp19.i = sub i32 %tmp17.i, %tmp18.i ; <i32> [#uses=1]
+ br label %_D5tango4text4Util15__T8mismatchTaZ8mismatchFPaPakZk.exit
+
+_D5tango4text4Util15__T8mismatchTaZ8mismatchFPaPakZk.exit: ; preds = %if.i, %forcond.i
+ %tmp36 = phi i32 [ %tmp19.i, %if.i ], [ %length_arg, %forcond.i ] ; <i32> [#uses=1]
+ %tmp5 = icmp eq i32 %tmp36, %length_arg ; <i1> [#uses=1]
+ ret i1 %tmp5
+}
+
+define weak_odr fastcc i32 @_D5tango4text4Util15__T8mismatchTaZ8mismatchFPaPakZk(i8* %s1_arg, i8* nocapture %s2_arg, i32 %length_arg) nounwind readonly {
+entry:
+ %tmp2 = getelementptr i8* %s1_arg, i32 -1 ; <i8*> [#uses=1]
+ br label %forcond
+
+forcond: ; preds = %forbody, %entry
+ %len.0 = phi i32 [ %length_arg, %entry ], [ %tmp4, %forbody ] ; <i32> [#uses=2]
+ %s2.0 = phi i8* [ %s2_arg, %entry ], [ %tmp11, %forbody ] ; <i8*> [#uses=2]
+ %p.0 = phi i8* [ %tmp2, %entry ], [ %tmp7, %forbody ] ; <i8*> [#uses=1]
+ %tmp4 = add i32 %len.0, -1 ; <i32> [#uses=1]
+ %tmp5 = icmp eq i32 %len.0, 0 ; <i1> [#uses=1]
+ br i1 %tmp5, label %endfor, label %forbody
+
+forbody: ; preds = %forcond
+ %tmp7 = getelementptr i8* %p.0, i32 1 ; <i8*> [#uses=3]
+ %tmp8 = load i8* %tmp7 ; <i8> [#uses=1]
+ %tmp11 = getelementptr i8* %s2.0, i32 1 ; <i8*> [#uses=1]
+ %tmp12 = load i8* %s2.0 ; <i8> [#uses=1]
+ %tmp14 = icmp eq i8 %tmp8, %tmp12 ; <i1> [#uses=1]
+ br i1 %tmp14, label %forcond, label %if
+
+if: ; preds = %forbody
+ %tmp17 = ptrtoint i8* %tmp7 to i32 ; <i32> [#uses=1]
+ %tmp18 = ptrtoint i8* %s1_arg to i32 ; <i32> [#uses=1]
+ %tmp19 = sub i32 %tmp17, %tmp18 ; <i32> [#uses=1]
+ ret i32 %tmp19
+
+endfor: ; preds = %forcond
+ ret i32 %length_arg
+}
+
+define weak_odr fastcc i32 @_D5tango4text4Util19__T11locatePriorTaZ11locatePriorFAaakZk(%"byte[]" %source_arg, i8 %match_arg, i32 %start_arg) nounwind readonly {
+entry:
+ %source_arg22 = extractvalue %"byte[]" %source_arg, 0 ; <i32> [#uses=3]
+ %source_arg23 = extractvalue %"byte[]" %source_arg, 1 ; <i8*> [#uses=1]
+ %tmp2 = icmp ult i32 %source_arg22, %start_arg ; <i1> [#uses=1]
+ br i1 %tmp2, label %if, label %whilecond
+
+if: ; preds = %entry
+ br label %whilecond
+
+whilecond: ; preds = %whilebody, %if, %entry
+ %start.0 = phi i32 [ %source_arg22, %if ], [ %tmp8, %whilebody ], [ %start_arg, %entry ] ; <i32> [#uses=2]
+ %tmp6 = icmp eq i32 %start.0, 0 ; <i1> [#uses=1]
+ br i1 %tmp6, label %endwhile, label %whilebody
+
+whilebody: ; preds = %whilecond
+ %tmp8 = add i32 %start.0, -1 ; <i32> [#uses=3]
+ %tmp10 = getelementptr i8* %source_arg23, i32 %tmp8 ; <i8*> [#uses=1]
+ %tmp11 = load i8* %tmp10 ; <i8> [#uses=1]
+ %tmp15 = icmp eq i8 %tmp11, %match_arg ; <i1> [#uses=1]
+ br i1 %tmp15, label %if16, label %whilecond
+
+if16: ; preds = %whilebody
+ ret i32 %tmp8
+
+endwhile: ; preds = %whilecond
+ ret i32 %source_arg22
+}
+
+define weak_odr fastcc i32 @_D5tango4text4Util13__T6locateTaZ6locateFAaakZk(%"byte[]" %source_arg, i8 %match_arg, i32 %start_arg) nounwind readonly {
+entry:
+ %source_arg16 = extractvalue %"byte[]" %source_arg, 0 ; <i32> [#uses=3]
+ %source_arg17 = extractvalue %"byte[]" %source_arg, 1 ; <i8*> [#uses=2]
+ %tmp2 = icmp ult i32 %source_arg16, %start_arg ; <i1> [#uses=1]
+ %start.0 = select i1 %tmp2, i32 %source_arg16, i32 %start_arg ; <i32> [#uses=4]
+ %tmp7 = getelementptr i8* %source_arg17, i32 %start.0 ; <i8*> [#uses=1]
+ %tmp12 = sub i32 %source_arg16, %start.0 ; <i32> [#uses=2]
+ %tmp7.sum = add i32 %start.0, -1 ; <i32> [#uses=1]
+ %tmp2.i = getelementptr i8* %source_arg17, i32 %tmp7.sum ; <i8*> [#uses=1]
+ br label %forcond.i
+
+forcond.i: ; preds = %forbody.i, %entry
+ %len.0.i = phi i32 [ %tmp12, %entry ], [ %tmp4.i, %forbody.i ] ; <i32> [#uses=2]
+ %p.0.i = phi i8* [ %tmp2.i, %entry ], [ %tmp7.i, %forbody.i ] ; <i8*> [#uses=1]
+ %tmp4.i = add i32 %len.0.i, -1 ; <i32> [#uses=1]
+ %tmp5.i = icmp eq i32 %len.0.i, 0 ; <i1> [#uses=1]
+ br i1 %tmp5.i, label %_D5tango4text4Util14__T7indexOfTaZ7indexOfFPaakZk.exit, label %forbody.i
+
+forbody.i: ; preds = %forcond.i
+ %tmp7.i = getelementptr i8* %p.0.i, i32 1 ; <i8*> [#uses=3]
+ %tmp8.i = load i8* %tmp7.i ; <i8> [#uses=1]
+ %tmp12.i = icmp eq i8 %tmp8.i, %match_arg ; <i1> [#uses=1]
+ br i1 %tmp12.i, label %if.i, label %forcond.i
+
+if.i: ; preds = %forbody.i
+ %tmp15.i = ptrtoint i8* %tmp7.i to i32 ; <i32> [#uses=1]
+ %tmp16.i = ptrtoint i8* %tmp7 to i32 ; <i32> [#uses=1]
+ %tmp17.i = sub i32 %tmp15.i, %tmp16.i ; <i32> [#uses=1]
+ br label %_D5tango4text4Util14__T7indexOfTaZ7indexOfFPaakZk.exit
+
+_D5tango4text4Util14__T7indexOfTaZ7indexOfFPaakZk.exit: ; preds = %if.i, %forcond.i
+ %tmp1318 = phi i32 [ %tmp17.i, %if.i ], [ %tmp12, %forcond.i ] ; <i32> [#uses=1]
+ %tmp15 = add i32 %tmp1318, %start.0 ; <i32> [#uses=1]
+ ret i32 %tmp15
+}
+
+define weak_odr fastcc i64 @_D5tango4text7convert7Integer13__T6toLongTaZ6toLongFAakZl(%"byte[]" %digits_arg, i32 %radix_arg) {
+entry:
+ %len = alloca i32, align 4 ; <i32*> [#uses=3]
+ %digits_arg15 = extractvalue %"byte[]" %digits_arg, 0 ; <i32> [#uses=2]
+ %digits_arg16 = extractvalue %"byte[]" %digits_arg, 1 ; <i8*> [#uses=1]
+ store i32 0, i32* %len
+ %insert = insertvalue %"byte[]" undef, i32 %digits_arg15, 0 ; <%"byte[]"> [#uses=1]
+ %insert14 = insertvalue %"byte[]" %insert, i8* %digits_arg16, 1 ; <%"byte[]"> [#uses=1]
+ %tmp2 = call fastcc i64 @_D5tango4text7convert7Integer12__T5parseTaZ5parseFAakPkZl(%"byte[]" %insert14, i32 %radix_arg, i32* %len) ; <i64> [#uses=1]
+ %tmp4 = load i32* %len ; <i32> [#uses=1]
+ %tmp5 = icmp ult i32 %tmp4, %digits_arg15 ; <i1> [#uses=1]
+ br i1 %tmp5, label %if, label %endif
+
+if: ; preds = %entry
+ %.newclass_gc_alloc = call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4core9Exception24IllegalArgumentException7__ClassZ) ; <i8*> [#uses=5]
+ %.newclass_gc = bitcast i8* %.newclass_gc_alloc to %object.Exception* ; <%object.Exception*> [#uses=1]
+ %vtbl = bitcast i8* %.newclass_gc_alloc to %object.Exception.__vtbl** ; <%object.Exception.__vtbl**> [#uses=1]
+ store %object.Exception.__vtbl* @_D5tango4core9Exception24IllegalArgumentException6__vtblZ, %object.Exception.__vtbl** %vtbl
+ %monitor = getelementptr i8* %.newclass_gc_alloc, i32 4 ; <i8*> [#uses=1]
+ %0 = bitcast i8* %monitor to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %0
+ %tmp6 = getelementptr i8* %.newclass_gc_alloc, i32 8 ; <i8*> [#uses=1]
+ call void @llvm.memcpy.i32(i8* %tmp6, i8* bitcast (%"byte[]"* getelementptr (%object.Exception* bitcast (%29* @_D5tango4core9Exception24IllegalArgumentException6__initZ to %object.Exception*), i32 0, i32 2) to i8*), i32 28, i32 1)
+ %tmp2.i = call fastcc %object.Exception* @_D6object9Exception5_ctorMFAaC9ExceptionZC9Exception(%object.Exception* %.newclass_gc, %"byte[]" { i32 33, i8* getelementptr ([34 x i8]* @.str244, i32 0, i32 0) }, %object.Exception* null) ; <%object.Exception*> [#uses=0]
+ %tmp11 = bitcast i8* %.newclass_gc_alloc to %object.Object* ; <%object.Object*> [#uses=1]
+ call void @_d_throw_exception(%object.Object* %tmp11)
+ unreachable
+
+endif: ; preds = %entry
+ ret i64 %tmp2
+}
+
+define weak_odr fastcc i64 @_D5tango4text7convert7Integer12__T5parseTaZ5parseFAakPkZl(%"byte[]" %digits_arg, i32 %radix_arg, i32* %ate_arg) nounwind {
+entry:
+ %digits_arg26 = extractvalue %"byte[]" %digits_arg, 0 ; <i32> [#uses=3]
+ %digits_arg27 = extractvalue %"byte[]" %digits_arg, 1 ; <i8*> [#uses=5]
+ %tmp4.i = icmp eq i32 %digits_arg26, 0 ; <i1> [#uses=1]
+ br i1 %tmp4.i, label %_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit, label %forcond.i
+
+forcond.i: ; preds = %forinc.i, %entry
+ %sign.1 = phi i1 [ false, %entry ], [ %sign.0, %forinc.i ] ; <i1> [#uses=6]
+ %len.0.i = phi i32 [ %tmp33.i, %forinc.i ], [ %digits_arg26, %entry ] ; <i32> [#uses=3]
+ %p.0.i = phi i8* [ %tmp30.i, %forinc.i ], [ %digits_arg27, %entry ] ; <i8*> [#uses=6]
+ %c.0.in.i = phi i8* [ %tmp30.i, %forinc.i ], [ %digits_arg27, %entry ] ; <i8*> [#uses=1]
+ %c.0.i = load i8* %c.0.in.i ; <i8> [#uses=2]
+ %tmp8.i = icmp eq i32 %len.0.i, 0 ; <i1> [#uses=1]
+ br i1 %tmp8.i, label %endfor.i, label %forbody.i
+
+forbody.i: ; preds = %forcond.i
+ switch i8 %c.0.i, label %endfor.i [
+ i8 32, label %forinc.i
+ i8 9, label %forinc.i
+ i8 45, label %if20.i
+ i8 43, label %if26.i
+ ]
+
+if20.i: ; preds = %forbody.i
+ br label %forinc.i
+
+if26.i: ; preds = %forbody.i
+ br label %forinc.i
+
+forinc.i: ; preds = %if26.i, %if20.i, %forbody.i, %forbody.i
+ %sign.0 = phi i1 [ false, %if26.i ], [ true, %if20.i ], [ %sign.1, %forbody.i ], [ %sign.1, %forbody.i ] ; <i1> [#uses=1]
+ %tmp30.i = getelementptr i8* %p.0.i, i32 1 ; <i8*> [#uses=2]
+ %tmp33.i = add i32 %len.0.i, -1 ; <i32> [#uses=1]
+ br label %forcond.i
+
+endfor.i: ; preds = %forbody.i, %forcond.i
+ %tmp37.i = icmp eq i8 %c.0.i, 48 ; <i1> [#uses=1]
+ %tmp39.i = icmp sgt i32 %len.0.i, 1 ; <i1> [#uses=1]
+ %or.cond.i = and i1 %tmp37.i, %tmp39.i ; <i1> [#uses=1]
+ br i1 %or.cond.i, label %if40.i, label %endif41.i
+
+if40.i: ; preds = %endfor.i
+ %tmp43.i = getelementptr i8* %p.0.i, i32 1 ; <i8*> [#uses=2]
+ %tmp44.i = load i8* %tmp43.i ; <i8> [#uses=1]
+ %tmp45.i = zext i8 %tmp44.i to i32 ; <i32> [#uses=1]
+ switch i32 %tmp45.i, label %endif41.i [
+ i32 120, label %case46.i
+ i32 88, label %case46.i
+ i32 98, label %case51.i
+ i32 66, label %case51.i
+ i32 111, label %case56.i
+ i32 79, label %case56.i
+ ]
+
+case46.i: ; preds = %if40.i, %if40.i
+ %tmp48.i = getelementptr i8* %p.0.i, i32 2 ; <i8*> [#uses=1]
+ br label %endif41.i
+
+case51.i: ; preds = %if40.i, %if40.i
+ %tmp53.i = getelementptr i8* %p.0.i, i32 2 ; <i8*> [#uses=1]
+ br label %endif41.i
+
+case56.i: ; preds = %if40.i, %if40.i
+ %tmp58.i = getelementptr i8* %p.0.i, i32 2 ; <i8*> [#uses=1]
+ br label %endif41.i
+
+endif41.i: ; preds = %case56.i, %case51.i, %case46.i, %if40.i, %endfor.i
+ %r.0.i = phi i32 [ %radix_arg, %if40.i ], [ 8, %case56.i ], [ 2, %case51.i ], [ 16, %case46.i ], [ %radix_arg, %endfor.i ] ; <i32> [#uses=3]
+ %p.2.i = phi i8* [ %tmp43.i, %if40.i ], [ %tmp58.i, %case56.i ], [ %tmp53.i, %case51.i ], [ %tmp48.i, %case46.i ], [ %p.0.i, %endfor.i ] ; <i8*> [#uses=4]
+ %tmp63.i = icmp eq i32 %r.0.i, 0 ; <i1> [#uses=1]
+ br i1 %tmp63.i, label %_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit, label %else66.i
+
+else66.i: ; preds = %endif41.i
+ %tmp69.i = icmp eq i32 %r.0.i, %radix_arg ; <i1> [#uses=1]
+ br i1 %tmp69.i, label %_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit, label %if70.i
+
+if70.i: ; preds = %else66.i
+ %tmp77.i = icmp eq i32 %radix_arg, 0 ; <i1> [#uses=1]
+ br i1 %tmp77.i, label %_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit, label %if73.i
+
+if73.i: ; preds = %if70.i
+ %tmp79.i = getelementptr i8* %p.2.i, i32 -1 ; <i8*> [#uses=1]
+ br label %_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit
+
+_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit: ; preds = %if73.i, %if70.i, %else66.i, %endif41.i, %entry
+ %sign.2 = phi i1 [ false, %entry ], [ %sign.1, %else66.i ], [ %sign.1, %if73.i ], [ %sign.1, %endif41.i ], [ %sign.1, %if70.i ] ; <i1> [#uses=1]
+ %radix.0 = phi i32 [ %radix_arg, %entry ], [ %radix_arg, %else66.i ], [ %radix_arg, %if73.i ], [ 10, %endif41.i ], [ %r.0.i, %if70.i ] ; <i32> [#uses=2]
+ %p.1.i = phi i8* [ %tmp79.i, %if73.i ], [ %p.2.i, %else66.i ], [ %digits_arg27, %entry ], [ %p.2.i, %endif41.i ], [ %p.2.i, %if70.i ] ; <i8*> [#uses=1]
+ %tmp84.i = ptrtoint i8* %p.1.i to i32 ; <i32> [#uses=1]
+ %tmp85.i = ptrtoint i8* %digits_arg27 to i32 ; <i32> [#uses=1]
+ %tmp86.i = sub i32 %tmp84.i, %tmp85.i ; <i32> [#uses=3]
+ %tmp6 = sub i32 %digits_arg26, %tmp86.i ; <i32> [#uses=1]
+ br label %foreachcond.i
+
+foreachcond.i: ; preds = %if55.i, %_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit
+ %value.0.i = phi i64 [ 0, %_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit ], [ %tmp65.i, %if55.i ] ; <i64> [#uses=3]
+ %eaten.0.i = phi i32 [ 0, %_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit ], [ %tmp67.i, %if55.i ] ; <i32> [#uses=2]
+ %foreachkey.0.i = phi i32 [ 0, %_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit ], [ %tmp70.i, %if55.i ] ; <i32> [#uses=3]
+ %tmp3.i = icmp ult i32 %foreachkey.0.i, %tmp6 ; <i1> [#uses=1]
+ br i1 %tmp3.i, label %foreachbody.i, label %foreachend.i
+
+foreachbody.i: ; preds = %foreachcond.i
+ %tmp5.sum = add i32 %tmp86.i, %foreachkey.0.i ; <i32> [#uses=1]
+ %tmp5.i = getelementptr i8* %digits_arg27, i32 %tmp5.sum ; <i8*> [#uses=1]
+ %tmp6.i = load i8* %tmp5.i ; <i8> [#uses=6]
+ %tmp6.off84.i = add i8 %tmp6.i, -48 ; <i8> [#uses=1]
+ %or.cond.i28 = icmp ugt i8 %tmp6.off84.i, 9 ; <i1> [#uses=1]
+ br i1 %or.cond.i28, label %else.i, label %endif.i
+
+else.i: ; preds = %foreachbody.i
+ %tmp6.off83.i = add i8 %tmp6.i, -97 ; <i8> [#uses=1]
+ %or.cond81.i = icmp ugt i8 %tmp6.off83.i, 25 ; <i1> [#uses=1]
+ br i1 %or.cond81.i, label %else24.i, label %if22.i
+
+if22.i: ; preds = %else.i
+ %tmp27.i = add i8 %tmp6.i, -39 ; <i8> [#uses=1]
+ br label %endif.i
+
+else24.i: ; preds = %else.i
+ %tmp6.off.i = add i8 %tmp6.i, -65 ; <i8> [#uses=1]
+ %or.cond82.i = icmp ugt i8 %tmp6.off.i, 25 ; <i1> [#uses=1]
+ br i1 %or.cond82.i, label %foreachend.i, label %if39.i
+
+if39.i: ; preds = %else24.i
+ %tmp44.i29 = add i8 %tmp6.i, -7 ; <i8> [#uses=1]
+ br label %endif.i
+
+endif.i: ; preds = %if39.i, %if22.i, %foreachbody.i
+ %c.0.i30 = phi i8 [ %tmp27.i, %if22.i ], [ %tmp44.i29, %if39.i ], [ %tmp6.i, %foreachbody.i ] ; <i8> [#uses=1]
+ %tmp48.i31 = zext i8 %c.0.i30 to i32 ; <i32> [#uses=1]
+ %tmp49.i = add i32 %tmp48.i31, 208 ; <i32> [#uses=1]
+ %tmp52.i = and i32 %tmp49.i, 255 ; <i32> [#uses=2]
+ %tmp54.i = icmp ult i32 %tmp52.i, %radix.0 ; <i1> [#uses=1]
+ br i1 %tmp54.i, label %if55.i, label %foreachend.i
+
+if55.i: ; preds = %endif.i
+ %tmp59.i = zext i32 %radix.0 to i64 ; <i64> [#uses=1]
+ %tmp61.i = mul i64 %value.0.i, %tmp59.i ; <i64> [#uses=1]
+ %tmp64.i = zext i32 %tmp52.i to i64 ; <i64> [#uses=1]
+ %tmp65.i = add i64 %tmp61.i, %tmp64.i ; <i64> [#uses=1]
+ %tmp67.i = add i32 %eaten.0.i, 1 ; <i32> [#uses=1]
+ %tmp70.i = add i32 %foreachkey.0.i, 1 ; <i32> [#uses=1]
+ br label %foreachcond.i
+
+foreachend.i: ; preds = %endif.i, %else24.i, %foreachcond.i
+ %tmp75.i = icmp eq i32* %ate_arg, null ; <i1> [#uses=1]
+ br i1 %tmp75.i, label %endif, label %if72.i
+
+if72.i: ; preds = %foreachend.i
+ %tmp19 = add i32 %eaten.0.i, %tmp86.i ; <i32> [#uses=1]
+ store i32 %tmp19, i32* %ate_arg
+ br label %endif
+
+endif: ; preds = %if72.i, %foreachend.i
+ %negval = sub i64 0, %value.0.i ; <i64> [#uses=1]
+ %condtmp.0 = select i1 %sign.2, i64 %negval, i64 %value.0.i ; <i64> [#uses=1]
+ ret i64 %condtmp.0
+}
+
+define weak_odr fastcc i32 @_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk(%"byte[]" %digits_arg, i1* nocapture %sign_arg, i32* nocapture %radix_arg) nounwind {
+entry:
+ %digits_arg88 = extractvalue %"byte[]" %digits_arg, 0 ; <i32> [#uses=2]
+ %digits_arg89 = extractvalue %"byte[]" %digits_arg, 1 ; <i8*> [#uses=4]
+ %tmp4 = icmp eq i32 %digits_arg88, 0 ; <i1> [#uses=1]
+ br i1 %tmp4, label %endif, label %forcond
+
+forcond: ; preds = %forinc, %entry
+ %len.0 = phi i32 [ %tmp33, %forinc ], [ %digits_arg88, %entry ] ; <i32> [#uses=3]
+ %p.0 = phi i8* [ %tmp30, %forinc ], [ %digits_arg89, %entry ] ; <i8*> [#uses=6]
+ %c.0.in = phi i8* [ %tmp30, %forinc ], [ %digits_arg89, %entry ] ; <i8*> [#uses=1]
+ %c.0 = load i8* %c.0.in ; <i8> [#uses=2]
+ %tmp8 = icmp eq i32 %len.0, 0 ; <i1> [#uses=1]
+ br i1 %tmp8, label %endfor, label %forbody
+
+forbody: ; preds = %forcond
+ switch i8 %c.0, label %endfor [
+ i8 32, label %forinc
+ i8 9, label %forinc
+ i8 45, label %if20
+ i8 43, label %if26
+ ]
+
+if20: ; preds = %forbody
+ store i1 true, i1* %sign_arg
+ br label %forinc
+
+if26: ; preds = %forbody
+ store i1 false, i1* %sign_arg
+ br label %forinc
+
+forinc: ; preds = %if26, %if20, %forbody, %forbody
+ %tmp30 = getelementptr i8* %p.0, i32 1 ; <i8*> [#uses=2]
+ %tmp33 = add i32 %len.0, -1 ; <i32> [#uses=1]
+ br label %forcond
+
+endfor: ; preds = %forbody, %forcond
+ %tmp34 = load i32* %radix_arg ; <i32> [#uses=4]
+ %tmp37 = icmp eq i8 %c.0, 48 ; <i1> [#uses=1]
+ %tmp39 = icmp sgt i32 %len.0, 1 ; <i1> [#uses=1]
+ %or.cond = and i1 %tmp37, %tmp39 ; <i1> [#uses=1]
+ br i1 %or.cond, label %if40, label %endif41
+
+if40: ; preds = %endfor
+ %tmp43 = getelementptr i8* %p.0, i32 1 ; <i8*> [#uses=2]
+ %tmp44 = load i8* %tmp43 ; <i8> [#uses=1]
+ %tmp45 = zext i8 %tmp44 to i32 ; <i32> [#uses=1]
+ switch i32 %tmp45, label %endif41 [
+ i32 120, label %case46
+ i32 88, label %case46
+ i32 98, label %case51
+ i32 66, label %case51
+ i32 111, label %case56
+ i32 79, label %case56
+ ]
+
+case46: ; preds = %if40, %if40
+ %tmp48 = getelementptr i8* %p.0, i32 2 ; <i8*> [#uses=1]
+ br label %endif41
+
+case51: ; preds = %if40, %if40
+ %tmp53 = getelementptr i8* %p.0, i32 2 ; <i8*> [#uses=1]
+ br label %endif41
+
+case56: ; preds = %if40, %if40
+ %tmp58 = getelementptr i8* %p.0, i32 2 ; <i8*> [#uses=1]
+ br label %endif41
+
+endif41: ; preds = %case56, %case51, %case46, %if40, %endfor
+ %r.0 = phi i32 [ %tmp34, %if40 ], [ 8, %case56 ], [ 2, %case51 ], [ 16, %case46 ], [ %tmp34, %endfor ] ; <i32> [#uses=3]
+ %p.2 = phi i8* [ %tmp43, %if40 ], [ %tmp58, %case56 ], [ %tmp53, %case51 ], [ %tmp48, %case46 ], [ %p.0, %endfor ] ; <i8*> [#uses=4]
+ %tmp63 = icmp eq i32 %r.0, 0 ; <i1> [#uses=1]
+ br i1 %tmp63, label %if64, label %else66
+
+if64: ; preds = %endif41
+ store i32 10, i32* %radix_arg
+ br label %endif
+
+else66: ; preds = %endif41
+ %tmp69 = icmp eq i32 %tmp34, %r.0 ; <i1> [#uses=1]
+ br i1 %tmp69, label %endif, label %if70
+
+if70: ; preds = %else66
+ %tmp77 = icmp eq i32 %tmp34, 0 ; <i1> [#uses=1]
+ br i1 %tmp77, label %else75, label %if73
+
+if73: ; preds = %if70
+ %tmp79 = getelementptr i8* %p.2, i32 -1 ; <i8*> [#uses=1]
+ br label %endif
+
+else75: ; preds = %if70
+ store i32 %r.0, i32* %radix_arg
+ br label %endif
+
+endif: ; preds = %else75, %if73, %else66, %if64, %entry
+ %p.1 = phi i8* [ %p.2, %if64 ], [ %tmp79, %if73 ], [ %p.2, %else75 ], [ %p.2, %else66 ], [ %digits_arg89, %entry ] ; <i8*> [#uses=1]
+ %tmp84 = ptrtoint i8* %p.1 to i32 ; <i32> [#uses=1]
+ %tmp85 = ptrtoint i8* %digits_arg89 to i32 ; <i32> [#uses=1]
+ %tmp86 = sub i32 %tmp84, %tmp85 ; <i32> [#uses=1]
+ ret i32 %tmp86
+}
+
+define weak_odr fastcc i64 @_D5tango4text7convert7Integer14__T7convertTaZ7convertFAakPkZm(%"byte[]" %digits_arg, i32 %radix_arg, i32* %ate_arg) nounwind {
+entry:
+ %digits_arg79 = extractvalue %"byte[]" %digits_arg, 0 ; <i32> [#uses=1]
+ %digits_arg80 = extractvalue %"byte[]" %digits_arg, 1 ; <i8*> [#uses=1]
+ br label %foreachcond
+
+foreachcond: ; preds = %if55, %entry
+ %value.0 = phi i64 [ 0, %entry ], [ %tmp65, %if55 ] ; <i64> [#uses=3]
+ %eaten.0 = phi i32 [ 0, %entry ], [ %tmp67, %if55 ] ; <i32> [#uses=2]
+ %foreachkey.0 = phi i32 [ 0, %entry ], [ %tmp70, %if55 ] ; <i32> [#uses=3]
+ %tmp3 = icmp ult i32 %foreachkey.0, %digits_arg79 ; <i1> [#uses=1]
+ br i1 %tmp3, label %foreachbody, label %foreachend
+
+foreachbody: ; preds = %foreachcond
+ %tmp5 = getelementptr i8* %digits_arg80, i32 %foreachkey.0 ; <i8*> [#uses=1]
+ %tmp6 = load i8* %tmp5 ; <i8> [#uses=6]
+ %tmp6.off84 = add i8 %tmp6, -48 ; <i8> [#uses=1]
+ %or.cond = icmp ugt i8 %tmp6.off84, 9 ; <i1> [#uses=1]
+ br i1 %or.cond, label %else, label %endif
+
+else: ; preds = %foreachbody
+ %tmp6.off83 = add i8 %tmp6, -97 ; <i8> [#uses=1]
+ %or.cond81 = icmp ugt i8 %tmp6.off83, 25 ; <i1> [#uses=1]
+ br i1 %or.cond81, label %else24, label %if22
+
+if22: ; preds = %else
+ %tmp27 = add i8 %tmp6, -39 ; <i8> [#uses=1]
+ br label %endif
+
+else24: ; preds = %else
+ %tmp6.off = add i8 %tmp6, -65 ; <i8> [#uses=1]
+ %or.cond82 = icmp ugt i8 %tmp6.off, 25 ; <i1> [#uses=1]
+ br i1 %or.cond82, label %foreachend, label %if39
+
+if39: ; preds = %else24
+ %tmp44 = add i8 %tmp6, -7 ; <i8> [#uses=1]
+ br label %endif
+
+endif: ; preds = %if39, %if22, %foreachbody
+ %c.0 = phi i8 [ %tmp27, %if22 ], [ %tmp44, %if39 ], [ %tmp6, %foreachbody ] ; <i8> [#uses=1]
+ %tmp48 = zext i8 %c.0 to i32 ; <i32> [#uses=1]
+ %tmp49 = add i32 %tmp48, 208 ; <i32> [#uses=1]
+ %tmp52 = and i32 %tmp49, 255 ; <i32> [#uses=2]
+ %tmp54 = icmp ult i32 %tmp52, %radix_arg ; <i1> [#uses=1]
+ br i1 %tmp54, label %if55, label %foreachend
+
+if55: ; preds = %endif
+ %tmp59 = zext i32 %radix_arg to i64 ; <i64> [#uses=1]
+ %tmp61 = mul i64 %value.0, %tmp59 ; <i64> [#uses=1]
+ %tmp64 = zext i32 %tmp52 to i64 ; <i64> [#uses=1]
+ %tmp65 = add i64 %tmp61, %tmp64 ; <i64> [#uses=1]
+ %tmp67 = add i32 %eaten.0, 1 ; <i32> [#uses=1]
+ %tmp70 = add i32 %foreachkey.0, 1 ; <i32> [#uses=1]
+ br label %foreachcond
+
+foreachend: ; preds = %endif, %else24, %foreachcond
+ %tmp75 = icmp eq i32* %ate_arg, null ; <i1> [#uses=1]
+ br i1 %tmp75, label %endif73, label %if72
+
+if72: ; preds = %foreachend
+ store i32 %eaten.0, i32* %ate_arg
+ ret i64 %value.0
+
+endif73: ; preds = %foreachend
+ ret i64 %value.0
+}
+
+define weak_odr fastcc %"byte[]" @_D5tango4text7convert7Integer13__T6formatTaZ6formatFAalAaZAa(%"byte[]" %dst_arg, i64 %i_arg, %"byte[]" %fmt_arg) {
+entry:
+ %fmt_arg41.i = extractvalue %"byte[]" %fmt_arg, 0 ; <i32> [#uses=3]
+ %fmt_arg42.i = extractvalue %"byte[]" %fmt_arg, 1 ; <i8*> [#uses=2]
+ %tmp1.i = icmp eq i32 %fmt_arg41.i, 0 ; <i1> [#uses=1]
+ br i1 %tmp1.i, label %_D5tango4text7convert7Integer13__T6decodeTaZ6decodeFAaKaJaJiZv.exit, label %else.i
+
+else.i: ; preds = %entry
+ %tmp4.i = load i8* %fmt_arg42.i ; <i8> [#uses=2]
+ %tmp7.i = icmp ugt i32 %fmt_arg41.i, 1 ; <i1> [#uses=1]
+ br i1 %tmp7.i, label %forcond.i, label %_D5tango4text7convert7Integer13__T6decodeTaZ6decodeFAaKaJaJiZv.exit
+
+forcond.i: ; preds = %forinc.i, %else.i
+ %width.1 = phi i32 [ 0, %else.i ], [ %width.0, %forinc.i ] ; <i32> [#uses=3]
+ %pre.1 = phi i8 [ -1, %else.i ], [ %pre.0, %forinc.i ] ; <i8> [#uses=2]
+ %j.0.i = phi i32 [ %tmp38.i, %forinc.i ], [ 1, %else.i ] ; <i32> [#uses=2]
+ %fmt_arg42.pn.i = phi i8* [ %p.0.i, %forinc.i ], [ %fmt_arg42.i, %else.i ] ; <i8*> [#uses=1]
+ %p.0.i = getelementptr i8* %fmt_arg42.pn.i, i32 1 ; <i8*> [#uses=2]
+ %tmp16.i = icmp ult i32 %j.0.i, %fmt_arg41.i ; <i1> [#uses=1]
+ br i1 %tmp16.i, label %forbody.i, label %_D5tango4text7convert7Integer13__T6decodeTaZ6decodeFAaKaJaJiZv.exit
+
+forbody.i: ; preds = %forcond.i
+ %tmp18.i = load i8* %p.0.i ; <i8> [#uses=3]
+ %tmp18.i.off = add i8 %tmp18.i, -48 ; <i8> [#uses=1]
+ %or.cond = icmp ugt i8 %tmp18.i.off, 9 ; <i1> [#uses=1]
+ br i1 %or.cond, label %forinc.i, label %if25.i
+
+if25.i: ; preds = %forbody.i
+ %tmp29.i = mul i32 %width.1, 10 ; <i32> [#uses=1]
+ %tmp32.i = zext i8 %tmp18.i to i32 ; <i32> [#uses=1]
+ %tmp33.i = add i32 %tmp32.i, -48 ; <i32> [#uses=1]
+ %tmp34.i = add i32 %tmp29.i, %tmp33.i ; <i32> [#uses=1]
+ br label %forinc.i
+
+forinc.i: ; preds = %if25.i, %forbody.i
+ %width.0 = phi i32 [ %tmp34.i, %if25.i ], [ %width.1, %forbody.i ] ; <i32> [#uses=1]
+ %pre.0 = phi i8 [ %pre.1, %if25.i ], [ %tmp18.i, %forbody.i ] ; <i8> [#uses=1]
+ %tmp38.i = add i32 %j.0.i, 1 ; <i32> [#uses=1]
+ br label %forcond.i
+
+_D5tango4text7convert7Integer13__T6decodeTaZ6decodeFAaKaJaJiZv.exit: ; preds = %forcond.i, %else.i, %entry
+ %width.3 = phi i32 [ 0, %entry ], [ %width.1, %forcond.i ], [ 0, %else.i ] ; <i32> [#uses=1]
+ %type.0 = phi i8 [ 100, %entry ], [ %tmp4.i, %forcond.i ], [ %tmp4.i, %else.i ] ; <i8> [#uses=1]
+ %pre.3 = phi i8 [ -1, %entry ], [ %pre.1, %forcond.i ], [ -1, %else.i ] ; <i8> [#uses=1]
+ %tmp6 = call fastcc %"byte[]" @_D5tango4text7convert7Integer16__T9formatterTaZ9formatterFAalaaiZAa(%"byte[]" %dst_arg, i64 %i_arg, i8 %type.0, i8 %pre.3, i32 %width.3) ; <%"byte[]"> [#uses=1]
+ ret %"byte[]" %tmp6
+}
+
+define weak_odr fastcc void @_D5tango4text7convert7Integer13__T6decodeTaZ6decodeFAaKaJaJiZv(%"byte[]" %fmt_arg, i8* nocapture %type_arg, i8* nocapture %pre_arg, i32* nocapture %width_arg) nounwind {
+entry:
+ %fmt_arg41 = extractvalue %"byte[]" %fmt_arg, 0 ; <i32> [#uses=3]
+ %fmt_arg42 = extractvalue %"byte[]" %fmt_arg, 1 ; <i8*> [#uses=2]
+ store i8 -1, i8* %pre_arg
+ store i32 0, i32* %width_arg
+ %tmp1 = icmp eq i32 %fmt_arg41, 0 ; <i1> [#uses=1]
+ br i1 %tmp1, label %if, label %else
+
+if: ; preds = %entry
+ store i8 100, i8* %type_arg
+ ret void
+
+else: ; preds = %entry
+ %tmp4 = load i8* %fmt_arg42 ; <i8> [#uses=1]
+ store i8 %tmp4, i8* %type_arg
+ %tmp7 = icmp ugt i32 %fmt_arg41, 1 ; <i1> [#uses=1]
+ br i1 %tmp7, label %forcond, label %endif
+
+forcond: ; preds = %forinc, %else
+ %j.0 = phi i32 [ %tmp38, %forinc ], [ 1, %else ] ; <i32> [#uses=2]
+ %fmt_arg42.pn = phi i8* [ %p.0, %forinc ], [ %fmt_arg42, %else ] ; <i8*> [#uses=1]
+ %p.0 = getelementptr i8* %fmt_arg42.pn, i32 1 ; <i8*> [#uses=2]
+ %tmp16 = icmp ult i32 %j.0, %fmt_arg41 ; <i1> [#uses=1]
+ br i1 %tmp16, label %forbody, label %endif
+
+forbody: ; preds = %forcond
+ %tmp18 = load i8* %p.0 ; <i8> [#uses=3]
+ %tmp18.off = add i8 %tmp18, -48 ; <i8> [#uses=1]
+ %or.cond = icmp ugt i8 %tmp18.off, 9 ; <i1> [#uses=1]
+ br i1 %or.cond, label %else27, label %if25
+
+if25: ; preds = %forbody
+ %tmp28 = load i32* %width_arg ; <i32> [#uses=1]
+ %tmp29 = mul i32 %tmp28, 10 ; <i32> [#uses=1]
+ %tmp32 = zext i8 %tmp18 to i32 ; <i32> [#uses=1]
+ %tmp33 = add i32 %tmp32, -48 ; <i32> [#uses=1]
+ %tmp34 = add i32 %tmp29, %tmp33 ; <i32> [#uses=1]
+ store i32 %tmp34, i32* %width_arg
+ br label %forinc
+
+else27: ; preds = %forbody
+ store i8 %tmp18, i8* %pre_arg
+ br label %forinc
+
+forinc: ; preds = %else27, %if25
+ %tmp38 = add i32 %j.0, 1 ; <i32> [#uses=1]
+ br label %forcond
+
+endif: ; preds = %forcond, %else
+ ret void
+}
+
+define weak_odr fastcc %"byte[]" @_D5tango4text7convert7Integer16__T9formatterTaZ9formatterFAalaaiZAa(%"byte[]" %dst_arg, i64 %i_arg, i8 %type_arg, i8 %pre_arg, i32 %width_arg) {
+entry:
+ %.nongc_mem182 = alloca [18 x i8], align 1 ; <[18 x i8]*> [#uses=2]
+ %.nongc_mem182.sub = getelementptr [18 x i8]* %.nongc_mem182, i32 0, i32 0 ; <i8*> [#uses=2]
+ %dst_arg179 = extractvalue %"byte[]" %dst_arg, 0 ; <i32> [#uses=6]
+ %dst_arg180 = extractvalue %"byte[]" %dst_arg, 1 ; <i8*> [#uses=2]
+ %tmp3 = icmp eq i32 %dst_arg179, 0 ; <i1> [#uses=1]
+ br i1 %tmp3, label %endif, label %if
+
+if: ; preds = %entry
+ %tmp5 = zext i8 %type_arg to i32 ; <i32> [#uses=1]
+ switch i32 %tmp5, label %default37 [
+ i32 100, label %case8
+ i32 68, label %case8
+ i32 103, label %case8
+ i32 71, label %case8
+ i32 117, label %switchend
+ i32 85, label %switchend
+ i32 98, label %case28
+ i32 66, label %case28
+ i32 111, label %case31
+ i32 79, label %case31
+ i32 120, label %case33
+ i32 88, label %case35
+ ]
+
+case8: ; preds = %if, %if, %if, %if
+ %tmp10 = icmp slt i64 %i_arg, 0 ; <i1> [#uses=1]
+ br i1 %tmp10, label %if11, label %else
+
+if11: ; preds = %case8
+ %negval = sub i64 0, %i_arg ; <i64> [#uses=1]
+ br label %switchend
+
+else: ; preds = %case8
+ %tmp16 = icmp eq i8 %pre_arg, 32 ; <i1> [#uses=1]
+ br i1 %tmp16, label %switchend, label %else19
+
+else19: ; preds = %else
+ %tmp22 = icmp eq i8 %pre_arg, 43 ; <i1> [#uses=1]
+ br i1 %tmp22, label %if23, label %switchend
+
+if23: ; preds = %else19
+ br label %switchend
+
+case28: ; preds = %if, %if
+ br label %switchend
+
+case31: ; preds = %if, %if
+ br label %switchend
+
+case33: ; preds = %if
+ br label %switchend
+
+case35: ; preds = %if
+ br label %switchend
+
+default37: ; preds = %if
+ tail call void @llvm.memcpy.i32(i8* %.nongc_mem182.sub, i8* getelementptr ([18 x i8]* @.str263, i32 0, i32 0), i32 17, i32 1)
+ %tmp38 = getelementptr [18 x i8]* %.nongc_mem182, i32 0, i32 17 ; <i8*> [#uses=1]
+ store i8 %type_arg, i8* %tmp38
+ %.gc_mem40 = tail call noalias i8* @_d_newarrayvT(%object.TypeInfo* @_D11TypeInfo_Aa6__initZ, i32 20) ; <i8*> [#uses=3]
+ tail call void @llvm.memcpy.i32(i8* %.gc_mem40, i8* %.nongc_mem182.sub, i32 18, i32 1)
+ %tmp41 = getelementptr i8* %.gc_mem40, i32 18 ; <i8*> [#uses=1]
+ %tmp41181 = bitcast i8* %tmp41 to i16* ; <i16*> [#uses=1]
+ %tmp = load i16* bitcast ([3 x i8]* @.str264 to i16*), align 2 ; <i16> [#uses=1]
+ store i16 %tmp, i16* %tmp41181, align 1
+ %tmp42 = insertvalue %"byte[]" { i32 20, i8* undef }, i8* %.gc_mem40, 1 ; <%"byte[]"> [#uses=1]
+ ret %"byte[]" %tmp42
+
+switchend: ; preds = %case35, %case33, %case31, %case28, %if23, %else19, %else, %if11, %if, %if
+ %index.1 = phi i32 [ 7, %case35 ], [ 6, %case33 ], [ 5, %case31 ], [ 4, %case28 ], [ 0, %if ], [ 0, %if ], [ 1, %if11 ], [ 3, %if23 ], [ 0, %else19 ], [ 2, %else ] ; <i32> [#uses=3]
+ %pre.0 = phi i8 [ %pre_arg, %case35 ], [ %pre_arg, %case33 ], [ %pre_arg, %case31 ], [ %pre_arg, %case28 ], [ 35, %else ], [ 35, %if ], [ 35, %if23 ], [ 35, %else19 ], [ 35, %if11 ], [ 35, %if ] ; <i8> [#uses=1]
+ %i.1 = phi i64 [ %i_arg, %case35 ], [ %i_arg, %case33 ], [ %i_arg, %case31 ], [ %i_arg, %case28 ], [ %i_arg, %if ], [ %i_arg, %if ], [ %negval, %if11 ], [ %i_arg, %if23 ], [ %i_arg, %else19 ], [ %i_arg, %else ] ; <i64> [#uses=3]
+ %tmp48 = getelementptr [8 x %nest.parseListLine]* @.constarray262, i32 0, i32 %index.1, i32 2 ; <%"byte[]"*> [#uses=1]
+ %tmp49 = load %"byte[]"* %tmp48 ; <%"byte[]"> [#uses=1]
+ %tmp49178 = extractvalue %"byte[]" %tmp49, 1 ; <i8*> [#uses=2]
+ %tmp51 = getelementptr [8 x %nest.parseListLine]* @.constarray262, i32 0, i32 %index.1, i32 0 ; <i32*> [#uses=1]
+ %tmp52 = load i32* %tmp51 ; <i32> [#uses=3]
+ %tmp56 = getelementptr i8* %dst_arg180, i32 %dst_arg179 ; <i8*> [#uses=2]
+ %tmp58 = icmp ugt i64 %i.1, 4294967295 ; <i1> [#uses=1]
+ br i1 %tmp58, label %dowhile82, label %if59
+
+if59: ; preds = %switchend
+ %tmp63 = trunc i64 %i.1 to i32 ; <i32> [#uses=1]
+ br label %dowhile
+
+dowhile: ; preds = %andand, %if59
+ %p.0 = phi i8* [ %tmp56, %if59 ], [ %tmp65, %andand ] ; <i8*> [#uses=1]
+ %v.0 = phi i32 [ %tmp63, %if59 ], [ %tmp75, %andand ] ; <i32> [#uses=2]
+ %len.0 = phi i32 [ %dst_arg179, %if59 ], [ %tmp78, %andand ] ; <i32> [#uses=3]
+ %tmp65 = getelementptr i8* %p.0, i32 -1 ; <i8*> [#uses=4]
+ %tmp68 = urem i32 %v.0, %tmp52 ; <i32> [#uses=1]
+ %tmp71 = getelementptr i8* %tmp49178, i32 %tmp68 ; <i8*> [#uses=1]
+ %tmp72 = load i8* %tmp71 ; <i8> [#uses=1]
+ store i8 %tmp72, i8* %tmp65
+ %tmp75 = udiv i32 %v.0, %tmp52 ; <i32> [#uses=2]
+ %tmp76 = icmp eq i32 %tmp75, 0 ; <i1> [#uses=1]
+ br i1 %tmp76, label %endif60, label %andand
+
+andand: ; preds = %dowhile
+ %tmp78 = add i32 %len.0, -1 ; <i32> [#uses=2]
+ %tmp79 = icmp eq i32 %len.0, 1 ; <i1> [#uses=1]
+ br i1 %tmp79, label %endif60, label %dowhile
+
+dowhile82: ; preds = %andand100, %switchend
+ %p.2 = phi i8* [ %tmp86, %andand100 ], [ %tmp56, %switchend ] ; <i8*> [#uses=1]
+ %v80.0 = phi i64 [ %tmp99, %andand100 ], [ %i.1, %switchend ] ; <i64> [#uses=2]
+ %len.2 = phi i32 [ %tmp104, %andand100 ], [ %dst_arg179, %switchend ] ; <i32> [#uses=3]
+ %tmp86 = getelementptr i8* %p.2, i32 -1 ; <i8*> [#uses=4]
+ %tmp88 = zext i32 %tmp52 to i64 ; <i64> [#uses=2]
+ %tmp90 = urem i64 %v80.0, %tmp88 ; <i64> [#uses=1]
+ %tmp91 = trunc i64 %tmp90 to i32 ; <i32> [#uses=1]
+ %tmp94 = getelementptr i8* %tmp49178, i32 %tmp91 ; <i8*> [#uses=1]
+ %tmp95 = load i8* %tmp94 ; <i8> [#uses=1]
+ store i8 %tmp95, i8* %tmp86
+ %tmp99 = udiv i64 %v80.0, %tmp88 ; <i64> [#uses=2]
+ %tmp102 = icmp eq i64 %tmp99, 0 ; <i1> [#uses=1]
+ br i1 %tmp102, label %endif60, label %andand100
+
+andand100: ; preds = %dowhile82
+ %tmp104 = add i32 %len.2, -1 ; <i32> [#uses=2]
+ %tmp105 = icmp eq i32 %len.2, 1 ; <i1> [#uses=1]
+ br i1 %tmp105, label %endif60, label %dowhile82
+
+endif60: ; preds = %andand100, %dowhile82, %andand, %dowhile
+ %p.1 = phi i8* [ %tmp65, %andand ], [ %tmp65, %dowhile ], [ %tmp86, %andand100 ], [ %tmp86, %dowhile82 ] ; <i8*> [#uses=1]
+ %len.1 = phi i32 [ %tmp78, %andand ], [ %len.0, %dowhile ], [ %tmp104, %andand100 ], [ %len.2, %dowhile82 ] ; <i32> [#uses=2]
+ %tmp109 = icmp eq i8 %pre.0, 35 ; <i1> [#uses=1]
+ br i1 %tmp109, label %condtrue, label %condend
+
+condtrue: ; preds = %endif60
+ %tmp111 = getelementptr [8 x %nest.parseListLine]* @.constarray262, i32 0, i32 %index.1, i32 1 ; <%"byte[]"*> [#uses=1]
+ %tmp112 = load %"byte[]"* %tmp111 ; <%"byte[]"> [#uses=1]
+ br label %condend
+
+condend: ; preds = %condtrue, %endif60
+ %condtmp.0 = phi %"byte[]" [ %tmp112, %condtrue ], [ zeroinitializer, %endif60 ] ; <%"byte[]"> [#uses=2]
+ %condtmp.0175 = extractvalue %"byte[]" %condtmp.0, 0 ; <i32> [#uses=4]
+ %condtmp.0176 = extractvalue %"byte[]" %condtmp.0, 1 ; <i8*> [#uses=1]
+ %tmp117 = icmp ugt i32 %len.1, %condtmp.0175 ; <i1> [#uses=1]
+ br i1 %tmp117, label %if118, label %endif
+
+if118: ; preds = %condend
+ %tmp123 = add i32 %condtmp.0175, 1 ; <i32> [#uses=1]
+ %tmp124 = sub i32 %len.1, %tmp123 ; <i32> [#uses=2]
+ %tmp129 = icmp eq i32 %width_arg, 0 ; <i1> [#uses=1]
+ br i1 %tmp129, label %endif127, label %if126
+
+if126: ; preds = %if118
+ %tmp133 = sub i32 %dst_arg179, %width_arg ; <i32> [#uses=1]
+ %tmp136 = sub i32 %tmp133, %condtmp.0175 ; <i32> [#uses=1]
+ br label %whilecond
+
+whilecond: ; preds = %whilebody, %if126
+ %p.3 = phi i8* [ %p.1, %if126 ], [ %tmp146, %whilebody ] ; <i8*> [#uses=1]
+ %len.3 = phi i32 [ %tmp124, %if126 ], [ %tmp148, %whilebody ] ; <i32> [#uses=4]
+ %tmp139 = icmp sgt i32 %len.3, %tmp136 ; <i1> [#uses=1]
+ %tmp143 = icmp sgt i32 %len.3, 0 ; <i1> [#uses=1]
+ %or.cond = and i1 %tmp139, %tmp143 ; <i1> [#uses=1]
+ br i1 %or.cond, label %whilebody, label %endif127
+
+whilebody: ; preds = %whilecond
+ %tmp146 = getelementptr i8* %p.3, i32 -1 ; <i8*> [#uses=2]
+ store i8 48, i8* %tmp146
+ %tmp148 = add i32 %len.3, -1 ; <i32> [#uses=1]
+ br label %whilecond
+
+endif127: ; preds = %whilecond, %if118
+ %len.4 = phi i32 [ %len.3, %whilecond ], [ %tmp124, %if118 ] ; <i32> [#uses=2]
+ %tmp156 = getelementptr i8* %dst_arg180, i32 %len.4 ; <i8*> [#uses=2]
+ tail call void @llvm.memcpy.i32(i8* %tmp156, i8* %condtmp.0176, i32 %condtmp.0175, i32 1)
+ %tmp170 = sub i32 %dst_arg179, %len.4 ; <i32> [#uses=1]
+ %tmp171 = insertvalue %"byte[]" undef, i32 %tmp170, 0 ; <%"byte[]"> [#uses=1]
+ %tmp172 = insertvalue %"byte[]" %tmp171, i8* %tmp156, 1 ; <%"byte[]"> [#uses=1]
+ ret %"byte[]" %tmp172
+
+endif: ; preds = %condend, %entry
+ ret %"byte[]" { i32 24, i8* getelementptr ([25 x i8]* @.str265, i32 0, i32 0) }
+}
+
+define weak_odr fastcc i32 @_D5tango4text7convert7Integer11__T4atoiTaZ4atoiFAaiZk(%"byte[]" %s_arg, i32 %radix_arg) nounwind readonly {
+entry:
+ %s_arg23 = extractvalue %"byte[]" %s_arg, 0 ; <i32> [#uses=1]
+ %s_arg24 = extractvalue %"byte[]" %s_arg, 1 ; <i8*> [#uses=1]
+ br label %foreachcond
+
+foreachcond: ; preds = %if, %entry
+ %value.0 = phi i32 [ 0, %entry ], [ %tmp19, %if ] ; <i32> [#uses=2]
+ %foreachkey.0 = phi i32 [ 0, %entry ], [ %tmp21, %if ] ; <i32> [#uses=3]
+ %tmp3 = icmp ult i32 %foreachkey.0, %s_arg23 ; <i1> [#uses=1]
+ br i1 %tmp3, label %foreachbody, label %foreachend
+
+foreachbody: ; preds = %foreachcond
+ %tmp5 = getelementptr i8* %s_arg24, i32 %foreachkey.0 ; <i8*> [#uses=1]
+ %tmp6 = load i8* %tmp5 ; <i8> [#uses=2]
+ %tmp6.off = add i8 %tmp6, -48 ; <i8> [#uses=1]
+ %or.cond = icmp ugt i8 %tmp6.off, 9 ; <i1> [#uses=1]
+ br i1 %or.cond, label %foreachend, label %if
+
+if: ; preds = %foreachbody
+ %tmp15 = mul i32 %value.0, %radix_arg ; <i32> [#uses=1]
+ %tmp17 = zext i8 %tmp6 to i32 ; <i32> [#uses=1]
+ %tmp18 = add i32 %tmp17, -48 ; <i32> [#uses=1]
+ %tmp19 = add i32 %tmp15, %tmp18 ; <i32> [#uses=1]
+ %tmp21 = add i32 %foreachkey.0, 1 ; <i32> [#uses=1]
+ br label %foreachcond
+
+foreachend: ; preds = %foreachbody, %foreachcond
+ ret i32 %value.0
+}
+
+define weak_odr fastcc %"char[][]" @_D5tango4text4Util18__T10splitLinesTaZ10splitLinesFAaZAAa(%"byte[]" %src_arg) {
+entry:
+ %.frame = alloca %nest.splitLines, align 8 ; <%nest.splitLines*> [#uses=5]
+ %.rettmp = alloca %"tango.text.Util.LineFruct!(char).LineFruct", align 8 ; <%"tango.text.Util.LineFruct!(char).LineFruct"*> [#uses=3]
+ %.rettmp8 = alloca %"tango.text.Util.LineFruct!(char).LineFruct", align 8 ; <%"tango.text.Util.LineFruct!(char).LineFruct"*> [#uses=3]
+ %count = getelementptr %nest.splitLines* %.frame, i32 0, i32 0 ; <i32*> [#uses=3]
+ %result = getelementptr %nest.splitLines* %.frame, i32 0, i32 1 ; <%"char[][]"*> [#uses=1]
+ store i32 0, i32* %count, align 8
+ %src_arg8.i = extractvalue %"byte[]" %src_arg, 0 ; <i32> [#uses=1]
+ %src_arg9.i = extractvalue %"byte[]" %src_arg, 1 ; <i8*> [#uses=1]
+ %0 = getelementptr %"tango.text.Util.LineFruct!(char).LineFruct"* %.rettmp, i32 0, i32 0, i32 0 ; <i32*> [#uses=1]
+ store i32 %src_arg8.i, i32* %0, align 8
+ %.sret_arg10.1.i = getelementptr %"tango.text.Util.LineFruct!(char).LineFruct"* %.rettmp, i32 0, i32 0, i32 1 ; <i8**> [#uses=1]
+ store i8* %src_arg9.i, i8** %.sret_arg10.1.i, align 4
+ %tmp1 = bitcast %nest.splitLines* %.frame to i8* ; <i8*> [#uses=2]
+ %tmp2 = insertvalue %"int delegate(ref char[])" undef, i8* %tmp1, 0 ; <%"int delegate(ref char[])"> [#uses=1]
+ %.func = insertvalue %"int delegate(ref char[])" %tmp2, i32 (i8*, %"byte[]"*)* @_D5tango4text4Util18__T10splitLinesTaZ10splitLinesFAaZAAa15__foreachbody41MFKAaZi, 1 ; <%"int delegate(ref char[])"> [#uses=1]
+ %tmp3 = call fastcc i32 @_D5tango4text4Util16__T9LineFructTaZ9LineFruct7opApplyMFDFKAaZiZi(%"tango.text.Util.LineFruct!(char).LineFruct"* %.rettmp, %"int delegate(ref char[])" %.func) ; <i32> [#uses=0]
+ %tmp4 = load i32* %count, align 8 ; <i32> [#uses=2]
+ %.gc_mem = call noalias i8* @_d_newarrayT(%object.TypeInfo* bitcast (%object.TypeInfo_Array* @_D12TypeInfo_AAa6__initZ to %object.TypeInfo*), i32 %tmp4) ; <i8*> [#uses=1]
+ %.gc_mem5 = bitcast i8* %.gc_mem to %"byte[]"* ; <%"byte[]"*> [#uses=1]
+ %tmp6 = getelementptr %nest.splitLines* %.frame, i32 0, i32 1, i32 0 ; <i32*> [#uses=1]
+ store i32 %tmp4, i32* %tmp6
+ %tmp7 = getelementptr %nest.splitLines* %.frame, i32 0, i32 1, i32 1 ; <%"byte[]"**> [#uses=1]
+ store %"byte[]"* %.gc_mem5, %"byte[]"** %tmp7
+ store i32 0, i32* %count, align 8
+ %src_arg8.i15 = extractvalue %"byte[]" %src_arg, 0 ; <i32> [#uses=1]
+ %src_arg9.i16 = extractvalue %"byte[]" %src_arg, 1 ; <i8*> [#uses=1]
+ %1 = getelementptr %"tango.text.Util.LineFruct!(char).LineFruct"* %.rettmp8, i32 0, i32 0, i32 0 ; <i32*> [#uses=1]
+ store i32 %src_arg8.i15, i32* %1, align 8
+ %.sret_arg10.1.i17 = getelementptr %"tango.text.Util.LineFruct!(char).LineFruct"* %.rettmp8, i32 0, i32 0, i32 1 ; <i8**> [#uses=1]
+ store i8* %src_arg9.i16, i8** %.sret_arg10.1.i17, align 4
+ %tmp11 = insertvalue %"int delegate(ref char[])" undef, i8* %tmp1, 0 ; <%"int delegate(ref char[])"> [#uses=1]
+ %.func12 = insertvalue %"int delegate(ref char[])" %tmp11, i32 (i8*, %"byte[]"*)* @_D5tango4text4Util18__T10splitLinesTaZ10splitLinesFAaZAAa15__foreachbody42MFKAaZi, 1 ; <%"int delegate(ref char[])"> [#uses=1]
+ %tmp13 = call fastcc i32 @_D5tango4text4Util16__T9LineFructTaZ9LineFruct7opApplyMFDFKAaZiZi(%"tango.text.Util.LineFruct!(char).LineFruct"* %.rettmp8, %"int delegate(ref char[])" %.func12) ; <i32> [#uses=0]
+ %tmp14 = load %"char[][]"* %result ; <%"char[][]"> [#uses=1]
+ ret %"char[][]" %tmp14
+}
+
+define weak_odr fastcc void @_D5tango4text4Util12__T5linesTaZ5linesFAaZS5tango4text4Util16__T9LineFructTaZ9LineFruct(%"tango.text.Util.LineFruct!(char).LineFruct"* noalias nocapture sret %.sret_arg, %"byte[]" %src_arg) nounwind {
+entry:
+ %src_arg8 = extractvalue %"byte[]" %src_arg, 0 ; <i32> [#uses=1]
+ %src_arg9 = extractvalue %"byte[]" %src_arg, 1 ; <i8*> [#uses=1]
+ %0 = getelementptr %"tango.text.Util.LineFruct!(char).LineFruct"* %.sret_arg, i32 0, i32 0, i32 0 ; <i32*> [#uses=1]
+ store i32 %src_arg8, i32* %0
+ %.sret_arg10.1 = getelementptr %"tango.text.Util.LineFruct!(char).LineFruct"* %.sret_arg, i32 0, i32 0, i32 1 ; <i8**> [#uses=1]
+ store i8* %src_arg9, i8** %.sret_arg10.1, align 4
+ ret void
+}
+
+define weak_odr fastcc i32 @_D5tango4text4Util16__T9LineFructTaZ9LineFruct7opApplyMFDFKAaZiZi(%"tango.text.Util.LineFruct!(char).LineFruct"* nocapture %.this_arg, %"int delegate(ref char[])" %dg_arg) {
+entry:
+ %line = alloca %"byte[]", align 8 ; <%"byte[]"*> [#uses=7]
+ %dg_arg70 = extractvalue %"int delegate(ref char[])" %dg_arg, 0 ; <i8*> [#uses=2]
+ %dg_arg71 = extractvalue %"int delegate(ref char[])" %dg_arg, 1 ; <i32 (i8*, %"byte[]"*)*> [#uses=2]
+ store %"byte[]" zeroinitializer, %"byte[]"* %line, align 8
+ br label %whilecond
+
+whilecond: ; preds = %endif40, %entry
+ %mark.0 = phi i32 [ 0, %entry ], [ %tmp43, %endif40 ] ; <i32> [#uses=7]
+ %ret.0 = phi i32 [ 0, %entry ], [ %tmp37, %endif40 ] ; <i32> [#uses=1]
+ %tmp1 = getelementptr %"tango.text.Util.LineFruct!(char).LineFruct"* %.this_arg, i32 0, i32 0 ; <%"byte[]"*> [#uses=1]
+ %tmp2 = load %"byte[]"* %tmp1 ; <%"byte[]"> [#uses=2]
+ %source_arg16.i = extractvalue %"byte[]" %tmp2, 0 ; <i32> [#uses=3]
+ %source_arg17.i = extractvalue %"byte[]" %tmp2, 1 ; <i8*> [#uses=2]
+ %tmp2.i = icmp ult i32 %source_arg16.i, %mark.0 ; <i1> [#uses=1]
+ %start.0.i = select i1 %tmp2.i, i32 %source_arg16.i, i32 %mark.0 ; <i32> [#uses=4]
+ %tmp7.i = getelementptr i8* %source_arg17.i, i32 %start.0.i ; <i8*> [#uses=1]
+ %tmp12.i = sub i32 %source_arg16.i, %start.0.i ; <i32> [#uses=2]
+ %tmp7.sum.i = add i32 %start.0.i, -1 ; <i32> [#uses=1]
+ %tmp2.i.i = getelementptr i8* %source_arg17.i, i32 %tmp7.sum.i ; <i8*> [#uses=1]
+ br label %forcond.i.i
+
+forcond.i.i: ; preds = %forbody.i.i, %whilecond
+ %len.0.i.i = phi i32 [ %tmp12.i, %whilecond ], [ %tmp4.i.i, %forbody.i.i ] ; <i32> [#uses=2]
+ %p.0.i.i = phi i8* [ %tmp2.i.i, %whilecond ], [ %tmp7.i.i, %forbody.i.i ] ; <i8*> [#uses=1]
+ %tmp4.i.i = add i32 %len.0.i.i, -1 ; <i32> [#uses=1]
+ %tmp5.i.i = icmp eq i32 %len.0.i.i, 0 ; <i1> [#uses=1]
+ br i1 %tmp5.i.i, label %_D5tango4text4Util13__T6locateTaZ6locateFAaakZk.exit, label %forbody.i.i
+
+forbody.i.i: ; preds = %forcond.i.i
+ %tmp7.i.i = getelementptr i8* %p.0.i.i, i32 1 ; <i8*> [#uses=3]
+ %tmp8.i.i = load i8* %tmp7.i.i ; <i8> [#uses=1]
+ %tmp12.i.i = icmp eq i8 %tmp8.i.i, 10 ; <i1> [#uses=1]
+ br i1 %tmp12.i.i, label %if.i.i, label %forcond.i.i
+
+if.i.i: ; preds = %forbody.i.i
+ %tmp15.i.i = ptrtoint i8* %tmp7.i.i to i32 ; <i32> [#uses=1]
+ %tmp16.i.i = ptrtoint i8* %tmp7.i to i32 ; <i32> [#uses=1]
+ %tmp17.i.i = sub i32 %tmp15.i.i, %tmp16.i.i ; <i32> [#uses=1]
+ br label %_D5tango4text4Util13__T6locateTaZ6locateFAaakZk.exit
+
+_D5tango4text4Util13__T6locateTaZ6locateFAaakZk.exit: ; preds = %if.i.i, %forcond.i.i
+ %tmp1318.i = phi i32 [ %tmp17.i.i, %if.i.i ], [ %tmp12.i, %forcond.i.i ] ; <i32> [#uses=1]
+ %tmp15.i = add i32 %tmp1318.i, %start.0.i ; <i32> [#uses=6]
+ %tmp7 = getelementptr %"tango.text.Util.LineFruct!(char).LineFruct"* %.this_arg, i32 0, i32 0, i32 0 ; <i32*> [#uses=1]
+ %.len = load i32* %tmp7 ; <i32> [#uses=3]
+ %tmp8 = icmp ult i32 %tmp15.i, %.len ; <i1> [#uses=1]
+ br i1 %tmp8, label %whilebody, label %endwhile
+
+whilebody: ; preds = %_D5tango4text4Util13__T6locateTaZ6locateFAaakZk.exit
+ %tmp11 = icmp eq i32 %tmp15.i, 0 ; <i1> [#uses=1]
+ br i1 %tmp11, label %whilebody.endif_crit_edge, label %andand
+
+whilebody.endif_crit_edge: ; preds = %whilebody
+ %tmp25.pre = getelementptr %"tango.text.Util.LineFruct!(char).LineFruct"* %.this_arg, i32 0, i32 0, i32 1 ; <i8**> [#uses=1]
+ br label %endif
+
+andand: ; preds = %whilebody
+ %tmp15 = add i32 %tmp15.i, -1 ; <i32> [#uses=2]
+ %tmp16 = getelementptr %"tango.text.Util.LineFruct!(char).LineFruct"* %.this_arg, i32 0, i32 0, i32 1 ; <i8**> [#uses=2]
+ %.ptr = load i8** %tmp16 ; <i8*> [#uses=1]
+ %tmp17 = getelementptr i8* %.ptr, i32 %tmp15 ; <i8*> [#uses=1]
+ %tmp18 = load i8* %tmp17 ; <i8> [#uses=1]
+ %tmp20 = icmp eq i8 %tmp18, 13 ; <i1> [#uses=1]
+ %tmp22.tmp4 = select i1 %tmp20, i32 %tmp15, i32 %tmp15.i ; <i32> [#uses=1]
+ br label %endif
+
+endif: ; preds = %andand, %whilebody.endif_crit_edge
+ %tmp25.pre-phi = phi i8** [ %tmp25.pre, %whilebody.endif_crit_edge ], [ %tmp16, %andand ] ; <i8**> [#uses=1]
+ %end.0 = phi i32 [ %tmp15.i, %whilebody.endif_crit_edge ], [ %tmp22.tmp4, %andand ] ; <i32> [#uses=1]
+ %.ptr26 = load i8** %tmp25.pre-phi ; <i8*> [#uses=1]
+ %tmp29 = getelementptr i8* %.ptr26, i32 %mark.0 ; <i8*> [#uses=1]
+ %tmp30 = sub i32 %end.0, %mark.0 ; <i32> [#uses=1]
+ %tmp31 = getelementptr %"byte[]"* %line, i32 0, i32 0 ; <i32*> [#uses=1]
+ store i32 %tmp30, i32* %tmp31, align 8
+ %tmp32 = getelementptr %"byte[]"* %line, i32 0, i32 1 ; <i8**> [#uses=1]
+ store i8* %tmp29, i8** %tmp32
+ %tmp37 = call fastcc i32 %dg_arg71(i8* %dg_arg70, %"byte[]"* %line) ; <i32> [#uses=3]
+ %tmp38 = icmp eq i32 %tmp37, 0 ; <i1> [#uses=1]
+ br i1 %tmp38, label %endif40, label %if39
+
+if39: ; preds = %endif
+ ret i32 %tmp37
+
+endif40: ; preds = %endif
+ %tmp43 = add i32 %tmp15.i, 1 ; <i32> [#uses=1]
+ br label %whilecond
+
+endwhile: ; preds = %_D5tango4text4Util13__T6locateTaZ6locateFAaakZk.exit
+ %tmp46 = getelementptr %"tango.text.Util.LineFruct!(char).LineFruct"* %.this_arg, i32 0, i32 0, i32 1 ; <i8**> [#uses=1]
+ %.ptr47 = load i8** %tmp46 ; <i8*> [#uses=1]
+ %tmp51 = getelementptr i8* %.ptr47, i32 %mark.0 ; <i8*> [#uses=1]
+ %tmp52 = sub i32 %.len, %mark.0 ; <i32> [#uses=1]
+ %tmp53 = getelementptr %"byte[]"* %line, i32 0, i32 0 ; <i32*> [#uses=1]
+ store i32 %tmp52, i32* %tmp53, align 8
+ %tmp54 = getelementptr %"byte[]"* %line, i32 0, i32 1 ; <i8**> [#uses=1]
+ store i8* %tmp51, i8** %tmp54
+ %tmp60 = icmp ugt i32 %mark.0, %.len ; <i1> [#uses=1]
+ br i1 %tmp60, label %endif62, label %if61
+
+if61: ; preds = %endwhile
+ %tmp67 = call fastcc i32 %dg_arg71(i8* %dg_arg70, %"byte[]"* %line) ; <i32> [#uses=1]
+ ret i32 %tmp67
+
+endif62: ; preds = %endwhile
+ ret i32 %ret.0
+}
+
+define weak_odr fastcc %"byte[]" @_D5tango4text4Util13__T6layoutTaZ6layoutFAaAAaXAa(%"byte[]" %output_arg, %"char[][]" %layout_arg) nounwind {
+entry:
+ %output_arg100 = extractvalue %"byte[]" %output_arg, 0 ; <i32> [#uses=2]
+ %output_arg101 = extractvalue %"byte[]" %output_arg, 1 ; <i8*> [#uses=3]
+ %layout_arg98 = extractvalue %"char[][]" %layout_arg, 0 ; <i32> [#uses=1]
+ %layout_arg99 = extractvalue %"char[][]" %layout_arg, 1 ; <%"byte[]"*> [#uses=3]
+ %tmp1 = add i32 %layout_arg98, -1 ; <i32> [#uses=1]
+ %tmp4 = getelementptr %"byte[]"* %layout_arg99, i32 0, i32 0 ; <i32*> [#uses=1]
+ %.len5 = load i32* %tmp4 ; <i32> [#uses=1]
+ %tmp6 = getelementptr %"byte[]"* %layout_arg99, i32 0, i32 1 ; <i8**> [#uses=1]
+ %.ptr7 = load i8** %tmp6 ; <i8*> [#uses=1]
+ br label %foreachcond
+
+foreachcond: ; preds = %foreachnext, %entry
+ %foreachkey.0 = phi i32 [ 0, %entry ], [ %tmp87, %foreachnext ] ; <i32> [#uses=3]
+ %state.2 = phi i1 [ false, %entry ], [ %state.1, %foreachnext ] ; <i1> [#uses=2]
+ %pos.1 = phi i32 [ 0, %entry ], [ %pos.0, %foreachnext ] ; <i32> [#uses=7]
+ %tmp9 = icmp ult i32 %foreachkey.0, %.len5 ; <i1> [#uses=1]
+ br i1 %tmp9, label %foreachbody, label %foreachend
+
+foreachbody: ; preds = %foreachcond
+ %tmp11 = getelementptr i8* %.ptr7, i32 %foreachkey.0 ; <i8*> [#uses=1]
+ %tmp12 = load i8* %tmp11 ; <i8> [#uses=4]
+ br i1 %state.2, label %if, label %else
+
+if: ; preds = %foreachbody
+ %tmp12.off = add i8 %tmp12, -48 ; <i8> [#uses=1]
+ %or.cond = icmp ugt i8 %tmp12.off, 9 ; <i1> [#uses=1]
+ br i1 %or.cond, label %endif, label %if20
+
+if20: ; preds = %if
+ %tmp23 = zext i8 %tmp12 to i32 ; <i32> [#uses=2]
+ %tmp24 = add i32 %tmp23, -48 ; <i32> [#uses=1]
+ %tmp27 = icmp ult i32 %tmp24, %tmp1 ; <i1> [#uses=1]
+ br i1 %tmp27, label %if28, label %else30
+
+if28: ; preds = %if20
+ %tmp32 = add i32 %tmp23, -47 ; <i32> [#uses=1]
+ %tmp35 = getelementptr %"byte[]"* %layout_arg99, i32 %tmp32 ; <%"byte[]"*> [#uses=1]
+ %tmp36 = load %"byte[]"* %tmp35 ; <%"byte[]"> [#uses=2]
+ %tmp3696 = extractvalue %"byte[]" %tmp36, 0 ; <i32> [#uses=2]
+ %tmp40 = add i32 %pos.1, %tmp3696 ; <i32> [#uses=2]
+ %tmp44 = icmp ult i32 %tmp40, %output_arg100 ; <i1> [#uses=1]
+ br i1 %tmp44, label %if45, label %else47
+
+if45: ; preds = %if28
+ %tmp3697 = extractvalue %"byte[]" %tmp36, 1 ; <i8*> [#uses=1]
+ %tmp52 = getelementptr i8* %output_arg101, i32 %pos.1 ; <i8*> [#uses=1]
+ tail call void @llvm.memcpy.i32(i8* %tmp52, i8* %tmp3697, i32 %tmp3696, i32 1)
+ br label %foreachnext
+
+else47: ; preds = %if28
+ %tmp61 = load %"byte[]"* @_D5tango4text4Util13__T6layoutTaZ6layoutFAaAAaXAa8toosmallAa, align 8 ; <%"byte[]"> [#uses=1]
+ ret %"byte[]" %tmp61
+
+else30: ; preds = %if20
+ %tmp62 = load %"byte[]"* @_D5tango4text4Util13__T6layoutTaZ6layoutFAaAAaXAa6badargAa, align 8 ; <%"byte[]"> [#uses=1]
+ ret %"byte[]" %tmp62
+
+else: ; preds = %foreachbody
+ %tmp66 = icmp eq i8 %tmp12, 37 ; <i1> [#uses=1]
+ br i1 %tmp66, label %foreachnext, label %endif
+
+endif: ; preds = %else, %if
+ %state.0 = phi i1 [ false, %if ], [ %state.2, %else ] ; <i1> [#uses=1]
+ %tmp73 = icmp ult i32 %pos.1, %output_arg100 ; <i1> [#uses=1]
+ br i1 %tmp73, label %if74, label %else76
+
+if74: ; preds = %endif
+ %tmp80 = getelementptr i8* %output_arg101, i32 %pos.1 ; <i8*> [#uses=1]
+ store i8 %tmp12, i8* %tmp80
+ %tmp83 = add i32 %pos.1, 1 ; <i32> [#uses=1]
+ br label %foreachnext
+
+else76: ; preds = %endif
+ %tmp84 = load %"byte[]"* @_D5tango4text4Util13__T6layoutTaZ6layoutFAaAAaXAa8toosmallAa, align 8 ; <%"byte[]"> [#uses=1]
+ ret %"byte[]" %tmp84
+
+foreachnext: ; preds = %if74, %else, %if45
+ %state.1 = phi i1 [ false, %if45 ], [ %state.0, %if74 ], [ true, %else ] ; <i1> [#uses=1]
+ %pos.0 = phi i32 [ %tmp40, %if45 ], [ %tmp83, %if74 ], [ %pos.1, %else ] ; <i32> [#uses=1]
+ %tmp87 = add i32 %foreachkey.0, 1 ; <i32> [#uses=1]
+ br label %foreachcond
+
+foreachend: ; preds = %foreachcond
+ %tmp93 = insertvalue %"byte[]" undef, i32 %pos.1, 0 ; <%"byte[]"> [#uses=1]
+ %tmp94 = insertvalue %"byte[]" %tmp93, i8* %output_arg101, 1 ; <%"byte[]"> [#uses=1]
+ ret %"byte[]" %tmp94
+}
+
+define weak_odr fastcc %"byte[]" @_D5tango4text7convert7Integer15__T6formatTaTiZ6formatFAaiAaZAa(%"byte[]" %dst_arg, i32 %i_arg, %"byte[]" %fmt_arg) {
+entry:
+ %tmp2 = sext i32 %i_arg to i64 ; <i64> [#uses=1]
+ %fmt_arg41.i.i = extractvalue %"byte[]" %fmt_arg, 0 ; <i32> [#uses=3]
+ %fmt_arg42.i.i = extractvalue %"byte[]" %fmt_arg, 1 ; <i8*> [#uses=2]
+ %tmp1.i.i = icmp eq i32 %fmt_arg41.i.i, 0 ; <i1> [#uses=1]
+ br i1 %tmp1.i.i, label %_D5tango4text7convert7Integer13__T6formatTaZ6formatFAalAaZAa.exit, label %else.i.i
+
+else.i.i: ; preds = %entry
+ %tmp4.i.i = load i8* %fmt_arg42.i.i ; <i8> [#uses=2]
+ %tmp7.i.i = icmp ugt i32 %fmt_arg41.i.i, 1 ; <i1> [#uses=1]
+ br i1 %tmp7.i.i, label %forcond.i.i, label %_D5tango4text7convert7Integer13__T6formatTaZ6formatFAalAaZAa.exit
+
+forcond.i.i: ; preds = %forinc.i.i, %else.i.i
+ %width.1.i = phi i32 [ 0, %else.i.i ], [ %width.0.i, %forinc.i.i ] ; <i32> [#uses=3]
+ %pre.1.i = phi i8 [ -1, %else.i.i ], [ %pre.0.i, %forinc.i.i ] ; <i8> [#uses=2]
+ %j.0.i.i = phi i32 [ %tmp38.i.i, %forinc.i.i ], [ 1, %else.i.i ] ; <i32> [#uses=2]
+ %fmt_arg42.pn.i.i = phi i8* [ %p.0.i.i, %forinc.i.i ], [ %fmt_arg42.i.i, %else.i.i ] ; <i8*> [#uses=1]
+ %p.0.i.i = getelementptr i8* %fmt_arg42.pn.i.i, i32 1 ; <i8*> [#uses=2]
+ %tmp16.i.i = icmp ult i32 %j.0.i.i, %fmt_arg41.i.i ; <i1> [#uses=1]
+ br i1 %tmp16.i.i, label %forbody.i.i, label %_D5tango4text7convert7Integer13__T6formatTaZ6formatFAalAaZAa.exit
+
+forbody.i.i: ; preds = %forcond.i.i
+ %tmp18.i.i = load i8* %p.0.i.i ; <i8> [#uses=3]
+ %tmp18.i.i.off = add i8 %tmp18.i.i, -48 ; <i8> [#uses=1]
+ %or.cond = icmp ugt i8 %tmp18.i.i.off, 9 ; <i1> [#uses=1]
+ br i1 %or.cond, label %forinc.i.i, label %if25.i.i
+
+if25.i.i: ; preds = %forbody.i.i
+ %tmp29.i.i = mul i32 %width.1.i, 10 ; <i32> [#uses=1]
+ %tmp32.i.i = zext i8 %tmp18.i.i to i32 ; <i32> [#uses=1]
+ %tmp33.i.i = add i32 %tmp32.i.i, -48 ; <i32> [#uses=1]
+ %tmp34.i.i = add i32 %tmp29.i.i, %tmp33.i.i ; <i32> [#uses=1]
+ br label %forinc.i.i
+
+forinc.i.i: ; preds = %if25.i.i, %forbody.i.i
+ %width.0.i = phi i32 [ %tmp34.i.i, %if25.i.i ], [ %width.1.i, %forbody.i.i ] ; <i32> [#uses=1]
+ %pre.0.i = phi i8 [ %pre.1.i, %if25.i.i ], [ %tmp18.i.i, %forbody.i.i ] ; <i8> [#uses=1]
+ %tmp38.i.i = add i32 %j.0.i.i, 1 ; <i32> [#uses=1]
+ br label %forcond.i.i
+
+_D5tango4text7convert7Integer13__T6formatTaZ6formatFAalAaZAa.exit: ; preds = %forcond.i.i, %else.i.i, %entry
+ %width.3.i = phi i32 [ 0, %entry ], [ %width.1.i, %forcond.i.i ], [ 0, %else.i.i ] ; <i32> [#uses=1]
+ %type.0.i = phi i8 [ 100, %entry ], [ %tmp4.i.i, %forcond.i.i ], [ %tmp4.i.i, %else.i.i ] ; <i8> [#uses=1]
+ %pre.3.i = phi i8 [ -1, %entry ], [ %pre.1.i, %forcond.i.i ], [ -1, %else.i.i ] ; <i8> [#uses=1]
+ %tmp6.i = call fastcc %"byte[]" @_D5tango4text7convert7Integer16__T9formatterTaZ9formatterFAalaaiZAa(%"byte[]" %dst_arg, i64 %tmp2, i8 %type.0.i, i8 %pre.3.i, i32 %width.3.i) ; <%"byte[]"> [#uses=1]
+ ret %"byte[]" %tmp6.i
+}
+
+define weak_odr fastcc i32 @_D5tango4core5Array14__T4findTAaTaZ4findFAaaZk(%"byte[]" %buf_arg, i8 %pat_arg) nounwind readonly {
+entry:
+ %buf_arg16.i = extractvalue %"byte[]" %buf_arg, 0 ; <i32> [#uses=2]
+ %buf_arg17.i = extractvalue %"byte[]" %buf_arg, 1 ; <i8*> [#uses=1]
+ br label %foreachcond.i
+
+foreachcond.i: ; preds = %foreachnext.i, %entry
+ %pos.0.i = phi i32 [ 0, %entry ], [ %tmp12.i, %foreachnext.i ] ; <i32> [#uses=4]
+ %tmp3.i = icmp ult i32 %pos.0.i, %buf_arg16.i ; <i1> [#uses=1]
+ br i1 %tmp3.i, label %foreachbody.i, label %_D5tango4core5Array12__T5find_TaZ2fnFAaaS5tango4core5Array14__T7IsEqualTaZ7IsEqualZk.exit
+
+foreachbody.i: ; preds = %foreachcond.i
+ %tmp5.i = getelementptr i8* %buf_arg17.i, i32 %pos.0.i ; <i8*> [#uses=1]
+ %tmp6.i = load i8* %tmp5.i ; <i8> [#uses=1]
+ %tmp4.i.i = icmp eq i8 %tmp6.i, %pat_arg ; <i1> [#uses=1]
+ br i1 %tmp4.i.i, label %_D5tango4core5Array12__T5find_TaZ2fnFAaaS5tango4core5Array14__T7IsEqualTaZ7IsEqualZk.exit, label %foreachnext.i
+
+foreachnext.i: ; preds = %foreachbody.i
+ %tmp12.i = add i32 %pos.0.i, 1 ; <i32> [#uses=1]
+ br label %foreachcond.i
+
+_D5tango4core5Array12__T5find_TaZ2fnFAaaS5tango4core5Array14__T7IsEqualTaZ7IsEqualZk.exit: ; preds = %foreachbody.i, %foreachcond.i
+ %tmp23 = phi i32 [ %pos.0.i, %foreachbody.i ], [ %buf_arg16.i, %foreachcond.i ] ; <i32> [#uses=1]
+ ret i32 %tmp23
+}
+
+define weak_odr fastcc i1 @_D5tango4core5Array14__T7IsEqualTaZ7IsEqual6opCallFaaZb(i8 %p1_arg, i8 %p2_arg) nounwind readnone {
+entry:
+ %tmp4 = icmp eq i8 %p1_arg, %p2_arg ; <i1> [#uses=1]
+ ret i1 %tmp4
+}
+
+define weak_odr fastcc i32 @_D5tango4core5Array12__T5find_TaZ2fnFAaaS5tango4core5Array14__T7IsEqualTaZ7IsEqualZk(%"byte[]" %buf_arg, i8 %pat_arg, %"tango.core.Array.IsEqual!(char).IsEqual"* nocapture byval %pred_arg) nounwind readonly {
+entry:
+ %buf_arg16 = extractvalue %"byte[]" %buf_arg, 0 ; <i32> [#uses=2]
+ %buf_arg17 = extractvalue %"byte[]" %buf_arg, 1 ; <i8*> [#uses=1]
+ br label %foreachcond
+
+foreachcond: ; preds = %foreachnext, %entry
+ %pos.0 = phi i32 [ 0, %entry ], [ %tmp12, %foreachnext ] ; <i32> [#uses=4]
+ %tmp3 = icmp ult i32 %pos.0, %buf_arg16 ; <i1> [#uses=1]
+ br i1 %tmp3, label %foreachbody, label %foreachend
+
+foreachbody: ; preds = %foreachcond
+ %tmp5 = getelementptr i8* %buf_arg17, i32 %pos.0 ; <i8*> [#uses=1]
+ %tmp6 = load i8* %tmp5 ; <i8> [#uses=1]
+ %tmp4.i = icmp eq i8 %tmp6, %pat_arg ; <i1> [#uses=1]
+ br i1 %tmp4.i, label %if, label %foreachnext
+
+if: ; preds = %foreachbody
+ ret i32 %pos.0
+
+foreachnext: ; preds = %foreachbody
+ %tmp12 = add i32 %pos.0, 1 ; <i32> [#uses=1]
+ br label %foreachcond
+
+foreachend: ; preds = %foreachcond
+ ret i32 %buf_arg16
+}
+
+define weak_odr fastcc i32 @_D5tango4core5Array12__T5find_TaZ2fnFAaAaS5tango4core5Array14__T7IsEqualTaZ7IsEqualZk(%"byte[]" %buf_arg, %"byte[]" %pat_arg, %"tango.core.Array.IsEqual!(char).IsEqual"* nocapture byval %pred_arg) nounwind readonly {
+entry:
+ %buf_arg80 = extractvalue %"byte[]" %buf_arg, 0 ; <i32> [#uses=7]
+ %buf_arg81 = extractvalue %"byte[]" %buf_arg, 1 ; <i8*> [#uses=2]
+ %pat_arg78 = extractvalue %"byte[]" %pat_arg, 0 ; <i32> [#uses=5]
+ %pat_arg79 = extractvalue %"byte[]" %pat_arg, 1 ; <i8*> [#uses=2]
+ %tmp1 = icmp eq i32 %buf_arg80, 0 ; <i1> [#uses=1]
+ %tmp4 = icmp eq i32 %pat_arg78, 0 ; <i1> [#uses=1]
+ %or.cond = or i1 %tmp1, %tmp4 ; <i1> [#uses=1]
+ %tmp11 = icmp ult i32 %buf_arg80, %pat_arg78 ; <i1> [#uses=1]
+ %or.cond82 = or i1 %or.cond, %tmp11 ; <i1> [#uses=1]
+ br i1 %or.cond82, label %if, label %endif
+
+if: ; preds = %entry
+ ret i32 %buf_arg80
+
+endif: ; preds = %entry
+ %tmp19 = sub i32 %buf_arg80, %pat_arg78 ; <i32> [#uses=1]
+ %tmp20 = add i32 %tmp19, 1 ; <i32> [#uses=1]
+ br label %forcond
+
+forcond: ; preds = %forinc, %endif
+ %pos.2 = phi i32 [ 0, %endif ], [ %tmp73, %forinc ] ; <i32> [#uses=4]
+ %tmp23 = icmp ult i32 %pos.2, %tmp20 ; <i1> [#uses=1]
+ br i1 %tmp23, label %forbody, label %endfor
+
+forbody: ; preds = %forcond
+ %tmp26 = getelementptr i8* %buf_arg81, i32 %pos.2 ; <i8*> [#uses=1]
+ %tmp27 = load i8* %tmp26 ; <i8> [#uses=1]
+ %tmp31 = load i8* %pat_arg79 ; <i8> [#uses=1]
+ %tmp4.i = icmp eq i8 %tmp27, %tmp31 ; <i1> [#uses=1]
+ br i1 %tmp4.i, label %dowhile, label %forinc
+
+dowhile: ; preds = %dowhilecond, %forbody
+ %pos.0 = phi i32 [ %tmp49, %dowhilecond ], [ %pos.2, %forbody ] ; <i32> [#uses=2]
+ %mat.0 = phi i32 [ %tmp36, %dowhilecond ], [ 0, %forbody ] ; <i32> [#uses=1]
+ %tmp36 = add i32 %mat.0, 1 ; <i32> [#uses=4]
+ %tmp39 = icmp ult i32 %tmp36, %pat_arg78 ; <i1> [#uses=1]
+ br i1 %tmp39, label %endif41, label %if40
+
+if40: ; preds = %dowhile
+ %tmp45 = sub i32 %pos.0, %pat_arg78 ; <i32> [#uses=1]
+ %tmp46 = add i32 %tmp45, 1 ; <i32> [#uses=1]
+ ret i32 %tmp46
+
+endif41: ; preds = %dowhile
+ %tmp49 = add i32 %pos.0, 1 ; <i32> [#uses=4]
+ %tmp52 = icmp ult i32 %tmp49, %buf_arg80 ; <i1> [#uses=1]
+ br i1 %tmp52, label %dowhilecond, label %if53
+
+if53: ; preds = %endif41
+ ret i32 %buf_arg80
+
+dowhilecond: ; preds = %endif41
+ %tmp61 = getelementptr i8* %buf_arg81, i32 %tmp49 ; <i8*> [#uses=1]
+ %tmp62 = load i8* %tmp61 ; <i8> [#uses=1]
+ %tmp66 = getelementptr i8* %pat_arg79, i32 %tmp36 ; <i8*> [#uses=1]
+ %tmp67 = load i8* %tmp66 ; <i8> [#uses=1]
+ %tmp4.i83 = icmp eq i8 %tmp62, %tmp67 ; <i1> [#uses=1]
+ br i1 %tmp4.i83, label %dowhile, label %enddowhile
+
+enddowhile: ; preds = %dowhilecond
+ %tmp71 = sub i32 %tmp49, %tmp36 ; <i32> [#uses=1]
+ br label %forinc
+
+forinc: ; preds = %enddowhile, %forbody
+ %pos.1 = phi i32 [ %tmp71, %enddowhile ], [ %pos.2, %forbody ] ; <i32> [#uses=1]
+ %tmp73 = add i32 %pos.1, 1 ; <i32> [#uses=1]
+ br label %forcond
+
+endfor: ; preds = %forcond
+ ret i32 %buf_arg80
+}
+
+define weak_odr fastcc i1 @_D5tango4text4Util15__T8containsTaZ8containsFAaaZb(%"byte[]" %source_arg, i8 %match_arg) nounwind readonly {
+entry:
+ %source_arg7 = extractvalue %"byte[]" %source_arg, 0 ; <i32> [#uses=3]
+ %source_arg8 = extractvalue %"byte[]" %source_arg, 1 ; <i8*> [#uses=2]
+ %tmp2.i = getelementptr i8* %source_arg8, i32 -1 ; <i8*> [#uses=1]
+ br label %forcond.i
+
+forcond.i: ; preds = %forbody.i, %entry
+ %len.0.i = phi i32 [ %source_arg7, %entry ], [ %tmp4.i, %forbody.i ] ; <i32> [#uses=2]
+ %p.0.i = phi i8* [ %tmp2.i, %entry ], [ %tmp7.i, %forbody.i ] ; <i8*> [#uses=1]
+ %tmp4.i = add i32 %len.0.i, -1 ; <i32> [#uses=1]
+ %tmp5.i = icmp eq i32 %len.0.i, 0 ; <i1> [#uses=1]
+ br i1 %tmp5.i, label %_D5tango4text4Util14__T7indexOfTaZ7indexOfFPaakZk.exit, label %forbody.i
+
+forbody.i: ; preds = %forcond.i
+ %tmp7.i = getelementptr i8* %p.0.i, i32 1 ; <i8*> [#uses=3]
+ %tmp8.i = load i8* %tmp7.i ; <i8> [#uses=1]
+ %tmp12.i = icmp eq i8 %tmp8.i, %match_arg ; <i1> [#uses=1]
+ br i1 %tmp12.i, label %if.i, label %forcond.i
+
+if.i: ; preds = %forbody.i
+ %tmp15.i = ptrtoint i8* %tmp7.i to i32 ; <i32> [#uses=1]
+ %tmp16.i = ptrtoint i8* %source_arg8 to i32 ; <i32> [#uses=1]
+ %tmp17.i = sub i32 %tmp15.i, %tmp16.i ; <i32> [#uses=1]
+ br label %_D5tango4text4Util14__T7indexOfTaZ7indexOfFPaakZk.exit
+
+_D5tango4text4Util14__T7indexOfTaZ7indexOfFPaakZk.exit: ; preds = %if.i, %forcond.i
+ %tmp39 = phi i32 [ %tmp17.i, %if.i ], [ %source_arg7, %forcond.i ] ; <i32> [#uses=1]
+ %tmp6 = icmp ne i32 %tmp39, %source_arg7 ; <i1> [#uses=1]
+ ret i1 %tmp6
+}
+
+define weak_odr fastcc i32 @_D5tango4text7convert9TimeStamp14__T7dostimeTaZ7dostimeFAaKS5tango4time4Time4TimeZi(%"byte[]" %src_arg, %tango.time.Time.Time* nocapture %value_arg) {
+entry:
+ %.frame = alloca %nest.dostime, align 8 ; <%nest.dostime*> [#uses=6]
+ %tod = alloca %tango.time.Time.TimeOfDay, align 4 ; <%tango.time.Time.TimeOfDay*> [#uses=4]
+ %.rettmp = alloca %tango.time.Time.Time, align 8 ; <%tango.time.Time.Time*> [#uses=2]
+ %src_arg97 = extractvalue %"byte[]" %src_arg, 1 ; <i8*> [#uses=3]
+ %date = getelementptr %nest.dostime* %.frame, i32 0, i32 0 ; <%tango.time.Time.Date*> [#uses=1]
+ %tmp = bitcast %tango.time.Time.TimeOfDay* %tod to i8* ; <i8*> [#uses=1]
+ call void @llvm.memset.i32(i8* %tmp, i8 0, i32 16, i32 4)
+ %tmp1 = bitcast %nest.dostime* %.frame to i8* ; <i8*> [#uses=1]
+ call void @llvm.memset.i32(i8* %tmp1, i8 0, i32 24, i32 8)
+ %tmp1.i125 = getelementptr %nest.dostime* %.frame, i32 0, i32 0, i32 3 ; <i32*> [#uses=1]
+ br label %whilecond.i.i
+
+whilecond.i.i: ; preds = %whilebody.i.i, %entry
+ %p.1 = phi i8* [ %src_arg97, %entry ], [ %tmp11.i.i, %whilebody.i.i ] ; <i8*> [#uses=3]
+ %tmp10.i.i = phi i8* [ %tmp11.i.i, %whilebody.i.i ], [ %src_arg97, %entry ] ; <i8*> [#uses=3]
+ %value.0.i.i = phi i32 [ 0, %entry ], [ %tmp15.i.i, %whilebody.i.i ] ; <i32> [#uses=3]
+ %tmp1.i.i = load i8* %tmp10.i.i ; <i8> [#uses=1]
+ %tmp1.i.off.i = add i8 %tmp1.i.i, -48 ; <i8> [#uses=1]
+ %or.cond.i = icmp ult i8 %tmp1.i.off.i, 10 ; <i1> [#uses=1]
+ br i1 %or.cond.i, label %whilebody.i.i, label %_D5tango4text7convert9TimeStamp15__T8parseIntTaZ8parseIntFKPaZi.exit.i
+
+whilebody.i.i: ; preds = %whilecond.i.i
+ %tmp9.i.i = mul i32 %value.0.i.i, 10 ; <i32> [#uses=1]
+ %tmp11.i.i = getelementptr i8* %tmp10.i.i, i32 1 ; <i8*> [#uses=2]
+ %tmp12.i.i = load i8* %tmp10.i.i ; <i8> [#uses=1]
+ %tmp13.i.i = zext i8 %tmp12.i.i to i32 ; <i32> [#uses=1]
+ %tmp14.i.i = add i32 %tmp9.i.i, %tmp13.i.i ; <i32> [#uses=1]
+ %tmp15.i.i = add i32 %tmp14.i.i, -48 ; <i32> [#uses=1]
+ br label %whilecond.i.i
+
+_D5tango4text7convert9TimeStamp15__T8parseIntTaZ8parseIntFKPaZi.exit.i: ; preds = %whilecond.i.i
+ store i32 %value.0.i.i, i32* %tmp1.i125
+ %tmp3.i126 = icmp eq i32 %value.0.i.i, 0 ; <i1> [#uses=1]
+ br i1 %tmp3.i126, label %_D5tango4text7convert9TimeStamp14__T7dostimeTaZ7dostimeFAaKS5tango4time4Time4TimeZi2dtMFKPaZb.exit, label %andand.i127
+
+andand.i127: ; preds = %_D5tango4text7convert9TimeStamp15__T8parseIntTaZ8parseIntFKPaZi.exit.i
+ %tmp5.i = getelementptr i8* %p.1, i32 1 ; <i8*> [#uses=3]
+ %tmp6.i = load i8* %p.1 ; <i8> [#uses=1]
+ %tmp8.i = icmp eq i8 %tmp6.i, 45 ; <i1> [#uses=1]
+ br i1 %tmp8.i, label %andand9.i, label %_D5tango4text7convert9TimeStamp14__T7dostimeTaZ7dostimeFAaKS5tango4time4Time4TimeZi2dtMFKPaZb.exit
+
+andand9.i: ; preds = %andand.i127
+ %tmp13.i128 = getelementptr %nest.dostime* %.frame, i32 0, i32 0, i32 1 ; <i32*> [#uses=1]
+ br label %whilecond.i58.i
+
+whilecond.i58.i: ; preds = %whilebody.i65.i, %andand9.i
+ %p.4 = phi i8* [ %tmp5.i, %andand9.i ], [ %tmp11.i60.i, %whilebody.i65.i ] ; <i8*> [#uses=3]
+ %tmp10.i54.i = phi i8* [ %tmp11.i60.i, %whilebody.i65.i ], [ %tmp5.i, %andand9.i ] ; <i8*> [#uses=3]
+ %value.0.i55.i = phi i32 [ 0, %andand9.i ], [ %tmp15.i64.i, %whilebody.i65.i ] ; <i32> [#uses=3]
+ %tmp1.i56.i = load i8* %tmp10.i54.i ; <i8> [#uses=1]
+ %tmp1.i56.off.i = add i8 %tmp1.i56.i, -48 ; <i8> [#uses=1]
+ %or.cond72.i = icmp ult i8 %tmp1.i56.off.i, 10 ; <i1> [#uses=1]
+ br i1 %or.cond72.i, label %whilebody.i65.i, label %_D5tango4text7convert9TimeStamp15__T8parseIntTaZ8parseIntFKPaZi.exit70.i
+
+whilebody.i65.i: ; preds = %whilecond.i58.i
+ %tmp9.i59.i = mul i32 %value.0.i55.i, 10 ; <i32> [#uses=1]
+ %tmp11.i60.i = getelementptr i8* %tmp10.i54.i, i32 1 ; <i8*> [#uses=2]
+ %tmp12.i61.i = load i8* %tmp10.i54.i ; <i8> [#uses=1]
+ %tmp13.i62.i = zext i8 %tmp12.i61.i to i32 ; <i32> [#uses=1]
+ %tmp14.i63.i = add i32 %tmp9.i59.i, %tmp13.i62.i ; <i32> [#uses=1]
+ %tmp15.i64.i = add i32 %tmp14.i63.i, -48 ; <i32> [#uses=1]
+ br label %whilecond.i58.i
+
+_D5tango4text7convert9TimeStamp15__T8parseIntTaZ8parseIntFKPaZi.exit70.i: ; preds = %whilecond.i58.i
+ store i32 %value.0.i55.i, i32* %tmp13.i128
+ %tmp15.i129 = icmp eq i32 %value.0.i55.i, 0 ; <i1> [#uses=1]
+ br i1 %tmp15.i129, label %_D5tango4text7convert9TimeStamp14__T7dostimeTaZ7dostimeFAaKS5tango4time4Time4TimeZi2dtMFKPaZb.exit, label %andand16.i
+
+andand16.i: ; preds = %_D5tango4text7convert9TimeStamp15__T8parseIntTaZ8parseIntFKPaZi.exit70.i
+ %tmp19.i = getelementptr i8* %p.4, i32 1 ; <i8*> [#uses=3]
+ %tmp20.i = load i8* %p.4 ; <i8> [#uses=1]
+ %tmp22.i = icmp eq i8 %tmp20.i, 45 ; <i1> [#uses=1]
+ br i1 %tmp22.i, label %andand23.i, label %_D5tango4text7convert9TimeStamp14__T7dostimeTaZ7dostimeFAaKS5tango4time4Time4TimeZi2dtMFKPaZb.exit
+
+andand23.i: ; preds = %andand16.i
+ %tmp27.i = getelementptr %nest.dostime* %.frame, i32 0, i32 0, i32 2 ; <i32*> [#uses=1]
+ br label %whilecond.i39.i
+
+whilecond.i39.i: ; preds = %whilebody.i46.i, %andand23.i
+ %p.5 = phi i8* [ %tmp19.i, %andand23.i ], [ %tmp11.i41.i, %whilebody.i46.i ] ; <i8*> [#uses=1]
+ %tmp10.i35.i = phi i8* [ %tmp11.i41.i, %whilebody.i46.i ], [ %tmp19.i, %andand23.i ] ; <i8*> [#uses=3]
+ %value.0.i36.i = phi i32 [ 0, %andand23.i ], [ %tmp15.i45.i, %whilebody.i46.i ] ; <i32> [#uses=2]
+ %tmp1.i37.i = load i8* %tmp10.i35.i ; <i8> [#uses=1]
+ %tmp1.i37.off.i = add i8 %tmp1.i37.i, -48 ; <i8> [#uses=1]
+ %or.cond73.i = icmp ult i8 %tmp1.i37.off.i, 10 ; <i1> [#uses=1]
+ br i1 %or.cond73.i, label %whilebody.i46.i, label %_D5tango4text7convert9TimeStamp15__T8parseIntTaZ8parseIntFKPaZi.exit51.i
+
+whilebody.i46.i: ; preds = %whilecond.i39.i
+ %tmp9.i40.i = mul i32 %value.0.i36.i, 10 ; <i32> [#uses=1]
+ %tmp11.i41.i = getelementptr i8* %tmp10.i35.i, i32 1 ; <i8*> [#uses=2]
+ %tmp12.i42.i = load i8* %tmp10.i35.i ; <i8> [#uses=1]
+ %tmp13.i43.i = zext i8 %tmp12.i42.i to i32 ; <i32> [#uses=1]
+ %tmp14.i44.i = add i32 %tmp9.i40.i, %tmp13.i43.i ; <i32> [#uses=1]
+ %tmp15.i45.i = add i32 %tmp14.i44.i, -48 ; <i32> [#uses=1]
+ br label %whilecond.i39.i
+
+_D5tango4text7convert9TimeStamp15__T8parseIntTaZ8parseIntFKPaZi.exit51.i: ; preds = %whilecond.i39.i
+ store i32 %value.0.i36.i, i32* %tmp27.i, align 8
+ br label %_D5tango4text7convert9TimeStamp14__T7dostimeTaZ7dostimeFAaKS5tango4time4Time4TimeZi2dtMFKPaZb.exit
+
+_D5tango4text7convert9TimeStamp14__T7dostimeTaZ7dostimeFAaKS5tango4time4Time4TimeZi2dtMFKPaZb.exit: ; preds = %_D5tango4text7convert9TimeStamp15__T8parseIntTaZ8parseIntFKPaZi.exit51.i, %andand16.i, %_D5tango4text7convert9TimeStamp15__T8parseIntTaZ8parseIntFKPaZi.exit70.i, %andand.i127, %_D5tango4text7convert9TimeStamp15__T8parseIntTaZ8parseIntFKPaZi.exit.i
+ %p.3 = phi i8* [ %p.5, %_D5tango4text7convert9TimeStamp15__T8parseIntTaZ8parseIntFKPaZi.exit51.i ], [ %p.1, %_D5tango4text7convert9TimeStamp15__T8parseIntTaZ8parseIntFKPaZi.exit.i ], [ %p.4, %_D5tango4text7convert9TimeStamp15__T8parseIntTaZ8parseIntFKPaZi.exit70.i ], [ %tmp19.i, %andand16.i ], [ %tmp5.i, %andand.i127 ] ; <i8*> [#uses=2]
+ %tmp8 = getelementptr i8* %p.3, i32 1 ; <i8*> [#uses=2]
+ %tmp9 = load i8* %p.3 ; <i8> [#uses=1]
+ %tmp11 = icmp eq i8 %tmp9, 32 ; <i1> [#uses=1]
+ br i1 %tmp11, label %andand12, label %endif
+
+andand12: ; preds = %_D5tango4text7convert9TimeStamp14__T7dostimeTaZ7dostimeFAaKS5tango4time4Time4TimeZi2dtMFKPaZb.exit
+ %tmp14 = getelementptr %tango.time.Time.TimeOfDay* %tod, i32 0, i32 0 ; <i32*> [#uses=2]
+ br label %whilecond.i
+
+whilecond.i: ; preds = %whilebody.i, %andand12
+ %tmp20 = phi i8* [ %tmp11.i, %whilebody.i ], [ %tmp8, %andand12 ] ; <i8*> [#uses=2]
+ %tmp10.i = phi i8* [ %tmp11.i, %whilebody.i ], [ %tmp8, %andand12 ] ; <i8*> [#uses=3]
+ %tmp51 = phi i32 [ 0, %andand12 ], [ %tmp15.i, %whilebody.i ] ; <i32> [#uses=4]
+ %tmp1.i = load i8* %tmp10.i ; <i8> [#uses=1]
+ %tmp1.i.off = add i8 %tmp1.i, -48 ; <i8> [#uses=1]
+ %or.cond = icmp ult i8 %tmp1.i.off, 10 ; <i1> [#uses=1]
+ br i1 %or.cond, label %whilebody.i, label %_D5tango4text7convert9TimeStamp15__T8parseIntTaZ8parseIntFKPaZi.exit
+
+whilebody.i: ; preds = %whilecond.i
+ %tmp9.i = mul i32 %tmp51, 10 ; <i32> [#uses=1]
+ %tmp11.i = getelementptr i8* %tmp10.i, i32 1 ; <i8*> [#uses=2]
+ %tmp12.i = load i8* %tmp10.i ; <i8> [#uses=1]
+ %tmp13.i = zext i8 %tmp12.i to i32 ; <i32> [#uses=1]
+ %tmp14.i = add i32 %tmp9.i, %tmp13.i ; <i32> [#uses=1]
+ %tmp15.i = add i32 %tmp14.i, -48 ; <i32> [#uses=1]
+ br label %whilecond.i
+
+_D5tango4text7convert9TimeStamp15__T8parseIntTaZ8parseIntFKPaZi.exit: ; preds = %whilecond.i
+ store i32 %tmp51, i32* %tmp14
+ %tmp16 = icmp eq i32 %tmp51, 0 ; <i1> [#uses=1]
+ br i1 %tmp16, label %endif, label %andand18
+
+andand18: ; preds = %_D5tango4text7convert9TimeStamp15__T8parseIntTaZ8parseIntFKPaZi.exit
+ %tmp21 = getelementptr i8* %tmp20, i32 1 ; <i8*> [#uses=3]
+ %tmp22 = load i8* %tmp20 ; <i8> [#uses=1]
+ %tmp24 = icmp eq i8 %tmp22, 58 ; <i1> [#uses=1]
+ br i1 %tmp24, label %andand26, label %endif
+
+andand26: ; preds = %andand18
+ %tmp28 = getelementptr %tango.time.Time.TimeOfDay* %tod, i32 0, i32 1 ; <i32*> [#uses=1]
+ br label %whilecond.i107
+
+whilecond.i107: ; preds = %whilebody.i114, %andand26
+ %p.0 = phi i8* [ %tmp21, %andand26 ], [ %tmp11.i109, %whilebody.i114 ] ; <i8*> [#uses=1]
+ %tmp34 = phi i8* [ %tmp11.i109, %whilebody.i114 ], [ %tmp21, %andand26 ] ; <i8*> [#uses=1]
+ %tmp10.i103 = phi i8* [ %tmp11.i109, %whilebody.i114 ], [ %tmp21, %andand26 ] ; <i8*> [#uses=3]
+ %value.0.i104 = phi i32 [ 0, %andand26 ], [ %tmp15.i113, %whilebody.i114 ] ; <i32> [#uses=3]
+ %tmp1.i105 = load i8* %tmp10.i103 ; <i8> [#uses=1]
+ %tmp1.i105.off = add i8 %tmp1.i105, -48 ; <i8> [#uses=1]
+ %or.cond130 = icmp ult i8 %tmp1.i105.off, 10 ; <i1> [#uses=1]
+ br i1 %or.cond130, label %whilebody.i114, label %_D5tango4text7convert9TimeStamp15__T8parseIntTaZ8parseIntFKPaZi.exit119
+
+whilebody.i114: ; preds = %whilecond.i107
+ %tmp9.i108 = mul i32 %value.0.i104, 10 ; <i32> [#uses=1]
+ %tmp11.i109 = getelementptr i8* %tmp10.i103, i32 1 ; <i8*> [#uses=3]
+ %tmp12.i110 = load i8* %tmp10.i103 ; <i8> [#uses=1]
+ %tmp13.i111 = zext i8 %tmp12.i110 to i32 ; <i32> [#uses=1]
+ %tmp14.i112 = add i32 %tmp9.i108, %tmp13.i111 ; <i32> [#uses=1]
+ %tmp15.i113 = add i32 %tmp14.i112, -48 ; <i32> [#uses=1]
+ br label %whilecond.i107
+
+_D5tango4text7convert9TimeStamp15__T8parseIntTaZ8parseIntFKPaZi.exit119: ; preds = %whilecond.i107
+ store i32 %value.0.i104, i32* %tmp28
+ %tmp30 = icmp eq i32 %value.0.i104, 0 ; <i1> [#uses=1]
+ br i1 %tmp30, label %endif, label %andand32
+
+andand32: ; preds = %_D5tango4text7convert9TimeStamp15__T8parseIntTaZ8parseIntFKPaZi.exit119
+ %tmp35 = load i8* %tmp34 ; <i8> [#uses=1]
+ switch i8 %tmp35, label %endif [
+ i8 80, label %if47
+ i8 65, label %endif48
+ ]
+
+if47: ; preds = %andand32
+ %tmp52 = add i32 %tmp51, 12 ; <i32> [#uses=1]
+ store i32 %tmp52, i32* %tmp14
+ br label %endif48
+
+endif48: ; preds = %if47, %andand32
+ %tmp53 = getelementptr %nest.dostime* %.frame, i32 0, i32 0, i32 2 ; <i32*> [#uses=3]
+ %tmp54 = load i32* %tmp53, align 8 ; <i32> [#uses=4]
+ %tmp55 = icmp ult i32 %tmp54, 70 ; <i1> [#uses=1]
+ br i1 %tmp55, label %if56, label %else
+
+if56: ; preds = %endif48
+ %tmp61 = add i32 %tmp54, 2000 ; <i32> [#uses=1]
+ store i32 %tmp61, i32* %tmp53, align 8
+ br label %endif57
+
+else: ; preds = %endif48
+ %tmp64 = icmp ult i32 %tmp54, 100 ; <i1> [#uses=1]
+ br i1 %tmp64, label %if65, label %endif57
+
+if65: ; preds = %else
+ %tmp70 = add i32 %tmp54, 1900 ; <i32> [#uses=1]
+ store i32 %tmp70, i32* %tmp53, align 8
+ br label %endif57
+
+endif57: ; preds = %if65, %else, %if56
+ %0 = load %tango.time.chrono.Gregorian.Gregorian** @_D5tango4time6chrono9Gregorian9Gregorian7genericC5tango4time6chrono9Gregorian9Gregorian ; <%tango.time.chrono.Gregorian.Gregorian*> [#uses=2]
+ %tmp71 = bitcast %tango.time.chrono.Gregorian.Gregorian* %0 to %tango.time.chrono.Calendar.Calendar* ; <%tango.time.chrono.Calendar.Calendar*> [#uses=1]
+ %tmp72 = bitcast %tango.time.chrono.Gregorian.Gregorian* %0 to %tango.time.chrono.Calendar.Calendar.__vtbl** ; <%tango.time.chrono.Calendar.Calendar.__vtbl**> [#uses=1]
+ %tmp73 = load %tango.time.chrono.Calendar.Calendar.__vtbl** %tmp72 ; <%tango.time.chrono.Calendar.Calendar.__vtbl*> [#uses=1]
+ %"generic.toTime@vtbl" = getelementptr %tango.time.chrono.Calendar.Calendar.__vtbl* %tmp73, i32 0, i32 10 ; <void (%tango.time.Time.Time*, %tango.time.chrono.Calendar.Calendar*, %tango.time.Time.Date*, %tango.time.Time.TimeOfDay*)**> [#uses=1]
+ %generic.toTime = load void (%tango.time.Time.Time*, %tango.time.chrono.Calendar.Calendar*, %tango.time.Time.Date*, %tango.time.Time.TimeOfDay*)** %"generic.toTime@vtbl", align 4 ; <void (%tango.time.Time.Time*, %tango.time.chrono.Calendar.Calendar*, %tango.time.Time.Date*, %tango.time.Time.TimeOfDay*)*> [#uses=1]
+ call fastcc void %generic.toTime(%tango.time.Time.Time* noalias nocapture sret %.rettmp, %tango.time.chrono.Calendar.Calendar* %tmp71, %tango.time.Time.Date* byval %date, %tango.time.Time.TimeOfDay* byval %tod)
+ %tmp7698 = getelementptr %tango.time.Time.Time* %.rettmp, i32 0, i32 0 ; <i64*> [#uses=1]
+ %tmp100 = load i64* %tmp7698, align 8 ; <i64> [#uses=1]
+ %1 = getelementptr %tango.time.Time.Time* %value_arg, i32 0, i32 0 ; <i64*> [#uses=1]
+ store i64 %tmp100, i64* %1
+ %tmp78 = getelementptr i8* %p.0, i32 2 ; <i8*> [#uses=1]
+ %tmp81 = ptrtoint i8* %tmp78 to i32 ; <i32> [#uses=1]
+ %tmp82 = ptrtoint i8* %src_arg97 to i32 ; <i32> [#uses=1]
+ %tmp83 = sub i32 %tmp81, %tmp82 ; <i32> [#uses=1]
+ ret i32 %tmp83
+
+endif: ; preds = %andand32, %_D5tango4text7convert9TimeStamp15__T8parseIntTaZ8parseIntFKPaZi.exit119, %andand18, %_D5tango4text7convert9TimeStamp15__T8parseIntTaZ8parseIntFKPaZi.exit, %_D5tango4text7convert9TimeStamp14__T7dostimeTaZ7dostimeFAaKS5tango4time4Time4TimeZi2dtMFKPaZb.exit
+ ret i32 0
+}
+
+define weak_odr fastcc i32 @_D5tango4text7convert9TimeStamp15__T8parseIntTaZ8parseIntFKPaZi(i8** nocapture %p_arg) nounwind {
+entry:
+ %tmp.pre = load i8** %p_arg ; <i8*> [#uses=1]
+ br label %whilecond
+
+whilecond: ; preds = %whilebody, %entry
+ %tmp10 = phi i8* [ %tmp11, %whilebody ], [ %tmp.pre, %entry ] ; <i8*> [#uses=3]
+ %value.0 = phi i32 [ 0, %entry ], [ %tmp15, %whilebody ] ; <i32> [#uses=3]
+ %tmp1 = load i8* %tmp10 ; <i8> [#uses=2]
+ %tmp3 = icmp ult i8 %tmp1, 48 ; <i1> [#uses=1]
+ br i1 %tmp3, label %endwhile.critedge, label %andand
+
+whilebody: ; preds = %andand
+ %tmp9 = mul i32 %value.0, 10 ; <i32> [#uses=1]
+ %tmp11 = getelementptr i8* %tmp10, i32 1 ; <i8*> [#uses=2]
+ store i8* %tmp11, i8** %p_arg
+ %tmp12 = load i8* %tmp10 ; <i8> [#uses=1]
+ %tmp13 = zext i8 %tmp12 to i32 ; <i32> [#uses=1]
+ %tmp14 = add i32 %tmp9, %tmp13 ; <i32> [#uses=1]
+ %tmp15 = add i32 %tmp14, -48 ; <i32> [#uses=1]
+ br label %whilecond
+
+andand: ; preds = %whilecond
+ %tmp7 = icmp ult i8 %tmp1, 58 ; <i1> [#uses=1]
+ br i1 %tmp7, label %whilebody, label %endwhile
+
+endwhile.critedge: ; preds = %whilecond
+ ret i32 %value.0
+
+endwhile: ; preds = %andand
+ ret i32 %value.0
+}
+
+define weak_odr fastcc %"char[][]" @_D5tango4text4Util14__T7delimitTaZ7delimitFAaAaZAAa(%"byte[]" %src_arg, %"byte[]" %set_arg) {
+entry:
+ %.frame = alloca %nest.delimit, align 8 ; <%nest.delimit*> [#uses=2]
+ %.rettmp = alloca %tango.net.ftp.FtpClient.FtpFeature, align 8 ; <%tango.net.ftp.FtpClient.FtpFeature*> [#uses=5]
+ %result = getelementptr %nest.delimit* %.frame, i32 0, i32 0 ; <%"char[][]"*> [#uses=2]
+ store %"char[][]" zeroinitializer, %"char[][]"* %result, align 8
+ %set_arg13.i = extractvalue %"byte[]" %set_arg, 0 ; <i32> [#uses=1]
+ %set_arg14.i = extractvalue %"byte[]" %set_arg, 1 ; <i8*> [#uses=1]
+ %src_arg16.i = extractvalue %"byte[]" %src_arg, 0 ; <i32> [#uses=1]
+ %src_arg17.i = extractvalue %"byte[]" %src_arg, 1 ; <i8*> [#uses=1]
+ %0 = getelementptr %tango.net.ftp.FtpClient.FtpFeature* %.rettmp, i32 0, i32 0, i32 0 ; <i32*> [#uses=1]
+ store i32 %src_arg16.i, i32* %0, align 8
+ %.sret_arg18.1.i = getelementptr %tango.net.ftp.FtpClient.FtpFeature* %.rettmp, i32 0, i32 0, i32 1 ; <i8**> [#uses=1]
+ store i8* %src_arg17.i, i8** %.sret_arg18.1.i, align 4
+ %.sret_arg.1.0.i = getelementptr %tango.net.ftp.FtpClient.FtpFeature* %.rettmp, i32 0, i32 1, i32 0 ; <i32*> [#uses=1]
+ store i32 %set_arg13.i, i32* %.sret_arg.1.0.i, align 8
+ %.sret_arg.1.1.i = getelementptr %tango.net.ftp.FtpClient.FtpFeature* %.rettmp, i32 0, i32 1, i32 1 ; <i8**> [#uses=1]
+ store i8* %set_arg14.i, i8** %.sret_arg.1.1.i, align 4
+ %tmp2 = bitcast %nest.delimit* %.frame to i8* ; <i8*> [#uses=1]
+ %tmp3 = insertvalue %"int delegate(ref char[])" undef, i8* %tmp2, 0 ; <%"int delegate(ref char[])"> [#uses=1]
+ %.func = insertvalue %"int delegate(ref char[])" %tmp3, i32 (i8*, %"byte[]"*)* @_D5tango4text4Util14__T7delimitTaZ7delimitFAaAaZAAa15__foreachbody43MFKAaZi, 1 ; <%"int delegate(ref char[])"> [#uses=1]
+ %tmp4 = call fastcc i32 @_D5tango4text4Util18__T10DelimFructTaZ10DelimFruct7opApplyMFDFKAaZiZi(%tango.net.ftp.FtpClient.FtpFeature* %.rettmp, %"int delegate(ref char[])" %.func) ; <i32> [#uses=0]
+ %tmp5 = load %"char[][]"* %result, align 8 ; <%"char[][]"> [#uses=1]
+ ret %"char[][]" %tmp5
+}
+
+define weak_odr fastcc void @_D5tango4text4Util18__T10delimitersTaZ10delimitersFAaAaZS5tango4text4Util18__T10DelimFructTaZ10DelimFruct(%tango.net.ftp.FtpClient.FtpFeature* noalias nocapture sret %.sret_arg, %"byte[]" %src_arg, %"byte[]" %set_arg) nounwind {
+entry:
+ %set_arg13 = extractvalue %"byte[]" %set_arg, 0 ; <i32> [#uses=1]
+ %set_arg14 = extractvalue %"byte[]" %set_arg, 1 ; <i8*> [#uses=1]
+ %src_arg16 = extractvalue %"byte[]" %src_arg, 0 ; <i32> [#uses=1]
+ %src_arg17 = extractvalue %"byte[]" %src_arg, 1 ; <i8*> [#uses=1]
+ %0 = getelementptr %tango.net.ftp.FtpClient.FtpFeature* %.sret_arg, i32 0, i32 0, i32 0 ; <i32*> [#uses=1]
+ store i32 %src_arg16, i32* %0
+ %.sret_arg18.1 = getelementptr %tango.net.ftp.FtpClient.FtpFeature* %.sret_arg, i32 0, i32 0, i32 1 ; <i8**> [#uses=1]
+ store i8* %src_arg17, i8** %.sret_arg18.1, align 4
+ %.sret_arg.1.0 = getelementptr %tango.net.ftp.FtpClient.FtpFeature* %.sret_arg, i32 0, i32 1, i32 0 ; <i32*> [#uses=1]
+ store i32 %set_arg13, i32* %.sret_arg.1.0, align 8
+ %.sret_arg.1.1 = getelementptr %tango.net.ftp.FtpClient.FtpFeature* %.sret_arg, i32 0, i32 1, i32 1 ; <i8**> [#uses=1]
+ store i8* %set_arg14, i8** %.sret_arg.1.1, align 4
+ ret void
+}
+
+define weak_odr fastcc i32 @_D5tango4text4Util18__T10DelimFructTaZ10DelimFruct7opApplyMFDFKAaZiZi(%tango.net.ftp.FtpClient.FtpFeature* nocapture %.this_arg, %"int delegate(ref char[])" %dg_arg) {
+entry:
+ %token = alloca %"byte[]", align 8 ; <%"byte[]"*> [#uses=10]
+ %dg_arg115 = extractvalue %"int delegate(ref char[])" %dg_arg, 0 ; <i8*> [#uses=3]
+ %dg_arg116 = extractvalue %"int delegate(ref char[])" %dg_arg, 1 ; <i32 (i8*, %"byte[]"*)*> [#uses=3]
+ store %"byte[]" zeroinitializer, %"byte[]"* %token, align 8
+ %tmp2 = getelementptr %tango.net.ftp.FtpClient.FtpFeature* %.this_arg, i32 0, i32 1, i32 0 ; <i32*> [#uses=1]
+ %.len = load i32* %tmp2 ; <i32> [#uses=2]
+ %tmp3 = icmp eq i32 %.len, 1 ; <i1> [#uses=1]
+ br i1 %tmp3, label %whilecond, label %else
+
+whilecond: ; preds = %endif36, %entry
+ %mark.0 = phi i32 [ 0, %entry ], [ %tmp39, %endif36 ] ; <i32> [#uses=5]
+ %ret.0 = phi i32 [ 0, %entry ], [ %tmp33, %endif36 ] ; <i32> [#uses=1]
+ %tmp5 = getelementptr %tango.net.ftp.FtpClient.FtpFeature* %.this_arg, i32 0, i32 0 ; <%"byte[]"*> [#uses=1]
+ %tmp6 = load %"byte[]"* %tmp5 ; <%"byte[]"> [#uses=2]
+ %tmp9 = getelementptr %tango.net.ftp.FtpClient.FtpFeature* %.this_arg, i32 0, i32 1, i32 1 ; <i8**> [#uses=1]
+ %.ptr = load i8** %tmp9 ; <i8*> [#uses=1]
+ %tmp11 = load i8* %.ptr ; <i8> [#uses=1]
+ %source_arg16.i = extractvalue %"byte[]" %tmp6, 0 ; <i32> [#uses=3]
+ %source_arg17.i = extractvalue %"byte[]" %tmp6, 1 ; <i8*> [#uses=2]
+ %tmp2.i = icmp ult i32 %source_arg16.i, %mark.0 ; <i1> [#uses=1]
+ %start.0.i = select i1 %tmp2.i, i32 %source_arg16.i, i32 %mark.0 ; <i32> [#uses=4]
+ %tmp7.i = getelementptr i8* %source_arg17.i, i32 %start.0.i ; <i8*> [#uses=1]
+ %tmp12.i = sub i32 %source_arg16.i, %start.0.i ; <i32> [#uses=2]
+ %tmp7.sum.i = add i32 %start.0.i, -1 ; <i32> [#uses=1]
+ %tmp2.i.i = getelementptr i8* %source_arg17.i, i32 %tmp7.sum.i ; <i8*> [#uses=1]
+ br label %forcond.i.i
+
+forcond.i.i: ; preds = %forbody.i.i, %whilecond
+ %len.0.i.i = phi i32 [ %tmp12.i, %whilecond ], [ %tmp4.i.i, %forbody.i.i ] ; <i32> [#uses=2]
+ %p.0.i.i = phi i8* [ %tmp2.i.i, %whilecond ], [ %tmp7.i.i, %forbody.i.i ] ; <i8*> [#uses=1]
+ %tmp4.i.i = add i32 %len.0.i.i, -1 ; <i32> [#uses=1]
+ %tmp5.i.i = icmp eq i32 %len.0.i.i, 0 ; <i1> [#uses=1]
+ br i1 %tmp5.i.i, label %_D5tango4text4Util13__T6locateTaZ6locateFAaakZk.exit, label %forbody.i.i
+
+forbody.i.i: ; preds = %forcond.i.i
+ %tmp7.i.i = getelementptr i8* %p.0.i.i, i32 1 ; <i8*> [#uses=3]
+ %tmp8.i.i = load i8* %tmp7.i.i ; <i8> [#uses=1]
+ %tmp12.i.i = icmp eq i8 %tmp8.i.i, %tmp11 ; <i1> [#uses=1]
+ br i1 %tmp12.i.i, label %if.i.i, label %forcond.i.i
+
+if.i.i: ; preds = %forbody.i.i
+ %tmp15.i.i = ptrtoint i8* %tmp7.i.i to i32 ; <i32> [#uses=1]
+ %tmp16.i.i = ptrtoint i8* %tmp7.i to i32 ; <i32> [#uses=1]
+ %tmp17.i.i = sub i32 %tmp15.i.i, %tmp16.i.i ; <i32> [#uses=1]
+ br label %_D5tango4text4Util13__T6locateTaZ6locateFAaakZk.exit
+
+_D5tango4text4Util13__T6locateTaZ6locateFAaakZk.exit: ; preds = %if.i.i, %forcond.i.i
+ %tmp1318.i = phi i32 [ %tmp17.i.i, %if.i.i ], [ %tmp12.i, %forcond.i.i ] ; <i32> [#uses=1]
+ %tmp15.i = add i32 %tmp1318.i, %start.0.i ; <i32> [#uses=3]
+ %tmp16 = getelementptr %tango.net.ftp.FtpClient.FtpFeature* %.this_arg, i32 0, i32 0, i32 0 ; <i32*> [#uses=1]
+ %.len17 = load i32* %tmp16 ; <i32> [#uses=1]
+ %tmp18 = icmp ult i32 %tmp15.i, %.len17 ; <i1> [#uses=1]
+ br i1 %tmp18, label %whilebody, label %endif
+
+whilebody: ; preds = %_D5tango4text4Util13__T6locateTaZ6locateFAaakZk.exit
+ %tmp21 = getelementptr %tango.net.ftp.FtpClient.FtpFeature* %.this_arg, i32 0, i32 0, i32 1 ; <i8**> [#uses=1]
+ %.ptr22 = load i8** %tmp21 ; <i8*> [#uses=1]
+ %tmp25 = getelementptr i8* %.ptr22, i32 %mark.0 ; <i8*> [#uses=1]
+ %tmp26 = sub i32 %tmp15.i, %mark.0 ; <i32> [#uses=1]
+ %tmp27 = getelementptr %"byte[]"* %token, i32 0, i32 0 ; <i32*> [#uses=1]
+ store i32 %tmp26, i32* %tmp27, align 8
+ %tmp28 = getelementptr %"byte[]"* %token, i32 0, i32 1 ; <i8**> [#uses=1]
+ store i8* %tmp25, i8** %tmp28
+ %tmp33 = call fastcc i32 %dg_arg116(i8* %dg_arg115, %"byte[]"* %token) ; <i32> [#uses=3]
+ %tmp34 = icmp eq i32 %tmp33, 0 ; <i1> [#uses=1]
+ br i1 %tmp34, label %endif36, label %if35
+
+if35: ; preds = %whilebody
+ ret i32 %tmp33
+
+endif36: ; preds = %whilebody
+ %tmp39 = add i32 %tmp15.i, 1 ; <i32> [#uses=1]
+ br label %whilecond
+
+else: ; preds = %entry
+ %tmp44 = icmp ugt i32 %.len, 1 ; <i1> [#uses=1]
+ br i1 %tmp44, label %if45, label %endif
+
+if45: ; preds = %else
+ %tmp49 = getelementptr %tango.net.ftp.FtpClient.FtpFeature* %.this_arg, i32 0, i32 0, i32 0 ; <i32*> [#uses=1]
+ %.len50 = load i32* %tmp49 ; <i32> [#uses=1]
+ %tmp51 = getelementptr %tango.net.ftp.FtpClient.FtpFeature* %.this_arg, i32 0, i32 0, i32 1 ; <i8**> [#uses=2]
+ %.ptr52 = load i8** %tmp51 ; <i8*> [#uses=1]
+ br label %foreachcond
+
+foreachcond: ; preds = %endif82, %foreachbody.foreachnext_crit_edge, %if45
+ %mark.3 = phi i32 [ 0, %if45 ], [ %tmp86, %endif82 ], [ %mark.3, %foreachbody.foreachnext_crit_edge ] ; <i32> [#uses=4]
+ %ret.3 = phi i32 [ 0, %if45 ], [ %tmp79, %endif82 ], [ %ret.3, %foreachbody.foreachnext_crit_edge ] ; <i32> [#uses=2]
+ %i.0 = phi i32 [ 0, %if45 ], [ %tmp88.pre, %foreachbody.foreachnext_crit_edge ], [ %tmp86, %endif82 ] ; <i32> [#uses=5]
+ %tmp54 = icmp ult i32 %i.0, %.len50 ; <i1> [#uses=1]
+ br i1 %tmp54, label %foreachbody, label %endif
+
+foreachbody: ; preds = %foreachcond
+ %tmp56 = getelementptr i8* %.ptr52, i32 %i.0 ; <i8*> [#uses=1]
+ %tmp57 = load i8* %tmp56 ; <i8> [#uses=1]
+ %tmp59 = getelementptr %tango.net.ftp.FtpClient.FtpFeature* %.this_arg, i32 0, i32 1 ; <%"byte[]"*> [#uses=1]
+ %tmp60 = load %"byte[]"* %tmp59 ; <%"byte[]"> [#uses=2]
+ %source_arg7.i = extractvalue %"byte[]" %tmp60, 0 ; <i32> [#uses=3]
+ %source_arg8.i = extractvalue %"byte[]" %tmp60, 1 ; <i8*> [#uses=2]
+ %tmp2.i.i117 = getelementptr i8* %source_arg8.i, i32 -1 ; <i8*> [#uses=1]
+ br label %forcond.i.i122
+
+forcond.i.i122: ; preds = %forbody.i.i126, %foreachbody
+ %len.0.i.i118 = phi i32 [ %source_arg7.i, %foreachbody ], [ %tmp4.i.i120, %forbody.i.i126 ] ; <i32> [#uses=2]
+ %p.0.i.i119 = phi i8* [ %tmp2.i.i117, %foreachbody ], [ %tmp7.i.i123, %forbody.i.i126 ] ; <i8*> [#uses=1]
+ %tmp4.i.i120 = add i32 %len.0.i.i118, -1 ; <i32> [#uses=1]
+ %tmp5.i.i121 = icmp eq i32 %len.0.i.i118, 0 ; <i1> [#uses=1]
+ br i1 %tmp5.i.i121, label %_D5tango4text4Util15__T8containsTaZ8containsFAaaZb.exit, label %forbody.i.i126
+
+forbody.i.i126: ; preds = %forcond.i.i122
+ %tmp7.i.i123 = getelementptr i8* %p.0.i.i119, i32 1 ; <i8*> [#uses=3]
+ %tmp8.i.i124 = load i8* %tmp7.i.i123 ; <i8> [#uses=1]
+ %tmp12.i.i125 = icmp eq i8 %tmp8.i.i124, %tmp57 ; <i1> [#uses=1]
+ br i1 %tmp12.i.i125, label %if.i.i130, label %forcond.i.i122
+
+if.i.i130: ; preds = %forbody.i.i126
+ %tmp15.i.i127 = ptrtoint i8* %tmp7.i.i123 to i32 ; <i32> [#uses=1]
+ %tmp16.i.i128 = ptrtoint i8* %source_arg8.i to i32 ; <i32> [#uses=1]
+ %tmp17.i.i129 = sub i32 %tmp15.i.i127, %tmp16.i.i128 ; <i32> [#uses=1]
+ br label %_D5tango4text4Util15__T8containsTaZ8containsFAaaZb.exit
+
+_D5tango4text4Util15__T8containsTaZ8containsFAaaZb.exit: ; preds = %if.i.i130, %forcond.i.i122
+ %tmp39.i = phi i32 [ %tmp17.i.i129, %if.i.i130 ], [ %source_arg7.i, %forcond.i.i122 ] ; <i32> [#uses=1]
+ %tmp6.i = icmp eq i32 %tmp39.i, %source_arg7.i ; <i1> [#uses=1]
+ br i1 %tmp6.i, label %foreachbody.foreachnext_crit_edge, label %if63
+
+foreachbody.foreachnext_crit_edge: ; preds = %_D5tango4text4Util15__T8containsTaZ8containsFAaaZb.exit
+ %tmp88.pre = add i32 %i.0, 1 ; <i32> [#uses=1]
+ br label %foreachcond
+
+if63: ; preds = %_D5tango4text4Util15__T8containsTaZ8containsFAaaZb.exit
+ %.ptr68 = load i8** %tmp51 ; <i8*> [#uses=1]
+ %tmp71 = getelementptr i8* %.ptr68, i32 %mark.3 ; <i8*> [#uses=1]
+ %tmp72 = sub i32 %i.0, %mark.3 ; <i32> [#uses=1]
+ %tmp73 = getelementptr %"byte[]"* %token, i32 0, i32 0 ; <i32*> [#uses=1]
+ store i32 %tmp72, i32* %tmp73, align 8
+ %tmp74 = getelementptr %"byte[]"* %token, i32 0, i32 1 ; <i8**> [#uses=1]
+ store i8* %tmp71, i8** %tmp74
+ %tmp79 = call fastcc i32 %dg_arg116(i8* %dg_arg115, %"byte[]"* %token) ; <i32> [#uses=3]
+ %tmp80 = icmp eq i32 %tmp79, 0 ; <i1> [#uses=1]
+ br i1 %tmp80, label %endif82, label %if81
+
+if81: ; preds = %if63
+ ret i32 %tmp79
+
+endif82: ; preds = %if63
+ %tmp86 = add i32 %i.0, 1 ; <i32> [#uses=2]
+ br label %foreachcond
+
+endif: ; preds = %foreachcond, %else, %_D5tango4text4Util13__T6locateTaZ6locateFAaakZk.exit
+ %mark.1 = phi i32 [ %mark.0, %_D5tango4text4Util13__T6locateTaZ6locateFAaakZk.exit ], [ %mark.3, %foreachcond ], [ 0, %else ] ; <i32> [#uses=3]
+ %ret.1 = phi i32 [ %ret.0, %_D5tango4text4Util13__T6locateTaZ6locateFAaakZk.exit ], [ %ret.3, %foreachcond ], [ 0, %else ] ; <i32> [#uses=1]
+ %tmp91 = getelementptr %tango.net.ftp.FtpClient.FtpFeature* %.this_arg, i32 0, i32 0, i32 1 ; <i8**> [#uses=1]
+ %.ptr92 = load i8** %tmp91 ; <i8*> [#uses=1]
+ %tmp93 = getelementptr %tango.net.ftp.FtpClient.FtpFeature* %.this_arg, i32 0, i32 0, i32 0 ; <i32*> [#uses=1]
+ %.len94 = load i32* %tmp93 ; <i32> [#uses=2]
+ %tmp96 = getelementptr i8* %.ptr92, i32 %mark.1 ; <i8*> [#uses=1]
+ %tmp97 = sub i32 %.len94, %mark.1 ; <i32> [#uses=1]
+ %tmp98 = getelementptr %"byte[]"* %token, i32 0, i32 0 ; <i32*> [#uses=1]
+ store i32 %tmp97, i32* %tmp98, align 8
+ %tmp99 = getelementptr %"byte[]"* %token, i32 0, i32 1 ; <i8**> [#uses=1]
+ store i8* %tmp96, i8** %tmp99
+ %tmp105 = icmp ugt i32 %mark.1, %.len94 ; <i1> [#uses=1]
+ br i1 %tmp105, label %endif107, label %if106
+
+if106: ; preds = %endif
+ %tmp112 = call fastcc i32 %dg_arg116(i8* %dg_arg115, %"byte[]"* %token) ; <i32> [#uses=1]
+ ret i32 %tmp112
+
+endif107: ; preds = %endif
+ ret i32 %ret.1
+}
+
+define weak_odr fastcc void @_D5tango4text5Regex56__T5StackTE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorZ5Stack4pushMFE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorZv(%"tango.text.Regex.Stack!(Operator).Stack"* nocapture %.this_arg, i32 %v_arg) {
+entry:
+ %tmp1 = getelementptr %"tango.text.Regex.Stack!(Operator).Stack"* %.this_arg, i32 0, i32 0 ; <i32*> [#uses=4]
+ %tmp4 = getelementptr %"tango.text.Regex.Stack!(Operator).Stack"* %.this_arg, i32 0, i32 1, i32 0 ; <i32*> [#uses=2]
+ %.len = load i32* %tmp4 ; <i32> [#uses=3]
+ %tmp5 = load i32* %tmp1 ; <i32> [#uses=2]
+ %tmp6 = icmp ult i32 %tmp5, %.len ; <i1> [#uses=1]
+ br i1 %tmp6, label %entry.endif_crit_edge, label %if
+
+entry.endif_crit_edge: ; preds = %entry
+ %tmp26.pre = getelementptr %"tango.text.Regex.Stack!(Operator).Stack"* %.this_arg, i32 0, i32 1, i32 1 ; <i32**> [#uses=1]
+ br label %endif
+
+if: ; preds = %entry
+ %tmp13 = shl i32 %.len, 1 ; <i32> [#uses=1]
+ %tmp1437 = or i32 %tmp13, 1 ; <i32> [#uses=2]
+ %tmp17 = getelementptr %"tango.text.Regex.Stack!(Operator).Stack"* %.this_arg, i32 0, i32 1, i32 1 ; <i32**> [#uses=3]
+ %.ptr = load i32** %tmp17 ; <i32*> [#uses=1]
+ %tmp18 = bitcast i32* %.ptr to i8* ; <i8*> [#uses=1]
+ %.gc_mem = tail call i8* @_d_arraysetlengthT(%object.TypeInfo* bitcast (%object.TypeInfo_Array* @_D55TypeInfo_AE5tango4text5Regex11__T4TNFATwZ4TNFA8Operator6__initZ to %object.TypeInfo*), i32 %tmp1437, i32 %.len, i8* %tmp18) ; <i8*> [#uses=1]
+ %.gc_mem19 = bitcast i8* %.gc_mem to i32* ; <i32*> [#uses=1]
+ store i32 %tmp1437, i32* %tmp4
+ store i32* %.gc_mem19, i32** %tmp17
+ %tmp28.pre = load i32* %tmp1 ; <i32> [#uses=1]
+ br label %endif
+
+endif: ; preds = %if, %entry.endif_crit_edge
+ %tmp26.pre-phi = phi i32** [ %tmp26.pre, %entry.endif_crit_edge ], [ %tmp17, %if ] ; <i32**> [#uses=1]
+ %tmp28 = phi i32 [ %tmp5, %entry.endif_crit_edge ], [ %tmp28.pre, %if ] ; <i32> [#uses=1]
+ %.ptr27 = load i32** %tmp26.pre-phi ; <i32*> [#uses=1]
+ %tmp29 = getelementptr i32* %.ptr27, i32 %tmp28 ; <i32*> [#uses=1]
+ store i32 %v_arg, i32* %tmp29
+ %tmp35 = load i32* %tmp1 ; <i32> [#uses=1]
+ %tmp36 = add i32 %tmp35, 1 ; <i32> [#uses=1]
+ store i32 %tmp36, i32* %tmp1
+ ret void
+}
+
+define weak_odr fastcc void @_D5tango4text5Regex56__T5StackTE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorZ5Stack11opCatAssignMFAE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorZv(%"tango.text.Regex.Stack!(Operator).Stack"* nocapture %.this_arg, %"Act[]" %vs_arg) {
+entry:
+ %vs_arg43 = extractvalue %"Act[]" %vs_arg, 0 ; <i32> [#uses=1]
+ %vs_arg44 = extractvalue %"Act[]" %vs_arg, 1 ; <i32*> [#uses=1]
+ %tmp1 = getelementptr %"tango.text.Regex.Stack!(Operator).Stack"* %.this_arg, i32 0, i32 0 ; <i32*> [#uses=3]
+ %tmp3 = load i32* %tmp1 ; <i32> [#uses=2]
+ %tmp4 = add i32 %tmp3, %vs_arg43 ; <i32> [#uses=4]
+ %tmp7 = getelementptr %"tango.text.Regex.Stack!(Operator).Stack"* %.this_arg, i32 0, i32 1, i32 0 ; <i32*> [#uses=2]
+ %.len8 = load i32* %tmp7 ; <i32> [#uses=2]
+ %tmp10 = icmp ugt i32 %tmp4, %.len8 ; <i1> [#uses=1]
+ br i1 %tmp10, label %if, label %entry.endif_crit_edge
+
+entry.endif_crit_edge: ; preds = %entry
+ %tmp24.pre = getelementptr %"tango.text.Regex.Stack!(Operator).Stack"* %.this_arg, i32 0, i32 1, i32 1 ; <i32**> [#uses=1]
+ br label %endif
+
+if: ; preds = %entry
+ %tmp14 = shl i32 %tmp4, 1 ; <i32> [#uses=2]
+ %tmp17 = getelementptr %"tango.text.Regex.Stack!(Operator).Stack"* %.this_arg, i32 0, i32 1, i32 1 ; <i32**> [#uses=3]
+ %.ptr = load i32** %tmp17 ; <i32*> [#uses=1]
+ %tmp18 = bitcast i32* %.ptr to i8* ; <i8*> [#uses=1]
+ %.gc_mem = tail call i8* @_d_arraysetlengthT(%object.TypeInfo* bitcast (%object.TypeInfo_Array* @_D55TypeInfo_AE5tango4text5Regex11__T4TNFATwZ4TNFA8Operator6__initZ to %object.TypeInfo*), i32 %tmp14, i32 %.len8, i8* %tmp18) ; <i8*> [#uses=1]
+ %.gc_mem19 = bitcast i8* %.gc_mem to i32* ; <i32*> [#uses=1]
+ store i32 %tmp14, i32* %tmp7
+ store i32* %.gc_mem19, i32** %tmp17
+ %tmp28.pre = load i32* %tmp1 ; <i32> [#uses=1]
+ br label %endif
+
+endif: ; preds = %if, %entry.endif_crit_edge
+ %tmp24.pre-phi = phi i32** [ %tmp24.pre, %entry.endif_crit_edge ], [ %tmp17, %if ] ; <i32**> [#uses=1]
+ %tmp28 = phi i32 [ %tmp28.pre, %if ], [ %tmp3, %entry.endif_crit_edge ] ; <i32> [#uses=2]
+ %.ptr25 = load i32** %tmp24.pre-phi ; <i32*> [#uses=1]
+ %tmp30 = getelementptr i32* %.ptr25, i32 %tmp28 ; <i32*> [#uses=1]
+ %tmp31 = sub i32 %tmp4, %tmp28 ; <i32> [#uses=1]
+ %tmp32 = shl i32 %tmp31, 2 ; <i32> [#uses=1]
+ %tmp33 = bitcast i32* %tmp30 to i8* ; <i8*> [#uses=1]
+ %tmp36 = bitcast i32* %vs_arg44 to i8* ; <i8*> [#uses=1]
+ tail call void @llvm.memcpy.i32(i8* %tmp33, i8* %tmp36, i32 %tmp32, i32 1)
+ store i32 %tmp4, i32* %tmp1
+ ret void
+}
+
+define weak_odr fastcc void @_D5tango4text5Regex56__T5StackTE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorZ5Stack3popMFkZv(%"tango.text.Regex.Stack!(Operator).Stack"* nocapture %.this_arg, i32 %num_arg) nounwind {
+entry:
+ %tmp1 = getelementptr %"tango.text.Regex.Stack!(Operator).Stack"* %.this_arg, i32 0, i32 0 ; <i32*> [#uses=2]
+ %tmp4 = load i32* %tmp1 ; <i32> [#uses=1]
+ %tmp6 = sub i32 %tmp4, %num_arg ; <i32> [#uses=1]
+ store i32 %tmp6, i32* %tmp1
+ ret void
+}
+
+define weak_odr fastcc i32 @_D5tango4text5Regex56__T5StackTE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorZ5Stack3popMFZE5tango4text5Regex11__T4TNFATwZ4TNFA8Operator(%"tango.text.Regex.Stack!(Operator).Stack"* nocapture %.this_arg) nounwind {
+entry:
+ %tmp3 = getelementptr %"tango.text.Regex.Stack!(Operator).Stack"* %.this_arg, i32 0, i32 0 ; <i32*> [#uses=2]
+ %tmp6 = load i32* %tmp3 ; <i32> [#uses=1]
+ %tmp7 = add i32 %tmp6, -1 ; <i32> [#uses=2]
+ store i32 %tmp7, i32* %tmp3
+ %tmp8 = getelementptr %"tango.text.Regex.Stack!(Operator).Stack"* %.this_arg, i32 0, i32 1, i32 1 ; <i32**> [#uses=1]
+ %.ptr = load i32** %tmp8 ; <i32*> [#uses=1]
+ %tmp9 = getelementptr i32* %.ptr, i32 %tmp7 ; <i32*> [#uses=1]
+ %tmp10 = load i32* %tmp9 ; <i32> [#uses=1]
+ ret i32 %tmp10
+}
+
+define weak_odr fastcc i32 @_D5tango4text5Regex56__T5StackTE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorZ5Stack3topMFZE5tango4text5Regex11__T4TNFATwZ4TNFA8Operator(%"tango.text.Regex.Stack!(Operator).Stack"* nocapture %.this_arg) nounwind readonly {
+entry:
+ %tmp3 = getelementptr %"tango.text.Regex.Stack!(Operator).Stack"* %.this_arg, i32 0, i32 0 ; <i32*> [#uses=1]
+ %tmp4 = load i32* %tmp3 ; <i32> [#uses=1]
+ %tmp5 = add i32 %tmp4, -1 ; <i32> [#uses=1]
+ %tmp6 = getelementptr %"tango.text.Regex.Stack!(Operator).Stack"* %.this_arg, i32 0, i32 1, i32 1 ; <i32**> [#uses=1]
+ %.ptr = load i32** %tmp6 ; <i32*> [#uses=1]
+ %tmp7 = getelementptr i32* %.ptr, i32 %tmp5 ; <i32*> [#uses=1]
+ %tmp8 = load i32* %tmp7 ; <i32> [#uses=1]
+ ret i32 %tmp8
+}
+
+define weak_odr fastcc i32* @_D5tango4text5Regex56__T5StackTE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorZ5Stack6topPtrMFZPE5tango4text5Regex11__T4TNFATwZ4TNFA8Operator(%"tango.text.Regex.Stack!(Operator).Stack"* nocapture %.this_arg) nounwind readonly {
+entry:
+ %tmp3 = getelementptr %"tango.text.Regex.Stack!(Operator).Stack"* %.this_arg, i32 0, i32 0 ; <i32*> [#uses=1]
+ %tmp4 = load i32* %tmp3 ; <i32> [#uses=1]
+ %tmp5 = add i32 %tmp4, -1 ; <i32> [#uses=1]
+ %tmp6 = getelementptr %"tango.text.Regex.Stack!(Operator).Stack"* %.this_arg, i32 0, i32 1, i32 1 ; <i32**> [#uses=1]
+ %.ptr = load i32** %tmp6 ; <i32*> [#uses=1]
+ %tmp7 = getelementptr i32* %.ptr, i32 %tmp5 ; <i32*> [#uses=1]
+ ret i32* %tmp7
+}
+
+define weak_odr fastcc i1 @_D5tango4text5Regex56__T5StackTE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorZ5Stack5emptyMFZb(%"tango.text.Regex.Stack!(Operator).Stack"* nocapture %.this_arg) nounwind readonly {
+entry:
+ %tmp1 = getelementptr %"tango.text.Regex.Stack!(Operator).Stack"* %.this_arg, i32 0, i32 0 ; <i32*> [#uses=1]
+ %tmp2 = load i32* %tmp1 ; <i32> [#uses=1]
+ %tmp3 = icmp eq i32 %tmp2, 0 ; <i1> [#uses=1]
+ ret i1 %tmp3
+}
+
+define weak_odr fastcc void @_D5tango4text5Regex56__T5StackTE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorZ5Stack5clearMFZv(%"tango.text.Regex.Stack!(Operator).Stack"* nocapture %.this_arg) nounwind {
+entry:
+ %tmp1 = getelementptr %"tango.text.Regex.Stack!(Operator).Stack"* %.this_arg, i32 0, i32 0 ; <i32*> [#uses=1]
+ store i32 0, i32* %tmp1
+ ret void
+}
+
+define weak_odr fastcc i32 @_D5tango4text5Regex56__T5StackTE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorZ5Stack6lengthMFZk(%"tango.text.Regex.Stack!(Operator).Stack"* nocapture %.this_arg) nounwind readonly {
+entry:
+ %tmp1 = getelementptr %"tango.text.Regex.Stack!(Operator).Stack"* %.this_arg, i32 0, i32 0 ; <i32*> [#uses=1]
+ %tmp2 = load i32* %tmp1 ; <i32> [#uses=1]
+ ret i32 %tmp2
+}
+
+define weak_odr fastcc %"Act[]" @_D5tango4text5Regex56__T5StackTE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorZ5Stack5arrayMFZAE5tango4text5Regex11__T4TNFATwZ4TNFA8Operator(%"tango.text.Regex.Stack!(Operator).Stack"* nocapture %.this_arg) nounwind readonly {
+entry:
+ %tmp2 = getelementptr %"tango.text.Regex.Stack!(Operator).Stack"* %.this_arg, i32 0, i32 1, i32 1 ; <i32**> [#uses=1]
+ %.ptr = load i32** %tmp2 ; <i32*> [#uses=1]
+ %tmp4 = getelementptr %"tango.text.Regex.Stack!(Operator).Stack"* %.this_arg, i32 0, i32 0 ; <i32*> [#uses=1]
+ %tmp5 = load i32* %tmp4 ; <i32> [#uses=1]
+ %tmp8 = insertvalue %"Act[]" undef, i32 %tmp5, 0 ; <%"Act[]"> [#uses=1]
+ %tmp9 = insertvalue %"Act[]" %tmp8, i32* %.ptr, 1 ; <%"Act[]"> [#uses=1]
+ ret %"Act[]" %tmp9
+}
+
+define weak_odr fastcc i32 @_D5tango4text5Regex56__T5StackTE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorZ5Stack7opIndexMFkZE5tango4text5Regex11__T4TNFATwZ4TNFA8Operator(%"tango.text.Regex.Stack!(Operator).Stack"* nocapture %.this_arg, i32 %i_arg) nounwind readonly {
+entry:
+ %tmp2 = getelementptr %"tango.text.Regex.Stack!(Operator).Stack"* %.this_arg, i32 0, i32 1, i32 1 ; <i32**> [#uses=1]
+ %.ptr = load i32** %tmp2 ; <i32*> [#uses=1]
+ %tmp4 = getelementptr i32* %.ptr, i32 %i_arg ; <i32*> [#uses=1]
+ %tmp5 = load i32* %tmp4 ; <i32> [#uses=1]
+ ret i32 %tmp5
+}
+
+define weak_odr fastcc void @_D5tango4text5Regex56__T5StackTE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorZ5Stack3dupMFZS5tango4text5Regex56__T5StackTE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorZ5Stack(%"tango.text.Regex.Stack!(Operator).Stack"* noalias nocapture sret %.sret_arg, %"tango.text.Regex.Stack!(Operator).Stack"* nocapture %.this_arg) {
+entry:
+ %tmp3 = getelementptr %"tango.text.Regex.Stack!(Operator).Stack"* %.this_arg, i32 0, i32 0 ; <i32*> [#uses=1]
+ %tmp4 = load i32* %tmp3 ; <i32> [#uses=1]
+ %tmp8 = getelementptr %"tango.text.Regex.Stack!(Operator).Stack"* %.this_arg, i32 0, i32 1, i32 0 ; <i32*> [#uses=1]
+ %.len = load i32* %tmp8 ; <i32> [#uses=1]
+ %tmp9 = getelementptr %"tango.text.Regex.Stack!(Operator).Stack"* %.this_arg, i32 0, i32 1, i32 1 ; <i32**> [#uses=1]
+ %.ptr = load i32** %tmp9 ; <i32*> [#uses=1]
+ %tmp10 = bitcast i32* %.ptr to i8* ; <i8*> [#uses=1]
+ %tmp11 = insertvalue %"byte[]" undef, i32 %.len, 0 ; <%"byte[]"> [#uses=1]
+ %tmp12 = insertvalue %"byte[]" %tmp11, i8* %tmp10, 1 ; <%"byte[]"> [#uses=1]
+ %tmp13 = tail call %"byte[]" @_adDupT(%object.TypeInfo* bitcast (%object.TypeInfo_Array* @_D55TypeInfo_AE5tango4text5Regex11__T4TNFATwZ4TNFA8Operator6__initZ to %object.TypeInfo*), %"byte[]" %tmp12) ; <%"byte[]"> [#uses=2]
+ %tmp14 = extractvalue %"byte[]" %tmp13, 0 ; <i32> [#uses=1]
+ %tmp16 = extractvalue %"byte[]" %tmp13, 1 ; <i8*> [#uses=1]
+ %tmp17 = bitcast i8* %tmp16 to i32* ; <i32*> [#uses=1]
+ %.sret_arg.0 = getelementptr %"tango.text.Regex.Stack!(Operator).Stack"* %.sret_arg, i32 0, i32 0 ; <i32*> [#uses=1]
+ store i32 %tmp4, i32* %.sret_arg.0
+ %.sret_arg.1.0 = getelementptr %"tango.text.Regex.Stack!(Operator).Stack"* %.sret_arg, i32 0, i32 1, i32 0 ; <i32*> [#uses=1]
+ store i32 %tmp14, i32* %.sret_arg.1.0, align 4
+ %.sret_arg.1.1 = getelementptr %"tango.text.Regex.Stack!(Operator).Stack"* %.sret_arg, i32 0, i32 1, i32 1 ; <i32**> [#uses=1]
+ store i32* %tmp17, i32** %.sret_arg.1.1, align 4
+ ret void
+}
+
+define weak_odr fastcc void @_D5tango4text5Regex12__T5StackTkZ5Stack4pushMFkZv(%"tango.text.Regex.Stack!(Operator).Stack"* nocapture %.this_arg, i32 %v_arg) {
+entry:
+ %tmp1 = getelementptr %"tango.text.Regex.Stack!(Operator).Stack"* %.this_arg, i32 0, i32 0 ; <i32*> [#uses=4]
+ %tmp4 = getelementptr %"tango.text.Regex.Stack!(Operator).Stack"* %.this_arg, i32 0, i32 1, i32 0 ; <i32*> [#uses=2]
+ %.len = load i32* %tmp4 ; <i32> [#uses=3]
+ %tmp5 = load i32* %tmp1 ; <i32> [#uses=2]
+ %tmp6 = icmp ult i32 %tmp5, %.len ; <i1> [#uses=1]
+ br i1 %tmp6, label %entry.endif_crit_edge, label %if
+
+entry.endif_crit_edge: ; preds = %entry
+ %tmp26.pre = getelementptr %"tango.text.Regex.Stack!(Operator).Stack"* %.this_arg, i32 0, i32 1, i32 1 ; <i32**> [#uses=1]
+ br label %endif
+
+if: ; preds = %entry
+ %tmp13 = shl i32 %.len, 1 ; <i32> [#uses=1]
+ %tmp1437 = or i32 %tmp13, 1 ; <i32> [#uses=2]
+ %tmp17 = getelementptr %"tango.text.Regex.Stack!(Operator).Stack"* %.this_arg, i32 0, i32 1, i32 1 ; <i32**> [#uses=3]
+ %.ptr = load i32** %tmp17 ; <i32*> [#uses=1]
+ %tmp18 = bitcast i32* %.ptr to i8* ; <i8*> [#uses=1]
+ %.gc_mem = tail call i8* @_d_arraysetlengthT(%object.TypeInfo* @_D11TypeInfo_Ak6__initZ, i32 %tmp1437, i32 %.len, i8* %tmp18) ; <i8*> [#uses=1]
+ %.gc_mem19 = bitcast i8* %.gc_mem to i32* ; <i32*> [#uses=1]
+ store i32 %tmp1437, i32* %tmp4
+ store i32* %.gc_mem19, i32** %tmp17
+ %tmp28.pre = load i32* %tmp1 ; <i32> [#uses=1]
+ br label %endif
+
+endif: ; preds = %if, %entry.endif_crit_edge
+ %tmp26.pre-phi = phi i32** [ %tmp26.pre, %entry.endif_crit_edge ], [ %tmp17, %if ] ; <i32**> [#uses=1]
+ %tmp28 = phi i32 [ %tmp5, %entry.endif_crit_edge ], [ %tmp28.pre, %if ] ; <i32> [#uses=1]
+ %.ptr27 = load i32** %tmp26.pre-phi ; <i32*> [#uses=1]
+ %tmp29 = getelementptr i32* %.ptr27, i32 %tmp28 ; <i32*> [#uses=1]
+ store i32 %v_arg, i32* %tmp29
+ %tmp35 = load i32* %tmp1 ; <i32> [#uses=1]
+ %tmp36 = add i32 %tmp35, 1 ; <i32> [#uses=1]
+ store i32 %tmp36, i32* %tmp1
+ ret void
+}
+
+define weak_odr fastcc void @_D5tango4text5Regex12__T5StackTkZ5Stack11opCatAssignMFAkZv(%"tango.text.Regex.Stack!(Operator).Stack"* nocapture %.this_arg, %"Act[]" %vs_arg) {
+entry:
+ %vs_arg43 = extractvalue %"Act[]" %vs_arg, 0 ; <i32> [#uses=1]
+ %vs_arg44 = extractvalue %"Act[]" %vs_arg, 1 ; <i32*> [#uses=1]
+ %tmp1 = getelementptr %"tango.text.Regex.Stack!(Operator).Stack"* %.this_arg, i32 0, i32 0 ; <i32*> [#uses=3]
+ %tmp3 = load i32* %tmp1 ; <i32> [#uses=2]
+ %tmp4 = add i32 %tmp3, %vs_arg43 ; <i32> [#uses=4]
+ %tmp7 = getelementptr %"tango.text.Regex.Stack!(Operator).Stack"* %.this_arg, i32 0, i32 1, i32 0 ; <i32*> [#uses=2]
+ %.len8 = load i32* %tmp7 ; <i32> [#uses=2]
+ %tmp10 = icmp ugt i32 %tmp4, %.len8 ; <i1> [#uses=1]
+ br i1 %tmp10, label %if, label %entry.endif_crit_edge
+
+entry.endif_crit_edge: ; preds = %entry
+ %tmp24.pre = getelementptr %"tango.text.Regex.Stack!(Operator).Stack"* %.this_arg, i32 0, i32 1, i32 1 ; <i32**> [#uses=1]
+ br label %endif
+
+if: ; preds = %entry
+ %tmp14 = shl i32 %tmp4, 1 ; <i32> [#uses=2]
+ %tmp17 = getelementptr %"tango.text.Regex.Stack!(Operator).Stack"* %.this_arg, i32 0, i32 1, i32 1 ; <i32**> [#uses=3]
+ %.ptr = load i32** %tmp17 ; <i32*> [#uses=1]
+ %tmp18 = bitcast i32* %.ptr to i8* ; <i8*> [#uses=1]
+ %.gc_mem = tail call i8* @_d_arraysetlengthT(%object.TypeInfo* @_D11TypeInfo_Ak6__initZ, i32 %tmp14, i32 %.len8, i8* %tmp18) ; <i8*> [#uses=1]
+ %.gc_mem19 = bitcast i8* %.gc_mem to i32* ; <i32*> [#uses=1]
+ store i32 %tmp14, i32* %tmp7
+ store i32* %.gc_mem19, i32** %tmp17
+ %tmp28.pre = load i32* %tmp1 ; <i32> [#uses=1]
+ br label %endif
+
+endif: ; preds = %if, %entry.endif_crit_edge
+ %tmp24.pre-phi = phi i32** [ %tmp24.pre, %entry.endif_crit_edge ], [ %tmp17, %if ] ; <i32**> [#uses=1]
+ %tmp28 = phi i32 [ %tmp28.pre, %if ], [ %tmp3, %entry.endif_crit_edge ] ; <i32> [#uses=2]
+ %.ptr25 = load i32** %tmp24.pre-phi ; <i32*> [#uses=1]
+ %tmp30 = getelementptr i32* %.ptr25, i32 %tmp28 ; <i32*> [#uses=1]
+ %tmp31 = sub i32 %tmp4, %tmp28 ; <i32> [#uses=1]
+ %tmp32 = shl i32 %tmp31, 2 ; <i32> [#uses=1]
+ %tmp33 = bitcast i32* %tmp30 to i8* ; <i8*> [#uses=1]
+ %tmp36 = bitcast i32* %vs_arg44 to i8* ; <i8*> [#uses=1]
+ tail call void @llvm.memcpy.i32(i8* %tmp33, i8* %tmp36, i32 %tmp32, i32 1)
+ store i32 %tmp4, i32* %tmp1
+ ret void
+}
+
+define weak_odr fastcc void @_D5tango4text5Regex12__T5StackTkZ5Stack3popMFkZv(%"tango.text.Regex.Stack!(Operator).Stack"* nocapture %.this_arg, i32 %num_arg) nounwind {
+entry:
+ %tmp1 = getelementptr %"tango.text.Regex.Stack!(Operator).Stack"* %.this_arg, i32 0, i32 0 ; <i32*> [#uses=2]
+ %tmp4 = load i32* %tmp1 ; <i32> [#uses=1]
+ %tmp6 = sub i32 %tmp4, %num_arg ; <i32> [#uses=1]
+ store i32 %tmp6, i32* %tmp1
+ ret void
+}
+
+define weak_odr fastcc i32 @_D5tango4text5Regex12__T5StackTkZ5Stack3popMFZk(%"tango.text.Regex.Stack!(Operator).Stack"* nocapture %.this_arg) nounwind {
+entry:
+ %tmp3 = getelementptr %"tango.text.Regex.Stack!(Operator).Stack"* %.this_arg, i32 0, i32 0 ; <i32*> [#uses=2]
+ %tmp6 = load i32* %tmp3 ; <i32> [#uses=1]
+ %tmp7 = add i32 %tmp6, -1 ; <i32> [#uses=2]
+ store i32 %tmp7, i32* %tmp3
+ %tmp8 = getelementptr %"tango.text.Regex.Stack!(Operator).Stack"* %.this_arg, i32 0, i32 1, i32 1 ; <i32**> [#uses=1]
+ %.ptr = load i32** %tmp8 ; <i32*> [#uses=1]
+ %tmp9 = getelementptr i32* %.ptr, i32 %tmp7 ; <i32*> [#uses=1]
+ %tmp10 = load i32* %tmp9 ; <i32> [#uses=1]
+ ret i32 %tmp10
+}
+
+define weak_odr fastcc i32 @_D5tango4text5Regex12__T5StackTkZ5Stack3topMFZk(%"tango.text.Regex.Stack!(Operator).Stack"* nocapture %.this_arg) nounwind readonly {
+entry:
+ %tmp3 = getelementptr %"tango.text.Regex.Stack!(Operator).Stack"* %.this_arg, i32 0, i32 0 ; <i32*> [#uses=1]
+ %tmp4 = load i32* %tmp3 ; <i32> [#uses=1]
+ %tmp5 = add i32 %tmp4, -1 ; <i32> [#uses=1]
+ %tmp6 = getelementptr %"tango.text.Regex.Stack!(Operator).Stack"* %.this_arg, i32 0, i32 1, i32 1 ; <i32**> [#uses=1]
+ %.ptr = load i32** %tmp6 ; <i32*> [#uses=1]
+ %tmp7 = getelementptr i32* %.ptr, i32 %tmp5 ; <i32*> [#uses=1]
+ %tmp8 = load i32* %tmp7 ; <i32> [#uses=1]
+ ret i32 %tmp8
+}
+
+define weak_odr fastcc i32* @_D5tango4text5Regex12__T5StackTkZ5Stack6topPtrMFZPk(%"tango.text.Regex.Stack!(Operator).Stack"* nocapture %.this_arg) nounwind readonly {
+entry:
+ %tmp3 = getelementptr %"tango.text.Regex.Stack!(Operator).Stack"* %.this_arg, i32 0, i32 0 ; <i32*> [#uses=1]
+ %tmp4 = load i32* %tmp3 ; <i32> [#uses=1]
+ %tmp5 = add i32 %tmp4, -1 ; <i32> [#uses=1]
+ %tmp6 = getelementptr %"tango.text.Regex.Stack!(Operator).Stack"* %.this_arg, i32 0, i32 1, i32 1 ; <i32**> [#uses=1]
+ %.ptr = load i32** %tmp6 ; <i32*> [#uses=1]
+ %tmp7 = getelementptr i32* %.ptr, i32 %tmp5 ; <i32*> [#uses=1]
+ ret i32* %tmp7
+}
+
+define weak_odr fastcc i1 @_D5tango4text5Regex12__T5StackTkZ5Stack5emptyMFZb(%"tango.text.Regex.Stack!(Operator).Stack"* nocapture %.this_arg) nounwind readonly {
+entry:
+ %tmp1 = getelementptr %"tango.text.Regex.Stack!(Operator).Stack"* %.this_arg, i32 0, i32 0 ; <i32*> [#uses=1]
+ %tmp2 = load i32* %tmp1 ; <i32> [#uses=1]
+ %tmp3 = icmp eq i32 %tmp2, 0 ; <i1> [#uses=1]
+ ret i1 %tmp3
+}
+
+define weak_odr fastcc void @_D5tango4text5Regex12__T5StackTkZ5Stack5clearMFZv(%"tango.text.Regex.Stack!(Operator).Stack"* nocapture %.this_arg) nounwind {
+entry:
+ %tmp1 = getelementptr %"tango.text.Regex.Stack!(Operator).Stack"* %.this_arg, i32 0, i32 0 ; <i32*> [#uses=1]
+ store i32 0, i32* %tmp1
+ ret void
+}
+
+define weak_odr fastcc i32 @_D5tango4text5Regex12__T5StackTkZ5Stack6lengthMFZk(%"tango.text.Regex.Stack!(Operator).Stack"* nocapture %.this_arg) nounwind readonly {
+entry:
+ %tmp1 = getelementptr %"tango.text.Regex.Stack!(Operator).Stack"* %.this_arg, i32 0, i32 0 ; <i32*> [#uses=1]
+ %tmp2 = load i32* %tmp1 ; <i32> [#uses=1]
+ ret i32 %tmp2
+}
+
+define weak_odr fastcc %"Act[]" @_D5tango4text5Regex12__T5StackTkZ5Stack5arrayMFZAk(%"tango.text.Regex.Stack!(Operator).Stack"* nocapture %.this_arg) nounwind readonly {
+entry:
+ %tmp2 = getelementptr %"tango.text.Regex.Stack!(Operator).Stack"* %.this_arg, i32 0, i32 1, i32 1 ; <i32**> [#uses=1]
+ %.ptr = load i32** %tmp2 ; <i32*> [#uses=1]
+ %tmp4 = getelementptr %"tango.text.Regex.Stack!(Operator).Stack"* %.this_arg, i32 0, i32 0 ; <i32*> [#uses=1]
+ %tmp5 = load i32* %tmp4 ; <i32> [#uses=1]
+ %tmp8 = insertvalue %"Act[]" undef, i32 %tmp5, 0 ; <%"Act[]"> [#uses=1]
+ %tmp9 = insertvalue %"Act[]" %tmp8, i32* %.ptr, 1 ; <%"Act[]"> [#uses=1]
+ ret %"Act[]" %tmp9
+}
+
+define weak_odr fastcc i32 @_D5tango4text5Regex12__T5StackTkZ5Stack7opIndexMFkZk(%"tango.text.Regex.Stack!(Operator).Stack"* nocapture %.this_arg, i32 %i_arg) nounwind readonly {
+entry:
+ %tmp2 = getelementptr %"tango.text.Regex.Stack!(Operator).Stack"* %.this_arg, i32 0, i32 1, i32 1 ; <i32**> [#uses=1]
+ %.ptr = load i32** %tmp2 ; <i32*> [#uses=1]
+ %tmp4 = getelementptr i32* %.ptr, i32 %i_arg ; <i32*> [#uses=1]
+ %tmp5 = load i32* %tmp4 ; <i32> [#uses=1]
+ ret i32 %tmp5
+}
+
+define weak_odr fastcc void @_D5tango4text5Regex12__T5StackTkZ5Stack3dupMFZS5tango4text5Regex12__T5StackTkZ5Stack(%"tango.text.Regex.Stack!(Operator).Stack"* noalias nocapture sret %.sret_arg, %"tango.text.Regex.Stack!(Operator).Stack"* nocapture %.this_arg) {
+entry:
+ %tmp3 = getelementptr %"tango.text.Regex.Stack!(Operator).Stack"* %.this_arg, i32 0, i32 0 ; <i32*> [#uses=1]
+ %tmp4 = load i32* %tmp3 ; <i32> [#uses=1]
+ %tmp7 = getelementptr %"tango.text.Regex.Stack!(Operator).Stack"* %.this_arg, i32 0, i32 1 ; <%"Act[]"*> [#uses=1]
+ %tmp8 = bitcast %"Act[]"* %tmp7 to %"byte[]"* ; <%"byte[]"*> [#uses=1]
+ %tmp9 = load %"byte[]"* %tmp8 ; <%"byte[]"> [#uses=1]
+ %tmp10 = tail call %"byte[]" @_adDupT(%object.TypeInfo* @_D11TypeInfo_Ak6__initZ, %"byte[]" %tmp9) ; <%"byte[]"> [#uses=2]
+ %tmp11 = extractvalue %"byte[]" %tmp10, 0 ; <i32> [#uses=1]
+ %tmp13 = extractvalue %"byte[]" %tmp10, 1 ; <i8*> [#uses=1]
+ %tmp14 = bitcast i8* %tmp13 to i32* ; <i32*> [#uses=1]
+ %.sret_arg.0 = getelementptr %"tango.text.Regex.Stack!(Operator).Stack"* %.sret_arg, i32 0, i32 0 ; <i32*> [#uses=1]
+ store i32 %tmp4, i32* %.sret_arg.0
+ %.sret_arg.1.0 = getelementptr %"tango.text.Regex.Stack!(Operator).Stack"* %.sret_arg, i32 0, i32 1, i32 0 ; <i32*> [#uses=1]
+ store i32 %tmp11, i32* %.sret_arg.1.0, align 4
+ %.sret_arg.1.1 = getelementptr %"tango.text.Regex.Stack!(Operator).Stack"* %.sret_arg, i32 0, i32 1, i32 1 ; <i32**> [#uses=1]
+ store i32* %tmp14, i32** %.sret_arg.1.1, align 4
+ ret void
+}
+
+define weak_odr fastcc void @_D5tango4text5Regex11__T4PairTkZ4Pair6opCallFkkZS5tango4text5Regex11__T4PairTkZ4Pair(%tango.net.Socket.timeval* noalias nocapture sret %.sret_arg, i32 %a_arg, i32 %b_arg) nounwind {
+entry:
+ %tmp12 = zext i32 %a_arg to i64 ; <i64> [#uses=1]
+ %tmp13 = shl i64 %tmp12, 32 ; <i64> [#uses=1]
+ %tmp10 = zext i32 %b_arg to i64 ; <i64> [#uses=1]
+ %ins = or i64 %tmp13, %tmp10 ; <i64> [#uses=1]
+ %0 = bitcast %tango.net.Socket.timeval* %.sret_arg to i64* ; <i64*> [#uses=1]
+ store i64 %ins, i64* %0
+ ret void
+}
+
+define weak_odr fastcc void @_D5tango4text5Regex47__T5StackTS5tango4text5Regex11__T4PairTkZ4PairZ5Stack4pushMFS5tango4text5Regex11__T4PairTkZ4PairZv(%"tango.text.Regex.Stack!(Pair!(uint)).Stack"* nocapture %.this_arg, %tango.net.Socket.timeval* nocapture byval %v_arg) {
+entry:
+ %tmp1 = getelementptr %"tango.text.Regex.Stack!(Pair!(uint)).Stack"* %.this_arg, i32 0, i32 0 ; <i32*> [#uses=4]
+ %tmp4 = getelementptr %"tango.text.Regex.Stack!(Pair!(uint)).Stack"* %.this_arg, i32 0, i32 1, i32 0 ; <i32*> [#uses=2]
+ %.len = load i32* %tmp4 ; <i32> [#uses=3]
+ %tmp5 = load i32* %tmp1 ; <i32> [#uses=2]
+ %tmp6 = icmp ult i32 %tmp5, %.len ; <i1> [#uses=1]
+ br i1 %tmp6, label %entry.endif_crit_edge, label %if
+
+entry.endif_crit_edge: ; preds = %entry
+ %tmp26.pre = getelementptr %"tango.text.Regex.Stack!(Pair!(uint)).Stack"* %.this_arg, i32 0, i32 1, i32 1 ; <%tango.net.Socket.timeval**> [#uses=1]
+ br label %endif
+
+if: ; preds = %entry
+ %tmp13 = shl i32 %.len, 1 ; <i32> [#uses=1]
+ %tmp1438 = or i32 %tmp13, 1 ; <i32> [#uses=2]
+ %tmp17 = getelementptr %"tango.text.Regex.Stack!(Pair!(uint)).Stack"* %.this_arg, i32 0, i32 1, i32 1 ; <%tango.net.Socket.timeval**> [#uses=3]
+ %.ptr = load %tango.net.Socket.timeval** %tmp17 ; <%tango.net.Socket.timeval*> [#uses=1]
+ %tmp18 = bitcast %tango.net.Socket.timeval* %.ptr to i8* ; <i8*> [#uses=1]
+ %.gc_mem = tail call i8* @_d_arraysetlengthT(%object.TypeInfo* bitcast (%object.TypeInfo_Array* @_D46TypeInfo_AS5tango4text5Regex11__T4PairTkZ4Pair6__initZ to %object.TypeInfo*), i32 %tmp1438, i32 %.len, i8* %tmp18) ; <i8*> [#uses=1]
+ %.gc_mem19 = bitcast i8* %.gc_mem to %tango.net.Socket.timeval* ; <%tango.net.Socket.timeval*> [#uses=1]
+ store i32 %tmp1438, i32* %tmp4
+ store %tango.net.Socket.timeval* %.gc_mem19, %tango.net.Socket.timeval** %tmp17
+ %tmp28.pre = load i32* %tmp1 ; <i32> [#uses=1]
+ br label %endif
+
+endif: ; preds = %if, %entry.endif_crit_edge
+ %tmp26.pre-phi = phi %tango.net.Socket.timeval** [ %tmp26.pre, %entry.endif_crit_edge ], [ %tmp17, %if ] ; <%tango.net.Socket.timeval**> [#uses=1]
+ %tmp28 = phi i32 [ %tmp5, %entry.endif_crit_edge ], [ %tmp28.pre, %if ] ; <i32> [#uses=1]
+ %.ptr27 = load %tango.net.Socket.timeval** %tmp26.pre-phi ; <%tango.net.Socket.timeval*> [#uses=1]
+ %tmp29 = getelementptr %tango.net.Socket.timeval* %.ptr27, i32 %tmp28 ; <%tango.net.Socket.timeval*> [#uses=1]
+ %tmp3139 = bitcast %tango.net.Socket.timeval* %v_arg to i64* ; <i64*> [#uses=1]
+ %tmp3040 = bitcast %tango.net.Socket.timeval* %tmp29 to i64* ; <i64*> [#uses=1]
+ %tmp = load i64* %tmp3139, align 1 ; <i64> [#uses=1]
+ store i64 %tmp, i64* %tmp3040, align 1
+ %tmp36 = load i32* %tmp1 ; <i32> [#uses=1]
+ %tmp37 = add i32 %tmp36, 1 ; <i32> [#uses=1]
+ store i32 %tmp37, i32* %tmp1
+ ret void
+}
+
+define weak_odr fastcc void @_D5tango4text5Regex47__T5StackTS5tango4text5Regex11__T4PairTkZ4PairZ5Stack11opCatAssignMFAS5tango4text5Regex11__T4PairTkZ4PairZv(%"tango.text.Regex.Stack!(Pair!(uint)).Stack"* nocapture %.this_arg, %"CharRange!(dchar)[]" %vs_arg) {
+entry:
+ %vs_arg43 = extractvalue %"CharRange!(dchar)[]" %vs_arg, 0 ; <i32> [#uses=1]
+ %vs_arg44 = extractvalue %"CharRange!(dchar)[]" %vs_arg, 1 ; <%tango.net.Socket.timeval*> [#uses=1]
+ %tmp1 = getelementptr %"tango.text.Regex.Stack!(Pair!(uint)).Stack"* %.this_arg, i32 0, i32 0 ; <i32*> [#uses=3]
+ %tmp3 = load i32* %tmp1 ; <i32> [#uses=2]
+ %tmp4 = add i32 %tmp3, %vs_arg43 ; <i32> [#uses=4]
+ %tmp7 = getelementptr %"tango.text.Regex.Stack!(Pair!(uint)).Stack"* %.this_arg, i32 0, i32 1, i32 0 ; <i32*> [#uses=2]
+ %.len8 = load i32* %tmp7 ; <i32> [#uses=2]
+ %tmp10 = icmp ugt i32 %tmp4, %.len8 ; <i1> [#uses=1]
+ br i1 %tmp10, label %if, label %entry.endif_crit_edge
+
+entry.endif_crit_edge: ; preds = %entry
+ %tmp24.pre = getelementptr %"tango.text.Regex.Stack!(Pair!(uint)).Stack"* %.this_arg, i32 0, i32 1, i32 1 ; <%tango.net.Socket.timeval**> [#uses=1]
+ br label %endif
+
+if: ; preds = %entry
+ %tmp14 = shl i32 %tmp4, 1 ; <i32> [#uses=2]
+ %tmp17 = getelementptr %"tango.text.Regex.Stack!(Pair!(uint)).Stack"* %.this_arg, i32 0, i32 1, i32 1 ; <%tango.net.Socket.timeval**> [#uses=3]
+ %.ptr = load %tango.net.Socket.timeval** %tmp17 ; <%tango.net.Socket.timeval*> [#uses=1]
+ %tmp18 = bitcast %tango.net.Socket.timeval* %.ptr to i8* ; <i8*> [#uses=1]
+ %.gc_mem = tail call i8* @_d_arraysetlengthT(%object.TypeInfo* bitcast (%object.TypeInfo_Array* @_D46TypeInfo_AS5tango4text5Regex11__T4PairTkZ4Pair6__initZ to %object.TypeInfo*), i32 %tmp14, i32 %.len8, i8* %tmp18) ; <i8*> [#uses=1]
+ %.gc_mem19 = bitcast i8* %.gc_mem to %tango.net.Socket.timeval* ; <%tango.net.Socket.timeval*> [#uses=1]
+ store i32 %tmp14, i32* %tmp7
+ store %tango.net.Socket.timeval* %.gc_mem19, %tango.net.Socket.timeval** %tmp17
+ %tmp28.pre = load i32* %tmp1 ; <i32> [#uses=1]
+ br label %endif
+
+endif: ; preds = %if, %entry.endif_crit_edge
+ %tmp24.pre-phi = phi %tango.net.Socket.timeval** [ %tmp24.pre, %entry.endif_crit_edge ], [ %tmp17, %if ] ; <%tango.net.Socket.timeval**> [#uses=1]
+ %tmp28 = phi i32 [ %tmp28.pre, %if ], [ %tmp3, %entry.endif_crit_edge ] ; <i32> [#uses=2]
+ %.ptr25 = load %tango.net.Socket.timeval** %tmp24.pre-phi ; <%tango.net.Socket.timeval*> [#uses=1]
+ %tmp30 = getelementptr %tango.net.Socket.timeval* %.ptr25, i32 %tmp28 ; <%tango.net.Socket.timeval*> [#uses=1]
+ %tmp31 = sub i32 %tmp4, %tmp28 ; <i32> [#uses=1]
+ %tmp32 = shl i32 %tmp31, 3 ; <i32> [#uses=1]
+ %tmp33 = bitcast %tango.net.Socket.timeval* %tmp30 to i8* ; <i8*> [#uses=1]
+ %tmp36 = bitcast %tango.net.Socket.timeval* %vs_arg44 to i8* ; <i8*> [#uses=1]
+ tail call void @llvm.memcpy.i32(i8* %tmp33, i8* %tmp36, i32 %tmp32, i32 1)
+ store i32 %tmp4, i32* %tmp1
+ ret void
+}
+
+define weak_odr fastcc void @_D5tango4text5Regex47__T5StackTS5tango4text5Regex11__T4PairTkZ4PairZ5Stack3popMFkZv(%"tango.text.Regex.Stack!(Pair!(uint)).Stack"* nocapture %.this_arg, i32 %num_arg) nounwind {
+entry:
+ %tmp1 = getelementptr %"tango.text.Regex.Stack!(Pair!(uint)).Stack"* %.this_arg, i32 0, i32 0 ; <i32*> [#uses=2]
+ %tmp4 = load i32* %tmp1 ; <i32> [#uses=1]
+ %tmp6 = sub i32 %tmp4, %num_arg ; <i32> [#uses=1]
+ store i32 %tmp6, i32* %tmp1
+ ret void
+}
+
+define weak_odr fastcc void @_D5tango4text5Regex47__T5StackTS5tango4text5Regex11__T4PairTkZ4PairZ5Stack3popMFZS5tango4text5Regex11__T4PairTkZ4Pair(%tango.net.Socket.timeval* noalias nocapture sret %.sret_arg, %"tango.text.Regex.Stack!(Pair!(uint)).Stack"* nocapture %.this_arg) nounwind {
+entry:
+ %tmp3 = getelementptr %"tango.text.Regex.Stack!(Pair!(uint)).Stack"* %.this_arg, i32 0, i32 0 ; <i32*> [#uses=2]
+ %tmp6 = load i32* %tmp3 ; <i32> [#uses=1]
+ %tmp7 = add i32 %tmp6, -1 ; <i32> [#uses=2]
+ store i32 %tmp7, i32* %tmp3
+ %tmp8 = getelementptr %"tango.text.Regex.Stack!(Pair!(uint)).Stack"* %.this_arg, i32 0, i32 1, i32 1 ; <%tango.net.Socket.timeval**> [#uses=1]
+ %.ptr = load %tango.net.Socket.timeval** %tmp8 ; <%tango.net.Socket.timeval*> [#uses=1]
+ %tmp9 = getelementptr %tango.net.Socket.timeval* %.ptr, i32 %tmp7 ; <%tango.net.Socket.timeval*> [#uses=1]
+ %tmp1112 = bitcast %tango.net.Socket.timeval* %tmp9 to i64* ; <i64*> [#uses=1]
+ %tmp1013 = bitcast %tango.net.Socket.timeval* %.sret_arg to i64* ; <i64*> [#uses=1]
+ %tmp = load i64* %tmp1112, align 1 ; <i64> [#uses=1]
+ store i64 %tmp, i64* %tmp1013, align 1
+ ret void
+}
+
+define weak_odr fastcc void @_D5tango4text5Regex47__T5StackTS5tango4text5Regex11__T4PairTkZ4PairZ5Stack3topMFZS5tango4text5Regex11__T4PairTkZ4Pair(%tango.net.Socket.timeval* noalias nocapture sret %.sret_arg, %"tango.text.Regex.Stack!(Pair!(uint)).Stack"* nocapture %.this_arg) nounwind {
+entry:
+ %tmp3 = getelementptr %"tango.text.Regex.Stack!(Pair!(uint)).Stack"* %.this_arg, i32 0, i32 0 ; <i32*> [#uses=1]
+ %tmp4 = load i32* %tmp3 ; <i32> [#uses=1]
+ %tmp5 = add i32 %tmp4, -1 ; <i32> [#uses=1]
+ %tmp6 = getelementptr %"tango.text.Regex.Stack!(Pair!(uint)).Stack"* %.this_arg, i32 0, i32 1, i32 1 ; <%tango.net.Socket.timeval**> [#uses=1]
+ %.ptr = load %tango.net.Socket.timeval** %tmp6 ; <%tango.net.Socket.timeval*> [#uses=1]
+ %tmp7 = getelementptr %tango.net.Socket.timeval* %.ptr, i32 %tmp5 ; <%tango.net.Socket.timeval*> [#uses=1]
+ %tmp910 = bitcast %tango.net.Socket.timeval* %tmp7 to i64* ; <i64*> [#uses=1]
+ %tmp811 = bitcast %tango.net.Socket.timeval* %.sret_arg to i64* ; <i64*> [#uses=1]
+ %tmp = load i64* %tmp910, align 1 ; <i64> [#uses=1]
+ store i64 %tmp, i64* %tmp811, align 1
+ ret void
+}
+
+define weak_odr fastcc %tango.net.Socket.timeval* @_D5tango4text5Regex47__T5StackTS5tango4text5Regex11__T4PairTkZ4PairZ5Stack6topPtrMFZPS5tango4text5Regex11__T4PairTkZ4Pair(%"tango.text.Regex.Stack!(Pair!(uint)).Stack"* nocapture %.this_arg) nounwind readonly {
+entry:
+ %tmp3 = getelementptr %"tango.text.Regex.Stack!(Pair!(uint)).Stack"* %.this_arg, i32 0, i32 0 ; <i32*> [#uses=1]
+ %tmp4 = load i32* %tmp3 ; <i32> [#uses=1]
+ %tmp5 = add i32 %tmp4, -1 ; <i32> [#uses=1]
+ %tmp6 = getelementptr %"tango.text.Regex.Stack!(Pair!(uint)).Stack"* %.this_arg, i32 0, i32 1, i32 1 ; <%tango.net.Socket.timeval**> [#uses=1]
+ %.ptr = load %tango.net.Socket.timeval** %tmp6 ; <%tango.net.Socket.timeval*> [#uses=1]
+ %tmp7 = getelementptr %tango.net.Socket.timeval* %.ptr, i32 %tmp5 ; <%tango.net.Socket.timeval*> [#uses=1]
+ ret %tango.net.Socket.timeval* %tmp7
+}
+
+define weak_odr fastcc i1 @_D5tango4text5Regex47__T5StackTS5tango4text5Regex11__T4PairTkZ4PairZ5Stack5emptyMFZb(%"tango.text.Regex.Stack!(Pair!(uint)).Stack"* nocapture %.this_arg) nounwind readonly {
+entry:
+ %tmp1 = getelementptr %"tango.text.Regex.Stack!(Pair!(uint)).Stack"* %.this_arg, i32 0, i32 0 ; <i32*> [#uses=1]
+ %tmp2 = load i32* %tmp1 ; <i32> [#uses=1]
+ %tmp3 = icmp eq i32 %tmp2, 0 ; <i1> [#uses=1]
+ ret i1 %tmp3
+}
+
+define weak_odr fastcc void @_D5tango4text5Regex47__T5StackTS5tango4text5Regex11__T4PairTkZ4PairZ5Stack5clearMFZv(%"tango.text.Regex.Stack!(Pair!(uint)).Stack"* nocapture %.this_arg) nounwind {
+entry:
+ %tmp1 = getelementptr %"tango.text.Regex.Stack!(Pair!(uint)).Stack"* %.this_arg, i32 0, i32 0 ; <i32*> [#uses=1]
+ store i32 0, i32* %tmp1
+ ret void
+}
+
+define weak_odr fastcc i32 @_D5tango4text5Regex47__T5StackTS5tango4text5Regex11__T4PairTkZ4PairZ5Stack6lengthMFZk(%"tango.text.Regex.Stack!(Pair!(uint)).Stack"* nocapture %.this_arg) nounwind readonly {
+entry:
+ %tmp1 = getelementptr %"tango.text.Regex.Stack!(Pair!(uint)).Stack"* %.this_arg, i32 0, i32 0 ; <i32*> [#uses=1]
+ %tmp2 = load i32* %tmp1 ; <i32> [#uses=1]
+ ret i32 %tmp2
+}
+
+define weak_odr fastcc %"CharRange!(dchar)[]" @_D5tango4text5Regex47__T5StackTS5tango4text5Regex11__T4PairTkZ4PairZ5Stack5arrayMFZAS5tango4text5Regex11__T4PairTkZ4Pair(%"tango.text.Regex.Stack!(Pair!(uint)).Stack"* nocapture %.this_arg) nounwind readonly {
+entry:
+ %tmp2 = getelementptr %"tango.text.Regex.Stack!(Pair!(uint)).Stack"* %.this_arg, i32 0, i32 1, i32 1 ; <%tango.net.Socket.timeval**> [#uses=1]
+ %.ptr = load %tango.net.Socket.timeval** %tmp2 ; <%tango.net.Socket.timeval*> [#uses=1]
+ %tmp4 = getelementptr %"tango.text.Regex.Stack!(Pair!(uint)).Stack"* %.this_arg, i32 0, i32 0 ; <i32*> [#uses=1]
+ %tmp5 = load i32* %tmp4 ; <i32> [#uses=1]
+ %tmp8 = insertvalue %"CharRange!(dchar)[]" undef, i32 %tmp5, 0 ; <%"CharRange!(dchar)[]"> [#uses=1]
+ %tmp9 = insertvalue %"CharRange!(dchar)[]" %tmp8, %tango.net.Socket.timeval* %.ptr, 1 ; <%"CharRange!(dchar)[]"> [#uses=1]
+ ret %"CharRange!(dchar)[]" %tmp9
+}
+
+define weak_odr fastcc void @_D5tango4text5Regex47__T5StackTS5tango4text5Regex11__T4PairTkZ4PairZ5Stack7opIndexMFkZS5tango4text5Regex11__T4PairTkZ4Pair(%tango.net.Socket.timeval* noalias nocapture sret %.sret_arg, %"tango.text.Regex.Stack!(Pair!(uint)).Stack"* nocapture %.this_arg, i32 %i_arg) nounwind {
+entry:
+ %tmp2 = getelementptr %"tango.text.Regex.Stack!(Pair!(uint)).Stack"* %.this_arg, i32 0, i32 1, i32 1 ; <%tango.net.Socket.timeval**> [#uses=1]
+ %.ptr = load %tango.net.Socket.timeval** %tmp2 ; <%tango.net.Socket.timeval*> [#uses=1]
+ %tmp4 = getelementptr %tango.net.Socket.timeval* %.ptr, i32 %i_arg ; <%tango.net.Socket.timeval*> [#uses=1]
+ %tmp67 = bitcast %tango.net.Socket.timeval* %tmp4 to i64* ; <i64*> [#uses=1]
+ %tmp58 = bitcast %tango.net.Socket.timeval* %.sret_arg to i64* ; <i64*> [#uses=1]
+ %tmp = load i64* %tmp67, align 1 ; <i64> [#uses=1]
+ store i64 %tmp, i64* %tmp58, align 1
+ ret void
+}
+
+define weak_odr fastcc void @_D5tango4text5Regex47__T5StackTS5tango4text5Regex11__T4PairTkZ4PairZ5Stack3dupMFZS5tango4text5Regex47__T5StackTS5tango4text5Regex11__T4PairTkZ4PairZ5Stack(%"tango.text.Regex.Stack!(Pair!(uint)).Stack"* noalias nocapture sret %.sret_arg, %"tango.text.Regex.Stack!(Pair!(uint)).Stack"* nocapture %.this_arg) {
+entry:
+ %tmp3 = getelementptr %"tango.text.Regex.Stack!(Pair!(uint)).Stack"* %.this_arg, i32 0, i32 0 ; <i32*> [#uses=1]
+ %tmp4 = load i32* %tmp3 ; <i32> [#uses=1]
+ %tmp7 = getelementptr %"tango.text.Regex.Stack!(Pair!(uint)).Stack"* %.this_arg, i32 0, i32 1 ; <%"CharRange!(dchar)[]"*> [#uses=1]
+ %tmp8 = bitcast %"CharRange!(dchar)[]"* %tmp7 to %"byte[]"* ; <%"byte[]"*> [#uses=1]
+ %tmp9 = load %"byte[]"* %tmp8 ; <%"byte[]"> [#uses=1]
+ %tmp10 = tail call %"byte[]" @_adDupT(%object.TypeInfo* bitcast (%object.TypeInfo_Array* @_D46TypeInfo_AS5tango4text5Regex11__T4PairTkZ4Pair6__initZ to %object.TypeInfo*), %"byte[]" %tmp9) ; <%"byte[]"> [#uses=2]
+ %tmp11 = extractvalue %"byte[]" %tmp10, 0 ; <i32> [#uses=1]
+ %tmp13 = extractvalue %"byte[]" %tmp10, 1 ; <i8*> [#uses=1]
+ %tmp14 = bitcast i8* %tmp13 to %tango.net.Socket.timeval* ; <%tango.net.Socket.timeval*> [#uses=1]
+ %.sret_arg.0 = getelementptr %"tango.text.Regex.Stack!(Pair!(uint)).Stack"* %.sret_arg, i32 0, i32 0 ; <i32*> [#uses=1]
+ store i32 %tmp4, i32* %.sret_arg.0
+ %.sret_arg.1.0 = getelementptr %"tango.text.Regex.Stack!(Pair!(uint)).Stack"* %.sret_arg, i32 0, i32 1, i32 0 ; <i32*> [#uses=1]
+ store i32 %tmp11, i32* %.sret_arg.1.0, align 4
+ %.sret_arg.1.1 = getelementptr %"tango.text.Regex.Stack!(Pair!(uint)).Stack"* %.sret_arg, i32 0, i32 1, i32 1 ; <%tango.net.Socket.timeval**> [#uses=1]
+ store %tango.net.Socket.timeval* %tmp14, %tango.net.Socket.timeval** %.sret_arg.1.1, align 4
+ ret void
+}
+
+define weak_odr fastcc void @_D5tango4text5Regex69__T5StackTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ5Stack4pushMFC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZv(%"tango.text.Regex.Stack!(TNFATransition).Stack"* nocapture %.this_arg, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %v_arg) {
+entry:
+ %tmp1 = getelementptr %"tango.text.Regex.Stack!(TNFATransition).Stack"* %.this_arg, i32 0, i32 0 ; <i32*> [#uses=4]
+ %tmp4 = getelementptr %"tango.text.Regex.Stack!(TNFATransition).Stack"* %.this_arg, i32 0, i32 1, i32 0 ; <i32*> [#uses=2]
+ %.len = load i32* %tmp4 ; <i32> [#uses=3]
+ %tmp5 = load i32* %tmp1 ; <i32> [#uses=2]
+ %tmp6 = icmp ult i32 %tmp5, %.len ; <i1> [#uses=1]
+ br i1 %tmp6, label %entry.endif_crit_edge, label %if
+
+entry.endif_crit_edge: ; preds = %entry
+ %tmp26.pre = getelementptr %"tango.text.Regex.Stack!(TNFATransition).Stack"* %.this_arg, i32 0, i32 1, i32 1 ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"***> [#uses=1]
+ br label %endif
+
+if: ; preds = %entry
+ %tmp13 = shl i32 %.len, 1 ; <i32> [#uses=1]
+ %tmp1437 = or i32 %tmp13, 1 ; <i32> [#uses=2]
+ %tmp17 = getelementptr %"tango.text.Regex.Stack!(TNFATransition).Stack"* %.this_arg, i32 0, i32 1, i32 1 ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"***> [#uses=3]
+ %.ptr = load %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*** %tmp17 ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"**> [#uses=1]
+ %tmp18 = bitcast %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** %.ptr to i8* ; <i8*> [#uses=1]
+ %.gc_mem = tail call i8* @_d_arraysetlengthT(%object.TypeInfo* bitcast (%object.TypeInfo_Array* @_D68TypeInfo_AC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransition6__initZ to %object.TypeInfo*), i32 %tmp1437, i32 %.len, i8* %tmp18) ; <i8*> [#uses=1]
+ %.gc_mem19 = bitcast i8* %.gc_mem to %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"**> [#uses=1]
+ store i32 %tmp1437, i32* %tmp4
+ store %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** %.gc_mem19, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*** %tmp17
+ %tmp28.pre = load i32* %tmp1 ; <i32> [#uses=1]
+ br label %endif
+
+endif: ; preds = %if, %entry.endif_crit_edge
+ %tmp26.pre-phi = phi %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*** [ %tmp26.pre, %entry.endif_crit_edge ], [ %tmp17, %if ] ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"***> [#uses=1]
+ %tmp28 = phi i32 [ %tmp5, %entry.endif_crit_edge ], [ %tmp28.pre, %if ] ; <i32> [#uses=1]
+ %.ptr27 = load %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*** %tmp26.pre-phi ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"**> [#uses=1]
+ %tmp29 = getelementptr %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** %.ptr27, i32 %tmp28 ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"**> [#uses=1]
+ store %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %v_arg, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** %tmp29
+ %tmp35 = load i32* %tmp1 ; <i32> [#uses=1]
+ %tmp36 = add i32 %tmp35, 1 ; <i32> [#uses=1]
+ store i32 %tmp36, i32* %tmp1
+ ret void
+}
+
+define weak_odr fastcc void @_D5tango4text5Regex69__T5StackTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ5Stack11opCatAssignMFAC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZv(%"tango.text.Regex.Stack!(TNFATransition).Stack"* nocapture %.this_arg, %"TNFATransition[]" %vs_arg) {
+entry:
+ %vs_arg43 = extractvalue %"TNFATransition[]" %vs_arg, 0 ; <i32> [#uses=1]
+ %vs_arg44 = extractvalue %"TNFATransition[]" %vs_arg, 1 ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"**> [#uses=1]
+ %tmp1 = getelementptr %"tango.text.Regex.Stack!(TNFATransition).Stack"* %.this_arg, i32 0, i32 0 ; <i32*> [#uses=3]
+ %tmp3 = load i32* %tmp1 ; <i32> [#uses=2]
+ %tmp4 = add i32 %tmp3, %vs_arg43 ; <i32> [#uses=4]
+ %tmp7 = getelementptr %"tango.text.Regex.Stack!(TNFATransition).Stack"* %.this_arg, i32 0, i32 1, i32 0 ; <i32*> [#uses=2]
+ %.len8 = load i32* %tmp7 ; <i32> [#uses=2]
+ %tmp10 = icmp ugt i32 %tmp4, %.len8 ; <i1> [#uses=1]
+ br i1 %tmp10, label %if, label %entry.endif_crit_edge
+
+entry.endif_crit_edge: ; preds = %entry
+ %tmp24.pre = getelementptr %"tango.text.Regex.Stack!(TNFATransition).Stack"* %.this_arg, i32 0, i32 1, i32 1 ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"***> [#uses=1]
+ br label %endif
+
+if: ; preds = %entry
+ %tmp14 = shl i32 %tmp4, 1 ; <i32> [#uses=2]
+ %tmp17 = getelementptr %"tango.text.Regex.Stack!(TNFATransition).Stack"* %.this_arg, i32 0, i32 1, i32 1 ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"***> [#uses=3]
+ %.ptr = load %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*** %tmp17 ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"**> [#uses=1]
+ %tmp18 = bitcast %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** %.ptr to i8* ; <i8*> [#uses=1]
+ %.gc_mem = tail call i8* @_d_arraysetlengthT(%object.TypeInfo* bitcast (%object.TypeInfo_Array* @_D68TypeInfo_AC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransition6__initZ to %object.TypeInfo*), i32 %tmp14, i32 %.len8, i8* %tmp18) ; <i8*> [#uses=1]
+ %.gc_mem19 = bitcast i8* %.gc_mem to %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"**> [#uses=1]
+ store i32 %tmp14, i32* %tmp7
+ store %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** %.gc_mem19, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*** %tmp17
+ %tmp28.pre = load i32* %tmp1 ; <i32> [#uses=1]
+ br label %endif
+
+endif: ; preds = %if, %entry.endif_crit_edge
+ %tmp24.pre-phi = phi %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*** [ %tmp24.pre, %entry.endif_crit_edge ], [ %tmp17, %if ] ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"***> [#uses=1]
+ %tmp28 = phi i32 [ %tmp28.pre, %if ], [ %tmp3, %entry.endif_crit_edge ] ; <i32> [#uses=2]
+ %.ptr25 = load %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*** %tmp24.pre-phi ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"**> [#uses=1]
+ %tmp30 = getelementptr %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** %.ptr25, i32 %tmp28 ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"**> [#uses=1]
+ %tmp31 = sub i32 %tmp4, %tmp28 ; <i32> [#uses=1]
+ %tmp32 = shl i32 %tmp31, 2 ; <i32> [#uses=1]
+ %tmp33 = bitcast %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** %tmp30 to i8* ; <i8*> [#uses=1]
+ %tmp36 = bitcast %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** %vs_arg44 to i8* ; <i8*> [#uses=1]
+ tail call void @llvm.memcpy.i32(i8* %tmp33, i8* %tmp36, i32 %tmp32, i32 1)
+ store i32 %tmp4, i32* %tmp1
+ ret void
+}
+
+define weak_odr fastcc void @_D5tango4text5Regex69__T5StackTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ5Stack3popMFkZv(%"tango.text.Regex.Stack!(TNFATransition).Stack"* nocapture %.this_arg, i32 %num_arg) nounwind {
+entry:
+ %tmp1 = getelementptr %"tango.text.Regex.Stack!(TNFATransition).Stack"* %.this_arg, i32 0, i32 0 ; <i32*> [#uses=2]
+ %tmp4 = load i32* %tmp1 ; <i32> [#uses=1]
+ %tmp6 = sub i32 %tmp4, %num_arg ; <i32> [#uses=1]
+ store i32 %tmp6, i32* %tmp1
+ ret void
+}
+
+define weak_odr fastcc %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* @_D5tango4text5Regex69__T5StackTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ5Stack3popMFZC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransition(%"tango.text.Regex.Stack!(TNFATransition).Stack"* nocapture %.this_arg) nounwind {
+entry:
+ %tmp3 = getelementptr %"tango.text.Regex.Stack!(TNFATransition).Stack"* %.this_arg, i32 0, i32 0 ; <i32*> [#uses=2]
+ %tmp6 = load i32* %tmp3 ; <i32> [#uses=1]
+ %tmp7 = add i32 %tmp6, -1 ; <i32> [#uses=2]
+ store i32 %tmp7, i32* %tmp3
+ %tmp8 = getelementptr %"tango.text.Regex.Stack!(TNFATransition).Stack"* %.this_arg, i32 0, i32 1, i32 1 ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"***> [#uses=1]
+ %.ptr = load %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*** %tmp8 ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"**> [#uses=1]
+ %tmp9 = getelementptr %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** %.ptr, i32 %tmp7 ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"**> [#uses=1]
+ %tmp10 = load %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** %tmp9 ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*> [#uses=1]
+ ret %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %tmp10
+}
+
+define weak_odr fastcc %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* @_D5tango4text5Regex69__T5StackTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ5Stack3topMFZC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransition(%"tango.text.Regex.Stack!(TNFATransition).Stack"* nocapture %.this_arg) nounwind readonly {
+entry:
+ %tmp3 = getelementptr %"tango.text.Regex.Stack!(TNFATransition).Stack"* %.this_arg, i32 0, i32 0 ; <i32*> [#uses=1]
+ %tmp4 = load i32* %tmp3 ; <i32> [#uses=1]
+ %tmp5 = add i32 %tmp4, -1 ; <i32> [#uses=1]
+ %tmp6 = getelementptr %"tango.text.Regex.Stack!(TNFATransition).Stack"* %.this_arg, i32 0, i32 1, i32 1 ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"***> [#uses=1]
+ %.ptr = load %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*** %tmp6 ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"**> [#uses=1]
+ %tmp7 = getelementptr %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** %.ptr, i32 %tmp5 ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"**> [#uses=1]
+ %tmp8 = load %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** %tmp7 ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*> [#uses=1]
+ ret %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %tmp8
+}
+
+define weak_odr fastcc %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** @_D5tango4text5Regex69__T5StackTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ5Stack6topPtrMFZPC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransition(%"tango.text.Regex.Stack!(TNFATransition).Stack"* nocapture %.this_arg) nounwind readonly {
+entry:
+ %tmp3 = getelementptr %"tango.text.Regex.Stack!(TNFATransition).Stack"* %.this_arg, i32 0, i32 0 ; <i32*> [#uses=1]
+ %tmp4 = load i32* %tmp3 ; <i32> [#uses=1]
+ %tmp5 = add i32 %tmp4, -1 ; <i32> [#uses=1]
+ %tmp6 = getelementptr %"tango.text.Regex.Stack!(TNFATransition).Stack"* %.this_arg, i32 0, i32 1, i32 1 ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"***> [#uses=1]
+ %.ptr = load %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*** %tmp6 ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"**> [#uses=1]
+ %tmp7 = getelementptr %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** %.ptr, i32 %tmp5 ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"**> [#uses=1]
+ ret %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** %tmp7
+}
+
+define weak_odr fastcc i1 @_D5tango4text5Regex69__T5StackTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ5Stack5emptyMFZb(%"tango.text.Regex.Stack!(TNFATransition).Stack"* nocapture %.this_arg) nounwind readonly {
+entry:
+ %tmp1 = getelementptr %"tango.text.Regex.Stack!(TNFATransition).Stack"* %.this_arg, i32 0, i32 0 ; <i32*> [#uses=1]
+ %tmp2 = load i32* %tmp1 ; <i32> [#uses=1]
+ %tmp3 = icmp eq i32 %tmp2, 0 ; <i1> [#uses=1]
+ ret i1 %tmp3
+}
+
+define weak_odr fastcc void @_D5tango4text5Regex69__T5StackTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ5Stack5clearMFZv(%"tango.text.Regex.Stack!(TNFATransition).Stack"* nocapture %.this_arg) nounwind {
+entry:
+ %tmp1 = getelementptr %"tango.text.Regex.Stack!(TNFATransition).Stack"* %.this_arg, i32 0, i32 0 ; <i32*> [#uses=1]
+ store i32 0, i32* %tmp1
+ ret void
+}
+
+define weak_odr fastcc i32 @_D5tango4text5Regex69__T5StackTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ5Stack6lengthMFZk(%"tango.text.Regex.Stack!(TNFATransition).Stack"* nocapture %.this_arg) nounwind readonly {
+entry:
+ %tmp1 = getelementptr %"tango.text.Regex.Stack!(TNFATransition).Stack"* %.this_arg, i32 0, i32 0 ; <i32*> [#uses=1]
+ %tmp2 = load i32* %tmp1 ; <i32> [#uses=1]
+ ret i32 %tmp2
+}
+
+define weak_odr fastcc %"TNFATransition[]" @_D5tango4text5Regex69__T5StackTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ5Stack5arrayMFZAC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransition(%"tango.text.Regex.Stack!(TNFATransition).Stack"* nocapture %.this_arg) nounwind readonly {
+entry:
+ %tmp2 = getelementptr %"tango.text.Regex.Stack!(TNFATransition).Stack"* %.this_arg, i32 0, i32 1, i32 1 ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"***> [#uses=1]
+ %.ptr = load %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*** %tmp2 ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"**> [#uses=1]
+ %tmp4 = getelementptr %"tango.text.Regex.Stack!(TNFATransition).Stack"* %.this_arg, i32 0, i32 0 ; <i32*> [#uses=1]
+ %tmp5 = load i32* %tmp4 ; <i32> [#uses=1]
+ %tmp8 = insertvalue %"TNFATransition[]" undef, i32 %tmp5, 0 ; <%"TNFATransition[]"> [#uses=1]
+ %tmp9 = insertvalue %"TNFATransition[]" %tmp8, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** %.ptr, 1 ; <%"TNFATransition[]"> [#uses=1]
+ ret %"TNFATransition[]" %tmp9
+}
+
+define weak_odr fastcc %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* @_D5tango4text5Regex69__T5StackTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ5Stack7opIndexMFkZC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransition(%"tango.text.Regex.Stack!(TNFATransition).Stack"* nocapture %.this_arg, i32 %i_arg) nounwind readonly {
+entry:
+ %tmp2 = getelementptr %"tango.text.Regex.Stack!(TNFATransition).Stack"* %.this_arg, i32 0, i32 1, i32 1 ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"***> [#uses=1]
+ %.ptr = load %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*** %tmp2 ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"**> [#uses=1]
+ %tmp4 = getelementptr %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** %.ptr, i32 %i_arg ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"**> [#uses=1]
+ %tmp5 = load %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** %tmp4 ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*> [#uses=1]
+ ret %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %tmp5
+}
+
+define weak_odr fastcc void @_D5tango4text5Regex69__T5StackTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ5Stack3dupMFZS5tango4text5Regex69__T5StackTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ5Stack(%"tango.text.Regex.Stack!(TNFATransition).Stack"* noalias nocapture sret %.sret_arg, %"tango.text.Regex.Stack!(TNFATransition).Stack"* nocapture %.this_arg) {
+entry:
+ %tmp3 = getelementptr %"tango.text.Regex.Stack!(TNFATransition).Stack"* %.this_arg, i32 0, i32 0 ; <i32*> [#uses=1]
+ %tmp4 = load i32* %tmp3 ; <i32> [#uses=1]
+ %tmp7 = getelementptr %"tango.text.Regex.Stack!(TNFATransition).Stack"* %.this_arg, i32 0, i32 1 ; <%"TNFATransition[]"*> [#uses=1]
+ %tmp8 = bitcast %"TNFATransition[]"* %tmp7 to %"byte[]"* ; <%"byte[]"*> [#uses=1]
+ %tmp9 = load %"byte[]"* %tmp8 ; <%"byte[]"> [#uses=1]
+ %tmp10 = tail call %"byte[]" @_adDupT(%object.TypeInfo* bitcast (%object.TypeInfo_Array* @_D68TypeInfo_AC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransition6__initZ to %object.TypeInfo*), %"byte[]" %tmp9) ; <%"byte[]"> [#uses=2]
+ %tmp11 = extractvalue %"byte[]" %tmp10, 0 ; <i32> [#uses=1]
+ %tmp13 = extractvalue %"byte[]" %tmp10, 1 ; <i8*> [#uses=1]
+ %tmp14 = bitcast i8* %tmp13 to %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"**> [#uses=1]
+ %.sret_arg.0 = getelementptr %"tango.text.Regex.Stack!(TNFATransition).Stack"* %.sret_arg, i32 0, i32 0 ; <i32*> [#uses=1]
+ store i32 %tmp4, i32* %.sret_arg.0
+ %.sret_arg.1.0 = getelementptr %"tango.text.Regex.Stack!(TNFATransition).Stack"* %.sret_arg, i32 0, i32 1, i32 0 ; <i32*> [#uses=1]
+ store i32 %tmp11, i32* %.sret_arg.1.0, align 4
+ %.sret_arg.1.1 = getelementptr %"tango.text.Regex.Stack!(TNFATransition).Stack"* %.sret_arg, i32 0, i32 1, i32 1 ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"***> [#uses=1]
+ store %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** %tmp14, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*** %.sret_arg.1.1, align 4
+ ret void
+}
+
+declare i8* @llvm.eh.exception() nounwind
+
+declare i32 @_d_eh_personality(i32, i32, i64, i8*, i8*)
+
+declare i32 @llvm.eh.selector.i32(i8*, i8*, ...) nounwind
+
+declare void @_d_eh_resume_unwind(i8*)
+
+declare noalias i8* @_d_allocmemoryT(%object.TypeInfo*)
+
+declare void @llvm.memcpy.i32(i8* nocapture, i8* nocapture, i32, i32) nounwind
+
+declare noalias i8* @_d_newarrayiT(%object.TypeInfo*, i32)
+
+declare noalias i8* @_d_allocclass(%object.ClassInfo*)
+
+declare void @_d_throw_exception(%object.Object*)
+
+declare i32 @_adEq(%"byte[]", %"byte[]", %object.TypeInfo*) readonly
+
+declare void @_d_delarray(i32, i8*)
+
+declare void @_d_delclass(%object.Object*)
+
+declare fastcc %tango.net.Socket.IPv4Address* @_D5tango3net6Socket11IPv4Address5_ctorMFAaiZC5tango3net6Socket11IPv4Address(%tango.net.Socket.IPv4Address*, %"byte[]", i32)
+
+declare noalias i8* @_d_newarrayvT(%object.TypeInfo*, i32)
+
+declare i8* @_d_arraysetlengthiT(%object.TypeInfo*, i32, i32, i8*)
+
+declare fastcc void @_D5tango4time5Clock5Clock3nowFZS5tango4time4Time4Time(%tango.time.Time.Time* noalias nocapture sret)
+
+declare %object.Object* @_d_dynamic_cast(%object.Object*, %object.ClassInfo*) nounwind readonly
+
+declare fastcc void @_D5tango3net6Socket6Socket10initializeMFT5tango3net6Socket8socket_tZv(%tango.net.Socket.Socket*, i32)
+
+declare fastcc i32 @_D5tango3net6Socket6Socket6selectFC5tango3net6Socket9SocketSetC5tango3net6Socket9SocketSetC5tango3net6Socket9SocketSetPS5tango3net6Socket7timevalZi(%tango.net.Socket.SocketSet*, %tango.net.Socket.SocketSet*, %tango.net.Socket.SocketSet*, %tango.net.Socket.timeval*)
+
+declare void @llvm.memset.i32(i8* nocapture, i8, i32, i32) nounwind
+
+declare %object.Object* @_d_toObject(i8*) nounwind readonly
+
+declare %"byte[]" @_adDupT(%object.TypeInfo*, %"byte[]")
+
+declare i8* @_aaGet(%32* nocapture, %object.TypeInfo*, i32, i8* nocapture)
+
+declare fastcc %"byte[]" @_D5tango4text5Ascii7toLowerFAaAaZAa(%"byte[]", %"byte[]")
+
+declare i8* @_aaIn(%32* nocapture, %object.TypeInfo*, i8* nocapture) readonly
+
+declare i32 @_d_switch_string(%"char[][]", %"byte[]") readonly
+
+declare fastcc %"tango.text.convert.Layout.Layout!(char).Layout"* @_D5tango4text7convert6Layout13__T6LayoutTaZ6Layout8instanceFZC5tango4text7convert6Layout13__T6LayoutTaZ6Layout()
+
+define weak_odr fastcc i1 @_D5tango4text5Regex11__T4TNFATwZ4TNFA5parseMFbZv7performMFE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorbZb(i8* %.nest_arg, i32 %next_op_arg, i1 %explicit_operator_arg) {
+entry:
+ %_argptr_storage = alloca %35, align 8 ; <%35*> [#uses=3]
+ %_argptr_storage298 = alloca %nest.parseListLine, align 8 ; <%nest.parseListLine*> [#uses=4]
+ %opStack = getelementptr i8* %.nest_arg, i32 8 ; <i8*> [#uses=1]
+ %tmp3.i = bitcast i8* %opStack to i32* ; <i32*> [#uses=9]
+ %tmp4.i = load i32* %tmp3.i ; <i32> [#uses=3]
+ %tmp5.i = add i32 %tmp4.i, -1 ; <i32> [#uses=2]
+ %tmp6.i = getelementptr i8* %.nest_arg, i32 16 ; <i8*> [#uses=1]
+ %0 = bitcast i8* %tmp6.i to i32** ; <i32**> [#uses=2]
+ %.ptr.i = load i32** %0 ; <i32*> [#uses=3]
+ %tmp7.i = getelementptr i32* %.ptr.i, i32 %tmp5.i ; <i32*> [#uses=1]
+ %tmp8.i = load i32* %tmp7.i ; <i32> [#uses=3]
+ %tmp2 = mul i32 %tmp8.i, 17 ; <i32> [#uses=1]
+ %tmp5 = add i32 %tmp2, %next_op_arg ; <i32> [#uses=1]
+ %tmp8 = getelementptr [289 x i32]* @.constarray34, i32 0, i32 %tmp5 ; <i32*> [#uses=1]
+ %tmp9 = load i32* %tmp8 ; <i32> [#uses=1]
+ switch i32 %tmp9, label %default286 [
+ i32 0, label %case
+ i32 1, label %case30
+ i32 2, label %case204
+ i32 3, label %case209
+ i32 4, label %case284
+ ]
+
+case: ; preds = %entry
+ %tmp4.i350 = getelementptr i8* %.nest_arg, i32 12 ; <i8*> [#uses=1]
+ %1 = bitcast i8* %tmp4.i350 to i32* ; <i32*> [#uses=2]
+ %.len.i = load i32* %1 ; <i32> [#uses=3]
+ %tmp6.i352 = icmp ult i32 %tmp4.i, %.len.i ; <i1> [#uses=1]
+ br i1 %tmp6.i352, label %_D5tango4text5Regex56__T5StackTE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorZ5Stack4pushMFE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorZv.exit, label %if.i
+
+if.i: ; preds = %case
+ %tmp13.i = shl i32 %.len.i, 1 ; <i32> [#uses=1]
+ %tmp1437.i = or i32 %tmp13.i, 1 ; <i32> [#uses=2]
+ %tmp18.i = bitcast i32* %.ptr.i to i8* ; <i8*> [#uses=1]
+ %.gc_mem.i = call i8* @_d_arraysetlengthT(%object.TypeInfo* bitcast (%object.TypeInfo_Array* @_D55TypeInfo_AE5tango4text5Regex11__T4TNFATwZ4TNFA8Operator6__initZ to %object.TypeInfo*), i32 %tmp1437.i, i32 %.len.i, i8* %tmp18.i) ; <i8*> [#uses=1]
+ %.gc_mem19.i = bitcast i8* %.gc_mem.i to i32* ; <i32*> [#uses=2]
+ store i32 %tmp1437.i, i32* %1
+ store i32* %.gc_mem19.i, i32** %0
+ %tmp28.pre.i = load i32* %tmp3.i ; <i32> [#uses=1]
+ br label %_D5tango4text5Regex56__T5StackTE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorZ5Stack4pushMFE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorZv.exit
+
+_D5tango4text5Regex56__T5StackTE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorZ5Stack4pushMFE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorZv.exit: ; preds = %if.i, %case
+ %.ptr27.i = phi i32* [ %.gc_mem19.i, %if.i ], [ %.ptr.i, %case ] ; <i32*> [#uses=1]
+ %tmp28.i = phi i32 [ %tmp28.pre.i, %if.i ], [ %tmp4.i, %case ] ; <i32> [#uses=1]
+ %tmp29.i = getelementptr i32* %.ptr27.i, i32 %tmp28.i ; <i32*> [#uses=1]
+ store i32 %next_op_arg, i32* %tmp29.i
+ %tmp35.i = load i32* %tmp3.i ; <i32> [#uses=1]
+ %tmp36.i = add i32 %tmp35.i, 1 ; <i32> [#uses=1]
+ store i32 %tmp36.i, i32* %tmp3.i
+ %tmp14 = icmp eq i32 %next_op_arg, 3 ; <i1> [#uses=1]
+ br i1 %tmp14, label %if, label %switchend
+
+if: ; preds = %_D5tango4text5Regex56__T5StackTE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorZ5Stack4pushMFE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorZv.exit
+ %tagStack = getelementptr i8* %.nest_arg, i32 20 ; <i8*> [#uses=1]
+ %this = getelementptr i8* %.nest_arg, i32 64 ; <i8*> [#uses=1]
+ %2 = bitcast i8* %this to %"tango.text.Regex.TNFA!(dchar).TNFA"** ; <%"tango.text.Regex.TNFA!(dchar).TNFA"**> [#uses=2]
+ %tmp17 = load %"tango.text.Regex.TNFA!(dchar).TNFA"** %2 ; <%"tango.text.Regex.TNFA!(dchar).TNFA"*> [#uses=1]
+ %tmp18 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %tmp17, i32 0, i32 6 ; <i32*> [#uses=1]
+ %tmp19 = load i32* %tmp18 ; <i32> [#uses=1]
+ %tmp1.i360 = bitcast i8* %tagStack to i32* ; <i32*> [#uses=4]
+ %tmp4.i361 = getelementptr i8* %.nest_arg, i32 24 ; <i8*> [#uses=1]
+ %3 = bitcast i8* %tmp4.i361 to i32* ; <i32*> [#uses=2]
+ %.len.i362 = load i32* %3 ; <i32> [#uses=3]
+ %tmp5.i363 = load i32* %tmp1.i360 ; <i32> [#uses=2]
+ %tmp6.i364 = icmp ult i32 %tmp5.i363, %.len.i362 ; <i1> [#uses=1]
+ br i1 %tmp6.i364, label %entry.endif_crit_edge.i366, label %if.i375
+
+entry.endif_crit_edge.i366: ; preds = %if
+ %tmp26.pre.i365 = getelementptr i8* %.nest_arg, i32 28 ; <i8*> [#uses=1]
+ %4 = bitcast i8* %tmp26.pre.i365 to i32** ; <i32**> [#uses=1]
+ %.ptr27.i378.pre = load i32** %4 ; <i32*> [#uses=1]
+ br label %_D5tango4text5Regex12__T5StackTkZ5Stack4pushMFkZv.exit
+
+if.i375: ; preds = %if
+ %tmp13.i367 = shl i32 %.len.i362, 1 ; <i32> [#uses=1]
+ %tmp1437.i368 = or i32 %tmp13.i367, 1 ; <i32> [#uses=2]
+ %tmp17.i369 = getelementptr i8* %.nest_arg, i32 28 ; <i8*> [#uses=1]
+ %5 = bitcast i8* %tmp17.i369 to i32** ; <i32**> [#uses=2]
+ %.ptr.i370 = load i32** %5 ; <i32*> [#uses=1]
+ %tmp18.i371 = bitcast i32* %.ptr.i370 to i8* ; <i8*> [#uses=1]
+ %.gc_mem.i372 = call i8* @_d_arraysetlengthT(%object.TypeInfo* @_D11TypeInfo_Ak6__initZ, i32 %tmp1437.i368, i32 %.len.i362, i8* %tmp18.i371) ; <i8*> [#uses=1]
+ %.gc_mem19.i373 = bitcast i8* %.gc_mem.i372 to i32* ; <i32*> [#uses=2]
+ store i32 %tmp1437.i368, i32* %3
+ store i32* %.gc_mem19.i373, i32** %5
+ %tmp28.pre.i374 = load i32* %tmp1.i360 ; <i32> [#uses=1]
+ br label %_D5tango4text5Regex12__T5StackTkZ5Stack4pushMFkZv.exit
+
+_D5tango4text5Regex12__T5StackTkZ5Stack4pushMFkZv.exit: ; preds = %if.i375, %entry.endif_crit_edge.i366
+ %.ptr27.i378 = phi i32* [ %.ptr27.i378.pre, %entry.endif_crit_edge.i366 ], [ %.gc_mem19.i373, %if.i375 ] ; <i32*> [#uses=1]
+ %tmp28.i377 = phi i32 [ %tmp5.i363, %entry.endif_crit_edge.i366 ], [ %tmp28.pre.i374, %if.i375 ] ; <i32> [#uses=1]
+ %tmp29.i379 = getelementptr i32* %.ptr27.i378, i32 %tmp28.i377 ; <i32*> [#uses=1]
+ store i32 %tmp19, i32* %tmp29.i379
+ %tmp35.i380 = load i32* %tmp1.i360 ; <i32> [#uses=1]
+ %tmp36.i381 = add i32 %tmp35.i380, 1 ; <i32> [#uses=1]
+ store i32 %tmp36.i381, i32* %tmp1.i360
+ %tmp22 = load %"tango.text.Regex.TNFA!(dchar).TNFA"** %2 ; <%"tango.text.Regex.TNFA!(dchar).TNFA"*> [#uses=1]
+ %tmp23 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %tmp22, i32 0, i32 6 ; <i32*> [#uses=2]
+ %tmp28 = load i32* %tmp23 ; <i32> [#uses=1]
+ %tmp29 = add i32 %tmp28, 2 ; <i32> [#uses=1]
+ store i32 %tmp29, i32* %tmp23
+ ret i1 false
+
+case30: ; preds = %entry
+ switch i32 %tmp8.i, label %default163 [
+ i32 1, label %case37
+ i32 2, label %case44
+ i32 5, label %case52
+ i32 8, label %case60
+ i32 11, label %case68
+ i32 6, label %case76
+ i32 9, label %case84
+ i32 12, label %case92
+ i32 7, label %case100
+ i32 10, label %case108
+ i32 13, label %case116
+ i32 15, label %case124
+ i32 16, label %case142
+ ]
+
+case37: ; preds = %case30
+ %this39 = getelementptr i8* %.nest_arg, i32 64 ; <i8*> [#uses=1]
+ %6 = bitcast i8* %this39 to %"tango.text.Regex.TNFA!(dchar).TNFA"** ; <%"tango.text.Regex.TNFA!(dchar).TNFA"**> [#uses=1]
+ %tmp40 = load %"tango.text.Regex.TNFA!(dchar).TNFA"** %6 ; <%"tango.text.Regex.TNFA!(dchar).TNFA"*> [#uses=1]
+ %frags = getelementptr i8* %.nest_arg, i32 4 ; <i8*> [#uses=1]
+ %7 = bitcast i8* %frags to %"tango.text.Regex.List!(TNFAFragment).List"** ; <%"tango.text.Regex.List!(TNFAFragment).List"**> [#uses=1]
+ %tmp42 = load %"tango.text.Regex.List!(TNFAFragment).List"** %7 ; <%"tango.text.Regex.List!(TNFAFragment).List"*> [#uses=1]
+ call fastcc void @_D5tango4text5Regex11__T4TNFATwZ4TNFA15constructConcatMFC5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4ListZv(%"tango.text.Regex.TNFA!(dchar).TNFA"* %tmp40, %"tango.text.Regex.List!(TNFAFragment).List"* %tmp42)
+ br label %switchend33
+
+case44: ; preds = %case30
+ %this46 = getelementptr i8* %.nest_arg, i32 64 ; <i8*> [#uses=1]
+ %8 = bitcast i8* %this46 to %"tango.text.Regex.TNFA!(dchar).TNFA"** ; <%"tango.text.Regex.TNFA!(dchar).TNFA"**> [#uses=1]
+ %tmp47 = load %"tango.text.Regex.TNFA!(dchar).TNFA"** %8 ; <%"tango.text.Regex.TNFA!(dchar).TNFA"*> [#uses=1]
+ %frags49 = getelementptr i8* %.nest_arg, i32 4 ; <i8*> [#uses=1]
+ %9 = bitcast i8* %frags49 to %"tango.text.Regex.List!(TNFAFragment).List"** ; <%"tango.text.Regex.List!(TNFAFragment).List"**> [#uses=1]
+ %tmp50 = load %"tango.text.Regex.List!(TNFAFragment).List"** %9 ; <%"tango.text.Regex.List!(TNFAFragment).List"*> [#uses=1]
+ call fastcc void @_D5tango4text5Regex11__T4TNFATwZ4TNFA15constructAlternMFC5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4ListZv(%"tango.text.Regex.TNFA!(dchar).TNFA"* %tmp47, %"tango.text.Regex.List!(TNFAFragment).List"* %tmp50)
+ br label %switchend33
+
+case52: ; preds = %case30
+ %this54 = getelementptr i8* %.nest_arg, i32 64 ; <i8*> [#uses=1]
+ %10 = bitcast i8* %this54 to %"tango.text.Regex.TNFA!(dchar).TNFA"** ; <%"tango.text.Regex.TNFA!(dchar).TNFA"**> [#uses=1]
+ %tmp55 = load %"tango.text.Regex.TNFA!(dchar).TNFA"** %10 ; <%"tango.text.Regex.TNFA!(dchar).TNFA"*> [#uses=1]
+ %frags57 = getelementptr i8* %.nest_arg, i32 4 ; <i8*> [#uses=1]
+ %11 = bitcast i8* %frags57 to %"tango.text.Regex.List!(TNFAFragment).List"** ; <%"tango.text.Regex.List!(TNFAFragment).List"**> [#uses=1]
+ %tmp58 = load %"tango.text.Regex.List!(TNFAFragment).List"** %11 ; <%"tango.text.Regex.List!(TNFAFragment).List"*> [#uses=1]
+ call fastcc void @_D5tango4text5Regex11__T4TNFATwZ4TNFA16constructZeroOneMFC5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4ListE5tango4text5Regex13PriorityClassZv(%"tango.text.Regex.TNFA!(dchar).TNFA"* %tmp55, %"tango.text.Regex.List!(TNFAFragment).List"* %tmp58, i32 0)
+ br label %switchend33
+
+case60: ; preds = %case30
+ %this62 = getelementptr i8* %.nest_arg, i32 64 ; <i8*> [#uses=1]
+ %12 = bitcast i8* %this62 to %"tango.text.Regex.TNFA!(dchar).TNFA"** ; <%"tango.text.Regex.TNFA!(dchar).TNFA"**> [#uses=1]
+ %tmp63 = load %"tango.text.Regex.TNFA!(dchar).TNFA"** %12 ; <%"tango.text.Regex.TNFA!(dchar).TNFA"*> [#uses=1]
+ %frags65 = getelementptr i8* %.nest_arg, i32 4 ; <i8*> [#uses=1]
+ %13 = bitcast i8* %frags65 to %"tango.text.Regex.List!(TNFAFragment).List"** ; <%"tango.text.Regex.List!(TNFAFragment).List"**> [#uses=1]
+ %tmp66 = load %"tango.text.Regex.List!(TNFAFragment).List"** %13 ; <%"tango.text.Regex.List!(TNFAFragment).List"*> [#uses=1]
+ call fastcc void @_D5tango4text5Regex11__T4TNFATwZ4TNFA16constructZeroOneMFC5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4ListE5tango4text5Regex13PriorityClassZv(%"tango.text.Regex.TNFA!(dchar).TNFA"* %tmp63, %"tango.text.Regex.List!(TNFAFragment).List"* %tmp66, i32 2)
+ br label %switchend33
+
+case68: ; preds = %case30
+ %this70 = getelementptr i8* %.nest_arg, i32 64 ; <i8*> [#uses=1]
+ %14 = bitcast i8* %this70 to %"tango.text.Regex.TNFA!(dchar).TNFA"** ; <%"tango.text.Regex.TNFA!(dchar).TNFA"**> [#uses=1]
+ %tmp71 = load %"tango.text.Regex.TNFA!(dchar).TNFA"** %14 ; <%"tango.text.Regex.TNFA!(dchar).TNFA"*> [#uses=1]
+ %frags73 = getelementptr i8* %.nest_arg, i32 4 ; <i8*> [#uses=1]
+ %15 = bitcast i8* %frags73 to %"tango.text.Regex.List!(TNFAFragment).List"** ; <%"tango.text.Regex.List!(TNFAFragment).List"**> [#uses=1]
+ %tmp74 = load %"tango.text.Regex.List!(TNFAFragment).List"** %15 ; <%"tango.text.Regex.List!(TNFAFragment).List"*> [#uses=1]
+ call fastcc void @_D5tango4text5Regex11__T4TNFATwZ4TNFA16constructZeroOneMFC5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4ListE5tango4text5Regex13PriorityClassZv(%"tango.text.Regex.TNFA!(dchar).TNFA"* %tmp71, %"tango.text.Regex.List!(TNFAFragment).List"* %tmp74, i32 3)
+ br label %switchend33
+
+case76: ; preds = %case30
+ %this78 = getelementptr i8* %.nest_arg, i32 64 ; <i8*> [#uses=1]
+ %16 = bitcast i8* %this78 to %"tango.text.Regex.TNFA!(dchar).TNFA"** ; <%"tango.text.Regex.TNFA!(dchar).TNFA"**> [#uses=1]
+ %tmp79 = load %"tango.text.Regex.TNFA!(dchar).TNFA"** %16 ; <%"tango.text.Regex.TNFA!(dchar).TNFA"*> [#uses=1]
+ %frags81 = getelementptr i8* %.nest_arg, i32 4 ; <i8*> [#uses=1]
+ %17 = bitcast i8* %frags81 to %"tango.text.Regex.List!(TNFAFragment).List"** ; <%"tango.text.Regex.List!(TNFAFragment).List"**> [#uses=1]
+ %tmp82 = load %"tango.text.Regex.List!(TNFAFragment).List"** %17 ; <%"tango.text.Regex.List!(TNFAFragment).List"*> [#uses=1]
+ call fastcc void @_D5tango4text5Regex11__T4TNFATwZ4TNFA17constructZeroMoreMFC5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4ListE5tango4text5Regex13PriorityClassZv(%"tango.text.Regex.TNFA!(dchar).TNFA"* %tmp79, %"tango.text.Regex.List!(TNFAFragment).List"* %tmp82, i32 0)
+ br label %switchend33
+
+case84: ; preds = %case30
+ %this86 = getelementptr i8* %.nest_arg, i32 64 ; <i8*> [#uses=1]
+ %18 = bitcast i8* %this86 to %"tango.text.Regex.TNFA!(dchar).TNFA"** ; <%"tango.text.Regex.TNFA!(dchar).TNFA"**> [#uses=1]
+ %tmp87 = load %"tango.text.Regex.TNFA!(dchar).TNFA"** %18 ; <%"tango.text.Regex.TNFA!(dchar).TNFA"*> [#uses=1]
+ %frags89 = getelementptr i8* %.nest_arg, i32 4 ; <i8*> [#uses=1]
+ %19 = bitcast i8* %frags89 to %"tango.text.Regex.List!(TNFAFragment).List"** ; <%"tango.text.Regex.List!(TNFAFragment).List"**> [#uses=1]
+ %tmp90 = load %"tango.text.Regex.List!(TNFAFragment).List"** %19 ; <%"tango.text.Regex.List!(TNFAFragment).List"*> [#uses=1]
+ call fastcc void @_D5tango4text5Regex11__T4TNFATwZ4TNFA17constructZeroMoreMFC5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4ListE5tango4text5Regex13PriorityClassZv(%"tango.text.Regex.TNFA!(dchar).TNFA"* %tmp87, %"tango.text.Regex.List!(TNFAFragment).List"* %tmp90, i32 2)
+ br label %switchend33
+
+case92: ; preds = %case30
+ %this94 = getelementptr i8* %.nest_arg, i32 64 ; <i8*> [#uses=1]
+ %20 = bitcast i8* %this94 to %"tango.text.Regex.TNFA!(dchar).TNFA"** ; <%"tango.text.Regex.TNFA!(dchar).TNFA"**> [#uses=1]
+ %tmp95 = load %"tango.text.Regex.TNFA!(dchar).TNFA"** %20 ; <%"tango.text.Regex.TNFA!(dchar).TNFA"*> [#uses=1]
+ %frags97 = getelementptr i8* %.nest_arg, i32 4 ; <i8*> [#uses=1]
+ %21 = bitcast i8* %frags97 to %"tango.text.Regex.List!(TNFAFragment).List"** ; <%"tango.text.Regex.List!(TNFAFragment).List"**> [#uses=1]
+ %tmp98 = load %"tango.text.Regex.List!(TNFAFragment).List"** %21 ; <%"tango.text.Regex.List!(TNFAFragment).List"*> [#uses=1]
+ call fastcc void @_D5tango4text5Regex11__T4TNFATwZ4TNFA17constructZeroMoreMFC5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4ListE5tango4text5Regex13PriorityClassZv(%"tango.text.Regex.TNFA!(dchar).TNFA"* %tmp95, %"tango.text.Regex.List!(TNFAFragment).List"* %tmp98, i32 3)
+ br label %switchend33
+
+case100: ; preds = %case30
+ %this102 = getelementptr i8* %.nest_arg, i32 64 ; <i8*> [#uses=1]
+ %22 = bitcast i8* %this102 to %"tango.text.Regex.TNFA!(dchar).TNFA"** ; <%"tango.text.Regex.TNFA!(dchar).TNFA"**> [#uses=1]
+ %tmp103 = load %"tango.text.Regex.TNFA!(dchar).TNFA"** %22 ; <%"tango.text.Regex.TNFA!(dchar).TNFA"*> [#uses=1]
+ %frags105 = getelementptr i8* %.nest_arg, i32 4 ; <i8*> [#uses=1]
+ %23 = bitcast i8* %frags105 to %"tango.text.Regex.List!(TNFAFragment).List"** ; <%"tango.text.Regex.List!(TNFAFragment).List"**> [#uses=1]
+ %tmp106 = load %"tango.text.Regex.List!(TNFAFragment).List"** %23 ; <%"tango.text.Regex.List!(TNFAFragment).List"*> [#uses=1]
+ call fastcc void @_D5tango4text5Regex11__T4TNFATwZ4TNFA16constructOneMoreMFC5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4ListE5tango4text5Regex13PriorityClassZv(%"tango.text.Regex.TNFA!(dchar).TNFA"* %tmp103, %"tango.text.Regex.List!(TNFAFragment).List"* %tmp106, i32 0)
+ br label %switchend33
+
+case108: ; preds = %case30
+ %this110 = getelementptr i8* %.nest_arg, i32 64 ; <i8*> [#uses=1]
+ %24 = bitcast i8* %this110 to %"tango.text.Regex.TNFA!(dchar).TNFA"** ; <%"tango.text.Regex.TNFA!(dchar).TNFA"**> [#uses=1]
+ %tmp111 = load %"tango.text.Regex.TNFA!(dchar).TNFA"** %24 ; <%"tango.text.Regex.TNFA!(dchar).TNFA"*> [#uses=1]
+ %frags113 = getelementptr i8* %.nest_arg, i32 4 ; <i8*> [#uses=1]
+ %25 = bitcast i8* %frags113 to %"tango.text.Regex.List!(TNFAFragment).List"** ; <%"tango.text.Regex.List!(TNFAFragment).List"**> [#uses=1]
+ %tmp114 = load %"tango.text.Regex.List!(TNFAFragment).List"** %25 ; <%"tango.text.Regex.List!(TNFAFragment).List"*> [#uses=1]
+ call fastcc void @_D5tango4text5Regex11__T4TNFATwZ4TNFA16constructOneMoreMFC5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4ListE5tango4text5Regex13PriorityClassZv(%"tango.text.Regex.TNFA!(dchar).TNFA"* %tmp111, %"tango.text.Regex.List!(TNFAFragment).List"* %tmp114, i32 2)
+ br label %switchend33
+
+case116: ; preds = %case30
+ %this118 = getelementptr i8* %.nest_arg, i32 64 ; <i8*> [#uses=1]
+ %26 = bitcast i8* %this118 to %"tango.text.Regex.TNFA!(dchar).TNFA"** ; <%"tango.text.Regex.TNFA!(dchar).TNFA"**> [#uses=1]
+ %tmp119 = load %"tango.text.Regex.TNFA!(dchar).TNFA"** %26 ; <%"tango.text.Regex.TNFA!(dchar).TNFA"*> [#uses=1]
+ %frags121 = getelementptr i8* %.nest_arg, i32 4 ; <i8*> [#uses=1]
+ %27 = bitcast i8* %frags121 to %"tango.text.Regex.List!(TNFAFragment).List"** ; <%"tango.text.Regex.List!(TNFAFragment).List"**> [#uses=1]
+ %tmp122 = load %"tango.text.Regex.List!(TNFAFragment).List"** %27 ; <%"tango.text.Regex.List!(TNFAFragment).List"*> [#uses=1]
+ call fastcc void @_D5tango4text5Regex11__T4TNFATwZ4TNFA16constructOneMoreMFC5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4ListE5tango4text5Regex13PriorityClassZv(%"tango.text.Regex.TNFA!(dchar).TNFA"* %tmp119, %"tango.text.Regex.List!(TNFAFragment).List"* %tmp122, i32 3)
+ br label %switchend33
+
+case124: ; preds = %case30
+ %occurStack = getelementptr i8* %.nest_arg, i32 32 ; <i8*> [#uses=1]
+ %tmp3.i389 = bitcast i8* %occurStack to i32* ; <i32*> [#uses=2]
+ %tmp6.i390 = load i32* %tmp3.i389 ; <i32> [#uses=1]
+ %tmp7.i391 = add i32 %tmp6.i390, -1 ; <i32> [#uses=2]
+ store i32 %tmp7.i391, i32* %tmp3.i389
+ %tmp8.i392 = getelementptr i8* %.nest_arg, i32 40 ; <i8*> [#uses=1]
+ %28 = bitcast i8* %tmp8.i392 to %tango.net.Socket.timeval** ; <%tango.net.Socket.timeval**> [#uses=1]
+ %.ptr.i393 = load %tango.net.Socket.timeval** %28 ; <%tango.net.Socket.timeval*> [#uses=1]
+ %tmp9.i394 = getelementptr %tango.net.Socket.timeval* %.ptr.i393, i32 %tmp7.i391 ; <%tango.net.Socket.timeval*> [#uses=1]
+ %tmp1112.i = bitcast %tango.net.Socket.timeval* %tmp9.i394 to i64* ; <i64*> [#uses=1]
+ %tmp.i = load i64* %tmp1112.i, align 1 ; <i64> [#uses=2]
+ %sroa.store.elt456 = lshr i64 %tmp.i, 32 ; <i64> [#uses=1]
+ %this129 = getelementptr i8* %.nest_arg, i32 64 ; <i8*> [#uses=1]
+ %29 = bitcast i8* %this129 to %"tango.text.Regex.TNFA!(dchar).TNFA"** ; <%"tango.text.Regex.TNFA!(dchar).TNFA"**> [#uses=1]
+ %tmp130 = load %"tango.text.Regex.TNFA!(dchar).TNFA"** %29 ; <%"tango.text.Regex.TNFA!(dchar).TNFA"*> [#uses=1]
+ %frags132 = getelementptr i8* %.nest_arg, i32 4 ; <i8*> [#uses=1]
+ %30 = bitcast i8* %frags132 to %"tango.text.Regex.List!(TNFAFragment).List"** ; <%"tango.text.Regex.List!(TNFAFragment).List"**> [#uses=1]
+ %tmp133 = load %"tango.text.Regex.List!(TNFAFragment).List"** %30 ; <%"tango.text.Regex.List!(TNFAFragment).List"*> [#uses=1]
+ %tmp347 = trunc i64 %sroa.store.elt456 to i32 ; <i32> [#uses=1]
+ %tmp344 = trunc i64 %tmp.i to i32 ; <i32> [#uses=1]
+ call fastcc void @_D5tango4text5Regex11__T4TNFATwZ4TNFA14constructOccurMFC5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4ListkkE5tango4text5Regex13PriorityClassZv(%"tango.text.Regex.TNFA!(dchar).TNFA"* %tmp130, %"tango.text.Regex.List!(TNFAFragment).List"* %tmp133, i32 %tmp347, i32 %tmp344, i32 0)
+ br label %switchend33
+
+case142: ; preds = %case30
+ %occurStack145 = getelementptr i8* %.nest_arg, i32 32 ; <i8*> [#uses=1]
+ %tmp3.i446 = bitcast i8* %occurStack145 to i32* ; <i32*> [#uses=2]
+ %tmp6.i447 = load i32* %tmp3.i446 ; <i32> [#uses=1]
+ %tmp7.i448 = add i32 %tmp6.i447, -1 ; <i32> [#uses=2]
+ store i32 %tmp7.i448, i32* %tmp3.i446
+ %tmp8.i449 = getelementptr i8* %.nest_arg, i32 40 ; <i8*> [#uses=1]
+ %31 = bitcast i8* %tmp8.i449 to %tango.net.Socket.timeval** ; <%tango.net.Socket.timeval**> [#uses=1]
+ %.ptr.i450 = load %tango.net.Socket.timeval** %31 ; <%tango.net.Socket.timeval*> [#uses=1]
+ %tmp9.i451 = getelementptr %tango.net.Socket.timeval* %.ptr.i450, i32 %tmp7.i448 ; <%tango.net.Socket.timeval*> [#uses=1]
+ %tmp1112.i452 = bitcast %tango.net.Socket.timeval* %tmp9.i451 to i64* ; <i64*> [#uses=1]
+ %tmp.i454 = load i64* %tmp1112.i452, align 1 ; <i64> [#uses=2]
+ %sroa.store.elt = lshr i64 %tmp.i454, 32 ; <i64> [#uses=1]
+ %this150 = getelementptr i8* %.nest_arg, i32 64 ; <i8*> [#uses=1]
+ %32 = bitcast i8* %this150 to %"tango.text.Regex.TNFA!(dchar).TNFA"** ; <%"tango.text.Regex.TNFA!(dchar).TNFA"**> [#uses=1]
+ %tmp151 = load %"tango.text.Regex.TNFA!(dchar).TNFA"** %32 ; <%"tango.text.Regex.TNFA!(dchar).TNFA"*> [#uses=1]
+ %frags153 = getelementptr i8* %.nest_arg, i32 4 ; <i8*> [#uses=1]
+ %33 = bitcast i8* %frags153 to %"tango.text.Regex.List!(TNFAFragment).List"** ; <%"tango.text.Regex.List!(TNFAFragment).List"**> [#uses=1]
+ %tmp154 = load %"tango.text.Regex.List!(TNFAFragment).List"** %33 ; <%"tango.text.Regex.List!(TNFAFragment).List"*> [#uses=1]
+ %tmp342 = trunc i64 %sroa.store.elt to i32 ; <i32> [#uses=1]
+ %tmp339 = trunc i64 %tmp.i454 to i32 ; <i32> [#uses=1]
+ call fastcc void @_D5tango4text5Regex11__T4TNFATwZ4TNFA14constructOccurMFC5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4ListkkE5tango4text5Regex13PriorityClassZv(%"tango.text.Regex.TNFA!(dchar).TNFA"* %tmp151, %"tango.text.Regex.List!(TNFAFragment).List"* %tmp154, i32 %tmp342, i32 %tmp339, i32 2)
+ br label %switchend33
+
+default163: ; preds = %case30
+ %.newclass_gc_alloc = call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex15RegExpException7__ClassZ) ; <i8*> [#uses=5]
+ %.newclass_gc = bitcast i8* %.newclass_gc_alloc to %object.Exception* ; <%object.Exception*> [#uses=1]
+ %vtbl = bitcast i8* %.newclass_gc_alloc to %object.Exception.__vtbl** ; <%object.Exception.__vtbl**> [#uses=1]
+ store %object.Exception.__vtbl* @_D5tango4text5Regex15RegExpException6__vtblZ, %object.Exception.__vtbl** %vtbl
+ %monitor = getelementptr i8* %.newclass_gc_alloc, i32 4 ; <i8*> [#uses=1]
+ %34 = bitcast i8* %monitor to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %34
+ %tmp164 = getelementptr i8* %.newclass_gc_alloc, i32 8 ; <i8*> [#uses=1]
+ call void @llvm.memcpy.i32(i8* %tmp164, i8* bitcast (%"byte[]"* getelementptr (%object.Exception* bitcast (%28* @_D5tango4text5Regex15RegExpException6__initZ to %object.Exception*), i32 0, i32 2) to i8*), i32 28, i32 1)
+ %this169 = getelementptr i8* %.nest_arg, i32 64 ; <i8*> [#uses=1]
+ %35 = bitcast i8* %this169 to %"tango.text.Regex.TNFA!(dchar).TNFA"** ; <%"tango.text.Regex.TNFA!(dchar).TNFA"**> [#uses=1]
+ %tmp170 = load %"tango.text.Regex.TNFA!(dchar).TNFA"** %35 ; <%"tango.text.Regex.TNFA!(dchar).TNFA"*> [#uses=3]
+ %tmp172 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %tmp170, i32 0, i32 2, i32 1 ; <i32**> [#uses=1]
+ %.ptr173 = load i32** %tmp172 ; <i32*> [#uses=1]
+ %tmp177 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %tmp170, i32 0, i32 7 ; <i32*> [#uses=1]
+ %tmp178 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %tmp170, i32 0, i32 2, i32 0 ; <i32*> [#uses=1]
+ %.len = load i32* %tmp178 ; <i32> [#uses=1]
+ %tmp179 = load i32* %tmp177 ; <i32> [#uses=2]
+ %tmp180 = getelementptr i32* %.ptr173, i32 %tmp179 ; <i32*> [#uses=1]
+ %tmp181 = sub i32 %.len, %tmp179 ; <i32> [#uses=1]
+ %tmp182 = insertvalue %"Act[]" undef, i32 %tmp181, 0 ; <%"Act[]"> [#uses=1]
+ %tmp183 = insertvalue %"Act[]" %tmp182, i32* %tmp180, 1 ; <%"Act[]"> [#uses=1]
+ %tmp184 = call fastcc %"byte[]" @_D5tango4text7convert3Utf8toStringFAwAaPkZAa(%"Act[]" %tmp183, %"byte[]" zeroinitializer, i32* null) ; <%"byte[]"> [#uses=2]
+ %.len185 = extractvalue %"byte[]" %tmp184, 0 ; <i32> [#uses=4]
+ %tmp186 = add i32 %.len185, 27 ; <i32> [#uses=3]
+ %.nongc_mem = alloca i8, i32 %tmp186, align 1 ; <i8*> [#uses=3]
+ %.ptr187 = extractvalue %"byte[]" %tmp184, 1 ; <i8*> [#uses=1]
+ call void @llvm.memcpy.i32(i8* %.nongc_mem, i8* getelementptr ([28 x i8]* @.str211, i32 0, i32 0), i32 27, i32 1)
+ %tmp188 = getelementptr i8* %.nongc_mem, i32 27 ; <i8*> [#uses=1]
+ call void @llvm.memcpy.i32(i8* %tmp188, i8* %.ptr187, i32 %.len185, i32 1)
+ %tmp190 = add i32 %.len185, 28 ; <i32> [#uses=2]
+ %.nongc_mem459 = alloca i8, i32 %tmp190, align 1 ; <i8*> [#uses=3]
+ call void @llvm.memcpy.i32(i8* %.nongc_mem459, i8* %.nongc_mem, i32 %tmp186, i32 1)
+ %tmp193 = getelementptr i8* %.nongc_mem459, i32 %tmp186 ; <i8*> [#uses=1]
+ store i8 34, i8* %tmp193, align 1
+ %tmp2.i438 = add i32 %.len185, 36 ; <i32> [#uses=2]
+ %.gc_mem.i439 = call noalias i8* @_d_newarrayvT(%object.TypeInfo* @_D11TypeInfo_Aa6__initZ, i32 %tmp2.i438) ; <i8*> [#uses=3]
+ %.gc_mem12.i440 = bitcast i8* %.gc_mem.i439 to i64* ; <i64*> [#uses=1]
+ %tmp.i441 = load i64* bitcast ([9 x i8]* @.str280 to i64*), align 8 ; <i64> [#uses=1]
+ store i64 %tmp.i441, i64* %.gc_mem12.i440, align 1
+ %tmp4.i442 = getelementptr i8* %.gc_mem.i439, i32 8 ; <i8*> [#uses=1]
+ call void @llvm.memcpy.i32(i8* %tmp4.i442, i8* %.nongc_mem459, i32 %tmp190, i32 1)
+ %tmp6.i443 = insertvalue %"byte[]" undef, i32 %tmp2.i438, 0 ; <%"byte[]"> [#uses=1]
+ %tmp7.i444 = insertvalue %"byte[]" %tmp6.i443, i8* %.gc_mem.i439, 1 ; <%"byte[]"> [#uses=1]
+ %tmp8.i445 = call fastcc %object.Exception* @_D6object9Exception5_ctorMFAaC9ExceptionZC9Exception(%object.Exception* %.newclass_gc, %"byte[]" %tmp7.i444, %object.Exception* null) ; <%object.Exception*> [#uses=0]
+ %tmp197 = bitcast i8* %.newclass_gc_alloc to %object.Object* ; <%object.Object*> [#uses=1]
+ call void @_d_throw_exception(%object.Object* %tmp197)
+ unreachable
+
+switchend33: ; preds = %case142, %case124, %case116, %case108, %case100, %case92, %case84, %case76, %case68, %case60, %case52, %case44, %case37
+ %tmp6.i430 = load i32* %tmp3.i ; <i32> [#uses=1]
+ %tmp7.i431 = add i32 %tmp6.i430, -1 ; <i32> [#uses=1]
+ store i32 %tmp7.i431, i32* %tmp3.i
+ %tmp202 = call fastcc i1 @_D5tango4text5Regex11__T4TNFATwZ4TNFA5parseMFbZv7performMFE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorbZb(i8* %.nest_arg, i32 %next_op_arg, i1 false) ; <i1> [#uses=0]
+ ret i1 false
+
+case204: ; preds = %entry
+ store i32 %tmp5.i, i32* %tmp3.i
+ ret i1 false
+
+case209: ; preds = %entry
+ %tmp213 = icmp eq i32 %tmp8.i, 3 ; <i1> [#uses=1]
+ br i1 %tmp213, label %if214, label %else
+
+if214: ; preds = %case209
+ %tagStack217 = getelementptr i8* %.nest_arg, i32 20 ; <i8*> [#uses=1]
+ %tmp1.i409 = bitcast i8* %tagStack217 to i32* ; <i32*> [#uses=3]
+ %tmp2.i410 = load i32* %tmp1.i409 ; <i32> [#uses=2]
+ %tmp3.i411 = icmp eq i32 %tmp2.i410, 0 ; <i1> [#uses=1]
+ br i1 %tmp3.i411, label %if219, label %endif220
+
+if219: ; preds = %if214
+ %.newclass_gc_alloc221 = call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex15RegExpException7__ClassZ) ; <i8*> [#uses=5]
+ %.newclass_gc222 = bitcast i8* %.newclass_gc_alloc221 to %object.Exception* ; <%object.Exception*> [#uses=1]
+ %vtbl223 = bitcast i8* %.newclass_gc_alloc221 to %object.Exception.__vtbl** ; <%object.Exception.__vtbl**> [#uses=1]
+ store %object.Exception.__vtbl* @_D5tango4text5Regex15RegExpException6__vtblZ, %object.Exception.__vtbl** %vtbl223
+ %monitor224 = getelementptr i8* %.newclass_gc_alloc221, i32 4 ; <i8*> [#uses=1]
+ %36 = bitcast i8* %monitor224 to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %36
+ %tmp225 = getelementptr i8* %.newclass_gc_alloc221, i32 8 ; <i8*> [#uses=1]
+ call void @llvm.memcpy.i32(i8* %tmp225, i8* bitcast (%"byte[]"* getelementptr (%object.Exception* bitcast (%28* @_D5tango4text5Regex15RegExpException6__initZ to %object.Exception*), i32 0, i32 2) to i8*), i32 28, i32 1)
+ %layout = bitcast i8* %.nest_arg to %"tango.text.convert.Layout.Layout!(char).Layout"** ; <%"tango.text.convert.Layout.Layout!(char).Layout"**> [#uses=1]
+ %tmp230 = load %"tango.text.convert.Layout.Layout!(char).Layout"** %layout ; <%"tango.text.convert.Layout.Layout!(char).Layout"*> [#uses=1]
+ %tmp231 = getelementptr %35* %_argptr_storage, i32 0, i32 0 ; <i32*> [#uses=1]
+ %this233 = getelementptr i8* %.nest_arg, i32 64 ; <i8*> [#uses=1]
+ %37 = bitcast i8* %this233 to %"tango.text.Regex.TNFA!(dchar).TNFA"** ; <%"tango.text.Regex.TNFA!(dchar).TNFA"**> [#uses=1]
+ %tmp234 = load %"tango.text.Regex.TNFA!(dchar).TNFA"** %37 ; <%"tango.text.Regex.TNFA!(dchar).TNFA"*> [#uses=3]
+ %tmp235 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %tmp234, i32 0, i32 7 ; <i32*> [#uses=2]
+ %tmp236 = load i32* %tmp235 ; <i32> [#uses=1]
+ store i32 %tmp236, i32* %tmp231, align 8
+ %tmp237 = getelementptr %35* %_argptr_storage, i32 0, i32 1 ; <%"byte[]"*> [#uses=1]
+ %tmp242 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %tmp234, i32 0, i32 2, i32 1 ; <i32**> [#uses=1]
+ %.ptr243 = load i32** %tmp242 ; <i32*> [#uses=1]
+ %tmp248 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %tmp234, i32 0, i32 2, i32 0 ; <i32*> [#uses=1]
+ %.len249 = load i32* %tmp248 ; <i32> [#uses=1]
+ %tmp250 = load i32* %tmp235 ; <i32> [#uses=2]
+ %tmp251 = getelementptr i32* %.ptr243, i32 %tmp250 ; <i32*> [#uses=1]
+ %tmp252 = sub i32 %.len249, %tmp250 ; <i32> [#uses=1]
+ %tmp253 = insertvalue %"Act[]" undef, i32 %tmp252, 0 ; <%"Act[]"> [#uses=1]
+ %tmp254 = insertvalue %"Act[]" %tmp253, i32* %tmp251, 1 ; <%"Act[]"> [#uses=1]
+ %tmp255 = call fastcc %"byte[]" @_D5tango4text7convert3Utf8toStringFAwAaPkZAa(%"Act[]" %tmp254, %"byte[]" zeroinitializer, i32* null) ; <%"byte[]"> [#uses=1]
+ store %"byte[]" %tmp255, %"byte[]"* %tmp237
+ %tmp257 = bitcast %35* %_argptr_storage to i8* ; <i8*> [#uses=1]
+ %tmp4.i408 = call fastcc %"byte[]" @_D5tango4text7convert6Layout13__T6LayoutTaZ6Layout7convertMFAC8TypeInfoPvAaZAa(%"tango.text.convert.Layout.Layout!(char).Layout"* %tmp230, %"TypeInfo[]" { i32 2, %object.TypeInfo** getelementptr ([2 x %object.TypeInfo*]* @._arguments.storage, i32 0, i32 0) }, i8* %tmp257, %"byte[]" { i32 67, i8* getelementptr ([68 x i8]* @.str213, i32 0, i32 0) }) ; <%"byte[]"> [#uses=2]
+ %msg_arg10.i = extractvalue %"byte[]" %tmp4.i408, 0 ; <i32> [#uses=2]
+ %msg_arg11.i = extractvalue %"byte[]" %tmp4.i408, 1 ; <i8*> [#uses=1]
+ %tmp2.i = add i32 %msg_arg10.i, 8 ; <i32> [#uses=2]
+ %.gc_mem.i402 = call noalias i8* @_d_newarrayvT(%object.TypeInfo* @_D11TypeInfo_Aa6__initZ, i32 %tmp2.i) ; <i8*> [#uses=3]
+ %.gc_mem12.i = bitcast i8* %.gc_mem.i402 to i64* ; <i64*> [#uses=1]
+ %tmp.i403 = load i64* bitcast ([9 x i8]* @.str280 to i64*), align 8 ; <i64> [#uses=1]
+ store i64 %tmp.i403, i64* %.gc_mem12.i, align 1
+ %tmp4.i404 = getelementptr i8* %.gc_mem.i402, i32 8 ; <i8*> [#uses=1]
+ call void @llvm.memcpy.i32(i8* %tmp4.i404, i8* %msg_arg11.i, i32 %msg_arg10.i, i32 1)
+ %tmp6.i405 = insertvalue %"byte[]" undef, i32 %tmp2.i, 0 ; <%"byte[]"> [#uses=1]
+ %tmp7.i406 = insertvalue %"byte[]" %tmp6.i405, i8* %.gc_mem.i402, 1 ; <%"byte[]"> [#uses=1]
+ %tmp8.i407 = call fastcc %object.Exception* @_D6object9Exception5_ctorMFAaC9ExceptionZC9Exception(%object.Exception* %.newclass_gc222, %"byte[]" %tmp7.i406, %object.Exception* null) ; <%object.Exception*> [#uses=0]
+ %tmp260 = bitcast i8* %.newclass_gc_alloc221 to %object.Object* ; <%object.Object*> [#uses=1]
+ call void @_d_throw_exception(%object.Object* %tmp260)
+ unreachable
+
+endif220: ; preds = %if214
+ %this263 = getelementptr i8* %.nest_arg, i32 64 ; <i8*> [#uses=1]
+ %38 = bitcast i8* %this263 to %"tango.text.Regex.TNFA!(dchar).TNFA"** ; <%"tango.text.Regex.TNFA!(dchar).TNFA"**> [#uses=1]
+ %tmp264 = load %"tango.text.Regex.TNFA!(dchar).TNFA"** %38 ; <%"tango.text.Regex.TNFA!(dchar).TNFA"*> [#uses=1]
+ %frags266 = getelementptr i8* %.nest_arg, i32 4 ; <i8*> [#uses=1]
+ %39 = bitcast i8* %frags266 to %"tango.text.Regex.List!(TNFAFragment).List"** ; <%"tango.text.Regex.List!(TNFAFragment).List"**> [#uses=1]
+ %tmp267 = load %"tango.text.Regex.List!(TNFAFragment).List"** %39 ; <%"tango.text.Regex.List!(TNFAFragment).List"*> [#uses=1]
+ %tmp5.i397 = add i32 %tmp2.i410, -1 ; <i32> [#uses=1]
+ %tmp6.i398 = getelementptr i8* %.nest_arg, i32 28 ; <i8*> [#uses=1]
+ %40 = bitcast i8* %tmp6.i398 to i32** ; <i32**> [#uses=1]
+ %.ptr.i399 = load i32** %40 ; <i32*> [#uses=1]
+ %tmp7.i400 = getelementptr i32* %.ptr.i399, i32 %tmp5.i397 ; <i32*> [#uses=1]
+ %tmp8.i401 = load i32* %tmp7.i400 ; <i32> [#uses=1]
+ call fastcc void @_D5tango4text5Regex11__T4TNFATwZ4TNFA16constructBracketMFC5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4ListkZv(%"tango.text.Regex.TNFA!(dchar).TNFA"* %tmp264, %"tango.text.Regex.List!(TNFAFragment).List"* %tmp267, i32 %tmp8.i401)
+ %tmp6.i383 = load i32* %tmp1.i409 ; <i32> [#uses=1]
+ %tmp7.i384 = add i32 %tmp6.i383, -1 ; <i32> [#uses=1]
+ store i32 %tmp7.i384, i32* %tmp1.i409
+ br label %endif215
+
+else: ; preds = %case209
+ %this275 = getelementptr i8* %.nest_arg, i32 64 ; <i8*> [#uses=1]
+ %41 = bitcast i8* %this275 to %"tango.text.Regex.TNFA!(dchar).TNFA"** ; <%"tango.text.Regex.TNFA!(dchar).TNFA"**> [#uses=1]
+ %tmp276 = load %"tango.text.Regex.TNFA!(dchar).TNFA"** %41 ; <%"tango.text.Regex.TNFA!(dchar).TNFA"*> [#uses=1]
+ %frags278 = getelementptr i8* %.nest_arg, i32 4 ; <i8*> [#uses=1]
+ %42 = bitcast i8* %frags278 to %"tango.text.Regex.List!(TNFAFragment).List"** ; <%"tango.text.Regex.List!(TNFAFragment).List"**> [#uses=1]
+ %tmp279 = load %"tango.text.Regex.List!(TNFAFragment).List"** %42 ; <%"tango.text.Regex.List!(TNFAFragment).List"*> [#uses=1]
+ call fastcc void @_D5tango4text5Regex11__T4TNFATwZ4TNFA16constructBracketMFC5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4ListkZv(%"tango.text.Regex.TNFA!(dchar).TNFA"* %tmp276, %"tango.text.Regex.List!(TNFAFragment).List"* %tmp279, i32 0)
+ br label %endif215
+
+endif215: ; preds = %else, %endif220
+ %tmp6.i356 = load i32* %tmp3.i ; <i32> [#uses=1]
+ %tmp7.i357 = add i32 %tmp6.i356, -1 ; <i32> [#uses=1]
+ store i32 %tmp7.i357, i32* %tmp3.i
+ ret i1 false
+
+case284: ; preds = %entry
+ ret i1 true
+
+default286: ; preds = %entry
+ %.newclass_gc_alloc287 = call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex15RegExpException7__ClassZ) ; <i8*> [#uses=5]
+ %.newclass_gc288 = bitcast i8* %.newclass_gc_alloc287 to %object.Exception* ; <%object.Exception*> [#uses=1]
+ %vtbl289 = bitcast i8* %.newclass_gc_alloc287 to %object.Exception.__vtbl** ; <%object.Exception.__vtbl**> [#uses=1]
+ store %object.Exception.__vtbl* @_D5tango4text5Regex15RegExpException6__vtblZ, %object.Exception.__vtbl** %vtbl289
+ %monitor290 = getelementptr i8* %.newclass_gc_alloc287, i32 4 ; <i8*> [#uses=1]
+ %43 = bitcast i8* %monitor290 to i8** ; <i8**> [#uses=1]
+ store i8* null, i8** %43
+ %tmp291 = getelementptr i8* %.newclass_gc_alloc287, i32 8 ; <i8*> [#uses=1]
+ call void @llvm.memcpy.i32(i8* %tmp291, i8* bitcast (%"byte[]"* getelementptr (%object.Exception* bitcast (%28* @_D5tango4text5Regex15RegExpException6__initZ to %object.Exception*), i32 0, i32 2) to i8*), i32 28, i32 1)
+ %layout296 = bitcast i8* %.nest_arg to %"tango.text.convert.Layout.Layout!(char).Layout"** ; <%"tango.text.convert.Layout.Layout!(char).Layout"**> [#uses=1]
+ %tmp297 = load %"tango.text.convert.Layout.Layout!(char).Layout"** %layout296 ; <%"tango.text.convert.Layout.Layout!(char).Layout"*> [#uses=1]
+ %tmp299 = getelementptr %nest.parseListLine* %_argptr_storage298, i32 0, i32 0 ; <i32*> [#uses=1]
+ %this301 = getelementptr i8* %.nest_arg, i32 64 ; <i8*> [#uses=1]
+ %44 = bitcast i8* %this301 to %"tango.text.Regex.TNFA!(dchar).TNFA"** ; <%"tango.text.Regex.TNFA!(dchar).TNFA"**> [#uses=2]
+ %tmp302 = load %"tango.text.Regex.TNFA!(dchar).TNFA"** %44 ; <%"tango.text.Regex.TNFA!(dchar).TNFA"*> [#uses=3]
+ %tmp303 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %tmp302, i32 0, i32 7 ; <i32*> [#uses=2]
+ %tmp304 = load i32* %tmp303 ; <i32> [#uses=1]
+ store i32 %tmp304, i32* %tmp299, align 8
+ %tmp305 = getelementptr %nest.parseListLine* %_argptr_storage298, i32 0, i32 1 ; <%"byte[]"*> [#uses=1]
+ %tmp310 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %tmp302, i32 0, i32 2, i32 1 ; <i32**> [#uses=1]
+ %.ptr311 = load i32** %tmp310 ; <i32*> [#uses=1]
+ %tmp316 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %tmp302, i32 0, i32 2, i32 0 ; <i32*> [#uses=1]
+ %.len317 = load i32* %tmp316 ; <i32> [#uses=1]
+ %tmp318 = load i32* %tmp303 ; <i32> [#uses=2]
+ %tmp319 = getelementptr i32* %.ptr311, i32 %tmp318 ; <i32*> [#uses=1]
+ %tmp320 = sub i32 %.len317, %tmp318 ; <i32> [#uses=1]
+ %tmp321 = insertvalue %"Act[]" undef, i32 %tmp320, 0 ; <%"Act[]"> [#uses=1]
+ %tmp322 = insertvalue %"Act[]" %tmp321, i32* %tmp319, 1 ; <%"Act[]"> [#uses=1]
+ %tmp323 = call fastcc %"byte[]" @_D5tango4text7convert3Utf8toStringFAwAaPkZAa(%"Act[]" %tmp322, %"byte[]" zeroinitializer, i32* null) ; <%"byte[]"> [#uses=1]
+ store %"byte[]" %tmp323, %"byte[]"* %tmp305
+ %tmp324 = getelementptr %nest.parseListLine* %_argptr_storage298, i32 0, i32 2 ; <%"byte[]"*> [#uses=1]
+ %tmp327 = load %"tango.text.Regex.TNFA!(dchar).TNFA"** %44 ; <%"tango.text.Regex.TNFA!(dchar).TNFA"*> [#uses=1]
+ %tmp328 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %tmp327, i32 0, i32 2 ; <%"Act[]"*> [#uses=1]
+ %tmp329 = load %"Act[]"* %tmp328 ; <%"Act[]"> [#uses=1]
+ %tmp330 = call fastcc %"byte[]" @_D5tango4text7convert3Utf8toStringFAwAaPkZAa(%"Act[]" %tmp329, %"byte[]" zeroinitializer, i32* null) ; <%"byte[]"> [#uses=1]
+ store %"byte[]" %tmp330, %"byte[]"* %tmp324
+ %tmp332 = bitcast %nest.parseListLine* %_argptr_storage298 to i8* ; <i8*> [#uses=1]
+ %tmp4.i354 = call fastcc %"byte[]" @_D5tango4text7convert6Layout13__T6LayoutTaZ6Layout7convertMFAC8TypeInfoPvAaZAa(%"tango.text.convert.Layout.Layout!(char).Layout"* %tmp297, %"TypeInfo[]" { i32 3, %object.TypeInfo** getelementptr ([3 x %object.TypeInfo*]* @._arguments.storage214, i32 0, i32 0) }, i8* %tmp332, %"byte[]" { i32 42, i8* getelementptr ([43 x i8]* @.str216, i32 0, i32 0) }) ; <%"byte[]"> [#uses=2]
+ %msg_arg10.i419 = extractvalue %"byte[]" %tmp4.i354, 0 ; <i32> [#uses=2]
+ %msg_arg11.i420 = extractvalue %"byte[]" %tmp4.i354, 1 ; <i8*> [#uses=1]
+ %tmp2.i421 = add i32 %msg_arg10.i419, 8 ; <i32> [#uses=2]
+ %.gc_mem.i422 = call noalias i8* @_d_newarrayvT(%object.TypeInfo* @_D11TypeInfo_Aa6__initZ, i32 %tmp2.i421) ; <i8*> [#uses=3]
+ %.gc_mem12.i423 = bitcast i8* %.gc_mem.i422 to i64* ; <i64*> [#uses=1]
+ %tmp.i424 = load i64* bitcast ([9 x i8]* @.str280 to i64*), align 8 ; <i64> [#uses=1]
+ store i64 %tmp.i424, i64* %.gc_mem12.i423, align 1
+ %tmp4.i425 = getelementptr i8* %.gc_mem.i422, i32 8 ; <i8*> [#uses=1]
+ call void @llvm.memcpy.i32(i8* %tmp4.i425, i8* %msg_arg11.i420, i32 %msg_arg10.i419, i32 1)
+ %tmp6.i426 = insertvalue %"byte[]" undef, i32 %tmp2.i421, 0 ; <%"byte[]"> [#uses=1]
+ %tmp7.i427 = insertvalue %"byte[]" %tmp6.i426, i8* %.gc_mem.i422, 1 ; <%"byte[]"> [#uses=1]
+ %tmp8.i428 = call fastcc %object.Exception* @_D6object9Exception5_ctorMFAaC9ExceptionZC9Exception(%object.Exception* %.newclass_gc288, %"byte[]" %tmp7.i427, %object.Exception* null) ; <%object.Exception*> [#uses=0]
+ %tmp335 = bitcast i8* %.newclass_gc_alloc287 to %object.Object* ; <%object.Object*> [#uses=1]
+ call void @_d_throw_exception(%object.Object* %tmp335)
+ unreachable
+
+switchend: ; preds = %_D5tango4text5Regex56__T5StackTE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorZ5Stack4pushMFE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorZv.exit
+ ret i1 false
+}
+
+declare fastcc %"byte[]" @_D5tango4text7convert3Utf8toStringFAwAaPkZAa(%"Act[]", %"byte[]", i32*)
+
+define weak_odr fastcc i32 @_D5tango4text5Regex11__T4TNFATwZ4TNFA5parseMFbZv15__foreachbody44MFKC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZi(i8* nocapture %.nest_arg, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"** nocapture %__applyArg0_arg) {
+entry:
+ %tmp = load %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"** %__applyArg0_arg ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*> [#uses=3]
+ %tmp2 = getelementptr %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %tmp, i32 0, i32 0 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"**> [#uses=2]
+ %tmp3 = load %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"** %tmp2 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"*> [#uses=1]
+ %"f.setExit@vtbl" = getelementptr %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"* %tmp3, i32 0, i32 6 ; <void (%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*, %"tango.text.Regex.TNFAState!(dchar).TNFAState"*)**> [#uses=1]
+ %f.setExit = load void (%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*, %"tango.text.Regex.TNFAState!(dchar).TNFAState"*)** %"f.setExit@vtbl", align 4 ; <void (%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*, %"tango.text.Regex.TNFAState!(dchar).TNFAState"*)*> [#uses=1]
+ %finish = getelementptr i8* %.nest_arg, i32 44 ; <i8*> [#uses=1]
+ %0 = bitcast i8* %finish to %"tango.text.Regex.TNFAState!(dchar).TNFAState"** ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"**> [#uses=1]
+ %tmp6 = load %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %0 ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"*> [#uses=1]
+ tail call fastcc void %f.setExit(%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %tmp, %"tango.text.Regex.TNFAState!(dchar).TNFAState"* %tmp6)
+ %tmp9 = load %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"** %tmp2 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"*> [#uses=1]
+ %"f.setEntry@vtbl" = getelementptr %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"* %tmp9, i32 0, i32 5 ; <void (%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*, %"tango.text.Regex.TNFAState!(dchar).TNFAState"*)**> [#uses=1]
+ %f.setEntry = load void (%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*, %"tango.text.Regex.TNFAState!(dchar).TNFAState"*)** %"f.setEntry@vtbl", align 4 ; <void (%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*, %"tango.text.Regex.TNFAState!(dchar).TNFAState"*)*> [#uses=1]
+ %this = getelementptr i8* %.nest_arg, i32 64 ; <i8*> [#uses=1]
+ %1 = bitcast i8* %this to %"tango.text.Regex.TNFA!(dchar).TNFA"** ; <%"tango.text.Regex.TNFA!(dchar).TNFA"**> [#uses=1]
+ %tmp12 = load %"tango.text.Regex.TNFA!(dchar).TNFA"** %1 ; <%"tango.text.Regex.TNFA!(dchar).TNFA"*> [#uses=1]
+ %tmp13 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %tmp12, i32 0, i32 4 ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"**> [#uses=1]
+ %tmp14 = load %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %tmp13 ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"*> [#uses=1]
+ tail call fastcc void %f.setEntry(%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %tmp, %"tango.text.Regex.TNFAState!(dchar).TNFAState"* %tmp14)
+ ret i32 0
+}
+
+define weak_odr fastcc i32 @_D5tango4text5Regex11__T4TNFATwZ4TNFA5parseMFbZv15__foreachbody45MFKC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZi(i8* nocapture %.nest_arg, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** nocapture %__applyArg0_arg) {
+entry:
+ %tmp = load %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** %__applyArg0_arg ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*> [#uses=1]
+ %todo = getelementptr i8* %.nest_arg, i32 48 ; <i8*> [#uses=1]
+ %tmp1.i = bitcast i8* %todo to i32* ; <i32*> [#uses=4]
+ %tmp4.i = getelementptr i8* %.nest_arg, i32 52 ; <i8*> [#uses=1]
+ %0 = bitcast i8* %tmp4.i to i32* ; <i32*> [#uses=2]
+ %.len.i = load i32* %0 ; <i32> [#uses=3]
+ %tmp5.i = load i32* %tmp1.i ; <i32> [#uses=2]
+ %tmp6.i = icmp ult i32 %tmp5.i, %.len.i ; <i1> [#uses=1]
+ br i1 %tmp6.i, label %entry.endif_crit_edge.i, label %if.i
+
+entry.endif_crit_edge.i: ; preds = %entry
+ %tmp26.pre.i = getelementptr i8* %.nest_arg, i32 56 ; <i8*> [#uses=1]
+ %1 = bitcast i8* %tmp26.pre.i to %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*** ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"***> [#uses=1]
+ %.ptr27.i.pre = load %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*** %1 ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"**> [#uses=1]
+ br label %_D5tango4text5Regex69__T5StackTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ5Stack4pushMFC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZv.exit
+
+if.i: ; preds = %entry
+ %tmp13.i = shl i32 %.len.i, 1 ; <i32> [#uses=1]
+ %tmp1437.i = or i32 %tmp13.i, 1 ; <i32> [#uses=2]
+ %tmp17.i = getelementptr i8* %.nest_arg, i32 56 ; <i8*> [#uses=1]
+ %2 = bitcast i8* %tmp17.i to %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*** ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"***> [#uses=2]
+ %.ptr.i = load %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*** %2 ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"**> [#uses=1]
+ %tmp18.i = bitcast %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** %.ptr.i to i8* ; <i8*> [#uses=1]
+ %.gc_mem.i = tail call i8* @_d_arraysetlengthT(%object.TypeInfo* bitcast (%object.TypeInfo_Array* @_D68TypeInfo_AC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransition6__initZ to %object.TypeInfo*), i32 %tmp1437.i, i32 %.len.i, i8* %tmp18.i) ; <i8*> [#uses=1]
+ %.gc_mem19.i = bitcast i8* %.gc_mem.i to %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"**> [#uses=2]
+ store i32 %tmp1437.i, i32* %0
+ store %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** %.gc_mem19.i, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*** %2
+ %tmp28.pre.i = load i32* %tmp1.i ; <i32> [#uses=1]
+ br label %_D5tango4text5Regex69__T5StackTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ5Stack4pushMFC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZv.exit
+
+_D5tango4text5Regex69__T5StackTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ5Stack4pushMFC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZv.exit: ; preds = %if.i, %entry.endif_crit_edge.i
+ %.ptr27.i = phi %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** [ %.ptr27.i.pre, %entry.endif_crit_edge.i ], [ %.gc_mem19.i, %if.i ] ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"**> [#uses=1]
+ %tmp28.i = phi i32 [ %tmp5.i, %entry.endif_crit_edge.i ], [ %tmp28.pre.i, %if.i ] ; <i32> [#uses=1]
+ %tmp29.i = getelementptr %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** %.ptr27.i, i32 %tmp28.i ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"**> [#uses=1]
+ store %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %tmp, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** %tmp29.i
+ %tmp35.i = load i32* %tmp1.i ; <i32> [#uses=1]
+ %tmp36.i = add i32 %tmp35.i, 1 ; <i32> [#uses=1]
+ store i32 %tmp36.i, i32* %tmp1.i
+ ret i32 0
+}
+
+define weak_odr fastcc i32 @_D5tango4text5Regex11__T4TNFATwZ4TNFA5parseMFbZv15__foreachbody46MFKC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZi(i8* nocapture %.nest_arg, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** nocapture %__applyArg0_arg) nounwind {
+entry:
+ %tmp = load %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** %__applyArg0_arg ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*> [#uses=1]
+ %tmp2 = getelementptr %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %tmp, i32 0, i32 4 ; <i32*> [#uses=1]
+ %nextPrio = getelementptr i8* %.nest_arg, i32 60 ; <i8*> [#uses=1]
+ %0 = bitcast i8* %nextPrio to i32* ; <i32*> [#uses=2]
+ %tmp4 = load i32* %0 ; <i32> [#uses=2]
+ %tmp5 = add i32 %tmp4, 1 ; <i32> [#uses=1]
+ store i32 %tmp5, i32* %0
+ store i32 %tmp4, i32* %tmp2
+ ret i32 0
+}
+
+declare fastcc i32 @_D5tango4text5Regex6decodeFAwKkZw(%"Act[]", i32*)
+
+declare i8* @_d_arraysetlengthT(%object.TypeInfo*, i32, i32, i8*)
+
+define weak_odr fastcc i32 @_D5tango4text5Regex11__T4TNFATwZ4TNFA5cloneMFC5tango4text5Regex16__T9TNFAStateTwZ9TNFAStateZC5tango4text5Regex16__T9TNFAStateTwZ9TNFAState15__foreachbody47MFKC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZi(i8* nocapture %.nest_arg, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** nocapture %__applyArg0_arg) {
+entry:
+ %tmp = load %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** %__applyArg0_arg ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*> [#uses=1]
+ %s2 = bitcast i8* %.nest_arg to %"tango.text.Regex.TNFAState!(dchar).TNFAState"** ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"**> [#uses=1]
+ %tmp2 = load %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %s2 ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"*> [#uses=1]
+ %tmp3 = getelementptr %"tango.text.Regex.TNFAState!(dchar).TNFAState"* %tmp2, i32 0, i32 5 ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
+ %tmp4 = load %"tango.text.Regex.List!(TNFATransition).List"** %tmp3 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
+ %tmp5 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp4, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ %tmp6 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp5 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
+ %"s2.transitions.opCatAssign@vtbl" = getelementptr %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* %tmp6, i32 0, i32 5 ; <%"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)**> [#uses=1]
+ %s2.transitions.opCatAssign = load %"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)** %"s2.transitions.opCatAssign@vtbl", align 4 ; <%"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)*> [#uses=1]
+ %this = getelementptr i8* %.nest_arg, i32 4 ; <i8*> [#uses=1]
+ %0 = bitcast i8* %this to %"tango.text.Regex.TNFA!(dchar).TNFA"** ; <%"tango.text.Regex.TNFA!(dchar).TNFA"**> [#uses=1]
+ %tmp9 = load %"tango.text.Regex.TNFA!(dchar).TNFA"** %0 ; <%"tango.text.Regex.TNFA!(dchar).TNFA"*> [#uses=1]
+ %tmp11 = tail call fastcc %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* @_D5tango4text5Regex11__T4TNFATwZ4TNFA5cloneMFC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransition(%"tango.text.Regex.TNFA!(dchar).TNFA"* %tmp9, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %tmp) ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*> [#uses=1]
+ %tmp12 = tail call fastcc %"tango.text.Regex.List!(TNFATransition).List"* %s2.transitions.opCatAssign(%"tango.text.Regex.List!(TNFATransition).List"* %tmp4, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %tmp11) ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=0]
+ ret i32 0
+}
+
+define weak_odr fastcc i32 @_D5tango4text5Regex11__T4TNFATwZ4TNFA5cloneMFC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment15__foreachbody48MFKC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZi(i8* nocapture %.nest_arg, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** nocapture %__applyArg0_arg) {
+entry:
+ %tmp = load %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** %__applyArg0_arg ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*> [#uses=1]
+ %f2 = bitcast i8* %.nest_arg to %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"** ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"**> [#uses=1]
+ %tmp2 = load %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"** %f2 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*> [#uses=1]
+ %tmp3 = getelementptr %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %tmp2, i32 0, i32 2 ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
+ %tmp4 = load %"tango.text.Regex.List!(TNFATransition).List"** %tmp3 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
+ %tmp5 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp4, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ %tmp6 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp5 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
+ %"f2.entries.opCatAssign@vtbl" = getelementptr %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* %tmp6, i32 0, i32 5 ; <%"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)**> [#uses=1]
+ %f2.entries.opCatAssign = load %"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)** %"f2.entries.opCatAssign@vtbl", align 4 ; <%"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)*> [#uses=1]
+ %this = getelementptr i8* %.nest_arg, i32 4 ; <i8*> [#uses=1]
+ %0 = bitcast i8* %this to %"tango.text.Regex.TNFA!(dchar).TNFA"** ; <%"tango.text.Regex.TNFA!(dchar).TNFA"**> [#uses=1]
+ %tmp9 = load %"tango.text.Regex.TNFA!(dchar).TNFA"** %0 ; <%"tango.text.Regex.TNFA!(dchar).TNFA"*> [#uses=1]
+ %tmp11 = tail call fastcc %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* @_D5tango4text5Regex11__T4TNFATwZ4TNFA5cloneMFC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransition(%"tango.text.Regex.TNFA!(dchar).TNFA"* %tmp9, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %tmp) ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*> [#uses=1]
+ %tmp12 = tail call fastcc %"tango.text.Regex.List!(TNFATransition).List"* %f2.entries.opCatAssign(%"tango.text.Regex.List!(TNFATransition).List"* %tmp4, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %tmp11) ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=0]
+ ret i32 0
+}
+
+define weak_odr fastcc i32 @_D5tango4text5Regex11__T4TNFATwZ4TNFA5cloneMFC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment15__foreachbody49MFKC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZi(i8* nocapture %.nest_arg, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** nocapture %__applyArg0_arg) {
+entry:
+ %tmp = load %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** %__applyArg0_arg ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*> [#uses=1]
+ %f2 = bitcast i8* %.nest_arg to %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"** ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"**> [#uses=1]
+ %tmp2 = load %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"** %f2 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*> [#uses=1]
+ %tmp3 = getelementptr %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %tmp2, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
+ %tmp4 = load %"tango.text.Regex.List!(TNFATransition).List"** %tmp3 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
+ %tmp5 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp4, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ %tmp6 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp5 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
+ %"f2.exits.opCatAssign@vtbl" = getelementptr %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* %tmp6, i32 0, i32 5 ; <%"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)**> [#uses=1]
+ %f2.exits.opCatAssign = load %"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)** %"f2.exits.opCatAssign@vtbl", align 4 ; <%"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)*> [#uses=1]
+ %this = getelementptr i8* %.nest_arg, i32 4 ; <i8*> [#uses=1]
+ %0 = bitcast i8* %this to %"tango.text.Regex.TNFA!(dchar).TNFA"** ; <%"tango.text.Regex.TNFA!(dchar).TNFA"**> [#uses=1]
+ %tmp9 = load %"tango.text.Regex.TNFA!(dchar).TNFA"** %0 ; <%"tango.text.Regex.TNFA!(dchar).TNFA"*> [#uses=1]
+ %tmp11 = tail call fastcc %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* @_D5tango4text5Regex11__T4TNFATwZ4TNFA5cloneMFC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransition(%"tango.text.Regex.TNFA!(dchar).TNFA"* %tmp9, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %tmp) ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*> [#uses=1]
+ %tmp12 = tail call fastcc %"tango.text.Regex.List!(TNFATransition).List"* %f2.exits.opCatAssign(%"tango.text.Regex.List!(TNFATransition).List"* %tmp4, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %tmp11) ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=0]
+ ret i32 0
+}
+
+define weak_odr fastcc i32 @_D5tango4text5Regex11__T4TNFATwZ4TNFA5cloneMFC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment15__foreachbody50MFKC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZi(i8* nocapture %.nest_arg, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** nocapture %__applyArg0_arg) {
+entry:
+ %tmp = load %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** %__applyArg0_arg ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*> [#uses=1]
+ %f2 = bitcast i8* %.nest_arg to %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"** ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"**> [#uses=1]
+ %tmp2 = load %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"** %f2 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*> [#uses=1]
+ %tmp3 = getelementptr %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %tmp2, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
+ %tmp4 = load %"tango.text.Regex.List!(TNFATransition).List"** %tmp3 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
+ %tmp5 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp4, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ %tmp6 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp5 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
+ %"f2.entry_state.opCatAssign@vtbl" = getelementptr %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* %tmp6, i32 0, i32 5 ; <%"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)**> [#uses=1]
+ %f2.entry_state.opCatAssign = load %"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)** %"f2.entry_state.opCatAssign@vtbl", align 4 ; <%"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)*> [#uses=1]
+ %this = getelementptr i8* %.nest_arg, i32 4 ; <i8*> [#uses=1]
+ %0 = bitcast i8* %this to %"tango.text.Regex.TNFA!(dchar).TNFA"** ; <%"tango.text.Regex.TNFA!(dchar).TNFA"**> [#uses=1]
+ %tmp9 = load %"tango.text.Regex.TNFA!(dchar).TNFA"** %0 ; <%"tango.text.Regex.TNFA!(dchar).TNFA"*> [#uses=1]
+ %tmp11 = tail call fastcc %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* @_D5tango4text5Regex11__T4TNFATwZ4TNFA5cloneMFC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransition(%"tango.text.Regex.TNFA!(dchar).TNFA"* %tmp9, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %tmp) ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*> [#uses=1]
+ %tmp12 = tail call fastcc %"tango.text.Regex.List!(TNFATransition).List"* %f2.entry_state.opCatAssign(%"tango.text.Regex.List!(TNFATransition).List"* %tmp4, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %tmp11) ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=0]
+ ret i32 0
+}
+
+define weak_odr fastcc i32 @_D5tango4text5Regex11__T4TNFATwZ4TNFA5cloneMFC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment15__foreachbody51MFKC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZi(i8* nocapture %.nest_arg, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** nocapture %__applyArg0_arg) {
+entry:
+ %tmp = load %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** %__applyArg0_arg ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*> [#uses=1]
+ %f2 = bitcast i8* %.nest_arg to %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"** ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"**> [#uses=1]
+ %tmp2 = load %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"** %f2 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*> [#uses=1]
+ %tmp3 = getelementptr %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %tmp2, i32 0, i32 5 ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
+ %tmp4 = load %"tango.text.Regex.List!(TNFATransition).List"** %tmp3 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
+ %tmp5 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp4, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ %tmp6 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp5 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
+ %"f2.exit_state.opCatAssign@vtbl" = getelementptr %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* %tmp6, i32 0, i32 5 ; <%"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)**> [#uses=1]
+ %f2.exit_state.opCatAssign = load %"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)** %"f2.exit_state.opCatAssign@vtbl", align 4 ; <%"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)*> [#uses=1]
+ %this = getelementptr i8* %.nest_arg, i32 4 ; <i8*> [#uses=1]
+ %0 = bitcast i8* %this to %"tango.text.Regex.TNFA!(dchar).TNFA"** ; <%"tango.text.Regex.TNFA!(dchar).TNFA"**> [#uses=1]
+ %tmp9 = load %"tango.text.Regex.TNFA!(dchar).TNFA"** %0 ; <%"tango.text.Regex.TNFA!(dchar).TNFA"*> [#uses=1]
+ %tmp11 = tail call fastcc %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* @_D5tango4text5Regex11__T4TNFATwZ4TNFA5cloneMFC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransition(%"tango.text.Regex.TNFA!(dchar).TNFA"* %tmp9, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %tmp) ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*> [#uses=1]
+ %tmp12 = tail call fastcc %"tango.text.Regex.List!(TNFATransition).List"* %f2.exit_state.opCatAssign(%"tango.text.Regex.List!(TNFATransition).List"* %tmp4, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %tmp11) ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=0]
+ ret i32 0
+}
+
+define weak_odr fastcc i32 @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List11insertAfterMFC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZC5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List15__foreachbody52MFKC5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7ElementZi(i8* nocapture %.nest_arg, %"tango.text.Regex.List!(TNFATransition).List.Element"** nocapture %__applyArg0_arg) {
+entry:
+ %tmp = load %"tango.text.Regex.List!(TNFATransition).List.Element"** %__applyArg0_arg ; <%"tango.text.Regex.List!(TNFATransition).List.Element"*> [#uses=2]
+ %tmp2 = getelementptr %"tango.text.Regex.List!(TNFATransition).List.Element"* %tmp, i32 0, i32 2 ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"**> [#uses=1]
+ %w = getelementptr i8* %.nest_arg, i32 4 ; <i8*> [#uses=1]
+ %0 = bitcast i8* %w to %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"**> [#uses=1]
+ %tmp4 = load %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** %tmp2 ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*> [#uses=1]
+ %tmp5 = load %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** %0 ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*> [#uses=1]
+ %tmp6 = icmp eq %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %tmp4, %tmp5 ; <i1> [#uses=1]
+ br i1 %tmp6, label %if, label %endif
+
+if: ; preds = %entry
+ %__result = getelementptr i8* %.nest_arg, i32 12 ; <i8*> [#uses=1]
+ %1 = bitcast i8* %__result to %"tango.text.Regex.List!(TNFATransition).List"** ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
+ %this = bitcast i8* %.nest_arg to %"tango.text.Regex.List!(TNFATransition).List"** ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
+ %tmp9 = load %"tango.text.Regex.List!(TNFATransition).List"** %this ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
+ %tmp10 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp9, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ %tmp11 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp10 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
+ %"this.insertAfter@vtbl" = getelementptr %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* %tmp11, i32 0, i32 7 ; <%"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.List!(TNFATransition).List.Element"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)**> [#uses=1]
+ %this.insertAfter = load %"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.List!(TNFATransition).List.Element"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)** %"this.insertAfter@vtbl", align 4 ; <%"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.List!(TNFATransition).List.Element"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)*> [#uses=1]
+ %v = getelementptr i8* %.nest_arg, i32 8 ; <i8*> [#uses=1]
+ %2 = bitcast i8* %v to %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"**> [#uses=1]
+ %tmp15 = load %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** %2 ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*> [#uses=1]
+ %tmp16 = tail call fastcc %"tango.text.Regex.List!(TNFATransition).List"* %this.insertAfter(%"tango.text.Regex.List!(TNFATransition).List"* %tmp9, %"tango.text.Regex.List!(TNFATransition).List.Element"* %tmp, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %tmp15) ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
+ store %"tango.text.Regex.List!(TNFATransition).List"* %tmp16, %"tango.text.Regex.List!(TNFATransition).List"** %1
+ ret i32 2
+
+endif: ; preds = %entry
+ ret i32 0
+}
+
+define weak_odr fastcc i32 @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List12insertBeforeMFC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZC5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List15__foreachbody53MFKC5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7ElementZi(i8* nocapture %.nest_arg, %"tango.text.Regex.List!(TNFATransition).List.Element"** nocapture %__applyArg0_arg) {
+entry:
+ %tmp = load %"tango.text.Regex.List!(TNFATransition).List.Element"** %__applyArg0_arg ; <%"tango.text.Regex.List!(TNFATransition).List.Element"*> [#uses=2]
+ %tmp2 = getelementptr %"tango.text.Regex.List!(TNFATransition).List.Element"* %tmp, i32 0, i32 2 ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"**> [#uses=1]
+ %w = getelementptr i8* %.nest_arg, i32 4 ; <i8*> [#uses=1]
+ %0 = bitcast i8* %w to %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"**> [#uses=1]
+ %tmp4 = load %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** %tmp2 ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*> [#uses=1]
+ %tmp5 = load %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** %0 ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*> [#uses=1]
+ %tmp6 = icmp eq %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %tmp4, %tmp5 ; <i1> [#uses=1]
+ br i1 %tmp6, label %if, label %endif
+
+if: ; preds = %entry
+ %__result = getelementptr i8* %.nest_arg, i32 12 ; <i8*> [#uses=1]
+ %1 = bitcast i8* %__result to %"tango.text.Regex.List!(TNFATransition).List"** ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
+ %this = bitcast i8* %.nest_arg to %"tango.text.Regex.List!(TNFATransition).List"** ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
+ %tmp9 = load %"tango.text.Regex.List!(TNFATransition).List"** %this ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
+ %tmp10 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp9, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
+ %tmp11 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp10 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
+ %"this.insertBefore@vtbl" = getelementptr %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* %tmp11, i32 0, i32 11 ; <%"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.List!(TNFATransition).List.Element"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)**> [#uses=1]
+ %this.insertBefore = load %"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.List!(TNFATransition).List.Element"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)** %"this.insertBefore@vtbl", align 4 ; <%"tango.text.Regex.List!(TNFATransition).List"* (%"tango.text.Regex.List!(TNFATransition).List"*, %"tango.text.Regex.List!(TNFATransition).List.Element"*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*)*> [#uses=1]
+ %v = getelementptr i8* %.nest_arg, i32 8 ; <i8*> [#uses=1]
+ %2 = bitcast i8* %v to %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"**> [#uses=1]
+ %tmp15 = load %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** %2 ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*> [#uses=1]
+ %tmp16 = tail call fastcc %"tango.text.Regex.List!(TNFATransition).List"* %this.insertBefore(%"tango.text.Regex.List!(TNFATransition).List"* %tmp9, %"tango.text.Regex.List!(TNFATransition).List.Element"* %tmp, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %tmp15) ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
+ store %"tango.text.Regex.List!(TNFATransition).List"* %tmp16, %"tango.text.Regex.List!(TNFATransition).List"** %1
+ ret i32 2
+
+endif: ; preds = %entry
+ ret i32 0
+}
+
+define weak_odr fastcc i32 @_D5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment8setEntryMFC5tango4text5Regex16__T9TNFAStateTwZ9TNFAStateZv15__foreachbody54MFKC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZi(i8* nocapture %.nest_arg, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** nocapture %__applyArg0_arg) nounwind {
+entry:
+ %tmp = load %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** %__applyArg0_arg ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*> [#uses=1]
+ %tmp2 = getelementptr %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %tmp, i32 0, i32 2 ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"**> [#uses=1]
+ %state = bitcast i8* %.nest_arg to %"tango.text.Regex.TNFAState!(dchar).TNFAState"** ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"**> [#uses=1]
+ %tmp4 = load %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %state ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"*> [#uses=1]
+ store %"tango.text.Regex.TNFAState!(dchar).TNFAState"* %tmp4, %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %tmp2
+ ret i32 0
+}
+
+define weak_odr fastcc i32 @_D5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment7setExitMFC5tango4text5Regex16__T9TNFAStateTwZ9TNFAStateZv15__foreachbody55MFKC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZi(i8* nocapture %.nest_arg, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** nocapture %__applyArg0_arg) nounwind {
+entry:
+ %tmp = load %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** %__applyArg0_arg ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*> [#uses=1]
+ %tmp2 = getelementptr %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %tmp, i32 0, i32 2 ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"**> [#uses=1]
+ %state = bitcast i8* %.nest_arg to %"tango.text.Regex.TNFAState!(dchar).TNFAState"** ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"**> [#uses=1]
+ %tmp4 = load %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %state ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"*> [#uses=1]
+ store %"tango.text.Regex.TNFAState!(dchar).TNFAState"* %tmp4, %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %tmp2
+ ret i32 0
+}
+
+define weak_odr fastcc i32 @_D5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List11insertAfterMFC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZC5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List15__foreachbody56MFKC5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List7ElementZi(i8* nocapture %.nest_arg, %"tango.text.Regex.List!(TNFAFragment).List.Element"** nocapture %__applyArg0_arg) {
+entry:
+ %tmp = load %"tango.text.Regex.List!(TNFAFragment).List.Element"** %__applyArg0_arg ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=2]
+ %tmp2 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp, i32 0, i32 2 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"**> [#uses=1]
+ %w = getelementptr i8* %.nest_arg, i32 4 ; <i8*> [#uses=1]
+ %0 = bitcast i8* %w to %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"** ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"**> [#uses=1]
+ %tmp4 = load %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"** %tmp2 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*> [#uses=1]
+ %tmp5 = load %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"** %0 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*> [#uses=1]
+ %tmp6 = icmp eq %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %tmp4, %tmp5 ; <i1> [#uses=1]
+ br i1 %tmp6, label %if, label %endif
+
+if: ; preds = %entry
+ %__result = getelementptr i8* %.nest_arg, i32 12 ; <i8*> [#uses=1]
+ %1 = bitcast i8* %__result to %"tango.text.Regex.List!(TNFAFragment).List"** ; <%"tango.text.Regex.List!(TNFAFragment).List"**> [#uses=1]
+ %this = bitcast i8* %.nest_arg to %"tango.text.Regex.List!(TNFAFragment).List"** ; <%"tango.text.Regex.List!(TNFAFragment).List"**> [#uses=1]
+ %tmp9 = load %"tango.text.Regex.List!(TNFAFragment).List"** %this ; <%"tango.text.Regex.List!(TNFAFragment).List"*> [#uses=2]
+ %tmp10 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %tmp9, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"**> [#uses=1]
+ %tmp11 = load %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"** %tmp10 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"*> [#uses=1]
+ %"this.insertAfter@vtbl" = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"* %tmp11, i32 0, i32 7 ; <%"tango.text.Regex.List!(TNFAFragment).List"* (%"tango.text.Regex.List!(TNFAFragment).List"*, %"tango.text.Regex.List!(TNFAFragment).List.Element"*, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*)**> [#uses=1]
+ %this.insertAfter = load %"tango.text.Regex.List!(TNFAFragment).List"* (%"tango.text.Regex.List!(TNFAFragment).List"*, %"tango.text.Regex.List!(TNFAFragment).List.Element"*, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*)** %"this.insertAfter@vtbl", align 4 ; <%"tango.text.Regex.List!(TNFAFragment).List"* (%"tango.text.Regex.List!(TNFAFragment).List"*, %"tango.text.Regex.List!(TNFAFragment).List.Element"*, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*)*> [#uses=1]
+ %v = getelementptr i8* %.nest_arg, i32 8 ; <i8*> [#uses=1]
+ %2 = bitcast i8* %v to %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"** ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"**> [#uses=1]
+ %tmp15 = load %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"** %2 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*> [#uses=1]
+ %tmp16 = tail call fastcc %"tango.text.Regex.List!(TNFAFragment).List"* %this.insertAfter(%"tango.text.Regex.List!(TNFAFragment).List"* %tmp9, %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %tmp15) ; <%"tango.text.Regex.List!(TNFAFragment).List"*> [#uses=1]
+ store %"tango.text.Regex.List!(TNFAFragment).List"* %tmp16, %"tango.text.Regex.List!(TNFAFragment).List"** %1
+ ret i32 2
+
+endif: ; preds = %entry
+ ret i32 0
+}
+
+define weak_odr fastcc i32 @_D5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List12insertBeforeMFC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZC5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List15__foreachbody57MFKC5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List7ElementZi(i8* nocapture %.nest_arg, %"tango.text.Regex.List!(TNFAFragment).List.Element"** nocapture %__applyArg0_arg) {
+entry:
+ %tmp = load %"tango.text.Regex.List!(TNFAFragment).List.Element"** %__applyArg0_arg ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=2]
+ %tmp2 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp, i32 0, i32 2 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"**> [#uses=1]
+ %w = getelementptr i8* %.nest_arg, i32 4 ; <i8*> [#uses=1]
+ %0 = bitcast i8* %w to %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"** ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"**> [#uses=1]
+ %tmp4 = load %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"** %tmp2 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*> [#uses=1]
+ %tmp5 = load %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"** %0 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*> [#uses=1]
+ %tmp6 = icmp eq %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %tmp4, %tmp5 ; <i1> [#uses=1]
+ br i1 %tmp6, label %if, label %endif
+
+if: ; preds = %entry
+ %__result = getelementptr i8* %.nest_arg, i32 12 ; <i8*> [#uses=1]
+ %1 = bitcast i8* %__result to %"tango.text.Regex.List!(TNFAFragment).List"** ; <%"tango.text.Regex.List!(TNFAFragment).List"**> [#uses=1]
+ %this = bitcast i8* %.nest_arg to %"tango.text.Regex.List!(TNFAFragment).List"** ; <%"tango.text.Regex.List!(TNFAFragment).List"**> [#uses=1]
+ %tmp9 = load %"tango.text.Regex.List!(TNFAFragment).List"** %this ; <%"tango.text.Regex.List!(TNFAFragment).List"*> [#uses=2]
+ %tmp10 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %tmp9, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"**> [#uses=1]
+ %tmp11 = load %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"** %tmp10 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"*> [#uses=1]
+ %"this.insertBefore@vtbl" = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"* %tmp11, i32 0, i32 11 ; <%"tango.text.Regex.List!(TNFAFragment).List"* (%"tango.text.Regex.List!(TNFAFragment).List"*, %"tango.text.Regex.List!(TNFAFragment).List.Element"*, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*)**> [#uses=1]
+ %this.insertBefore = load %"tango.text.Regex.List!(TNFAFragment).List"* (%"tango.text.Regex.List!(TNFAFragment).List"*, %"tango.text.Regex.List!(TNFAFragment).List.Element"*, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*)** %"this.insertBefore@vtbl", align 4 ; <%"tango.text.Regex.List!(TNFAFragment).List"* (%"tango.text.Regex.List!(TNFAFragment).List"*, %"tango.text.Regex.List!(TNFAFragment).List.Element"*, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*)*> [#uses=1]
+ %v = getelementptr i8* %.nest_arg, i32 8 ; <i8*> [#uses=1]
+ %2 = bitcast i8* %v to %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"** ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"**> [#uses=1]
+ %tmp15 = load %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"** %2 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*> [#uses=1]
+ %tmp16 = tail call fastcc %"tango.text.Regex.List!(TNFAFragment).List"* %this.insertBefore(%"tango.text.Regex.List!(TNFAFragment).List"* %tmp9, %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %tmp15) ; <%"tango.text.Regex.List!(TNFAFragment).List"*> [#uses=1]
+ store %"tango.text.Regex.List!(TNFAFragment).List"* %tmp16, %"tango.text.Regex.List!(TNFAFragment).List"** %1
+ ret i32 2
+
+endif: ; preds = %entry
+ ret i32 0
+}
+
+define weak_odr fastcc i32 @_D5tango4text4Util18__T10splitLinesTaZ10splitLinesFAaZAAa15__foreachbody41MFKAaZi(i8* nocapture %.nest_arg, %"byte[]"* nocapture %__applyArg0_arg) nounwind {
+entry:
+ %count = bitcast i8* %.nest_arg to i32* ; <i32*> [#uses=2]
+ %tmp4 = load i32* %count ; <i32> [#uses=1]
+ %tmp5 = add i32 %tmp4, 1 ; <i32> [#uses=1]
+ store i32 %tmp5, i32* %count
+ ret i32 0
+}
+
+declare noalias i8* @_d_newarrayT(%object.TypeInfo*, i32)
+
+define weak_odr fastcc i32 @_D5tango4text4Util18__T10splitLinesTaZ10splitLinesFAaZAAa15__foreachbody42MFKAaZi(i8* nocapture %.nest_arg, %"byte[]"* nocapture %__applyArg0_arg) nounwind {
+entry:
+ %tmp = load %"byte[]"* %__applyArg0_arg ; <%"byte[]"> [#uses=1]
+ %count = bitcast i8* %.nest_arg to i32* ; <i32*> [#uses=2]
+ %tmp3 = load i32* %count ; <i32> [#uses=2]
+ %tmp4 = add i32 %tmp3, 1 ; <i32> [#uses=1]
+ store i32 %tmp4, i32* %count
+ %tmp5 = getelementptr i8* %.nest_arg, i32 8 ; <i8*> [#uses=1]
+ %0 = bitcast i8* %tmp5 to %"byte[]"** ; <%"byte[]"**> [#uses=1]
+ %.ptr = load %"byte[]"** %0 ; <%"byte[]"*> [#uses=1]
+ %tmp6 = getelementptr %"byte[]"* %.ptr, i32 %tmp3 ; <%"byte[]"*> [#uses=1]
+ store %"byte[]" %tmp, %"byte[]"* %tmp6
+ ret i32 0
+}
+
+define weak_odr fastcc i1 @_D5tango4text7convert9TimeStamp14__T7dostimeTaZ7dostimeFAaKS5tango4time4Time4TimeZi2dtMFKPaZb(i8* nocapture %.nest_arg, i8** nocapture %p_arg) nounwind {
+entry:
+ %tmp1 = getelementptr i8* %.nest_arg, i32 12 ; <i8*> [#uses=1]
+ %0 = bitcast i8* %tmp1 to i32* ; <i32*> [#uses=1]
+ %tmp.pre.i = load i8** %p_arg ; <i8*> [#uses=1]
+ br label %whilecond.i
+
+whilecond.i: ; preds = %whilebody.i, %entry
+ %tmp10.i = phi i8* [ %tmp11.i, %whilebody.i ], [ %tmp.pre.i, %entry ] ; <i8*> [#uses=3]
+ %value.0.i = phi i32 [ 0, %entry ], [ %tmp15.i, %whilebody.i ] ; <i32> [#uses=3]
+ %tmp1.i = load i8* %tmp10.i ; <i8> [#uses=1]
+ %tmp1.i.off = add i8 %tmp1.i, -48 ; <i8> [#uses=1]
+ %or.cond = icmp ult i8 %tmp1.i.off, 10 ; <i1> [#uses=1]
+ br i1 %or.cond, label %whilebody.i, label %_D5tango4text7convert9TimeStamp15__T8parseIntTaZ8parseIntFKPaZi.exit
+
+whilebody.i: ; preds = %whilecond.i
+ %tmp9.i = mul i32 %value.0.i, 10 ; <i32> [#uses=1]
+ %tmp11.i = getelementptr i8* %tmp10.i, i32 1 ; <i8*> [#uses=2]
+ store i8* %tmp11.i, i8** %p_arg
+ %tmp12.i = load i8* %tmp10.i ; <i8> [#uses=1]
+ %tmp13.i = zext i8 %tmp12.i to i32 ; <i32> [#uses=1]
+ %tmp14.i = add i32 %tmp9.i, %tmp13.i ; <i32> [#uses=1]
+ %tmp15.i = add i32 %tmp14.i, -48 ; <i32> [#uses=1]
+ br label %whilecond.i
+
+_D5tango4text7convert9TimeStamp15__T8parseIntTaZ8parseIntFKPaZi.exit: ; preds = %whilecond.i
+ store i32 %value.0.i, i32* %0
+ %tmp3 = icmp eq i32 %value.0.i, 0 ; <i1> [#uses=1]
+ br i1 %tmp3, label %andandend10, label %andand
+
+andand: ; preds = %_D5tango4text7convert9TimeStamp15__T8parseIntTaZ8parseIntFKPaZi.exit
+ %tmp4 = load i8** %p_arg ; <i8*> [#uses=2]
+ %tmp5 = getelementptr i8* %tmp4, i32 1 ; <i8*> [#uses=2]
+ store i8* %tmp5, i8** %p_arg
+ %tmp6 = load i8* %tmp4 ; <i8> [#uses=1]
+ %tmp8 = icmp eq i8 %tmp6, 45 ; <i1> [#uses=1]
+ br i1 %tmp8, label %andand9, label %andandend10
+
+andand9: ; preds = %andand
+ %tmp13 = getelementptr i8* %.nest_arg, i32 4 ; <i8*> [#uses=1]
+ %1 = bitcast i8* %tmp13 to i32* ; <i32*> [#uses=1]
+ br label %whilecond.i58
+
+whilecond.i58: ; preds = %whilebody.i65, %andand9
+ %tmp10.i54 = phi i8* [ %tmp11.i60, %whilebody.i65 ], [ %tmp5, %andand9 ] ; <i8*> [#uses=3]
+ %value.0.i55 = phi i32 [ 0, %andand9 ], [ %tmp15.i64, %whilebody.i65 ] ; <i32> [#uses=3]
+ %tmp1.i56 = load i8* %tmp10.i54 ; <i8> [#uses=1]
+ %tmp1.i56.off = add i8 %tmp1.i56, -48 ; <i8> [#uses=1]
+ %or.cond72 = icmp ult i8 %tmp1.i56.off, 10 ; <i1> [#uses=1]
+ br i1 %or.cond72, label %whilebody.i65, label %_D5tango4text7convert9TimeStamp15__T8parseIntTaZ8parseIntFKPaZi.exit70
+
+whilebody.i65: ; preds = %whilecond.i58
+ %tmp9.i59 = mul i32 %value.0.i55, 10 ; <i32> [#uses=1]
+ %tmp11.i60 = getelementptr i8* %tmp10.i54, i32 1 ; <i8*> [#uses=2]
+ store i8* %tmp11.i60, i8** %p_arg
+ %tmp12.i61 = load i8* %tmp10.i54 ; <i8> [#uses=1]
+ %tmp13.i62 = zext i8 %tmp12.i61 to i32 ; <i32> [#uses=1]
+ %tmp14.i63 = add i32 %tmp9.i59, %tmp13.i62 ; <i32> [#uses=1]
+ %tmp15.i64 = add i32 %tmp14.i63, -48 ; <i32> [#uses=1]
+ br label %whilecond.i58
+
+_D5tango4text7convert9TimeStamp15__T8parseIntTaZ8parseIntFKPaZi.exit70: ; preds = %whilecond.i58
+ store i32 %value.0.i55, i32* %1
+ %tmp15 = icmp eq i32 %value.0.i55, 0 ; <i1> [#uses=1]
+ br i1 %tmp15, label %andandend10, label %andand16
+
+andand16: ; preds = %_D5tango4text7convert9TimeStamp15__T8parseIntTaZ8parseIntFKPaZi.exit70
+ %tmp18 = load i8** %p_arg ; <i8*> [#uses=2]
+ %tmp19 = getelementptr i8* %tmp18, i32 1 ; <i8*> [#uses=2]
+ store i8* %tmp19, i8** %p_arg
+ %tmp20 = load i8* %tmp18 ; <i8> [#uses=1]
+ %tmp22 = icmp eq i8 %tmp20, 45 ; <i1> [#uses=1]
+ br i1 %tmp22, label %andand23, label %andandend10
+
+andand23: ; preds = %andand16
+ %tmp27 = getelementptr i8* %.nest_arg, i32 8 ; <i8*> [#uses=1]
+ %2 = bitcast i8* %tmp27 to i32* ; <i32*> [#uses=1]
+ br label %whilecond.i39
+
+whilecond.i39: ; preds = %whilebody.i46, %andand23
+ %tmp10.i35 = phi i8* [ %tmp11.i41, %whilebody.i46 ], [ %tmp19, %andand23 ] ; <i8*> [#uses=3]
+ %value.0.i36 = phi i32 [ 0, %andand23 ], [ %tmp15.i45, %whilebody.i46 ] ; <i32> [#uses=3]
+ %tmp1.i37 = load i8* %tmp10.i35 ; <i8> [#uses=1]
+ %tmp1.i37.off = add i8 %tmp1.i37, -48 ; <i8> [#uses=1]
+ %or.cond73 = icmp ult i8 %tmp1.i37.off, 10 ; <i1> [#uses=1]
+ br i1 %or.cond73, label %whilebody.i46, label %_D5tango4text7convert9TimeStamp15__T8parseIntTaZ8parseIntFKPaZi.exit51
+
+whilebody.i46: ; preds = %whilecond.i39
+ %tmp9.i40 = mul i32 %value.0.i36, 10 ; <i32> [#uses=1]
+ %tmp11.i41 = getelementptr i8* %tmp10.i35, i32 1 ; <i8*> [#uses=2]
+ store i8* %tmp11.i41, i8** %p_arg
+ %tmp12.i42 = load i8* %tmp10.i35 ; <i8> [#uses=1]
+ %tmp13.i43 = zext i8 %tmp12.i42 to i32 ; <i32> [#uses=1]
+ %tmp14.i44 = add i32 %tmp9.i40, %tmp13.i43 ; <i32> [#uses=1]
+ %tmp15.i45 = add i32 %tmp14.i44, -48 ; <i32> [#uses=1]
+ br label %whilecond.i39
+
+_D5tango4text7convert9TimeStamp15__T8parseIntTaZ8parseIntFKPaZi.exit51: ; preds = %whilecond.i39
+ store i32 %value.0.i36, i32* %2
+ %tmp29 = icmp ne i32 %value.0.i36, 0 ; <i1> [#uses=1]
+ ret i1 %tmp29
+
+andandend10: ; preds = %andand16, %_D5tango4text7convert9TimeStamp15__T8parseIntTaZ8parseIntFKPaZi.exit70, %andand, %_D5tango4text7convert9TimeStamp15__T8parseIntTaZ8parseIntFKPaZi.exit
+ ret i1 false
+}
+
+define weak_odr fastcc i32 @_D5tango4text4Util14__T7delimitTaZ7delimitFAaAaZAAa15__foreachbody43MFKAaZi(i8* nocapture %.nest_arg, %"byte[]"* nocapture %__applyArg0_arg) {
+entry:
+ %tmp = load %"byte[]"* %__applyArg0_arg ; <%"byte[]"> [#uses=1]
+ %tmp2 = bitcast i8* %.nest_arg to i32* ; <i32*> [#uses=2]
+ %.len = load i32* %tmp2 ; <i32> [#uses=3]
+ %tmp3 = add i32 %.len, 1 ; <i32> [#uses=2]
+ %tmp6 = getelementptr i8* %.nest_arg, i32 4 ; <i8*> [#uses=1]
+ %0 = bitcast i8* %tmp6 to %"byte[]"** ; <%"byte[]"**> [#uses=2]
+ %.ptr = load %"byte[]"** %0 ; <%"byte[]"*> [#uses=1]
+ %tmp7 = bitcast %"byte[]"* %.ptr to i8* ; <i8*> [#uses=1]
+ %.gc_mem = tail call i8* @_d_arraysetlengthT(%object.TypeInfo* bitcast (%object.TypeInfo_Array* @_D12TypeInfo_AAa6__initZ to %object.TypeInfo*), i32 %tmp3, i32 %.len, i8* %tmp7) ; <i8*> [#uses=1]
+ %.gc_mem8 = bitcast i8* %.gc_mem to %"byte[]"* ; <%"byte[]"*> [#uses=2]
+ %tmp9 = getelementptr %"byte[]"* %.gc_mem8, i32 %.len ; <%"byte[]"*> [#uses=1]
+ store %"byte[]" %tmp, %"byte[]"* %tmp9
+ store i32 %tmp3, i32* %tmp2
+ store %"byte[]"* %.gc_mem8, %"byte[]"** %0
+ ret i32 0
+}
+
+declare fastcc %"tango.text.Regex.RegExpT!(char).RegExpT"* @_D5tango4text5Regex14__T7RegExpTTaZ7RegExpT5_ctorMFAabbbZC5tango4text5Regex14__T7RegExpTTaZ7RegExpT(%"tango.text.Regex.RegExpT!(char).RegExpT"*, %"byte[]", i1, i1, i1)
+
+declare fastcc %"byte[]" @_D5tango4text7convert6Layout13__T6LayoutTaZ6Layout7convertMFAC8TypeInfoPvAaZAa(%"tango.text.convert.Layout.Layout!(char).Layout"*, %"TypeInfo[]", i8*, %"byte[]")
+
+declare i32 @strncasecmp(i8*, i8*, i32)
+
+define internal void @_D5tango3net3ftp9FtpClient16__moduleinfoCtorZ() nounwind {
+moduleinfoCtorEntry:
+ %current = load %ModuleReference** @_Dmodule_ref ; <%ModuleReference*> [#uses=1]
+ store %ModuleReference* %current, %ModuleReference** getelementptr (%ModuleReference* @_D5tango3net3ftp9FtpClient11__moduleRefZ, i32 0, i32 0), align 8
+ store %ModuleReference* @_D5tango3net3ftp9FtpClient11__moduleRefZ, %ModuleReference** @_Dmodule_ref
+ ret void
+}