Give AsmPrinter the most common expected implementation of
[oota-llvm.git] / test / CodeGen / PowerPC / tango.net.ftp.FtpClient.ll
index ba0c452948a0a13571c9739a96341f2c9a64e10c..8a1288afa40c2f323ed70bdf87473bd30e863c4e 100644 (file)
-; RUN: llvm-as < %s | llc
+; RUN: llc < %s
 ; 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]
+@.str167 = external constant [11 x i8]         ; <[11 x i8]*> [#uses=1]
+@.str170 = external constant [11 x i8]         ; <[11 x i8]*> [#uses=2]
+@.str171 = external constant [5 x i8]          ; <[5 x i8]*> [#uses=1]
+@llvm.used = appending global [1 x i8*] [i8* bitcast (void (%"byte[]")* @foo to i8*)], section "llvm.metadata"         ; <[1 x i8*]*> [#uses=0]
+
+define fastcc void @foo(%"byte[]" %line_arg) {
+entry:
+       %line_arg830 = extractvalue %"byte[]" %line_arg, 0              ; <i32> [#uses=12]
+       %line_arg831 = extractvalue %"byte[]" %line_arg, 1              ; <i8*> [#uses=17]
+       %t5 = load i8* %line_arg831             ; <i8> [#uses=1]
+       br label %forcondi
+
+forcondi:              ; preds = %forbodyi, %entry
+       %l.0i = phi i32 [ 10, %entry ], [ %t4i, %forbodyi ]             ; <i32> [#uses=2]
+       %p.0i = phi i8* [ getelementptr ([11 x i8]* @.str167, i32 0, i32 -1), %entry ], [ %t7i, %forbodyi ]             ; <i8*> [#uses=1]
+       %t4i = add i32 %l.0i, -1                ; <i32> [#uses=1]
+       %t5i = icmp eq i32 %l.0i, 0             ; <i1> [#uses=1]
+       br i1 %t5i, label %forcond.i, label %forbodyi
+
+forbodyi:              ; preds = %forcondi
+       %t7i = getelementptr i8* %p.0i, i32 1           ; <i8*> [#uses=2]
+       %t8i = load i8* %t7i            ; <i8> [#uses=1]
+       %t12i = icmp eq i8 %t8i, %t5            ; <i1> [#uses=1]
+       br i1 %t12i, label %forcond.i, label %forcondi
+
+forcond.i:             ; preds = %forbody.i, %forbodyi, %forcondi
+       %storemerge.i = phi i32 [ %t106.i, %forbody.i ], [ 1, %forcondi ], [ 1, %forbodyi ]             ; <i32> [#uses=1]
+       %t77.i286 = phi i1 [ %phit3, %forbody.i ], [ false, %forcondi ], [ false, %forbodyi ]           ; <i1> [#uses=1]
+       br i1 %t77.i286, label %forcond.i295, label %forbody.i
 
-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
-}
+forbody.i:             ; preds = %forcond.i
+       %t106.i = add i32 %storemerge.i, 1              ; <i32> [#uses=2]
+       %phit3 = icmp ugt i32 %t106.i, 3                ; <i1> [#uses=1]
+       br label %forcond.i
 
-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
-}
+forcond.i295:          ; preds = %forbody.i301, %forcond.i
+       %storemerge.i292 = phi i32 [ %t106.i325, %forbody.i301 ], [ 4, %forcond.i ]             ; <i32> [#uses=1]
+       %t77.i293 = phi i1 [ %phit2, %forbody.i301 ], [ false, %forcond.i ]             ; <i1> [#uses=1]
+       br i1 %t77.i293, label %forcond.i332, label %forbody.i301
 
-declare fastcc %"tango.text.Regex.RegExpT!(char).RegExpT"* @_D5tango4text5Regex14__T7RegExpTTaZ7RegExpT5_ctorMFAabbbZC5tango4text5Regex14__T7RegExpTTaZ7RegExpT(%"tango.text.Regex.RegExpT!(char).RegExpT"*, %"byte[]", i1, i1, i1)
+forbody.i301:          ; preds = %forcond.i295
+       %t106.i325 = add i32 %storemerge.i292, 1                ; <i32> [#uses=2]
+       %phit2 = icmp ugt i32 %t106.i325, 6             ; <i1> [#uses=1]
+       br label %forcond.i295
 
-declare fastcc %"byte[]" @_D5tango4text7convert6Layout13__T6LayoutTaZ6Layout7convertMFAC8TypeInfoPvAaZAa(%"tango.text.convert.Layout.Layout!(char).Layout"*, %"TypeInfo[]", i8*, %"byte[]")
+forcond.i332:          ; preds = %forbody.i338, %forcond.i295
+       %storemerge.i329 = phi i32 [ %t106.i362, %forbody.i338 ], [ 7, %forcond.i295 ]          ; <i32> [#uses=3]
+       %t77.i330 = phi i1 [ %phit1, %forbody.i338 ], [ false, %forcond.i295 ]          ; <i1> [#uses=1]
+       br i1 %t77.i330, label %wcond.i370, label %forbody.i338
 
-declare i32 @strncasecmp(i8*, i8*, i32)
+forbody.i338:          ; preds = %forcond.i332
+       %t106.i362 = add i32 %storemerge.i329, 1                ; <i32> [#uses=2]
+       %phit1 = icmp ugt i32 %t106.i362, 9             ; <i1> [#uses=1]
+       br label %forcond.i332
 
-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
+wcond.i370:            ; preds = %wbody.i372, %forcond.i332
+       %.frame.0.11 = phi i32 [ %t18.i371.c, %wbody.i372 ], [ %storemerge.i329, %forcond.i332 ]                ; <i32> [#uses=2]
+       %t3.i368 = phi i32 [ %t18.i371.c, %wbody.i372 ], [ %storemerge.i329, %forcond.i332 ]            ; <i32> [#uses=5]
+       %t4.i369 = icmp ult i32 %t3.i368, %line_arg830          ; <i1> [#uses=1]
+       br i1 %t4.i369, label %andand.i378, label %wcond22.i383
+
+wbody.i372:            ; preds = %andand.i378
+       %t18.i371.c = add i32 %t3.i368, 1               ; <i32> [#uses=2]
+       br label %wcond.i370
+
+andand.i378:           ; preds = %wcond.i370
+       %t11.i375 = getelementptr i8* %line_arg831, i32 %t3.i368                ; <i8*> [#uses=1]
+       %t12.i376 = load i8* %t11.i375          ; <i8> [#uses=1]
+       %t14.i377 = icmp eq i8 %t12.i376, 32            ; <i1> [#uses=1]
+       br i1 %t14.i377, label %wbody.i372, label %wcond22.i383
+
+wcond22.i383:          ; preds = %wbody23.i385, %andand.i378, %wcond.i370
+       %.frame.0.10 = phi i32 [ %t50.i384, %wbody23.i385 ], [ %.frame.0.11, %wcond.i370 ], [ %.frame.0.11, %andand.i378 ]              ; <i32> [#uses=2]
+       %t49.i381 = phi i32 [ %t50.i384, %wbody23.i385 ], [ %t3.i368, %wcond.i370 ], [ %t3.i368, %andand.i378 ]         ; <i32> [#uses=5]
+       %t32.i382 = icmp ult i32 %t49.i381, %line_arg830                ; <i1> [#uses=1]
+       br i1 %t32.i382, label %andand33.i391, label %wcond54.i396
+
+wbody23.i385:          ; preds = %andand33.i391
+       %t50.i384 = add i32 %t49.i381, 1                ; <i32> [#uses=2]
+       br label %wcond22.i383
+
+andand33.i391:         ; preds = %wcond22.i383
+       %t42.i388 = getelementptr i8* %line_arg831, i32 %t49.i381               ; <i8*> [#uses=1]
+       %t43.i389 = load i8* %t42.i388          ; <i8> [#uses=1]
+       %t45.i390 = icmp eq i8 %t43.i389, 32            ; <i1> [#uses=1]
+       br i1 %t45.i390, label %wcond54.i396, label %wbody23.i385
+
+wcond54.i396:          ; preds = %wbody55.i401, %andand33.i391, %wcond22.i383
+       %.frame.0.9 = phi i32 [ %t82.i400, %wbody55.i401 ], [ %.frame.0.10, %wcond22.i383 ], [ %.frame.0.10, %andand33.i391 ]           ; <i32> [#uses=2]
+       %t81.i394 = phi i32 [ %t82.i400, %wbody55.i401 ], [ %t49.i381, %wcond22.i383 ], [ %t49.i381, %andand33.i391 ]           ; <i32> [#uses=3]
+       %t64.i395 = icmp ult i32 %t81.i394, %line_arg830                ; <i1> [#uses=1]
+       br i1 %t64.i395, label %andand65.i407, label %wcond.i716
+
+wbody55.i401:          ; preds = %andand65.i407
+       %t82.i400 = add i32 %t81.i394, 1                ; <i32> [#uses=2]
+       br label %wcond54.i396
+
+andand65.i407:         ; preds = %wcond54.i396
+       %t74.i404 = getelementptr i8* %line_arg831, i32 %t81.i394               ; <i8*> [#uses=1]
+       %t75.i405 = load i8* %t74.i404          ; <i8> [#uses=1]
+       %t77.i406 = icmp eq i8 %t75.i405, 32            ; <i1> [#uses=1]
+       br i1 %t77.i406, label %wbody55.i401, label %wcond.i716
+
+wcond.i716:            ; preds = %wbody.i717, %andand65.i407, %wcond54.i396
+       %.frame.0.0 = phi i32 [ %t18.i.c829, %wbody.i717 ], [ %.frame.0.9, %wcond54.i396 ], [ %.frame.0.9, %andand65.i407 ]             ; <i32> [#uses=7]
+       %t4.i715 = icmp ult i32 %.frame.0.0, %line_arg830               ; <i1> [#uses=1]
+       br i1 %t4.i715, label %andand.i721, label %wcond22.i724
+
+wbody.i717:            ; preds = %andand.i721
+       %t18.i.c829 = add i32 %.frame.0.0, 1            ; <i32> [#uses=1]
+       br label %wcond.i716
+
+andand.i721:           ; preds = %wcond.i716
+       %t11.i718 = getelementptr i8* %line_arg831, i32 %.frame.0.0             ; <i8*> [#uses=1]
+       %t12.i719 = load i8* %t11.i718          ; <i8> [#uses=1]
+       %t14.i720 = icmp eq i8 %t12.i719, 32            ; <i1> [#uses=1]
+       br i1 %t14.i720, label %wbody.i717, label %wcond22.i724
+
+wcond22.i724:          ; preds = %wbody23.i726, %andand.i721, %wcond.i716
+       %.frame.0.1 = phi i32 [ %t50.i725, %wbody23.i726 ], [ %.frame.0.0, %wcond.i716 ], [ %.frame.0.0, %andand.i721 ]         ; <i32> [#uses=2]
+       %t49.i722 = phi i32 [ %t50.i725, %wbody23.i726 ], [ %.frame.0.0, %wcond.i716 ], [ %.frame.0.0, %andand.i721 ]           ; <i32> [#uses=5]
+       %t32.i723 = icmp ult i32 %t49.i722, %line_arg830                ; <i1> [#uses=1]
+       br i1 %t32.i723, label %andand33.i731, label %wcond54.i734
+
+wbody23.i726:          ; preds = %andand33.i731
+       %t50.i725 = add i32 %t49.i722, 1                ; <i32> [#uses=2]
+       br label %wcond22.i724
+
+andand33.i731:         ; preds = %wcond22.i724
+       %t42.i728 = getelementptr i8* %line_arg831, i32 %t49.i722               ; <i8*> [#uses=1]
+       %t43.i729 = load i8* %t42.i728          ; <i8> [#uses=1]
+       %t45.i730 = icmp eq i8 %t43.i729, 32            ; <i1> [#uses=1]
+       br i1 %t45.i730, label %wcond54.i734, label %wbody23.i726
+
+wcond54.i734:          ; preds = %wbody55.i736, %andand33.i731, %wcond22.i724
+       %.frame.0.2 = phi i32 [ %t82.i735, %wbody55.i736 ], [ %.frame.0.1, %wcond22.i724 ], [ %.frame.0.1, %andand33.i731 ]             ; <i32> [#uses=2]
+       %t81.i732 = phi i32 [ %t82.i735, %wbody55.i736 ], [ %t49.i722, %wcond22.i724 ], [ %t49.i722, %andand33.i731 ]           ; <i32> [#uses=3]
+       %t64.i733 = icmp ult i32 %t81.i732, %line_arg830                ; <i1> [#uses=1]
+       br i1 %t64.i733, label %andand65.i740, label %wcond.i750
+
+wbody55.i736:          ; preds = %andand65.i740
+       %t82.i735 = add i32 %t81.i732, 1                ; <i32> [#uses=2]
+       br label %wcond54.i734
+
+andand65.i740:         ; preds = %wcond54.i734
+       %t74.i737 = getelementptr i8* %line_arg831, i32 %t81.i732               ; <i8*> [#uses=1]
+       %t75.i738 = load i8* %t74.i737          ; <i8> [#uses=1]
+       %t77.i739 = icmp eq i8 %t75.i738, 32            ; <i1> [#uses=1]
+       br i1 %t77.i739, label %wbody55.i736, label %wcond.i750
+
+wcond.i750:            ; preds = %wbody.i752, %andand65.i740, %wcond54.i734
+       %.frame.0.3 = phi i32 [ %t18.i751.c, %wbody.i752 ], [ %.frame.0.2, %wcond54.i734 ], [ %.frame.0.2, %andand65.i740 ]             ; <i32> [#uses=11]
+       %t4.i749 = icmp ult i32 %.frame.0.3, %line_arg830               ; <i1> [#uses=1]
+       br i1 %t4.i749, label %andand.i758, label %wcond22.i761
+
+wbody.i752:            ; preds = %andand.i758
+       %t18.i751.c = add i32 %.frame.0.3, 1            ; <i32> [#uses=1]
+       br label %wcond.i750
+
+andand.i758:           ; preds = %wcond.i750
+       %t11.i755 = getelementptr i8* %line_arg831, i32 %.frame.0.3             ; <i8*> [#uses=1]
+       %t12.i756 = load i8* %t11.i755          ; <i8> [#uses=1]
+       %t14.i757 = icmp eq i8 %t12.i756, 32            ; <i1> [#uses=1]
+       br i1 %t14.i757, label %wbody.i752, label %wcond22.i761
+
+wcond22.i761:          ; preds = %wbody23.i763, %andand.i758, %wcond.i750
+       %.frame.0.4 = phi i32 [ %t50.i762, %wbody23.i763 ], [ %.frame.0.3, %wcond.i750 ], [ %.frame.0.3, %andand.i758 ]         ; <i32> [#uses=2]
+       %t49.i759 = phi i32 [ %t50.i762, %wbody23.i763 ], [ %.frame.0.3, %wcond.i750 ], [ %.frame.0.3, %andand.i758 ]           ; <i32> [#uses=7]
+       %t32.i760 = icmp ult i32 %t49.i759, %line_arg830                ; <i1> [#uses=1]
+       br i1 %t32.i760, label %andand33.i769, label %wcond54.i773
+
+wbody23.i763:          ; preds = %andand33.i769
+       %t50.i762 = add i32 %t49.i759, 1                ; <i32> [#uses=2]
+       br label %wcond22.i761
+
+andand33.i769:         ; preds = %wcond22.i761
+       %t42.i766 = getelementptr i8* %line_arg831, i32 %t49.i759               ; <i8*> [#uses=1]
+       %t43.i767 = load i8* %t42.i766          ; <i8> [#uses=1]
+       %t45.i768 = icmp eq i8 %t43.i767, 32            ; <i1> [#uses=1]
+       br i1 %t45.i768, label %wcond54.i773, label %wbody23.i763
+
+wcond54.i773:          ; preds = %wbody55.i775, %andand33.i769, %wcond22.i761
+       %.frame.0.5 = phi i32 [ %t82.i774, %wbody55.i775 ], [ %.frame.0.4, %wcond22.i761 ], [ %.frame.0.4, %andand33.i769 ]             ; <i32> [#uses=1]
+       %t81.i770 = phi i32 [ %t82.i774, %wbody55.i775 ], [ %t49.i759, %wcond22.i761 ], [ %t49.i759, %andand33.i769 ]           ; <i32> [#uses=3]
+       %t64.i771 = icmp ult i32 %t81.i770, %line_arg830                ; <i1> [#uses=1]
+       br i1 %t64.i771, label %andand65.i780, label %Dt3net3ftp9FClient13FConnection13pListLineMFAaZS5t3net3ftp9FClient11FFileInfo10p_wordMFZAa.exit786
+
+wbody55.i775:          ; preds = %andand65.i780
+       %t82.i774 = add i32 %t81.i770, 1                ; <i32> [#uses=2]
+       br label %wcond54.i773
+
+andand65.i780:         ; preds = %wcond54.i773
+       %t74.i777 = getelementptr i8* %line_arg831, i32 %t81.i770               ; <i8*> [#uses=1]
+       %t75.i778 = load i8* %t74.i777          ; <i8> [#uses=1]
+       %t77.i779 = icmp eq i8 %t75.i778, 32            ; <i1> [#uses=1]
+       br i1 %t77.i779, label %wbody55.i775, label %Dt3net3ftp9FClient13FConnection13pListLineMFAaZS5t3net3ftp9FClient11FFileInfo10p_wordMFZAa.exit786
+
+Dt3net3ftp9FClient13FConnection13pListLineMFAaZS5t3net3ftp9FClient11FFileInfo10p_wordMFZAa.exit786:            ; preds = %andand65.i780, %wcond54.i773
+       %t89.i782 = getelementptr i8* %line_arg831, i32 %.frame.0.3             ; <i8*> [#uses=4]
+       %t90.i783 = sub i32 %t49.i759, %.frame.0.3              ; <i32> [#uses=2]
+       br label %wcond.i792
+
+wcond.i792:            ; preds = %wbody.i794, %Dt3net3ftp9FClient13FConnection13pListLineMFAaZS5t3net3ftp9FClient11FFileInfo10p_wordMFZAa.exit786
+       %.frame.0.6 = phi i32 [ %.frame.0.5, %Dt3net3ftp9FClient13FConnection13pListLineMFAaZS5t3net3ftp9FClient11FFileInfo10p_wordMFZAa.exit786 ], [ %t18.i793.c, %wbody.i794 ]                ; <i32> [#uses=9]
+       %t4.i791 = icmp ult i32 %.frame.0.6, %line_arg830               ; <i1> [#uses=1]
+       br i1 %t4.i791, label %andand.i800, label %wcond22.i803
+
+wbody.i794:            ; preds = %andand.i800
+       %t18.i793.c = add i32 %.frame.0.6, 1            ; <i32> [#uses=1]
+       br label %wcond.i792
+
+andand.i800:           ; preds = %wcond.i792
+       %t11.i797 = getelementptr i8* %line_arg831, i32 %.frame.0.6             ; <i8*> [#uses=1]
+       %t12.i798 = load i8* %t11.i797          ; <i8> [#uses=1]
+       %t14.i799 = icmp eq i8 %t12.i798, 32            ; <i1> [#uses=1]
+       br i1 %t14.i799, label %wbody.i794, label %wcond22.i803
+
+wcond22.i803:          ; preds = %wbody23.i805, %andand.i800, %wcond.i792
+       %t49.i801 = phi i32 [ %t50.i804, %wbody23.i805 ], [ %.frame.0.6, %wcond.i792 ], [ %.frame.0.6, %andand.i800 ]           ; <i32> [#uses=7]
+       %t32.i802 = icmp ult i32 %t49.i801, %line_arg830                ; <i1> [#uses=1]
+       br i1 %t32.i802, label %andand33.i811, label %wcond54.i815
+
+wbody23.i805:          ; preds = %andand33.i811
+       %t50.i804 = add i32 %t49.i801, 1                ; <i32> [#uses=1]
+       br label %wcond22.i803
+
+andand33.i811:         ; preds = %wcond22.i803
+       %t42.i808 = getelementptr i8* %line_arg831, i32 %t49.i801               ; <i8*> [#uses=1]
+       %t43.i809 = load i8* %t42.i808          ; <i8> [#uses=1]
+       %t45.i810 = icmp eq i8 %t43.i809, 32            ; <i1> [#uses=1]
+       br i1 %t45.i810, label %wcond54.i815, label %wbody23.i805
+
+wcond54.i815:          ; preds = %wbody55.i817, %andand33.i811, %wcond22.i803
+       %t81.i812 = phi i32 [ %t82.i816, %wbody55.i817 ], [ %t49.i801, %wcond22.i803 ], [ %t49.i801, %andand33.i811 ]           ; <i32> [#uses=3]
+       %t64.i813 = icmp ult i32 %t81.i812, %line_arg830                ; <i1> [#uses=1]
+       br i1 %t64.i813, label %andand65.i822, label %Dt3net3ftp9FClient13FConnection13pListLineMFAaZS5t3net3ftp9FClient11FFileInfo10p_wordMFZAa.exit828
+
+wbody55.i817:          ; preds = %andand65.i822
+       %t82.i816 = add i32 %t81.i812, 1                ; <i32> [#uses=1]
+       br label %wcond54.i815
+
+andand65.i822:         ; preds = %wcond54.i815
+       %t74.i819 = getelementptr i8* %line_arg831, i32 %t81.i812               ; <i8*> [#uses=1]
+       %t75.i820 = load i8* %t74.i819          ; <i8> [#uses=1]
+       %t77.i821 = icmp eq i8 %t75.i820, 32            ; <i1> [#uses=1]
+       br i1 %t77.i821, label %wbody55.i817, label %Dt3net3ftp9FClient13FConnection13pListLineMFAaZS5t3net3ftp9FClient11FFileInfo10p_wordMFZAa.exit828
+
+Dt3net3ftp9FClient13FConnection13pListLineMFAaZS5t3net3ftp9FClient11FFileInfo10p_wordMFZAa.exit828:            ; preds = %andand65.i822, %wcond54.i815
+       %t89.i824 = getelementptr i8* %line_arg831, i32 %.frame.0.6             ; <i8*> [#uses=4]
+       %t90.i825 = sub i32 %t49.i801, %.frame.0.6              ; <i32> [#uses=2]
+       %t63 = load i8* %t89.i824               ; <i8> [#uses=2]
+       br label %forcondi622
+
+forcondi622:           ; preds = %forbodyi626, %Dt3net3ftp9FClient13FConnection13pListLineMFAaZS5t3net3ftp9FClient11FFileInfo10p_wordMFZAa.exit828
+       %l.0i618 = phi i32 [ 10, %Dt3net3ftp9FClient13FConnection13pListLineMFAaZS5t3net3ftp9FClient11FFileInfo10p_wordMFZAa.exit828 ], [ %t4i620, %forbodyi626 ]               ; <i32> [#uses=2]
+       %p.0i619 = phi i8* [ getelementptr ([11 x i8]* @.str170, i32 0, i32 -1), %Dt3net3ftp9FClient13FConnection13pListLineMFAaZS5t3net3ftp9FClient11FFileInfo10p_wordMFZAa.exit828 ], [ %t7i623, %forbodyi626 ]               ; <i8*> [#uses=1]
+       %t4i620 = add i32 %l.0i618, -1          ; <i32> [#uses=1]
+       %t5i621 = icmp eq i32 %l.0i618, 0               ; <i1> [#uses=1]
+       br i1 %t5i621, label %if65, label %forbodyi626
+
+forbodyi626:           ; preds = %forcondi622
+       %t7i623 = getelementptr i8* %p.0i619, i32 1             ; <i8*> [#uses=3]
+       %t8i624 = load i8* %t7i623              ; <i8> [#uses=1]
+       %t12i625 = icmp eq i8 %t8i624, %t63             ; <i1> [#uses=1]
+       br i1 %t12i625, label %ifi630, label %forcondi622
+
+ifi630:                ; preds = %forbodyi626
+       %t15i627 = ptrtoint i8* %t7i623 to i32          ; <i32> [#uses=1]
+       %t17i629 = sub i32 %t15i627, ptrtoint ([11 x i8]* @.str170 to i32)              ; <i32> [#uses=1]
+       %phit636 = icmp eq i32 %t17i629, 10             ; <i1> [#uses=1]
+       br i1 %phit636, label %if65, label %e67
+
+if65:          ; preds = %ifi630, %forcondi622
+       %t4i532 = icmp eq i32 %t49.i759, %.frame.0.3            ; <i1> [#uses=1]
+       br i1 %t4i532, label %Dt4x7c7I11V4tTaZ4tFAaKbKkZk.exit.i576, label %forcondi539
+
+forcondi539:           ; preds = %zi546, %if65
+       %sign.1.i533 = phi i1 [ %sign.0.i543, %zi546 ], [ false, %if65 ]                ; <i1> [#uses=2]
+       %l.0i534 = phi i32 [ %t33i545, %zi546 ], [ %t90.i783, %if65 ]           ; <i32> [#uses=3]
+       %p.0i535 = phi i8* [ %t30i544, %zi546 ], [ %t89.i782, %if65 ]           ; <i8*> [#uses=6]
+       %c.0.ini536 = phi i8* [ %t30i544, %zi546 ], [ %t89.i782, %if65 ]                ; <i8*> [#uses=1]
+       %c.0i537 = load i8* %c.0.ini536         ; <i8> [#uses=2]
+       %t8i538 = icmp eq i32 %l.0i534, 0               ; <i1> [#uses=1]
+       br i1 %t8i538, label %endfori550, label %forbodyi540
+
+forbodyi540:           ; preds = %forcondi539
+       switch i8 %c.0i537, label %endfori550 [
+               i8 32, label %zi546
+               i8 9, label %zi546
+               i8 45, label %if20i541
+               i8 43, label %if26i542
+       ]
+
+if20i541:              ; preds = %forbodyi540
+       br label %zi546
+
+if26i542:              ; preds = %forbodyi540
+       br label %zi546
+
+zi546:         ; preds = %if26i542, %if20i541, %forbodyi540, %forbodyi540
+       %sign.0.i543 = phi i1 [ false, %if26i542 ], [ true, %if20i541 ], [ %sign.1.i533, %forbodyi540 ], [ %sign.1.i533, %forbodyi540 ]         ; <i1> [#uses=1]
+       %t30i544 = getelementptr i8* %p.0i535, i32 1            ; <i8*> [#uses=2]
+       %t33i545 = add i32 %l.0i534, -1         ; <i32> [#uses=1]
+       br label %forcondi539
+
+endfori550:            ; preds = %forbodyi540, %forcondi539
+       %t37i547 = icmp eq i8 %c.0i537, 48              ; <i1> [#uses=1]
+       %t39i548 = icmp sgt i32 %l.0i534, 1             ; <i1> [#uses=1]
+       %or.condi549 = and i1 %t37i547, %t39i548                ; <i1> [#uses=1]
+       br i1 %or.condi549, label %if40i554, label %endif41i564
+
+if40i554:              ; preds = %endfori550
+       %t43i551 = getelementptr i8* %p.0i535, i32 1            ; <i8*> [#uses=2]
+       %t44i552 = load i8* %t43i551            ; <i8> [#uses=1]
+       %t45i553 = zext i8 %t44i552 to i32              ; <i32> [#uses=1]
+       switch i32 %t45i553, label %endif41i564 [
+               i32 120, label %case46i556
+               i32 88, label %case46i556
+               i32 98, label %case51i558
+               i32 66, label %case51i558
+               i32 111, label %case56i560
+               i32 79, label %case56i560
+       ]
+
+case46i556:            ; preds = %if40i554, %if40i554
+       %t48i555 = getelementptr i8* %p.0i535, i32 2            ; <i8*> [#uses=1]
+       br label %endif41i564
+
+case51i558:            ; preds = %if40i554, %if40i554
+       %t53i557 = getelementptr i8* %p.0i535, i32 2            ; <i8*> [#uses=1]
+       br label %endif41i564
+
+case56i560:            ; preds = %if40i554, %if40i554
+       %t58i559 = getelementptr i8* %p.0i535, i32 2            ; <i8*> [#uses=1]
+       br label %endif41i564
+
+endif41i564:           ; preds = %case56i560, %case51i558, %case46i556, %if40i554, %endfori550
+       %r.0i561 = phi i32 [ 0, %if40i554 ], [ 8, %case56i560 ], [ 2, %case51i558 ], [ 16, %case46i556 ], [ 0, %endfori550 ]            ; <i32> [#uses=2]
+       %p.2i562 = phi i8* [ %t43i551, %if40i554 ], [ %t58i559, %case56i560 ], [ %t53i557, %case51i558 ], [ %t48i555, %case46i556 ], [ %p.0i535, %endfori550 ]          ; <i8*> [#uses=2]
+       %t63i563 = icmp eq i32 %r.0i561, 0              ; <i1> [#uses=1]
+       br i1 %t63i563, label %Dt4x7c7I11V4tTaZ4tFAaKbKkZk.exit.i576, label %if70i568
+
+if70i568:              ; preds = %endif41i564
+       br label %Dt4x7c7I11V4tTaZ4tFAaKbKkZk.exit.i576
+
+Dt4x7c7I11V4tTaZ4tFAaKbKkZk.exit.i576:         ; preds = %if70i568, %endif41i564, %if65
+       %radix.0.i570 = phi i32 [ 0, %if65 ], [ %r.0i561, %if70i568 ], [ 10, %endif41i564 ]             ; <i32> [#uses=2]
+       %p.1i571 = phi i8* [ %p.2i562, %if70i568 ], [ %t89.i782, %if65 ], [ %p.2i562, %endif41i564 ]            ; <i8*> [#uses=1]
+       %t84i572 = ptrtoint i8* %p.1i571 to i32         ; <i32> [#uses=1]
+       %t85i573 = ptrtoint i8* %t89.i782 to i32                ; <i32> [#uses=1]
+       %t86i574 = sub i32 %t84i572, %t85i573           ; <i32> [#uses=2]
+       %t6.i575 = sub i32 %t90.i783, %t86i574          ; <i32> [#uses=1]
+       %t59i604 = zext i32 %radix.0.i570 to i64                ; <i64> [#uses=1]
+       br label %fcondi581
+
+fcondi581:             ; preds = %if55i610, %Dt4x7c7I11V4tTaZ4tFAaKbKkZk.exit.i576
+       %value.0i577 = phi i64 [ 0, %Dt4x7c7I11V4tTaZ4tFAaKbKkZk.exit.i576 ], [ %t65i607, %if55i610 ]           ; <i64> [#uses=1]
+       %fkey.0i579 = phi i32 [ 0, %Dt4x7c7I11V4tTaZ4tFAaKbKkZk.exit.i576 ], [ %t70i609, %if55i610 ]            ; <i32> [#uses=3]
+       %t3i580 = icmp ult i32 %fkey.0i579, %t6.i575            ; <i1> [#uses=1]
+       br i1 %t3i580, label %fbodyi587, label %wcond.i422
+
+fbodyi587:             ; preds = %fcondi581
+       %t5.s.i582 = add i32 %t86i574, %fkey.0i579              ; <i32> [#uses=1]
+       %t89.i782.s = add i32 %.frame.0.3, %t5.s.i582           ; <i32> [#uses=1]
+       %t5i583 = getelementptr i8* %line_arg831, i32 %t89.i782.s               ; <i8*> [#uses=1]
+       %t6i584 = load i8* %t5i583              ; <i8> [#uses=6]
+       %t6.off84i585 = add i8 %t6i584, -48             ; <i8> [#uses=1]
+       %or.cond.i28.i586 = icmp ugt i8 %t6.off84i585, 9                ; <i1> [#uses=1]
+       br i1 %or.cond.i28.i586, label %ei590, label %endifi603
+
+ei590:         ; preds = %fbodyi587
+       %t6.off83i588 = add i8 %t6i584, -97             ; <i8> [#uses=1]
+       %or.cond81i589 = icmp ugt i8 %t6.off83i588, 25          ; <i1> [#uses=1]
+       br i1 %or.cond81i589, label %e24i595, label %if22i592
+
+if22i592:              ; preds = %ei590
+       %t27i591 = add i8 %t6i584, -39          ; <i8> [#uses=1]
+       br label %endifi603
+
+e24i595:               ; preds = %ei590
+       %t6.offi593 = add i8 %t6i584, -65               ; <i8> [#uses=1]
+       %or.cond82i594 = icmp ugt i8 %t6.offi593, 25            ; <i1> [#uses=1]
+       br i1 %or.cond82i594, label %wcond.i422, label %if39i597
+
+if39i597:              ; preds = %e24i595
+       %t44.i29.i596 = add i8 %t6i584, -7              ; <i8> [#uses=1]
+       br label %endifi603
+
+endifi603:             ; preds = %if39i597, %if22i592, %fbodyi587
+       %c.0.i30.i598 = phi i8 [ %t27i591, %if22i592 ], [ %t44.i29.i596, %if39i597 ], [ %t6i584, %fbodyi587 ]           ; <i8> [#uses=1]
+       %t48.i31.i599 = zext i8 %c.0.i30.i598 to i32            ; <i32> [#uses=1]
+       %t49i600 = add i32 %t48.i31.i599, 208           ; <i32> [#uses=1]
+       %t52i601 = and i32 %t49i600, 255                ; <i32> [#uses=2]
+       %t54i602 = icmp ult i32 %t52i601, %radix.0.i570         ; <i1> [#uses=1]
+       br i1 %t54i602, label %if55i610, label %wcond.i422
+
+if55i610:              ; preds = %endifi603
+       %t61i605 = mul i64 %value.0i577, %t59i604               ; <i64> [#uses=1]
+       %t64i606 = zext i32 %t52i601 to i64             ; <i64> [#uses=1]
+       %t65i607 = add i64 %t61i605, %t64i606           ; <i64> [#uses=1]
+       %t70i609 = add i32 %fkey.0i579, 1               ; <i32> [#uses=1]
+       br label %fcondi581
+
+e67:           ; preds = %ifi630
+       %t4i447 = icmp eq i32 %t49.i801, %.frame.0.6            ; <i1> [#uses=1]
+       br i1 %t4i447, label %Dt4x7c7I11V4tTaZ4tFAaKbKkZk.exit.i491, label %forcondi454
+
+forcondi454:           ; preds = %zi461, %e67
+       %c.0i452 = phi i8 [ %c.0i452.pre, %zi461 ], [ %t63, %e67 ]              ; <i8> [#uses=2]
+       %sign.1.i448 = phi i1 [ %sign.0.i458, %zi461 ], [ false, %e67 ]         ; <i1> [#uses=2]
+       %l.0i449 = phi i32 [ %t33i460, %zi461 ], [ %t90.i825, %e67 ]            ; <i32> [#uses=3]
+       %p.0i450 = phi i8* [ %t30i459, %zi461 ], [ %t89.i824, %e67 ]            ; <i8*> [#uses=5]
+       %t8i453 = icmp eq i32 %l.0i449, 0               ; <i1> [#uses=1]
+       br i1 %t8i453, label %endfori465, label %forbodyi455
+
+forbodyi455:           ; preds = %forcondi454
+       switch i8 %c.0i452, label %endfori465 [
+               i8 32, label %zi461
+               i8 9, label %zi461
+               i8 45, label %if20i456
+               i8 43, label %if26i457
+       ]
+
+if20i456:              ; preds = %forbodyi455
+       br label %zi461
+
+if26i457:              ; preds = %forbodyi455
+       br label %zi461
+
+zi461:         ; preds = %if26i457, %if20i456, %forbodyi455, %forbodyi455
+       %sign.0.i458 = phi i1 [ false, %if26i457 ], [ true, %if20i456 ], [ %sign.1.i448, %forbodyi455 ], [ %sign.1.i448, %forbodyi455 ]         ; <i1> [#uses=1]
+       %t30i459 = getelementptr i8* %p.0i450, i32 1            ; <i8*> [#uses=2]
+       %t33i460 = add i32 %l.0i449, -1         ; <i32> [#uses=1]
+       %c.0i452.pre = load i8* %t30i459                ; <i8> [#uses=1]
+       br label %forcondi454
+
+endfori465:            ; preds = %forbodyi455, %forcondi454
+       %t37i462 = icmp eq i8 %c.0i452, 48              ; <i1> [#uses=1]
+       %t39i463 = icmp sgt i32 %l.0i449, 1             ; <i1> [#uses=1]
+       %or.condi464 = and i1 %t37i462, %t39i463                ; <i1> [#uses=1]
+       br i1 %or.condi464, label %if40i469, label %endif41i479
+
+if40i469:              ; preds = %endfori465
+       %t43i466 = getelementptr i8* %p.0i450, i32 1            ; <i8*> [#uses=2]
+       %t44i467 = load i8* %t43i466            ; <i8> [#uses=1]
+       %t45i468 = zext i8 %t44i467 to i32              ; <i32> [#uses=1]
+       switch i32 %t45i468, label %endif41i479 [
+               i32 120, label %case46i471
+               i32 111, label %case56i475
+       ]
+
+case46i471:            ; preds = %if40i469
+       %t48i470 = getelementptr i8* %p.0i450, i32 2            ; <i8*> [#uses=1]
+       br label %endif41i479
+
+case56i475:            ; preds = %if40i469
+       %t58i474 = getelementptr i8* %p.0i450, i32 2            ; <i8*> [#uses=1]
+       br label %endif41i479
+
+endif41i479:           ; preds = %case56i475, %case46i471, %if40i469, %endfori465
+       %r.0i476 = phi i32 [ 0, %if40i469 ], [ 8, %case56i475 ], [ 16, %case46i471 ], [ 0, %endfori465 ]                ; <i32> [#uses=2]
+       %p.2i477 = phi i8* [ %t43i466, %if40i469 ], [ %t58i474, %case56i475 ], [ %t48i470, %case46i471 ], [ %p.0i450, %endfori465 ]             ; <i8*> [#uses=2]
+       %t63i478 = icmp eq i32 %r.0i476, 0              ; <i1> [#uses=1]
+       br i1 %t63i478, label %Dt4x7c7I11V4tTaZ4tFAaKbKkZk.exit.i491, label %if70i483
+
+if70i483:              ; preds = %endif41i479
+       br label %Dt4x7c7I11V4tTaZ4tFAaKbKkZk.exit.i491
+
+Dt4x7c7I11V4tTaZ4tFAaKbKkZk.exit.i491:         ; preds = %if70i483, %endif41i479, %e67
+       %radix.0.i485 = phi i32 [ 0, %e67 ], [ %r.0i476, %if70i483 ], [ 10, %endif41i479 ]              ; <i32> [#uses=2]
+       %p.1i486 = phi i8* [ %p.2i477, %if70i483 ], [ %t89.i824, %e67 ], [ %p.2i477, %endif41i479 ]             ; <i8*> [#uses=1]
+       %t84i487 = ptrtoint i8* %p.1i486 to i32         ; <i32> [#uses=1]
+       %t85i488 = ptrtoint i8* %t89.i824 to i32                ; <i32> [#uses=1]
+       %t86i489 = sub i32 %t84i487, %t85i488           ; <i32> [#uses=2]
+       %ttt = sub i32 %t90.i825, %t86i489              ; <i32> [#uses=1]
+       %t59i519 = zext i32 %radix.0.i485 to i64                ; <i64> [#uses=1]
+       br label %fcondi496
+
+fcondi496:             ; preds = %if55i525, %Dt4x7c7I11V4tTaZ4tFAaKbKkZk.exit.i491
+       %value.0i492 = phi i64 [ 0, %Dt4x7c7I11V4tTaZ4tFAaKbKkZk.exit.i491 ], [ %t65i522, %if55i525 ]           ; <i64> [#uses=1]
+       %fkey.0i494 = phi i32 [ 0, %Dt4x7c7I11V4tTaZ4tFAaKbKkZk.exit.i491 ], [ %t70i524, %if55i525 ]            ; <i32> [#uses=3]
+       %t3i495 = icmp ult i32 %fkey.0i494, %ttt                ; <i1> [#uses=1]
+       br i1 %t3i495, label %fbodyi502, label %wcond.i422
+
+fbodyi502:             ; preds = %fcondi496
+       %t5.s.i497 = add i32 %t86i489, %fkey.0i494              ; <i32> [#uses=1]
+       %t89.i824.s = add i32 %.frame.0.6, %t5.s.i497           ; <i32> [#uses=1]
+       %t5i498 = getelementptr i8* %line_arg831, i32 %t89.i824.s               ; <i8*> [#uses=1]
+       %t6i499 = load i8* %t5i498              ; <i8> [#uses=6]
+       %t6.off84i500 = add i8 %t6i499, -48             ; <i8> [#uses=1]
+       %or.cond.i28.i501 = icmp ugt i8 %t6.off84i500, 9                ; <i1> [#uses=1]
+       br i1 %or.cond.i28.i501, label %ei505, label %endifi518
+
+ei505:         ; preds = %fbodyi502
+       %t6.off83i503 = add i8 %t6i499, -97             ; <i8> [#uses=1]
+       %or.cond81i504 = icmp ugt i8 %t6.off83i503, 25          ; <i1> [#uses=1]
+       br i1 %or.cond81i504, label %e24i510, label %if22i507
+
+if22i507:              ; preds = %ei505
+       %t27i506 = add i8 %t6i499, -39          ; <i8> [#uses=1]
+       br label %endifi518
+
+e24i510:               ; preds = %ei505
+       %t6.offi508 = add i8 %t6i499, -65               ; <i8> [#uses=1]
+       %or.cond82i509 = icmp ugt i8 %t6.offi508, 25            ; <i1> [#uses=1]
+       br i1 %or.cond82i509, label %wcond.i422, label %if39i512
+
+if39i512:              ; preds = %e24i510
+       %t44.i29.i511 = add i8 %t6i499, -7              ; <i8> [#uses=1]
+       br label %endifi518
+
+endifi518:             ; preds = %if39i512, %if22i507, %fbodyi502
+       %c.0.i30.i513 = phi i8 [ %t27i506, %if22i507 ], [ %t44.i29.i511, %if39i512 ], [ %t6i499, %fbodyi502 ]           ; <i8> [#uses=1]
+       %t48.i31.i514 = zext i8 %c.0.i30.i513 to i32            ; <i32> [#uses=1]
+       %t49i515 = add i32 %t48.i31.i514, 208           ; <i32> [#uses=1]
+       %t52i516 = and i32 %t49i515, 255                ; <i32> [#uses=2]
+       %t54i517 = icmp ult i32 %t52i516, %radix.0.i485         ; <i1> [#uses=1]
+       br i1 %t54i517, label %if55i525, label %wcond.i422
+
+if55i525:              ; preds = %endifi518
+       %t61i520 = mul i64 %value.0i492, %t59i519               ; <i64> [#uses=1]
+       %t64i521 = zext i32 %t52i516 to i64             ; <i64> [#uses=1]
+       %t65i522 = add i64 %t61i520, %t64i521           ; <i64> [#uses=1]
+       %t70i524 = add i32 %fkey.0i494, 1               ; <i32> [#uses=1]
+       br label %fcondi496
+
+wcond.i422:            ; preds = %e40.i, %endifi518, %e24i510, %fcondi496, %endifi603, %e24i595, %fcondi581
+       %sarg60.pn.i = phi i8* [ %p.0.i, %e40.i ], [ undef, %fcondi496 ], [ undef, %e24i510 ], [ undef, %endifi518 ], [ undef, %endifi603 ], [ undef, %e24i595 ], [ undef, %fcondi581 ]         ; <i8*> [#uses=3]
+       %start_arg.pn.i = phi i32 [ %t49.i443, %e40.i ], [ 0, %fcondi496 ], [ 0, %e24i510 ], [ 0, %endifi518 ], [ 0, %endifi603 ], [ 0, %e24i595 ], [ 0, %fcondi581 ]           ; <i32> [#uses=3]
+       %extent.0.i = phi i32 [ %t51.i, %e40.i ], [ undef, %fcondi496 ], [ undef, %e24i510 ], [ undef, %endifi518 ], [ undef, %endifi603 ], [ undef, %e24i595 ], [ undef, %fcondi581 ]          ; <i32> [#uses=3]
+       %p.0.i = getelementptr i8* %sarg60.pn.i, i32 %start_arg.pn.i            ; <i8*> [#uses=2]
+       %p.0.s63.i = add i32 %start_arg.pn.i, -1                ; <i32> [#uses=1]
+       %t2i424 = getelementptr i8* %sarg60.pn.i, i32 %p.0.s63.i                ; <i8*> [#uses=1]
+       br label %forcondi430
+
+forcondi430:           ; preds = %forbodyi434, %wcond.i422
+       %l.0i426 = phi i32 [ %extent.0.i, %wcond.i422 ], [ %t4i428, %forbodyi434 ]              ; <i32> [#uses=2]
+       %p.0i427 = phi i8* [ %t2i424, %wcond.i422 ], [ %t7i431, %forbodyi434 ]          ; <i8*> [#uses=1]
+       %t4i428 = add i32 %l.0i426, -1          ; <i32> [#uses=1]
+       %t5i429 = icmp eq i32 %l.0i426, 0               ; <i1> [#uses=1]
+       br i1 %t5i429, label %e.i441, label %forbodyi434
+
+forbodyi434:           ; preds = %forcondi430
+       %t7i431 = getelementptr i8* %p.0i427, i32 1             ; <i8*> [#uses=3]
+       %t8i432 = load i8* %t7i431              ; <i8> [#uses=1]
+       %t12i433 = icmp eq i8 %t8i432, 32               ; <i1> [#uses=1]
+       br i1 %t12i433, label %ifi438, label %forcondi430
+
+ifi438:                ; preds = %forbodyi434
+       %t15i435 = ptrtoint i8* %t7i431 to i32          ; <i32> [#uses=1]
+       %t16i436 = ptrtoint i8* %p.0.i to i32           ; <i32> [#uses=1]
+       %t17i437 = sub i32 %t15i435, %t16i436           ; <i32> [#uses=1]
+       br label %e.i441
+
+e.i441:                ; preds = %ifi438, %forcondi430
+       %t2561.i = phi i32 [ %t17i437, %ifi438 ], [ %extent.0.i, %forcondi430 ]         ; <i32> [#uses=2]
+       %p.0.s.i = add i32 %start_arg.pn.i, %t2561.i            ; <i32> [#uses=1]
+       %t32.s.i = add i32 %p.0.s.i, -1         ; <i32> [#uses=1]
+       %t2i.i = getelementptr i8* %sarg60.pn.i, i32 %t32.s.i           ; <i8*> [#uses=1]
+       br label %forbodyi.i
+
+forbodyi.i:            ; preds = %forbodyi.i, %e.i441
+       %p.0i.i = phi i8* [ %t2i.i, %e.i441 ], [ %t7i.i, %forbodyi.i ]          ; <i8*> [#uses=1]
+       %s2.0i.i = phi i8* [ getelementptr ([5 x i8]* @.str171, i32 0, i32 0), %e.i441 ], [ %t11i.i, %forbodyi.i ]              ; <i8*> [#uses=2]
+       %t7i.i = getelementptr i8* %p.0i.i, i32 1               ; <i8*> [#uses=2]
+       %t8i.i = load i8* %t7i.i                ; <i8> [#uses=1]
+       %t11i.i = getelementptr i8* %s2.0i.i, i32 1             ; <i8*> [#uses=1]
+       %t12i.i = load i8* %s2.0i.i             ; <i8> [#uses=1]
+       %t14i.i = icmp eq i8 %t8i.i, %t12i.i            ; <i1> [#uses=1]
+       br i1 %t14i.i, label %forbodyi.i, label %e40.i
+
+e40.i:         ; preds = %forbodyi.i
+       %t49.i443 = add i32 %t2561.i, 1         ; <i32> [#uses=2]
+       %t51.i = sub i32 %extent.0.i, %t49.i443         ; <i32> [#uses=1]
+       br label %wcond.i422
 }