blob: ba0c452948a0a13571c9739a96341f2c9a64e10c [file] [log] [blame]
Dan Gohman15be1e32009-07-13 22:30:31 +00001; RUN: llvm-as < %s | llc
2; PR4534
3
4; ModuleID = 'tango.net.ftp.FtpClient.bc'
5target 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"
6target triple = "powerpc-apple-darwin9.6.0"
7 type { i32, i32, i8*, i32, %tango.net.Socket.timeval } ; type %0
8 type { i8*, i32 (i8*, %"tango.text.Regex.List!(TNFAFragment).List.Element"**)* } ; type %1
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*)*, 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
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*)*, 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
11 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
12 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
13 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
14 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
15 type { %object.Interface* } ; type %8
16 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
17 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
18 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
19 type { %object.Interface*, i32 (%tango.io.device.Device.Device*)* } ; type %12
20 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
21 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
22 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
23 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
24 type { %object.Interface*, i32 (%tango.net.SocketConduit.SocketConduit*)* } ; type %17
25 type { i8*, i32 (i8*, %"tango.text.Regex.List!(StateElement).List.Element"**)* } ; type %18
26 type { i8*, i32 (i8*, %"tango.text.Regex.List!(SubsetState).List.Element"**)* } ; type %19
27 type { %object.TypeInfo.__vtbl*, i8*, %"byte[]", %"byte[]", i8*, i8*, i8*, i8*, i32 } ; type %20
28 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
29 type opaque ; type %22
30 type opaque ; type %23
31 type opaque ; type %24
32 type opaque ; type %25
33 type opaque ; type %26
34 type opaque ; type %27
35 type opaque ; type %28
36 type opaque ; type %29
37 type opaque ; type %30
38 type { i32, void ()* } ; type %31
39 type opaque ; type %32
40 type { %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*, %"tango.text.Regex.TNFA!(dchar).TNFA"* } ; type %33
41 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
42 type { i32, %"byte[]" } ; type %35
43 %"Act[]" = type { i32, i32* }
44 %"CharRange!(dchar)[]" = type { i32, %tango.net.Socket.timeval* }
45 %"ClassInfo[]" = type { i32, %object.ClassInfo** }
46 %"Command[]" = type { i32, %tango.net.Socket.timeval* }
47 %D_CRITICAL_SECTION = type { %D_CRITICAL_SECTION*, %0 }
48 %"FtpFeature[]" = type { i32, %tango.net.ftp.FtpClient.FtpFeature* }
49 %"FtpFileInfo[]" = type { i32, %tango.net.ftp.FtpClient.FtpFileInfo* }
50 %"Interface[]" = type { i32, %object.Interface* }
51 %"Mark[]" = type { i32, %"tango.text.Regex.TDFA!(dchar).TDFA.Mark"* }
52 %"ModuleInfo[]" = type { i32, %object.ModuleInfo** }
53 %ModuleReference = type { %ModuleReference*, %object.ModuleInfo* }
54 %"OffsetTypeInfo[]" = type { i32, %object.OffsetTypeInfo* }
55 %"Operator[]" = type { i32, i32* }
56 %"Pair!(uint)[]" = type { i32, %tango.net.Socket.timeval* }
57 %"Predicate!(dchar)[]" = type { i32, %"tango.text.Regex.Predicate!(dchar).Predicate"* }
58 %"StateElement[]" = type { i32, %"tango.text.Regex.TDFA!(dchar).TDFA.StateElement"** }
59 %"State[]" = type { i32, %"tango.text.Regex.TDFA!(dchar).TDFA.State"** }
60 %"TNFAState[]" = type { i32, %"tango.text.Regex.TNFAState!(dchar).TNFAState"** }
61 %"TNFATransition[]" = type { i32, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** }
62 %"Transition[]" = type { i32, %"tango.text.Regex.TDFA!(dchar).TDFA.Transition"** }
63 %"TypeInfo[]" = type { i32, %object.TypeInfo** }
64 %"_FormatterInfo!(char)[]" = type { i32, %nest.parseListLine* }
65 %"byte[]" = type { i32, i8* }
66 %"char[]" = type { i32, i8* }
67 %"char[] delegate(RegExpT)" = type { i8*, %"byte[]" (i8*, %"tango.text.Regex.RegExpT!(char).RegExpT"*)* }
68 %"char[][]" = type { i32, %"byte[]"* }
69 %"dchar[]" = type { i32, i32* }
70 %"dchar[][]" = type { i32, %"Act[]"* }
71 %"int delegate(ref Element)" = type { i8*, i32 (i8*, %"tango.text.Regex.List!(TNFATransition).List.Element"**)* }
72 %"int delegate(ref FrameInfo fInfo)" = type { i8*, i32 (i8*, %object.Exception.FrameInfo*)* }
73 %"int delegate(ref ModuleInfo)" = type { i8*, i32 (i8*, %object.ModuleInfo**)* }
74 %"int delegate(ref RegExpT)" = type { i8*, i32 (i8*, %"tango.text.Regex.RegExpT!(char).RegExpT"**)* }
75 %"int delegate(ref StateElement)" = type { i8*, i32 (i8*, %"tango.text.Regex.TDFA!(dchar).TDFA.StateElement"**)* }
76 %"int delegate(ref SubsetState)" = type { i8*, i32 (i8*, %"tango.text.Regex.TDFA!(dchar).TDFA.SubsetState"**)* }
77 %"int delegate(ref TNFAFragment)" = type { i8*, i32 (i8*, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"**)* }
78 %"int delegate(ref TNFATransition)" = type { i8*, i32 (i8*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"**)* }
79 %"int delegate(ref char[])" = type { i8*, i32 (i8*, %"byte[]"*)* }
80 %"int delegate(ref int, ref char[])" = type { i8*, i32 (i8*, i32*, %"byte[]"*)* }
81 %"int delegate(ref int, ref char[], ref char[])" = type { i8*, i32 (i8*, i32*, %"byte[]"*, %"byte[]"*)* }
82 %"int[]" = type { i32, i32* }
83 %nest.clone = type { %"tango.text.Regex.TNFAState!(dchar).TNFAState"*, %"tango.text.Regex.TNFA!(dchar).TNFA"* }
84 %nest.delimit = type { %"char[][]" }
85 %nest.dostime = type { %tango.time.Time.Date }
86 %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"* }
87 %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"* }
88 %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"* }
89 %nest.parseListLine = type { i32, %"byte[]", %"byte[]" }
90 %nest.setEntry = type { %"tango.text.Regex.TNFAState!(dchar).TNFAState"* }
91 %nest.setExit = type { %"tango.text.Regex.TNFAState!(dchar).TNFAState"* }
92 %nest.splitLines = type { i32, %"char[][]" }
93 %object.ClassInfo = type { %object.ClassInfo.__vtbl*, i8*, %"byte[]", %"byte[]", %"void*[]", %"Interface[]", %object.ClassInfo*, i8*, i8*, i32, i8*, %"OffsetTypeInfo[]", i8*, %object.TypeInfo* }
94 %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*)* }
95 %object.Exception = type { %object.Exception.__vtbl*, i8*, %"byte[]", %"byte[]", i32, %object.Exception.TraceInfo*, %object.Exception* }
96 %object.Exception.FrameInfo = type { i64, i32, i32, i32, %"byte[]", %"byte[]", [256 x i8] }
97 %object.Exception.TraceInfo = type { %object.Exception.TraceInfo.__vtbl* }
98 %object.Exception.TraceInfo.__vtbl = type { %object.ClassInfo*, i32 (%object.Exception.TraceInfo*, %"int delegate(ref FrameInfo fInfo)")* }
99 %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[])")* }
100 %object.Interface = type { %object.ClassInfo*, %"void*[]", i32 }
101 %object.ModuleInfo = type { %object.ModuleInfo.__vtbl*, i8*, %"byte[]", %"ModuleInfo[]", %"ClassInfo[]", i32, void ()*, void ()*, void ()*, i8*, void ()* }
102 %object.ModuleInfo.__vtbl = type { %object.ClassInfo*, %"byte[]" (%object.Object*)*, i32 (%object.Object*)*, i32 (%object.Object*, %object.Object*)*, i32 (%object.Object*, %object.Object*)* }
103 %object.Object = type { %object.ModuleInfo.__vtbl*, i8* }
104 %object.Object.Monitor = type { %object.Object.Monitor.__vtbl* }
105 %object.Object.Monitor.__vtbl = type { %object.ClassInfo*, void (%object.Object.Monitor*)*, void (%object.Object.Monitor*)* }
106 %object.Object.__vtbl = type { %object.ClassInfo*, %"byte[]" (%object.Object*)*, i32 (%object.Object*)*, i32 (%object.Object*, %object.Object*)*, i32 (%object.Object*, %object.Object*)* }
107 %object.OffsetTypeInfo = type { i32, %object.TypeInfo* }
108 %object.TypeInfo = type { %object.TypeInfo.__vtbl*, i8* }
109 %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*)* }
110 %object.TypeInfo_Array = type { %object.TypeInfo.__vtbl*, i8*, %object.TypeInfo* }
111 %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*)* }
112 %object.TypeInfo_Class = type { %object.TypeInfo.__vtbl*, i8*, %object.ClassInfo* }
113 %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*)* }
114 %object.TypeInfo_Enum = type { %object.TypeInfo.__vtbl*, i8*, %object.TypeInfo*, %"byte[]", %"byte[]" }
115 %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*)* }
116 %object.TypeInfo_StaticArray = type { %object.TypeInfo.__vtbl*, i8*, %object.TypeInfo*, i32 }
117 %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*)* }
118 %object.TypeInfo_Struct = type { %object.TypeInfo.__vtbl*, i8*, %"byte[]", %"byte[]", i32 ()*, i32 (i8*)*, i32 (i8*)*, %"byte[]" ()*, i32 }
119 %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*)* }
120 %object.TypeInfo_Typedef = type { %object.TypeInfo.__vtbl*, i8*, %object.TypeInfo*, %"byte[]", %"byte[]" }
121 %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*)* }
122 %"tango.core.Array.IsEqual!(char).IsEqual" = type <{ i8 }>
123 %tango.core.Exception.IllegalArgumentException = type { %object.Exception.__vtbl*, i8*, %"byte[]", %"byte[]", i32, %object.Exception.TraceInfo*, %object.Exception* }
124 %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[])")* }
125 %tango.io.device.Array.Array = type { %tango.io.device.Array.Array.__vtbl*, i8*, %4*, %5*, %"byte[]", i32, i32, i32, i32, %6*, %7*, %8* }
126 %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)* }
127 %tango.io.device.Conduit.Conduit = type { %tango.io.device.Conduit.Conduit.__vtbl*, i8*, %2*, %3* }
128 %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)* }
129 %tango.io.device.Conduit.InputFilter = type { %tango.io.device.Conduit.InputFilter.__vtbl*, i8*, %tango.io.model.IConduit.InputStream*, %9* }
130 %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*)* }
131 %tango.io.device.Device.Device = type { %tango.io.device.Device.Device.__vtbl*, i8*, %10*, %11*, i32, %12* }
132 %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)* }
133 %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* }
134 %tango.io.device.File.File.Style = type <{ i8, i8, i8, i8 }>
135 %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)* }
136 %tango.io.model.IConduit.IConduit = type { %tango.io.model.IConduit.IConduit.__vtbl* }
137 %tango.io.model.IConduit.IConduit.Seek = type { %tango.io.model.IConduit.IConduit.Seek.__vtbl* }
138 %tango.io.model.IConduit.IConduit.Seek.__vtbl = type { %object.ClassInfo* }
139 %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[]")* }
140 %tango.io.model.IConduit.IOStream = type { %tango.io.model.IConduit.IOStream.__vtbl* }
141 %tango.io.model.IConduit.IOStream.Mutator = type { %tango.io.model.IConduit.IConduit.Seek.__vtbl* }
142 %tango.io.model.IConduit.IOStream.Mutator.__vtbl = type { %object.ClassInfo* }
143 %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*)* }
144 %tango.io.model.IConduit.ISelectable = type { %tango.io.model.IConduit.ISelectable.__vtbl* }
145 %tango.io.model.IConduit.ISelectable.__vtbl = type { %object.ClassInfo*, i32 (%tango.io.model.IConduit.ISelectable*)* }
146 %tango.io.model.IConduit.InputBuffer = type { %tango.io.model.IConduit.InputBuffer.__vtbl* }
147 %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[])")* }
148 %tango.io.model.IConduit.InputStream = type { %tango.io.model.IConduit.InputStream.__vtbl* }
149 %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*)* }
150 %tango.io.model.IConduit.OutputBuffer = type { %tango.io.model.IConduit.OutputBuffer.__vtbl* }
151 %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[])")* }
152 %tango.io.model.IConduit.OutputStream = type { %tango.io.model.IConduit.OutputStream.__vtbl* }
153 %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*)* }
154 %"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[]" }
155 %"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[])")* }
156 %"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[]" }
157 %"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[])")* }
158 %tango.net.Socket.Address = type { %tango.net.Socket.Address.__vtbl*, i8* }
159 %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*)* }
160 %tango.net.Socket.IPv4Address = type { %tango.net.Socket.IPv4Address.__vtbl*, i8*, [8 x i8], %tango.net.Socket.IPv4Address.sockaddr_in }
161 %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*)* }
162 %tango.net.Socket.IPv4Address.sockaddr_in = type { i16, i16, i32, [8 x i8] }
163 %tango.net.Socket.NetHost = type { %tango.net.Socket.NetHost.__vtbl*, i8*, %"byte[]", %"char[][]", %"Act[]" }
164 %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[]")* }
165 %tango.net.Socket.Socket = type { %tango.net.Socket.Socket.__vtbl*, i8*, i32, i32, i32, i32 }
166 %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[]")* }
167 %tango.net.Socket.SocketSet = type { %tango.net.Socket.SocketSet.__vtbl*, i8*, i32, i8*, i32, i32 }
168 %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*)* }
169 %tango.net.Socket.fd_set = type <{ i8 }>
170 %tango.net.Socket.hostent = type { i8*, i8**, i32, i32, i8** }
171 %tango.net.Socket.sockaddr = type { i16, [14 x i8] }
172 %tango.net.Socket.timeval = type { i32, i32 }
173 %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* }
174 %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*)* }
175 %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 }
176 %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[]")* }
177 %tango.net.ftp.FtpClient.FtpAddress = type { %"byte[]", %"byte[]", %"byte[]", %"byte[]", i32 }
178 %tango.net.ftp.FtpClient.FtpConnectionDetail = type { i32, %tango.net.Socket.Address*, %tango.net.Socket.Address* }
179 %tango.net.ftp.FtpClient.FtpException = type { %tango.net.ftp.FtpClient.FtpException.__vtbl*, i8*, %"byte[]", %"byte[]", i32, %object.Exception.TraceInfo*, %object.Exception*, [3 x i8] }
180 %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[])")* }
181 %tango.net.ftp.FtpClient.FtpFeature = type { %"byte[]", %"byte[]" }
182 %tango.net.ftp.FtpClient.FtpFileInfo = type { %"byte[]", i32, i64, %tango.time.Time.Time, %tango.time.Time.Time, %"byte[]", i8* }
183 %tango.net.ftp.FtpClient.FtpResponse = type { [3 x i8], %"byte[]" }
184 %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] }
185 %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)* }
186 %"tango.text.Regex.CharClass!(dchar).CharClass" = type { %"CharRange!(dchar)[]" }
187 %"tango.text.Regex.CharRange!(dchar).CharRange" = type { i32, i32 }
188 %"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"* }
189 %"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"* }
190 %"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*)* }
191 %"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)")* }
192 %"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"* }
193 %"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"* }
194 %"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*)* }
195 %"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)")* }
196 %"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"* }
197 %"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"* }
198 %"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*)* }
199 %"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)")* }
200 %"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"* }
201 %"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"* }
202 %"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*)* }
203 %"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)")* }
204 %"tango.text.Regex.Pair!(uint).Pair" = type { i32, i32 }
205 %"tango.text.Regex.Predicate!(dchar).Predicate" = type { %"tango.text.Regex.CharClass!(dchar).CharClass", i32, i32, %"byte[]", i32 }
206 %tango.text.Regex.RegExpException = type { %object.Exception.__vtbl*, i8*, %"byte[]", %"byte[]", i32, %object.Exception.TraceInfo*, %object.Exception* }
207 %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[])")* }
208 %"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[]" }
209 %"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"*)* }
210 %"tango.text.Regex.Stack!(Operator).Stack" = type { i32, %"Act[]" }
211 %"tango.text.Regex.Stack!(Pair!(uint)).Stack" = type { i32, %"CharRange!(dchar)[]" }
212 %"tango.text.Regex.Stack!(TNFATransition).Stack" = type { i32, %"TNFATransition[]" }
213 %"tango.text.Regex.Stack!(uint).Stack" = type { i32, %"Act[]" }
214 %"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[]" }
215 %"tango.text.Regex.TDFA!(dchar).TDFA.Command" = type { i32, i32 }
216 %"tango.text.Regex.TDFA!(dchar).TDFA.Mark" = type { i32, i1, i8, i16 }
217 %"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"* }
218 %"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"*)* }
219 %"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"* }
220 %"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"*)* }
221 %"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"* }
222 %"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)")* }
223 %"tango.text.Regex.TDFA!(dchar).TDFA.TagIndex" = type { i32, i32 }
224 %"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"* }
225 %"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"*)* }
226 %"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"*)* }
227 %"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* }
228 %"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)* }
229 %"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 }
230 %"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"*)* }
231 %"tango.text.Regex.TNFAState!(dchar).TNFAState" = type { %object.ModuleInfo.__vtbl*, i8*, i1, i1, i32, %"tango.text.Regex.List!(TNFATransition).List"* }
232 %"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*)* }
233 %"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 }
234 %"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*)* }
235 %"tango.text.Util.DelimFruct!(char).DelimFruct" = type { %"byte[]", %"byte[]" }
236 %"tango.text.Util.LineFruct!(char).LineFruct" = type { %"byte[]" }
237 %"tango.text.convert.Integer._FormatterInfo!(char)._FormatterInfo" = type { i32, %"byte[]", %"byte[]" }
238 %"tango.text.convert.Integer._FormatterInfo!(dchar)._FormatterInfo" = type { i32, %"Act[]", %"Act[]" }
239 %"tango.text.convert.Integer._FormatterInfo!(wchar)._FormatterInfo" = type { i32, %"wchar[]", %"wchar[]" }
240 %"tango.text.convert.Layout.Layout!(char).Layout" = type { %"tango.text.convert.Layout.Layout!(char).Layout.__vtbl"*, i8* }
241 %"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[]")* }
242 %tango.time.Time.Date = type { i32, i32, i32, i32, i32, i32 }
243 %tango.time.Time.DateTime = type { %tango.time.Time.Date, %tango.time.Time.TimeOfDay }
244 %tango.time.Time.Time = type { i64 }
245 %tango.time.Time.TimeOfDay = type { i32, i32, i32, i32 }
246 %tango.time.Time.TimeSpan = type { i64 }
247 %tango.time.chrono.Calendar.Calendar = type { %tango.time.chrono.Calendar.Calendar.__vtbl*, i8* }
248 %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)* }
249 %tango.time.chrono.Gregorian.Gregorian = type { %tango.time.chrono.Gregorian.Gregorian.__vtbl*, i8*, i32 }
250 %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*)* }
251 %"ubyte[]" = type { i32, i8* }
252 %"uint delegate(char[])" = type { i8*, i32 (i8*, %"byte[]")* }
253 %"uint delegate(void[])" = type { i8*, i32 (i8*, %"byte[]")* }
254 %"uint[]" = type { i32, i32* }
255 %"void delegate(char[])" = type { i8*, void (i8*, %"byte[]")* }
256 %"void delegate(uint pos)" = type { i8*, void (i8*, i32)* }
257 %"void*[]" = type { i32, i8** }
258 %"void[]" = type { i32, i8* }
259 %"wchar[]" = type { i32, i16* }
260 %"wchar[][]" = type { i32, %"wchar[]"* }
261@_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]
262@.str = internal constant [10 x i8] c"anonymous\00" ; <[10 x i8]*> [#uses=1]
263@.str1 = internal constant [20 x i8] c"anonymous@anonymous\00" ; <[20 x i8]*> [#uses=1]
264@_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]
265@_D6Object7__ClassZ = external global %object.ClassInfo ; <%object.ClassInfo*> [#uses=11]
266@_D15TypeInfo_Struct6__vtblZ = external constant %object.TypeInfo.__vtbl ; <%object.TypeInfo.__vtbl*> [#uses=5]
267@.str2 = internal constant [35 x i8] c"tango.net.ftp.FtpClient.FtpAddress\00" ; <[35 x i8]*> [#uses=1]
268@_D5tango3net3ftp9FtpClient11FtpResponse6__initZ = constant %tango.net.ftp.FtpClient.FtpResponse { [3 x i8] c"000", %"byte[]" zeroinitializer }, align 4 ; <%tango.net.ftp.FtpClient.FtpResponse*> [#uses=1]
269@_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]
270@_D5tango3net3ftp9FtpClient10FtpFeature6__initZ = constant %tango.net.ftp.FtpClient.FtpFeature zeroinitializer, align 4 ; <%tango.net.ftp.FtpClient.FtpFeature*> [#uses=1]
271@_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]
272@.str5 = internal constant [35 x i8] c"tango.net.ftp.FtpClient.FtpFeature\00" ; <[35 x i8]*> [#uses=1]
273@_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]
274@_D5tango4time4Time4Time3maxS5tango4time4Time4Time = external constant %tango.time.Time.Time, align 4 ; <%tango.time.Time.Time*> [#uses=1]
275@_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]
276@.str6 = internal constant [36 x i8] c"tango.net.ftp.FtpClient.FtpFileInfo\00" ; <[36 x i8]*> [#uses=1]
277@_D9Exception7__ClassZ = external global %object.ClassInfo ; <%object.ClassInfo*> [#uses=1]
278@_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]
279@_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]
280@_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]
281@_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]
282@_D14TypeInfo_Class6__vtblZ = external constant %object.TypeInfo.__vtbl ; <%object.TypeInfo.__vtbl*> [#uses=10]
283@_D9ClassInfo6__vtblZ = external constant %object.ClassInfo.__vtbl ; <%object.ClassInfo.__vtbl*> [#uses=10]
284@.str7 = internal constant [37 x i8] c"tango.net.ftp.FtpClient.FtpException\00" ; <[37 x i8]*> [#uses=1]
285@_D5tango3net3ftp6Telnet6Telnet7__ClassZ = external global %object.ClassInfo ; <%object.ClassInfo*> [#uses=1]
286@_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]
287@_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]
288@_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]
289@.str8 = internal constant [1 x i8] zeroinitializer ; <[1 x i8]*> [#uses=1]
290@_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]
291@.str9 = internal constant [38 x i8] c"tango.net.ftp.FtpClient.FTPConnection\00" ; <[38 x i8]*> [#uses=1]
292@_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]
293@_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]
294@_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]
295@_D5tango4text5Regex11__T4TNFATwZ4TNFA14operator_namesAAa = weak_odr constant %"char[][]" { i32 17, %"byte[]"* getelementptr ([17 x %"byte[]"]* @.constarray, i32 0, i32 0) }, align 4 ; <%"char[][]"*> [#uses=0]
296@.str10 = internal constant [4 x i8] c"EOS\00" ; <[4 x i8]*> [#uses=1]
297@.str11 = internal constant [7 x i8] c"concat\00" ; <[7 x i8]*> [#uses=1]
298@.str12 = internal constant [2 x i8] c"|\00" ; <[2 x i8]*> [#uses=1]
299@.str13 = internal constant [2 x i8] c"(\00" ; <[2 x i8]*> [#uses=1]
300@.str14 = internal constant [2 x i8] c")\00" ; <[2 x i8]*> [#uses=1]
301@.str15 = internal constant [2 x i8] c"?\00" ; <[2 x i8]*> [#uses=1]
302@.str16 = internal constant [2 x i8] c"*\00" ; <[2 x i8]*> [#uses=1]
303@.str17 = internal constant [2 x i8] c"+\00" ; <[2 x i8]*> [#uses=1]
304@.str18 = internal constant [3 x i8] c"??\00" ; <[3 x i8]*> [#uses=1]
305@.str19 = internal constant [3 x i8] c"*?\00" ; <[3 x i8]*> [#uses=1]
306@.str20 = internal constant [3 x i8] c"+?\00" ; <[3 x i8]*> [#uses=1]
307@.str21 = internal constant [4 x i8] c"??x\00" ; <[4 x i8]*> [#uses=1]
308@.str22 = internal constant [4 x i8] c"*?x\00" ; <[4 x i8]*> [#uses=1]
309@.str23 = internal constant [4 x i8] c"+?x\00" ; <[4 x i8]*> [#uses=1]
310@.str24 = internal constant [3 x i8] c"(?\00" ; <[3 x i8]*> [#uses=1]
311@.str25 = internal constant [6 x i8] c"{x,y}\00" ; <[6 x i8]*> [#uses=1]
312@.str26 = internal constant [7 x i8] c"{x,y}?\00" ; <[7 x i8]*> [#uses=1]
313@.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]
314@_D5tango4text5Regex11__T4TNFATwZ4TNFA12action_namesAAa = weak_odr constant %"char[][]" { i32 6, %"byte[]"* getelementptr ([6 x %"byte[]"]* @.constarray33, i32 0, i32 0) }, align 4 ; <%"char[][]"*> [#uses=0]
315@.str27 = internal constant [13 x i8] c"push+advance\00" ; <[13 x i8]*> [#uses=1]
316@.str28 = internal constant [9 x i8] c"pop+copy\00" ; <[9 x i8]*> [#uses=1]
317@.str29 = internal constant [12 x i8] c"pop+advance\00" ; <[12 x i8]*> [#uses=1]
318@.str30 = internal constant [17 x i8] c"pop+copy+advance\00" ; <[17 x i8]*> [#uses=1]
319@.str31 = internal constant [5 x i8] c"done\00" ; <[5 x i8]*> [#uses=1]
320@.str32 = internal constant [6 x i8] c"error\00" ; <[6 x i8]*> [#uses=1]
321@.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]
322@_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]
323@.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]
324@_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]
325@_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]
326@_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]
327@_D5tango4text5Regex16__T9CharClassTwZ9CharClass13line_startendS5tango4text5Regex16__T9CharClassTwZ9CharClass = external constant %"tango.text.Regex.CharClass!(dchar).CharClass", align 4 ; <%"tango.text.Regex.CharClass!(dchar).CharClass"*> [#uses=2]
328@_D5tango4text5Regex16__T9CharRangeTwZ9CharRange6__initZ = external constant %tango.net.Socket.timeval, align 4 ; <%tango.net.Socket.timeval*> [#uses=1]
329@_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]
330@.str35 = internal constant [45 x i8] c"tango.text.Regex.CharRange!(dchar).CharRange\00" ; <[45 x i8]*> [#uses=1]
331@_D5tango4text5Regex16__T9CharClassTwZ9CharClass5digitS5tango4text5Regex16__T9CharClassTwZ9CharClass = external constant %"tango.text.Regex.CharClass!(dchar).CharClass", align 4 ; <%"tango.text.Regex.CharClass!(dchar).CharClass"*> [#uses=2]
332@_D5tango4text5Regex16__T9CharClassTwZ9CharClass10whitespaceS5tango4text5Regex16__T9CharClassTwZ9CharClass = external constant %"tango.text.Regex.CharClass!(dchar).CharClass", align 4 ; <%"tango.text.Regex.CharClass!(dchar).CharClass"*> [#uses=6]
333@_D5tango4text5Regex16__T9CharClassTwZ9CharClass8any_charS5tango4text5Regex16__T9CharClassTwZ9CharClass = external constant %"tango.text.Regex.CharClass!(dchar).CharClass", align 4 ; <%"tango.text.Regex.CharClass!(dchar).CharClass"*> [#uses=3]
334@_D5tango4text5Regex16__T9CharClassTwZ9CharClass8dot_operS5tango4text5Regex16__T9CharClassTwZ9CharClass = external constant %"tango.text.Regex.CharClass!(dchar).CharClass", align 4 ; <%"tango.text.Regex.CharClass!(dchar).CharClass"*> [#uses=1]
335@_D5tango4text5Regex16__T9CharClassTwZ9CharClass9alphanum_S5tango4text5Regex16__T9CharClassTwZ9CharClass = external constant %"tango.text.Regex.CharClass!(dchar).CharClass", align 4 ; <%"tango.text.Regex.CharClass!(dchar).CharClass"*> [#uses=2]
336@_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]
337@_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]
338@_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]
339@_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]
340@_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]
341@_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]
342@_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]
343@_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]
344@_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]
345@_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]
346@.str44 = internal constant [52 x i8] c"tango.text.Regex.List!(TNFATransition).List.Element\00" ; <[52 x i8]*> [#uses=1]
347@_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]
348@.str45 = internal constant [44 x i8] c"tango.text.Regex.List!(TNFATransition).List\00" ; <[44 x i8]*> [#uses=1]
349@_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]
350@.str46 = internal constant [45 x i8] c"tango.text.Regex.TNFAState!(dchar).TNFAState\00" ; <[45 x i8]*> [#uses=1]
351@_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]
352@.str47 = internal constant [55 x i8] c"tango.text.Regex.TNFATransition!(dchar).TNFATransition\00" ; <[55 x i8]*> [#uses=1]
353@_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]
354@_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]
355@_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]
356@_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]
357@.str48 = internal constant [51 x i8] c"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment\00" ; <[51 x i8]*> [#uses=1]
358@_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]
359@_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]
360@_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]
361@_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]
362@_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]
363@_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]
364@_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]
365@.str49 = internal constant [50 x i8] c"tango.text.Regex.List!(TNFAFragment).List.Element\00" ; <[50 x i8]*> [#uses=1]
366@_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]
367@.str50 = internal constant [42 x i8] c"tango.text.Regex.List!(TNFAFragment).List\00" ; <[42 x i8]*> [#uses=1]
368@_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]
369@.str51 = internal constant [35 x i8] c"tango.text.Regex.TNFA!(dchar).TNFA\00" ; <[35 x i8]*> [#uses=1]
370@_D5tango4text7convert7Integer22__T14_FormatterInfoTaZ14_FormatterInfo6__initZ = weak_odr constant %nest.parseListLine zeroinitializer, align 4 ; <%nest.parseListLine*> [#uses=0]
371@_D5tango4text4Util16__T9LineFructTaZ9LineFruct6__initZ = weak_odr constant %"tango.text.Util.LineFruct!(char).LineFruct" zeroinitializer, align 4 ; <%"tango.text.Util.LineFruct!(char).LineFruct"*> [#uses=0]
372@_D5tango4core5Array14__T7IsEqualTaZ7IsEqual6__initZ = weak_odr constant %"tango.core.Array.IsEqual!(char).IsEqual" zeroinitializer, align 1 ; <%"tango.core.Array.IsEqual!(char).IsEqual"*> [#uses=0]
373@_D5tango4core6Traits63__T14isCallableTypeTS5tango4core5Array14__T7IsEqualTaZ7IsEqualZ14isCallableTypeb = weak_odr constant i1 true, align 1 ; <i1*> [#uses=0]
374@_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]
375@_D20TypeInfo_StaticArray6__vtblZ = external constant %object.TypeInfo.__vtbl ; <%object.TypeInfo.__vtbl*> [#uses=1]
376@_D10TypeInfo_a6__initZ = external constant %object.TypeInfo ; <%object.TypeInfo*> [#uses=1]
377@_D5tango4text4Util18__T10DelimFructTaZ10DelimFruct6__initZ = weak_odr constant %tango.net.ftp.FtpClient.FtpFeature zeroinitializer, align 4 ; <%tango.net.ftp.FtpClient.FtpFeature*> [#uses=0]
378@_D5tango4text5Regex56__T5StackTE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorZ5Stack6__initZ = weak_odr constant %"tango.text.Regex.Stack!(Operator).Stack" zeroinitializer, align 4 ; <%"tango.text.Regex.Stack!(Operator).Stack"*> [#uses=0]
379@_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]
380@_D14TypeInfo_Array6__vtblZ = external constant %object.TypeInfo.__vtbl ; <%object.TypeInfo.__vtbl*> [#uses=8]
381@_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]
382@_D13TypeInfo_Enum6__vtblZ = external constant %object.TypeInfo.__vtbl ; <%object.TypeInfo.__vtbl*> [#uses=1]
383@_D10TypeInfo_i6__initZ = external constant %object.TypeInfo ; <%object.TypeInfo*> [#uses=1]
384@.str57 = internal constant [44 x i8] c"tango.text.Regex.TNFA!(dchar).TNFA.Operator\00" ; <[44 x i8]*> [#uses=1]
385@_D5tango4text5Regex12__T5StackTkZ5Stack6__initZ = weak_odr constant %"tango.text.Regex.Stack!(Operator).Stack" zeroinitializer, align 4 ; <%"tango.text.Regex.Stack!(Operator).Stack"*> [#uses=0]
386@_D5tango4text5Regex11__T4PairTkZ4Pair6__initZ = weak_odr constant %tango.net.Socket.timeval zeroinitializer, align 4 ; <%tango.net.Socket.timeval*> [#uses=1]
387@_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]
388@.str59 = internal constant [34 x i8] c"tango.text.Regex.Pair!(uint).Pair\00" ; <[34 x i8]*> [#uses=1]
389@_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]
390@_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]
391@_D5tango4text5Regex69__T5StackTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ5Stack6__initZ = weak_odr constant %"tango.text.Regex.Stack!(TNFATransition).Stack" zeroinitializer, align 4 ; <%"tango.text.Regex.Stack!(TNFATransition).Stack"*> [#uses=0]
392@_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]
393@_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]
394@.str65 = internal constant [7 x i8] c"ftp://\00" ; <[7 x i8]*> [#uses=1]
395@_D11TypeInfo_Aa6__initZ = external constant %object.TypeInfo ; <%object.TypeInfo*> [#uses=67]
396@.str66 = internal constant [4 x i8] c"420\00" ; <[4 x i8]*> [#uses=1]
397@.str67 = internal constant [4 x i8] c"220\00" ; <[4 x i8]*> [#uses=1]
398@.str68 = internal constant [5 x i8] c"USER\00" ; <[5 x i8]*> [#uses=1]
399@.str69 = internal constant [4 x i8] c"331\00" ; <[4 x i8]*> [#uses=1]
400@.str70 = internal constant [5 x i8] c"PASS\00" ; <[5 x i8]*> [#uses=1]
401@.str71 = internal constant [4 x i8] c"230\00" ; <[4 x i8]*> [#uses=1]
402@.str72 = internal constant [4 x i8] c"202\00" ; <[4 x i8]*> [#uses=1]
403@.str73 = internal constant [5 x i8] c"QUIT\00" ; <[5 x i8]*> [#uses=1]
404@.str74 = internal constant [4 x i8] c"221\00" ; <[4 x i8]*> [#uses=1]
405@_D5tango3net6Socket11IPv4Address7__ClassZ = external global %object.ClassInfo ; <%object.ClassInfo*> [#uses=8]
406@_D5tango3net6Socket11IPv4Address6__initZ = external constant %22, align 4 ; <%22*> [#uses=1]
407@_D5tango3net6Socket11IPv4Address6__vtblZ = external constant %tango.net.Socket.IPv4Address.__vtbl ; <%tango.net.Socket.IPv4Address.__vtbl*> [#uses=5]
408@.str75 = internal constant [4 x i8] c"CWD\00" ; <[4 x i8]*> [#uses=1]
409@.str76 = internal constant [4 x i8] c"250\00" ; <[4 x i8]*> [#uses=1]
410@.str77 = internal constant [5 x i8] c"CDUP\00" ; <[5 x i8]*> [#uses=1]
411@.str78 = internal constant [4 x i8] c"200\00" ; <[4 x i8]*> [#uses=1]
412@.str79 = internal constant [4 x i8] c"250\00" ; <[4 x i8]*> [#uses=1]
413@.str80 = internal constant [4 x i8] c"PWD\00" ; <[4 x i8]*> [#uses=1]
414@.str81 = internal constant [4 x i8] c"257\00" ; <[4 x i8]*> [#uses=1]
415@.str82 = internal constant [4 x i8] c"000\00" ; <[4 x i8]*> [#uses=3]
416@.str84 = internal constant [11 x i8] c"SITE CHMOD\00" ; <[11 x i8]*> [#uses=1]
417@.str85 = internal constant [4 x i8] c"200\00" ; <[4 x i8]*> [#uses=1]
418@.str86 = internal constant [5 x i8] c"DELE\00" ; <[5 x i8]*> [#uses=1]
419@.str87 = internal constant [4 x i8] c"250\00" ; <[4 x i8]*> [#uses=1]
420@.str88 = internal constant [4 x i8] c"250\00" ; <[4 x i8]*> [#uses=1]
421@.str89 = internal constant [4 x i8] c"RMD\00" ; <[4 x i8]*> [#uses=1]
422@.str90 = internal constant [4 x i8] c"250\00" ; <[4 x i8]*> [#uses=1]
423@.str91 = internal constant [5 x i8] c"RNFR\00" ; <[5 x i8]*> [#uses=1]
424@.str92 = internal constant [4 x i8] c"350\00" ; <[4 x i8]*> [#uses=1]
425@.str93 = internal constant [5 x i8] c"RNTO\00" ; <[5 x i8]*> [#uses=1]
426@.str94 = internal constant [4 x i8] c"250\00" ; <[4 x i8]*> [#uses=1]
427@.str95 = internal constant [4 x i8] c"501\00" ; <[4 x i8]*> [#uses=1]
428@.str96 = internal constant [5 x i8] c"SIZE\00" ; <[5 x i8]*> [#uses=1]
429@.str97 = internal constant [4 x i8] c"213\00" ; <[4 x i8]*> [#uses=1]
430@.str98 = internal constant [5 x i8] c"TYPE\00" ; <[5 x i8]*> [#uses=1]
431@.str99 = internal constant [2 x i8] c"A\00" ; <[2 x i8]*> [#uses=1]
432@.str100 = internal constant [5 x i8] c"TYPE\00" ; <[5 x i8]*> [#uses=1]
433@.str101 = internal constant [2 x i8] c"I\00" ; <[2 x i8]*> [#uses=1]
434@.str102 = internal constant [4 x i8] c"200\00" ; <[4 x i8]*> [#uses=1]
435@.str103 = internal constant [5 x i8] c"MDTM\00" ; <[5 x i8]*> [#uses=1]
436@.str104 = internal constant [4 x i8] c"213\00" ; <[4 x i8]*> [#uses=1]
437@.str105 = internal constant [32 x i8] c"CLIENT: Unable to parse timeval\00" ; <[32 x i8]*> [#uses=1]
438@.str106 = internal constant [4 x i8] c"501\00" ; <[4 x i8]*> [#uses=1]
439@_D5tango4time6chrono9Gregorian9Gregorian7genericC5tango4time6chrono9Gregorian9Gregorian = external global %tango.time.chrono.Gregorian.Gregorian*, align 4 ; <%tango.time.chrono.Gregorian.Gregorian**> [#uses=2]
440@.str109 = internal constant [5 x i8] c"NOOP\00" ; <[5 x i8]*> [#uses=1]
441@.str110 = internal constant [4 x i8] c"200\00" ; <[4 x i8]*> [#uses=1]
442@.str111 = internal constant [4 x i8] c"MKD\00" ; <[4 x i8]*> [#uses=1]
443@.str112 = internal constant [4 x i8] c"257\00" ; <[4 x i8]*> [#uses=1]
444@.str113 = internal constant [5 x i8] c"FEAT\00" ; <[5 x i8]*> [#uses=1]
445@.str114 = internal constant [4 x i8] c"211\00" ; <[4 x i8]*> [#uses=1]
446@_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]
447@.str115 = internal constant [5 x i8] c"FEAT\00" ; <[5 x i8]*> [#uses=1]
448@.str117 = internal constant [3 x i8] c"\0D\0A\00", align 2 ; <[3 x i8]*> [#uses=1]
449@.str118 = internal constant [4 x i8] c"500\00" ; <[4 x i8]*> [#uses=1]
450@.str120 = internal constant [24 x i8] c"unknown connection type\00" ; <[24 x i8]*> [#uses=1]
451@_D5tango3net13SocketConduit13SocketConduit7__ClassZ = external global %object.ClassInfo ; <%object.ClassInfo*> [#uses=2]
452@_D5tango3net13SocketConduit13SocketConduit6__initZ = external constant %23, align 4 ; <%23*> [#uses=1]
453@_D5tango3net13SocketConduit13SocketConduit6__vtblZ = external constant %tango.net.SocketConduit.SocketConduit.__vtbl ; <%tango.net.SocketConduit.SocketConduit.__vtbl*> [#uses=2]
454@.str122 = internal constant [5 x i8] c"EPRT\00" ; <[5 x i8]*> [#uses=1]
455@.str123 = internal constant [5 x i8] c"EPRT\00" ; <[5 x i8]*> [#uses=1]
456@.str124 = internal constant [10 x i8] c"|1|%0|%1|\00" ; <[10 x i8]*> [#uses=1]
457@.str125 = internal constant [4 x i8] c"200\00" ; <[4 x i8]*> [#uses=1]
458@.str126 = internal constant [18 x i8] c"%0,%1,%2,%3,%4,%5\00" ; <[18 x i8]*> [#uses=1]
459@.str127 = internal constant [5 x i8] c"PORT\00" ; <[5 x i8]*> [#uses=1]
460@.str128 = internal constant [4 x i8] c"200\00" ; <[4 x i8]*> [#uses=1]
461@.str129 = internal constant [5 x i8] c"SPSV\00" ; <[5 x i8]*> [#uses=1]
462@.str130 = internal constant [5 x i8] c"SPSV\00" ; <[5 x i8]*> [#uses=1]
463@.str131 = internal constant [4 x i8] c"227\00" ; <[4 x i8]*> [#uses=1]
464@.str132 = internal constant [5 x i8] c"EPSV\00" ; <[5 x i8]*> [#uses=1]
465@.str133 = internal constant [5 x i8] c"EPSV\00" ; <[5 x i8]*> [#uses=1]
466@.str134 = internal constant [4 x i8] c"229\00" ; <[4 x i8]*> [#uses=1]
467@.str135 = internal constant [34 x i8] c"\5C([^0-9][^0-9][^0-9](\5Cd+)[^0-9]\5C)\00" ; <[34 x i8]*> [#uses=1]
468@.str136 = internal constant [32 x i8] c"CLIENT: Unable to parse address\00" ; <[32 x i8]*> [#uses=1]
469@.str137 = internal constant [4 x i8] c"501\00" ; <[4 x i8]*> [#uses=1]
470@.str138 = internal constant [5 x i8] c"PASV\00" ; <[5 x i8]*> [#uses=1]
471@.str139 = internal constant [4 x i8] c"227\00" ; <[4 x i8]*> [#uses=1]
472@.str140 = internal constant [54 x i8] c"(\5Cd+),\5Cs*(\5Cd+),\5Cs*(\5Cd+),\5Cs*(\5Cd+),\5Cs*(\5Cd+)(,\5Cs*(\5Cd+))?\00" ; <[54 x i8]*> [#uses=1]
473@.str141 = internal constant [32 x i8] c"CLIENT: Unable to parse address\00" ; <[32 x i8]*> [#uses=1]
474@.str142 = internal constant [4 x i8] c"501\00" ; <[4 x i8]*> [#uses=1]
475@.str146 = internal constant [24 x i8] c"unknown connection type\00" ; <[24 x i8]*> [#uses=1]
476@_D5tango3net6Socket9SocketSet7__ClassZ = external global %object.ClassInfo ; <%object.ClassInfo*> [#uses=3]
477@_D5tango3net6Socket9SocketSet6__initZ = external constant %24, align 4 ; <%24*> [#uses=1]
478@_D5tango3net6Socket9SocketSet6__vtblZ = external constant %tango.net.Socket.SocketSet.__vtbl ; <%tango.net.Socket.SocketSet.__vtbl*> [#uses=3]
479@.str147 = internal constant [34 x i8] c"CLIENT: No connection from server\00" ; <[34 x i8]*> [#uses=1]
480@.str148 = internal constant [4 x i8] c"420\00" ; <[4 x i8]*> [#uses=1]
481@_D5tango3net6Socket6Socket7__ClassZ = external global %object.ClassInfo ; <%object.ClassInfo*> [#uses=2]
482@_D5tango3net6Socket6Socket6__initZ = external constant %25, align 4 ; <%25*> [#uses=1]
483@_D5tango3net6Socket6Socket6__vtblZ = external constant %tango.net.Socket.Socket.__vtbl ; <%tango.net.Socket.Socket.__vtbl*> [#uses=2]
484@.str149 = internal constant [4 x i8] c"226\00" ; <[4 x i8]*> [#uses=1]
485@.str150 = internal constant [4 x i8] c"420\00" ; <[4 x i8]*> [#uses=1]
486@.str151 = internal constant [11 x i8] c"Bad finish\00" ; <[11 x i8]*> [#uses=1]
487@.str152 = internal constant [4 x i8] c"150\00" ; <[4 x i8]*> [#uses=1]
488@.str153 = internal constant [4 x i8] c"125\00" ; <[4 x i8]*> [#uses=1]
489@.str154 = internal constant [5 x i8] c"MLST\00" ; <[5 x i8]*> [#uses=1]
490@.str155 = internal constant [5 x i8] c"MLSD\00" ; <[5 x i8]*> [#uses=1]
491@.str156 = internal constant [5 x i8] c"MLSD\00" ; <[5 x i8]*> [#uses=1]
492@_D5tango2io6device5Array5Array7__ClassZ = external global %object.ClassInfo ; <%object.ClassInfo*> [#uses=2]
493@_D5tango2io6device5Array5Array6__initZ = external constant %26, align 4 ; <%26*> [#uses=1]
494@_D5tango2io6device5Array5Array6__vtblZ = external constant %tango.io.device.Array.Array.__vtbl ; <%tango.io.device.Array.Array.__vtbl*> [#uses=2]
495@_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]
496@.str161 = internal constant [34 x i8] c"CLIENT: Timeout when reading data\00" ; <[34 x i8]*> [#uses=1]
497@.str162 = internal constant [4 x i8] c"420\00" ; <[4 x i8]*> [#uses=1]
498@.str163 = internal constant [34 x i8] c"CLIENT: Timeout when sending data\00" ; <[34 x i8]*> [#uses=1]
499@.str164 = internal constant [4 x i8] c"420\00" ; <[4 x i8]*> [#uses=1]
500@.str165 = internal constant [5 x i8] c"LIST\00" ; <[5 x i8]*> [#uses=1]
501@.str166 = internal constant [5 x i8] c"LIST\00" ; <[5 x i8]*> [#uses=1]
502@.str167 = internal constant [11 x i8] c"0123456789\00" ; <[11 x i8]*> [#uses=2]
503@.str168 = internal constant [5 x i8] c"0000\00" ; <[5 x i8]*> [#uses=1]
504@.str169 = internal constant [10 x i8] c"UNIX.mode\00" ; <[10 x i8]*> [#uses=1]
505@.str170 = internal constant [11 x i8] c"0123456789\00" ; <[11 x i8]*> [#uses=2]
506@.str171 = internal constant [5 x i8] c" -> \00" ; <[5 x i8]*> [#uses=1]
507@.str172 = internal constant [7 x i8] c"target\00" ; <[7 x i8]*> [#uses=1]
508@.str173 = internal constant [5 x i8] c"type\00" ; <[5 x i8]*> [#uses=1]
509@.str174 = internal constant [5 x i8] c"link\00" ; <[5 x i8]*> [#uses=1]
510@.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]
511@.str176 = internal constant [32 x i8] c"CLIENT: Unsupported LIST format\00" ; <[32 x i8]*> [#uses=1]
512@.str177 = internal constant [4 x i8] c"501\00" ; <[4 x i8]*> [#uses=1]
513@.str178 = internal constant [2 x i8] c".\00" ; <[2 x i8]*> [#uses=1]
514@.str179 = internal constant [3 x i8] c"..\00" ; <[3 x i8]*> [#uses=1]
515@.str180 = internal constant [36 x i8] c"CLIENT: Bad syntax in MLSx response\00" ; <[36 x i8]*> [#uses=1]
516@.str181 = internal constant [4 x i8] c"501\00" ; <[4 x i8]*> [#uses=1]
517@.str182 = internal constant [2 x i8] c";\00" ; <[2 x i8]*> [#uses=1]
518@.str183 = internal constant [5 x i8] c"type\00" ; <[5 x i8]*> [#uses=1]
519@.str184 = internal constant [4 x i8] c"dir\00" ; <[4 x i8]*> [#uses=1]
520@.str185 = internal constant [5 x i8] c"cdir\00" ; <[5 x i8]*> [#uses=1]
521@.str186 = internal constant [5 x i8] c"file\00" ; <[5 x i8]*> [#uses=1]
522@.str187 = internal constant [5 x i8] c"pdir\00" ; <[5 x i8]*> [#uses=1]
523@.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]
524@.str188 = internal constant [5 x i8] c"type\00" ; <[5 x i8]*> [#uses=1]
525@.str189 = internal constant [5 x i8] c"size\00" ; <[5 x i8]*> [#uses=1]
526@.str190 = internal constant [5 x i8] c"size\00" ; <[5 x i8]*> [#uses=1]
527@.str191 = internal constant [11 x i8] c"media-type\00" ; <[11 x i8]*> [#uses=1]
528@.str192 = internal constant [11 x i8] c"media-type\00" ; <[11 x i8]*> [#uses=1]
529@.str193 = internal constant [7 x i8] c"modify\00" ; <[7 x i8]*> [#uses=1]
530@.str194 = internal constant [7 x i8] c"modify\00" ; <[7 x i8]*> [#uses=1]
531@.str195 = internal constant [7 x i8] c"create\00" ; <[7 x i8]*> [#uses=1]
532@.str196 = internal constant [7 x i8] c"create\00" ; <[7 x i8]*> [#uses=1]
533@.str197 = internal constant [38 x i8] c"CLIENT: Bad LIST response from server\00" ; <[38 x i8]*> [#uses=1]
534@.str198 = internal constant [4 x i8] c"501\00" ; <[4 x i8]*> [#uses=1]
535@_D5tango2io6device4File4File7__ClassZ = external global %object.ClassInfo ; <%object.ClassInfo*> [#uses=2]
536@_D5tango2io6device4File4File6__initZ = external constant %27, align 4 ; <%27*> [#uses=1]
537@_D5tango2io6device4File4File6__vtblZ = external constant %tango.io.device.File.File.__vtbl ; <%tango.io.device.File.File.__vtbl*> [#uses=2]
538@_D5tango2io6device4File4File12ReadExistingS5tango2io6device4File4File5Style = external constant %tango.io.device.File.File.Style, align 1 ; <%tango.io.device.File.File.Style*> [#uses=1]
539@_D5tango2io6device4File4File17ReadWriteExistingS5tango2io6device4File4File5Style = external constant %tango.io.device.File.File.Style, align 1 ; <%tango.io.device.File.File.Style*> [#uses=1]
540@_D5tango2io6device4File4File15ReadWriteCreateS5tango2io6device4File4File5Style = external constant %tango.io.device.File.File.Style, align 1 ; <%tango.io.device.File.File.Style*> [#uses=1]
541@.str199 = internal constant [5 x i8] c"STOR\00" ; <[5 x i8]*> [#uses=1]
542@.str200 = internal constant [5 x i8] c"APPE\00" ; <[5 x i8]*> [#uses=1]
543@.str201 = internal constant [5 x i8] c"REST\00" ; <[5 x i8]*> [#uses=1]
544@.str202 = internal constant [4 x i8] c"350\00" ; <[4 x i8]*> [#uses=1]
545@.str203 = internal constant [5 x i8] c"ALLO\00" ; <[5 x i8]*> [#uses=1]
546@.str204 = internal constant [4 x i8] c"200\00" ; <[4 x i8]*> [#uses=1]
547@.str205 = internal constant [4 x i8] c"202\00" ; <[4 x i8]*> [#uses=1]
548@.str206 = internal constant [13 x i8] c"OPTS UTF8 ON\00" ; <[13 x i8]*> [#uses=1]
549@.str207 = internal constant [4 x i8] c"200\00" ; <[4 x i8]*> [#uses=1]
550@.str208 = internal constant [5 x i8] c"RETR\00" ; <[5 x i8]*> [#uses=1]
551@.str209 = internal constant [5 x i8] c"RETR\00" ; <[5 x i8]*> [#uses=1]
552@.str210 = internal constant [5 x i8] c"STOR\00" ; <[5 x i8]*> [#uses=1]
553@_D5tango4text5Regex15RegExpException7__ClassZ = external global %object.ClassInfo ; <%object.ClassInfo*> [#uses=17]
554@_D5tango4text5Regex15RegExpException6__initZ = external constant %28, align 4 ; <%28*> [#uses=1]
555@_D5tango4text5Regex15RegExpException6__vtblZ = external constant %object.Exception.__vtbl ; <%object.Exception.__vtbl*> [#uses=17]
556@.str211 = internal constant [28 x i8] c"cannot process operand at \22\00" ; <[28 x i8]*> [#uses=1]
557@._arguments.storage = internal constant [2 x %object.TypeInfo*] [%object.TypeInfo* @_D10TypeInfo_k6__initZ, %object.TypeInfo* @_D11TypeInfo_Aa6__initZ] ; <[2 x %object.TypeInfo*]*> [#uses=1]
558@_D10TypeInfo_k6__initZ = external constant %object.TypeInfo ; <%object.TypeInfo*> [#uses=2]
559@.str213 = internal constant [68 x i8] c"Missing opening parentheses for closing parentheses at char {} \22{}\22\00" ; <[68 x i8]*> [#uses=1]
560@._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]
561@.str216 = internal constant [43 x i8] c"Unexpected operand at char {} \22{}\22 in \22{}\22\00" ; <[43 x i8]*> [#uses=1]
562@.str217 = internal constant [56 x i8] c"Escape sequence \5Cb not allowed in look-ahead or -behind\00" ; <[56 x i8]*> [#uses=1]
563@.str218 = internal constant [56 x i8] c"Escape sequence \5CB not allowed in look-ahead or -behind\00" ; <[56 x i8]*> [#uses=1]
564@_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]
565@.str219 = internal constant [29 x i8] c"Invalid occurence range at \22\00" ; <[29 x i8]*> [#uses=1]
566@.str221 = internal constant [29 x i8] c"Invalid occurence range at \22\00" ; <[29 x i8]*> [#uses=1]
567@.str223 = internal constant [41 x i8] c"Invalid occurence range (max < min) at \22\00" ; <[41 x i8]*> [#uses=1]
568@.str225 = internal constant [45 x i8] c"Missing range start for '-' operator after \22\00" ; <[45 x i8]*> [#uses=1]
569@.str227 = internal constant [43 x i8] c"Missing range end for '-' operator after \22\00" ; <[43 x i8]*> [#uses=1]
570@.str229 = internal constant [33 x i8] c"unexpected end of string after \22\00" ; <[33 x i8]*> [#uses=1]
571@.str231 = internal constant [29 x i8] c"too few arguments for + at \22\00" ; <[29 x i8]*> [#uses=1]
572@.str233 = internal constant [29 x i8] c"too few arguments for * at \22\00" ; <[29 x i8]*> [#uses=1]
573@.str235 = internal constant [29 x i8] c"too few arguments for ? at \22\00" ; <[29 x i8]*> [#uses=1]
574@.str237 = internal constant [33 x i8] c"too few arguments for {x,y} at \22\00" ; <[33 x i8]*> [#uses=1]
575@.str239 = internal constant [29 x i8] c"too few arguments for | at \22\00" ; <[29 x i8]*> [#uses=1]
576@.str241 = internal constant [40 x i8] c"too few operands for concatenation at \22\00" ; <[40 x i8]*> [#uses=1]
577@_D5tango4core9Exception24IllegalArgumentException7__ClassZ = external global %object.ClassInfo ; <%object.ClassInfo*> [#uses=2]
578@_D5tango4core9Exception24IllegalArgumentException6__initZ = external constant %29, align 4 ; <%29*> [#uses=1]
579@_D5tango4core9Exception24IllegalArgumentException6__vtblZ = external constant %object.Exception.__vtbl ; <%object.Exception.__vtbl*> [#uses=2]
580@.str244 = internal constant [34 x i8] c"Integer.toLong :: invalid literal\00" ; <[34 x i8]*> [#uses=1]
581@_D5tango4text7convert7Integer16__T9formatterTaZ9formatterFAalaaiZAa5lowerAa = weak_odr constant %"byte[]" { i32 16, i8* getelementptr ([17 x i8]* @.str245, i32 0, i32 0) }, align 4 ; <%"byte[]"*> [#uses=0]
582@.str245 = internal constant [17 x i8] c"0123456789abcdef\00" ; <[17 x i8]*> [#uses=1]
583@_D5tango4text7convert7Integer16__T9formatterTaZ9formatterFAalaaiZAa5upperAa = weak_odr constant %"byte[]" { i32 16, i8* getelementptr ([17 x i8]* @.str246, i32 0, i32 0) }, align 4 ; <%"byte[]"*> [#uses=0]
584@.str246 = internal constant [17 x i8] c"0123456789ABCDEF\00" ; <[17 x i8]*> [#uses=1]
585@_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]
586@.str247 = internal constant [17 x i8] c"0123456789abcdef\00" ; <[17 x i8]*> [#uses=1]
587@.str248 = internal constant [2 x i8] c"-\00" ; <[2 x i8]*> [#uses=1]
588@.str249 = internal constant [17 x i8] c"0123456789abcdef\00" ; <[17 x i8]*> [#uses=1]
589@.str250 = internal constant [2 x i8] c" \00" ; <[2 x i8]*> [#uses=1]
590@.str251 = internal constant [17 x i8] c"0123456789abcdef\00" ; <[17 x i8]*> [#uses=1]
591@.str252 = internal constant [2 x i8] c"+\00" ; <[2 x i8]*> [#uses=1]
592@.str253 = internal constant [17 x i8] c"0123456789abcdef\00" ; <[17 x i8]*> [#uses=1]
593@.str254 = internal constant [3 x i8] c"0b\00" ; <[3 x i8]*> [#uses=1]
594@.str255 = internal constant [17 x i8] c"0123456789abcdef\00" ; <[17 x i8]*> [#uses=1]
595@.str256 = internal constant [3 x i8] c"0o\00" ; <[3 x i8]*> [#uses=1]
596@.str257 = internal constant [17 x i8] c"0123456789abcdef\00" ; <[17 x i8]*> [#uses=1]
597@.str258 = internal constant [3 x i8] c"0x\00" ; <[3 x i8]*> [#uses=1]
598@.str259 = internal constant [17 x i8] c"0123456789abcdef\00" ; <[17 x i8]*> [#uses=1]
599@.str260 = internal constant [3 x i8] c"0X\00" ; <[3 x i8]*> [#uses=1]
600@.str261 = internal constant [17 x i8] c"0123456789ABCDEF\00" ; <[17 x i8]*> [#uses=1]
601@.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]
602@.str263 = internal constant [18 x i8] c"{unknown format '\00" ; <[18 x i8]*> [#uses=1]
603@.str264 = internal constant [3 x i8] c"'}\00", align 2 ; <[3 x i8]*> [#uses=1]
604@.str265 = internal constant [25 x i8] c"{output width too small}\00" ; <[25 x i8]*> [#uses=1]
605@_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]
606@_D5tango4text4Util16__T9LineFructTaZ9LineFruct7opApplyMFDFKAaZiZi2nla = weak_odr constant i8 10, align 1 ; <i8*> [#uses=0]
607@_D5tango4text4Util16__T9LineFructTaZ9LineFruct7opApplyMFDFKAaZiZi2cra = weak_odr constant i8 13, align 1 ; <i8*> [#uses=0]
608@_D5tango4text4Util13__T6layoutTaZ6layoutFAaAAaXAa6badargAa = weak_odr global %"byte[]" { i32 20, i8* getelementptr ([21 x i8]* @.str266, i32 0, i32 0) }, align 8 ; <%"byte[]"*> [#uses=1]
609@.str266 = internal constant [21 x i8] c"{index out of range}\00" ; <[21 x i8]*> [#uses=1]
610@_D5tango4text4Util13__T6layoutTaZ6layoutFAaAAaXAa8toosmallAa = weak_odr global %"byte[]" { i32 25, i8* getelementptr ([26 x i8]* @.str267, i32 0, i32 0) }, align 8 ; <%"byte[]"*> [#uses=2]
611@.str267 = internal constant [26 x i8] c"{output buffer too small}\00" ; <[26 x i8]*> [#uses=1]
612@_D11TypeInfo_Ak6__initZ = external constant %object.TypeInfo ; <%object.TypeInfo*> [#uses=4]
613@_D5tango4text5Regex14__T7RegExpTTaZ7RegExpT7__ClassZ = external global %object.ClassInfo ; <%object.ClassInfo*> [#uses=3]
614@_D5tango4text5Regex14__T7RegExpTTaZ7RegExpT6__initZ = external constant %30, align 4 ; <%30*> [#uses=1]
615@_D5tango4text5Regex14__T7RegExpTTaZ7RegExpT6__vtblZ = external constant %"tango.text.Regex.RegExpT!(char).RegExpT.__vtbl" ; <%"tango.text.Regex.RegExpT!(char).RegExpT.__vtbl"*> [#uses=3]
616@_D11TypeInfo_Ag6__initZ = external constant %object.TypeInfo ; <%object.TypeInfo*> [#uses=3]
617@_D11TypeInfo_Ah6__initZ = external constant %object.TypeInfo ; <%object.TypeInfo*> [#uses=2]
618@.str280 = internal constant [9 x i8] c"RegExp: \00", align 8 ; <[9 x i8]*> [#uses=1]
619@_D10ModuleInfo6__vtblZ = external constant %object.ModuleInfo.__vtbl ; <%object.ModuleInfo.__vtbl*> [#uses=1]
620@.str289 = internal constant [24 x i8] c"tango.net.ftp.FtpClient\00" ; <[24 x i8]*> [#uses=1]
621@_D5tango4text5Regex8__ModuleZ = external global %object.ModuleInfo ; <%object.ModuleInfo*> [#uses=1]
622@_D5tango4time6chrono9Gregorian8__ModuleZ = external global %object.ModuleInfo ; <%object.ModuleInfo*> [#uses=1]
623@_D5tango4text7convert9TimeStamp8__ModuleZ = external global %object.ModuleInfo ; <%object.ModuleInfo*> [#uses=1]
624@_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]
625@_D5tango3net3ftp9FtpClient9__classesZ = internal constant [2 x %object.ClassInfo*] [%object.ClassInfo* @_D5tango3net3ftp9FtpClient12FtpException7__ClassZ, %object.ClassInfo* @_D5tango3net3ftp9FtpClient13FTPConnection7__ClassZ] ; <[2 x %object.ClassInfo*]*> [#uses=1]
626@_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]
627@_D5tango3net3ftp9FtpClient11__moduleRefZ = internal global %ModuleReference { %ModuleReference* null, %object.ModuleInfo* @_D5tango3net3ftp9FtpClient8__ModuleZ } ; <%ModuleReference*> [#uses=2]
628@_Dmodule_ref = external global %ModuleReference* ; <%ModuleReference**> [#uses=2]
629@llvm.global_ctors = appending constant [1 x %31] [%31 { i32 65535, void ()* @_D5tango3net3ftp9FtpClient16__moduleinfoCtorZ }] ; <[1 x %31]*> [#uses=0]
630
631define fastcc noalias %tango.net.ftp.FtpClient.FtpAddress* @_D5tango3net3ftp9FtpClient10FtpAddress6opCallFAaZPS5tango3net3ftp9FtpClient10FtpAddress(%"byte[]" %str_arg) {
632entry:
633 %len.i = alloca i32, align 4 ; <i32*> [#uses=3]
634 %str_arg171 = extractvalue %"byte[]" %str_arg, 0 ; <i32> [#uses=8]
635 %str_arg172 = extractvalue %"byte[]" %str_arg, 1 ; <i8*> [#uses=4]
636 %tmp1 = icmp eq i32 %str_arg171, 0 ; <i1> [#uses=1]
637 br i1 %tmp1, label %if, label %try
638
639if: ; preds = %entry
640 ret %tango.net.ftp.FtpClient.FtpAddress* null
641
642try: ; preds = %entry
643 %.gc_mem = invoke noalias i8* @_d_allocmemoryT(%object.TypeInfo* bitcast (%20* @_D46TypeInfo_S5tango3net3ftp9FtpClient10FtpAddress6__initZ to %object.TypeInfo*))
644 to label %postinvoke unwind label %landingpad ; <i8*> [#uses=11]
645
646postinvoke: ; preds = %try
647 %.gc_mem3 = bitcast i8* %.gc_mem to %tango.net.ftp.FtpClient.FtpAddress* ; <%tango.net.ftp.FtpClient.FtpAddress*> [#uses=1]
648 tail call void @llvm.memcpy.i32(i8* %.gc_mem, i8* bitcast (%tango.net.ftp.FtpClient.FtpAddress* @_D5tango3net3ftp9FtpClient10FtpAddress6__initZ to i8*), i32 36, i32 1)
649 %tmp9.i = add i32 %str_arg171, -5 ; <i32> [#uses=2]
650 %tmp16.i = icmp ugt i32 %tmp9.i, %str_arg171 ; <i1> [#uses=1]
651 br i1 %tmp16.i, label %_D5tango4text4Util21__T13locatePatternTaZ13locatePatternFAaAakZk.exit, label %whilecond.i
652
653whilecond.i: ; preds = %else40.i, %postinvoke
654 %source_arg60.pn.i = phi i8* [ %p.0.i, %else40.i ], [ %str_arg172, %postinvoke ] ; <i8*> [#uses=4]
655 %start_arg.pn.i = phi i32 [ %tmp49.i, %else40.i ], [ 0, %postinvoke ] ; <i32> [#uses=3]
656 %extent.0.i = phi i32 [ %tmp51.i, %else40.i ], [ %tmp9.i, %postinvoke ] ; <i32> [#uses=5]
657 %p.0.i = getelementptr i8* %source_arg60.pn.i, i32 %start_arg.pn.i ; <i8*> [#uses=2]
658 %tmp18.i = icmp eq i32 %extent.0.i, 0 ; <i1> [#uses=1]
659 br i1 %tmp18.i, label %_D5tango4text4Util21__T13locatePatternTaZ13locatePatternFAaAakZk.exit, label %whilebody.i
660
661whilebody.i: ; preds = %whilecond.i
662 %p.0.sum63.i = add i32 %start_arg.pn.i, -1 ; <i32> [#uses=1]
663 %tmp2.i.i = getelementptr i8* %source_arg60.pn.i, i32 %p.0.sum63.i ; <i8*> [#uses=1]
664 br label %forcond.i.i
665
666forcond.i.i: ; preds = %forbody.i.i, %whilebody.i
667 %len.0.i.i = phi i32 [ %extent.0.i, %whilebody.i ], [ %tmp4.i.i, %forbody.i.i ] ; <i32> [#uses=2]
668 %p.0.i.i = phi i8* [ %tmp2.i.i, %whilebody.i ], [ %tmp7.i.i, %forbody.i.i ] ; <i8*> [#uses=1]
669 %tmp4.i.i = add i32 %len.0.i.i, -1 ; <i32> [#uses=1]
670 %tmp5.i.i = icmp eq i32 %len.0.i.i, 0 ; <i1> [#uses=1]
671 br i1 %tmp5.i.i, label %_D5tango4text4Util14__T7indexOfTaZ7indexOfFPaakZk.exit.i, label %forbody.i.i
672
673forbody.i.i: ; preds = %forcond.i.i
674 %tmp7.i.i = getelementptr i8* %p.0.i.i, i32 1 ; <i8*> [#uses=3]
675 %tmp8.i.i = load i8* %tmp7.i.i ; <i8> [#uses=1]
676 %tmp12.i.i = icmp eq i8 %tmp8.i.i, 102 ; <i1> [#uses=1]
677 br i1 %tmp12.i.i, label %if.i.i, label %forcond.i.i
678
679if.i.i: ; preds = %forbody.i.i
680 %tmp15.i.i = ptrtoint i8* %tmp7.i.i to i32 ; <i32> [#uses=1]
681 %tmp16.i.i = ptrtoint i8* %p.0.i to i32 ; <i32> [#uses=1]
682 %tmp17.i.i = sub i32 %tmp15.i.i, %tmp16.i.i ; <i32> [#uses=1]
683 br label %_D5tango4text4Util14__T7indexOfTaZ7indexOfFPaakZk.exit.i
684
685_D5tango4text4Util14__T7indexOfTaZ7indexOfFPaakZk.exit.i: ; preds = %if.i.i, %forcond.i.i
686 %tmp2561.i = phi i32 [ %tmp17.i.i, %if.i.i ], [ %extent.0.i, %forcond.i.i ] ; <i32> [#uses=3]
687 %tmp27.i = icmp eq i32 %tmp2561.i, %extent.0.i ; <i1> [#uses=1]
688 br i1 %tmp27.i, label %_D5tango4text4Util21__T13locatePatternTaZ13locatePatternFAaAakZk.exit, label %else.i
689
690else.i: ; preds = %_D5tango4text4Util14__T7indexOfTaZ7indexOfFPaakZk.exit.i
691 %p.0.sum.i = add i32 %start_arg.pn.i, %tmp2561.i ; <i32> [#uses=2]
692 %tmp32.i = getelementptr i8* %source_arg60.pn.i, i32 %p.0.sum.i ; <i8*> [#uses=2]
693 %tmp32.sum.i = add i32 %p.0.sum.i, -1 ; <i32> [#uses=1]
694 %tmp2.i.i.i = getelementptr i8* %source_arg60.pn.i, i32 %tmp32.sum.i ; <i8*> [#uses=1]
695 br label %forcond.i.i.i
696
697forcond.i.i.i: ; preds = %forbody.i.i.i, %else.i
698 %len.0.i.i.i = phi i32 [ 6, %else.i ], [ %tmp4.i.i.i, %forbody.i.i.i ] ; <i32> [#uses=2]
699 %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]
700 %p.0.i.i.i = phi i8* [ %tmp2.i.i.i, %else.i ], [ %tmp7.i.i.i, %forbody.i.i.i ] ; <i8*> [#uses=1]
701 %tmp4.i.i.i = add i32 %len.0.i.i.i, -1 ; <i32> [#uses=1]
702 %tmp5.i.i.i = icmp eq i32 %len.0.i.i.i, 0 ; <i1> [#uses=1]
703 br i1 %tmp5.i.i.i, label %if38.i, label %forbody.i.i.i
704
705forbody.i.i.i: ; preds = %forcond.i.i.i
706 %tmp7.i.i.i = getelementptr i8* %p.0.i.i.i, i32 1 ; <i8*> [#uses=3]
707 %tmp8.i.i.i = load i8* %tmp7.i.i.i ; <i8> [#uses=1]
708 %tmp11.i.i.i = getelementptr i8* %s2.0.i.i.i, i32 1 ; <i8*> [#uses=1]
709 %tmp12.i.i.i = load i8* %s2.0.i.i.i ; <i8> [#uses=1]
710 %tmp14.i.i.i = icmp eq i8 %tmp8.i.i.i, %tmp12.i.i.i ; <i1> [#uses=1]
711 br i1 %tmp14.i.i.i, label %forcond.i.i.i, label %if.i.i.i
712
713if.i.i.i: ; preds = %forbody.i.i.i
714 %tmp17.i.i.i = ptrtoint i8* %tmp7.i.i.i to i32 ; <i32> [#uses=1]
715 %tmp18.i.i.i = ptrtoint i8* %tmp32.i to i32 ; <i32> [#uses=1]
716 %tmp19.i.i.i = sub i32 %tmp17.i.i.i, %tmp18.i.i.i ; <i32> [#uses=1]
717 %phitmp = icmp eq i32 %tmp19.i.i.i, 6 ; <i1> [#uses=1]
718 br i1 %phitmp, label %if38.i, label %else40.i
719
720if38.i: ; preds = %if.i.i.i, %forcond.i.i.i
721 %tmp44.i = ptrtoint i8* %tmp32.i to i32 ; <i32> [#uses=1]
722 %tmp45.i = ptrtoint i8* %str_arg172 to i32 ; <i32> [#uses=1]
723 %tmp46.i = sub i32 %tmp44.i, %tmp45.i ; <i32> [#uses=1]
724 br label %_D5tango4text4Util21__T13locatePatternTaZ13locatePatternFAaAakZk.exit
725
726else40.i: ; preds = %if.i.i.i
727 %tmp49.i = add i32 %tmp2561.i, 1 ; <i32> [#uses=2]
728 %tmp51.i = sub i32 %extent.0.i, %tmp49.i ; <i32> [#uses=1]
729 br label %whilecond.i
730
731_D5tango4text4Util21__T13locatePatternTaZ13locatePatternFAaAakZk.exit: ; preds = %if38.i, %_D5tango4text4Util14__T7indexOfTaZ7indexOfFPaakZk.exit.i, %whilecond.i, %postinvoke
732 %tmp7173 = phi i32 [ %tmp46.i, %if38.i ], [ %str_arg171, %_D5tango4text4Util14__T7indexOfTaZ7indexOfFPaakZk.exit.i ], [ %str_arg171, %whilecond.i ], [ %str_arg171, %postinvoke ] ; <i32> [#uses=1]
733 %tmp9 = icmp eq i32 %tmp7173, 0 ; <i1> [#uses=1]
734 br i1 %tmp9, label %if10, label %endif11
735
736if10: ; preds = %_D5tango4text4Util21__T13locatePatternTaZ13locatePatternFAaAakZk.exit
737 %tmp15 = getelementptr i8* %str_arg172, i32 6 ; <i8*> [#uses=1]
738 %tmp16 = add i32 %str_arg171, -6 ; <i32> [#uses=1]
739 br label %endif11
740
741endif11: ; preds = %if10, %_D5tango4text4Util21__T13locatePatternTaZ13locatePatternFAaAakZk.exit
742 %str.1.2 = phi i8* [ %tmp15, %if10 ], [ %str_arg172, %_D5tango4text4Util21__T13locatePatternTaZ13locatePatternFAaAakZk.exit ] ; <i8*> [#uses=8]
743 %str.0.2 = phi i32 [ %tmp16, %if10 ], [ %str_arg171, %_D5tango4text4Util21__T13locatePatternTaZ13locatePatternFAaAakZk.exit ] ; <i32> [#uses=6]
744 %tmp2.i235 = icmp eq i32 %str.0.2, -1 ; <i1> [#uses=1]
745 br i1 %tmp2.i235, label %whilecond.i239, label %if.i236
746
747if.i236: ; preds = %endif11
748 br label %whilecond.i239
749
750whilecond.i239: ; preds = %whilebody.i244, %if.i236, %endif11
751 %start.0.i237 = phi i32 [ %str.0.2, %if.i236 ], [ %tmp8.i240, %whilebody.i244 ], [ -1, %endif11 ] ; <i32> [#uses=2]
752 %tmp6.i238 = icmp eq i32 %start.0.i237, 0 ; <i1> [#uses=1]
753 br i1 %tmp6.i238, label %_D5tango4text4Util19__T11locatePriorTaZ11locatePriorFAaakZk.exit247, label %whilebody.i244
754
755whilebody.i244: ; preds = %whilecond.i239
756 %tmp8.i240 = add i32 %start.0.i237, -1 ; <i32> [#uses=3]
757 %tmp10.i241 = getelementptr i8* %str.1.2, i32 %tmp8.i240 ; <i8*> [#uses=1]
758 %tmp11.i242 = load i8* %tmp10.i241 ; <i8> [#uses=1]
759 %tmp15.i243 = icmp eq i8 %tmp11.i242, 64 ; <i1> [#uses=1]
760 br i1 %tmp15.i243, label %_D5tango4text4Util19__T11locatePriorTaZ11locatePriorFAaakZk.exit247, label %whilecond.i239
761
762_D5tango4text4Util19__T11locatePriorTaZ11locatePriorFAaakZk.exit247: ; preds = %whilebody.i244, %whilecond.i239
763 %tmp21248 = phi i32 [ %tmp8.i240, %whilebody.i244 ], [ %str.0.2, %whilecond.i239 ] ; <i32> [#uses=7]
764 %tmp25 = icmp eq i32 %tmp21248, %str.0.2 ; <i1> [#uses=1]
765 br i1 %tmp25, label %endif27, label %if26
766
767if26: ; preds = %_D5tango4text4Util19__T11locatePriorTaZ11locatePriorFAaakZk.exit247
768 %tmp38 = add i32 %tmp21248, 1 ; <i32> [#uses=2]
769 %tmp41 = getelementptr i8* %str.1.2, i32 %tmp38 ; <i8*> [#uses=2]
770 %tmp42 = sub i32 %str.0.2, %tmp38 ; <i32> [#uses=2]
771 %tmp2.i.i214 = getelementptr i8* %str.1.2, i32 -1 ; <i8*> [#uses=1]
772 br label %forcond.i.i219
773
774forcond.i.i219: ; preds = %forbody.i.i223, %if26
775 %len.0.i.i215 = phi i32 [ %tmp21248, %if26 ], [ %tmp4.i.i217, %forbody.i.i223 ] ; <i32> [#uses=2]
776 %p.0.i.i216 = phi i8* [ %tmp2.i.i214, %if26 ], [ %tmp7.i.i220, %forbody.i.i223 ] ; <i8*> [#uses=1]
777 %tmp4.i.i217 = add i32 %len.0.i.i215, -1 ; <i32> [#uses=1]
778 %tmp5.i.i218 = icmp eq i32 %len.0.i.i215, 0 ; <i1> [#uses=1]
779 br i1 %tmp5.i.i218, label %_D5tango4text4Util13__T6locateTaZ6locateFAaakZk.exit232, label %forbody.i.i223
780
781forbody.i.i223: ; preds = %forcond.i.i219
782 %tmp7.i.i220 = getelementptr i8* %p.0.i.i216, i32 1 ; <i8*> [#uses=3]
783 %tmp8.i.i221 = load i8* %tmp7.i.i220 ; <i8> [#uses=1]
784 %tmp12.i.i222 = icmp eq i8 %tmp8.i.i221, 58 ; <i1> [#uses=1]
785 br i1 %tmp12.i.i222, label %if.i.i227, label %forcond.i.i219
786
787if.i.i227: ; preds = %forbody.i.i223
788 %tmp15.i.i224 = ptrtoint i8* %tmp7.i.i220 to i32 ; <i32> [#uses=1]
789 %tmp16.i.i225 = ptrtoint i8* %str.1.2 to i32 ; <i32> [#uses=1]
790 %tmp17.i.i226 = sub i32 %tmp15.i.i224, %tmp16.i.i225 ; <i32> [#uses=1]
791 br label %_D5tango4text4Util13__T6locateTaZ6locateFAaakZk.exit232
792
793_D5tango4text4Util13__T6locateTaZ6locateFAaakZk.exit232: ; preds = %if.i.i227, %forcond.i.i219
794 %tmp1318.i229 = phi i32 [ %tmp17.i.i226, %if.i.i227 ], [ %tmp21248, %forcond.i.i219 ] ; <i32> [#uses=3]
795 %tmp51 = icmp eq i32 %tmp1318.i229, %tmp21248 ; <i1> [#uses=1]
796 %tmp55 = getelementptr i8* %.gc_mem, i32 16 ; <i8*> [#uses=2]
797 br i1 %tmp51, label %else, label %if52
798
799if52: ; preds = %_D5tango4text4Util13__T6locateTaZ6locateFAaakZk.exit232
800 %0 = bitcast i8* %tmp55 to i32* ; <i32*> [#uses=1]
801 store i32 %tmp1318.i229, i32* %0
802 %tmp62 = getelementptr i8* %.gc_mem, i32 20 ; <i8*> [#uses=1]
803 %1 = bitcast i8* %tmp62 to i8** ; <i8**> [#uses=1]
804 store i8* %str.1.2, i8** %1
805 %tmp68 = add i32 %tmp1318.i229, 1 ; <i32> [#uses=2]
806 %tmp71 = getelementptr i8* %str.1.2, i32 %tmp68 ; <i8*> [#uses=1]
807 %tmp72 = sub i32 %tmp21248, %tmp68 ; <i32> [#uses=1]
808 %tmp73 = getelementptr i8* %.gc_mem, i32 24 ; <i8*> [#uses=1]
809 %2 = bitcast i8* %tmp73 to i32* ; <i32*> [#uses=1]
810 store i32 %tmp72, i32* %2
811 %tmp74 = getelementptr i8* %.gc_mem, i32 28 ; <i8*> [#uses=1]
812 %3 = bitcast i8* %tmp74 to i8** ; <i8**> [#uses=1]
813 store i8* %tmp71, i8** %3
814 br label %endif27
815
816else: ; preds = %_D5tango4text4Util13__T6locateTaZ6locateFAaakZk.exit232
817 %4 = bitcast i8* %tmp55 to %"byte[]"* ; <%"byte[]"*> [#uses=1]
818 %insert = insertvalue %"byte[]" undef, i32 %tmp21248, 0 ; <%"byte[]"> [#uses=1]
819 %insert150 = insertvalue %"byte[]" %insert, i8* %str.1.2, 1 ; <%"byte[]"> [#uses=1]
820 store %"byte[]" %insert150, %"byte[]"* %4
821 br label %endif27
822
823endif27: ; preds = %else, %if52, %_D5tango4text4Util19__T11locatePriorTaZ11locatePriorFAaakZk.exit247
824 %str.1.1 = phi i8* [ %tmp41, %if52 ], [ %tmp41, %else ], [ %str.1.2, %_D5tango4text4Util19__T11locatePriorTaZ11locatePriorFAaakZk.exit247 ] ; <i8*> [#uses=6]
825 %str.0.1 = phi i32 [ %tmp42, %if52 ], [ %tmp42, %else ], [ %str.0.2, %_D5tango4text4Util19__T11locatePriorTaZ11locatePriorFAaakZk.exit247 ] ; <i32> [#uses=6]
826 %tmp2.i197 = icmp eq i32 %str.0.1, -1 ; <i1> [#uses=1]
827 br i1 %tmp2.i197, label %whilecond.i201, label %if.i198
828
829if.i198: ; preds = %endif27
830 br label %whilecond.i201
831
832whilecond.i201: ; preds = %whilebody.i205, %if.i198, %endif27
833 %start.0.i199 = phi i32 [ %str.0.1, %if.i198 ], [ %tmp8.i202, %whilebody.i205 ], [ -1, %endif27 ] ; <i32> [#uses=2]
834 %tmp6.i200 = icmp eq i32 %start.0.i199, 0 ; <i1> [#uses=1]
835 br i1 %tmp6.i200, label %_D5tango4text4Util19__T11locatePriorTaZ11locatePriorFAaakZk.exit, label %whilebody.i205
836
837whilebody.i205: ; preds = %whilecond.i201
838 %tmp8.i202 = add i32 %start.0.i199, -1 ; <i32> [#uses=3]
839 %tmp10.i = getelementptr i8* %str.1.1, i32 %tmp8.i202 ; <i8*> [#uses=1]
840 %tmp11.i203 = load i8* %tmp10.i ; <i8> [#uses=1]
841 %tmp15.i204 = icmp eq i8 %tmp11.i203, 58 ; <i1> [#uses=1]
842 br i1 %tmp15.i204, label %_D5tango4text4Util19__T11locatePriorTaZ11locatePriorFAaakZk.exit, label %whilecond.i201
843
844_D5tango4text4Util19__T11locatePriorTaZ11locatePriorFAaakZk.exit: ; preds = %whilebody.i205, %whilecond.i201
845 %tmp80206 = phi i32 [ %tmp8.i202, %whilebody.i205 ], [ %str.0.1, %whilecond.i201 ] ; <i32> [#uses=3]
846 %tmp84 = icmp eq i32 %tmp80206, %str.0.1 ; <i1> [#uses=1]
847 br i1 %tmp84, label %endif86, label %if85
848
849if85: ; preds = %_D5tango4text4Util19__T11locatePriorTaZ11locatePriorFAaakZk.exit
850 %tmp92 = add i32 %tmp80206, 1 ; <i32> [#uses=2]
851 %tmp95 = getelementptr i8* %str.1.1, i32 %tmp92 ; <i8*> [#uses=1]
852 %tmp96 = sub i32 %str.0.1, %tmp92 ; <i32> [#uses=2]
853 store i32 0, i32* %len.i
854 %insert.i = insertvalue %"byte[]" undef, i32 %tmp96, 0 ; <%"byte[]"> [#uses=1]
855 %insert14.i = insertvalue %"byte[]" %insert.i, i8* %tmp95, 1 ; <%"byte[]"> [#uses=1]
856 %tmp2.i191 = call fastcc i64 @_D5tango4text7convert7Integer12__T5parseTaZ5parseFAakPkZl(%"byte[]" %insert14.i, i32 0, i32* %len.i) ; <i64> [#uses=1]
857 %tmp4.i = load i32* %len.i ; <i32> [#uses=1]
858 %tmp5.i192 = icmp ult i32 %tmp4.i, %tmp96 ; <i1> [#uses=1]
859 br i1 %tmp5.i192, label %if.i, label %_D5tango4text7convert7Integer13__T6toLongTaZ6toLongFAakZl.exit
860
861if.i: ; preds = %if85
862 %.newclass_gc_alloc.i195 = invoke noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4core9Exception24IllegalArgumentException7__ClassZ)
863 to label %.newclass_gc_alloc.i.noexc unwind label %landingpad ; <i8*> [#uses=5]
864
865.newclass_gc_alloc.i.noexc: ; preds = %if.i
866 %.newclass_gc.i = bitcast i8* %.newclass_gc_alloc.i195 to %object.Exception* ; <%object.Exception*> [#uses=1]
867 %vtbl.i = bitcast i8* %.newclass_gc_alloc.i195 to %object.Exception.__vtbl** ; <%object.Exception.__vtbl**> [#uses=1]
868 store %object.Exception.__vtbl* @_D5tango4core9Exception24IllegalArgumentException6__vtblZ, %object.Exception.__vtbl** %vtbl.i
869 %monitor.i = getelementptr i8* %.newclass_gc_alloc.i195, i32 4 ; <i8*> [#uses=1]
870 %5 = bitcast i8* %monitor.i to i8** ; <i8**> [#uses=1]
871 store i8* null, i8** %5
872 %tmp6.i = getelementptr i8* %.newclass_gc_alloc.i195, i32 8 ; <i8*> [#uses=1]
873 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)
874 %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)
875 to label %tmp2.i.i193.noexc unwind label %landingpad ; <%object.Exception*> [#uses=0]
876
877tmp2.i.i193.noexc: ; preds = %.newclass_gc_alloc.i.noexc
878 %tmp11.i = bitcast i8* %.newclass_gc_alloc.i195 to %object.Object* ; <%object.Object*> [#uses=1]
879 invoke void @_d_throw_exception(%object.Object* %tmp11.i)
880 to label %.noexc unwind label %landingpad
881
882.noexc: ; preds = %tmp2.i.i193.noexc
883 unreachable
884
885_D5tango4text7convert7Integer13__T6toLongTaZ6toLongFAakZl.exit: ; preds = %if85
886 %tmp88 = getelementptr i8* %.gc_mem, i32 32 ; <i8*> [#uses=1]
887 %6 = bitcast i8* %tmp88 to i32* ; <i32*> [#uses=1]
888 %tmp101 = trunc i64 %tmp2.i191 to i32 ; <i32> [#uses=1]
889 store i32 %tmp101, i32* %6
890 br label %endif86
891
892endif86: ; preds = %_D5tango4text7convert7Integer13__T6toLongTaZ6toLongFAakZl.exit, %_D5tango4text4Util19__T11locatePriorTaZ11locatePriorFAaakZk.exit
893 %str.0.0 = phi i32 [ %tmp80206, %_D5tango4text7convert7Integer13__T6toLongTaZ6toLongFAakZl.exit ], [ %str.0.1, %_D5tango4text4Util19__T11locatePriorTaZ11locatePriorFAaakZk.exit ] ; <i32> [#uses=4]
894 %tmp2.i.i175 = getelementptr i8* %str.1.1, i32 -1 ; <i8*> [#uses=1]
895 br label %forcond.i.i180
896
897forcond.i.i180: ; preds = %forbody.i.i184, %endif86
898 %len.0.i.i176 = phi i32 [ %str.0.0, %endif86 ], [ %tmp4.i.i178, %forbody.i.i184 ] ; <i32> [#uses=2]
899 %p.0.i.i177 = phi i8* [ %tmp2.i.i175, %endif86 ], [ %tmp7.i.i181, %forbody.i.i184 ] ; <i8*> [#uses=1]
900 %tmp4.i.i178 = add i32 %len.0.i.i176, -1 ; <i32> [#uses=1]
901 %tmp5.i.i179 = icmp eq i32 %len.0.i.i176, 0 ; <i1> [#uses=1]
902 br i1 %tmp5.i.i179, label %_D5tango4text4Util13__T6locateTaZ6locateFAaakZk.exit, label %forbody.i.i184
903
904forbody.i.i184: ; preds = %forcond.i.i180
905 %tmp7.i.i181 = getelementptr i8* %p.0.i.i177, i32 1 ; <i8*> [#uses=3]
906 %tmp8.i.i182 = load i8* %tmp7.i.i181 ; <i8> [#uses=1]
907 %tmp12.i.i183 = icmp eq i8 %tmp8.i.i182, 47 ; <i1> [#uses=1]
908 br i1 %tmp12.i.i183, label %if.i.i188, label %forcond.i.i180
909
910if.i.i188: ; preds = %forbody.i.i184
911 %tmp15.i.i185 = ptrtoint i8* %tmp7.i.i181 to i32 ; <i32> [#uses=1]
912 %tmp16.i.i186 = ptrtoint i8* %str.1.1 to i32 ; <i32> [#uses=1]
913 %tmp17.i.i187 = sub i32 %tmp15.i.i185, %tmp16.i.i186 ; <i32> [#uses=1]
914 br label %_D5tango4text4Util13__T6locateTaZ6locateFAaakZk.exit
915
916_D5tango4text4Util13__T6locateTaZ6locateFAaakZk.exit: ; preds = %if.i.i188, %forcond.i.i180
917 %tmp1318.i = phi i32 [ %tmp17.i.i187, %if.i.i188 ], [ %str.0.0, %forcond.i.i180 ] ; <i32> [#uses=4]
918 %tmp115 = icmp eq i32 %tmp1318.i, %str.0.0 ; <i1> [#uses=1]
919 br i1 %tmp115, label %endif117, label %if116
920
921if116: ; preds = %_D5tango4text4Util13__T6locateTaZ6locateFAaakZk.exit
922 %tmp123 = add i32 %tmp1318.i, 1 ; <i32> [#uses=2]
923 %tmp126 = getelementptr i8* %str.1.1, i32 %tmp123 ; <i8*> [#uses=1]
924 %tmp127 = sub i32 %str.0.0, %tmp123 ; <i32> [#uses=1]
925 %tmp128 = getelementptr i8* %.gc_mem, i32 8 ; <i8*> [#uses=1]
926 %7 = bitcast i8* %tmp128 to i32* ; <i32*> [#uses=1]
927 store i32 %tmp127, i32* %7
928 %tmp129 = getelementptr i8* %.gc_mem, i32 12 ; <i8*> [#uses=1]
929 %8 = bitcast i8* %tmp129 to i8** ; <i8**> [#uses=1]
930 store i8* %tmp126, i8** %8
931 br label %endif117
932
933endif117: ; preds = %if116, %_D5tango4text4Util13__T6locateTaZ6locateFAaakZk.exit
934 %tmp137 = bitcast i8* %.gc_mem to i32* ; <i32*> [#uses=1]
935 store i32 %tmp1318.i, i32* %tmp137
936 %tmp138 = getelementptr i8* %.gc_mem, i32 4 ; <i8*> [#uses=1]
937 %9 = bitcast i8* %tmp138 to i8** ; <i8**> [#uses=1]
938 store i8* %str.1.1, i8** %9
939 %tmp143 = icmp eq i32 %tmp1318.i, 0 ; <i1> [#uses=1]
940 %retval = select i1 %tmp143, %tango.net.ftp.FtpClient.FtpAddress* null, %tango.net.ftp.FtpClient.FtpAddress* %.gc_mem3 ; <%tango.net.ftp.FtpClient.FtpAddress*> [#uses=1]
941 ret %tango.net.ftp.FtpClient.FtpAddress* %retval
942
943landingpad: ; preds = %tmp2.i.i193.noexc, %.newclass_gc_alloc.i.noexc, %if.i, %try
944 %10 = tail call i8* @llvm.eh.exception() ; <i8*> [#uses=2]
945 %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]
946 %cond = icmp eq i32 %11, 1 ; <i1> [#uses=1]
947 br i1 %cond, label %catch, label %switchdefault
948
949catch: ; preds = %landingpad
950 ret %tango.net.ftp.FtpClient.FtpAddress* null
951
952switchdefault: ; preds = %landingpad
953 tail call void @_d_eh_resume_unwind(i8* %10)
954 unreachable
955}
956
957declare fastcc %"byte[]" @_D6object6Object8toStringMFZAa(%object.Object*)
958
959declare fastcc i32 @_D6object6Object6toHashMFZk(%object.Object*)
960
961declare fastcc i32 @_D6object6Object5opCmpMFC6ObjectZi(%object.Object*, %object.Object*)
962
963declare fastcc i32 @_D6object6Object8opEqualsMFC6ObjectZi(%object.Object*, %object.Object*)
964
965declare fastcc %object.Exception* @_D6object9Exception5_ctorMFAaC9ExceptionZC9Exception(%object.Exception*, %"byte[]", %object.Exception*)
966
967declare fastcc void @_D6object9Exception8writeOutMFDFAaZvZv(%object.Exception*, %"void delegate(char[])")
968
969define fastcc %"byte[]" @_D5tango3net3ftp9FtpClient12FtpException8toStringMFZAa(%tango.net.ftp.FtpClient.FtpException* nocapture %.this_arg) {
970entry:
971 %tmp2 = getelementptr %tango.net.ftp.FtpClient.FtpException* %.this_arg, i32 0, i32 2, i32 0 ; <i32*> [#uses=1]
972 %.len = load i32* %tmp2 ; <i32> [#uses=2]
973 %tmp3 = add i32 %.len, 4 ; <i32> [#uses=2]
974 %.gc_mem = tail call noalias i8* @_d_newarrayiT(%object.TypeInfo* @_D11TypeInfo_Aa6__initZ, i32 %tmp3) ; <i8*> [#uses=4]
975 %tmp10 = getelementptr %tango.net.ftp.FtpClient.FtpException* %.this_arg, i32 0, i32 7, i32 0 ; <i8*> [#uses=1]
976 tail call void @llvm.memcpy.i32(i8* %.gc_mem, i8* %tmp10, i32 3, i32 1)
977 %tmp13 = getelementptr i8* %.gc_mem, i32 3 ; <i8*> [#uses=1]
978 store i8 32, i8* %tmp13
979 %tmp18 = getelementptr i8* %.gc_mem, i32 4 ; <i8*> [#uses=1]
980 %tmp23 = getelementptr %tango.net.ftp.FtpClient.FtpException* %.this_arg, i32 0, i32 2, i32 1 ; <i8**> [#uses=1]
981 %.ptr24 = load i8** %tmp23 ; <i8*> [#uses=1]
982 tail call void @llvm.memcpy.i32(i8* %tmp18, i8* %.ptr24, i32 %.len, i32 1)
983 %insert = insertvalue %"byte[]" undef, i32 %tmp3, 0 ; <%"byte[]"> [#uses=1]
984 %insert30 = insertvalue %"byte[]" %insert, i8* %.gc_mem, 1 ; <%"byte[]"> [#uses=1]
985 ret %"byte[]" %insert30
986}
987
988define fastcc %tango.net.ftp.FtpClient.FtpException* @_D5tango3net3ftp9FtpClient12FtpException5_ctorMFAaG3aZC5tango3net3ftp9FtpClient12FtpException(%tango.net.ftp.FtpClient.FtpException* %.this_arg, %"byte[]" %message_arg, [3 x i8]* nocapture %code_arg) {
989entry:
990 %tmp2 = getelementptr %tango.net.ftp.FtpClient.FtpException* %.this_arg, i32 0, i32 7, i32 0 ; <i8*> [#uses=1]
991 %tmp3 = getelementptr [3 x i8]* %code_arg, i32 0, i32 0 ; <i8*> [#uses=1]
992 tail call void @llvm.memcpy.i32(i8* %tmp2, i8* %tmp3, i32 3, i32 1)
993 %tmp5 = bitcast %tango.net.ftp.FtpClient.FtpException* %.this_arg to %object.Exception* ; <%object.Exception*> [#uses=1]
994 %tmp7 = tail call fastcc %object.Exception* @_D6object9Exception5_ctorMFAaC9ExceptionZC9Exception(%object.Exception* %tmp5, %"byte[]" %message_arg, %object.Exception* null) ; <%object.Exception*> [#uses=0]
995 ret %tango.net.ftp.FtpClient.FtpException* %.this_arg
996}
997
998define fastcc %tango.net.ftp.FtpClient.FtpException* @_D5tango3net3ftp9FtpClient12FtpException5_ctorMFS5tango3net3ftp9FtpClient11FtpResponseZC5tango3net3ftp9FtpClient12FtpException(%tango.net.ftp.FtpClient.FtpException* %.this_arg, %tango.net.ftp.FtpClient.FtpResponse* nocapture byval %r_arg) {
999entry:
1000 %tmp2 = getelementptr %tango.net.ftp.FtpClient.FtpException* %.this_arg, i32 0, i32 7, i32 0 ; <i8*> [#uses=1]
1001 %tmp4 = getelementptr %tango.net.ftp.FtpClient.FtpResponse* %r_arg, i32 0, i32 0, i32 0 ; <i8*> [#uses=1]
1002 tail call void @llvm.memcpy.i32(i8* %tmp2, i8* %tmp4, i32 3, i32 1)
1003 %tmp6 = bitcast %tango.net.ftp.FtpClient.FtpException* %.this_arg to %object.Exception* ; <%object.Exception*> [#uses=1]
1004 %tmp7 = getelementptr %tango.net.ftp.FtpClient.FtpResponse* %r_arg, i32 0, i32 1 ; <%"byte[]"*> [#uses=1]
1005 %tmp8 = load %"byte[]"* %tmp7 ; <%"byte[]"> [#uses=1]
1006 %tmp9 = tail call fastcc %object.Exception* @_D6object9Exception5_ctorMFAaC9ExceptionZC9Exception(%object.Exception* %tmp6, %"byte[]" %tmp8, %object.Exception* null) ; <%object.Exception*> [#uses=0]
1007 ret %tango.net.ftp.FtpClient.FtpException* %.this_arg
1008}
1009
1010declare fastcc void @_D5tango3net3ftp6Telnet6Telnet8sendlineMFAvZv(%tango.net.ftp.Telnet.Telnet*, %"byte[]")
1011
1012declare fastcc void @_D5tango3net3ftp6Telnet6Telnet8sendDataMFAvZv(%tango.net.ftp.Telnet.Telnet*, %"byte[]")
1013
1014declare fastcc %"byte[]" @_D5tango3net3ftp6Telnet6Telnet8readLineMFZAa(%tango.net.ftp.Telnet.Telnet*)
1015
1016declare fastcc %tango.net.SocketConduit.SocketConduit* @_D5tango3net3ftp6Telnet6Telnet19findAvailableServerMFAaiZC5tango3net13SocketConduit13SocketConduit(%tango.net.ftp.Telnet.Telnet*, %"byte[]", i32)
1017
1018declare fastcc void @_D5tango4time4Time8TimeSpan10fromMillisFlZS5tango4time4Time8TimeSpan(%tango.time.Time.Time* noalias nocapture sret, i64)
1019
1020define fastcc void @_D5tango3net3ftp9FtpClient13FTPConnection9exceptionMFAaZv(%tango.net.ftp.FtpClient.FTPConnection* nocapture %.this_arg, %"byte[]" %message_arg) noreturn {
1021entry:
1022 %.newclass_gc_alloc = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango3net3ftp9FtpClient12FtpException7__ClassZ) ; <i8*> [#uses=6]
1023 %vtbl = bitcast i8* %.newclass_gc_alloc to %tango.net.ftp.FtpClient.FtpException.__vtbl** ; <%tango.net.ftp.FtpClient.FtpException.__vtbl**> [#uses=1]
1024 store %tango.net.ftp.FtpClient.FtpException.__vtbl* @_D5tango3net3ftp9FtpClient12FtpException6__vtblZ, %tango.net.ftp.FtpClient.FtpException.__vtbl** %vtbl
1025 %monitor = getelementptr i8* %.newclass_gc_alloc, i32 4 ; <i8*> [#uses=1]
1026 %0 = bitcast i8* %monitor to i8** ; <i8**> [#uses=1]
1027 store i8* null, i8** %0
1028 %tmp = getelementptr i8* %.newclass_gc_alloc, i32 8 ; <i8*> [#uses=1]
1029 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)
1030 %tmp2.i = getelementptr i8* %.newclass_gc_alloc, i32 36 ; <i8*> [#uses=1]
1031 tail call void @llvm.memcpy.i32(i8* %tmp2.i, i8* getelementptr ([4 x i8]* @.str66, i32 0, i32 0), i32 3, i32 1)
1032 %tmp5.i = bitcast i8* %.newclass_gc_alloc to %object.Exception* ; <%object.Exception*> [#uses=1]
1033 %tmp7.i = tail call fastcc %object.Exception* @_D6object9Exception5_ctorMFAaC9ExceptionZC9Exception(%object.Exception* %tmp5.i, %"byte[]" %message_arg, %object.Exception* null) ; <%object.Exception*> [#uses=0]
1034 %tmp6 = bitcast i8* %.newclass_gc_alloc to %object.Object* ; <%object.Object*> [#uses=1]
1035 tail call void @_d_throw_exception(%object.Object* %tmp6)
1036 unreachable
1037}
1038
1039define fastcc void @_D5tango3net3ftp9FtpClient13FTPConnection7timeoutMFZS5tango4time4Time8TimeSpan(%tango.time.Time.Time* noalias nocapture sret %.sret_arg, %tango.net.ftp.FtpClient.FTPConnection* nocapture %.this_arg) nounwind {
1040entry:
1041 %tmp34 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 10, i32 0 ; <i64*> [#uses=1]
1042 %tmp = load i64* %tmp34, align 1 ; <i64> [#uses=1]
1043 %0 = getelementptr %tango.time.Time.Time* %.sret_arg, i32 0, i32 0 ; <i64*> [#uses=1]
1044 store i64 %tmp, i64* %0
1045 ret void
1046}
1047
1048define fastcc void @_D5tango3net3ftp9FtpClient13FTPConnection7timeoutMFS5tango4time4Time8TimeSpanZv(%tango.net.ftp.FtpClient.FTPConnection* nocapture %.this_arg, %tango.time.Time.Time* nocapture byval %t_arg) nounwind {
1049entry:
1050 %tmp34 = getelementptr %tango.time.Time.Time* %t_arg, i32 0, i32 0 ; <i64*> [#uses=1]
1051 %tmp = load i64* %tmp34, align 1 ; <i64> [#uses=1]
1052 %0 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 10, i32 0 ; <i64*> [#uses=1]
1053 store i64 %tmp, i64* %0
1054 ret void
1055}
1056
1057define fastcc void @_D5tango3net3ftp9FtpClient13FTPConnection12shutdownTimeMFZS5tango4time4Time8TimeSpan(%tango.time.Time.Time* noalias nocapture sret %.sret_arg, %tango.net.ftp.FtpClient.FTPConnection* nocapture %.this_arg) nounwind {
1058entry:
1059 %tmp1.0 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 10, i32 0 ; <i64*> [#uses=1]
1060 %tmp = load i64* %tmp1.0, align 1 ; <i64> [#uses=1]
1061 %tmp5.i = shl i64 %tmp, 1 ; <i64> [#uses=1]
1062 %0 = getelementptr %tango.time.Time.Time* %.sret_arg, i32 0, i32 0 ; <i64*> [#uses=1]
1063 store i64 %tmp5.i, i64* %0
1064 ret void
1065}
1066
1067define fastcc %"FtpFeature[]" @_D5tango3net3ftp9FtpClient13FTPConnection17supportedFeaturesMFZAS5tango3net3ftp9FtpClient10FtpFeature(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg) {
1068entry:
1069 %tmp3 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 5, i32 0 ; <i32*> [#uses=1]
1070 %.len = load i32* %tmp3 ; <i32> [#uses=1]
1071 %tmp4 = icmp eq i32 %.len, 0 ; <i1> [#uses=1]
1072 %tmp5 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 5, i32 1 ; <%tango.net.ftp.FtpClient.FtpFeature**> [#uses=1]
1073 %.ptr = load %tango.net.ftp.FtpClient.FtpFeature** %tmp5 ; <%tango.net.ftp.FtpClient.FtpFeature*> [#uses=1]
1074 %tmp6 = icmp eq %tango.net.ftp.FtpClient.FtpFeature* %.ptr, null ; <i1> [#uses=1]
1075 %tmp7 = and i1 %tmp4, %tmp6 ; <i1> [#uses=1]
1076 br i1 %tmp7, label %endif, label %if
1077
1078if: ; preds = %entry
1079 %tmp9 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 5 ; <%"FtpFeature[]"*> [#uses=1]
1080 %tmp10 = load %"FtpFeature[]"* %tmp9 ; <%"FtpFeature[]"> [#uses=1]
1081 ret %"FtpFeature[]" %tmp10
1082
1083endif: ; preds = %entry
1084 %tmp12 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 0 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl**> [#uses=1]
1085 %tmp13 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp12 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
1086 %"this.getFeatures@vtbl" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp13, i32 0, i32 34 ; <void (%tango.net.ftp.FtpClient.FTPConnection*)**> [#uses=1]
1087 %this.getFeatures = load void (%tango.net.ftp.FtpClient.FTPConnection*)** %"this.getFeatures@vtbl", align 4 ; <void (%tango.net.ftp.FtpClient.FTPConnection*)*> [#uses=1]
1088 tail call fastcc void %this.getFeatures(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg)
1089 %tmp16 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 5 ; <%"FtpFeature[]"*> [#uses=1]
1090 %tmp17 = load %"FtpFeature[]"* %tmp16 ; <%"FtpFeature[]"> [#uses=1]
1091 ret %"FtpFeature[]" %tmp17
1092}
1093
1094define fastcc void @_D5tango3net3ftp9FtpClient13FTPConnection9exceptionMFS5tango3net3ftp9FtpClient11FtpResponseZv(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %tango.net.ftp.FtpClient.FtpResponse* nocapture byval %fr_arg) {
1095entry:
1096 %tmp1 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 0 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl**> [#uses=1]
1097 %tmp2 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp1 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
1098 %"this.exception@vtbl" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp2, i32 0, i32 5 ; <void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")**> [#uses=1]
1099 %this.exception = load void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")** %"this.exception@vtbl", align 4 ; <void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")*> [#uses=1]
1100 %tmp4 = getelementptr %tango.net.ftp.FtpClient.FtpResponse* %fr_arg, i32 0, i32 1 ; <%"byte[]"*> [#uses=1]
1101 %tmp5 = load %"byte[]"* %tmp4 ; <%"byte[]"> [#uses=1]
1102 tail call fastcc void %this.exception(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" %tmp5)
1103 ret void
1104}
1105
1106define fastcc void @_D5tango3net3ftp9FtpClient13FTPConnection7connectMFS5tango3net3ftp9FtpClient10FtpAddressZv(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %tango.net.ftp.FtpClient.FtpAddress* nocapture byval %fad_arg) {
1107entry:
1108 %tmp1 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 0 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl**> [#uses=1]
1109 %tmp2 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp1 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
1110 %"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]
1111 %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]
1112 %tmp4 = getelementptr %tango.net.ftp.FtpClient.FtpAddress* %fad_arg, i32 0, i32 0 ; <%"byte[]"*> [#uses=1]
1113 %tmp5 = load %"byte[]"* %tmp4 ; <%"byte[]"> [#uses=1]
1114 %tmp6 = getelementptr %tango.net.ftp.FtpClient.FtpAddress* %fad_arg, i32 0, i32 2 ; <%"byte[]"*> [#uses=1]
1115 %tmp7 = load %"byte[]"* %tmp6 ; <%"byte[]"> [#uses=1]
1116 %tmp8 = getelementptr %tango.net.ftp.FtpClient.FtpAddress* %fad_arg, i32 0, i32 3 ; <%"byte[]"*> [#uses=1]
1117 %tmp9 = load %"byte[]"* %tmp8 ; <%"byte[]"> [#uses=1]
1118 %tmp10 = getelementptr %tango.net.ftp.FtpClient.FtpAddress* %fad_arg, i32 0, i32 4 ; <i32*> [#uses=1]
1119 %tmp11 = load i32* %tmp10 ; <i32> [#uses=1]
1120 tail call fastcc void %this.connect(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" %tmp5, %"byte[]" %tmp7, %"byte[]" %tmp9, i32 %tmp11)
1121 ret void
1122}
1123
1124define fastcc void @_D5tango3net3ftp9FtpClient13FTPConnection7connectMFAaAaAakZv(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" %hostname_arg, %"byte[]" %username_arg, %"byte[]" %password_arg, i32 %port_arg) {
1125entry:
1126 %.rettmp = alloca %tango.net.ftp.FtpClient.FtpResponse, align 8 ; <%tango.net.ftp.FtpClient.FtpResponse*> [#uses=1]
1127 %__arrayArg120 = alloca [1 x %"byte[]"], align 8 ; <[1 x %"byte[]"]*> [#uses=1]
1128 %response = alloca %tango.net.ftp.FtpClient.FtpResponse, align 4 ; <%tango.net.ftp.FtpClient.FtpResponse*> [#uses=2]
1129 %.rettmp44 = alloca %tango.net.ftp.FtpClient.FtpResponse, align 8 ; <%tango.net.ftp.FtpClient.FtpResponse*> [#uses=2]
1130 %__arrayArg121 = alloca [1 x %"byte[]"], align 8 ; <[1 x %"byte[]"]*> [#uses=1]
1131 %.rettmp73 = alloca %tango.net.ftp.FtpClient.FtpResponse, align 8 ; <%tango.net.ftp.FtpClient.FtpResponse*> [#uses=2]
1132 %username_arg100 = extractvalue %"byte[]" %username_arg, 0 ; <i32> [#uses=2]
1133 %username_arg101 = extractvalue %"byte[]" %username_arg, 1 ; <i8*> [#uses=1]
1134 %tmp1 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 2 ; <%tango.net.SocketConduit.SocketConduit**> [#uses=1]
1135 %tmp2 = load %tango.net.SocketConduit.SocketConduit** %tmp1 ; <%tango.net.SocketConduit.SocketConduit*> [#uses=3]
1136 %tmp3 = icmp eq %tango.net.SocketConduit.SocketConduit* %tmp2, null ; <i1> [#uses=1]
1137 br i1 %tmp3, label %endif, label %if
1138
1139if: ; preds = %entry
1140 %tmp7 = bitcast %tango.net.SocketConduit.SocketConduit* %tmp2 to %tango.io.device.Conduit.Conduit* ; <%tango.io.device.Conduit.Conduit*> [#uses=1]
1141 %tmp1.i = bitcast %tango.net.SocketConduit.SocketConduit* %tmp2 to %tango.io.device.Conduit.Conduit.__vtbl** ; <%tango.io.device.Conduit.Conduit.__vtbl**> [#uses=1]
1142 %tmp2.i = load %tango.io.device.Conduit.Conduit.__vtbl** %tmp1.i ; <%tango.io.device.Conduit.Conduit.__vtbl*> [#uses=1]
1143 %"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]
1144 %this.detach.i = load void (%tango.io.device.Conduit.Conduit*)** %"this.detach@vtbl.i", align 4 ; <void (%tango.io.device.Conduit.Conduit*)*> [#uses=1]
1145 call fastcc void %this.detach.i(%tango.io.device.Conduit.Conduit* %tmp7)
1146 br label %endif
1147
1148endif: ; preds = %if, %entry
1149 %tmp9 = bitcast %tango.net.ftp.FtpClient.FTPConnection* %.this_arg to %tango.net.ftp.Telnet.Telnet* ; <%tango.net.ftp.Telnet.Telnet*> [#uses=1]
1150 %tmp10 = bitcast %tango.net.ftp.FtpClient.FTPConnection* %.this_arg to %tango.net.ftp.Telnet.Telnet.__vtbl** ; <%tango.net.ftp.Telnet.Telnet.__vtbl**> [#uses=1]
1151 %tmp11 = load %tango.net.ftp.Telnet.Telnet.__vtbl** %tmp10 ; <%tango.net.ftp.Telnet.Telnet.__vtbl*> [#uses=1]
1152 %"(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]
1153 %"(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]
1154 %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]
1155 %tmp22 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 0 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl**> [#uses=7]
1156 %tmp23 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp22 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
1157 %"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]
1158 %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]
1159 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) })
1160 to label %postinvoke unwind label %landingpad
1161
1162postinvoke: ; preds = %endif
1163 %tmp26 = icmp eq i32 %username_arg100, 0 ; <i1> [#uses=1]
1164 br i1 %tmp26, label %if27, label %endif28
1165
1166if27: ; preds = %postinvoke
1167 ret void
1168
1169endif28: ; preds = %postinvoke
1170 %tmp31 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp22 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
1171 %"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]
1172 %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]
1173 %tmp33 = getelementptr [1 x %"byte[]"]* %__arrayArg120, i32 0, i32 0 ; <%"byte[]"*> [#uses=2]
1174 %insert = insertvalue %"byte[]" undef, i32 %username_arg100, 0 ; <%"byte[]"> [#uses=1]
1175 %insert99 = insertvalue %"byte[]" %insert, i8* %username_arg101, 1 ; <%"byte[]"> [#uses=1]
1176 store %"byte[]" %insert99, %"byte[]"* %tmp33, align 8
1177 %tmp36 = insertvalue %"char[][]" { i32 1, %"byte[]"* undef }, %"byte[]"* %tmp33, 1 ; <%"char[][]"> [#uses=1]
1178 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)
1179 to label %postinvoke37 unwind label %landingpad
1180
1181postinvoke37: ; preds = %endif28
1182 %tmp40 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp22 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
1183 %"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]
1184 %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]
1185 invoke fastcc void %this.readResponse43(%tango.net.ftp.FtpClient.FtpResponse* noalias nocapture sret %.rettmp44, %tango.net.ftp.FtpClient.FTPConnection* %.this_arg)
1186 to label %postinvoke45 unwind label %landingpad
1187
1188postinvoke45: ; preds = %postinvoke37
1189 %tmp46 = getelementptr %tango.net.ftp.FtpClient.FtpResponse* %response, i32 0, i32 0, i32 0 ; <i8*> [#uses=5]
1190 %tmp47 = getelementptr %tango.net.ftp.FtpClient.FtpResponse* %.rettmp44, i32 0, i32 0, i32 0 ; <i8*> [#uses=1]
1191 call void @llvm.memcpy.i32(i8* %tmp46, i8* %tmp47, i32 12, i32 4)
1192 %tmp50 = insertvalue %"byte[]" { i32 3, i8* undef }, i8* %tmp46, 1 ; <%"byte[]"> [#uses=1]
1193 %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
1194 to label %postinvoke51 unwind label %landingpad ; <i32> [#uses=1]
1195
1196postinvoke51: ; preds = %postinvoke45
1197 %tmp53 = icmp eq i32 %tmp52, 0 ; <i1> [#uses=1]
1198 br i1 %tmp53, label %endif55, label %if54
1199
1200if54: ; preds = %postinvoke51
1201 %tmp58 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp22 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
1202 %"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]
1203 %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]
1204 %tmp62 = getelementptr [1 x %"byte[]"]* %__arrayArg121, i32 0, i32 0 ; <%"byte[]"*> [#uses=2]
1205 store %"byte[]" %password_arg, %"byte[]"* %tmp62, align 8
1206 %tmp65 = insertvalue %"char[][]" { i32 1, %"byte[]"* undef }, %"byte[]"* %tmp62, 1 ; <%"char[][]"> [#uses=1]
1207 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)
1208 to label %postinvoke66 unwind label %landingpad
1209
1210postinvoke66: ; preds = %if54
1211 %tmp69 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp22 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
1212 %"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]
1213 %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]
1214 invoke fastcc void %this.readResponse72(%tango.net.ftp.FtpClient.FtpResponse* noalias nocapture sret %.rettmp73, %tango.net.ftp.FtpClient.FTPConnection* %.this_arg)
1215 to label %postinvoke74 unwind label %landingpad
1216
1217postinvoke74: ; preds = %postinvoke66
1218 %tmp76 = getelementptr %tango.net.ftp.FtpClient.FtpResponse* %.rettmp73, i32 0, i32 0, i32 0 ; <i8*> [#uses=1]
1219 call void @llvm.memcpy.i32(i8* %tmp46, i8* %tmp76, i32 12, i32 4)
1220 br label %endif55
1221
1222endif55: ; preds = %postinvoke74, %postinvoke51
1223 %tmp79 = insertvalue %"byte[]" { i32 3, i8* undef }, i8* %tmp46, 1 ; <%"byte[]"> [#uses=1]
1224 %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
1225 to label %postinvoke80 unwind label %landingpad ; <i32> [#uses=1]
1226
1227postinvoke80: ; preds = %endif55
1228 %tmp82 = icmp eq i32 %tmp81, 0 ; <i1> [#uses=1]
1229 br i1 %tmp82, label %andand, label %endtrycatch
1230
1231andand: ; preds = %postinvoke80
1232 %tmp86 = insertvalue %"byte[]" { i32 3, i8* undef }, i8* %tmp46, 1 ; <%"byte[]"> [#uses=1]
1233 %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
1234 to label %postinvoke87 unwind label %landingpad ; <i32> [#uses=1]
1235
1236postinvoke87: ; preds = %andand
1237 %tmp89 = icmp eq i32 %tmp88, 0 ; <i1> [#uses=1]
1238 br i1 %tmp89, label %if91, label %endtrycatch
1239
1240if91: ; preds = %postinvoke87
1241 %tmp95 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp22 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
1242 %"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]
1243 %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]
1244 invoke fastcc void %this.exception(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %tango.net.ftp.FtpClient.FtpResponse* byval %response)
1245 to label %endtrycatch unwind label %landingpad
1246
1247landingpad: ; preds = %if91, %andand, %endif55, %postinvoke66, %if54, %postinvoke45, %postinvoke37, %endif28, %endif
1248 %0 = call i8* @llvm.eh.exception() ; <i8*> [#uses=3]
1249 %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]
1250 %cond = icmp eq i32 %1, 1 ; <i1> [#uses=1]
1251 br i1 %cond, label %catch, label %switchdefault
1252
1253catch: ; preds = %landingpad
1254 %2 = bitcast i8* %0 to %object.Object* ; <%object.Object*> [#uses=1]
1255 %tmp18 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp22 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
1256 %"this.close@vtbl" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp18, i32 0, i32 17 ; <void (%tango.net.ftp.FtpClient.FTPConnection*)**> [#uses=1]
1257 %this.close = load void (%tango.net.ftp.FtpClient.FTPConnection*)** %"this.close@vtbl", align 4 ; <void (%tango.net.ftp.FtpClient.FTPConnection*)*> [#uses=1]
1258 call fastcc void %this.close(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg)
1259 call void @_d_throw_exception(%object.Object* %2)
1260 unreachable
1261
1262switchdefault: ; preds = %landingpad
1263 call void @_d_eh_resume_unwind(i8* %0)
1264 unreachable
1265
1266endtrycatch: ; preds = %if91, %postinvoke87, %postinvoke80
1267 ret void
1268}
1269
1270define fastcc void @_D5tango3net3ftp9FtpClient13FTPConnection5closeMFZv(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg) {
1271entry:
1272 %.rettmp = alloca %tango.net.ftp.FtpClient.FtpResponse, align 8 ; <%tango.net.ftp.FtpClient.FtpResponse*> [#uses=1]
1273 %tmp1 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 9 ; <%tango.net.SocketConduit.SocketConduit**> [#uses=1]
1274 %tmp2 = load %tango.net.SocketConduit.SocketConduit** %tmp1 ; <%tango.net.SocketConduit.SocketConduit*> [#uses=2]
1275 %tmp3 = icmp eq %tango.net.SocketConduit.SocketConduit* %tmp2, null ; <i1> [#uses=1]
1276 br i1 %tmp3, label %endif, label %if
1277
1278if: ; preds = %entry
1279 %tmp5 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 0 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl**> [#uses=1]
1280 %tmp6 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp5 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
1281 %"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]
1282 %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]
1283 call fastcc void %this.finishDataCommand(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %tango.net.SocketConduit.SocketConduit* %tmp2)
1284 br label %endif
1285
1286endif: ; preds = %if, %entry
1287 %tmp12 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 2 ; <%tango.net.SocketConduit.SocketConduit**> [#uses=4]
1288 %tmp13 = load %tango.net.SocketConduit.SocketConduit** %tmp12 ; <%tango.net.SocketConduit.SocketConduit*> [#uses=1]
1289 %tmp14 = icmp eq %tango.net.SocketConduit.SocketConduit* %tmp13, null ; <i1> [#uses=1]
1290 br i1 %tmp14, label %endif16, label %try
1291
1292try: ; preds = %endif
1293 %tmp18 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 0 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl**> [#uses=2]
1294 %tmp19 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp18 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
1295 %"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]
1296 %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]
1297 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)
1298 to label %postinvoke unwind label %landingpad
1299
1300postinvoke: ; preds = %try
1301 %tmp23 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp18 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
1302 %"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]
1303 %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]
1304 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) })
1305 to label %endtrycatch unwind label %landingpad
1306
1307landingpad: ; preds = %postinvoke, %try
1308 %0 = call i8* @llvm.eh.exception() ; <i8*> [#uses=2]
1309 %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]
1310 %cond = icmp eq i32 %1, 1 ; <i1> [#uses=1]
1311 br i1 %cond, label %endtrycatch, label %switchdefault
1312
1313switchdefault: ; preds = %landingpad
1314 call void @_d_eh_resume_unwind(i8* %0)
1315 unreachable
1316
1317endtrycatch: ; preds = %landingpad, %postinvoke
1318 %tmp28 = load %tango.net.SocketConduit.SocketConduit** %tmp12 ; <%tango.net.SocketConduit.SocketConduit*> [#uses=2]
1319 %tmp29 = bitcast %tango.net.SocketConduit.SocketConduit* %tmp28 to %tango.io.device.Conduit.Conduit* ; <%tango.io.device.Conduit.Conduit*> [#uses=1]
1320 %tmp1.i = bitcast %tango.net.SocketConduit.SocketConduit* %tmp28 to %tango.io.device.Conduit.Conduit.__vtbl** ; <%tango.io.device.Conduit.Conduit.__vtbl**> [#uses=1]
1321 %tmp2.i = load %tango.io.device.Conduit.Conduit.__vtbl** %tmp1.i ; <%tango.io.device.Conduit.Conduit.__vtbl*> [#uses=1]
1322 %"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]
1323 %this.detach.i = load void (%tango.io.device.Conduit.Conduit*)** %"this.detach@vtbl.i", align 4 ; <void (%tango.io.device.Conduit.Conduit*)*> [#uses=1]
1324 call fastcc void %this.detach.i(%tango.io.device.Conduit.Conduit* %tmp29)
1325 %tmp31 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 5 ; <%"FtpFeature[]"*> [#uses=1]
1326 %tmp32 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 5, i32 0 ; <i32*> [#uses=1]
1327 %.len = load i32* %tmp32 ; <i32> [#uses=1]
1328 %tmp33 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 5, i32 1 ; <%tango.net.ftp.FtpClient.FtpFeature**> [#uses=1]
1329 %.ptr = load %tango.net.ftp.FtpClient.FtpFeature** %tmp33 ; <%tango.net.ftp.FtpClient.FtpFeature*> [#uses=1]
1330 %.tmp = bitcast %tango.net.ftp.FtpClient.FtpFeature* %.ptr to i8* ; <i8*> [#uses=1]
1331 call void @_d_delarray(i32 %.len, i8* %.tmp)
1332 store %"FtpFeature[]" zeroinitializer, %"FtpFeature[]"* %tmp31
1333 %tmp36 = load %tango.net.SocketConduit.SocketConduit** %tmp12 ; <%tango.net.SocketConduit.SocketConduit*> [#uses=1]
1334 %.tmp37 = bitcast %tango.net.SocketConduit.SocketConduit* %tmp36 to %object.Object* ; <%object.Object*> [#uses=1]
1335 call void @_d_delclass(%object.Object* %.tmp37)
1336 store %tango.net.SocketConduit.SocketConduit* null, %tango.net.SocketConduit.SocketConduit** %tmp12
1337 ret void
1338
1339endif16: ; preds = %endif
1340 ret void
1341}
1342
1343define fastcc void @_D5tango3net3ftp9FtpClient13FTPConnection10setPassiveMFZv(%tango.net.ftp.FtpClient.FTPConnection* nocapture %.this_arg) {
1344entry:
1345 %tmp2 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 6, i32 0 ; <i32*> [#uses=1]
1346 store i32 1, i32* %tmp2
1347 %tmp5 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 6, i32 1 ; <%tango.net.Socket.Address**> [#uses=2]
1348 %tmp6 = load %tango.net.Socket.Address** %tmp5 ; <%tango.net.Socket.Address*> [#uses=1]
1349 %.tmp = bitcast %tango.net.Socket.Address* %tmp6 to %object.Object* ; <%object.Object*> [#uses=1]
1350 tail call void @_d_delclass(%object.Object* %.tmp)
1351 store %tango.net.Socket.Address* null, %tango.net.Socket.Address** %tmp5
1352 %tmp9 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 6, i32 2 ; <%tango.net.Socket.Address**> [#uses=2]
1353 %tmp10 = load %tango.net.Socket.Address** %tmp9 ; <%tango.net.Socket.Address*> [#uses=1]
1354 %.tmp11 = bitcast %tango.net.Socket.Address* %tmp10 to %object.Object* ; <%object.Object*> [#uses=1]
1355 tail call void @_d_delclass(%object.Object* %.tmp11)
1356 store %tango.net.Socket.Address* null, %tango.net.Socket.Address** %tmp9
1357 ret void
1358}
1359
1360define 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) {
1361entry:
1362 %listen_ip_arg64 = extractvalue %"byte[]" %listen_ip_arg, 0 ; <i32> [#uses=2]
1363 %listen_ip_arg65 = extractvalue %"byte[]" %listen_ip_arg, 1 ; <i8*> [#uses=2]
1364 %tmp2 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 6, i32 0 ; <i32*> [#uses=1]
1365 store i32 0, i32* %tmp2
1366 %tmp5 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 6, i32 1 ; <%tango.net.Socket.Address**> [#uses=1]
1367 %.newclass_gc_alloc = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango3net6Socket11IPv4Address7__ClassZ) ; <i8*> [#uses=4]
1368 %.newclass_gc = bitcast i8* %.newclass_gc_alloc to %tango.net.Socket.IPv4Address* ; <%tango.net.Socket.IPv4Address*> [#uses=1]
1369 %vtbl = bitcast i8* %.newclass_gc_alloc to %tango.net.Socket.IPv4Address.__vtbl** ; <%tango.net.Socket.IPv4Address.__vtbl**> [#uses=1]
1370 store %tango.net.Socket.IPv4Address.__vtbl* @_D5tango3net6Socket11IPv4Address6__vtblZ, %tango.net.Socket.IPv4Address.__vtbl** %vtbl
1371 %monitor = getelementptr i8* %.newclass_gc_alloc, i32 4 ; <i8*> [#uses=1]
1372 %0 = bitcast i8* %monitor to i8** ; <i8**> [#uses=1]
1373 store i8* null, i8** %0
1374 %tmp6 = getelementptr i8* %.newclass_gc_alloc, i32 8 ; <i8*> [#uses=1]
1375 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)
1376 %tmp12 = zext i16 %port_arg to i32 ; <i32> [#uses=1]
1377 %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]
1378 %tmp14 = bitcast %tango.net.Socket.IPv4Address* %tmp13 to %tango.net.Socket.Address* ; <%tango.net.Socket.Address*> [#uses=1]
1379 store %tango.net.Socket.Address* %tmp14, %tango.net.Socket.Address** %tmp5
1380 %tmp17 = icmp eq i16 %listen_port_arg, 0 ; <i1> [#uses=1]
1381 %listen_port.0 = select i1 %tmp17, i16 %port_arg, i16 %listen_port_arg ; <i16> [#uses=2]
1382 %tmp22 = insertvalue %"byte[]" undef, i32 %listen_ip_arg64, 0 ; <%"byte[]"> [#uses=1]
1383 %tmp23 = insertvalue %"byte[]" %tmp22, i8* %listen_ip_arg65, 1 ; <%"byte[]"> [#uses=1]
1384 %tmp24 = tail call i32 @_adEq(%"byte[]" %tmp23, %"byte[]" zeroinitializer, %object.TypeInfo* @_D11TypeInfo_Aa6__initZ) readonly ; <i32> [#uses=1]
1385 %tmp25 = icmp eq i32 %tmp24, 0 ; <i1> [#uses=1]
1386 %tmp30 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 6, i32 2 ; <%tango.net.Socket.Address**> [#uses=2]
1387 %.newclass_gc_alloc31 = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango3net6Socket11IPv4Address7__ClassZ) ; <i8*> [#uses=7]
1388 %vtbl33 = bitcast i8* %.newclass_gc_alloc31 to %tango.net.Socket.IPv4Address.__vtbl** ; <%tango.net.Socket.IPv4Address.__vtbl**> [#uses=1]
1389 store %tango.net.Socket.IPv4Address.__vtbl* @_D5tango3net6Socket11IPv4Address6__vtblZ, %tango.net.Socket.IPv4Address.__vtbl** %vtbl33
1390 %monitor34 = getelementptr i8* %.newclass_gc_alloc31, i32 4 ; <i8*> [#uses=1]
1391 %1 = bitcast i8* %monitor34 to i8** ; <i8**> [#uses=1]
1392 store i8* null, i8** %1
1393 %tmp35 = getelementptr i8* %.newclass_gc_alloc31, i32 8 ; <i8*> [#uses=1]
1394 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)
1395 br i1 %tmp25, label %else, label %if26
1396
1397if26: ; preds = %entry
1398 %tmp2.i = getelementptr i8* %.newclass_gc_alloc31, i32 20 ; <i8*> [#uses=1]
1399 %2 = bitcast i8* %tmp2.i to i32* ; <i32*> [#uses=1]
1400 store i32 0, i32* %2
1401 %tmp7.i = getelementptr i8* %.newclass_gc_alloc31, i32 18 ; <i8*> [#uses=1]
1402 %3 = bitcast i8* %tmp7.i to i16* ; <i16*> [#uses=1]
1403 store i16 %listen_port.0, i16* %3
1404 %tmp41 = bitcast i8* %.newclass_gc_alloc31 to %tango.net.Socket.Address* ; <%tango.net.Socket.Address*> [#uses=1]
1405 store %tango.net.Socket.Address* %tmp41, %tango.net.Socket.Address** %tmp30
1406 ret void
1407
1408else: ; preds = %entry
1409 %.newclass_gc32 = bitcast i8* %.newclass_gc_alloc31 to %tango.net.Socket.IPv4Address* ; <%tango.net.Socket.IPv4Address*> [#uses=1]
1410 %insert = insertvalue %"byte[]" undef, i32 %listen_ip_arg64, 0 ; <%"byte[]"> [#uses=1]
1411 %insert59 = insertvalue %"byte[]" %insert, i8* %listen_ip_arg65, 1 ; <%"byte[]"> [#uses=1]
1412 %tmp55 = zext i16 %listen_port.0 to i32 ; <i32> [#uses=1]
1413 %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]
1414 %tmp57 = bitcast %tango.net.Socket.IPv4Address* %tmp56 to %tango.net.Socket.Address* ; <%tango.net.Socket.Address*> [#uses=1]
1415 store %tango.net.Socket.Address* %tmp57, %tango.net.Socket.Address** %tmp30
1416 ret void
1417}
1418
1419define fastcc void @_D5tango3net3ftp9FtpClient13FTPConnection2cdMFAaZv(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" %dir_arg) {
1420entry:
1421 %__arrayArg123 = alloca [1 x %"byte[]"], align 8 ; <[1 x %"byte[]"]*> [#uses=1]
1422 %.rettmp = alloca %tango.net.ftp.FtpClient.FtpResponse, align 8 ; <%tango.net.ftp.FtpClient.FtpResponse*> [#uses=1]
1423 %tmp1 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 0 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl**> [#uses=2]
1424 %tmp2 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp1 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
1425 %"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]
1426 %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]
1427 %tmp4 = getelementptr [1 x %"byte[]"]* %__arrayArg123, i32 0, i32 0 ; <%"byte[]"*> [#uses=2]
1428 store %"byte[]" %dir_arg, %"byte[]"* %tmp4, align 8
1429 %tmp7 = insertvalue %"char[][]" { i32 1, %"byte[]"* undef }, %"byte[]"* %tmp4, 1 ; <%"char[][]"> [#uses=1]
1430 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)
1431 %tmp10 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp1 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
1432 %"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]
1433 %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]
1434 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) })
1435 ret void
1436}
1437
1438define fastcc void @_D5tango3net3ftp9FtpClient13FTPConnection4cdupMFZv(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg) {
1439entry:
1440 %fr = alloca %tango.net.ftp.FtpClient.FtpResponse, align 4 ; <%tango.net.ftp.FtpClient.FtpResponse*> [#uses=2]
1441 %.rettmp = alloca %tango.net.ftp.FtpClient.FtpResponse, align 8 ; <%tango.net.ftp.FtpClient.FtpResponse*> [#uses=2]
1442 %tmp1 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 0 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl**> [#uses=3]
1443 %tmp2 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp1 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
1444 %"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]
1445 %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]
1446 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)
1447 %tmp6 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp1 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
1448 %"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]
1449 %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]
1450 call fastcc void %this.readResponse(%tango.net.ftp.FtpClient.FtpResponse* noalias nocapture sret %.rettmp, %tango.net.ftp.FtpClient.FTPConnection* %.this_arg)
1451 %tmp8 = getelementptr %tango.net.ftp.FtpClient.FtpResponse* %fr, i32 0, i32 0, i32 0 ; <i8*> [#uses=3]
1452 %tmp9 = getelementptr %tango.net.ftp.FtpClient.FtpResponse* %.rettmp, i32 0, i32 0, i32 0 ; <i8*> [#uses=1]
1453 call void @llvm.memcpy.i32(i8* %tmp8, i8* %tmp9, i32 12, i32 4)
1454 %tmp12 = insertvalue %"byte[]" { i32 3, i8* undef }, i8* %tmp8, 1 ; <%"byte[]"> [#uses=1]
1455 %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]
1456 %tmp14 = icmp eq i32 %tmp13, 0 ; <i1> [#uses=1]
1457 br i1 %tmp14, label %oror, label %if.critedge
1458
1459oror: ; preds = %entry
1460 %tmp17 = insertvalue %"byte[]" { i32 3, i8* undef }, i8* %tmp8, 1 ; <%"byte[]"> [#uses=1]
1461 %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]
1462 %tmp19 = icmp eq i32 %tmp18, 0 ; <i1> [#uses=1]
1463 br i1 %tmp19, label %else, label %if
1464
1465if.critedge: ; preds = %entry
1466 ret void
1467
1468if: ; preds = %oror
1469 ret void
1470
1471else: ; preds = %oror
1472 %tmp22 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp1 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
1473 %"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]
1474 %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]
1475 call fastcc void %this.exception(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %tango.net.ftp.FtpClient.FtpResponse* byval %fr)
1476 ret void
1477}
1478
1479define fastcc %"byte[]" @_D5tango3net3ftp9FtpClient13FTPConnection3cwdMFZAa(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg) {
1480entry:
1481 %response = alloca %tango.net.ftp.FtpClient.FtpResponse, align 4 ; <%tango.net.ftp.FtpClient.FtpResponse*> [#uses=2]
1482 %.rettmp = alloca %tango.net.ftp.FtpClient.FtpResponse, align 8 ; <%tango.net.ftp.FtpClient.FtpResponse*> [#uses=2]
1483 %tmp1 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 0 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl**> [#uses=3]
1484 %tmp2 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp1 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
1485 %"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]
1486 %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]
1487 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)
1488 %tmp6 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp1 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
1489 %"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]
1490 %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]
1491 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) })
1492 %tmp8 = getelementptr %tango.net.ftp.FtpClient.FtpResponse* %response, i32 0, i32 0, i32 0 ; <i8*> [#uses=1]
1493 %tmp9 = getelementptr %tango.net.ftp.FtpClient.FtpResponse* %.rettmp, i32 0, i32 0, i32 0 ; <i8*> [#uses=1]
1494 call void @llvm.memcpy.i32(i8* %tmp8, i8* %tmp9, i32 12, i32 4)
1495 %tmp12 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp1 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
1496 %"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]
1497 %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]
1498 %tmp14 = call fastcc %"byte[]" %this.parse257(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %tango.net.ftp.FtpClient.FtpResponse* byval %response) ; <%"byte[]"> [#uses=1]
1499 ret %"byte[]" %tmp14
1500}
1501
1502define fastcc void @_D5tango3net3ftp9FtpClient13FTPConnection5chmodMFAaiZv(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" %path_arg, i32 %mode_arg) {
1503entry:
1504 %.nongc_mem182.i = alloca [18 x i8], align 1 ; <[18 x i8]*> [#uses=2]
1505 %__arrayArg126 = alloca [2 x %"byte[]"], align 8 ; <[2 x %"byte[]"]*> [#uses=2]
1506 %.rettmp = alloca %tango.net.ftp.FtpClient.FtpResponse, align 8 ; <%tango.net.ftp.FtpClient.FtpResponse*> [#uses=1]
1507 %tmp3 = sext i32 %mode_arg to i64 ; <i64> [#uses=1]
1508 %.nongc_mem182.sub.i = getelementptr [18 x i8]* %.nongc_mem182.i, i32 0, i32 0 ; <i8*> [#uses=2]
1509 switch i32 111, label %default37.i [
1510 i32 100, label %case8.i
1511 i32 68, label %case8.i
1512 i32 103, label %case8.i
1513 i32 71, label %case8.i
1514 i32 117, label %switchend.i
1515 i32 85, label %switchend.i
1516 i32 98, label %case28.i
1517 i32 66, label %case28.i
1518 i32 111, label %case31.i
1519 i32 79, label %case31.i
1520 i32 120, label %case33.i
1521 i32 88, label %case35.i
1522 ]
1523
1524case8.i: ; preds = %entry, %entry, %entry, %entry
1525 br i1 undef, label %if11.i, label %switchend.i
1526
1527if11.i: ; preds = %case8.i
1528 br label %switchend.i
1529
1530case28.i: ; preds = %entry, %entry
1531 br label %switchend.i
1532
1533case31.i: ; preds = %entry, %entry
1534 br label %switchend.i
1535
1536case33.i: ; preds = %entry
1537 br label %switchend.i
1538
1539case35.i: ; preds = %entry
1540 br label %switchend.i
1541
1542default37.i: ; preds = %entry
1543 call void @llvm.memcpy.i32(i8* %.nongc_mem182.sub.i, i8* getelementptr ([18 x i8]* @.str263, i32 0, i32 0), i32 17, i32 1)
1544 %tmp38.i = getelementptr [18 x i8]* %.nongc_mem182.i, i32 0, i32 17 ; <i8*> [#uses=1]
1545 store i8 111, i8* %tmp38.i
1546 %.gc_mem40.i = call noalias i8* @_d_newarrayvT(%object.TypeInfo* @_D11TypeInfo_Aa6__initZ, i32 20) ; <i8*> [#uses=2]
1547 call void @llvm.memcpy.i32(i8* %.gc_mem40.i, i8* %.nongc_mem182.sub.i, i32 18, i32 1)
1548 %tmp41.i = getelementptr i8* %.gc_mem40.i, i32 18 ; <i8*> [#uses=1]
1549 %tmp41181.i = bitcast i8* %tmp41.i to i16* ; <i16*> [#uses=1]
1550 %tmp.i = load i16* bitcast ([3 x i8]* @.str264 to i16*), align 2 ; <i16> [#uses=1]
1551 store i16 %tmp.i, i16* %tmp41181.i, align 1
1552 br label %_D5tango4text7convert7Integer16__T9formatterTaZ9formatterFAalaaiZAa.exit
1553
1554switchend.i: ; preds = %case35.i, %case33.i, %case31.i, %case28.i, %if11.i, %case8.i, %entry, %entry
1555 %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]
1556 %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]
1557 %tmp48.i = getelementptr [8 x %nest.parseListLine]* @.constarray262, i32 0, i32 %index.1.i, i32 2 ; <%"byte[]"*> [#uses=1]
1558 %tmp49.i = load %"byte[]"* %tmp48.i ; <%"byte[]"> [#uses=1]
1559 %tmp49178.i = extractvalue %"byte[]" %tmp49.i, 1 ; <i8*> [#uses=2]
1560 %tmp51.i = getelementptr [8 x %nest.parseListLine]* @.constarray262, i32 0, i32 %index.1.i, i32 0 ; <i32*> [#uses=1]
1561 %tmp52.i = load i32* %tmp51.i ; <i32> [#uses=3]
1562 %tmp58.i19 = icmp sgt i32 %mode_arg, -1 ; <i1> [#uses=1]
1563 br i1 %tmp58.i19, label %if59.i, label %dowhile82.i
1564
1565if59.i: ; preds = %switchend.i
1566 br label %dowhile.i
1567
1568dowhile.i: ; preds = %andand.i, %if59.i
1569 %p.0.i = phi i8* [ getelementptr ([4 x i8]* @.str82, i32 0, i32 3), %if59.i ], [ %tmp65.i, %andand.i ] ; <i8*> [#uses=1]
1570 %v.0.i = phi i32 [ %mode_arg, %if59.i ], [ %tmp75.i, %andand.i ] ; <i32> [#uses=2]
1571 %len.0.i = phi i32 [ 3, %if59.i ], [ %tmp78.i, %andand.i ] ; <i32> [#uses=3]
1572 %tmp65.i = getelementptr i8* %p.0.i, i32 -1 ; <i8*> [#uses=2]
1573 %tmp68.i = urem i32 %v.0.i, %tmp52.i ; <i32> [#uses=1]
1574 %tmp71.i = getelementptr i8* %tmp49178.i, i32 %tmp68.i ; <i8*> [#uses=1]
1575 %tmp72.i = load i8* %tmp71.i ; <i8> [#uses=1]
1576 store i8 %tmp72.i, i8* %tmp65.i
1577 %tmp75.i = udiv i32 %v.0.i, %tmp52.i ; <i32> [#uses=2]
1578 %tmp76.i = icmp eq i32 %tmp75.i, 0 ; <i1> [#uses=1]
1579 br i1 %tmp76.i, label %endif60.i, label %andand.i
1580
1581andand.i: ; preds = %dowhile.i
1582 %tmp78.i = add i32 %len.0.i, -1 ; <i32> [#uses=2]
1583 %tmp79.i = icmp eq i32 %len.0.i, 1 ; <i1> [#uses=1]
1584 br i1 %tmp79.i, label %endif60.i, label %dowhile.i
1585
1586dowhile82.i: ; preds = %andand100.i, %switchend.i
1587 %p.2.i = phi i8* [ %tmp86.i, %andand100.i ], [ getelementptr ([4 x i8]* @.str82, i32 0, i32 3), %switchend.i ] ; <i8*> [#uses=1]
1588 %v80.0.i = phi i64 [ %tmp99.i, %andand100.i ], [ %tmp3, %switchend.i ] ; <i64> [#uses=2]
1589 %len.2.i = phi i32 [ %tmp104.i, %andand100.i ], [ 3, %switchend.i ] ; <i32> [#uses=3]
1590 %tmp86.i = getelementptr i8* %p.2.i, i32 -1 ; <i8*> [#uses=2]
1591 %tmp88.i = zext i32 %tmp52.i to i64 ; <i64> [#uses=2]
1592 %tmp90.i = urem i64 %v80.0.i, %tmp88.i ; <i64> [#uses=1]
1593 %tmp91.i = trunc i64 %tmp90.i to i32 ; <i32> [#uses=1]
1594 %tmp94.i = getelementptr i8* %tmp49178.i, i32 %tmp91.i ; <i8*> [#uses=1]
1595 %tmp95.i = load i8* %tmp94.i ; <i8> [#uses=1]
1596 store i8 %tmp95.i, i8* %tmp86.i
1597 %tmp99.i = udiv i64 %v80.0.i, %tmp88.i ; <i64> [#uses=2]
1598 %tmp102.i = icmp eq i64 %tmp99.i, 0 ; <i1> [#uses=1]
1599 br i1 %tmp102.i, label %endif60.i, label %andand100.i
1600
1601andand100.i: ; preds = %dowhile82.i
1602 %tmp104.i = add i32 %len.2.i, -1 ; <i32> [#uses=2]
1603 %tmp105.i = icmp eq i32 %len.2.i, 1 ; <i1> [#uses=1]
1604 br i1 %tmp105.i, label %endif60.i, label %dowhile82.i
1605
1606endif60.i: ; preds = %andand100.i, %dowhile82.i, %andand.i, %dowhile.i
1607 %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]
1608 %tmp109.i = icmp eq i8 %pre.0.i, 35 ; <i1> [#uses=1]
1609 br i1 %tmp109.i, label %condtrue.i, label %condend.i
1610
1611condtrue.i: ; preds = %endif60.i
1612 %tmp111.i = getelementptr [8 x %nest.parseListLine]* @.constarray262, i32 0, i32 %index.1.i, i32 1 ; <%"byte[]"*> [#uses=1]
1613 %tmp112.i = load %"byte[]"* %tmp111.i ; <%"byte[]"> [#uses=1]
1614 br label %condend.i
1615
1616condend.i: ; preds = %condtrue.i, %endif60.i
1617 %condtmp.0.i = phi %"byte[]" [ %tmp112.i, %condtrue.i ], [ zeroinitializer, %endif60.i ] ; <%"byte[]"> [#uses=2]
1618 %condtmp.0175.i = extractvalue %"byte[]" %condtmp.0.i, 0 ; <i32> [#uses=3]
1619 %tmp117.i = icmp ugt i32 %len.1.i, %condtmp.0175.i ; <i1> [#uses=1]
1620 br i1 %tmp117.i, label %endif127.i, label %_D5tango4text7convert7Integer16__T9formatterTaZ9formatterFAalaaiZAa.exit
1621
1622endif127.i: ; preds = %condend.i
1623 %condtmp.0176.i = extractvalue %"byte[]" %condtmp.0.i, 1 ; <i8*> [#uses=1]
1624 %tmp123.i = add i32 %condtmp.0175.i, 1 ; <i32> [#uses=1]
1625 %tmp124.i = sub i32 %len.1.i, %tmp123.i ; <i32> [#uses=1]
1626 %tmp156.i = getelementptr [4 x i8]* @.str82, i32 0, i32 %tmp124.i ; <i8*> [#uses=1]
1627 call void @llvm.memcpy.i32(i8* %tmp156.i, i8* %condtmp.0176.i, i32 %condtmp.0175.i, i32 1)
1628 br label %_D5tango4text7convert7Integer16__T9formatterTaZ9formatterFAalaaiZAa.exit
1629
1630_D5tango4text7convert7Integer16__T9formatterTaZ9formatterFAalaaiZAa.exit: ; preds = %endif127.i, %condend.i, %default37.i
1631 %tmp6 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 0 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl**> [#uses=2]
1632 %tmp7 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp6 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
1633 %"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]
1634 %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]
1635 %tmp9 = getelementptr [2 x %"byte[]"]* %__arrayArg126, i32 0, i32 0 ; <%"byte[]"*> [#uses=2]
1636 store %"byte[]" { i32 3, i8* getelementptr ([4 x i8]* @.str82, i32 0, i32 0) }, %"byte[]"* %tmp9, align 8
1637 %tmp11 = getelementptr [2 x %"byte[]"]* %__arrayArg126, i32 0, i32 1 ; <%"byte[]"*> [#uses=1]
1638 store %"byte[]" %path_arg, %"byte[]"* %tmp11, align 8
1639 %tmp14 = insertvalue %"char[][]" { i32 2, %"byte[]"* undef }, %"byte[]"* %tmp9, 1 ; <%"char[][]"> [#uses=1]
1640 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)
1641 %tmp17 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp6 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
1642 %"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]
1643 %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]
1644 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) })
1645 ret void
1646}
1647
1648define fastcc void @_D5tango3net3ftp9FtpClient13FTPConnection3delMFAaZv(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" %path_arg) {
1649entry:
1650 %__arrayArg127 = alloca [1 x %"byte[]"], align 8 ; <[1 x %"byte[]"]*> [#uses=1]
1651 %response = alloca %tango.net.ftp.FtpClient.FtpResponse, align 4 ; <%tango.net.ftp.FtpClient.FtpResponse*> [#uses=1]
1652 %.rettmp = alloca %tango.net.ftp.FtpClient.FtpResponse, align 8 ; <%tango.net.ftp.FtpClient.FtpResponse*> [#uses=2]
1653 %tmp1 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 0 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl**> [#uses=3]
1654 %tmp2 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp1 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
1655 %"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]
1656 %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]
1657 %tmp4 = getelementptr [1 x %"byte[]"]* %__arrayArg127, i32 0, i32 0 ; <%"byte[]"*> [#uses=2]
1658 store %"byte[]" %path_arg, %"byte[]"* %tmp4, align 8
1659 %tmp7 = insertvalue %"char[][]" { i32 1, %"byte[]"* undef }, %"byte[]"* %tmp4, 1 ; <%"char[][]"> [#uses=1]
1660 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)
1661 %tmp10 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp1 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
1662 %"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]
1663 %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]
1664 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) })
1665 %tmp12 = getelementptr %tango.net.ftp.FtpClient.FtpResponse* %response, i32 0, i32 0, i32 0 ; <i8*> [#uses=2]
1666 %tmp13 = getelementptr %tango.net.ftp.FtpClient.FtpResponse* %.rettmp, i32 0, i32 0, i32 0 ; <i8*> [#uses=1]
1667 call void @llvm.memcpy.i32(i8* %tmp12, i8* %tmp13, i32 12, i32 4)
1668 %tmp16 = insertvalue %"byte[]" { i32 3, i8* undef }, i8* %tmp12, 1 ; <%"byte[]"> [#uses=1]
1669 %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]
1670 %tmp18 = icmp eq i32 %tmp17, 0 ; <i1> [#uses=1]
1671 br i1 %tmp18, label %if, label %endif
1672
1673if: ; preds = %entry
1674 %tmp22 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp1 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
1675 %"this.rm@vtbl" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp22, i32 0, i32 25 ; <void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")**> [#uses=1]
1676 %this.rm = load void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")** %"this.rm@vtbl", align 4 ; <void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")*> [#uses=1]
1677 call fastcc void %this.rm(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" %path_arg)
1678 ret void
1679
1680endif: ; preds = %entry
1681 ret void
1682}
1683
1684define fastcc void @_D5tango3net3ftp9FtpClient13FTPConnection2rmMFAaZv(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" %path_arg) {
1685entry:
1686 %__arrayArg128 = alloca [1 x %"byte[]"], align 8 ; <[1 x %"byte[]"]*> [#uses=1]
1687 %.rettmp = alloca %tango.net.ftp.FtpClient.FtpResponse, align 8 ; <%tango.net.ftp.FtpClient.FtpResponse*> [#uses=1]
1688 %tmp1 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 0 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl**> [#uses=2]
1689 %tmp2 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp1 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
1690 %"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]
1691 %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]
1692 %tmp4 = getelementptr [1 x %"byte[]"]* %__arrayArg128, i32 0, i32 0 ; <%"byte[]"*> [#uses=2]
1693 store %"byte[]" %path_arg, %"byte[]"* %tmp4, align 8
1694 %tmp7 = insertvalue %"char[][]" { i32 1, %"byte[]"* undef }, %"byte[]"* %tmp4, 1 ; <%"char[][]"> [#uses=1]
1695 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)
1696 %tmp10 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp1 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
1697 %"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]
1698 %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]
1699 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) })
1700 ret void
1701}
1702
1703define fastcc void @_D5tango3net3ftp9FtpClient13FTPConnection6renameMFAaAaZv(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" %old_path_arg, %"byte[]" %new_path_arg) {
1704entry:
1705 %__arrayArg129 = alloca [1 x %"byte[]"], align 8 ; <[1 x %"byte[]"]*> [#uses=1]
1706 %.rettmp = alloca %tango.net.ftp.FtpClient.FtpResponse, align 8 ; <%tango.net.ftp.FtpClient.FtpResponse*> [#uses=1]
1707 %__arrayArg130 = alloca [1 x %"byte[]"], align 8 ; <[1 x %"byte[]"]*> [#uses=1]
1708 %.rettmp28 = alloca %tango.net.ftp.FtpClient.FtpResponse, align 8 ; <%tango.net.ftp.FtpClient.FtpResponse*> [#uses=1]
1709 %tmp1 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 0 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl**> [#uses=4]
1710 %tmp2 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp1 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
1711 %"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]
1712 %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]
1713 %tmp4 = getelementptr [1 x %"byte[]"]* %__arrayArg129, i32 0, i32 0 ; <%"byte[]"*> [#uses=2]
1714 store %"byte[]" %old_path_arg, %"byte[]"* %tmp4, align 8
1715 %tmp7 = insertvalue %"char[][]" { i32 1, %"byte[]"* undef }, %"byte[]"* %tmp4, 1 ; <%"char[][]"> [#uses=1]
1716 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)
1717 %tmp10 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp1 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
1718 %"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]
1719 %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]
1720 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) })
1721 %tmp14 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp1 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
1722 %"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]
1723 %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]
1724 %tmp18 = getelementptr [1 x %"byte[]"]* %__arrayArg130, i32 0, i32 0 ; <%"byte[]"*> [#uses=2]
1725 store %"byte[]" %new_path_arg, %"byte[]"* %tmp18, align 8
1726 %tmp21 = insertvalue %"char[][]" { i32 1, %"byte[]"* undef }, %"byte[]"* %tmp18, 1 ; <%"char[][]"> [#uses=1]
1727 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)
1728 %tmp24 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp1 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
1729 %"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]
1730 %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]
1731 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) })
1732 ret void
1733}
1734
1735define fastcc i32 @_D5tango3net3ftp9FtpClient13FTPConnection5existMFAaZi(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" %file_arg) {
1736entry:
1737 %.rettmp = alloca %tango.net.ftp.FtpClient.FtpFileInfo, align 8 ; <%tango.net.ftp.FtpClient.FtpFileInfo*> [#uses=2]
1738 %tmp9 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 0 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl**> [#uses=1]
1739 %tmp10 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp9 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
1740 %"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]
1741 %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]
1742 invoke fastcc void %this.getFileInfo(%tango.net.ftp.FtpClient.FtpFileInfo* noalias nocapture sret %.rettmp, %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" %file_arg)
1743 to label %postinvoke unwind label %landingpad
1744
1745postinvoke: ; preds = %entry
1746 %.rettmp.1 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %.rettmp, i32 0, i32 1 ; <i32*> [#uses=1]
1747 %tmp40 = load i32* %.rettmp.1, align 8 ; <i32> [#uses=2]
1748 switch i32 %tmp40, label %oror27 [
1749 i32 1, label %if18
1750 i32 4, label %if33.critedge37
1751 i32 2, label %if33.critedge
1752 ]
1753
1754if18: ; preds = %postinvoke
1755 ret i32 1
1756
1757oror27: ; preds = %postinvoke
1758 %tmp31 = icmp eq i32 %tmp40, 3 ; <i1> [#uses=1]
1759 %retval = select i1 %tmp31, i32 2, i32 0 ; <i32> [#uses=1]
1760 ret i32 %retval
1761
1762if33.critedge: ; preds = %postinvoke
1763 ret i32 2
1764
1765if33.critedge37: ; preds = %postinvoke
1766 ret i32 2
1767
1768landingpad: ; preds = %entry
1769 %0 = call i8* @llvm.eh.exception() ; <i8*> [#uses=3]
1770 %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]
1771 %cond = icmp eq i32 %1, 1 ; <i1> [#uses=1]
1772 br i1 %cond, label %catch, label %switchdefault
1773
1774catch: ; preds = %landingpad
1775 %tmp3 = getelementptr i8* %0, i32 36 ; <i8*> [#uses=1]
1776 %tmp4 = insertvalue %"byte[]" { i32 3, i8* undef }, i8* %tmp3, 1 ; <%"byte[]"> [#uses=1]
1777 %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]
1778 ret i32 0
1779
1780switchdefault: ; preds = %landingpad
1781 call void @_d_eh_resume_unwind(i8* %0)
1782 unreachable
1783}
1784
1785define fastcc i32 @_D5tango3net3ftp9FtpClient13FTPConnection4sizeMFAaE5tango3net3ftp9FtpClient9FtpFormatZk(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" %path_arg, i32 %format_arg) {
1786entry:
1787 %__arrayArg131 = alloca [1 x %"byte[]"], align 8 ; <[1 x %"byte[]"]*> [#uses=1]
1788 %.rettmp = alloca %tango.net.ftp.FtpClient.FtpResponse, align 8 ; <%tango.net.ftp.FtpClient.FtpResponse*> [#uses=3]
1789 %tmp1 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 0 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl**> [#uses=3]
1790 %tmp2 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp1 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
1791 %"this.type@vtbl" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp2, i32 0, i32 29 ; <void (%tango.net.ftp.FtpClient.FTPConnection*, i32)**> [#uses=1]
1792 %this.type = load void (%tango.net.ftp.FtpClient.FTPConnection*, i32)** %"this.type@vtbl", align 4 ; <void (%tango.net.ftp.FtpClient.FTPConnection*, i32)*> [#uses=1]
1793 call fastcc void %this.type(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 %format_arg)
1794 %tmp7 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp1 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
1795 %"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]
1796 %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]
1797 %tmp9 = getelementptr [1 x %"byte[]"]* %__arrayArg131, i32 0, i32 0 ; <%"byte[]"*> [#uses=2]
1798 store %"byte[]" %path_arg, %"byte[]"* %tmp9, align 8
1799 %tmp12 = insertvalue %"char[][]" { i32 1, %"byte[]"* undef }, %"byte[]"* %tmp9, 1 ; <%"char[][]"> [#uses=1]
1800 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)
1801 %tmp15 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp1 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
1802 %"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]
1803 %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]
1804 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) })
1805 %.rettmp.1.0 = getelementptr %tango.net.ftp.FtpClient.FtpResponse* %.rettmp, i32 0, i32 1, i32 0 ; <i32*> [#uses=1]
1806 %tmp = load i32* %.rettmp.1.0, align 4 ; <i32> [#uses=1]
1807 %.rettmp.1.1 = getelementptr %tango.net.ftp.FtpClient.FtpResponse* %.rettmp, i32 0, i32 1, i32 1 ; <i8**> [#uses=1]
1808 %tmp54 = load i8** %.rettmp.1.1, align 4 ; <i8*> [#uses=6]
1809 br label %whilecond
1810
1811whilecond: ; preds = %endif, %entry
1812 %end_pos.0 = phi i32 [ 0, %entry ], [ %tmp39, %endif ] ; <i32> [#uses=6]
1813 %tmp22 = icmp ult i32 %end_pos.0, %tmp ; <i1> [#uses=1]
1814 br i1 %tmp22, label %whilebody, label %endwhile
1815
1816whilebody: ; preds = %whilecond
1817 %tmp26 = getelementptr i8* %tmp54, i32 %end_pos.0 ; <i8*> [#uses=1]
1818 %tmp27 = load i8* %tmp26 ; <i8> [#uses=1]
1819 %tmp27.off = add i8 %tmp27, -48 ; <i8> [#uses=1]
1820 %or.cond = icmp ugt i8 %tmp27.off, 9 ; <i1> [#uses=1]
1821 br i1 %or.cond, label %endwhile, label %endif
1822
1823endif: ; preds = %whilebody
1824 %tmp39 = add i32 %end_pos.0, 1 ; <i32> [#uses=1]
1825 br label %whilecond
1826
1827endwhile: ; preds = %whilebody, %whilecond
1828 %tmp4.i.i = icmp eq i32 %end_pos.0, 0 ; <i1> [#uses=1]
1829 br i1 %tmp4.i.i, label %_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit.i, label %forcond.i.i
1830
1831forcond.i.i: ; preds = %forinc.i.i, %endwhile
1832 %sign.1.i = phi i1 [ false, %endwhile ], [ %sign.0.i, %forinc.i.i ] ; <i1> [#uses=4]
1833 %len.0.i.i = phi i32 [ %tmp33.i.i, %forinc.i.i ], [ %end_pos.0, %endwhile ] ; <i32> [#uses=3]
1834 %p.0.i.i = phi i8* [ %tmp30.i.i, %forinc.i.i ], [ %tmp54, %endwhile ] ; <i8*> [#uses=6]
1835 %c.0.in.i.i = phi i8* [ %tmp30.i.i, %forinc.i.i ], [ %tmp54, %endwhile ] ; <i8*> [#uses=1]
1836 %c.0.i.i = load i8* %c.0.in.i.i ; <i8> [#uses=2]
1837 %tmp8.i.i = icmp eq i32 %len.0.i.i, 0 ; <i1> [#uses=1]
1838 br i1 %tmp8.i.i, label %endfor.i.i, label %forbody.i.i
1839
1840forbody.i.i: ; preds = %forcond.i.i
1841 switch i8 %c.0.i.i, label %endfor.i.i [
1842 i8 32, label %forinc.i.i
1843 i8 9, label %forinc.i.i
1844 i8 45, label %if20.i.i
1845 i8 43, label %if26.i.i
1846 ]
1847
1848if20.i.i: ; preds = %forbody.i.i
1849 br label %forinc.i.i
1850
1851if26.i.i: ; preds = %forbody.i.i
1852 br label %forinc.i.i
1853
1854forinc.i.i: ; preds = %if26.i.i, %if20.i.i, %forbody.i.i, %forbody.i.i
1855 %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]
1856 %tmp30.i.i = getelementptr i8* %p.0.i.i, i32 1 ; <i8*> [#uses=2]
1857 %tmp33.i.i = add i32 %len.0.i.i, -1 ; <i32> [#uses=1]
1858 br label %forcond.i.i
1859
1860endfor.i.i: ; preds = %forbody.i.i, %forcond.i.i
1861 %tmp37.i.i = icmp eq i8 %c.0.i.i, 48 ; <i1> [#uses=1]
1862 %tmp39.i.i = icmp sgt i32 %len.0.i.i, 1 ; <i1> [#uses=1]
1863 %or.cond.i.i = and i1 %tmp37.i.i, %tmp39.i.i ; <i1> [#uses=1]
1864 br i1 %or.cond.i.i, label %if40.i.i, label %endif41.i.i
1865
1866if40.i.i: ; preds = %endfor.i.i
1867 %tmp43.i.i = getelementptr i8* %p.0.i.i, i32 1 ; <i8*> [#uses=2]
1868 %tmp44.i.i = load i8* %tmp43.i.i ; <i8> [#uses=1]
1869 %tmp45.i.i = zext i8 %tmp44.i.i to i32 ; <i32> [#uses=1]
1870 switch i32 %tmp45.i.i, label %endif41.i.i [
1871 i32 120, label %case46.i.i
1872 i32 88, label %case46.i.i
1873 i32 98, label %case51.i.i
1874 i32 66, label %case51.i.i
1875 i32 111, label %case56.i.i
1876 i32 79, label %case56.i.i
1877 ]
1878
1879case46.i.i: ; preds = %if40.i.i, %if40.i.i
1880 %tmp48.i.i = getelementptr i8* %p.0.i.i, i32 2 ; <i8*> [#uses=1]
1881 br label %endif41.i.i
1882
1883case51.i.i: ; preds = %if40.i.i, %if40.i.i
1884 %tmp53.i.i = getelementptr i8* %p.0.i.i, i32 2 ; <i8*> [#uses=1]
1885 br label %endif41.i.i
1886
1887case56.i.i: ; preds = %if40.i.i, %if40.i.i
1888 %tmp58.i.i = getelementptr i8* %p.0.i.i, i32 2 ; <i8*> [#uses=1]
1889 br label %endif41.i.i
1890
1891endif41.i.i: ; preds = %case56.i.i, %case51.i.i, %case46.i.i, %if40.i.i, %endfor.i.i
1892 %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]
1893 %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]
1894 %tmp63.i.i = icmp eq i32 %r.0.i.i, 0 ; <i1> [#uses=1]
1895 br i1 %tmp63.i.i, label %_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit.i, label %if70.i.i
1896
1897if70.i.i: ; preds = %endif41.i.i
1898 br label %_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit.i
1899
1900_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit.i: ; preds = %if70.i.i, %endif41.i.i, %endwhile
1901 %sign.2.i = phi i1 [ false, %endwhile ], [ %sign.1.i, %if70.i.i ], [ %sign.1.i, %endif41.i.i ] ; <i1> [#uses=1]
1902 %radix.0.i = phi i32 [ 0, %endwhile ], [ %r.0.i.i, %if70.i.i ], [ 10, %endif41.i.i ] ; <i32> [#uses=2]
1903 %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]
1904 %tmp84.i.i = ptrtoint i8* %p.1.i.i to i32 ; <i32> [#uses=1]
1905 %tmp85.i.i = ptrtoint i8* %tmp54 to i32 ; <i32> [#uses=1]
1906 %tmp86.i.i = sub i32 %tmp84.i.i, %tmp85.i.i ; <i32> [#uses=2]
1907 %tmp6.i = sub i32 %end_pos.0, %tmp86.i.i ; <i32> [#uses=1]
1908 br label %foreachcond.i.i
1909
1910foreachcond.i.i: ; preds = %if55.i.i, %_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit.i
1911 %value.0.i.i = phi i64 [ 0, %_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit.i ], [ %tmp65.i.i, %if55.i.i ] ; <i64> [#uses=3]
1912 %foreachkey.0.i.i = phi i32 [ 0, %_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit.i ], [ %tmp70.i.i, %if55.i.i ] ; <i32> [#uses=3]
1913 %tmp3.i.i = icmp ult i32 %foreachkey.0.i.i, %tmp6.i ; <i1> [#uses=1]
1914 br i1 %tmp3.i.i, label %foreachbody.i.i, label %_D5tango4text7convert7Integer12__T5parseTaZ5parseFAakPkZl.exit
1915
1916foreachbody.i.i: ; preds = %foreachcond.i.i
1917 %tmp5.sum.i = add i32 %tmp86.i.i, %foreachkey.0.i.i ; <i32> [#uses=1]
1918 %tmp5.i.i = getelementptr i8* %tmp54, i32 %tmp5.sum.i ; <i8*> [#uses=1]
1919 %tmp6.i.i = load i8* %tmp5.i.i ; <i8> [#uses=6]
1920 %tmp6.off84.i.i = add i8 %tmp6.i.i, -48 ; <i8> [#uses=1]
1921 %or.cond.i28.i = icmp ugt i8 %tmp6.off84.i.i, 9 ; <i1> [#uses=1]
1922 br i1 %or.cond.i28.i, label %else.i.i, label %endif.i.i
1923
1924else.i.i: ; preds = %foreachbody.i.i
1925 %tmp6.off83.i.i = add i8 %tmp6.i.i, -97 ; <i8> [#uses=1]
1926 %or.cond81.i.i = icmp ugt i8 %tmp6.off83.i.i, 25 ; <i1> [#uses=1]
1927 br i1 %or.cond81.i.i, label %else24.i.i, label %if22.i.i
1928
1929if22.i.i: ; preds = %else.i.i
1930 %tmp27.i.i = add i8 %tmp6.i.i, -39 ; <i8> [#uses=1]
1931 br label %endif.i.i
1932
1933else24.i.i: ; preds = %else.i.i
1934 %tmp6.off.i.i = add i8 %tmp6.i.i, -65 ; <i8> [#uses=1]
1935 %or.cond82.i.i = icmp ugt i8 %tmp6.off.i.i, 25 ; <i1> [#uses=1]
1936 br i1 %or.cond82.i.i, label %_D5tango4text7convert7Integer12__T5parseTaZ5parseFAakPkZl.exit, label %if39.i.i
1937
1938if39.i.i: ; preds = %else24.i.i
1939 %tmp44.i29.i = add i8 %tmp6.i.i, -7 ; <i8> [#uses=1]
1940 br label %endif.i.i
1941
1942endif.i.i: ; preds = %if39.i.i, %if22.i.i, %foreachbody.i.i
1943 %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]
1944 %tmp48.i31.i = zext i8 %c.0.i30.i to i32 ; <i32> [#uses=1]
1945 %tmp49.i.i = add i32 %tmp48.i31.i, 208 ; <i32> [#uses=1]
1946 %tmp52.i.i = and i32 %tmp49.i.i, 255 ; <i32> [#uses=2]
1947 %tmp54.i.i = icmp ult i32 %tmp52.i.i, %radix.0.i ; <i1> [#uses=1]
1948 br i1 %tmp54.i.i, label %if55.i.i, label %_D5tango4text7convert7Integer12__T5parseTaZ5parseFAakPkZl.exit
1949
1950if55.i.i: ; preds = %endif.i.i
1951 %tmp59.i.i = zext i32 %radix.0.i to i64 ; <i64> [#uses=1]
1952 %tmp61.i.i = mul i64 %value.0.i.i, %tmp59.i.i ; <i64> [#uses=1]
1953 %tmp64.i.i = zext i32 %tmp52.i.i to i64 ; <i64> [#uses=1]
1954 %tmp65.i.i = add i64 %tmp61.i.i, %tmp64.i.i ; <i64> [#uses=1]
1955 %tmp70.i.i = add i32 %foreachkey.0.i.i, 1 ; <i32> [#uses=1]
1956 br label %foreachcond.i.i
1957
1958_D5tango4text7convert7Integer12__T5parseTaZ5parseFAakPkZl.exit: ; preds = %endif.i.i, %else24.i.i, %foreachcond.i.i
1959 %negval.i = sub i64 0, %value.0.i.i ; <i64> [#uses=1]
1960 %condtmp.0.i = select i1 %sign.2.i, i64 %negval.i, i64 %value.0.i.i ; <i64> [#uses=1]
1961 %tmp49 = trunc i64 %condtmp.0.i to i32 ; <i32> [#uses=1]
1962 ret i32 %tmp49
1963}
1964
1965define fastcc void @_D5tango3net3ftp9FtpClient13FTPConnection4typeMFE5tango3net3ftp9FtpClient9FtpFormatZv(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 %format_arg) {
1966entry:
1967 %__arrayArg132 = alloca [1 x %"byte[]"], align 8 ; <[1 x %"byte[]"]*> [#uses=1]
1968 %__arrayArg133 = alloca [1 x %"byte[]"], align 8 ; <[1 x %"byte[]"]*> [#uses=1]
1969 %.rettmp = alloca %tango.net.ftp.FtpClient.FtpResponse, align 8 ; <%tango.net.ftp.FtpClient.FtpResponse*> [#uses=1]
1970 %tmp1 = icmp eq i32 %format_arg, 0 ; <i1> [#uses=1]
1971 %tmp3 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 0 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl**> [#uses=2]
1972 %tmp4 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp3 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
1973 %"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]
1974 %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]
1975 br i1 %tmp1, label %if, label %else
1976
1977if: ; preds = %entry
1978 %tmp6 = getelementptr [1 x %"byte[]"]* %__arrayArg132, i32 0, i32 0 ; <%"byte[]"*> [#uses=2]
1979 store %"byte[]" { i32 1, i8* getelementptr ([2 x i8]* @.str99, i32 0, i32 0) }, %"byte[]"* %tmp6, align 8
1980 %tmp8 = insertvalue %"char[][]" { i32 1, %"byte[]"* undef }, %"byte[]"* %tmp6, 1 ; <%"char[][]"> [#uses=1]
1981 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)
1982 br label %endif
1983
1984else: ; preds = %entry
1985 %tmp15 = getelementptr [1 x %"byte[]"]* %__arrayArg133, i32 0, i32 0 ; <%"byte[]"*> [#uses=2]
1986 store %"byte[]" { i32 1, i8* getelementptr ([2 x i8]* @.str101, i32 0, i32 0) }, %"byte[]"* %tmp15, align 8
1987 %tmp17 = insertvalue %"char[][]" { i32 1, %"byte[]"* undef }, %"byte[]"* %tmp15, 1 ; <%"char[][]"> [#uses=1]
1988 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)
1989 br label %endif
1990
1991endif: ; preds = %else, %if
1992 %tmp20 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp3 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
1993 %"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]
1994 %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]
1995 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) })
1996 ret void
1997}
1998
1999define fastcc void @_D5tango3net3ftp9FtpClient13FTPConnection8modifiedMFAaZS5tango4time4Time4Time(%tango.time.Time.Time* noalias nocapture sret %.sret_arg, %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" %file_arg) {
2000entry:
2001 %__arrayArg134 = alloca [1 x %"byte[]"], align 8 ; <[1 x %"byte[]"]*> [#uses=1]
2002 %.rettmp = alloca %tango.net.ftp.FtpClient.FtpResponse, align 8 ; <%tango.net.ftp.FtpClient.FtpResponse*> [#uses=3]
2003 %.rettmp18 = alloca %tango.time.Time.Time, align 8 ; <%tango.time.Time.Time*> [#uses=2]
2004 %tmp1 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 0 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl**> [#uses=3]
2005 %tmp2 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp1 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
2006 %"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]
2007 %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]
2008 %tmp4 = getelementptr [1 x %"byte[]"]* %__arrayArg134, i32 0, i32 0 ; <%"byte[]"*> [#uses=2]
2009 store %"byte[]" %file_arg, %"byte[]"* %tmp4, align 8
2010 %tmp7 = insertvalue %"char[][]" { i32 1, %"byte[]"* undef }, %"byte[]"* %tmp4, 1 ; <%"char[][]"> [#uses=1]
2011 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)
2012 %tmp10 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp1 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
2013 %"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]
2014 %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]
2015 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) })
2016 %.rettmp.1.0 = getelementptr %tango.net.ftp.FtpClient.FtpResponse* %.rettmp, i32 0, i32 1, i32 0 ; <i32*> [#uses=1]
2017 %tmp = load i32* %.rettmp.1.0, align 4 ; <i32> [#uses=1]
2018 %.rettmp.1.1 = getelementptr %tango.net.ftp.FtpClient.FtpResponse* %.rettmp, i32 0, i32 1, i32 1 ; <i8**> [#uses=1]
2019 %tmp27 = load i8** %.rettmp.1.1, align 4 ; <i8*> [#uses=1]
2020 %tmp16 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp1 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
2021 %"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]
2022 %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]
2023 %insert = insertvalue %"byte[]" undef, i32 %tmp, 0 ; <%"byte[]"> [#uses=1]
2024 %insert29 = insertvalue %"byte[]" %insert, i8* %tmp27, 1 ; <%"byte[]"> [#uses=1]
2025 call fastcc void %this.parseTimeval(%tango.time.Time.Time* noalias nocapture sret %.rettmp18, %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" %insert29)
2026 %tmp2234 = getelementptr %tango.time.Time.Time* %.rettmp18, i32 0, i32 0 ; <i64*> [#uses=1]
2027 %tmp36 = load i64* %tmp2234, align 8 ; <i64> [#uses=1]
2028 %0 = getelementptr %tango.time.Time.Time* %.sret_arg, i32 0, i32 0 ; <i64*> [#uses=1]
2029 store i64 %tmp36, i64* %0
2030 ret void
2031}
2032
2033define fastcc void @_D5tango3net3ftp9FtpClient13FTPConnection12parseTimevalMFAaZS5tango4time4Time4Time(%tango.time.Time.Time* noalias nocapture sret %.sret_arg, %tango.net.ftp.FtpClient.FTPConnection* nocapture %.this_arg, %"byte[]" %timeval_arg) {
2034entry:
2035 %.rettmp = alloca %tango.time.Time.Time, align 8 ; <%tango.time.Time.Time*> [#uses=2]
2036 %timeval_arg43 = extractvalue %"byte[]" %timeval_arg, 0 ; <i32> [#uses=1]
2037 %timeval_arg44 = extractvalue %"byte[]" %timeval_arg, 1 ; <i8*> [#uses=6]
2038 %tmp1 = icmp ult i32 %timeval_arg43, 14 ; <i1> [#uses=1]
2039 br i1 %tmp1, label %if, label %endif
2040
2041if: ; preds = %entry
2042 %.newclass_gc_alloc = call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango3net3ftp9FtpClient12FtpException7__ClassZ) ; <i8*> [#uses=6]
2043 %vtbl = bitcast i8* %.newclass_gc_alloc to %tango.net.ftp.FtpClient.FtpException.__vtbl** ; <%tango.net.ftp.FtpClient.FtpException.__vtbl**> [#uses=1]
2044 store %tango.net.ftp.FtpClient.FtpException.__vtbl* @_D5tango3net3ftp9FtpClient12FtpException6__vtblZ, %tango.net.ftp.FtpClient.FtpException.__vtbl** %vtbl
2045 %monitor = getelementptr i8* %.newclass_gc_alloc, i32 4 ; <i8*> [#uses=1]
2046 %0 = bitcast i8* %monitor to i8** ; <i8**> [#uses=1]
2047 store i8* null, i8** %0
2048 %tmp2 = getelementptr i8* %.newclass_gc_alloc, i32 8 ; <i8*> [#uses=1]
2049 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)
2050 %tmp2.i = getelementptr i8* %.newclass_gc_alloc, i32 36 ; <i8*> [#uses=1]
2051 call void @llvm.memcpy.i32(i8* %tmp2.i, i8* getelementptr ([4 x i8]* @.str106, i32 0, i32 0), i32 3, i32 1)
2052 %tmp5.i = bitcast i8* %.newclass_gc_alloc to %object.Exception* ; <%object.Exception*> [#uses=1]
2053 %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]
2054 %tmp7 = bitcast i8* %.newclass_gc_alloc to %object.Object* ; <%object.Object*> [#uses=1]
2055 call void @_d_throw_exception(%object.Object* %tmp7)
2056 unreachable
2057
2058endif: ; preds = %entry
2059 %1 = load %tango.time.chrono.Gregorian.Gregorian** @_D5tango4time6chrono9Gregorian9Gregorian7genericC5tango4time6chrono9Gregorian9Gregorian ; <%tango.time.chrono.Gregorian.Gregorian*> [#uses=2]
2060 %tmp8 = bitcast %tango.time.chrono.Gregorian.Gregorian* %1 to %tango.time.chrono.Calendar.Calendar* ; <%tango.time.chrono.Calendar.Calendar*> [#uses=1]
2061 %tmp9 = bitcast %tango.time.chrono.Gregorian.Gregorian* %1 to %tango.time.chrono.Calendar.Calendar.__vtbl** ; <%tango.time.chrono.Calendar.Calendar.__vtbl**> [#uses=1]
2062 %tmp10 = load %tango.time.chrono.Calendar.Calendar.__vtbl** %tmp9 ; <%tango.time.chrono.Calendar.Calendar.__vtbl*> [#uses=1]
2063 %"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]
2064 %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]
2065 br label %foreachcond.i
2066
2067foreachcond.i: ; preds = %if.i, %endif
2068 %value.0.i = phi i32 [ 0, %endif ], [ %tmp19.i, %if.i ] ; <i32> [#uses=2]
2069 %foreachkey.0.i = phi i32 [ 0, %endif ], [ %tmp21.i, %if.i ] ; <i32> [#uses=3]
2070 %tmp3.i = icmp ult i32 %foreachkey.0.i, 4 ; <i1> [#uses=1]
2071 br i1 %tmp3.i, label %foreachbody.i, label %foreachcond.i125
2072
2073foreachbody.i: ; preds = %foreachcond.i
2074 %tmp5.i47 = getelementptr i8* %timeval_arg44, i32 %foreachkey.0.i ; <i8*> [#uses=1]
2075 %tmp6.i = load i8* %tmp5.i47 ; <i8> [#uses=2]
2076 %tmp6.off.i = add i8 %tmp6.i, -48 ; <i8> [#uses=1]
2077 %or.cond.i = icmp ugt i8 %tmp6.off.i, 9 ; <i1> [#uses=1]
2078 br i1 %or.cond.i, label %foreachcond.i125, label %if.i
2079
2080if.i: ; preds = %foreachbody.i
2081 %tmp15.i = mul i32 %value.0.i, 10 ; <i32> [#uses=1]
2082 %tmp17.i = zext i8 %tmp6.i to i32 ; <i32> [#uses=1]
2083 %tmp18.i = add i32 %tmp17.i, -48 ; <i32> [#uses=1]
2084 %tmp19.i = add i32 %tmp15.i, %tmp18.i ; <i32> [#uses=1]
2085 %tmp21.i = add i32 %foreachkey.0.i, 1 ; <i32> [#uses=1]
2086 br label %foreachcond.i
2087
2088foreachcond.i125: ; preds = %if.i136, %foreachbody.i, %foreachcond.i
2089 %value.0.i122 = phi i32 [ %tmp19.i134, %if.i136 ], [ 0, %foreachcond.i ], [ 0, %foreachbody.i ] ; <i32> [#uses=2]
2090 %foreachkey.0.i123 = phi i32 [ %tmp21.i135, %if.i136 ], [ 0, %foreachcond.i ], [ 0, %foreachbody.i ] ; <i32> [#uses=3]
2091 %tmp3.i124 = icmp ult i32 %foreachkey.0.i123, 2 ; <i1> [#uses=1]
2092 br i1 %tmp3.i124, label %foreachbody.i130, label %foreachcond.i107
2093
2094foreachbody.i130: ; preds = %foreachcond.i125
2095 %tmp18.sum = add i32 %foreachkey.0.i123, 4 ; <i32> [#uses=1]
2096 %tmp5.i126 = getelementptr i8* %timeval_arg44, i32 %tmp18.sum ; <i8*> [#uses=1]
2097 %tmp6.i127 = load i8* %tmp5.i126 ; <i8> [#uses=2]
2098 %tmp6.off.i128 = add i8 %tmp6.i127, -48 ; <i8> [#uses=1]
2099 %or.cond.i129 = icmp ugt i8 %tmp6.off.i128, 9 ; <i1> [#uses=1]
2100 br i1 %or.cond.i129, label %foreachcond.i107, label %if.i136
2101
2102if.i136: ; preds = %foreachbody.i130
2103 %tmp15.i131 = mul i32 %value.0.i122, 10 ; <i32> [#uses=1]
2104 %tmp17.i132 = zext i8 %tmp6.i127 to i32 ; <i32> [#uses=1]
2105 %tmp18.i133 = add i32 %tmp17.i132, -48 ; <i32> [#uses=1]
2106 %tmp19.i134 = add i32 %tmp15.i131, %tmp18.i133 ; <i32> [#uses=1]
2107 %tmp21.i135 = add i32 %foreachkey.0.i123, 1 ; <i32> [#uses=1]
2108 br label %foreachcond.i125
2109
2110foreachcond.i107: ; preds = %if.i118, %foreachbody.i130, %foreachcond.i125
2111 %value.0.i104 = phi i32 [ %tmp19.i116, %if.i118 ], [ 0, %foreachcond.i125 ], [ 0, %foreachbody.i130 ] ; <i32> [#uses=2]
2112 %foreachkey.0.i105 = phi i32 [ %tmp21.i117, %if.i118 ], [ 0, %foreachcond.i125 ], [ 0, %foreachbody.i130 ] ; <i32> [#uses=3]
2113 %tmp3.i106 = icmp ult i32 %foreachkey.0.i105, 2 ; <i1> [#uses=1]
2114 br i1 %tmp3.i106, label %foreachbody.i112, label %foreachcond.i89
2115
2116foreachbody.i112: ; preds = %foreachcond.i107
2117 %tmp23.sum = add i32 %foreachkey.0.i105, 6 ; <i32> [#uses=1]
2118 %tmp5.i108 = getelementptr i8* %timeval_arg44, i32 %tmp23.sum ; <i8*> [#uses=1]
2119 %tmp6.i109 = load i8* %tmp5.i108 ; <i8> [#uses=2]
2120 %tmp6.off.i110 = add i8 %tmp6.i109, -48 ; <i8> [#uses=1]
2121 %or.cond.i111 = icmp ugt i8 %tmp6.off.i110, 9 ; <i1> [#uses=1]
2122 br i1 %or.cond.i111, label %foreachcond.i89, label %if.i118
2123
2124if.i118: ; preds = %foreachbody.i112
2125 %tmp15.i113 = mul i32 %value.0.i104, 10 ; <i32> [#uses=1]
2126 %tmp17.i114 = zext i8 %tmp6.i109 to i32 ; <i32> [#uses=1]
2127 %tmp18.i115 = add i32 %tmp17.i114, -48 ; <i32> [#uses=1]
2128 %tmp19.i116 = add i32 %tmp15.i113, %tmp18.i115 ; <i32> [#uses=1]
2129 %tmp21.i117 = add i32 %foreachkey.0.i105, 1 ; <i32> [#uses=1]
2130 br label %foreachcond.i107
2131
2132foreachcond.i89: ; preds = %if.i100, %foreachbody.i112, %foreachcond.i107
2133 %value.0.i86 = phi i32 [ %tmp19.i98, %if.i100 ], [ 0, %foreachcond.i107 ], [ 0, %foreachbody.i112 ] ; <i32> [#uses=2]
2134 %foreachkey.0.i87 = phi i32 [ %tmp21.i99, %if.i100 ], [ 0, %foreachcond.i107 ], [ 0, %foreachbody.i112 ] ; <i32> [#uses=3]
2135 %tmp3.i88 = icmp ult i32 %foreachkey.0.i87, 2 ; <i1> [#uses=1]
2136 br i1 %tmp3.i88, label %foreachbody.i94, label %foreachcond.i71
2137
2138foreachbody.i94: ; preds = %foreachcond.i89
2139 %tmp28.sum = add i32 %foreachkey.0.i87, 8 ; <i32> [#uses=1]
2140 %tmp5.i90 = getelementptr i8* %timeval_arg44, i32 %tmp28.sum ; <i8*> [#uses=1]
2141 %tmp6.i91 = load i8* %tmp5.i90 ; <i8> [#uses=2]
2142 %tmp6.off.i92 = add i8 %tmp6.i91, -48 ; <i8> [#uses=1]
2143 %or.cond.i93 = icmp ugt i8 %tmp6.off.i92, 9 ; <i1> [#uses=1]
2144 br i1 %or.cond.i93, label %foreachcond.i71, label %if.i100
2145
2146if.i100: ; preds = %foreachbody.i94
2147 %tmp15.i95 = mul i32 %value.0.i86, 10 ; <i32> [#uses=1]
2148 %tmp17.i96 = zext i8 %tmp6.i91 to i32 ; <i32> [#uses=1]
2149 %tmp18.i97 = add i32 %tmp17.i96, -48 ; <i32> [#uses=1]
2150 %tmp19.i98 = add i32 %tmp15.i95, %tmp18.i97 ; <i32> [#uses=1]
2151 %tmp21.i99 = add i32 %foreachkey.0.i87, 1 ; <i32> [#uses=1]
2152 br label %foreachcond.i89
2153
2154foreachcond.i71: ; preds = %if.i82, %foreachbody.i94, %foreachcond.i89
2155 %value.0.i68 = phi i32 [ %tmp19.i80, %if.i82 ], [ 0, %foreachcond.i89 ], [ 0, %foreachbody.i94 ] ; <i32> [#uses=2]
2156 %foreachkey.0.i69 = phi i32 [ %tmp21.i81, %if.i82 ], [ 0, %foreachcond.i89 ], [ 0, %foreachbody.i94 ] ; <i32> [#uses=3]
2157 %tmp3.i70 = icmp ult i32 %foreachkey.0.i69, 2 ; <i1> [#uses=1]
2158 br i1 %tmp3.i70, label %foreachbody.i76, label %foreachcond.i53
2159
2160foreachbody.i76: ; preds = %foreachcond.i71
2161 %tmp33.sum = add i32 %foreachkey.0.i69, 10 ; <i32> [#uses=1]
2162 %tmp5.i72 = getelementptr i8* %timeval_arg44, i32 %tmp33.sum ; <i8*> [#uses=1]
2163 %tmp6.i73 = load i8* %tmp5.i72 ; <i8> [#uses=2]
2164 %tmp6.off.i74 = add i8 %tmp6.i73, -48 ; <i8> [#uses=1]
2165 %or.cond.i75 = icmp ugt i8 %tmp6.off.i74, 9 ; <i1> [#uses=1]
2166 br i1 %or.cond.i75, label %foreachcond.i53, label %if.i82
2167
2168if.i82: ; preds = %foreachbody.i76
2169 %tmp15.i77 = mul i32 %value.0.i68, 10 ; <i32> [#uses=1]
2170 %tmp17.i78 = zext i8 %tmp6.i73 to i32 ; <i32> [#uses=1]
2171 %tmp18.i79 = add i32 %tmp17.i78, -48 ; <i32> [#uses=1]
2172 %tmp19.i80 = add i32 %tmp15.i77, %tmp18.i79 ; <i32> [#uses=1]
2173 %tmp21.i81 = add i32 %foreachkey.0.i69, 1 ; <i32> [#uses=1]
2174 br label %foreachcond.i71
2175
2176foreachcond.i53: ; preds = %if.i64, %foreachbody.i76, %foreachcond.i71
2177 %value.0.i50 = phi i32 [ %tmp19.i62, %if.i64 ], [ 0, %foreachcond.i71 ], [ 0, %foreachbody.i76 ] ; <i32> [#uses=2]
2178 %foreachkey.0.i51 = phi i32 [ %tmp21.i63, %if.i64 ], [ 0, %foreachcond.i71 ], [ 0, %foreachbody.i76 ] ; <i32> [#uses=3]
2179 %tmp3.i52 = icmp ult i32 %foreachkey.0.i51, 2 ; <i1> [#uses=1]
2180 br i1 %tmp3.i52, label %foreachbody.i58, label %_D5tango4text7convert7Integer11__T4atoiTaZ4atoiFAaiZk.exit65
2181
2182foreachbody.i58: ; preds = %foreachcond.i53
2183 %tmp38.sum = add i32 %foreachkey.0.i51, 12 ; <i32> [#uses=1]
2184 %tmp5.i54 = getelementptr i8* %timeval_arg44, i32 %tmp38.sum ; <i8*> [#uses=1]
2185 %tmp6.i55 = load i8* %tmp5.i54 ; <i8> [#uses=2]
2186 %tmp6.off.i56 = add i8 %tmp6.i55, -48 ; <i8> [#uses=1]
2187 %or.cond.i57 = icmp ugt i8 %tmp6.off.i56, 9 ; <i1> [#uses=1]
2188 br i1 %or.cond.i57, label %_D5tango4text7convert7Integer11__T4atoiTaZ4atoiFAaiZk.exit65, label %if.i64
2189
2190if.i64: ; preds = %foreachbody.i58
2191 %tmp15.i59 = mul i32 %value.0.i50, 10 ; <i32> [#uses=1]
2192 %tmp17.i60 = zext i8 %tmp6.i55 to i32 ; <i32> [#uses=1]
2193 %tmp18.i61 = add i32 %tmp17.i60, -48 ; <i32> [#uses=1]
2194 %tmp19.i62 = add i32 %tmp15.i59, %tmp18.i61 ; <i32> [#uses=1]
2195 %tmp21.i63 = add i32 %foreachkey.0.i51, 1 ; <i32> [#uses=1]
2196 br label %foreachcond.i53
2197
2198_D5tango4text7convert7Integer11__T4atoiTaZ4atoiFAaiZk.exit65: ; preds = %foreachbody.i58, %foreachcond.i53
2199 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)
2200 %tmp4245 = getelementptr %tango.time.Time.Time* %.rettmp, i32 0, i32 0 ; <i64*> [#uses=1]
2201 %tmp = load i64* %tmp4245, align 8 ; <i64> [#uses=1]
2202 %2 = getelementptr %tango.time.Time.Time* %.sret_arg, i32 0, i32 0 ; <i64*> [#uses=1]
2203 store i64 %tmp, i64* %2
2204 ret void
2205}
2206
2207define fastcc void @_D5tango3net3ftp9FtpClient13FTPConnection4noopMFZv(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg) {
2208entry:
2209 %.rettmp = alloca %tango.net.ftp.FtpClient.FtpResponse, align 8 ; <%tango.net.ftp.FtpClient.FtpResponse*> [#uses=1]
2210 %tmp1 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 0 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl**> [#uses=2]
2211 %tmp2 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp1 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
2212 %"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]
2213 %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]
2214 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)
2215 %tmp6 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp1 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
2216 %"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]
2217 %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]
2218 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) })
2219 ret void
2220}
2221
2222define fastcc %"byte[]" @_D5tango3net3ftp9FtpClient13FTPConnection5mkdirMFAaZAa(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" %path_arg) {
2223entry:
2224 %__arrayArg136 = alloca [1 x %"byte[]"], align 8 ; <[1 x %"byte[]"]*> [#uses=1]
2225 %response = alloca %tango.net.ftp.FtpClient.FtpResponse, align 4 ; <%tango.net.ftp.FtpClient.FtpResponse*> [#uses=2]
2226 %.rettmp = alloca %tango.net.ftp.FtpClient.FtpResponse, align 8 ; <%tango.net.ftp.FtpClient.FtpResponse*> [#uses=2]
2227 %tmp1 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 0 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl**> [#uses=3]
2228 %tmp2 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp1 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
2229 %"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]
2230 %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]
2231 %tmp4 = getelementptr [1 x %"byte[]"]* %__arrayArg136, i32 0, i32 0 ; <%"byte[]"*> [#uses=2]
2232 store %"byte[]" %path_arg, %"byte[]"* %tmp4, align 8
2233 %tmp7 = insertvalue %"char[][]" { i32 1, %"byte[]"* undef }, %"byte[]"* %tmp4, 1 ; <%"char[][]"> [#uses=1]
2234 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)
2235 %tmp10 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp1 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
2236 %"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]
2237 %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]
2238 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) })
2239 %tmp12 = getelementptr %tango.net.ftp.FtpClient.FtpResponse* %response, i32 0, i32 0, i32 0 ; <i8*> [#uses=1]
2240 %tmp13 = getelementptr %tango.net.ftp.FtpClient.FtpResponse* %.rettmp, i32 0, i32 0, i32 0 ; <i8*> [#uses=1]
2241 call void @llvm.memcpy.i32(i8* %tmp12, i8* %tmp13, i32 12, i32 4)
2242 %tmp16 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp1 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
2243 %"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]
2244 %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]
2245 %tmp18 = call fastcc %"byte[]" %this.parse257(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %tango.net.ftp.FtpClient.FtpResponse* byval %response) ; <%"byte[]"> [#uses=1]
2246 ret %"byte[]" %tmp18
2247}
2248
2249define fastcc void @_D5tango3net3ftp9FtpClient13FTPConnection11getFeaturesMFZv(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg) {
2250entry:
2251 %.frame.i = alloca %nest.splitLines, align 8 ; <%nest.splitLines*> [#uses=5]
2252 %.rettmp.i = alloca %"tango.text.Util.LineFruct!(char).LineFruct", align 8 ; <%"tango.text.Util.LineFruct!(char).LineFruct"*> [#uses=3]
2253 %.rettmp8.i = alloca %"tango.text.Util.LineFruct!(char).LineFruct", align 8 ; <%"tango.text.Util.LineFruct!(char).LineFruct"*> [#uses=3]
2254 %response = alloca %tango.net.ftp.FtpClient.FtpResponse, align 4 ; <%tango.net.ftp.FtpClient.FtpResponse*> [#uses=2]
2255 %.rettmp = alloca %tango.net.ftp.FtpClient.FtpResponse, align 8 ; <%tango.net.ftp.FtpClient.FtpResponse*> [#uses=2]
2256 %tmp1 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 0 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl**> [#uses=2]
2257 %tmp2 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp1 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
2258 %"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]
2259 %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]
2260 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)
2261 %tmp6 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp1 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
2262 %"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]
2263 %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]
2264 call fastcc void %this.readResponse(%tango.net.ftp.FtpClient.FtpResponse* noalias nocapture sret %.rettmp, %tango.net.ftp.FtpClient.FTPConnection* %.this_arg)
2265 %tmp8 = getelementptr %tango.net.ftp.FtpClient.FtpResponse* %response, i32 0, i32 0, i32 0 ; <i8*> [#uses=2]
2266 %tmp9 = getelementptr %tango.net.ftp.FtpClient.FtpResponse* %.rettmp, i32 0, i32 0, i32 0 ; <i8*> [#uses=1]
2267 call void @llvm.memcpy.i32(i8* %tmp8, i8* %tmp9, i32 12, i32 4)
2268 %tmp12 = insertvalue %"byte[]" { i32 3, i8* undef }, i8* %tmp8, 1 ; <%"byte[]"> [#uses=1]
2269 %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]
2270 %tmp14 = icmp eq i32 %tmp13, 0 ; <i1> [#uses=1]
2271 br i1 %tmp14, label %if, label %else
2272
2273if: ; preds = %entry
2274 %tmp17 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 5 ; <%"FtpFeature[]"*> [#uses=1]
2275 %tmp18 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 5, i32 0 ; <i32*> [#uses=1]
2276 %.len = load i32* %tmp18 ; <i32> [#uses=1]
2277 %tmp19 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 5, i32 1 ; <%tango.net.ftp.FtpClient.FtpFeature**> [#uses=1]
2278 %.ptr = load %tango.net.ftp.FtpClient.FtpFeature** %tmp19 ; <%tango.net.ftp.FtpClient.FtpFeature*> [#uses=1]
2279 %.tmp = bitcast %tango.net.ftp.FtpClient.FtpFeature* %.ptr to i8* ; <i8*> [#uses=1]
2280 call void @_d_delarray(i32 %.len, i8* %.tmp)
2281 store %"FtpFeature[]" zeroinitializer, %"FtpFeature[]"* %tmp17
2282 ret void
2283
2284else: ; preds = %entry
2285 %tmp20 = getelementptr %tango.net.ftp.FtpClient.FtpResponse* %response, i32 0, i32 1 ; <%"byte[]"*> [#uses=1]
2286 %tmp21 = load %"byte[]"* %tmp20 ; <%"byte[]"> [#uses=4]
2287 %count.i = getelementptr %nest.splitLines* %.frame.i, i32 0, i32 0 ; <i32*> [#uses=3]
2288 %result.i = getelementptr %nest.splitLines* %.frame.i, i32 0, i32 1 ; <%"char[][]"*> [#uses=1]
2289 store i32 0, i32* %count.i, align 8
2290 %src_arg8.i.i = extractvalue %"byte[]" %tmp21, 0 ; <i32> [#uses=1]
2291 %src_arg9.i.i = extractvalue %"byte[]" %tmp21, 1 ; <i8*> [#uses=1]
2292 %0 = getelementptr %"tango.text.Util.LineFruct!(char).LineFruct"* %.rettmp.i, i32 0, i32 0, i32 0 ; <i32*> [#uses=1]
2293 store i32 %src_arg8.i.i, i32* %0, align 8
2294 %.sret_arg10.1.i.i = getelementptr %"tango.text.Util.LineFruct!(char).LineFruct"* %.rettmp.i, i32 0, i32 0, i32 1 ; <i8**> [#uses=1]
2295 store i8* %src_arg9.i.i, i8** %.sret_arg10.1.i.i, align 4
2296 %tmp1.i = bitcast %nest.splitLines* %.frame.i to i8* ; <i8*> [#uses=2]
2297 %tmp2.i = insertvalue %"int delegate(ref char[])" undef, i8* %tmp1.i, 0 ; <%"int delegate(ref char[])"> [#uses=1]
2298 %.func.i = insertvalue %"int delegate(ref char[])" %tmp2.i, i32 (i8*, %"byte[]"*)* @_D5tango4text4Util18__T10splitLinesTaZ10splitLinesFAaZAAa15__foreachbody41MFKAaZi, 1 ; <%"int delegate(ref char[])"> [#uses=1]
2299 %tmp3.i = call fastcc i32 @_D5tango4text4Util16__T9LineFructTaZ9LineFruct7opApplyMFDFKAaZiZi(%"tango.text.Util.LineFruct!(char).LineFruct"* %.rettmp.i, %"int delegate(ref char[])" %.func.i) ; <i32> [#uses=0]
2300 %tmp4.i = load i32* %count.i, align 8 ; <i32> [#uses=2]
2301 %.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]
2302 %.gc_mem5.i = bitcast i8* %.gc_mem.i to %"byte[]"* ; <%"byte[]"*> [#uses=1]
2303 %tmp6.i = getelementptr %nest.splitLines* %.frame.i, i32 0, i32 1, i32 0 ; <i32*> [#uses=1]
2304 store i32 %tmp4.i, i32* %tmp6.i
2305 %tmp7.i = getelementptr %nest.splitLines* %.frame.i, i32 0, i32 1, i32 1 ; <%"byte[]"**> [#uses=1]
2306 store %"byte[]"* %.gc_mem5.i, %"byte[]"** %tmp7.i
2307 store i32 0, i32* %count.i, align 8
2308 %src_arg8.i15.i = extractvalue %"byte[]" %tmp21, 0 ; <i32> [#uses=1]
2309 %src_arg9.i16.i = extractvalue %"byte[]" %tmp21, 1 ; <i8*> [#uses=1]
2310 %1 = getelementptr %"tango.text.Util.LineFruct!(char).LineFruct"* %.rettmp8.i, i32 0, i32 0, i32 0 ; <i32*> [#uses=1]
2311 store i32 %src_arg8.i15.i, i32* %1, align 8
2312 %.sret_arg10.1.i17.i = getelementptr %"tango.text.Util.LineFruct!(char).LineFruct"* %.rettmp8.i, i32 0, i32 0, i32 1 ; <i8**> [#uses=1]
2313 store i8* %src_arg9.i16.i, i8** %.sret_arg10.1.i17.i, align 4
2314 %tmp11.i = insertvalue %"int delegate(ref char[])" undef, i8* %tmp1.i, 0 ; <%"int delegate(ref char[])"> [#uses=1]
2315 %.func12.i = insertvalue %"int delegate(ref char[])" %tmp11.i, i32 (i8*, %"byte[]"*)* @_D5tango4text4Util18__T10splitLinesTaZ10splitLinesFAaZAAa15__foreachbody42MFKAaZi, 1 ; <%"int delegate(ref char[])"> [#uses=1]
2316 %tmp13.i = call fastcc i32 @_D5tango4text4Util16__T9LineFructTaZ9LineFruct7opApplyMFDFKAaZiZi(%"tango.text.Util.LineFruct!(char).LineFruct"* %.rettmp8.i, %"int delegate(ref char[])" %.func12.i) ; <i32> [#uses=0]
2317 %tmp14.i = load %"char[][]"* %result.i ; <%"char[][]"> [#uses=2]
2318 %tmp22109 = extractvalue %"char[][]" %tmp14.i, 0 ; <i32> [#uses=2]
2319 %tmp22110 = extractvalue %"char[][]" %tmp14.i, 1 ; <%"byte[]"*> [#uses=4]
2320 %tmp27 = add i32 %tmp22109, -1 ; <i32> [#uses=3]
2321 %.gc_mem = call noalias i8* @_d_newarrayiT(%object.TypeInfo* bitcast (%object.TypeInfo_Array* @_D47TypeInfo_AS5tango3net3ftp9FtpClient10FtpFeature6__initZ to %object.TypeInfo*), i32 %tmp27) ; <i8*> [#uses=2]
2322 %.gc_mem28 = bitcast i8* %.gc_mem to %tango.net.ftp.FtpClient.FtpFeature* ; <%tango.net.ftp.FtpClient.FtpFeature*> [#uses=1]
2323 %tmp29 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 5, i32 0 ; <i32*> [#uses=1]
2324 store i32 %tmp27, i32* %tmp29
2325 %tmp30 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 5, i32 1 ; <%tango.net.ftp.FtpClient.FtpFeature**> [#uses=3]
2326 store %tango.net.ftp.FtpClient.FtpFeature* %.gc_mem28, %tango.net.ftp.FtpClient.FtpFeature** %tmp30
2327 %tmp36 = bitcast i8* %.gc_mem to %"byte[]"* ; <%"byte[]"*> [#uses=1]
2328 store %"byte[]" { i32 4, i8* getelementptr ([5 x i8]* @.str115, i32 0, i32 0) }, %"byte[]"* %tmp36
2329 br label %forcond
2330
2331forcond: ; preds = %forinc, %else
2332 %i.0 = phi i32 [ 1, %else ], [ %tmp103, %forinc ] ; <i32> [#uses=9]
2333 %tmp41 = icmp ult i32 %i.0, %tmp27 ; <i1> [#uses=1]
2334 br i1 %tmp41, label %forbody, label %endfor
2335
2336forbody: ; preds = %forcond
2337 %tmp45 = getelementptr %"byte[]"* %tmp22110, i32 %i.0 ; <%"byte[]"*> [#uses=1]
2338 %tmp46 = load %"byte[]"* %tmp45 ; <%"byte[]"> [#uses=2]
2339 %source_arg16.i = extractvalue %"byte[]" %tmp46, 0 ; <i32> [#uses=2]
2340 %source_arg17.i = extractvalue %"byte[]" %tmp46, 1 ; <i8*> [#uses=2]
2341 %tmp2.i.i = getelementptr i8* %source_arg17.i, i32 -1 ; <i8*> [#uses=1]
2342 br label %forcond.i.i
2343
2344forcond.i.i: ; preds = %forbody.i.i, %forbody
2345 %len.0.i.i = phi i32 [ %source_arg16.i, %forbody ], [ %tmp4.i.i, %forbody.i.i ] ; <i32> [#uses=2]
2346 %p.0.i.i = phi i8* [ %tmp2.i.i, %forbody ], [ %tmp7.i.i, %forbody.i.i ] ; <i8*> [#uses=1]
2347 %tmp4.i.i = add i32 %len.0.i.i, -1 ; <i32> [#uses=1]
2348 %tmp5.i.i = icmp eq i32 %len.0.i.i, 0 ; <i1> [#uses=1]
2349 br i1 %tmp5.i.i, label %_D5tango4text4Util13__T6locateTaZ6locateFAaakZk.exit, label %forbody.i.i
2350
2351forbody.i.i: ; preds = %forcond.i.i
2352 %tmp7.i.i = getelementptr i8* %p.0.i.i, i32 1 ; <i8*> [#uses=3]
2353 %tmp8.i.i = load i8* %tmp7.i.i ; <i8> [#uses=1]
2354 %tmp12.i.i = icmp eq i8 %tmp8.i.i, 32 ; <i1> [#uses=1]
2355 br i1 %tmp12.i.i, label %if.i.i, label %forcond.i.i
2356
2357if.i.i: ; preds = %forbody.i.i
2358 %tmp15.i.i = ptrtoint i8* %tmp7.i.i to i32 ; <i32> [#uses=1]
2359 %tmp16.i.i = ptrtoint i8* %source_arg17.i to i32 ; <i32> [#uses=1]
2360 %tmp17.i.i = sub i32 %tmp15.i.i, %tmp16.i.i ; <i32> [#uses=1]
2361 br label %_D5tango4text4Util13__T6locateTaZ6locateFAaakZk.exit
2362
2363_D5tango4text4Util13__T6locateTaZ6locateFAaakZk.exit: ; preds = %if.i.i, %forcond.i.i
2364 %tmp1318.i = phi i32 [ %tmp17.i.i, %if.i.i ], [ %source_arg16.i, %forcond.i.i ] ; <i32> [#uses=3]
2365 %.ptr51 = load %tango.net.ftp.FtpClient.FtpFeature** %tmp30 ; <%tango.net.ftp.FtpClient.FtpFeature*> [#uses=2]
2366 %tmp59 = getelementptr %"byte[]"* %tmp22110, i32 %i.0, i32 1 ; <i8**> [#uses=2]
2367 %.ptr60 = load i8** %tmp59 ; <i8*> [#uses=1]
2368 %tmp64 = getelementptr %tango.net.ftp.FtpClient.FtpFeature* %.ptr51, i32 %i.0, i32 0, i32 0 ; <i32*> [#uses=1]
2369 store i32 %tmp1318.i, i32* %tmp64
2370 %tmp65 = getelementptr %tango.net.ftp.FtpClient.FtpFeature* %.ptr51, i32 %i.0, i32 0, i32 1 ; <i8**> [#uses=1]
2371 store i8* %.ptr60, i8** %tmp65
2372 %tmp70 = getelementptr %"byte[]"* %tmp22110, i32 %i.0, i32 0 ; <i32*> [#uses=1]
2373 %.len71 = load i32* %tmp70 ; <i32> [#uses=2]
2374 %tmp72 = add i32 %.len71, -1 ; <i32> [#uses=1]
2375 %tmp74 = icmp ult i32 %tmp1318.i, %tmp72 ; <i1> [#uses=1]
2376 br i1 %tmp74, label %if75, label %forinc
2377
2378if75: ; preds = %_D5tango4text4Util13__T6locateTaZ6locateFAaakZk.exit
2379 %.ptr80 = load %tango.net.ftp.FtpClient.FtpFeature** %tmp30 ; <%tango.net.ftp.FtpClient.FtpFeature*> [#uses=2]
2380 %.ptr89 = load i8** %tmp59 ; <i8*> [#uses=1]
2381 %tmp91 = add i32 %tmp1318.i, 1 ; <i32> [#uses=2]
2382 %tmp98 = getelementptr i8* %.ptr89, i32 %tmp91 ; <i8*> [#uses=1]
2383 %tmp99 = sub i32 %.len71, %tmp91 ; <i32> [#uses=1]
2384 %tmp100 = getelementptr %tango.net.ftp.FtpClient.FtpFeature* %.ptr80, i32 %i.0, i32 1, i32 0 ; <i32*> [#uses=1]
2385 store i32 %tmp99, i32* %tmp100
2386 %tmp101 = getelementptr %tango.net.ftp.FtpClient.FtpFeature* %.ptr80, i32 %i.0, i32 1, i32 1 ; <i8**> [#uses=1]
2387 store i8* %tmp98, i8** %tmp101
2388 br label %forinc
2389
2390forinc: ; preds = %if75, %_D5tango4text4Util13__T6locateTaZ6locateFAaakZk.exit
2391 %tmp103 = add i32 %i.0, 1 ; <i32> [#uses=1]
2392 br label %forcond
2393
2394endfor: ; preds = %forcond
2395 %.tmp108 = bitcast %"byte[]"* %tmp22110 to i8* ; <i8*> [#uses=1]
2396 call void @_d_delarray(i32 %tmp22109, i8* %.tmp108)
2397 ret void
2398}
2399
2400define fastcc void @_D5tango3net3ftp9FtpClient13FTPConnection11sendCommandMFAaAAaXv(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" %command_arg, %"char[][]" %parameters_arg) {
2401entry:
2402 %parameters_arg55 = extractvalue %"char[][]" %parameters_arg, 0 ; <i32> [#uses=1]
2403 %parameters_arg56 = extractvalue %"char[][]" %parameters_arg, 1 ; <%"byte[]"*> [#uses=1]
2404 %command_arg53 = extractvalue %"byte[]" %command_arg, 0 ; <i32> [#uses=1]
2405 %command_arg54 = extractvalue %"byte[]" %command_arg, 1 ; <i8*> [#uses=1]
2406 br label %foreachcond
2407
2408foreachcond: ; preds = %foreachbody, %entry
2409 %socketCommand.0.0 = phi i32 [ %command_arg53, %entry ], [ %tmp17, %foreachbody ] ; <i32> [#uses=6]
2410 %socketCommand.1.0 = phi i8* [ %command_arg54, %entry ], [ %.gc_mem22, %foreachbody ] ; <i8*> [#uses=2]
2411 %foreachkey.0 = phi i32 [ 0, %entry ], [ %tmp28, %foreachbody ] ; <i32> [#uses=3]
2412 %tmp4 = icmp ult i32 %foreachkey.0, %parameters_arg55 ; <i1> [#uses=1]
2413 br i1 %tmp4, label %foreachbody, label %foreachend
2414
2415foreachbody: ; preds = %foreachcond
2416 %tmp6 = getelementptr %"byte[]"* %parameters_arg56, i32 %foreachkey.0 ; <%"byte[]"*> [#uses=1]
2417 %tmp7 = load %"byte[]"* %tmp6 ; <%"byte[]"> [#uses=2]
2418 %tmp751 = extractvalue %"byte[]" %tmp7, 0 ; <i32> [#uses=2]
2419 %tmp752 = extractvalue %"byte[]" %tmp7, 1 ; <i8*> [#uses=1]
2420 %tmp10 = add i32 %tmp751, 1 ; <i32> [#uses=3]
2421 %.nongc_mem = alloca i8, i32 %tmp10, align 1 ; <i8*> [#uses=3]
2422 store i8 32, i8* %.nongc_mem, align 1
2423 %tmp13 = getelementptr i8* %.nongc_mem, i32 1 ; <i8*> [#uses=1]
2424 tail call void @llvm.memcpy.i32(i8* %tmp13, i8* %tmp752, i32 %tmp751, i32 1)
2425 %tmp17 = add i32 %socketCommand.0.0, %tmp10 ; <i32> [#uses=2]
2426 %.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]
2427 %tmp23 = getelementptr i8* %.gc_mem22, i32 %socketCommand.0.0 ; <i8*> [#uses=1]
2428 tail call void @llvm.memcpy.i32(i8* %tmp23, i8* %.nongc_mem, i32 %tmp10, i32 1)
2429 %tmp28 = add i32 %foreachkey.0, 1 ; <i32> [#uses=1]
2430 br label %foreachcond
2431
2432foreachend: ; preds = %foreachcond
2433 %tmp31 = add i32 %socketCommand.0.0, 2 ; <i32> [#uses=2]
2434 %.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]
2435 %tmp37 = getelementptr i8* %.gc_mem36, i32 %socketCommand.0.0 ; <i8*> [#uses=1]
2436 %tmp3757 = bitcast i8* %tmp37 to i16* ; <i16*> [#uses=1]
2437 %tmp = load i16* bitcast ([3 x i8]* @.str117 to i16*), align 2 ; <i16> [#uses=1]
2438 store i16 %tmp, i16* %tmp3757, align 1
2439 %tmp41 = bitcast %tango.net.ftp.FtpClient.FTPConnection* %.this_arg to %tango.net.ftp.Telnet.Telnet* ; <%tango.net.ftp.Telnet.Telnet*> [#uses=1]
2440 %tmp42 = bitcast %tango.net.ftp.FtpClient.FTPConnection* %.this_arg to %tango.net.ftp.Telnet.Telnet.__vtbl** ; <%tango.net.ftp.Telnet.Telnet.__vtbl**> [#uses=1]
2441 %tmp43 = load %tango.net.ftp.Telnet.Telnet.__vtbl** %tmp42 ; <%tango.net.ftp.Telnet.Telnet.__vtbl*> [#uses=1]
2442 %"(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]
2443 %"(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]
2444 %tmp49 = insertvalue %"byte[]" undef, i32 %tmp31, 0 ; <%"byte[]"> [#uses=1]
2445 %tmp50 = insertvalue %"byte[]" %tmp49, i8* %.gc_mem36, 1 ; <%"byte[]"> [#uses=1]
2446 tail call fastcc void %"(cast(Telnet)this).sendData"(%tango.net.ftp.Telnet.Telnet* %tmp41, %"byte[]" %tmp50)
2447 ret void
2448}
2449
2450define fastcc void @_D5tango3net3ftp9FtpClient13FTPConnection12readResponseMFAaZS5tango3net3ftp9FtpClient11FtpResponse(%tango.net.ftp.FtpClient.FtpResponse* noalias nocapture sret %.sret_arg, %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" %expected_code_arg) {
2451entry:
2452 %response = alloca %tango.net.ftp.FtpClient.FtpResponse, align 4 ; <%tango.net.ftp.FtpClient.FtpResponse*> [#uses=2]
2453 %.rettmp = alloca %tango.net.ftp.FtpClient.FtpResponse, align 8 ; <%tango.net.ftp.FtpClient.FtpResponse*> [#uses=2]
2454 %expected_code_arg26 = extractvalue %"byte[]" %expected_code_arg, 0 ; <i32> [#uses=1]
2455 %expected_code_arg27 = extractvalue %"byte[]" %expected_code_arg, 1 ; <i8*> [#uses=1]
2456 %tmp1 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 0 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl**> [#uses=2]
2457 %tmp2 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp1 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
2458 %"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]
2459 %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]
2460 call fastcc void %this.readResponse(%tango.net.ftp.FtpClient.FtpResponse* noalias nocapture sret %.rettmp, %tango.net.ftp.FtpClient.FTPConnection* %.this_arg)
2461 %tmp4 = getelementptr %tango.net.ftp.FtpClient.FtpResponse* %response, i32 0, i32 0, i32 0 ; <i8*> [#uses=3]
2462 %tmp5 = getelementptr %tango.net.ftp.FtpClient.FtpResponse* %.rettmp, i32 0, i32 0, i32 0 ; <i8*> [#uses=1]
2463 call void @llvm.memcpy.i32(i8* %tmp4, i8* %tmp5, i32 12, i32 4)
2464 %tmp12 = insertvalue %"byte[]" { i32 3, i8* undef }, i8* %tmp4, 1 ; <%"byte[]"> [#uses=1]
2465 %tmp13 = insertvalue %"byte[]" undef, i32 %expected_code_arg26, 0 ; <%"byte[]"> [#uses=1]
2466 %tmp14 = insertvalue %"byte[]" %tmp13, i8* %expected_code_arg27, 1 ; <%"byte[]"> [#uses=1]
2467 %tmp15 = call i32 @_adEq(%"byte[]" %tmp12, %"byte[]" %tmp14, %object.TypeInfo* @_D11TypeInfo_Aa6__initZ) readonly ; <i32> [#uses=1]
2468 %tmp16 = icmp eq i32 %tmp15, 0 ; <i1> [#uses=1]
2469 br i1 %tmp16, label %if, label %endif
2470
2471if: ; preds = %entry
2472 %tmp20 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp1 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
2473 %"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]
2474 %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]
2475 call fastcc void %this.exception(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %tango.net.ftp.FtpClient.FtpResponse* byval %response)
2476 br label %endif
2477
2478endif: ; preds = %if, %entry
2479 %tmp22 = getelementptr %tango.net.ftp.FtpClient.FtpResponse* %.sret_arg, i32 0, i32 0, i32 0 ; <i8*> [#uses=1]
2480 call void @llvm.memcpy.i32(i8* %tmp22, i8* %tmp4, i32 12, i32 1)
2481 ret void
2482}
2483
2484define fastcc void @_D5tango3net3ftp9FtpClient13FTPConnection12readResponseMFZS5tango3net3ftp9FtpClient11FtpResponse(%tango.net.ftp.FtpClient.FtpResponse* noalias nocapture sret %.sret_arg, %tango.net.ftp.FtpClient.FTPConnection* %.this_arg) {
2485entry:
2486 %.rettmp = alloca %tango.time.Time.Time, align 8 ; <%tango.time.Time.Time*> [#uses=2]
2487 %.rettmp2 = alloca %tango.time.Time.Time, align 8 ; <%tango.time.Time.Time*> [#uses=2]
2488 %response = alloca %tango.net.ftp.FtpClient.FtpResponse, align 4 ; <%tango.net.ftp.FtpClient.FtpResponse*> [#uses=4]
2489 %.rettmp6 = alloca %tango.time.Time.Time, align 8 ; <%tango.time.Time.Time*> [#uses=2]
2490 call fastcc void @_D5tango4time5Clock5Clock3nowFZS5tango4time4Time4Time(%tango.time.Time.Time* noalias nocapture sret %.rettmp)
2491 call fastcc void @_D5tango4time4Time8TimeSpan10fromMillisFlZS5tango4time4Time8TimeSpan(%tango.time.Time.Time* noalias nocapture sret %.rettmp2, i64 2500)
2492 %tmp1.i = getelementptr %tango.time.Time.Time* %.rettmp2, i32 0, i32 0 ; <i64*> [#uses=1]
2493 %tmp2.i = load i64* %tmp1.i, align 8 ; <i64> [#uses=1]
2494 %tmp4.i = mul i64 %tmp2.i, 10 ; <i64> [#uses=1]
2495 %tmp1.i177 = getelementptr %tango.time.Time.Time* %.rettmp, i32 0, i32 0 ; <i64*> [#uses=1]
2496 %tmp3.i = load i64* %tmp1.i177, align 8 ; <i64> [#uses=1]
2497 %tmp5.i = add i64 %tmp3.i, %tmp4.i ; <i64> [#uses=1]
2498 %tmp5 = getelementptr %tango.net.ftp.FtpClient.FtpResponse* %response, i32 0, i32 0, i32 0 ; <i8*> [#uses=6]
2499 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)
2500 br label %whilecond
2501
2502whilecond: ; preds = %andand153, %andand139, %endif, %entry
2503 call fastcc void @_D5tango4time5Clock5Clock3nowFZS5tango4time4Time4Time(%tango.time.Time.Time* noalias nocapture sret %.rettmp6)
2504 %tmp1.i181 = getelementptr %tango.time.Time.Time* %.rettmp6, i32 0, i32 0 ; <i64*> [#uses=1]
2505 %tmp3.i183 = load i64* %tmp1.i181, align 8 ; <i64> [#uses=1]
2506 %tmp5.i185 = icmp slt i64 %tmp3.i183, %tmp5.i ; <i1> [#uses=1]
2507 br i1 %tmp5.i185, label %whilebody, label %endwhile
2508
2509whilebody: ; preds = %whilecond
2510 %tmp10 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 0 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl**> [#uses=1]
2511 %tmp11 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp10 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
2512 %"this.readLine@vtbl" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp11, i32 0, i32 8 ; <%"byte[]" (%tango.net.ftp.Telnet.Telnet*)**> [#uses=1]
2513 %this.readLine = load %"byte[]" (%tango.net.ftp.Telnet.Telnet*)** %"this.readLine@vtbl", align 4 ; <%"byte[]" (%tango.net.ftp.Telnet.Telnet*)*> [#uses=1]
2514 %tmp13 = bitcast %tango.net.ftp.FtpClient.FTPConnection* %.this_arg to %tango.net.ftp.Telnet.Telnet* ; <%tango.net.ftp.Telnet.Telnet*> [#uses=1]
2515 %tmp14 = call fastcc %"byte[]" %this.readLine(%tango.net.ftp.Telnet.Telnet* %tmp13) ; <%"byte[]"> [#uses=2]
2516 %tmp14168 = extractvalue %"byte[]" %tmp14, 0 ; <i32> [#uses=9]
2517 %tmp14169 = extractvalue %"byte[]" %tmp14, 1 ; <i8*> [#uses=9]
2518 %tmp16 = getelementptr %tango.net.ftp.FtpClient.FtpResponse* %response, i32 0, i32 1, i32 0 ; <i32*> [#uses=6]
2519 %.len = load i32* %tmp16 ; <i32> [#uses=4]
2520 %tmp17 = icmp eq i32 %.len, 0 ; <i1> [#uses=1]
2521 br i1 %tmp17, label %if, label %else
2522
2523if: ; preds = %whilebody
2524 %tmp20 = icmp ult i32 %tmp14168, 4 ; <i1> [#uses=1]
2525 br i1 %tmp20, label %if21, label %endif22
2526
2527if21: ; preds = %if
2528 call void @llvm.memcpy.i32(i8* %tmp5, i8* getelementptr ([4 x i8]* @.str118, i32 0, i32 0), i32 3, i32 1)
2529 br label %endwhile
2530
2531endif22: ; preds = %if
2532 call void @llvm.memcpy.i32(i8* %tmp5, i8* %tmp14169, i32 3, i32 1)
2533 %tmp34 = getelementptr i8* %tmp14169, i32 4 ; <i8*> [#uses=1]
2534 %tmp35 = add i32 %tmp14168, -4 ; <i32> [#uses=1]
2535 store i32 %tmp35, i32* %tmp16
2536 %tmp37 = getelementptr %tango.net.ftp.FtpClient.FtpResponse* %response, i32 0, i32 1, i32 1 ; <i8**> [#uses=1]
2537 store i8* %tmp34, i8** %tmp37
2538 br label %endif
2539
2540else: ; preds = %whilebody
2541 %tmp41 = add i32 %.len, 1 ; <i32> [#uses=11]
2542 %tmp44 = getelementptr %tango.net.ftp.FtpClient.FtpResponse* %response, i32 0, i32 1, i32 1 ; <i8**> [#uses=5]
2543 %.ptr45 = load i8** %tmp44 ; <i8*> [#uses=1]
2544 %.gc_mem = call i8* @_d_arraysetlengthiT(%object.TypeInfo* @_D11TypeInfo_Aa6__initZ, i32 %tmp41, i32 %.len, i8* %.ptr45) ; <i8*> [#uses=5]
2545 %tmp46 = getelementptr i8* %.gc_mem, i32 %.len ; <i8*> [#uses=1]
2546 store i8 10, i8* %tmp46, align 1
2547 store i32 %tmp41, i32* %tmp16
2548 store i8* %.gc_mem, i8** %tmp44
2549 %tmp51 = icmp ugt i32 %tmp14168, 4 ; <i1> [#uses=1]
2550 br i1 %tmp51, label %andand, label %else65
2551
2552andand: ; preds = %else
2553 %tmp59 = insertvalue %"byte[]" { i32 3, i8* undef }, i8* %tmp14169, 1 ; <%"byte[]"> [#uses=1]
2554 %tmp60 = insertvalue %"byte[]" { i32 3, i8* undef }, i8* %tmp5, 1 ; <%"byte[]"> [#uses=1]
2555 %tmp61 = call i32 @_adEq(%"byte[]" %tmp59, %"byte[]" %tmp60, %object.TypeInfo* @_D11TypeInfo_Aa6__initZ) readonly ; <i32> [#uses=1]
2556 %tmp62 = icmp eq i32 %tmp61, 0 ; <i1> [#uses=1]
2557 br i1 %tmp62, label %else65, label %if63
2558
2559if63: ; preds = %andand
2560 %tmp71 = getelementptr i8* %tmp14169, i32 4 ; <i8*> [#uses=1]
2561 %tmp72 = add i32 %tmp14168, -4 ; <i32> [#uses=2]
2562 %tmp75 = add i32 %tmp41, %tmp72 ; <i32> [#uses=2]
2563 %.gc_mem80 = call i8* @_d_arraysetlengthiT(%object.TypeInfo* @_D11TypeInfo_Aa6__initZ, i32 %tmp75, i32 %tmp41, i8* %.gc_mem) ; <i8*> [#uses=2]
2564 %tmp81 = getelementptr i8* %.gc_mem80, i32 %tmp41 ; <i8*> [#uses=1]
2565 call void @llvm.memcpy.i32(i8* %tmp81, i8* %tmp71, i32 %tmp72, i32 1)
2566 store i32 %tmp75, i32* %tmp16
2567 store i8* %.gc_mem80, i8** %tmp44
2568 br label %endif
2569
2570else65: ; preds = %andand, %else
2571 %tmp87 = icmp ugt i32 %tmp14168, 2 ; <i1> [#uses=1]
2572 br i1 %tmp87, label %andand88, label %else99
2573
2574andand88: ; preds = %else65
2575 %tmp93 = load i8* %tmp14169 ; <i8> [#uses=1]
2576 %tmp95 = icmp eq i8 %tmp93, 32 ; <i1> [#uses=1]
2577 br i1 %tmp95, label %if97, label %else99
2578
2579if97: ; preds = %andand88
2580 %tmp105 = getelementptr i8* %tmp14169, i32 1 ; <i8*> [#uses=1]
2581 %tmp106 = add i32 %tmp14168, -1 ; <i32> [#uses=2]
2582 %tmp109 = add i32 %tmp41, %tmp106 ; <i32> [#uses=2]
2583 %.gc_mem114 = call i8* @_d_arraysetlengthiT(%object.TypeInfo* @_D11TypeInfo_Aa6__initZ, i32 %tmp109, i32 %tmp41, i8* %.gc_mem) ; <i8*> [#uses=2]
2584 %tmp115 = getelementptr i8* %.gc_mem114, i32 %tmp41 ; <i8*> [#uses=1]
2585 call void @llvm.memcpy.i32(i8* %tmp115, i8* %tmp105, i32 %tmp106, i32 1)
2586 store i32 %tmp109, i32* %tmp16
2587 store i8* %.gc_mem114, i8** %tmp44
2588 br label %endif
2589
2590else99: ; preds = %andand88, %else65
2591 %tmp124 = add i32 %tmp41, %tmp14168 ; <i32> [#uses=2]
2592 %.gc_mem129 = call i8* @_d_arraysetlengthiT(%object.TypeInfo* @_D11TypeInfo_Aa6__initZ, i32 %tmp124, i32 %tmp41, i8* %.gc_mem) ; <i8*> [#uses=2]
2593 %tmp132 = getelementptr i8* %.gc_mem129, i32 %tmp41 ; <i8*> [#uses=1]
2594 call void @llvm.memcpy.i32(i8* %tmp132, i8* %tmp14169, i32 %tmp14168, i32 1)
2595 store i32 %tmp124, i32* %tmp16
2596 store i8* %.gc_mem129, i8** %tmp44
2597 br label %endif
2598
2599endif: ; preds = %else99, %if97, %if63, %endif22
2600 %tmp138 = icmp ult i32 %tmp14168, 4 ; <i1> [#uses=1]
2601 br i1 %tmp138, label %whilecond, label %andand139
2602
2603andand139: ; preds = %endif
2604 %tmp148 = insertvalue %"byte[]" { i32 3, i8* undef }, i8* %tmp14169, 1 ; <%"byte[]"> [#uses=1]
2605 %tmp149 = insertvalue %"byte[]" { i32 3, i8* undef }, i8* %tmp5, 1 ; <%"byte[]"> [#uses=1]
2606 %tmp150 = call i32 @_adEq(%"byte[]" %tmp148, %"byte[]" %tmp149, %object.TypeInfo* @_D11TypeInfo_Aa6__initZ) readonly ; <i32> [#uses=1]
2607 %tmp151 = icmp eq i32 %tmp150, 0 ; <i1> [#uses=1]
2608 br i1 %tmp151, label %whilecond, label %andand153
2609
2610andand153: ; preds = %andand139
2611 %tmp157 = getelementptr i8* %tmp14169, i32 3 ; <i8*> [#uses=1]
2612 %tmp158 = load i8* %tmp157 ; <i8> [#uses=1]
2613 %tmp160 = icmp eq i8 %tmp158, 32 ; <i1> [#uses=1]
2614 br i1 %tmp160, label %endwhile, label %whilecond
2615
2616endwhile: ; preds = %andand153, %if21, %whilecond
2617 %tmp165 = getelementptr %tango.net.ftp.FtpClient.FtpResponse* %.sret_arg, i32 0, i32 0, i32 0 ; <i8*> [#uses=1]
2618 call void @llvm.memcpy.i32(i8* %tmp165, i8* %tmp5, i32 12, i32 1)
2619 ret void
2620}
2621
2622define fastcc %"byte[]" @_D5tango3net3ftp9FtpClient13FTPConnection8parse257MFS5tango3net3ftp9FtpClient11FtpResponseZAa(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %tango.net.ftp.FtpClient.FtpResponse* byval %response_arg) {
2623entry:
2624 %tmp1 = getelementptr %tango.net.ftp.FtpClient.FtpResponse* %response_arg, i32 0, i32 1, i32 0 ; <i32*> [#uses=3]
2625 %.len = load i32* %tmp1 ; <i32> [#uses=2]
2626 %.gc_mem = tail call noalias i8* @_d_newarrayiT(%object.TypeInfo* @_D11TypeInfo_Aa6__initZ, i32 %.len) ; <i8*> [#uses=3]
2627 %.len6 = load i32* %tmp1 ; <i32> [#uses=1]
2628 %tmp7 = icmp ugt i32 %.len6, 2 ; <i1> [#uses=1]
2629 br i1 %tmp7, label %whilecond, label %if
2630
2631if: ; preds = %entry
2632 %tmp9 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 0 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl**> [#uses=1]
2633 %tmp10 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp9 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
2634 %"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]
2635 %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]
2636 tail call fastcc void %this.exception(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %tango.net.ftp.FtpClient.FtpResponse* byval %response_arg)
2637 br label %whilecond
2638
2639whilecond: ; preds = %endif25, %if, %entry
2640 %pos.1 = phi i32 [ 1, %if ], [ %tmp70, %endif25 ], [ 1, %entry ] ; <i32> [#uses=4]
2641 %len.1 = phi i32 [ 0, %if ], [ %len.0, %endif25 ], [ 0, %entry ] ; <i32> [#uses=5]
2642 %.len14 = load i32* %tmp1 ; <i32> [#uses=2]
2643 %tmp16 = icmp ult i32 %pos.1, %.len14 ; <i1> [#uses=1]
2644 br i1 %tmp16, label %whilebody, label %endwhile
2645
2646whilebody: ; preds = %whilecond
2647 %tmp18 = getelementptr %tango.net.ftp.FtpClient.FtpResponse* %response_arg, i32 0, i32 1, i32 1 ; <i8**> [#uses=1]
2648 %.ptr = load i8** %tmp18 ; <i8*> [#uses=2]
2649 %tmp20 = getelementptr i8* %.ptr, i32 %pos.1 ; <i8*> [#uses=1]
2650 %tmp21 = load i8* %tmp20 ; <i8> [#uses=2]
2651 %tmp23 = icmp eq i8 %tmp21, 34 ; <i1> [#uses=1]
2652 br i1 %tmp23, label %if24, label %else
2653
2654if24: ; preds = %whilebody
2655 %tmp27 = add i32 %pos.1, 1 ; <i32> [#uses=3]
2656 %tmp31 = icmp eq i32 %tmp27, %.len14 ; <i1> [#uses=1]
2657 br i1 %tmp31, label %endwhile, label %endif33
2658
2659endif33: ; preds = %if24
2660 %tmp39 = getelementptr i8* %.ptr, i32 %tmp27 ; <i8*> [#uses=1]
2661 %tmp40 = load i8* %tmp39 ; <i8> [#uses=2]
2662 %tmp42 = icmp eq i8 %tmp40, 34 ; <i1> [#uses=1]
2663 br i1 %tmp42, label %if43, label %endwhile
2664
2665if43: ; preds = %endif33
2666 %tmp50 = getelementptr i8* %.gc_mem, i32 %len.1 ; <i8*> [#uses=1]
2667 store i8 %tmp40, i8* %tmp50
2668 br label %endif25
2669
2670else: ; preds = %whilebody
2671 %tmp62 = getelementptr i8* %.gc_mem, i32 %len.1 ; <i8*> [#uses=1]
2672 store i8 %tmp21, i8* %tmp62
2673 br label %endif25
2674
2675endif25: ; preds = %else, %if43
2676 %pos.0 = phi i32 [ %tmp27, %if43 ], [ %pos.1, %else ] ; <i32> [#uses=1]
2677 %len.0 = add i32 %len.1, 1 ; <i32> [#uses=1]
2678 %tmp70 = add i32 %pos.0, 1 ; <i32> [#uses=1]
2679 br label %whilecond
2680
2681endwhile: ; preds = %endif33, %if24, %whilecond
2682 %.gc_mem76 = tail call i8* @_d_arraysetlengthiT(%object.TypeInfo* @_D11TypeInfo_Aa6__initZ, i32 %len.1, i32 %.len, i8* %.gc_mem) ; <i8*> [#uses=1]
2683 %insert = insertvalue %"byte[]" undef, i32 %len.1, 0 ; <%"byte[]"> [#uses=1]
2684 %insert82 = insertvalue %"byte[]" %insert, i8* %.gc_mem76, 1 ; <%"byte[]"> [#uses=1]
2685 ret %"byte[]" %insert82
2686}
2687
2688define fastcc %tango.net.SocketConduit.SocketConduit* @_D5tango3net3ftp9FtpClient13FTPConnection13getDataSocketMFZC5tango3net13SocketConduit13SocketConduit(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg) {
2689entry:
2690 %tmp63207 = alloca [64 x i8], align 1 ; <[64 x i8]*> [#uses=1]
2691 %__arrayArg139 = alloca [1 x %"byte[]"], align 8 ; <[1 x %"byte[]"]*> [#uses=1]
2692 %__arrayArg138 = alloca [3 x %"byte[]"], align 8 ; <[3 x %"byte[]"]*> [#uses=3]
2693 %.rettmp = alloca %tango.net.ftp.FtpClient.FtpResponse, align 8 ; <%tango.net.ftp.FtpClient.FtpResponse*> [#uses=1]
2694 %tmp145208 = alloca [64 x i8], align 1 ; <[64 x i8]*> [#uses=1]
2695 %foo = alloca [20 x i8], align 1 ; <[20 x i8]*> [#uses=12]
2696 %__arrayArg140 = alloca [7 x %"byte[]"], align 8 ; <[7 x %"byte[]"]*> [#uses=7]
2697 %__arrayArg141 = alloca [1 x %"byte[]"], align 8 ; <[1 x %"byte[]"]*> [#uses=1]
2698 %.rettmp204 = alloca %tango.net.ftp.FtpClient.FtpResponse, align 8 ; <%tango.net.ftp.FtpClient.FtpResponse*> [#uses=1]
2699 %tmp145208.sub = getelementptr [64 x i8]* %tmp145208, i32 0, i32 0 ; <i8*> [#uses=1]
2700 %tmp63207.sub = getelementptr [64 x i8]* %tmp63207, i32 0, i32 0 ; <i8*> [#uses=1]
2701 %tmp1 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 9 ; <%tango.net.SocketConduit.SocketConduit**> [#uses=1]
2702 %tmp2 = load %tango.net.SocketConduit.SocketConduit** %tmp1 ; <%tango.net.SocketConduit.SocketConduit*> [#uses=2]
2703 %tmp3 = icmp eq %tango.net.SocketConduit.SocketConduit* %tmp2, null ; <i1> [#uses=1]
2704 br i1 %tmp3, label %endif, label %if
2705
2706if: ; preds = %entry
2707 %tmp5 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 0 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl**> [#uses=1]
2708 %tmp6 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp5 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
2709 %"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]
2710 %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]
2711 call fastcc void %this.finishDataCommand(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %tango.net.SocketConduit.SocketConduit* %tmp2)
2712 br label %endif
2713
2714endif: ; preds = %if, %entry
2715 %tmp13 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 6, i32 0 ; <i32*> [#uses=1]
2716 %tmp14 = load i32* %tmp13 ; <i32> [#uses=1]
2717 switch i32 %tmp14, label %default15 [
2718 i32 1, label %endif.case_crit_edge
2719 i32 0, label %case25
2720 ]
2721
2722endif.case_crit_edge: ; preds = %endif
2723 %tmp21.pre = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 0 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl**> [#uses=1]
2724 br label %case
2725
2726default15: ; preds = %endif
2727 %tmp17 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 0 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl**> [#uses=2]
2728 %tmp18 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp17 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
2729 %"this.exception@vtbl" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp18, i32 0, i32 5 ; <void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")**> [#uses=1]
2730 %this.exception = load void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")** %"this.exception@vtbl", align 4 ; <void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")*> [#uses=1]
2731 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) })
2732 br label %case
2733
2734case: ; preds = %default15, %endif.case_crit_edge
2735 %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]
2736 %tmp22 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp21.pre-phi ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
2737 %"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]
2738 %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]
2739 %tmp24 = call fastcc %tango.net.SocketConduit.SocketConduit* %this.connectPassive(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg) ; <%tango.net.SocketConduit.SocketConduit*> [#uses=1]
2740 ret %tango.net.SocketConduit.SocketConduit* %tmp24
2741
2742case25: ; preds = %endif
2743 %tmp28 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 6, i32 1 ; <%tango.net.Socket.Address**> [#uses=1]
2744 %tmp29 = load %tango.net.Socket.Address** %tmp28 ; <%tango.net.Socket.Address*> [#uses=1]
2745 %tmp30 = bitcast %tango.net.Socket.Address* %tmp29 to %object.Object* ; <%object.Object*> [#uses=1]
2746 %tmp31 = call %object.Object* @_d_dynamic_cast(%object.Object* %tmp30, %object.ClassInfo* @_D5tango3net6Socket11IPv4Address7__ClassZ) nounwind readonly ; <%object.Object*> [#uses=3]
2747 %tmp32 = bitcast %object.Object* %tmp31 to %tango.net.Socket.IPv4Address* ; <%tango.net.Socket.IPv4Address*> [#uses=8]
2748 %.newclass_gc_alloc = call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango3net13SocketConduit13SocketConduit7__ClassZ) ; <i8*> [#uses=5]
2749 %.newclass_gc = bitcast i8* %.newclass_gc_alloc to %tango.net.SocketConduit.SocketConduit* ; <%tango.net.SocketConduit.SocketConduit*> [#uses=4]
2750 %vtbl = bitcast i8* %.newclass_gc_alloc to %tango.net.SocketConduit.SocketConduit.__vtbl** ; <%tango.net.SocketConduit.SocketConduit.__vtbl**> [#uses=3]
2751 store %tango.net.SocketConduit.SocketConduit.__vtbl* @_D5tango3net13SocketConduit13SocketConduit6__vtblZ, %tango.net.SocketConduit.SocketConduit.__vtbl** %vtbl
2752 %monitor = getelementptr i8* %.newclass_gc_alloc, i32 4 ; <i8*> [#uses=1]
2753 %0 = bitcast i8* %monitor to i8** ; <i8**> [#uses=1]
2754 store i8* null, i8** %0
2755 %tmp33 = getelementptr i8* %.newclass_gc_alloc, i32 8 ; <i8*> [#uses=1]
2756 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)
2757 %tmp1.i.i.i = getelementptr i8* %.newclass_gc_alloc, i32 28 ; <i8*> [#uses=1]
2758 %1 = bitcast i8* %tmp1.i.i.i to %tango.net.Socket.Socket** ; <%tango.net.Socket.Socket**> [#uses=1]
2759 %.newclass_gc_alloc.i.i.i = call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango3net6Socket6Socket7__ClassZ) ; <i8*> [#uses=7]
2760 %.newclass_gc.i.i.i = bitcast i8* %.newclass_gc_alloc.i.i.i to %tango.net.Socket.Socket* ; <%tango.net.Socket.Socket*> [#uses=2]
2761 %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]
2762 store %tango.net.Socket.Socket.__vtbl* @_D5tango3net6Socket6Socket6__vtblZ, %tango.net.Socket.Socket.__vtbl** %vtbl.i.i.i
2763 %monitor.i.i.i = getelementptr i8* %.newclass_gc_alloc.i.i.i, i32 4 ; <i8*> [#uses=1]
2764 %2 = bitcast i8* %monitor.i.i.i to i8** ; <i8**> [#uses=1]
2765 store i8* null, i8** %2
2766 %tmp2.i.i.i = getelementptr i8* %.newclass_gc_alloc.i.i.i, i32 8 ; <i8*> [#uses=1]
2767 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)
2768 %tmp1.i.i.i.i = getelementptr i8* %.newclass_gc_alloc.i.i.i, i32 12 ; <i8*> [#uses=1]
2769 %3 = bitcast i8* %tmp1.i.i.i.i to i32* ; <i32*> [#uses=1]
2770 store i32 1, i32* %3
2771 %tmp4.i.i.i.i = getelementptr i8* %.newclass_gc_alloc.i.i.i, i32 16 ; <i8*> [#uses=1]
2772 %4 = bitcast i8* %tmp4.i.i.i.i to i32* ; <i32*> [#uses=1]
2773 store i32 2, i32* %4
2774 %tmp7.i.i.i.i = getelementptr i8* %.newclass_gc_alloc.i.i.i, i32 20 ; <i8*> [#uses=1]
2775 %5 = bitcast i8* %tmp7.i.i.i.i to i32* ; <i32*> [#uses=1]
2776 store i32 6, i32* %5
2777 call fastcc void @_D5tango3net6Socket6Socket10initializeMFT5tango3net6Socket8socket_tZv(%tango.net.Socket.Socket* %.newclass_gc.i.i.i, i32 -1)
2778 store %tango.net.Socket.Socket* %.newclass_gc.i.i.i, %tango.net.Socket.Socket** %1
2779 %tmp40 = load %tango.net.SocketConduit.SocketConduit.__vtbl** %vtbl ; <%tango.net.SocketConduit.SocketConduit.__vtbl*> [#uses=1]
2780 %"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]
2781 %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]
2782 %tmp44 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 6, i32 2 ; <%tango.net.Socket.Address**> [#uses=1]
2783 %tmp45 = load %tango.net.Socket.Address** %tmp44 ; <%tango.net.Socket.Address*> [#uses=1]
2784 %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]
2785 %tmp49 = load %tango.net.SocketConduit.SocketConduit.__vtbl** %vtbl ; <%tango.net.SocketConduit.SocketConduit.__vtbl*> [#uses=1]
2786 %"listener.socket@vtbl" = getelementptr %tango.net.SocketConduit.SocketConduit.__vtbl* %tmp49, i32 0, i32 14 ; <%tango.net.Socket.Socket* (%tango.net.SocketConduit.SocketConduit*)**> [#uses=1]
2787 %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]
2788 %tmp51 = call fastcc %tango.net.Socket.Socket* %listener.socket(%tango.net.SocketConduit.SocketConduit* %.newclass_gc) ; <%tango.net.Socket.Socket*> [#uses=2]
2789 %tmp52 = getelementptr %tango.net.Socket.Socket* %tmp51, i32 0, i32 0 ; <%tango.net.Socket.Socket.__vtbl**> [#uses=1]
2790 %tmp53 = load %tango.net.Socket.Socket.__vtbl** %tmp52 ; <%tango.net.Socket.Socket.__vtbl*> [#uses=1]
2791 %"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]
2792 %"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]
2793 %tmp55 = call fastcc %tango.net.Socket.Socket* %"listener.socket().listen"(%tango.net.Socket.Socket* %tmp51, i32 32) ; <%tango.net.Socket.Socket*> [#uses=0]
2794 %tmp57 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 0 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl**> [#uses=5]
2795 %tmp58 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp57 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
2796 %"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]
2797 %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]
2798 %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]
2799 br i1 %tmp60, label %if61, label %else
2800
2801if61: ; preds = %case25
2802 %tmp66 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp57 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
2803 %"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]
2804 %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]
2805 %tmp68 = getelementptr [1 x %"byte[]"]* %__arrayArg139, i32 0, i32 0 ; <%"byte[]"*> [#uses=2]
2806 %tmp70 = insertvalue %"byte[]" { i32 64, i8* undef }, i8* %tmp63207.sub, 1 ; <%"byte[]"> [#uses=1]
2807 %tmp71 = getelementptr [3 x %"byte[]"]* %__arrayArg138, i32 0, i32 0 ; <%"byte[]"*> [#uses=2]
2808 store %"byte[]" { i32 9, i8* getelementptr ([10 x i8]* @.str124, i32 0, i32 0) }, %"byte[]"* %tmp71, align 8
2809 %tmp72 = getelementptr [3 x %"byte[]"]* %__arrayArg138, i32 0, i32 1 ; <%"byte[]"*> [#uses=1]
2810 %tmp74 = bitcast %object.Object* %tmp31 to %tango.net.Socket.IPv4Address.__vtbl** ; <%tango.net.Socket.IPv4Address.__vtbl**> [#uses=2]
2811 %tmp75 = load %tango.net.Socket.IPv4Address.__vtbl** %tmp74 ; <%tango.net.Socket.IPv4Address.__vtbl*> [#uses=1]
2812 %"data_addr.toAddrString@vtbl" = getelementptr %tango.net.Socket.IPv4Address.__vtbl* %tmp75, i32 0, i32 10 ; <%"byte[]" (%tango.net.Socket.IPv4Address*)**> [#uses=1]
2813 %data_addr.toAddrString = load %"byte[]" (%tango.net.Socket.IPv4Address*)** %"data_addr.toAddrString@vtbl", align 4 ; <%"byte[]" (%tango.net.Socket.IPv4Address*)*> [#uses=1]
2814 %tmp77 = call fastcc %"byte[]" %data_addr.toAddrString(%tango.net.Socket.IPv4Address* %tmp32) ; <%"byte[]"> [#uses=1]
2815 store %"byte[]" %tmp77, %"byte[]"* %tmp72, align 8
2816 %tmp78 = getelementptr [3 x %"byte[]"]* %__arrayArg138, i32 0, i32 2 ; <%"byte[]"*> [#uses=1]
2817 %tmp81 = load %tango.net.Socket.IPv4Address.__vtbl** %tmp74 ; <%tango.net.Socket.IPv4Address.__vtbl*> [#uses=1]
2818 %"data_addr.toPortString@vtbl" = getelementptr %tango.net.Socket.IPv4Address.__vtbl* %tmp81, i32 0, i32 11 ; <%"byte[]" (%tango.net.Socket.IPv4Address*)**> [#uses=1]
2819 %data_addr.toPortString = load %"byte[]" (%tango.net.Socket.IPv4Address*)** %"data_addr.toPortString@vtbl", align 4 ; <%"byte[]" (%tango.net.Socket.IPv4Address*)*> [#uses=1]
2820 %tmp83 = call fastcc %"byte[]" %data_addr.toPortString(%tango.net.Socket.IPv4Address* %tmp32) ; <%"byte[]"> [#uses=1]
2821 store %"byte[]" %tmp83, %"byte[]"* %tmp78, align 8
2822 %tmp85 = insertvalue %"char[][]" { i32 3, %"byte[]"* undef }, %"byte[]"* %tmp71, 1 ; <%"char[][]"> [#uses=1]
2823 %tmp86 = call fastcc %"byte[]" @_D5tango4text4Util13__T6layoutTaZ6layoutFAaAAaXAa(%"byte[]" %tmp70, %"char[][]" %tmp85) ; <%"byte[]"> [#uses=1]
2824 store %"byte[]" %tmp86, %"byte[]"* %tmp68, align 8
2825 %tmp88 = insertvalue %"char[][]" { i32 1, %"byte[]"* undef }, %"byte[]"* %tmp68, 1 ; <%"char[][]"> [#uses=1]
2826 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)
2827 %tmp91 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp57 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
2828 %"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]
2829 %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]
2830 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) })
2831 ret %tango.net.SocketConduit.SocketConduit* %.newclass_gc
2832
2833else: ; preds = %case25
2834 %tmp94 = bitcast %object.Object* %tmp31 to %tango.net.Socket.IPv4Address.__vtbl** ; <%tango.net.Socket.IPv4Address.__vtbl**> [#uses=6]
2835 %tmp95 = load %tango.net.Socket.IPv4Address.__vtbl** %tmp94 ; <%tango.net.Socket.IPv4Address.__vtbl*> [#uses=1]
2836 %"data_addr.addr@vtbl" = getelementptr %tango.net.Socket.IPv4Address.__vtbl* %tmp95, i32 0, i32 9 ; <i32 (%tango.net.Socket.IPv4Address*)**> [#uses=1]
2837 %data_addr.addr = load i32 (%tango.net.Socket.IPv4Address*)** %"data_addr.addr@vtbl", align 4 ; <i32 (%tango.net.Socket.IPv4Address*)*> [#uses=1]
2838 %tmp97 = call fastcc i32 %data_addr.addr(%tango.net.Socket.IPv4Address* %tmp32) ; <i32> [#uses=1]
2839 %tmp98 = lshr i32 %tmp97, 24 ; <i32> [#uses=1]
2840 %tmp102 = load %tango.net.Socket.IPv4Address.__vtbl** %tmp94 ; <%tango.net.Socket.IPv4Address.__vtbl*> [#uses=1]
2841 %"data_addr.addr@vtbl103" = getelementptr %tango.net.Socket.IPv4Address.__vtbl* %tmp102, i32 0, i32 9 ; <i32 (%tango.net.Socket.IPv4Address*)**> [#uses=1]
2842 %data_addr.addr105 = load i32 (%tango.net.Socket.IPv4Address*)** %"data_addr.addr@vtbl103", align 4 ; <i32 (%tango.net.Socket.IPv4Address*)*> [#uses=1]
2843 %tmp106 = call fastcc i32 %data_addr.addr105(%tango.net.Socket.IPv4Address* %tmp32) ; <i32> [#uses=1]
2844 %tmp107 = lshr i32 %tmp106, 16 ; <i32> [#uses=1]
2845 %tmp108 = and i32 %tmp107, 255 ; <i32> [#uses=1]
2846 %tmp111 = load %tango.net.Socket.IPv4Address.__vtbl** %tmp94 ; <%tango.net.Socket.IPv4Address.__vtbl*> [#uses=1]
2847 %"data_addr.addr@vtbl112" = getelementptr %tango.net.Socket.IPv4Address.__vtbl* %tmp111, i32 0, i32 9 ; <i32 (%tango.net.Socket.IPv4Address*)**> [#uses=1]
2848 %data_addr.addr114 = load i32 (%tango.net.Socket.IPv4Address*)** %"data_addr.addr@vtbl112", align 4 ; <i32 (%tango.net.Socket.IPv4Address*)*> [#uses=1]
2849 %tmp115 = call fastcc i32 %data_addr.addr114(%tango.net.Socket.IPv4Address* %tmp32) ; <i32> [#uses=1]
2850 %tmp116 = lshr i32 %tmp115, 8 ; <i32> [#uses=1]
2851 %tmp117 = and i32 %tmp116, 255 ; <i32> [#uses=1]
2852 %tmp120 = load %tango.net.Socket.IPv4Address.__vtbl** %tmp94 ; <%tango.net.Socket.IPv4Address.__vtbl*> [#uses=1]
2853 %"data_addr.addr@vtbl121" = getelementptr %tango.net.Socket.IPv4Address.__vtbl* %tmp120, i32 0, i32 9 ; <i32 (%tango.net.Socket.IPv4Address*)**> [#uses=1]
2854 %data_addr.addr123 = load i32 (%tango.net.Socket.IPv4Address*)** %"data_addr.addr@vtbl121", align 4 ; <i32 (%tango.net.Socket.IPv4Address*)*> [#uses=1]
2855 %tmp124 = call fastcc i32 %data_addr.addr123(%tango.net.Socket.IPv4Address* %tmp32) ; <i32> [#uses=1]
2856 %tmp126 = and i32 %tmp124, 255 ; <i32> [#uses=1]
2857 %tmp129 = load %tango.net.Socket.IPv4Address.__vtbl** %tmp94 ; <%tango.net.Socket.IPv4Address.__vtbl*> [#uses=1]
2858 %"data_addr.port@vtbl" = getelementptr %tango.net.Socket.IPv4Address.__vtbl* %tmp129, i32 0, i32 8 ; <i16 (%tango.net.Socket.IPv4Address*)**> [#uses=1]
2859 %data_addr.port = load i16 (%tango.net.Socket.IPv4Address*)** %"data_addr.port@vtbl", align 4 ; <i16 (%tango.net.Socket.IPv4Address*)*> [#uses=1]
2860 %tmp131 = call fastcc zeroext i16 %data_addr.port(%tango.net.Socket.IPv4Address* %tmp32) ; <i16> [#uses=1]
2861 %tmp132 = zext i16 %tmp131 to i32 ; <i32> [#uses=1]
2862 %tmp133210 = lshr i32 %tmp132, 8 ; <i32> [#uses=1]
2863 %tmp137 = load %tango.net.Socket.IPv4Address.__vtbl** %tmp94 ; <%tango.net.Socket.IPv4Address.__vtbl*> [#uses=1]
2864 %"data_addr.port@vtbl138" = getelementptr %tango.net.Socket.IPv4Address.__vtbl* %tmp137, i32 0, i32 8 ; <i16 (%tango.net.Socket.IPv4Address*)**> [#uses=1]
2865 %data_addr.port140 = load i16 (%tango.net.Socket.IPv4Address*)** %"data_addr.port@vtbl138", align 4 ; <i16 (%tango.net.Socket.IPv4Address*)*> [#uses=1]
2866 %tmp141 = call fastcc zeroext i16 %data_addr.port140(%tango.net.Socket.IPv4Address* %tmp32) ; <i16> [#uses=1]
2867 %tmp142 = zext i16 %tmp141 to i32 ; <i32> [#uses=1]
2868 %tmp144 = and i32 %tmp142, 255 ; <i32> [#uses=1]
2869 %tmp147 = insertvalue %"byte[]" { i32 64, i8* undef }, i8* %tmp145208.sub, 1 ; <%"byte[]"> [#uses=1]
2870 %tmp148 = getelementptr [7 x %"byte[]"]* %__arrayArg140, i32 0, i32 0 ; <%"byte[]"*> [#uses=2]
2871 store %"byte[]" { i32 17, i8* getelementptr ([18 x i8]* @.str126, i32 0, i32 0) }, %"byte[]"* %tmp148, align 8
2872 %tmp149 = getelementptr [7 x %"byte[]"]* %__arrayArg140, i32 0, i32 1 ; <%"byte[]"*> [#uses=1]
2873 %tmp49.i = load %"byte[]"* getelementptr ([8 x %nest.parseListLine]* @.constarray262, i32 0, i32 0, i32 2) ; <%"byte[]"> [#uses=1]
2874 %tmp49178.i = extractvalue %"byte[]" %tmp49.i, 1 ; <i8*> [#uses=1]
2875 %tmp52.i = load i32* getelementptr ([8 x %nest.parseListLine]* @.constarray262, i32 0, i32 0, i32 0), align 8 ; <i32> [#uses=2]
2876 %tmp56.i = getelementptr [20 x i8]* %foo, i32 0, i32 3 ; <i8*> [#uses=1]
2877 br i1 false, label %dowhile82.i, label %if59.i
2878
2879if59.i: ; preds = %else
2880 br label %dowhile.i
2881
2882dowhile.i: ; preds = %andand.i, %if59.i
2883 %p.0.i = phi i8* [ %tmp56.i, %if59.i ], [ %tmp65.i, %andand.i ] ; <i8*> [#uses=1]
2884 %v.0.i = phi i32 [ %tmp98, %if59.i ], [ %tmp75.i, %andand.i ] ; <i32> [#uses=2]
2885 %len.0.i = phi i32 [ 3, %if59.i ], [ %tmp78.i, %andand.i ] ; <i32> [#uses=3]
2886 %tmp65.i = getelementptr i8* %p.0.i, i32 -1 ; <i8*> [#uses=2]
2887 %tmp68.i = urem i32 %v.0.i, %tmp52.i ; <i32> [#uses=1]
2888 %tmp71.i = getelementptr i8* %tmp49178.i, i32 %tmp68.i ; <i8*> [#uses=1]
2889 %tmp72.i = load i8* %tmp71.i ; <i8> [#uses=1]
2890 store i8 %tmp72.i, i8* %tmp65.i
2891 %tmp75.i = udiv i32 %v.0.i, %tmp52.i ; <i32> [#uses=2]
2892 %tmp76.i = icmp eq i32 %tmp75.i, 0 ; <i1> [#uses=1]
2893 br i1 %tmp76.i, label %condtrue.i, label %andand.i
2894
2895andand.i: ; preds = %dowhile.i
2896 %tmp78.i = add i32 %len.0.i, -1 ; <i32> [#uses=2]
2897 %tmp79.i = icmp eq i32 %len.0.i, 1 ; <i1> [#uses=1]
2898 br i1 %tmp79.i, label %condtrue.i, label %dowhile.i
2899
2900dowhile82.i: ; preds = %andand100.i, %else
2901 br i1 undef, label %condtrue.i, label %andand100.i
2902
2903andand100.i: ; preds = %dowhile82.i
2904 br i1 undef, label %condtrue.i, label %dowhile82.i
2905
2906condtrue.i: ; preds = %andand100.i, %dowhile82.i, %andand.i, %dowhile.i
2907 %len.1.i = phi i32 [ %tmp78.i, %andand.i ], [ %len.0.i, %dowhile.i ], [ undef, %andand100.i ], [ undef, %dowhile82.i ] ; <i32> [#uses=2]
2908 %tmp112.i = load %"byte[]"* getelementptr ([8 x %nest.parseListLine]* @.constarray262, i32 0, i32 0, i32 1) ; <%"byte[]"> [#uses=2]
2909 %condtmp.0175.i = extractvalue %"byte[]" %tmp112.i, 0 ; <i32> [#uses=3]
2910 %tmp117.i = icmp ugt i32 %len.1.i, %condtmp.0175.i ; <i1> [#uses=1]
2911 br i1 %tmp117.i, label %if118.i, label %_D5tango4text7convert7Integer16__T9formatterTaZ9formatterFAalaaiZAa.exit
2912
2913if118.i: ; preds = %condtrue.i
2914 %condtmp.0176.i = extractvalue %"byte[]" %tmp112.i, 1 ; <i8*> [#uses=1]
2915 %tmp123.i = add i32 %condtmp.0175.i, 1 ; <i32> [#uses=1]
2916 %tmp124.i = sub i32 %len.1.i, %tmp123.i ; <i32> [#uses=2]
2917 %tmp156.i = getelementptr [20 x i8]* %foo, i32 0, i32 %tmp124.i ; <i8*> [#uses=2]
2918 call void @llvm.memcpy.i32(i8* %tmp156.i, i8* %condtmp.0176.i, i32 %condtmp.0175.i, i32 1)
2919 %tmp170.i = sub i32 3, %tmp124.i ; <i32> [#uses=1]
2920 %tmp171.i = insertvalue %"byte[]" undef, i32 %tmp170.i, 0 ; <%"byte[]"> [#uses=1]
2921 %tmp172.i = insertvalue %"byte[]" %tmp171.i, i8* %tmp156.i, 1 ; <%"byte[]"> [#uses=1]
2922 br label %_D5tango4text7convert7Integer16__T9formatterTaZ9formatterFAalaaiZAa.exit
2923
2924_D5tango4text7convert7Integer16__T9formatterTaZ9formatterFAalaaiZAa.exit: ; preds = %if118.i, %condtrue.i
2925 %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]
2926 store %"byte[]" %tmp6.i.i408, %"byte[]"* %tmp149, align 8
2927 %tmp155 = getelementptr [7 x %"byte[]"]* %__arrayArg140, i32 0, i32 2 ; <%"byte[]"*> [#uses=1]
2928 %tmp49.i423 = load %"byte[]"* getelementptr ([8 x %nest.parseListLine]* @.constarray262, i32 0, i32 0, i32 2) ; <%"byte[]"> [#uses=1]
2929 %tmp49178.i424 = extractvalue %"byte[]" %tmp49.i423, 1 ; <i8*> [#uses=1]
2930 %tmp52.i426 = load i32* getelementptr ([8 x %nest.parseListLine]* @.constarray262, i32 0, i32 0, i32 0), align 8 ; <i32> [#uses=2]
2931 %tmp56.i427 = getelementptr [20 x i8]* %foo, i32 0, i32 6 ; <i8*> [#uses=1]
2932 br i1 false, label %dowhile82.i456, label %if59.i431
2933
2934if59.i431: ; preds = %_D5tango4text7convert7Integer16__T9formatterTaZ9formatterFAalaaiZAa.exit
2935 br label %dowhile.i441
2936
2937dowhile.i441: ; preds = %andand.i444, %if59.i431
2938 %p.0.i432 = phi i8* [ %tmp56.i427, %if59.i431 ], [ %tmp65.i435, %andand.i444 ] ; <i8*> [#uses=1]
2939 %v.0.i433 = phi i32 [ %tmp108, %if59.i431 ], [ %tmp75.i439, %andand.i444 ] ; <i32> [#uses=2]
2940 %len.0.i434 = phi i32 [ 3, %if59.i431 ], [ %tmp78.i442, %andand.i444 ] ; <i32> [#uses=3]
2941 %tmp65.i435 = getelementptr i8* %p.0.i432, i32 -1 ; <i8*> [#uses=2]
2942 %tmp68.i436 = urem i32 %v.0.i433, %tmp52.i426 ; <i32> [#uses=1]
2943 %tmp71.i437 = getelementptr i8* %tmp49178.i424, i32 %tmp68.i436 ; <i8*> [#uses=1]
2944 %tmp72.i438 = load i8* %tmp71.i437 ; <i8> [#uses=1]
2945 store i8 %tmp72.i438, i8* %tmp65.i435
2946 %tmp75.i439 = udiv i32 %v.0.i433, %tmp52.i426 ; <i32> [#uses=2]
2947 %tmp76.i440 = icmp eq i32 %tmp75.i439, 0 ; <i1> [#uses=1]
2948 br i1 %tmp76.i440, label %condtrue.i466, label %andand.i444
2949
2950andand.i444: ; preds = %dowhile.i441
2951 %tmp78.i442 = add i32 %len.0.i434, -1 ; <i32> [#uses=2]
2952 %tmp79.i443 = icmp eq i32 %len.0.i434, 1 ; <i1> [#uses=1]
2953 br i1 %tmp79.i443, label %condtrue.i466, label %dowhile.i441
2954
2955dowhile82.i456: ; preds = %andand100.i459, %_D5tango4text7convert7Integer16__T9formatterTaZ9formatterFAalaaiZAa.exit
2956 br i1 undef, label %condtrue.i466, label %andand100.i459
2957
2958andand100.i459: ; preds = %dowhile82.i456
2959 br i1 undef, label %condtrue.i466, label %dowhile82.i456
2960
2961condtrue.i466: ; preds = %andand100.i459, %dowhile82.i456, %andand.i444, %dowhile.i441
2962 %len.1.i461 = phi i32 [ %tmp78.i442, %andand.i444 ], [ %len.0.i434, %dowhile.i441 ], [ undef, %andand100.i459 ], [ undef, %dowhile82.i456 ] ; <i32> [#uses=2]
2963 %tmp112.i465 = load %"byte[]"* getelementptr ([8 x %nest.parseListLine]* @.constarray262, i32 0, i32 0, i32 1) ; <%"byte[]"> [#uses=2]
2964 %condtmp.0175.i468 = extractvalue %"byte[]" %tmp112.i465, 0 ; <i32> [#uses=3]
2965 %tmp117.i470 = icmp ugt i32 %len.1.i461, %condtmp.0175.i468 ; <i1> [#uses=1]
2966 br i1 %tmp117.i470, label %if118.i474, label %_D5tango4text7convert7Integer16__T9formatterTaZ9formatterFAalaaiZAa.exit482
2967
2968if118.i474: ; preds = %condtrue.i466
2969 %condtmp.0176.i469 = extractvalue %"byte[]" %tmp112.i465, 1 ; <i8*> [#uses=1]
2970 %tmp123.i472 = add i32 %condtmp.0175.i468, 1 ; <i32> [#uses=1]
2971 %tmp124.i473 = sub i32 %len.1.i461, %tmp123.i472 ; <i32> [#uses=2]
2972 %tmp157.sum788 = add i32 %tmp124.i473, 3 ; <i32> [#uses=1]
2973 %tmp156.i476 = getelementptr [20 x i8]* %foo, i32 0, i32 %tmp157.sum788 ; <i8*> [#uses=2]
2974 call void @llvm.memcpy.i32(i8* %tmp156.i476, i8* %condtmp.0176.i469, i32 %condtmp.0175.i468, i32 1)
2975 %tmp170.i477 = sub i32 3, %tmp124.i473 ; <i32> [#uses=1]
2976 %tmp171.i478 = insertvalue %"byte[]" undef, i32 %tmp170.i477, 0 ; <%"byte[]"> [#uses=1]
2977 %tmp172.i479 = insertvalue %"byte[]" %tmp171.i478, i8* %tmp156.i476, 1 ; <%"byte[]"> [#uses=1]
2978 br label %_D5tango4text7convert7Integer16__T9formatterTaZ9formatterFAalaaiZAa.exit482
2979
2980_D5tango4text7convert7Integer16__T9formatterTaZ9formatterFAalaaiZAa.exit482: ; preds = %if118.i474, %condtrue.i466
2981 %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]
2982 store %"byte[]" %tmp6.i.i248483, %"byte[]"* %tmp155, align 8
2983 %tmp161 = getelementptr [7 x %"byte[]"]* %__arrayArg140, i32 0, i32 3 ; <%"byte[]"*> [#uses=1]
2984 %tmp49.i498 = load %"byte[]"* getelementptr ([8 x %nest.parseListLine]* @.constarray262, i32 0, i32 0, i32 2) ; <%"byte[]"> [#uses=1]
2985 %tmp49178.i499 = extractvalue %"byte[]" %tmp49.i498, 1 ; <i8*> [#uses=1]
2986 %tmp52.i501 = load i32* getelementptr ([8 x %nest.parseListLine]* @.constarray262, i32 0, i32 0, i32 0), align 8 ; <i32> [#uses=2]
2987 %tmp56.i502 = getelementptr [20 x i8]* %foo, i32 0, i32 9 ; <i8*> [#uses=1]
2988 br i1 false, label %dowhile82.i531, label %if59.i506
2989
2990if59.i506: ; preds = %_D5tango4text7convert7Integer16__T9formatterTaZ9formatterFAalaaiZAa.exit482
2991 br label %dowhile.i516
2992
2993dowhile.i516: ; preds = %andand.i519, %if59.i506
2994 %p.0.i507 = phi i8* [ %tmp56.i502, %if59.i506 ], [ %tmp65.i510, %andand.i519 ] ; <i8*> [#uses=1]
2995 %v.0.i508 = phi i32 [ %tmp117, %if59.i506 ], [ %tmp75.i514, %andand.i519 ] ; <i32> [#uses=2]
2996 %len.0.i509 = phi i32 [ 3, %if59.i506 ], [ %tmp78.i517, %andand.i519 ] ; <i32> [#uses=3]
2997 %tmp65.i510 = getelementptr i8* %p.0.i507, i32 -1 ; <i8*> [#uses=2]
2998 %tmp68.i511 = urem i32 %v.0.i508, %tmp52.i501 ; <i32> [#uses=1]
2999 %tmp71.i512 = getelementptr i8* %tmp49178.i499, i32 %tmp68.i511 ; <i8*> [#uses=1]
3000 %tmp72.i513 = load i8* %tmp71.i512 ; <i8> [#uses=1]
3001 store i8 %tmp72.i513, i8* %tmp65.i510
3002 %tmp75.i514 = udiv i32 %v.0.i508, %tmp52.i501 ; <i32> [#uses=2]
3003 %tmp76.i515 = icmp eq i32 %tmp75.i514, 0 ; <i1> [#uses=1]
3004 br i1 %tmp76.i515, label %condtrue.i541, label %andand.i519
3005
3006andand.i519: ; preds = %dowhile.i516
3007 %tmp78.i517 = add i32 %len.0.i509, -1 ; <i32> [#uses=2]
3008 %tmp79.i518 = icmp eq i32 %len.0.i509, 1 ; <i1> [#uses=1]
3009 br i1 %tmp79.i518, label %condtrue.i541, label %dowhile.i516
3010
3011dowhile82.i531: ; preds = %andand100.i534, %_D5tango4text7convert7Integer16__T9formatterTaZ9formatterFAalaaiZAa.exit482
3012 br i1 undef, label %condtrue.i541, label %andand100.i534
3013
3014andand100.i534: ; preds = %dowhile82.i531
3015 br i1 undef, label %condtrue.i541, label %dowhile82.i531
3016
3017condtrue.i541: ; preds = %andand100.i534, %dowhile82.i531, %andand.i519, %dowhile.i516
3018 %len.1.i536 = phi i32 [ %tmp78.i517, %andand.i519 ], [ %len.0.i509, %dowhile.i516 ], [ undef, %andand100.i534 ], [ undef, %dowhile82.i531 ] ; <i32> [#uses=2]
3019 %tmp112.i540 = load %"byte[]"* getelementptr ([8 x %nest.parseListLine]* @.constarray262, i32 0, i32 0, i32 1) ; <%"byte[]"> [#uses=2]
3020 %condtmp.0175.i543 = extractvalue %"byte[]" %tmp112.i540, 0 ; <i32> [#uses=3]
3021 %tmp117.i545 = icmp ugt i32 %len.1.i536, %condtmp.0175.i543 ; <i1> [#uses=1]
3022 br i1 %tmp117.i545, label %if118.i549, label %_D5tango4text7convert7Integer16__T9formatterTaZ9formatterFAalaaiZAa.exit557
3023
3024if118.i549: ; preds = %condtrue.i541
3025 %condtmp.0176.i544 = extractvalue %"byte[]" %tmp112.i540, 1 ; <i8*> [#uses=1]
3026 %tmp123.i547 = add i32 %condtmp.0175.i543, 1 ; <i32> [#uses=1]
3027 %tmp124.i548 = sub i32 %len.1.i536, %tmp123.i547 ; <i32> [#uses=2]
3028 %tmp163.sum787 = add i32 %tmp124.i548, 6 ; <i32> [#uses=1]
3029 %tmp156.i551 = getelementptr [20 x i8]* %foo, i32 0, i32 %tmp163.sum787 ; <i8*> [#uses=2]
3030 call void @llvm.memcpy.i32(i8* %tmp156.i551, i8* %condtmp.0176.i544, i32 %condtmp.0175.i543, i32 1)
3031 %tmp170.i552 = sub i32 3, %tmp124.i548 ; <i32> [#uses=1]
3032 %tmp171.i553 = insertvalue %"byte[]" undef, i32 %tmp170.i552, 0 ; <%"byte[]"> [#uses=1]
3033 %tmp172.i554 = insertvalue %"byte[]" %tmp171.i553, i8* %tmp156.i551, 1 ; <%"byte[]"> [#uses=1]
3034 br label %_D5tango4text7convert7Integer16__T9formatterTaZ9formatterFAalaaiZAa.exit557
3035
3036_D5tango4text7convert7Integer16__T9formatterTaZ9formatterFAalaaiZAa.exit557: ; preds = %if118.i549, %condtrue.i541
3037 %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]
3038 store %"byte[]" %tmp6.i.i286558, %"byte[]"* %tmp161, align 8
3039 %tmp167 = getelementptr [7 x %"byte[]"]* %__arrayArg140, i32 0, i32 4 ; <%"byte[]"*> [#uses=1]
3040 %tmp49.i573 = load %"byte[]"* getelementptr ([8 x %nest.parseListLine]* @.constarray262, i32 0, i32 0, i32 2) ; <%"byte[]"> [#uses=1]
3041 %tmp49178.i574 = extractvalue %"byte[]" %tmp49.i573, 1 ; <i8*> [#uses=1]
3042 %tmp52.i576 = load i32* getelementptr ([8 x %nest.parseListLine]* @.constarray262, i32 0, i32 0, i32 0), align 8 ; <i32> [#uses=2]
3043 %tmp56.i577 = getelementptr [20 x i8]* %foo, i32 0, i32 12 ; <i8*> [#uses=1]
3044 br i1 false, label %dowhile82.i606, label %if59.i581
3045
3046if59.i581: ; preds = %_D5tango4text7convert7Integer16__T9formatterTaZ9formatterFAalaaiZAa.exit557
3047 br label %dowhile.i591
3048
3049dowhile.i591: ; preds = %andand.i594, %if59.i581
3050 %p.0.i582 = phi i8* [ %tmp56.i577, %if59.i581 ], [ %tmp65.i585, %andand.i594 ] ; <i8*> [#uses=1]
3051 %v.0.i583 = phi i32 [ %tmp126, %if59.i581 ], [ %tmp75.i589, %andand.i594 ] ; <i32> [#uses=2]
3052 %len.0.i584 = phi i32 [ 3, %if59.i581 ], [ %tmp78.i592, %andand.i594 ] ; <i32> [#uses=3]
3053 %tmp65.i585 = getelementptr i8* %p.0.i582, i32 -1 ; <i8*> [#uses=2]
3054 %tmp68.i586 = urem i32 %v.0.i583, %tmp52.i576 ; <i32> [#uses=1]
3055 %tmp71.i587 = getelementptr i8* %tmp49178.i574, i32 %tmp68.i586 ; <i8*> [#uses=1]
3056 %tmp72.i588 = load i8* %tmp71.i587 ; <i8> [#uses=1]
3057 store i8 %tmp72.i588, i8* %tmp65.i585
3058 %tmp75.i589 = udiv i32 %v.0.i583, %tmp52.i576 ; <i32> [#uses=2]
3059 %tmp76.i590 = icmp eq i32 %tmp75.i589, 0 ; <i1> [#uses=1]
3060 br i1 %tmp76.i590, label %condtrue.i616, label %andand.i594
3061
3062andand.i594: ; preds = %dowhile.i591
3063 %tmp78.i592 = add i32 %len.0.i584, -1 ; <i32> [#uses=2]
3064 %tmp79.i593 = icmp eq i32 %len.0.i584, 1 ; <i1> [#uses=1]
3065 br i1 %tmp79.i593, label %condtrue.i616, label %dowhile.i591
3066
3067dowhile82.i606: ; preds = %andand100.i609, %_D5tango4text7convert7Integer16__T9formatterTaZ9formatterFAalaaiZAa.exit557
3068 br i1 undef, label %condtrue.i616, label %andand100.i609
3069
3070andand100.i609: ; preds = %dowhile82.i606
3071 br i1 undef, label %condtrue.i616, label %dowhile82.i606
3072
3073condtrue.i616: ; preds = %andand100.i609, %dowhile82.i606, %andand.i594, %dowhile.i591
3074 %len.1.i611 = phi i32 [ %tmp78.i592, %andand.i594 ], [ %len.0.i584, %dowhile.i591 ], [ undef, %andand100.i609 ], [ undef, %dowhile82.i606 ] ; <i32> [#uses=2]
3075 %tmp112.i615 = load %"byte[]"* getelementptr ([8 x %nest.parseListLine]* @.constarray262, i32 0, i32 0, i32 1) ; <%"byte[]"> [#uses=2]
3076 %condtmp.0175.i618 = extractvalue %"byte[]" %tmp112.i615, 0 ; <i32> [#uses=3]
3077 %tmp117.i620 = icmp ugt i32 %len.1.i611, %condtmp.0175.i618 ; <i1> [#uses=1]
3078 br i1 %tmp117.i620, label %if118.i624, label %_D5tango4text7convert7Integer16__T9formatterTaZ9formatterFAalaaiZAa.exit632
3079
3080if118.i624: ; preds = %condtrue.i616
3081 %condtmp.0176.i619 = extractvalue %"byte[]" %tmp112.i615, 1 ; <i8*> [#uses=1]
3082 %tmp123.i622 = add i32 %condtmp.0175.i618, 1 ; <i32> [#uses=1]
3083 %tmp124.i623 = sub i32 %len.1.i611, %tmp123.i622 ; <i32> [#uses=2]
3084 %tmp169.sum786 = add i32 %tmp124.i623, 9 ; <i32> [#uses=1]
3085 %tmp156.i626 = getelementptr [20 x i8]* %foo, i32 0, i32 %tmp169.sum786 ; <i8*> [#uses=2]
3086 call void @llvm.memcpy.i32(i8* %tmp156.i626, i8* %condtmp.0176.i619, i32 %condtmp.0175.i618, i32 1)
3087 %tmp170.i627 = sub i32 3, %tmp124.i623 ; <i32> [#uses=1]
3088 %tmp171.i628 = insertvalue %"byte[]" undef, i32 %tmp170.i627, 0 ; <%"byte[]"> [#uses=1]
3089 %tmp172.i629 = insertvalue %"byte[]" %tmp171.i628, i8* %tmp156.i626, 1 ; <%"byte[]"> [#uses=1]
3090 br label %_D5tango4text7convert7Integer16__T9formatterTaZ9formatterFAalaaiZAa.exit632
3091
3092_D5tango4text7convert7Integer16__T9formatterTaZ9formatterFAalaaiZAa.exit632: ; preds = %if118.i624, %condtrue.i616
3093 %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]
3094 store %"byte[]" %tmp6.i.i400633, %"byte[]"* %tmp167, align 8
3095 %tmp173 = getelementptr [7 x %"byte[]"]* %__arrayArg140, i32 0, i32 5 ; <%"byte[]"*> [#uses=1]
3096 %tmp49.i723 = load %"byte[]"* getelementptr ([8 x %nest.parseListLine]* @.constarray262, i32 0, i32 0, i32 2) ; <%"byte[]"> [#uses=1]
3097 %tmp49178.i724 = extractvalue %"byte[]" %tmp49.i723, 1 ; <i8*> [#uses=1]
3098 %tmp52.i726 = load i32* getelementptr ([8 x %nest.parseListLine]* @.constarray262, i32 0, i32 0, i32 0), align 8 ; <i32> [#uses=2]
3099 %tmp56.i727 = getelementptr [20 x i8]* %foo, i32 0, i32 15 ; <i8*> [#uses=1]
3100 br i1 false, label %dowhile82.i756, label %if59.i731
3101
3102if59.i731: ; preds = %_D5tango4text7convert7Integer16__T9formatterTaZ9formatterFAalaaiZAa.exit632
3103 br label %dowhile.i741
3104
3105dowhile.i741: ; preds = %andand.i744, %if59.i731
3106 %p.0.i732 = phi i8* [ %tmp56.i727, %if59.i731 ], [ %tmp65.i735, %andand.i744 ] ; <i8*> [#uses=1]
3107 %v.0.i733 = phi i32 [ %tmp133210, %if59.i731 ], [ %tmp75.i739, %andand.i744 ] ; <i32> [#uses=2]
3108 %len.0.i734 = phi i32 [ 3, %if59.i731 ], [ %tmp78.i742, %andand.i744 ] ; <i32> [#uses=3]
3109 %tmp65.i735 = getelementptr i8* %p.0.i732, i32 -1 ; <i8*> [#uses=2]
3110 %tmp68.i736 = urem i32 %v.0.i733, %tmp52.i726 ; <i32> [#uses=1]
3111 %tmp71.i737 = getelementptr i8* %tmp49178.i724, i32 %tmp68.i736 ; <i8*> [#uses=1]
3112 %tmp72.i738 = load i8* %tmp71.i737 ; <i8> [#uses=1]
3113 store i8 %tmp72.i738, i8* %tmp65.i735
3114 %tmp75.i739 = udiv i32 %v.0.i733, %tmp52.i726 ; <i32> [#uses=2]
3115 %tmp76.i740 = icmp eq i32 %tmp75.i739, 0 ; <i1> [#uses=1]
3116 br i1 %tmp76.i740, label %condtrue.i766, label %andand.i744
3117
3118andand.i744: ; preds = %dowhile.i741
3119 %tmp78.i742 = add i32 %len.0.i734, -1 ; <i32> [#uses=2]
3120 %tmp79.i743 = icmp eq i32 %len.0.i734, 1 ; <i1> [#uses=1]
3121 br i1 %tmp79.i743, label %condtrue.i766, label %dowhile.i741
3122
3123dowhile82.i756: ; preds = %andand100.i759, %_D5tango4text7convert7Integer16__T9formatterTaZ9formatterFAalaaiZAa.exit632
3124 br i1 undef, label %condtrue.i766, label %andand100.i759
3125
3126andand100.i759: ; preds = %dowhile82.i756
3127 br i1 undef, label %condtrue.i766, label %dowhile82.i756
3128
3129condtrue.i766: ; preds = %andand100.i759, %dowhile82.i756, %andand.i744, %dowhile.i741
3130 %len.1.i761 = phi i32 [ %tmp78.i742, %andand.i744 ], [ %len.0.i734, %dowhile.i741 ], [ undef, %andand100.i759 ], [ undef, %dowhile82.i756 ] ; <i32> [#uses=2]
3131 %tmp112.i765 = load %"byte[]"* getelementptr ([8 x %nest.parseListLine]* @.constarray262, i32 0, i32 0, i32 1) ; <%"byte[]"> [#uses=2]
3132 %condtmp.0175.i768 = extractvalue %"byte[]" %tmp112.i765, 0 ; <i32> [#uses=3]
3133 %tmp117.i770 = icmp ugt i32 %len.1.i761, %condtmp.0175.i768 ; <i1> [#uses=1]
3134 br i1 %tmp117.i770, label %if118.i774, label %_D5tango4text7convert7Integer16__T9formatterTaZ9formatterFAalaaiZAa.exit782
3135
3136if118.i774: ; preds = %condtrue.i766
3137 %condtmp.0176.i769 = extractvalue %"byte[]" %tmp112.i765, 1 ; <i8*> [#uses=1]
3138 %tmp123.i772 = add i32 %condtmp.0175.i768, 1 ; <i32> [#uses=1]
3139 %tmp124.i773 = sub i32 %len.1.i761, %tmp123.i772 ; <i32> [#uses=2]
3140 %tmp175.sum785 = add i32 %tmp124.i773, 12 ; <i32> [#uses=1]
3141 %tmp156.i776 = getelementptr [20 x i8]* %foo, i32 0, i32 %tmp175.sum785 ; <i8*> [#uses=2]
3142 call void @llvm.memcpy.i32(i8* %tmp156.i776, i8* %condtmp.0176.i769, i32 %condtmp.0175.i768, i32 1)
3143 %tmp170.i777 = sub i32 3, %tmp124.i773 ; <i32> [#uses=1]
3144 %tmp171.i778 = insertvalue %"byte[]" undef, i32 %tmp170.i777, 0 ; <%"byte[]"> [#uses=1]
3145 %tmp172.i779 = insertvalue %"byte[]" %tmp171.i778, i8* %tmp156.i776, 1 ; <%"byte[]"> [#uses=1]
3146 br label %_D5tango4text7convert7Integer16__T9formatterTaZ9formatterFAalaaiZAa.exit782
3147
3148_D5tango4text7convert7Integer16__T9formatterTaZ9formatterFAalaaiZAa.exit782: ; preds = %if118.i774, %condtrue.i766
3149 %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]
3150 store %"byte[]" %tmp6.i.i362783, %"byte[]"* %tmp173, align 8
3151 %tmp179 = getelementptr [7 x %"byte[]"]* %__arrayArg140, i32 0, i32 6 ; <%"byte[]"*> [#uses=1]
3152 %tmp49.i648 = load %"byte[]"* getelementptr ([8 x %nest.parseListLine]* @.constarray262, i32 0, i32 0, i32 2) ; <%"byte[]"> [#uses=1]
3153 %tmp49178.i649 = extractvalue %"byte[]" %tmp49.i648, 1 ; <i8*> [#uses=1]
3154 %tmp52.i651 = load i32* getelementptr ([8 x %nest.parseListLine]* @.constarray262, i32 0, i32 0, i32 0), align 8 ; <i32> [#uses=2]
3155 %tmp56.i652 = getelementptr [20 x i8]* %foo, i32 0, i32 18 ; <i8*> [#uses=1]
3156 br i1 false, label %dowhile82.i681, label %if59.i656
3157
3158if59.i656: ; preds = %_D5tango4text7convert7Integer16__T9formatterTaZ9formatterFAalaaiZAa.exit782
3159 br label %dowhile.i666
3160
3161dowhile.i666: ; preds = %andand.i669, %if59.i656
3162 %p.0.i657 = phi i8* [ %tmp56.i652, %if59.i656 ], [ %tmp65.i660, %andand.i669 ] ; <i8*> [#uses=1]
3163 %v.0.i658 = phi i32 [ %tmp144, %if59.i656 ], [ %tmp75.i664, %andand.i669 ] ; <i32> [#uses=2]
3164 %len.0.i659 = phi i32 [ 3, %if59.i656 ], [ %tmp78.i667, %andand.i669 ] ; <i32> [#uses=3]
3165 %tmp65.i660 = getelementptr i8* %p.0.i657, i32 -1 ; <i8*> [#uses=2]
3166 %tmp68.i661 = urem i32 %v.0.i658, %tmp52.i651 ; <i32> [#uses=1]
3167 %tmp71.i662 = getelementptr i8* %tmp49178.i649, i32 %tmp68.i661 ; <i8*> [#uses=1]
3168 %tmp72.i663 = load i8* %tmp71.i662 ; <i8> [#uses=1]
3169 store i8 %tmp72.i663, i8* %tmp65.i660
3170 %tmp75.i664 = udiv i32 %v.0.i658, %tmp52.i651 ; <i32> [#uses=2]
3171 %tmp76.i665 = icmp eq i32 %tmp75.i664, 0 ; <i1> [#uses=1]
3172 br i1 %tmp76.i665, label %condtrue.i691, label %andand.i669
3173
3174andand.i669: ; preds = %dowhile.i666
3175 %tmp78.i667 = add i32 %len.0.i659, -1 ; <i32> [#uses=2]
3176 %tmp79.i668 = icmp eq i32 %len.0.i659, 1 ; <i1> [#uses=1]
3177 br i1 %tmp79.i668, label %condtrue.i691, label %dowhile.i666
3178
3179dowhile82.i681: ; preds = %andand100.i684, %_D5tango4text7convert7Integer16__T9formatterTaZ9formatterFAalaaiZAa.exit782
3180 br i1 undef, label %condtrue.i691, label %andand100.i684
3181
3182andand100.i684: ; preds = %dowhile82.i681
3183 br i1 undef, label %condtrue.i691, label %dowhile82.i681
3184
3185condtrue.i691: ; preds = %andand100.i684, %dowhile82.i681, %andand.i669, %dowhile.i666
3186 %len.1.i686 = phi i32 [ %tmp78.i667, %andand.i669 ], [ %len.0.i659, %dowhile.i666 ], [ undef, %andand100.i684 ], [ undef, %dowhile82.i681 ] ; <i32> [#uses=2]
3187 %tmp112.i690 = load %"byte[]"* getelementptr ([8 x %nest.parseListLine]* @.constarray262, i32 0, i32 0, i32 1) ; <%"byte[]"> [#uses=2]
3188 %condtmp.0175.i693 = extractvalue %"byte[]" %tmp112.i690, 0 ; <i32> [#uses=3]
3189 %tmp117.i695 = icmp ugt i32 %len.1.i686, %condtmp.0175.i693 ; <i1> [#uses=1]
3190 br i1 %tmp117.i695, label %if118.i699, label %_D5tango4text7convert7Integer16__T9formatterTaZ9formatterFAalaaiZAa.exit707
3191
3192if118.i699: ; preds = %condtrue.i691
3193 %condtmp.0176.i694 = extractvalue %"byte[]" %tmp112.i690, 1 ; <i8*> [#uses=1]
3194 %tmp123.i697 = add i32 %condtmp.0175.i693, 1 ; <i32> [#uses=1]
3195 %tmp124.i698 = sub i32 %len.1.i686, %tmp123.i697 ; <i32> [#uses=2]
3196 %tmp181.sum784 = add i32 %tmp124.i698, 15 ; <i32> [#uses=1]
3197 %tmp156.i701 = getelementptr [20 x i8]* %foo, i32 0, i32 %tmp181.sum784 ; <i8*> [#uses=2]
3198 call void @llvm.memcpy.i32(i8* %tmp156.i701, i8* %condtmp.0176.i694, i32 %condtmp.0175.i693, i32 1)
3199 %tmp170.i702 = sub i32 3, %tmp124.i698 ; <i32> [#uses=1]
3200 %tmp171.i703 = insertvalue %"byte[]" undef, i32 %tmp170.i702, 0 ; <%"byte[]"> [#uses=1]
3201 %tmp172.i704 = insertvalue %"byte[]" %tmp171.i703, i8* %tmp156.i701, 1 ; <%"byte[]"> [#uses=1]
3202 br label %_D5tango4text7convert7Integer16__T9formatterTaZ9formatterFAalaaiZAa.exit707
3203
3204_D5tango4text7convert7Integer16__T9formatterTaZ9formatterFAalaaiZAa.exit707: ; preds = %if118.i699, %condtrue.i691
3205 %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]
3206 store %"byte[]" %tmp6.i.i324708, %"byte[]"* %tmp179, align 8
3207 %tmp186 = insertvalue %"char[][]" { i32 7, %"byte[]"* undef }, %"byte[]"* %tmp148, 1 ; <%"char[][]"> [#uses=1]
3208 %tmp187 = call fastcc %"byte[]" @_D5tango4text4Util13__T6layoutTaZ6layoutFAaAAaXAa(%"byte[]" %tmp147, %"char[][]" %tmp186) ; <%"byte[]"> [#uses=1]
3209 %tmp190 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp57 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
3210 %"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]
3211 %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]
3212 %tmp194 = getelementptr [1 x %"byte[]"]* %__arrayArg141, i32 0, i32 0 ; <%"byte[]"*> [#uses=2]
3213 store %"byte[]" %tmp187, %"byte[]"* %tmp194, align 8
3214 %tmp197 = insertvalue %"char[][]" { i32 1, %"byte[]"* undef }, %"byte[]"* %tmp194, 1 ; <%"char[][]"> [#uses=1]
3215 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)
3216 %tmp200 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp57 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
3217 %"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]
3218 %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]
3219 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) })
3220 ret %tango.net.SocketConduit.SocketConduit* %.newclass_gc
3221}
3222
3223define fastcc %tango.net.SocketConduit.SocketConduit* @_D5tango3net3ftp9FtpClient13FTPConnection14connectPassiveMFZC5tango3net13SocketConduit13SocketConduit(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg) {
3224entry:
3225 %.rettmp = alloca %tango.net.ftp.FtpClient.FtpResponse, align 8 ; <%tango.net.ftp.FtpClient.FtpResponse*> [#uses=3]
3226 %.rettmp70 = alloca %tango.net.ftp.FtpClient.FtpResponse, align 8 ; <%tango.net.ftp.FtpClient.FtpResponse*> [#uses=3]
3227 %.rettmp161 = alloca %tango.net.ftp.FtpClient.FtpResponse, align 8 ; <%tango.net.ftp.FtpClient.FtpResponse*> [#uses=3]
3228 %tmp1 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 0 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl**> [#uses=6]
3229 %tmp2 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp1 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
3230 %"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]
3231 %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]
3232 %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]
3233 %tmp7 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp1 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=2]
3234 br i1 %tmp4, label %if, label %else
3235
3236if: ; preds = %entry
3237 %"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]
3238 %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]
3239 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)
3240 %tmp11 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp1 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
3241 %"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]
3242 %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]
3243 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) })
3244 %.rettmp.1.0 = getelementptr %tango.net.ftp.FtpClient.FtpResponse* %.rettmp, i32 0, i32 1, i32 0 ; <i32*> [#uses=1]
3245 %tmp359 = load i32* %.rettmp.1.0, align 4 ; <i32> [#uses=3]
3246 %.rettmp.1.1 = getelementptr %tango.net.ftp.FtpClient.FtpResponse* %.rettmp, i32 0, i32 1, i32 1 ; <i8**> [#uses=1]
3247 %tmp360 = load i8** %.rettmp.1.1, align 4 ; <i8*> [#uses=5]
3248 %tmp16 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 2 ; <%tango.net.SocketConduit.SocketConduit**> [#uses=1]
3249 %tmp17 = load %tango.net.SocketConduit.SocketConduit** %tmp16 ; <%tango.net.SocketConduit.SocketConduit*> [#uses=2]
3250 %tmp18 = getelementptr %tango.net.SocketConduit.SocketConduit* %tmp17, i32 0, i32 0 ; <%tango.net.SocketConduit.SocketConduit.__vtbl**> [#uses=1]
3251 %tmp19 = load %tango.net.SocketConduit.SocketConduit.__vtbl** %tmp18 ; <%tango.net.SocketConduit.SocketConduit.__vtbl*> [#uses=1]
3252 %"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]
3253 %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]
3254 %tmp21 = call fastcc %tango.net.Socket.Socket* %this.socket_.socket(%tango.net.SocketConduit.SocketConduit* %tmp17) ; <%tango.net.Socket.Socket*> [#uses=2]
3255 %tmp22 = getelementptr %tango.net.Socket.Socket* %tmp21, i32 0, i32 0 ; <%tango.net.Socket.Socket.__vtbl**> [#uses=1]
3256 %tmp23 = load %tango.net.Socket.Socket.__vtbl** %tmp22 ; <%tango.net.Socket.Socket.__vtbl*> [#uses=1]
3257 %"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]
3258 %"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]
3259 %tmp25 = call fastcc %tango.net.Socket.Address* %"this.socket_.socket().remoteAddress"(%tango.net.Socket.Socket* %tmp21) ; <%tango.net.Socket.Address*> [#uses=1]
3260 %tmp26 = bitcast %tango.net.Socket.Address* %tmp25 to %object.Object* ; <%object.Object*> [#uses=1]
3261 %tmp27 = call %object.Object* @_d_dynamic_cast(%object.Object* %tmp26, %object.ClassInfo* @_D5tango3net6Socket11IPv4Address7__ClassZ) nounwind readonly ; <%object.Object*> [#uses=2]
3262 %tmp28 = bitcast %object.Object* %tmp27 to %tango.net.Socket.IPv4Address* ; <%tango.net.Socket.IPv4Address*> [#uses=1]
3263 %tmp30 = bitcast %object.Object* %tmp27 to %tango.net.Socket.IPv4Address.__vtbl** ; <%tango.net.Socket.IPv4Address.__vtbl**> [#uses=1]
3264 %tmp31 = load %tango.net.Socket.IPv4Address.__vtbl** %tmp30 ; <%tango.net.Socket.IPv4Address.__vtbl*> [#uses=1]
3265 %"remote.addr@vtbl" = getelementptr %tango.net.Socket.IPv4Address.__vtbl* %tmp31, i32 0, i32 9 ; <i32 (%tango.net.Socket.IPv4Address*)**> [#uses=1]
3266 %remote.addr = load i32 (%tango.net.Socket.IPv4Address*)** %"remote.addr@vtbl", align 4 ; <i32 (%tango.net.Socket.IPv4Address*)*> [#uses=1]
3267 %tmp33 = call fastcc i32 %remote.addr(%tango.net.Socket.IPv4Address* %tmp28) ; <i32> [#uses=1]
3268 %tmp4.i.i = icmp eq i32 %tmp359, 0 ; <i1> [#uses=1]
3269 br i1 %tmp4.i.i, label %_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit.i, label %forcond.i.i
3270
3271forcond.i.i: ; preds = %forinc.i.i, %if
3272 %sign.1.i = phi i1 [ false, %if ], [ %sign.0.i, %forinc.i.i ] ; <i1> [#uses=4]
3273 %len.0.i.i = phi i32 [ %tmp33.i.i, %forinc.i.i ], [ %tmp359, %if ] ; <i32> [#uses=3]
3274 %p.0.i.i = phi i8* [ %tmp30.i.i, %forinc.i.i ], [ %tmp360, %if ] ; <i8*> [#uses=6]
3275 %c.0.in.i.i = phi i8* [ %tmp30.i.i, %forinc.i.i ], [ %tmp360, %if ] ; <i8*> [#uses=1]
3276 %c.0.i.i = load i8* %c.0.in.i.i ; <i8> [#uses=2]
3277 %tmp8.i.i = icmp eq i32 %len.0.i.i, 0 ; <i1> [#uses=1]
3278 br i1 %tmp8.i.i, label %endfor.i.i, label %forbody.i.i
3279
3280forbody.i.i: ; preds = %forcond.i.i
3281 switch i8 %c.0.i.i, label %endfor.i.i [
3282 i8 32, label %forinc.i.i
3283 i8 9, label %forinc.i.i
3284 i8 45, label %if20.i.i
3285 i8 43, label %if26.i.i
3286 ]
3287
3288if20.i.i: ; preds = %forbody.i.i
3289 br label %forinc.i.i
3290
3291if26.i.i: ; preds = %forbody.i.i
3292 br label %forinc.i.i
3293
3294forinc.i.i: ; preds = %if26.i.i, %if20.i.i, %forbody.i.i, %forbody.i.i
3295 %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]
3296 %tmp30.i.i = getelementptr i8* %p.0.i.i, i32 1 ; <i8*> [#uses=2]
3297 %tmp33.i.i = add i32 %len.0.i.i, -1 ; <i32> [#uses=1]
3298 br label %forcond.i.i
3299
3300endfor.i.i: ; preds = %forbody.i.i, %forcond.i.i
3301 %tmp37.i.i = icmp eq i8 %c.0.i.i, 48 ; <i1> [#uses=1]
3302 %tmp39.i.i = icmp sgt i32 %len.0.i.i, 1 ; <i1> [#uses=1]
3303 %or.cond.i.i = and i1 %tmp37.i.i, %tmp39.i.i ; <i1> [#uses=1]
3304 br i1 %or.cond.i.i, label %if40.i.i, label %endif41.i.i
3305
3306if40.i.i: ; preds = %endfor.i.i
3307 %tmp43.i.i = getelementptr i8* %p.0.i.i, i32 1 ; <i8*> [#uses=2]
3308 %tmp44.i.i = load i8* %tmp43.i.i ; <i8> [#uses=1]
3309 %tmp45.i.i = zext i8 %tmp44.i.i to i32 ; <i32> [#uses=1]
3310 switch i32 %tmp45.i.i, label %endif41.i.i [
3311 i32 120, label %case46.i.i
3312 i32 88, label %case46.i.i
3313 i32 98, label %case51.i.i
3314 i32 66, label %case51.i.i
3315 i32 111, label %case56.i.i
3316 i32 79, label %case56.i.i
3317 ]
3318
3319case46.i.i: ; preds = %if40.i.i, %if40.i.i
3320 %tmp48.i.i = getelementptr i8* %p.0.i.i, i32 2 ; <i8*> [#uses=1]
3321 br label %endif41.i.i
3322
3323case51.i.i: ; preds = %if40.i.i, %if40.i.i
3324 %tmp53.i.i = getelementptr i8* %p.0.i.i, i32 2 ; <i8*> [#uses=1]
3325 br label %endif41.i.i
3326
3327case56.i.i: ; preds = %if40.i.i, %if40.i.i
3328 %tmp58.i.i = getelementptr i8* %p.0.i.i, i32 2 ; <i8*> [#uses=1]
3329 br label %endif41.i.i
3330
3331endif41.i.i: ; preds = %case56.i.i, %case51.i.i, %case46.i.i, %if40.i.i, %endfor.i.i
3332 %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]
3333 %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]
3334 %tmp63.i.i = icmp eq i32 %r.0.i.i, 0 ; <i1> [#uses=1]
3335 br i1 %tmp63.i.i, label %_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit.i, label %if70.i.i
3336
3337if70.i.i: ; preds = %endif41.i.i
3338 br label %_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit.i
3339
3340_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit.i: ; preds = %if70.i.i, %endif41.i.i, %if
3341 %sign.2.i = phi i1 [ false, %if ], [ %sign.1.i, %if70.i.i ], [ %sign.1.i, %endif41.i.i ] ; <i1> [#uses=1]
3342 %radix.0.i = phi i32 [ 0, %if ], [ %r.0.i.i, %if70.i.i ], [ 10, %endif41.i.i ] ; <i32> [#uses=2]
3343 %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]
3344 %tmp84.i.i = ptrtoint i8* %p.1.i.i to i32 ; <i32> [#uses=1]
3345 %tmp85.i.i = ptrtoint i8* %tmp360 to i32 ; <i32> [#uses=1]
3346 %tmp86.i.i = sub i32 %tmp84.i.i, %tmp85.i.i ; <i32> [#uses=2]
3347 %tmp6.i = sub i32 %tmp359, %tmp86.i.i ; <i32> [#uses=1]
3348 br label %foreachcond.i.i
3349
3350foreachcond.i.i: ; preds = %if55.i.i, %_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit.i
3351 %value.0.i.i = phi i64 [ 0, %_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit.i ], [ %tmp65.i.i, %if55.i.i ] ; <i64> [#uses=3]
3352 %foreachkey.0.i.i = phi i32 [ 0, %_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit.i ], [ %tmp70.i.i, %if55.i.i ] ; <i32> [#uses=3]
3353 %tmp3.i.i = icmp ult i32 %foreachkey.0.i.i, %tmp6.i ; <i1> [#uses=1]
3354 br i1 %tmp3.i.i, label %foreachbody.i.i, label %_D5tango4text7convert7Integer12__T5parseTaZ5parseFAakPkZl.exit
3355
3356foreachbody.i.i: ; preds = %foreachcond.i.i
3357 %tmp5.sum.i = add i32 %tmp86.i.i, %foreachkey.0.i.i ; <i32> [#uses=1]
3358 %tmp5.i.i = getelementptr i8* %tmp360, i32 %tmp5.sum.i ; <i8*> [#uses=1]
3359 %tmp6.i.i = load i8* %tmp5.i.i ; <i8> [#uses=6]
3360 %tmp6.off84.i.i = add i8 %tmp6.i.i, -48 ; <i8> [#uses=1]
3361 %or.cond.i28.i = icmp ugt i8 %tmp6.off84.i.i, 9 ; <i1> [#uses=1]
3362 br i1 %or.cond.i28.i, label %else.i.i, label %endif.i.i
3363
3364else.i.i: ; preds = %foreachbody.i.i
3365 %tmp6.off83.i.i = add i8 %tmp6.i.i, -97 ; <i8> [#uses=1]
3366 %or.cond81.i.i = icmp ugt i8 %tmp6.off83.i.i, 25 ; <i1> [#uses=1]
3367 br i1 %or.cond81.i.i, label %else24.i.i, label %if22.i.i
3368
3369if22.i.i: ; preds = %else.i.i
3370 %tmp27.i.i = add i8 %tmp6.i.i, -39 ; <i8> [#uses=1]
3371 br label %endif.i.i
3372
3373else24.i.i: ; preds = %else.i.i
3374 %tmp6.off.i.i = add i8 %tmp6.i.i, -65 ; <i8> [#uses=1]
3375 %or.cond82.i.i = icmp ugt i8 %tmp6.off.i.i, 25 ; <i1> [#uses=1]
3376 br i1 %or.cond82.i.i, label %_D5tango4text7convert7Integer12__T5parseTaZ5parseFAakPkZl.exit, label %if39.i.i
3377
3378if39.i.i: ; preds = %else24.i.i
3379 %tmp44.i29.i = add i8 %tmp6.i.i, -7 ; <i8> [#uses=1]
3380 br label %endif.i.i
3381
3382endif.i.i: ; preds = %if39.i.i, %if22.i.i, %foreachbody.i.i
3383 %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]
3384 %tmp48.i31.i = zext i8 %c.0.i30.i to i32 ; <i32> [#uses=1]
3385 %tmp49.i.i = add i32 %tmp48.i31.i, 208 ; <i32> [#uses=1]
3386 %tmp52.i.i = and i32 %tmp49.i.i, 255 ; <i32> [#uses=2]
3387 %tmp54.i.i = icmp ult i32 %tmp52.i.i, %radix.0.i ; <i1> [#uses=1]
3388 br i1 %tmp54.i.i, label %if55.i.i, label %_D5tango4text7convert7Integer12__T5parseTaZ5parseFAakPkZl.exit
3389
3390if55.i.i: ; preds = %endif.i.i
3391 %tmp59.i.i = zext i32 %radix.0.i to i64 ; <i64> [#uses=1]
3392 %tmp61.i.i = mul i64 %value.0.i.i, %tmp59.i.i ; <i64> [#uses=1]
3393 %tmp64.i.i = zext i32 %tmp52.i.i to i64 ; <i64> [#uses=1]
3394 %tmp65.i.i = add i64 %tmp61.i.i, %tmp64.i.i ; <i64> [#uses=1]
3395 %tmp70.i.i = add i32 %foreachkey.0.i.i, 1 ; <i32> [#uses=1]
3396 br label %foreachcond.i.i
3397
3398_D5tango4text7convert7Integer12__T5parseTaZ5parseFAakPkZl.exit: ; preds = %endif.i.i, %else24.i.i, %foreachcond.i.i
3399 %negval.i = sub i64 0, %value.0.i.i ; <i64> [#uses=1]
3400 %condtmp.0.i = select i1 %sign.2.i, i64 %negval.i, i64 %value.0.i.i ; <i64> [#uses=1]
3401 %.newclass_gc_alloc = call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango3net6Socket11IPv4Address7__ClassZ) ; <i8*> [#uses=6]
3402 %vtbl = bitcast i8* %.newclass_gc_alloc to %tango.net.Socket.IPv4Address.__vtbl** ; <%tango.net.Socket.IPv4Address.__vtbl**> [#uses=1]
3403 store %tango.net.Socket.IPv4Address.__vtbl* @_D5tango3net6Socket11IPv4Address6__vtblZ, %tango.net.Socket.IPv4Address.__vtbl** %vtbl
3404 %monitor = getelementptr i8* %.newclass_gc_alloc, i32 4 ; <i8*> [#uses=1]
3405 %0 = bitcast i8* %monitor to i8** ; <i8**> [#uses=1]
3406 store i8* null, i8** %0
3407 %tmp38 = getelementptr i8* %.newclass_gc_alloc, i32 8 ; <i8*> [#uses=1]
3408 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)
3409 %tmp44 = trunc i64 %condtmp.0.i to i16 ; <i16> [#uses=1]
3410 %tmp2.i = getelementptr i8* %.newclass_gc_alloc, i32 20 ; <i8*> [#uses=1]
3411 %1 = bitcast i8* %tmp2.i to i32* ; <i32*> [#uses=1]
3412 store i32 %tmp33, i32* %1
3413 %tmp7.i = getelementptr i8* %.newclass_gc_alloc, i32 18 ; <i8*> [#uses=1]
3414 %2 = bitcast i8* %tmp7.i to i16* ; <i16*> [#uses=1]
3415 store i16 %tmp44, i16* %2
3416 %tmp46 = bitcast i8* %.newclass_gc_alloc to %tango.net.Socket.Address* ; <%tango.net.Socket.Address*> [#uses=1]
3417 br label %try
3418
3419else: ; preds = %entry
3420 %"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]
3421 %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]
3422 %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]
3423 %tmp59 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp1 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
3424 %"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]
3425 %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]
3426 br i1 %tmp53, label %if54, label %else56
3427
3428if54: ; preds = %else
3429 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)
3430 %tmp66 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp1 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
3431 %"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]
3432 %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]
3433 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) })
3434 %.rettmp70.1.0 = getelementptr %tango.net.ftp.FtpClient.FtpResponse* %.rettmp70, i32 0, i32 1, i32 0 ; <i32*> [#uses=1]
3435 %tmp345 = load i32* %.rettmp70.1.0, align 4 ; <i32> [#uses=2]
3436 %.rettmp70.1.1 = getelementptr %tango.net.ftp.FtpClient.FtpResponse* %.rettmp70, i32 0, i32 1, i32 1 ; <i8**> [#uses=1]
3437 %tmp346 = load i8** %.rettmp70.1.1, align 4 ; <i8*> [#uses=2]
3438 %.newclass_gc_alloc.i = call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex14__T7RegExpTTaZ7RegExpT7__ClassZ) ; <i8*> [#uses=4]
3439 %.newclass_gc.i = bitcast i8* %.newclass_gc_alloc.i to %"tango.text.Regex.RegExpT!(char).RegExpT"* ; <%"tango.text.Regex.RegExpT!(char).RegExpT"*> [#uses=3]
3440 %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]
3441 store %"tango.text.Regex.RegExpT!(char).RegExpT.__vtbl"* @_D5tango4text5Regex14__T7RegExpTTaZ7RegExpT6__vtblZ, %"tango.text.Regex.RegExpT!(char).RegExpT.__vtbl"** %vtbl.i
3442 %monitor.i = getelementptr i8* %.newclass_gc_alloc.i, i32 4 ; <i8*> [#uses=1]
3443 %3 = bitcast i8* %monitor.i to i8** ; <i8**> [#uses=1]
3444 store i8* null, i8** %3
3445 %tmp.i = getelementptr i8* %.newclass_gc_alloc.i, i32 8 ; <i8*> [#uses=1]
3446 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)
3447 %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]
3448 %tmp76 = load %"tango.text.Regex.RegExpT!(char).RegExpT.__vtbl"** %vtbl.i ; <%"tango.text.Regex.RegExpT!(char).RegExpT.__vtbl"*> [#uses=1]
3449 %"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]
3450 %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]
3451 br label %foreachcond.i.i460
3452
3453foreachcond.i.i460: ; preds = %foreachnext.i.i, %if54
3454 %pos.0.i.i = phi i32 [ 0, %if54 ], [ %tmp12.i.i, %foreachnext.i.i ] ; <i32> [#uses=4]
3455 %tmp3.i.i459 = icmp ult i32 %pos.0.i.i, %tmp345 ; <i1> [#uses=1]
3456 br i1 %tmp3.i.i459, label %foreachbody.i.i463, label %_D5tango4core5Array14__T4findTAaTaZ4findFAaaZk.exit
3457
3458foreachbody.i.i463: ; preds = %foreachcond.i.i460
3459 %tmp5.i.i461 = getelementptr i8* %tmp346, i32 %pos.0.i.i ; <i8*> [#uses=1]
3460 %tmp6.i.i462 = load i8* %tmp5.i.i461 ; <i8> [#uses=1]
3461 %tmp4.i.i.i = icmp eq i8 %tmp6.i.i462, 10 ; <i1> [#uses=1]
3462 br i1 %tmp4.i.i.i, label %_D5tango4core5Array14__T4findTAaTaZ4findFAaaZk.exit, label %foreachnext.i.i
3463
3464foreachnext.i.i: ; preds = %foreachbody.i.i463
3465 %tmp12.i.i = add i32 %pos.0.i.i, 1 ; <i32> [#uses=1]
3466 br label %foreachcond.i.i460
3467
3468_D5tango4core5Array14__T4findTAaTaZ4findFAaaZk.exit: ; preds = %foreachbody.i.i463, %foreachcond.i.i460
3469 %tmp23.i = phi i32 [ %pos.0.i.i, %foreachbody.i.i463 ], [ %tmp345, %foreachcond.i.i460 ] ; <i32> [#uses=1]
3470 %tmp85 = insertvalue %"byte[]" undef, i32 %tmp23.i, 0 ; <%"byte[]"> [#uses=1]
3471 %tmp86 = insertvalue %"byte[]" %tmp85, i8* %tmp346, 1 ; <%"byte[]"> [#uses=1]
3472 %tmp87 = call fastcc i1 %r.test(%"tango.text.Regex.RegExpT!(char).RegExpT"* %.newclass_gc.i, %"byte[]" %tmp86) ; <i1> [#uses=1]
3473 br i1 %tmp87, label %endif89, label %if88
3474
3475if88: ; preds = %_D5tango4core5Array14__T4findTAaTaZ4findFAaaZk.exit
3476 %.newclass_gc_alloc90 = call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango3net3ftp9FtpClient12FtpException7__ClassZ) ; <i8*> [#uses=6]
3477 %vtbl92 = bitcast i8* %.newclass_gc_alloc90 to %tango.net.ftp.FtpClient.FtpException.__vtbl** ; <%tango.net.ftp.FtpClient.FtpException.__vtbl**> [#uses=1]
3478 store %tango.net.ftp.FtpClient.FtpException.__vtbl* @_D5tango3net3ftp9FtpClient12FtpException6__vtblZ, %tango.net.ftp.FtpClient.FtpException.__vtbl** %vtbl92
3479 %monitor93 = getelementptr i8* %.newclass_gc_alloc90, i32 4 ; <i8*> [#uses=1]
3480 %4 = bitcast i8* %monitor93 to i8** ; <i8**> [#uses=1]
3481 store i8* null, i8** %4
3482 %tmp94 = getelementptr i8* %.newclass_gc_alloc90, i32 8 ; <i8*> [#uses=1]
3483 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)
3484 %tmp2.i549 = getelementptr i8* %.newclass_gc_alloc90, i32 36 ; <i8*> [#uses=1]
3485 call void @llvm.memcpy.i32(i8* %tmp2.i549, i8* getelementptr ([4 x i8]* @.str137, i32 0, i32 0), i32 3, i32 1)
3486 %tmp5.i = bitcast i8* %.newclass_gc_alloc90 to %object.Exception* ; <%object.Exception*> [#uses=1]
3487 %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]
3488 %tmp99 = bitcast i8* %.newclass_gc_alloc90 to %object.Object* ; <%object.Object*> [#uses=1]
3489 call void @_d_throw_exception(%object.Object* %tmp99)
3490 unreachable
3491
3492endif89: ; preds = %_D5tango4core5Array14__T4findTAaTaZ4findFAaaZk.exit
3493 %tmp102 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 2 ; <%tango.net.SocketConduit.SocketConduit**> [#uses=1]
3494 %tmp103 = load %tango.net.SocketConduit.SocketConduit** %tmp102 ; <%tango.net.SocketConduit.SocketConduit*> [#uses=2]
3495 %tmp104 = getelementptr %tango.net.SocketConduit.SocketConduit* %tmp103, i32 0, i32 0 ; <%tango.net.SocketConduit.SocketConduit.__vtbl**> [#uses=1]
3496 %tmp105 = load %tango.net.SocketConduit.SocketConduit.__vtbl** %tmp104 ; <%tango.net.SocketConduit.SocketConduit.__vtbl*> [#uses=1]
3497 %"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]
3498 %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]
3499 %tmp109 = call fastcc %tango.net.Socket.Socket* %this.socket_.socket108(%tango.net.SocketConduit.SocketConduit* %tmp103) ; <%tango.net.Socket.Socket*> [#uses=2]
3500 %tmp110 = getelementptr %tango.net.Socket.Socket* %tmp109, i32 0, i32 0 ; <%tango.net.Socket.Socket.__vtbl**> [#uses=1]
3501 %tmp111 = load %tango.net.Socket.Socket.__vtbl** %tmp110 ; <%tango.net.Socket.Socket.__vtbl*> [#uses=1]
3502 %"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]
3503 %"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]
3504 %tmp115 = call fastcc %tango.net.Socket.Address* %"this.socket_.socket().remoteAddress114"(%tango.net.Socket.Socket* %tmp109) ; <%tango.net.Socket.Address*> [#uses=1]
3505 %tmp116 = bitcast %tango.net.Socket.Address* %tmp115 to %object.Object* ; <%object.Object*> [#uses=1]
3506 %tmp117 = call %object.Object* @_d_dynamic_cast(%object.Object* %tmp116, %object.ClassInfo* @_D5tango3net6Socket11IPv4Address7__ClassZ) nounwind readonly ; <%object.Object*> [#uses=2]
3507 %tmp118 = bitcast %object.Object* %tmp117 to %tango.net.Socket.IPv4Address* ; <%tango.net.Socket.IPv4Address*> [#uses=1]
3508 %tmp121 = bitcast %object.Object* %tmp117 to %tango.net.Socket.IPv4Address.__vtbl** ; <%tango.net.Socket.IPv4Address.__vtbl**> [#uses=1]
3509 %tmp122 = load %tango.net.Socket.IPv4Address.__vtbl** %tmp121 ; <%tango.net.Socket.IPv4Address.__vtbl*> [#uses=1]
3510 %"remote.addr@vtbl123" = getelementptr %tango.net.Socket.IPv4Address.__vtbl* %tmp122, i32 0, i32 9 ; <i32 (%tango.net.Socket.IPv4Address*)**> [#uses=1]
3511 %remote.addr125 = load i32 (%tango.net.Socket.IPv4Address*)** %"remote.addr@vtbl123", align 4 ; <i32 (%tango.net.Socket.IPv4Address*)*> [#uses=1]
3512 %tmp126 = call fastcc i32 %remote.addr125(%tango.net.Socket.IPv4Address* %tmp118) ; <i32> [#uses=1]
3513 %tmp130 = load %"tango.text.Regex.RegExpT!(char).RegExpT.__vtbl"** %vtbl.i ; <%"tango.text.Regex.RegExpT!(char).RegExpT.__vtbl"*> [#uses=1]
3514 %"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]
3515 %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]
3516 %tmp132 = call fastcc %"byte[]" %r.match(%"tango.text.Regex.RegExpT!(char).RegExpT"* %.newclass_gc.i, i32 1) ; <%"byte[]"> [#uses=2]
3517 %digits_arg26.i551 = extractvalue %"byte[]" %tmp132, 0 ; <i32> [#uses=3]
3518 %digits_arg27.i552 = extractvalue %"byte[]" %tmp132, 1 ; <i8*> [#uses=5]
3519 %tmp4.i.i553 = icmp eq i32 %digits_arg26.i551, 0 ; <i1> [#uses=1]
3520 br i1 %tmp4.i.i553, label %_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit.i597, label %forcond.i.i560
3521
3522forcond.i.i560: ; preds = %forinc.i.i567, %endif89
3523 %sign.1.i554 = phi i1 [ false, %endif89 ], [ %sign.0.i564, %forinc.i.i567 ] ; <i1> [#uses=4]
3524 %len.0.i.i555 = phi i32 [ %tmp33.i.i566, %forinc.i.i567 ], [ %digits_arg26.i551, %endif89 ] ; <i32> [#uses=3]
3525 %p.0.i.i556 = phi i8* [ %tmp30.i.i565, %forinc.i.i567 ], [ %digits_arg27.i552, %endif89 ] ; <i8*> [#uses=6]
3526 %c.0.in.i.i557 = phi i8* [ %tmp30.i.i565, %forinc.i.i567 ], [ %digits_arg27.i552, %endif89 ] ; <i8*> [#uses=1]
3527 %c.0.i.i558 = load i8* %c.0.in.i.i557 ; <i8> [#uses=2]
3528 %tmp8.i.i559 = icmp eq i32 %len.0.i.i555, 0 ; <i1> [#uses=1]
3529 br i1 %tmp8.i.i559, label %endfor.i.i571, label %forbody.i.i561
3530
3531forbody.i.i561: ; preds = %forcond.i.i560
3532 switch i8 %c.0.i.i558, label %endfor.i.i571 [
3533 i8 32, label %forinc.i.i567
3534 i8 9, label %forinc.i.i567
3535 i8 45, label %if20.i.i562
3536 i8 43, label %if26.i.i563
3537 ]
3538
3539if20.i.i562: ; preds = %forbody.i.i561
3540 br label %forinc.i.i567
3541
3542if26.i.i563: ; preds = %forbody.i.i561
3543 br label %forinc.i.i567
3544
3545forinc.i.i567: ; preds = %if26.i.i563, %if20.i.i562, %forbody.i.i561, %forbody.i.i561
3546 %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]
3547 %tmp30.i.i565 = getelementptr i8* %p.0.i.i556, i32 1 ; <i8*> [#uses=2]
3548 %tmp33.i.i566 = add i32 %len.0.i.i555, -1 ; <i32> [#uses=1]
3549 br label %forcond.i.i560
3550
3551endfor.i.i571: ; preds = %forbody.i.i561, %forcond.i.i560
3552 %tmp37.i.i568 = icmp eq i8 %c.0.i.i558, 48 ; <i1> [#uses=1]
3553 %tmp39.i.i569 = icmp sgt i32 %len.0.i.i555, 1 ; <i1> [#uses=1]
3554 %or.cond.i.i570 = and i1 %tmp37.i.i568, %tmp39.i.i569 ; <i1> [#uses=1]
3555 br i1 %or.cond.i.i570, label %if40.i.i575, label %endif41.i.i585
3556
3557if40.i.i575: ; preds = %endfor.i.i571
3558 %tmp43.i.i572 = getelementptr i8* %p.0.i.i556, i32 1 ; <i8*> [#uses=2]
3559 %tmp44.i.i573 = load i8* %tmp43.i.i572 ; <i8> [#uses=1]
3560 %tmp45.i.i574 = zext i8 %tmp44.i.i573 to i32 ; <i32> [#uses=1]
3561 switch i32 %tmp45.i.i574, label %endif41.i.i585 [
3562 i32 120, label %case46.i.i577
3563 i32 88, label %case46.i.i577
3564 i32 98, label %case51.i.i579
3565 i32 66, label %case51.i.i579
3566 i32 111, label %case56.i.i581
3567 i32 79, label %case56.i.i581
3568 ]
3569
3570case46.i.i577: ; preds = %if40.i.i575, %if40.i.i575
3571 %tmp48.i.i576 = getelementptr i8* %p.0.i.i556, i32 2 ; <i8*> [#uses=1]
3572 br label %endif41.i.i585
3573
3574case51.i.i579: ; preds = %if40.i.i575, %if40.i.i575
3575 %tmp53.i.i578 = getelementptr i8* %p.0.i.i556, i32 2 ; <i8*> [#uses=1]
3576 br label %endif41.i.i585
3577
3578case56.i.i581: ; preds = %if40.i.i575, %if40.i.i575
3579 %tmp58.i.i580 = getelementptr i8* %p.0.i.i556, i32 2 ; <i8*> [#uses=1]
3580 br label %endif41.i.i585
3581
3582endif41.i.i585: ; preds = %case56.i.i581, %case51.i.i579, %case46.i.i577, %if40.i.i575, %endfor.i.i571
3583 %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]
3584 %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]
3585 %tmp63.i.i584 = icmp eq i32 %r.0.i.i582, 0 ; <i1> [#uses=1]
3586 br i1 %tmp63.i.i584, label %_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit.i597, label %if70.i.i589
3587
3588if70.i.i589: ; preds = %endif41.i.i585
3589 br label %_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit.i597
3590
3591_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit.i597: ; preds = %if70.i.i589, %endif41.i.i585, %endif89
3592 %sign.2.i590 = phi i1 [ false, %endif89 ], [ %sign.1.i554, %if70.i.i589 ], [ %sign.1.i554, %endif41.i.i585 ] ; <i1> [#uses=1]
3593 %radix.0.i591 = phi i32 [ 0, %endif89 ], [ %r.0.i.i582, %if70.i.i589 ], [ 10, %endif41.i.i585 ] ; <i32> [#uses=2]
3594 %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]
3595 %tmp84.i.i593 = ptrtoint i8* %p.1.i.i592 to i32 ; <i32> [#uses=1]
3596 %tmp85.i.i594 = ptrtoint i8* %digits_arg27.i552 to i32 ; <i32> [#uses=1]
3597 %tmp86.i.i595 = sub i32 %tmp84.i.i593, %tmp85.i.i594 ; <i32> [#uses=2]
3598 %tmp6.i596 = sub i32 %digits_arg26.i551, %tmp86.i.i595 ; <i32> [#uses=1]
3599 br label %foreachcond.i.i602
3600
3601foreachcond.i.i602: ; preds = %if55.i.i631, %_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit.i597
3602 %value.0.i.i598 = phi i64 [ 0, %_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit.i597 ], [ %tmp65.i.i628, %if55.i.i631 ] ; <i64> [#uses=3]
3603 %foreachkey.0.i.i600 = phi i32 [ 0, %_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit.i597 ], [ %tmp70.i.i630, %if55.i.i631 ] ; <i32> [#uses=3]
3604 %tmp3.i.i601 = icmp ult i32 %foreachkey.0.i.i600, %tmp6.i596 ; <i1> [#uses=1]
3605 br i1 %tmp3.i.i601, label %foreachbody.i.i608, label %_D5tango4text7convert7Integer12__T5parseTaZ5parseFAakPkZl.exit635
3606
3607foreachbody.i.i608: ; preds = %foreachcond.i.i602
3608 %tmp5.sum.i603 = add i32 %tmp86.i.i595, %foreachkey.0.i.i600 ; <i32> [#uses=1]
3609 %tmp5.i.i604 = getelementptr i8* %digits_arg27.i552, i32 %tmp5.sum.i603 ; <i8*> [#uses=1]
3610 %tmp6.i.i605 = load i8* %tmp5.i.i604 ; <i8> [#uses=6]
3611 %tmp6.off84.i.i606 = add i8 %tmp6.i.i605, -48 ; <i8> [#uses=1]
3612 %or.cond.i28.i607 = icmp ugt i8 %tmp6.off84.i.i606, 9 ; <i1> [#uses=1]
3613 br i1 %or.cond.i28.i607, label %else.i.i611, label %endif.i.i624
3614
3615else.i.i611: ; preds = %foreachbody.i.i608
3616 %tmp6.off83.i.i609 = add i8 %tmp6.i.i605, -97 ; <i8> [#uses=1]
3617 %or.cond81.i.i610 = icmp ugt i8 %tmp6.off83.i.i609, 25 ; <i1> [#uses=1]
3618 br i1 %or.cond81.i.i610, label %else24.i.i616, label %if22.i.i613
3619
3620if22.i.i613: ; preds = %else.i.i611
3621 %tmp27.i.i612 = add i8 %tmp6.i.i605, -39 ; <i8> [#uses=1]
3622 br label %endif.i.i624
3623
3624else24.i.i616: ; preds = %else.i.i611
3625 %tmp6.off.i.i614 = add i8 %tmp6.i.i605, -65 ; <i8> [#uses=1]
3626 %or.cond82.i.i615 = icmp ugt i8 %tmp6.off.i.i614, 25 ; <i1> [#uses=1]
3627 br i1 %or.cond82.i.i615, label %_D5tango4text7convert7Integer12__T5parseTaZ5parseFAakPkZl.exit635, label %if39.i.i618
3628
3629if39.i.i618: ; preds = %else24.i.i616
3630 %tmp44.i29.i617 = add i8 %tmp6.i.i605, -7 ; <i8> [#uses=1]
3631 br label %endif.i.i624
3632
3633endif.i.i624: ; preds = %if39.i.i618, %if22.i.i613, %foreachbody.i.i608
3634 %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]
3635 %tmp48.i31.i620 = zext i8 %c.0.i30.i619 to i32 ; <i32> [#uses=1]
3636 %tmp49.i.i621 = add i32 %tmp48.i31.i620, 208 ; <i32> [#uses=1]
3637 %tmp52.i.i622 = and i32 %tmp49.i.i621, 255 ; <i32> [#uses=2]
3638 %tmp54.i.i623 = icmp ult i32 %tmp52.i.i622, %radix.0.i591 ; <i1> [#uses=1]
3639 br i1 %tmp54.i.i623, label %if55.i.i631, label %_D5tango4text7convert7Integer12__T5parseTaZ5parseFAakPkZl.exit635
3640
3641if55.i.i631: ; preds = %endif.i.i624
3642 %tmp59.i.i625 = zext i32 %radix.0.i591 to i64 ; <i64> [#uses=1]
3643 %tmp61.i.i626 = mul i64 %value.0.i.i598, %tmp59.i.i625 ; <i64> [#uses=1]
3644 %tmp64.i.i627 = zext i32 %tmp52.i.i622 to i64 ; <i64> [#uses=1]
3645 %tmp65.i.i628 = add i64 %tmp61.i.i626, %tmp64.i.i627 ; <i64> [#uses=1]
3646 %tmp70.i.i630 = add i32 %foreachkey.0.i.i600, 1 ; <i32> [#uses=1]
3647 br label %foreachcond.i.i602
3648
3649_D5tango4text7convert7Integer12__T5parseTaZ5parseFAakPkZl.exit635: ; preds = %endif.i.i624, %else24.i.i616, %foreachcond.i.i602
3650 %negval.i633 = sub i64 0, %value.0.i.i598 ; <i64> [#uses=1]
3651 %condtmp.0.i634 = select i1 %sign.2.i590, i64 %negval.i633, i64 %value.0.i.i598 ; <i64> [#uses=1]
3652 %.newclass_gc_alloc135 = call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango3net6Socket11IPv4Address7__ClassZ) ; <i8*> [#uses=6]
3653 %vtbl137 = bitcast i8* %.newclass_gc_alloc135 to %tango.net.Socket.IPv4Address.__vtbl** ; <%tango.net.Socket.IPv4Address.__vtbl**> [#uses=1]
3654 store %tango.net.Socket.IPv4Address.__vtbl* @_D5tango3net6Socket11IPv4Address6__vtblZ, %tango.net.Socket.IPv4Address.__vtbl** %vtbl137
3655 %monitor138 = getelementptr i8* %.newclass_gc_alloc135, i32 4 ; <i8*> [#uses=1]
3656 %5 = bitcast i8* %monitor138 to i8** ; <i8**> [#uses=1]
3657 store i8* null, i8** %5
3658 %tmp139 = getelementptr i8* %.newclass_gc_alloc135, i32 8 ; <i8*> [#uses=1]
3659 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)
3660 %tmp145 = trunc i64 %condtmp.0.i634 to i16 ; <i16> [#uses=1]
3661 %tmp2.i636 = getelementptr i8* %.newclass_gc_alloc135, i32 20 ; <i8*> [#uses=1]
3662 %6 = bitcast i8* %tmp2.i636 to i32* ; <i32*> [#uses=1]
3663 store i32 %tmp126, i32* %6
3664 %tmp7.i637 = getelementptr i8* %.newclass_gc_alloc135, i32 18 ; <i8*> [#uses=1]
3665 %7 = bitcast i8* %tmp7.i637 to i16* ; <i16*> [#uses=1]
3666 store i16 %tmp145, i16* %7
3667 %tmp147 = bitcast i8* %.newclass_gc_alloc135 to %tango.net.Socket.Address* ; <%tango.net.Socket.Address*> [#uses=1]
3668 br label %try
3669
3670else56: ; preds = %else
3671 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)
3672 %tmp157 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp1 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
3673 %"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]
3674 %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]
3675 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) })
3676 %.rettmp161.1.0 = getelementptr %tango.net.ftp.FtpClient.FtpResponse* %.rettmp161, i32 0, i32 1, i32 0 ; <i32*> [#uses=1]
3677 %tmp = load i32* %.rettmp161.1.0, align 4 ; <i32> [#uses=2]
3678 %.rettmp161.1.1 = getelementptr %tango.net.ftp.FtpClient.FtpResponse* %.rettmp161, i32 0, i32 1, i32 1 ; <i8**> [#uses=1]
3679 %tmp332 = load i8** %.rettmp161.1.1, align 4 ; <i8*> [#uses=2]
3680 %.newclass_gc_alloc.i638 = call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex14__T7RegExpTTaZ7RegExpT7__ClassZ) ; <i8*> [#uses=4]
3681 %.newclass_gc.i639 = bitcast i8* %.newclass_gc_alloc.i638 to %"tango.text.Regex.RegExpT!(char).RegExpT"* ; <%"tango.text.Regex.RegExpT!(char).RegExpT"*> [#uses=9]
3682 %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]
3683 store %"tango.text.Regex.RegExpT!(char).RegExpT.__vtbl"* @_D5tango4text5Regex14__T7RegExpTTaZ7RegExpT6__vtblZ, %"tango.text.Regex.RegExpT!(char).RegExpT.__vtbl"** %vtbl.i640
3684 %monitor.i641 = getelementptr i8* %.newclass_gc_alloc.i638, i32 4 ; <i8*> [#uses=1]
3685 %8 = bitcast i8* %monitor.i641 to i8** ; <i8**> [#uses=1]
3686 store i8* null, i8** %8
3687 %tmp.i642 = getelementptr i8* %.newclass_gc_alloc.i638, i32 8 ; <i8*> [#uses=1]
3688 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)
3689 %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]
3690 %tmp168 = load %"tango.text.Regex.RegExpT!(char).RegExpT.__vtbl"** %vtbl.i640 ; <%"tango.text.Regex.RegExpT!(char).RegExpT.__vtbl"*> [#uses=1]
3691 %"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]
3692 %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]
3693 br label %foreachcond.i.i648
3694
3695foreachcond.i.i648: ; preds = %foreachnext.i.i655, %else56
3696 %pos.0.i.i646 = phi i32 [ 0, %else56 ], [ %tmp12.i.i654, %foreachnext.i.i655 ] ; <i32> [#uses=4]
3697 %tmp3.i.i647 = icmp ult i32 %pos.0.i.i646, %tmp ; <i1> [#uses=1]
3698 br i1 %tmp3.i.i647, label %foreachbody.i.i652, label %_D5tango4core5Array14__T4findTAaTaZ4findFAaaZk.exit658
3699
3700foreachbody.i.i652: ; preds = %foreachcond.i.i648
3701 %tmp5.i.i649 = getelementptr i8* %tmp332, i32 %pos.0.i.i646 ; <i8*> [#uses=1]
3702 %tmp6.i.i650 = load i8* %tmp5.i.i649 ; <i8> [#uses=1]
3703 %tmp4.i.i.i651 = icmp eq i8 %tmp6.i.i650, 10 ; <i1> [#uses=1]
3704 br i1 %tmp4.i.i.i651, label %_D5tango4core5Array14__T4findTAaTaZ4findFAaaZk.exit658, label %foreachnext.i.i655
3705
3706foreachnext.i.i655: ; preds = %foreachbody.i.i652
3707 %tmp12.i.i654 = add i32 %pos.0.i.i646, 1 ; <i32> [#uses=1]
3708 br label %foreachcond.i.i648
3709
3710_D5tango4core5Array14__T4findTAaTaZ4findFAaaZk.exit658: ; preds = %foreachbody.i.i652, %foreachcond.i.i648
3711 %tmp23.i657 = phi i32 [ %pos.0.i.i646, %foreachbody.i.i652 ], [ %tmp, %foreachcond.i.i648 ] ; <i32> [#uses=1]
3712 %tmp180 = insertvalue %"byte[]" undef, i32 %tmp23.i657, 0 ; <%"byte[]"> [#uses=1]
3713 %tmp181 = insertvalue %"byte[]" %tmp180, i8* %tmp332, 1 ; <%"byte[]"> [#uses=1]
3714 %tmp182 = call fastcc i1 %r.test171(%"tango.text.Regex.RegExpT!(char).RegExpT"* %.newclass_gc.i639, %"byte[]" %tmp181) ; <i1> [#uses=1]
3715 br i1 %tmp182, label %endif184, label %if183
3716
3717if183: ; preds = %_D5tango4core5Array14__T4findTAaTaZ4findFAaaZk.exit658
3718 %.newclass_gc_alloc185 = call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango3net3ftp9FtpClient12FtpException7__ClassZ) ; <i8*> [#uses=6]
3719 %vtbl187 = bitcast i8* %.newclass_gc_alloc185 to %tango.net.ftp.FtpClient.FtpException.__vtbl** ; <%tango.net.ftp.FtpClient.FtpException.__vtbl**> [#uses=1]
3720 store %tango.net.ftp.FtpClient.FtpException.__vtbl* @_D5tango3net3ftp9FtpClient12FtpException6__vtblZ, %tango.net.ftp.FtpClient.FtpException.__vtbl** %vtbl187
3721 %monitor188 = getelementptr i8* %.newclass_gc_alloc185, i32 4 ; <i8*> [#uses=1]
3722 %9 = bitcast i8* %monitor188 to i8** ; <i8**> [#uses=1]
3723 store i8* null, i8** %9
3724 %tmp189 = getelementptr i8* %.newclass_gc_alloc185, i32 8 ; <i8*> [#uses=1]
3725 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)
3726 %tmp2.i659 = getelementptr i8* %.newclass_gc_alloc185, i32 36 ; <i8*> [#uses=1]
3727 call void @llvm.memcpy.i32(i8* %tmp2.i659, i8* getelementptr ([4 x i8]* @.str142, i32 0, i32 0), i32 3, i32 1)
3728 %tmp5.i660 = bitcast i8* %.newclass_gc_alloc185 to %object.Exception* ; <%object.Exception*> [#uses=1]
3729 %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]
3730 %tmp194 = bitcast i8* %.newclass_gc_alloc185 to %object.Object* ; <%object.Object*> [#uses=1]
3731 call void @_d_throw_exception(%object.Object* %tmp194)
3732 unreachable
3733
3734endif184: ; preds = %_D5tango4core5Array14__T4findTAaTaZ4findFAaaZk.exit658
3735 %tmp199 = load %"tango.text.Regex.RegExpT!(char).RegExpT.__vtbl"** %vtbl.i640 ; <%"tango.text.Regex.RegExpT!(char).RegExpT.__vtbl"*> [#uses=1]
3736 %"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]
3737 %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]
3738 %tmp203 = call fastcc %"byte[]" %r.match202(%"tango.text.Regex.RegExpT!(char).RegExpT"* %.newclass_gc.i639, i32 1) ; <%"byte[]"> [#uses=2]
3739 %.len = extractvalue %"byte[]" %tmp203, 0 ; <i32> [#uses=3]
3740 %tmp204 = add i32 %.len, 1 ; <i32> [#uses=4]
3741 %.nongc_mem = alloca i8, i32 %tmp204, align 1 ; <i8*> [#uses=3]
3742 %.ptr205 = extractvalue %"byte[]" %tmp203, 1 ; <i8*> [#uses=1]
3743 call void @llvm.memcpy.i32(i8* %.nongc_mem, i8* %.ptr205, i32 %.len, i32 1)
3744 %tmp207 = getelementptr i8* %.nongc_mem, i32 %.len ; <i8*> [#uses=1]
3745 store i8 46, i8* %tmp207, align 1
3746 %tmp210 = load %"tango.text.Regex.RegExpT!(char).RegExpT.__vtbl"** %vtbl.i640 ; <%"tango.text.Regex.RegExpT!(char).RegExpT.__vtbl"*> [#uses=1]
3747 %"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]
3748 %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]
3749 %tmp214 = call fastcc %"byte[]" %r.match213(%"tango.text.Regex.RegExpT!(char).RegExpT"* %.newclass_gc.i639, i32 2) ; <%"byte[]"> [#uses=2]
3750 %.len215 = extractvalue %"byte[]" %tmp214, 0 ; <i32> [#uses=2]
3751 %tmp216 = add i32 %tmp204, %.len215 ; <i32> [#uses=4]
3752 %.nongc_mem662 = alloca i8, i32 %tmp216, align 1 ; <i8*> [#uses=3]
3753 %.ptr218 = extractvalue %"byte[]" %tmp214, 1 ; <i8*> [#uses=1]
3754 call void @llvm.memcpy.i32(i8* %.nongc_mem662, i8* %.nongc_mem, i32 %tmp204, i32 1)
3755 %tmp220 = getelementptr i8* %.nongc_mem662, i32 %tmp204 ; <i8*> [#uses=1]
3756 call void @llvm.memcpy.i32(i8* %tmp220, i8* %.ptr218, i32 %.len215, i32 1)
3757 %tmp222 = add i32 %tmp216, 1 ; <i32> [#uses=4]
3758 %.nongc_mem663 = alloca i8, i32 %tmp222, align 1 ; <i8*> [#uses=3]
3759 call void @llvm.memcpy.i32(i8* %.nongc_mem663, i8* %.nongc_mem662, i32 %tmp216, i32 1)
3760 %tmp225 = getelementptr i8* %.nongc_mem663, i32 %tmp216 ; <i8*> [#uses=1]
3761 store i8 46, i8* %tmp225, align 1
3762 %tmp228 = load %"tango.text.Regex.RegExpT!(char).RegExpT.__vtbl"** %vtbl.i640 ; <%"tango.text.Regex.RegExpT!(char).RegExpT.__vtbl"*> [#uses=1]
3763 %"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]
3764 %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]
3765 %tmp232 = call fastcc %"byte[]" %r.match231(%"tango.text.Regex.RegExpT!(char).RegExpT"* %.newclass_gc.i639, i32 3) ; <%"byte[]"> [#uses=2]
3766 %.len233 = extractvalue %"byte[]" %tmp232, 0 ; <i32> [#uses=2]
3767 %tmp234 = add i32 %tmp222, %.len233 ; <i32> [#uses=4]
3768 %.nongc_mem664 = alloca i8, i32 %tmp234, align 1 ; <i8*> [#uses=3]
3769 %.ptr236 = extractvalue %"byte[]" %tmp232, 1 ; <i8*> [#uses=1]
3770 call void @llvm.memcpy.i32(i8* %.nongc_mem664, i8* %.nongc_mem663, i32 %tmp222, i32 1)
3771 %tmp238 = getelementptr i8* %.nongc_mem664, i32 %tmp222 ; <i8*> [#uses=1]
3772 call void @llvm.memcpy.i32(i8* %tmp238, i8* %.ptr236, i32 %.len233, i32 1)
3773 %tmp240 = add i32 %tmp234, 1 ; <i32> [#uses=4]
3774 %.nongc_mem665 = alloca i8, i32 %tmp240, align 1 ; <i8*> [#uses=3]
3775 call void @llvm.memcpy.i32(i8* %.nongc_mem665, i8* %.nongc_mem664, i32 %tmp234, i32 1)
3776 %tmp243 = getelementptr i8* %.nongc_mem665, i32 %tmp234 ; <i8*> [#uses=1]
3777 store i8 46, i8* %tmp243, align 1
3778 %tmp246 = load %"tango.text.Regex.RegExpT!(char).RegExpT.__vtbl"** %vtbl.i640 ; <%"tango.text.Regex.RegExpT!(char).RegExpT.__vtbl"*> [#uses=1]
3779 %"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]
3780 %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]
3781 %tmp250 = call fastcc %"byte[]" %r.match249(%"tango.text.Regex.RegExpT!(char).RegExpT"* %.newclass_gc.i639, i32 4) ; <%"byte[]"> [#uses=2]
3782 %.len251 = extractvalue %"byte[]" %tmp250, 0 ; <i32> [#uses=2]
3783 %tmp252 = add i32 %tmp240, %.len251 ; <i32> [#uses=2]
3784 %.gc_mem253 = call noalias i8* @_d_newarrayvT(%object.TypeInfo* @_D11TypeInfo_Aa6__initZ, i32 %tmp252) ; <i8*> [#uses=3]
3785 %.ptr254 = extractvalue %"byte[]" %tmp250, 1 ; <i8*> [#uses=1]
3786 call void @llvm.memcpy.i32(i8* %.gc_mem253, i8* %.nongc_mem665, i32 %tmp240, i32 1)
3787 %tmp256 = getelementptr i8* %.gc_mem253, i32 %tmp240 ; <i8*> [#uses=1]
3788 call void @llvm.memcpy.i32(i8* %tmp256, i8* %.ptr254, i32 %.len251, i32 1)
3789 %tmp263 = load %"tango.text.Regex.RegExpT!(char).RegExpT.__vtbl"** %vtbl.i640 ; <%"tango.text.Regex.RegExpT!(char).RegExpT.__vtbl"*> [#uses=1]
3790 %"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]
3791 %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]
3792 %tmp267 = call fastcc %"byte[]" %r.match266(%"tango.text.Regex.RegExpT!(char).RegExpT"* %.newclass_gc.i639, i32 5) ; <%"byte[]"> [#uses=2]
3793 %digits_arg26.i464 = extractvalue %"byte[]" %tmp267, 0 ; <i32> [#uses=3]
3794 %digits_arg27.i465 = extractvalue %"byte[]" %tmp267, 1 ; <i8*> [#uses=5]
3795 %tmp4.i.i466 = icmp eq i32 %digits_arg26.i464, 0 ; <i1> [#uses=1]
3796 br i1 %tmp4.i.i466, label %_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit.i510, label %forcond.i.i473
3797
3798forcond.i.i473: ; preds = %forinc.i.i480, %endif184
3799 %sign.1.i467 = phi i1 [ false, %endif184 ], [ %sign.0.i477, %forinc.i.i480 ] ; <i1> [#uses=4]
3800 %len.0.i.i468 = phi i32 [ %tmp33.i.i479, %forinc.i.i480 ], [ %digits_arg26.i464, %endif184 ] ; <i32> [#uses=3]
3801 %p.0.i.i469 = phi i8* [ %tmp30.i.i478, %forinc.i.i480 ], [ %digits_arg27.i465, %endif184 ] ; <i8*> [#uses=6]
3802 %c.0.in.i.i470 = phi i8* [ %tmp30.i.i478, %forinc.i.i480 ], [ %digits_arg27.i465, %endif184 ] ; <i8*> [#uses=1]
3803 %c.0.i.i471 = load i8* %c.0.in.i.i470 ; <i8> [#uses=2]
3804 %tmp8.i.i472 = icmp eq i32 %len.0.i.i468, 0 ; <i1> [#uses=1]
3805 br i1 %tmp8.i.i472, label %endfor.i.i484, label %forbody.i.i474
3806
3807forbody.i.i474: ; preds = %forcond.i.i473
3808 switch i8 %c.0.i.i471, label %endfor.i.i484 [
3809 i8 32, label %forinc.i.i480
3810 i8 9, label %forinc.i.i480
3811 i8 45, label %if20.i.i475
3812 i8 43, label %if26.i.i476
3813 ]
3814
3815if20.i.i475: ; preds = %forbody.i.i474
3816 br label %forinc.i.i480
3817
3818if26.i.i476: ; preds = %forbody.i.i474
3819 br label %forinc.i.i480
3820
3821forinc.i.i480: ; preds = %if26.i.i476, %if20.i.i475, %forbody.i.i474, %forbody.i.i474
3822 %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]
3823 %tmp30.i.i478 = getelementptr i8* %p.0.i.i469, i32 1 ; <i8*> [#uses=2]
3824 %tmp33.i.i479 = add i32 %len.0.i.i468, -1 ; <i32> [#uses=1]
3825 br label %forcond.i.i473
3826
3827endfor.i.i484: ; preds = %forbody.i.i474, %forcond.i.i473
3828 %tmp37.i.i481 = icmp eq i8 %c.0.i.i471, 48 ; <i1> [#uses=1]
3829 %tmp39.i.i482 = icmp sgt i32 %len.0.i.i468, 1 ; <i1> [#uses=1]
3830 %or.cond.i.i483 = and i1 %tmp37.i.i481, %tmp39.i.i482 ; <i1> [#uses=1]
3831 br i1 %or.cond.i.i483, label %if40.i.i488, label %endif41.i.i498
3832
3833if40.i.i488: ; preds = %endfor.i.i484
3834 %tmp43.i.i485 = getelementptr i8* %p.0.i.i469, i32 1 ; <i8*> [#uses=2]
3835 %tmp44.i.i486 = load i8* %tmp43.i.i485 ; <i8> [#uses=1]
3836 %tmp45.i.i487 = zext i8 %tmp44.i.i486 to i32 ; <i32> [#uses=1]
3837 switch i32 %tmp45.i.i487, label %endif41.i.i498 [
3838 i32 120, label %case46.i.i490
3839 i32 88, label %case46.i.i490
3840 i32 98, label %case51.i.i492
3841 i32 66, label %case51.i.i492
3842 i32 111, label %case56.i.i494
3843 i32 79, label %case56.i.i494
3844 ]
3845
3846case46.i.i490: ; preds = %if40.i.i488, %if40.i.i488
3847 %tmp48.i.i489 = getelementptr i8* %p.0.i.i469, i32 2 ; <i8*> [#uses=1]
3848 br label %endif41.i.i498
3849
3850case51.i.i492: ; preds = %if40.i.i488, %if40.i.i488
3851 %tmp53.i.i491 = getelementptr i8* %p.0.i.i469, i32 2 ; <i8*> [#uses=1]
3852 br label %endif41.i.i498
3853
3854case56.i.i494: ; preds = %if40.i.i488, %if40.i.i488
3855 %tmp58.i.i493 = getelementptr i8* %p.0.i.i469, i32 2 ; <i8*> [#uses=1]
3856 br label %endif41.i.i498
3857
3858endif41.i.i498: ; preds = %case56.i.i494, %case51.i.i492, %case46.i.i490, %if40.i.i488, %endfor.i.i484
3859 %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]
3860 %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]
3861 %tmp63.i.i497 = icmp eq i32 %r.0.i.i495, 0 ; <i1> [#uses=1]
3862 br i1 %tmp63.i.i497, label %_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit.i510, label %if70.i.i502
3863
3864if70.i.i502: ; preds = %endif41.i.i498
3865 br label %_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit.i510
3866
3867_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit.i510: ; preds = %if70.i.i502, %endif41.i.i498, %endif184
3868 %sign.2.i503 = phi i1 [ false, %endif184 ], [ %sign.1.i467, %if70.i.i502 ], [ %sign.1.i467, %endif41.i.i498 ] ; <i1> [#uses=1]
3869 %radix.0.i504 = phi i32 [ 0, %endif184 ], [ %r.0.i.i495, %if70.i.i502 ], [ 10, %endif41.i.i498 ] ; <i32> [#uses=2]
3870 %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]
3871 %tmp84.i.i506 = ptrtoint i8* %p.1.i.i505 to i32 ; <i32> [#uses=1]
3872 %tmp85.i.i507 = ptrtoint i8* %digits_arg27.i465 to i32 ; <i32> [#uses=1]
3873 %tmp86.i.i508 = sub i32 %tmp84.i.i506, %tmp85.i.i507 ; <i32> [#uses=2]
3874 %tmp6.i509 = sub i32 %digits_arg26.i464, %tmp86.i.i508 ; <i32> [#uses=1]
3875 br label %foreachcond.i.i515
3876
3877foreachcond.i.i515: ; preds = %if55.i.i544, %_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit.i510
3878 %value.0.i.i511 = phi i64 [ 0, %_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit.i510 ], [ %tmp65.i.i541, %if55.i.i544 ] ; <i64> [#uses=3]
3879 %foreachkey.0.i.i513 = phi i32 [ 0, %_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit.i510 ], [ %tmp70.i.i543, %if55.i.i544 ] ; <i32> [#uses=3]
3880 %tmp3.i.i514 = icmp ult i32 %foreachkey.0.i.i513, %tmp6.i509 ; <i1> [#uses=1]
3881 br i1 %tmp3.i.i514, label %foreachbody.i.i521, label %_D5tango4text7convert7Integer12__T5parseTaZ5parseFAakPkZl.exit548
3882
3883foreachbody.i.i521: ; preds = %foreachcond.i.i515
3884 %tmp5.sum.i516 = add i32 %tmp86.i.i508, %foreachkey.0.i.i513 ; <i32> [#uses=1]
3885 %tmp5.i.i517 = getelementptr i8* %digits_arg27.i465, i32 %tmp5.sum.i516 ; <i8*> [#uses=1]
3886 %tmp6.i.i518 = load i8* %tmp5.i.i517 ; <i8> [#uses=6]
3887 %tmp6.off84.i.i519 = add i8 %tmp6.i.i518, -48 ; <i8> [#uses=1]
3888 %or.cond.i28.i520 = icmp ugt i8 %tmp6.off84.i.i519, 9 ; <i1> [#uses=1]
3889 br i1 %or.cond.i28.i520, label %else.i.i524, label %endif.i.i537
3890
3891else.i.i524: ; preds = %foreachbody.i.i521
3892 %tmp6.off83.i.i522 = add i8 %tmp6.i.i518, -97 ; <i8> [#uses=1]
3893 %or.cond81.i.i523 = icmp ugt i8 %tmp6.off83.i.i522, 25 ; <i1> [#uses=1]
3894 br i1 %or.cond81.i.i523, label %else24.i.i529, label %if22.i.i526
3895
3896if22.i.i526: ; preds = %else.i.i524
3897 %tmp27.i.i525 = add i8 %tmp6.i.i518, -39 ; <i8> [#uses=1]
3898 br label %endif.i.i537
3899
3900else24.i.i529: ; preds = %else.i.i524
3901 %tmp6.off.i.i527 = add i8 %tmp6.i.i518, -65 ; <i8> [#uses=1]
3902 %or.cond82.i.i528 = icmp ugt i8 %tmp6.off.i.i527, 25 ; <i1> [#uses=1]
3903 br i1 %or.cond82.i.i528, label %_D5tango4text7convert7Integer12__T5parseTaZ5parseFAakPkZl.exit548, label %if39.i.i531
3904
3905if39.i.i531: ; preds = %else24.i.i529
3906 %tmp44.i29.i530 = add i8 %tmp6.i.i518, -7 ; <i8> [#uses=1]
3907 br label %endif.i.i537
3908
3909endif.i.i537: ; preds = %if39.i.i531, %if22.i.i526, %foreachbody.i.i521
3910 %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]
3911 %tmp48.i31.i533 = zext i8 %c.0.i30.i532 to i32 ; <i32> [#uses=1]
3912 %tmp49.i.i534 = add i32 %tmp48.i31.i533, 208 ; <i32> [#uses=1]
3913 %tmp52.i.i535 = and i32 %tmp49.i.i534, 255 ; <i32> [#uses=2]
3914 %tmp54.i.i536 = icmp ult i32 %tmp52.i.i535, %radix.0.i504 ; <i1> [#uses=1]
3915 br i1 %tmp54.i.i536, label %if55.i.i544, label %_D5tango4text7convert7Integer12__T5parseTaZ5parseFAakPkZl.exit548
3916
3917if55.i.i544: ; preds = %endif.i.i537
3918 %tmp59.i.i538 = zext i32 %radix.0.i504 to i64 ; <i64> [#uses=1]
3919 %tmp61.i.i539 = mul i64 %value.0.i.i511, %tmp59.i.i538 ; <i64> [#uses=1]
3920 %tmp64.i.i540 = zext i32 %tmp52.i.i535 to i64 ; <i64> [#uses=1]
3921 %tmp65.i.i541 = add i64 %tmp61.i.i539, %tmp64.i.i540 ; <i64> [#uses=1]
3922 %tmp70.i.i543 = add i32 %foreachkey.0.i.i513, 1 ; <i32> [#uses=1]
3923 br label %foreachcond.i.i515
3924
3925_D5tango4text7convert7Integer12__T5parseTaZ5parseFAakPkZl.exit548: ; preds = %endif.i.i537, %else24.i.i529, %foreachcond.i.i515
3926 %negval.i546 = sub i64 0, %value.0.i.i511 ; <i64> [#uses=1]
3927 %condtmp.0.i547 = select i1 %sign.2.i503, i64 %negval.i546, i64 %value.0.i.i511 ; <i64> [#uses=1]
3928 %tmp269 = trunc i64 %condtmp.0.i547 to i32 ; <i32> [#uses=1]
3929 %tmp270 = shl i32 %tmp269, 8 ; <i32> [#uses=1]
3930 %tmp273 = load %"tango.text.Regex.RegExpT!(char).RegExpT.__vtbl"** %vtbl.i640 ; <%"tango.text.Regex.RegExpT!(char).RegExpT.__vtbl"*> [#uses=1]
3931 %"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]
3932 %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]
3933 %tmp277 = call fastcc %"byte[]" %r.match276(%"tango.text.Regex.RegExpT!(char).RegExpT"* %.newclass_gc.i639, i32 7) ; <%"byte[]"> [#uses=1]
3934 %.len278 = extractvalue %"byte[]" %tmp277, 0 ; <i32> [#uses=1]
3935 %tmp279 = icmp eq i32 %.len278, 0 ; <i1> [#uses=1]
3936 br i1 %tmp279, label %condend, label %condtrue
3937
3938condtrue: ; preds = %_D5tango4text7convert7Integer12__T5parseTaZ5parseFAakPkZl.exit548
3939 %tmp282 = load %"tango.text.Regex.RegExpT!(char).RegExpT.__vtbl"** %vtbl.i640 ; <%"tango.text.Regex.RegExpT!(char).RegExpT.__vtbl"*> [#uses=1]
3940 %"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]
3941 %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]
3942 %tmp286 = call fastcc %"byte[]" %r.match285(%"tango.text.Regex.RegExpT!(char).RegExpT"* %.newclass_gc.i639, i32 7) ; <%"byte[]"> [#uses=2]
3943 %digits_arg26.i375 = extractvalue %"byte[]" %tmp286, 0 ; <i32> [#uses=3]
3944 %digits_arg27.i376 = extractvalue %"byte[]" %tmp286, 1 ; <i8*> [#uses=5]
3945 %tmp4.i.i377 = icmp eq i32 %digits_arg26.i375, 0 ; <i1> [#uses=1]
3946 br i1 %tmp4.i.i377, label %_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit.i421, label %forcond.i.i384
3947
3948forcond.i.i384: ; preds = %forinc.i.i391, %condtrue
3949 %sign.1.i378 = phi i1 [ false, %condtrue ], [ %sign.0.i388, %forinc.i.i391 ] ; <i1> [#uses=4]
3950 %len.0.i.i379 = phi i32 [ %tmp33.i.i390, %forinc.i.i391 ], [ %digits_arg26.i375, %condtrue ] ; <i32> [#uses=3]
3951 %p.0.i.i380 = phi i8* [ %tmp30.i.i389, %forinc.i.i391 ], [ %digits_arg27.i376, %condtrue ] ; <i8*> [#uses=6]
3952 %c.0.in.i.i381 = phi i8* [ %tmp30.i.i389, %forinc.i.i391 ], [ %digits_arg27.i376, %condtrue ] ; <i8*> [#uses=1]
3953 %c.0.i.i382 = load i8* %c.0.in.i.i381 ; <i8> [#uses=2]
3954 %tmp8.i.i383 = icmp eq i32 %len.0.i.i379, 0 ; <i1> [#uses=1]
3955 br i1 %tmp8.i.i383, label %endfor.i.i395, label %forbody.i.i385
3956
3957forbody.i.i385: ; preds = %forcond.i.i384
3958 switch i8 %c.0.i.i382, label %endfor.i.i395 [
3959 i8 32, label %forinc.i.i391
3960 i8 9, label %forinc.i.i391
3961 i8 45, label %if20.i.i386
3962 i8 43, label %if26.i.i387
3963 ]
3964
3965if20.i.i386: ; preds = %forbody.i.i385
3966 br label %forinc.i.i391
3967
3968if26.i.i387: ; preds = %forbody.i.i385
3969 br label %forinc.i.i391
3970
3971forinc.i.i391: ; preds = %if26.i.i387, %if20.i.i386, %forbody.i.i385, %forbody.i.i385
3972 %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]
3973 %tmp30.i.i389 = getelementptr i8* %p.0.i.i380, i32 1 ; <i8*> [#uses=2]
3974 %tmp33.i.i390 = add i32 %len.0.i.i379, -1 ; <i32> [#uses=1]
3975 br label %forcond.i.i384
3976
3977endfor.i.i395: ; preds = %forbody.i.i385, %forcond.i.i384
3978 %tmp37.i.i392 = icmp eq i8 %c.0.i.i382, 48 ; <i1> [#uses=1]
3979 %tmp39.i.i393 = icmp sgt i32 %len.0.i.i379, 1 ; <i1> [#uses=1]
3980 %or.cond.i.i394 = and i1 %tmp37.i.i392, %tmp39.i.i393 ; <i1> [#uses=1]
3981 br i1 %or.cond.i.i394, label %if40.i.i399, label %endif41.i.i409
3982
3983if40.i.i399: ; preds = %endfor.i.i395
3984 %tmp43.i.i396 = getelementptr i8* %p.0.i.i380, i32 1 ; <i8*> [#uses=2]
3985 %tmp44.i.i397 = load i8* %tmp43.i.i396 ; <i8> [#uses=1]
3986 %tmp45.i.i398 = zext i8 %tmp44.i.i397 to i32 ; <i32> [#uses=1]
3987 switch i32 %tmp45.i.i398, label %endif41.i.i409 [
3988 i32 120, label %case46.i.i401
3989 i32 88, label %case46.i.i401
3990 i32 98, label %case51.i.i403
3991 i32 66, label %case51.i.i403
3992 i32 111, label %case56.i.i405
3993 i32 79, label %case56.i.i405
3994 ]
3995
3996case46.i.i401: ; preds = %if40.i.i399, %if40.i.i399
3997 %tmp48.i.i400 = getelementptr i8* %p.0.i.i380, i32 2 ; <i8*> [#uses=1]
3998 br label %endif41.i.i409
3999
4000case51.i.i403: ; preds = %if40.i.i399, %if40.i.i399
4001 %tmp53.i.i402 = getelementptr i8* %p.0.i.i380, i32 2 ; <i8*> [#uses=1]
4002 br label %endif41.i.i409
4003
4004case56.i.i405: ; preds = %if40.i.i399, %if40.i.i399
4005 %tmp58.i.i404 = getelementptr i8* %p.0.i.i380, i32 2 ; <i8*> [#uses=1]
4006 br label %endif41.i.i409
4007
4008endif41.i.i409: ; preds = %case56.i.i405, %case51.i.i403, %case46.i.i401, %if40.i.i399, %endfor.i.i395
4009 %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]
4010 %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]
4011 %tmp63.i.i408 = icmp eq i32 %r.0.i.i406, 0 ; <i1> [#uses=1]
4012 br i1 %tmp63.i.i408, label %_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit.i421, label %if70.i.i413
4013
4014if70.i.i413: ; preds = %endif41.i.i409
4015 br label %_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit.i421
4016
4017_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit.i421: ; preds = %if70.i.i413, %endif41.i.i409, %condtrue
4018 %sign.2.i414 = phi i1 [ false, %condtrue ], [ %sign.1.i378, %if70.i.i413 ], [ %sign.1.i378, %endif41.i.i409 ] ; <i1> [#uses=1]
4019 %radix.0.i415 = phi i32 [ 0, %condtrue ], [ %r.0.i.i406, %if70.i.i413 ], [ 10, %endif41.i.i409 ] ; <i32> [#uses=2]
4020 %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]
4021 %tmp84.i.i417 = ptrtoint i8* %p.1.i.i416 to i32 ; <i32> [#uses=1]
4022 %tmp85.i.i418 = ptrtoint i8* %digits_arg27.i376 to i32 ; <i32> [#uses=1]
4023 %tmp86.i.i419 = sub i32 %tmp84.i.i417, %tmp85.i.i418 ; <i32> [#uses=2]
4024 %tmp6.i420 = sub i32 %digits_arg26.i375, %tmp86.i.i419 ; <i32> [#uses=1]
4025 br label %foreachcond.i.i426
4026
4027foreachcond.i.i426: ; preds = %if55.i.i455, %_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit.i421
4028 %value.0.i.i422 = phi i64 [ 0, %_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit.i421 ], [ %tmp65.i.i452, %if55.i.i455 ] ; <i64> [#uses=3]
4029 %foreachkey.0.i.i424 = phi i32 [ 0, %_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit.i421 ], [ %tmp70.i.i454, %if55.i.i455 ] ; <i32> [#uses=3]
4030 %tmp3.i.i425 = icmp ult i32 %foreachkey.0.i.i424, %tmp6.i420 ; <i1> [#uses=1]
4031 br i1 %tmp3.i.i425, label %foreachbody.i.i432, label %_D5tango4text7convert7Integer12__T5parseTaZ5parseFAakPkZl.exit458
4032
4033foreachbody.i.i432: ; preds = %foreachcond.i.i426
4034 %tmp5.sum.i427 = add i32 %tmp86.i.i419, %foreachkey.0.i.i424 ; <i32> [#uses=1]
4035 %tmp5.i.i428 = getelementptr i8* %digits_arg27.i376, i32 %tmp5.sum.i427 ; <i8*> [#uses=1]
4036 %tmp6.i.i429 = load i8* %tmp5.i.i428 ; <i8> [#uses=6]
4037 %tmp6.off84.i.i430 = add i8 %tmp6.i.i429, -48 ; <i8> [#uses=1]
4038 %or.cond.i28.i431 = icmp ugt i8 %tmp6.off84.i.i430, 9 ; <i1> [#uses=1]
4039 br i1 %or.cond.i28.i431, label %else.i.i435, label %endif.i.i448
4040
4041else.i.i435: ; preds = %foreachbody.i.i432
4042 %tmp6.off83.i.i433 = add i8 %tmp6.i.i429, -97 ; <i8> [#uses=1]
4043 %or.cond81.i.i434 = icmp ugt i8 %tmp6.off83.i.i433, 25 ; <i1> [#uses=1]
4044 br i1 %or.cond81.i.i434, label %else24.i.i440, label %if22.i.i437
4045
4046if22.i.i437: ; preds = %else.i.i435
4047 %tmp27.i.i436 = add i8 %tmp6.i.i429, -39 ; <i8> [#uses=1]
4048 br label %endif.i.i448
4049
4050else24.i.i440: ; preds = %else.i.i435
4051 %tmp6.off.i.i438 = add i8 %tmp6.i.i429, -65 ; <i8> [#uses=1]
4052 %or.cond82.i.i439 = icmp ugt i8 %tmp6.off.i.i438, 25 ; <i1> [#uses=1]
4053 br i1 %or.cond82.i.i439, label %_D5tango4text7convert7Integer12__T5parseTaZ5parseFAakPkZl.exit458, label %if39.i.i442
4054
4055if39.i.i442: ; preds = %else24.i.i440
4056 %tmp44.i29.i441 = add i8 %tmp6.i.i429, -7 ; <i8> [#uses=1]
4057 br label %endif.i.i448
4058
4059endif.i.i448: ; preds = %if39.i.i442, %if22.i.i437, %foreachbody.i.i432
4060 %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]
4061 %tmp48.i31.i444 = zext i8 %c.0.i30.i443 to i32 ; <i32> [#uses=1]
4062 %tmp49.i.i445 = add i32 %tmp48.i31.i444, 208 ; <i32> [#uses=1]
4063 %tmp52.i.i446 = and i32 %tmp49.i.i445, 255 ; <i32> [#uses=2]
4064 %tmp54.i.i447 = icmp ult i32 %tmp52.i.i446, %radix.0.i415 ; <i1> [#uses=1]
4065 br i1 %tmp54.i.i447, label %if55.i.i455, label %_D5tango4text7convert7Integer12__T5parseTaZ5parseFAakPkZl.exit458
4066
4067if55.i.i455: ; preds = %endif.i.i448
4068 %tmp59.i.i449 = zext i32 %radix.0.i415 to i64 ; <i64> [#uses=1]
4069 %tmp61.i.i450 = mul i64 %value.0.i.i422, %tmp59.i.i449 ; <i64> [#uses=1]
4070 %tmp64.i.i451 = zext i32 %tmp52.i.i446 to i64 ; <i64> [#uses=1]
4071 %tmp65.i.i452 = add i64 %tmp61.i.i450, %tmp64.i.i451 ; <i64> [#uses=1]
4072 %tmp70.i.i454 = add i32 %foreachkey.0.i.i424, 1 ; <i32> [#uses=1]
4073 br label %foreachcond.i.i426
4074
4075_D5tango4text7convert7Integer12__T5parseTaZ5parseFAakPkZl.exit458: ; preds = %endif.i.i448, %else24.i.i440, %foreachcond.i.i426
4076 %negval.i456 = sub i64 0, %value.0.i.i422 ; <i64> [#uses=1]
4077 %condtmp.0.i457 = select i1 %sign.2.i414, i64 %negval.i456, i64 %value.0.i.i422 ; <i64> [#uses=1]
4078 %tmp288 = trunc i64 %condtmp.0.i457 to i32 ; <i32> [#uses=1]
4079 br label %condend
4080
4081condend: ; preds = %_D5tango4text7convert7Integer12__T5parseTaZ5parseFAakPkZl.exit458, %_D5tango4text7convert7Integer12__T5parseTaZ5parseFAakPkZl.exit548
4082 %condtmp.0 = phi i32 [ %tmp288, %_D5tango4text7convert7Integer12__T5parseTaZ5parseFAakPkZl.exit458 ], [ 0, %_D5tango4text7convert7Integer12__T5parseTaZ5parseFAakPkZl.exit548 ] ; <i32> [#uses=1]
4083 %tmp290 = add i32 %tmp270, %condtmp.0 ; <i32> [#uses=1]
4084 %.newclass_gc_alloc291 = call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango3net6Socket11IPv4Address7__ClassZ) ; <i8*> [#uses=4]
4085 %.newclass_gc292 = bitcast i8* %.newclass_gc_alloc291 to %tango.net.Socket.IPv4Address* ; <%tango.net.Socket.IPv4Address*> [#uses=1]
4086 %vtbl293 = bitcast i8* %.newclass_gc_alloc291 to %tango.net.Socket.IPv4Address.__vtbl** ; <%tango.net.Socket.IPv4Address.__vtbl**> [#uses=1]
4087 store %tango.net.Socket.IPv4Address.__vtbl* @_D5tango3net6Socket11IPv4Address6__vtblZ, %tango.net.Socket.IPv4Address.__vtbl** %vtbl293
4088 %monitor294 = getelementptr i8* %.newclass_gc_alloc291, i32 4 ; <i8*> [#uses=1]
4089 %10 = bitcast i8* %monitor294 to i8** ; <i8**> [#uses=1]
4090 store i8* null, i8** %10
4091 %tmp295 = getelementptr i8* %.newclass_gc_alloc291, i32 8 ; <i8*> [#uses=1]
4092 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)
4093 %insert = insertvalue %"byte[]" undef, i32 %tmp252, 0 ; <%"byte[]"> [#uses=1]
4094 %insert327 = insertvalue %"byte[]" %insert, i8* %.gc_mem253, 1 ; <%"byte[]"> [#uses=1]
4095 %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]
4096 %tmp302 = bitcast %tango.net.Socket.IPv4Address* %tmp301 to %tango.net.Socket.Address* ; <%tango.net.Socket.Address*> [#uses=1]
4097 br label %try
4098
4099try: ; preds = %condend, %_D5tango4text7convert7Integer12__T5parseTaZ5parseFAakPkZl.exit635, %_D5tango4text7convert7Integer12__T5parseTaZ5parseFAakPkZl.exit
4100 %connect_to.0 = phi %tango.net.Socket.Address* [ %tmp46, %_D5tango4text7convert7Integer12__T5parseTaZ5parseFAakPkZl.exit ], [ %tmp147, %_D5tango4text7convert7Integer12__T5parseTaZ5parseFAakPkZl.exit635 ], [ %tmp302, %condend ] ; <%tango.net.Socket.Address*> [#uses=3]
4101 %.newclass_gc_alloc304 = invoke noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango3net13SocketConduit13SocketConduit7__ClassZ)
4102 to label %postinvoke unwind label %landingpad ; <i8*> [#uses=5]
4103
4104postinvoke: ; preds = %try
4105 %.newclass_gc305 = bitcast i8* %.newclass_gc_alloc304 to %tango.net.SocketConduit.SocketConduit* ; <%tango.net.SocketConduit.SocketConduit*> [#uses=2]
4106 %vtbl306 = bitcast i8* %.newclass_gc_alloc304 to %tango.net.SocketConduit.SocketConduit.__vtbl** ; <%tango.net.SocketConduit.SocketConduit.__vtbl**> [#uses=2]
4107 store %tango.net.SocketConduit.SocketConduit.__vtbl* @_D5tango3net13SocketConduit13SocketConduit6__vtblZ, %tango.net.SocketConduit.SocketConduit.__vtbl** %vtbl306
4108 %monitor307 = getelementptr i8* %.newclass_gc_alloc304, i32 4 ; <i8*> [#uses=1]
4109 %11 = bitcast i8* %monitor307 to i8** ; <i8**> [#uses=1]
4110 store i8* null, i8** %11
4111 %tmp308 = getelementptr i8* %.newclass_gc_alloc304, i32 8 ; <i8*> [#uses=1]
4112 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)
4113 %tmp1.i.i.i = getelementptr i8* %.newclass_gc_alloc304, i32 28 ; <i8*> [#uses=1]
4114 %12 = bitcast i8* %tmp1.i.i.i to %tango.net.Socket.Socket** ; <%tango.net.Socket.Socket**> [#uses=1]
4115 %.newclass_gc_alloc.i.i.i374 = invoke noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango3net6Socket6Socket7__ClassZ)
4116 to label %.newclass_gc_alloc.i.i.i.noexc unwind label %landingpad ; <i8*> [#uses=7]
4117
4118.newclass_gc_alloc.i.i.i.noexc: ; preds = %postinvoke
4119 %.newclass_gc.i.i.i = bitcast i8* %.newclass_gc_alloc.i.i.i374 to %tango.net.Socket.Socket* ; <%tango.net.Socket.Socket*> [#uses=2]
4120 %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]
4121 store %tango.net.Socket.Socket.__vtbl* @_D5tango3net6Socket6Socket6__vtblZ, %tango.net.Socket.Socket.__vtbl** %vtbl.i.i.i
4122 %monitor.i.i.i = getelementptr i8* %.newclass_gc_alloc.i.i.i374, i32 4 ; <i8*> [#uses=1]
4123 %13 = bitcast i8* %monitor.i.i.i to i8** ; <i8**> [#uses=1]
4124 store i8* null, i8** %13
4125 %tmp2.i.i.i = getelementptr i8* %.newclass_gc_alloc.i.i.i374, i32 8 ; <i8*> [#uses=1]
4126 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)
4127 %tmp1.i.i.i.i = getelementptr i8* %.newclass_gc_alloc.i.i.i374, i32 12 ; <i8*> [#uses=1]
4128 %14 = bitcast i8* %tmp1.i.i.i.i to i32* ; <i32*> [#uses=1]
4129 store i32 1, i32* %14
4130 %tmp4.i.i.i.i = getelementptr i8* %.newclass_gc_alloc.i.i.i374, i32 16 ; <i8*> [#uses=1]
4131 %15 = bitcast i8* %tmp4.i.i.i.i to i32* ; <i32*> [#uses=1]
4132 store i32 2, i32* %15
4133 %tmp7.i.i.i.i = getelementptr i8* %.newclass_gc_alloc.i.i.i374, i32 20 ; <i8*> [#uses=1]
4134 %16 = bitcast i8* %tmp7.i.i.i.i to i32* ; <i32*> [#uses=1]
4135 store i32 6, i32* %16
4136 invoke fastcc void @_D5tango3net6Socket6Socket10initializeMFT5tango3net6Socket8socket_tZv(%tango.net.Socket.Socket* %.newclass_gc.i.i.i, i32 -1)
4137 to label %_D5tango3net13SocketConduit13SocketConduit5_ctorMFZC5tango3net13SocketConduit13SocketConduit.exit unwind label %landingpad
4138
4139_D5tango3net13SocketConduit13SocketConduit5_ctorMFZC5tango3net13SocketConduit13SocketConduit.exit: ; preds = %.newclass_gc_alloc.i.i.i.noexc
4140 store %tango.net.Socket.Socket* %.newclass_gc.i.i.i, %tango.net.Socket.Socket** %12
4141 %tmp316 = load %tango.net.SocketConduit.SocketConduit.__vtbl** %vtbl306 ; <%tango.net.SocketConduit.SocketConduit.__vtbl*> [#uses=1]
4142 %"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]
4143 %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]
4144 %tmp320 = invoke fastcc %tango.net.SocketConduit.SocketConduit* %sock.connect(%tango.net.SocketConduit.SocketConduit* %.newclass_gc305, %tango.net.Socket.Address* %connect_to.0)
4145 to label %postinvoke319 unwind label %landingpad ; <%tango.net.SocketConduit.SocketConduit*> [#uses=0]
4146
4147postinvoke319: ; preds = %_D5tango3net13SocketConduit13SocketConduit5_ctorMFZC5tango3net13SocketConduit13SocketConduit.exit
4148 %.tmp323 = bitcast %tango.net.Socket.Address* %connect_to.0 to %object.Object* ; <%object.Object*> [#uses=1]
4149 call void @_d_delclass(%object.Object* %.tmp323)
4150 ret %tango.net.SocketConduit.SocketConduit* %.newclass_gc305
4151
4152landingpad: ; preds = %_D5tango3net13SocketConduit13SocketConduit5_ctorMFZC5tango3net13SocketConduit13SocketConduit.exit, %.newclass_gc_alloc.i.i.i.noexc, %postinvoke, %try
4153 %17 = call i8* @llvm.eh.exception() ; <i8*> [#uses=2]
4154 %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]
4155 %.tmp = bitcast %tango.net.Socket.Address* %connect_to.0 to %object.Object* ; <%object.Object*> [#uses=1]
4156 call void @_d_delclass(%object.Object* %.tmp)
4157 call void @_d_eh_resume_unwind(i8* %17)
4158 unreachable
4159}
4160
4161define fastcc i1 @_D5tango3net3ftp9FtpClient13FTPConnection11isSupportedMFAaZb(%tango.net.ftp.FtpClient.FTPConnection* nocapture %.this_arg, %"byte[]" %command_arg) {
4162entry:
4163 %tmp2 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 5, i32 0 ; <i32*> [#uses=1]
4164 %.len = load i32* %tmp2 ; <i32> [#uses=2]
4165 %tmp3 = icmp eq i32 %.len, 0 ; <i1> [#uses=1]
4166 br i1 %tmp3, label %if, label %endif
4167
4168if: ; preds = %entry
4169 ret i1 true
4170
4171endif: ; preds = %entry
4172 %tmp8 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 5, i32 1 ; <%tango.net.ftp.FtpClient.FtpFeature**> [#uses=1]
4173 %.ptr = load %tango.net.ftp.FtpClient.FtpFeature** %tmp8 ; <%tango.net.ftp.FtpClient.FtpFeature*> [#uses=2]
4174 br label %foreachcond
4175
4176foreachcond: ; preds = %foreachnext, %endif
4177 %foreachkey.0 = phi i32 [ 0, %endif ], [ %tmp24, %foreachnext ] ; <i32> [#uses=4]
4178 %tmp10 = icmp ult i32 %foreachkey.0, %.len ; <i1> [#uses=1]
4179 br i1 %tmp10, label %foreachbody, label %foreachend
4180
4181foreachbody: ; preds = %foreachcond
4182 %tmp1231.0 = getelementptr %tango.net.ftp.FtpClient.FtpFeature* %.ptr, i32 %foreachkey.0, i32 0, i32 0 ; <i32*> [#uses=1]
4183 %tmp32 = load i32* %tmp1231.0 ; <i32> [#uses=3]
4184 %tmp1231.1 = getelementptr %tango.net.ftp.FtpClient.FtpFeature* %.ptr, i32 %foreachkey.0, i32 0, i32 1 ; <i8**> [#uses=1]
4185 %tmp33 = load i8** %tmp1231.1, align 4 ; <i8*> [#uses=1]
4186 %s2_arg22.i = extractvalue %"byte[]" %command_arg, 0 ; <i32> [#uses=3]
4187 %s2_arg23.i = extractvalue %"byte[]" %command_arg, 1 ; <i8*> [#uses=1]
4188 %tmp4.i = icmp ult i32 %s2_arg22.i, %tmp32 ; <i1> [#uses=1]
4189 %len.0.i = select i1 %tmp4.i, i32 %s2_arg22.i, i32 %tmp32 ; <i32> [#uses=1]
4190 %tmp11.i = tail call i32 @strncasecmp(i8* %tmp33, i8* %s2_arg23.i, i32 %len.0.i) ; <i32> [#uses=2]
4191 %tmp20.i = sub i32 %tmp32, %s2_arg22.i ; <i32> [#uses=1]
4192 %tmp13.i = icmp eq i32 %tmp11.i, 0 ; <i1> [#uses=1]
4193 %tmp20.tmp11.i = select i1 %tmp13.i, i32 %tmp20.i, i32 %tmp11.i ; <i32> [#uses=1]
4194 %tmp19 = icmp eq i32 %tmp20.tmp11.i, 0 ; <i1> [#uses=1]
4195 br i1 %tmp19, label %if20, label %foreachnext
4196
4197if20: ; preds = %foreachbody
4198 ret i1 true
4199
4200foreachnext: ; preds = %foreachbody
4201 %tmp24 = add i32 %foreachkey.0, 1 ; <i32> [#uses=1]
4202 br label %foreachcond
4203
4204foreachend: ; preds = %foreachcond
4205 ret i1 false
4206}
4207
4208define fastcc i1 @_D5tango3net3ftp9FtpClient13FTPConnection12is_supportedMFAaZb(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" %command_arg) {
4209entry:
4210 %tmp2 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 5, i32 0 ; <i32*> [#uses=1]
4211 %.len = load i32* %tmp2 ; <i32> [#uses=1]
4212 %tmp3 = icmp eq i32 %.len, 0 ; <i1> [#uses=1]
4213 br i1 %tmp3, label %if, label %endif
4214
4215if: ; preds = %entry
4216 ret i1 false
4217
4218endif: ; preds = %entry
4219 %tmp5 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 0 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl**> [#uses=1]
4220 %tmp6 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp5 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
4221 %"this.isSupported@vtbl" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp6, i32 0, i32 41 ; <i1 (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")**> [#uses=1]
4222 %this.isSupported = load i1 (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")** %"this.isSupported@vtbl", align 4 ; <i1 (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")*> [#uses=1]
4223 %tmp9 = tail call fastcc i1 %this.isSupported(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" %command_arg) ; <i1> [#uses=1]
4224 ret i1 %tmp9
4225}
4226
4227define fastcc void @_D5tango3net3ftp9FtpClient13FTPConnection17prepareDataSocketMFKC5tango3net13SocketConduit13SocketConduitZv(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %tango.net.SocketConduit.SocketConduit** nocapture %data_arg) {
4228entry:
4229 %tv.i = alloca %tango.net.Socket.timeval, align 8 ; <%tango.net.Socket.timeval*> [#uses=2]
4230 %.rettmp = alloca %tango.time.Time.Time, align 8 ; <%tango.time.Time.Time*> [#uses=2]
4231 %.rettmp20 = alloca %tango.time.Time.Time, align 8 ; <%tango.time.Time.Time*> [#uses=2]
4232 %.rettmp25 = alloca %tango.time.Time.Time, align 8 ; <%tango.time.Time.Time*> [#uses=2]
4233 %.rettmp53 = alloca %tango.time.Time.Time, align 8 ; <%tango.time.Time.Time*> [#uses=2]
4234 %tmp2 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 6, i32 0 ; <i32*> [#uses=1]
4235 %tmp3 = load i32* %tmp2 ; <i32> [#uses=1]
4236 switch i32 %tmp3, label %default4 [
4237 i32 0, label %case
4238 i32 1, label %switchend
4239 ]
4240
4241default4: ; preds = %entry
4242 %tmp6 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 0 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl**> [#uses=1]
4243 %tmp7 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp6 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
4244 %"this.exception@vtbl" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp7, i32 0, i32 5 ; <void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")**> [#uses=1]
4245 %this.exception = load void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")** %"this.exception@vtbl", align 4 ; <void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")*> [#uses=1]
4246 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) })
4247 br label %case
4248
4249case: ; preds = %default4, %entry
4250 %.newclass_gc_alloc = call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango3net6Socket9SocketSet7__ClassZ) ; <i8*> [#uses=8]
4251 %.newclass_gc = bitcast i8* %.newclass_gc_alloc to %tango.net.Socket.SocketSet* ; <%tango.net.Socket.SocketSet*> [#uses=3]
4252 %vtbl = bitcast i8* %.newclass_gc_alloc to %tango.net.Socket.SocketSet.__vtbl** ; <%tango.net.Socket.SocketSet.__vtbl**> [#uses=3]
4253 store %tango.net.Socket.SocketSet.__vtbl* @_D5tango3net6Socket9SocketSet6__vtblZ, %tango.net.Socket.SocketSet.__vtbl** %vtbl
4254 %monitor = getelementptr i8* %.newclass_gc_alloc, i32 4 ; <i8*> [#uses=1]
4255 %0 = bitcast i8* %monitor to i8** ; <i8**> [#uses=1]
4256 store i8* null, i8** %0
4257 %tmp9 = getelementptr i8* %.newclass_gc_alloc, i32 8 ; <i8*> [#uses=2]
4258 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)
4259 %1 = bitcast i8* %tmp9 to i32* ; <i32*> [#uses=2]
4260 store i32 128, i32* %1
4261 %tmp9.i.i = getelementptr i8* %.newclass_gc_alloc, i32 12 ; <i8*> [#uses=1]
4262 %2 = bitcast i8* %tmp9.i.i to i8** ; <i8**> [#uses=1]
4263 %.gc_mem.i.i = call noalias i8* @_d_newarrayT(%object.TypeInfo* @_D11TypeInfo_Ag6__initZ, i32 128) ; <i8*> [#uses=1]
4264 store i8* %.gc_mem.i.i, i8** %2
4265 %tmp14.i.i = getelementptr i8* %.newclass_gc_alloc, i32 16 ; <i8*> [#uses=1]
4266 %3 = bitcast i8* %tmp14.i.i to i32* ; <i32*> [#uses=1]
4267 %tmp17.i.i = load i32* %1 ; <i32> [#uses=1]
4268 %tmp18.i.i = shl i32 %tmp17.i.i, 3 ; <i32> [#uses=1]
4269 store i32 %tmp18.i.i, i32* %3
4270 invoke fastcc void @_D5tango4time5Clock5Clock3nowFZS5tango4time4Time4Time(%tango.time.Time.Time* noalias nocapture sret %.rettmp)
4271 to label %postinvoke unwind label %landingpad
4272
4273postinvoke: ; preds = %case
4274 %tmp17 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 0 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl**> [#uses=2]
4275 %tmp18 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp17 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
4276 %"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]
4277 %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]
4278 invoke fastcc void %this.timeout(%tango.time.Time.Time* noalias nocapture sret %.rettmp20, %tango.net.ftp.FtpClient.FTPConnection* %.this_arg)
4279 to label %postinvoke21 unwind label %landingpad
4280
4281postinvoke21: ; preds = %postinvoke
4282 %.rettmp20.0 = getelementptr %tango.time.Time.Time* %.rettmp20, i32 0, i32 0 ; <i64*> [#uses=1]
4283 %tmp = load i64* %.rettmp20.0, align 8 ; <i64> [#uses=1]
4284 %tmp1.i = getelementptr %tango.time.Time.Time* %.rettmp, i32 0, i32 0 ; <i64*> [#uses=1]
4285 %tmp3.i = load i64* %tmp1.i, align 8 ; <i64> [#uses=1]
4286 invoke fastcc void @_D5tango4time5Clock5Clock3nowFZS5tango4time4Time4Time(%tango.time.Time.Time* noalias nocapture sret %.rettmp25)
4287 to label %postinvoke26 unwind label %landingpad
4288
4289whilebody: ; preds = %postinvoke26
4290 %tmp32 = load %tango.net.Socket.SocketSet.__vtbl** %vtbl ; <%tango.net.Socket.SocketSet.__vtbl*> [#uses=1]
4291 %"set.reset@vtbl" = getelementptr %tango.net.Socket.SocketSet.__vtbl* %tmp32, i32 0, i32 10 ; <void (%tango.net.Socket.SocketSet*)**> [#uses=1]
4292 %set.reset = load void (%tango.net.Socket.SocketSet*)** %"set.reset@vtbl", align 4 ; <void (%tango.net.Socket.SocketSet*)*> [#uses=1]
4293 invoke fastcc void %set.reset(%tango.net.Socket.SocketSet* %.newclass_gc)
4294 to label %postinvoke34 unwind label %landingpad
4295
4296postinvoke26: ; preds = %postinvoke21
4297 %tmp5.i = add i64 %tmp3.i, %tmp ; <i64> [#uses=1]
4298 %tmp1.i133 = getelementptr %tango.time.Time.Time* %.rettmp25, i32 0, i32 0 ; <i64*> [#uses=1]
4299 %tmp3.i135 = load i64* %tmp1.i133, align 8 ; <i64> [#uses=1]
4300 %tmp5.i137 = icmp slt i64 %tmp3.i135, %tmp5.i ; <i1> [#uses=1]
4301 br i1 %tmp5.i137, label %whilebody, label %endwhile
4302
4303postinvoke34: ; preds = %whilebody
4304 %tmp37 = load %tango.net.Socket.SocketSet.__vtbl** %vtbl ; <%tango.net.Socket.SocketSet.__vtbl*> [#uses=1]
4305 %"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]
4306 %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]
4307 %tmp39 = load %tango.net.SocketConduit.SocketConduit** %data_arg ; <%tango.net.SocketConduit.SocketConduit*> [#uses=2]
4308 %tmp40 = getelementptr %tango.net.SocketConduit.SocketConduit* %tmp39, i32 0, i32 0 ; <%tango.net.SocketConduit.SocketConduit.__vtbl**> [#uses=1]
4309 %tmp41 = load %tango.net.SocketConduit.SocketConduit.__vtbl** %tmp40 ; <%tango.net.SocketConduit.SocketConduit.__vtbl*> [#uses=1]
4310 %"data.socket@vtbl" = getelementptr %tango.net.SocketConduit.SocketConduit.__vtbl* %tmp41, i32 0, i32 14 ; <%tango.net.Socket.Socket* (%tango.net.SocketConduit.SocketConduit*)**> [#uses=1]
4311 %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]
4312 %tmp44 = invoke fastcc %tango.net.Socket.Socket* %data.socket(%tango.net.SocketConduit.SocketConduit* %tmp39)
4313 to label %postinvoke43 unwind label %landingpad ; <%tango.net.Socket.Socket*> [#uses=1]
4314
4315postinvoke43: ; preds = %postinvoke34
4316 invoke fastcc void %set.add(%tango.net.Socket.SocketSet* %.newclass_gc, %tango.net.Socket.Socket* %tmp44)
4317 to label %postinvoke45 unwind label %landingpad
4318
4319postinvoke45: ; preds = %postinvoke43
4320 %tmp49 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp17 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
4321 %"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]
4322 %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]
4323 invoke fastcc void %this.timeout52(%tango.time.Time.Time* noalias nocapture sret %.rettmp53, %tango.net.ftp.FtpClient.FTPConnection* %.this_arg)
4324 to label %postinvoke54 unwind label %landingpad
4325
4326postinvoke54: ; preds = %postinvoke45
4327 %.rettmp53.0 = getelementptr %tango.time.Time.Time* %.rettmp53, i32 0, i32 0 ; <i64*> [#uses=1]
4328 %tmp150 = load i64* %.rettmp53.0, align 8 ; <i64> [#uses=2]
4329 %tmp3.i.i.i = sdiv i64 %tmp150, 10000000 ; <i64> [#uses=1]
4330 %tmp3.i14.i.i = sdiv i64 %tmp150, 10 ; <i64> [#uses=1]
4331 %tmp6.i.i = trunc i64 %tmp3.i14.i.i to i32 ; <i32> [#uses=1]
4332 %tmp7.i.i = urem i32 %tmp6.i.i, 1000000 ; <i32> [#uses=1]
4333 %tmp7.i = bitcast %tango.net.Socket.timeval* %tv.i to i64* ; <i64*> [#uses=1]
4334 %4 = shl i64 %tmp3.i.i.i, 32 ; <i64> [#uses=1]
4335 %5 = zext i32 %tmp7.i.i to i64 ; <i64> [#uses=1]
4336 %6 = or i64 %5, %4 ; <i64> [#uses=1]
4337 store i64 %6, i64* %tmp7.i, align 8
4338 %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)
4339 to label %_D5tango3net6Socket6Socket6selectFC5tango3net6Socket9SocketSetC5tango3net6Socket9SocketSetC5tango3net6Socket9SocketSetS5tango4time4Time8TimeSpanZi.exit unwind label %landingpad ; <i32> [#uses=1]
4340
4341_D5tango3net6Socket6Socket6selectFC5tango3net6Socket9SocketSetC5tango3net6Socket9SocketSetC5tango3net6Socket9SocketSetS5tango4time4Time8TimeSpanZi.exit: ; preds = %postinvoke54
4342 switch i32 %tmp5.i141142, label %endif [
4343 i32 -1, label %endwhile
4344 i32 0, label %endwhile
4345 ]
4346
4347endif: ; preds = %_D5tango3net6Socket6Socket6selectFC5tango3net6Socket9SocketSetC5tango3net6Socket9SocketSetC5tango3net6Socket9SocketSetS5tango4time4Time8TimeSpanZi.exit
4348 %tmp61 = load %tango.net.SocketConduit.SocketConduit** %data_arg ; <%tango.net.SocketConduit.SocketConduit*> [#uses=2]
4349 %tmp62 = getelementptr %tango.net.SocketConduit.SocketConduit* %tmp61, i32 0, i32 0 ; <%tango.net.SocketConduit.SocketConduit.__vtbl**> [#uses=1]
4350 %tmp63 = load %tango.net.SocketConduit.SocketConduit.__vtbl** %tmp62 ; <%tango.net.SocketConduit.SocketConduit.__vtbl*> [#uses=1]
4351 %"data.socket@vtbl64" = getelementptr %tango.net.SocketConduit.SocketConduit.__vtbl* %tmp63, i32 0, i32 14 ; <%tango.net.Socket.Socket* (%tango.net.SocketConduit.SocketConduit*)**> [#uses=1]
4352 %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]
4353 %tmp68 = invoke fastcc %tango.net.Socket.Socket* %data.socket66(%tango.net.SocketConduit.SocketConduit* %tmp61)
4354 to label %postinvoke67 unwind label %landingpad ; <%tango.net.Socket.Socket*> [#uses=2]
4355
4356postinvoke67: ; preds = %endif
4357 %tmp69 = getelementptr %tango.net.Socket.Socket* %tmp68, i32 0, i32 0 ; <%tango.net.Socket.Socket.__vtbl**> [#uses=1]
4358 %tmp70 = load %tango.net.Socket.Socket.__vtbl** %tmp69 ; <%tango.net.Socket.Socket.__vtbl*> [#uses=1]
4359 %"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]
4360 %"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]
4361 %tmp73 = invoke fastcc %tango.net.Socket.Socket* %"data.socket().accept"(%tango.net.Socket.Socket* %tmp68)
4362 to label %endwhile unwind label %landingpad ; <%tango.net.Socket.Socket*> [#uses=1]
4363
4364endwhile: ; preds = %postinvoke67, %_D5tango3net6Socket6Socket6selectFC5tango3net6Socket9SocketSetC5tango3net6Socket9SocketSetC5tango3net6Socket9SocketSetS5tango4time4Time8TimeSpanZi.exit, %_D5tango3net6Socket6Socket6selectFC5tango3net6Socket9SocketSetC5tango3net6Socket9SocketSetC5tango3net6Socket9SocketSetS5tango4time4Time8TimeSpanZi.exit, %postinvoke26
4365 %new_data.0 = phi %tango.net.Socket.Socket* [ null, %_D5tango3net6Socket6Socket6selectFC5tango3net6Socket9SocketSetC5tango3net6Socket9SocketSetC5tango3net6Socket9SocketSetS5tango4time4Time8TimeSpanZi.exit ], [ null, %postinvoke26 ], [ null, %_D5tango3net6Socket6Socket6selectFC5tango3net6Socket9SocketSetC5tango3net6Socket9SocketSetC5tango3net6Socket9SocketSetS5tango4time4Time8TimeSpanZi.exit ], [ %tmp73, %postinvoke67 ] ; <%tango.net.Socket.Socket*> [#uses=2]
4366 %tmp76 = icmp eq %tango.net.Socket.Socket* %new_data.0, null ; <i1> [#uses=1]
4367 br i1 %tmp76, label %if77, label %endif78
4368
4369if77: ; preds = %endwhile
4370 %.newclass_gc_alloc80 = invoke noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango3net3ftp9FtpClient12FtpException7__ClassZ)
4371 to label %postinvoke79 unwind label %landingpad ; <i8*> [#uses=6]
4372
4373postinvoke79: ; preds = %if77
4374 %vtbl82 = bitcast i8* %.newclass_gc_alloc80 to %tango.net.ftp.FtpClient.FtpException.__vtbl** ; <%tango.net.ftp.FtpClient.FtpException.__vtbl**> [#uses=1]
4375 store %tango.net.ftp.FtpClient.FtpException.__vtbl* @_D5tango3net3ftp9FtpClient12FtpException6__vtblZ, %tango.net.ftp.FtpClient.FtpException.__vtbl** %vtbl82
4376 %monitor83 = getelementptr i8* %.newclass_gc_alloc80, i32 4 ; <i8*> [#uses=1]
4377 %7 = bitcast i8* %monitor83 to i8** ; <i8**> [#uses=1]
4378 store i8* null, i8** %7
4379 %tmp84 = getelementptr i8* %.newclass_gc_alloc80, i32 8 ; <i8*> [#uses=1]
4380 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)
4381 %tmp2.i143 = getelementptr i8* %.newclass_gc_alloc80, i32 36 ; <i8*> [#uses=1]
4382 call void @llvm.memcpy.i32(i8* %tmp2.i143, i8* getelementptr ([4 x i8]* @.str148, i32 0, i32 0), i32 3, i32 1)
4383 %tmp5.i144 = bitcast i8* %.newclass_gc_alloc80 to %object.Exception* ; <%object.Exception*> [#uses=1]
4384 %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)
4385 to label %_D5tango3net3ftp9FtpClient12FtpException5_ctorMFAaG3aZC5tango3net3ftp9FtpClient12FtpException.exit unwind label %landingpad ; <%object.Exception*> [#uses=0]
4386
4387_D5tango3net3ftp9FtpClient12FtpException5_ctorMFAaG3aZC5tango3net3ftp9FtpClient12FtpException.exit: ; preds = %postinvoke79
4388 %tmp90 = bitcast i8* %.newclass_gc_alloc80 to %object.Object* ; <%object.Object*> [#uses=1]
4389 invoke void @_d_throw_exception(%object.Object* %tmp90)
4390 to label %postinvoke91 unwind label %landingpad
4391
4392postinvoke91: ; preds = %_D5tango3net3ftp9FtpClient12FtpException5_ctorMFAaG3aZC5tango3net3ftp9FtpClient12FtpException.exit
4393 unreachable
4394
4395endif78: ; preds = %endwhile
4396 %tmp92 = load %tango.net.SocketConduit.SocketConduit** %data_arg ; <%tango.net.SocketConduit.SocketConduit*> [#uses=2]
4397 %tmp93 = getelementptr %tango.net.SocketConduit.SocketConduit* %tmp92, i32 0, i32 0 ; <%tango.net.SocketConduit.SocketConduit.__vtbl**> [#uses=1]
4398 %tmp94 = load %tango.net.SocketConduit.SocketConduit.__vtbl** %tmp93 ; <%tango.net.SocketConduit.SocketConduit.__vtbl*> [#uses=1]
4399 %"data.socket@vtbl95" = getelementptr %tango.net.SocketConduit.SocketConduit.__vtbl* %tmp94, i32 0, i32 14 ; <%tango.net.Socket.Socket* (%tango.net.SocketConduit.SocketConduit*)**> [#uses=1]
4400 %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]
4401 %tmp99 = invoke fastcc %tango.net.Socket.Socket* %data.socket97(%tango.net.SocketConduit.SocketConduit* %tmp92)
4402 to label %postinvoke98 unwind label %landingpad ; <%tango.net.Socket.Socket*> [#uses=2]
4403
4404postinvoke98: ; preds = %endif78
4405 %tmp100 = getelementptr %tango.net.Socket.Socket* %tmp99, i32 0, i32 0 ; <%tango.net.Socket.Socket.__vtbl**> [#uses=1]
4406 %tmp101 = load %tango.net.Socket.Socket.__vtbl** %tmp100 ; <%tango.net.Socket.Socket.__vtbl*> [#uses=1]
4407 %"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]
4408 %"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]
4409 %tmp104 = invoke fastcc %tango.net.Socket.Socket* %"data.socket().shutdown"(%tango.net.Socket.Socket* %tmp99, i32 2)
4410 to label %postinvoke103 unwind label %landingpad ; <%tango.net.Socket.Socket*> [#uses=0]
4411
4412postinvoke103: ; preds = %postinvoke98
4413 %tmp105 = load %tango.net.SocketConduit.SocketConduit** %data_arg ; <%tango.net.SocketConduit.SocketConduit*> [#uses=2]
4414 %tmp106 = getelementptr %tango.net.SocketConduit.SocketConduit* %tmp105, i32 0, i32 0 ; <%tango.net.SocketConduit.SocketConduit.__vtbl**> [#uses=1]
4415 %tmp107 = load %tango.net.SocketConduit.SocketConduit.__vtbl** %tmp106 ; <%tango.net.SocketConduit.SocketConduit.__vtbl*> [#uses=1]
4416 %"data.detach@vtbl" = getelementptr %tango.net.SocketConduit.SocketConduit.__vtbl* %tmp107, i32 0, i32 8 ; <void (%tango.net.SocketConduit.SocketConduit*)**> [#uses=1]
4417 %data.detach = load void (%tango.net.SocketConduit.SocketConduit*)** %"data.detach@vtbl", align 4 ; <void (%tango.net.SocketConduit.SocketConduit*)*> [#uses=1]
4418 invoke fastcc void %data.detach(%tango.net.SocketConduit.SocketConduit* %tmp105)
4419 to label %postinvoke109 unwind label %landingpad
4420
4421postinvoke109: ; preds = %postinvoke103
4422 %tmp110 = load %tango.net.SocketConduit.SocketConduit** %data_arg ; <%tango.net.SocketConduit.SocketConduit*> [#uses=2]
4423 %tmp111 = getelementptr %tango.net.SocketConduit.SocketConduit* %tmp110, i32 0, i32 0 ; <%tango.net.SocketConduit.SocketConduit.__vtbl**> [#uses=1]
4424 %tmp112 = load %tango.net.SocketConduit.SocketConduit.__vtbl** %tmp111 ; <%tango.net.SocketConduit.SocketConduit.__vtbl*> [#uses=1]
4425 %"data.socket@vtbl113" = getelementptr %tango.net.SocketConduit.SocketConduit.__vtbl* %tmp112, i32 0, i32 14 ; <%tango.net.Socket.Socket* (%tango.net.SocketConduit.SocketConduit*)**> [#uses=1]
4426 %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]
4427 %tmp117 = invoke fastcc %tango.net.Socket.Socket* %data.socket115(%tango.net.SocketConduit.SocketConduit* %tmp110)
4428 to label %postinvoke116 unwind label %landingpad ; <%tango.net.Socket.Socket*> [#uses=1]
4429
4430postinvoke116: ; preds = %postinvoke109
4431 %tmp118 = getelementptr %tango.net.Socket.Socket* %tmp117, i32 0, i32 2 ; <i32*> [#uses=1]
4432 %tmp120 = getelementptr %tango.net.Socket.Socket* %new_data.0, i32 0, i32 2 ; <i32*> [#uses=1]
4433 %tmp121 = load i32* %tmp120 ; <i32> [#uses=1]
4434 store i32 %tmp121, i32* %tmp118
4435 %.tmp123 = bitcast i8* %.newclass_gc_alloc to %object.Object* ; <%object.Object*> [#uses=1]
4436 call void @_d_delclass(%object.Object* %.tmp123)
4437 ret void
4438
4439landingpad: ; preds = %postinvoke109, %postinvoke103, %postinvoke98, %endif78, %_D5tango3net3ftp9FtpClient12FtpException5_ctorMFAaG3aZC5tango3net3ftp9FtpClient12FtpException.exit, %postinvoke79, %if77, %postinvoke67, %endif, %postinvoke54, %postinvoke45, %postinvoke43, %postinvoke34, %whilebody, %postinvoke21, %postinvoke, %case
4440 %8 = call i8* @llvm.eh.exception() ; <i8*> [#uses=2]
4441 %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]
4442 %.tmp = bitcast i8* %.newclass_gc_alloc to %object.Object* ; <%object.Object*> [#uses=1]
4443 call void @_d_delclass(%object.Object* %.tmp)
4444 call void @_d_eh_resume_unwind(i8* %8)
4445 unreachable
4446
4447switchend: ; preds = %entry
4448 ret void
4449}
4450
4451define fastcc void @_D5tango3net3ftp9FtpClient13FTPConnection17finishDataCommandMFC5tango3net13SocketConduit13SocketConduitZv(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %tango.net.SocketConduit.SocketConduit* %data_arg) {
4452entry:
4453 %r = alloca %tango.net.ftp.FtpClient.FtpResponse, align 4 ; <%tango.net.ftp.FtpClient.FtpResponse*> [#uses=1]
4454 %.rettmp = alloca %tango.net.ftp.FtpClient.FtpResponse, align 8 ; <%tango.net.ftp.FtpClient.FtpResponse*> [#uses=2]
4455 %tmp1 = bitcast %tango.net.SocketConduit.SocketConduit* %data_arg to %tango.io.device.Conduit.Conduit* ; <%tango.io.device.Conduit.Conduit*> [#uses=1]
4456 %tmp1.i = bitcast %tango.net.SocketConduit.SocketConduit* %data_arg to %tango.io.device.Conduit.Conduit.__vtbl** ; <%tango.io.device.Conduit.Conduit.__vtbl**> [#uses=1]
4457 %tmp2.i = load %tango.io.device.Conduit.Conduit.__vtbl** %tmp1.i ; <%tango.io.device.Conduit.Conduit.__vtbl*> [#uses=1]
4458 %"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]
4459 %this.detach.i = load void (%tango.io.device.Conduit.Conduit*)** %"this.detach@vtbl.i", align 4 ; <void (%tango.io.device.Conduit.Conduit*)*> [#uses=1]
4460 call fastcc void %this.detach.i(%tango.io.device.Conduit.Conduit* %tmp1)
4461 %tmp3 = getelementptr %tango.net.SocketConduit.SocketConduit* %data_arg, i32 0, i32 0 ; <%tango.net.SocketConduit.SocketConduit.__vtbl**> [#uses=1]
4462 %tmp4 = load %tango.net.SocketConduit.SocketConduit.__vtbl** %tmp3 ; <%tango.net.SocketConduit.SocketConduit.__vtbl*> [#uses=1]
4463 %"data.detach@vtbl" = getelementptr %tango.net.SocketConduit.SocketConduit.__vtbl* %tmp4, i32 0, i32 8 ; <void (%tango.net.SocketConduit.SocketConduit*)**> [#uses=1]
4464 %data.detach = load void (%tango.net.SocketConduit.SocketConduit*)** %"data.detach@vtbl", align 4 ; <void (%tango.net.SocketConduit.SocketConduit*)*> [#uses=1]
4465 call fastcc void %data.detach(%tango.net.SocketConduit.SocketConduit* %data_arg)
4466 %tmp7 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 0 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl**> [#uses=2]
4467 %tmp8 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp7 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
4468 %"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]
4469 %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]
4470 call fastcc void %this.readResponse(%tango.net.ftp.FtpClient.FtpResponse* noalias nocapture sret %.rettmp, %tango.net.ftp.FtpClient.FTPConnection* %.this_arg)
4471 %tmp10 = getelementptr %tango.net.ftp.FtpClient.FtpResponse* %r, i32 0, i32 0, i32 0 ; <i8*> [#uses=3]
4472 %tmp11 = getelementptr %tango.net.ftp.FtpClient.FtpResponse* %.rettmp, i32 0, i32 0, i32 0 ; <i8*> [#uses=1]
4473 call void @llvm.memcpy.i32(i8* %tmp10, i8* %tmp11, i32 12, i32 4)
4474 %tmp14 = insertvalue %"byte[]" { i32 3, i8* undef }, i8* %tmp10, 1 ; <%"byte[]"> [#uses=1]
4475 %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]
4476 %tmp16 = icmp eq i32 %tmp15, 0 ; <i1> [#uses=1]
4477 br i1 %tmp16, label %oror, label %endif
4478
4479oror: ; preds = %entry
4480 %tmp19 = insertvalue %"byte[]" { i32 3, i8* undef }, i8* %tmp10, 1 ; <%"byte[]"> [#uses=1]
4481 %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]
4482 %tmp21 = icmp eq i32 %tmp20, 0 ; <i1> [#uses=1]
4483 br i1 %tmp21, label %if, label %endif
4484
4485if: ; preds = %oror
4486 %tmp24 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp7 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
4487 %"this.exception@vtbl" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp24, i32 0, i32 5 ; <void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")**> [#uses=1]
4488 %this.exception = load void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")** %"this.exception@vtbl", align 4 ; <void (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")*> [#uses=1]
4489 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) })
4490 ret void
4491
4492endif: ; preds = %oror, %entry
4493 ret void
4494}
4495
4496define fastcc %tango.net.SocketConduit.SocketConduit* @_D5tango3net3ftp9FtpClient13FTPConnection18processDataCommandMFAaAAaXC5tango3net13SocketConduit13SocketConduit(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" %command_arg, %"char[][]" %parameters_arg) {
4497entry:
4498 %data = alloca %tango.net.SocketConduit.SocketConduit*, align 4 ; <%tango.net.SocketConduit.SocketConduit**> [#uses=4]
4499 %response = alloca %tango.net.ftp.FtpClient.FtpResponse, align 4 ; <%tango.net.ftp.FtpClient.FtpResponse*> [#uses=2]
4500 %.rettmp = alloca %tango.net.ftp.FtpClient.FtpResponse, align 8 ; <%tango.net.ftp.FtpClient.FtpResponse*> [#uses=2]
4501 %tmp1 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 0 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl**> [#uses=5]
4502 %tmp2 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp1 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
4503 %"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]
4504 %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]
4505 %tmp4 = call fastcc %tango.net.SocketConduit.SocketConduit* %this.getDataSocket(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg) ; <%tango.net.SocketConduit.SocketConduit*> [#uses=1]
4506 store %tango.net.SocketConduit.SocketConduit* %tmp4, %tango.net.SocketConduit.SocketConduit** %data
4507 %tmp10 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp1 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
4508 %"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]
4509 %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]
4510 invoke fastcc void %this.sendCommand(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" %command_arg, %"char[][]" %parameters_arg)
4511 to label %postinvoke unwind label %landingpad
4512
4513postinvoke: ; preds = %entry
4514 %tmp16 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp1 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
4515 %"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]
4516 %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]
4517 invoke fastcc void %this.readResponse(%tango.net.ftp.FtpClient.FtpResponse* noalias nocapture sret %.rettmp, %tango.net.ftp.FtpClient.FTPConnection* %.this_arg)
4518 to label %postinvoke18 unwind label %landingpad
4519
4520postinvoke18: ; preds = %postinvoke
4521 %tmp19 = getelementptr %tango.net.ftp.FtpClient.FtpResponse* %response, i32 0, i32 0, i32 0 ; <i8*> [#uses=3]
4522 %tmp20 = getelementptr %tango.net.ftp.FtpClient.FtpResponse* %.rettmp, i32 0, i32 0, i32 0 ; <i8*> [#uses=1]
4523 call void @llvm.memcpy.i32(i8* %tmp19, i8* %tmp20, i32 12, i32 4)
4524 %tmp23 = insertvalue %"byte[]" { i32 3, i8* undef }, i8* %tmp19, 1 ; <%"byte[]"> [#uses=1]
4525 %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
4526 to label %postinvoke24 unwind label %landingpad ; <i32> [#uses=1]
4527
4528postinvoke24: ; preds = %postinvoke18
4529 %tmp26 = icmp eq i32 %tmp25, 0 ; <i1> [#uses=1]
4530 br i1 %tmp26, label %andand, label %endif
4531
4532andand: ; preds = %postinvoke24
4533 %tmp30 = insertvalue %"byte[]" { i32 3, i8* undef }, i8* %tmp19, 1 ; <%"byte[]"> [#uses=1]
4534 %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
4535 to label %postinvoke31 unwind label %landingpad ; <i32> [#uses=1]
4536
4537postinvoke31: ; preds = %andand
4538 %tmp33 = icmp eq i32 %tmp32, 0 ; <i1> [#uses=1]
4539 br i1 %tmp33, label %if, label %endif
4540
4541if: ; preds = %postinvoke31
4542 %tmp37 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp1 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
4543 %"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]
4544 %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]
4545 invoke fastcc void %this.exception(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %tango.net.ftp.FtpClient.FtpResponse* byval %response)
4546 to label %endif unwind label %landingpad
4547
4548endif: ; preds = %if, %postinvoke31, %postinvoke24
4549 %tmp42 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp1 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
4550 %"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]
4551 %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]
4552 invoke fastcc void %this.prepareDataSocket(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %tango.net.SocketConduit.SocketConduit** %data)
4553 to label %postinvoke44 unwind label %landingpad
4554
4555postinvoke44: ; preds = %endif
4556 %tmp45 = load %tango.net.SocketConduit.SocketConduit** %data ; <%tango.net.SocketConduit.SocketConduit*> [#uses=1]
4557 ret %tango.net.SocketConduit.SocketConduit* %tmp45
4558
4559landingpad: ; preds = %endif, %if, %andand, %postinvoke18, %postinvoke, %entry
4560 %0 = call i8* @llvm.eh.exception() ; <i8*> [#uses=3]
4561 %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]
4562 %cond = icmp eq i32 %1, 1 ; <i1> [#uses=1]
4563 br i1 %cond, label %catch, label %switchdefault
4564
4565catch: ; preds = %landingpad
4566 %2 = bitcast i8* %0 to %object.Object* ; <%object.Object*> [#uses=1]
4567 %tmp5 = load %tango.net.SocketConduit.SocketConduit** %data ; <%tango.net.SocketConduit.SocketConduit*> [#uses=2]
4568 %tmp6 = bitcast %tango.net.SocketConduit.SocketConduit* %tmp5 to %tango.io.device.Conduit.Conduit* ; <%tango.io.device.Conduit.Conduit*> [#uses=1]
4569 %tmp1.i = bitcast %tango.net.SocketConduit.SocketConduit* %tmp5 to %tango.io.device.Conduit.Conduit.__vtbl** ; <%tango.io.device.Conduit.Conduit.__vtbl**> [#uses=1]
4570 %tmp2.i = load %tango.io.device.Conduit.Conduit.__vtbl** %tmp1.i ; <%tango.io.device.Conduit.Conduit.__vtbl*> [#uses=1]
4571 %"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]
4572 %this.detach.i = load void (%tango.io.device.Conduit.Conduit*)** %"this.detach@vtbl.i", align 4 ; <void (%tango.io.device.Conduit.Conduit*)*> [#uses=1]
4573 call fastcc void %this.detach.i(%tango.io.device.Conduit.Conduit* %tmp6)
4574 call void @_d_throw_exception(%object.Object* %2)
4575 unreachable
4576
4577switchdefault: ; preds = %landingpad
4578 call void @_d_eh_resume_unwind(i8* %0)
4579 unreachable
4580}
4581
4582define fastcc %"FtpFileInfo[]" @_D5tango3net3ftp9FtpClient13FTPConnection2lsMFAaZAS5tango3net3ftp9FtpClient11FtpFileInfo(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" %path_arg) {
4583entry:
4584 %.frame.i = alloca %nest.splitLines, align 8 ; <%nest.splitLines*> [#uses=5]
4585 %.rettmp.i = alloca %"tango.text.Util.LineFruct!(char).LineFruct", align 8 ; <%"tango.text.Util.LineFruct!(char).LineFruct"*> [#uses=3]
4586 %.rettmp8.i = alloca %"tango.text.Util.LineFruct!(char).LineFruct", align 8 ; <%"tango.text.Util.LineFruct!(char).LineFruct"*> [#uses=3]
4587 %__arrayArg146 = alloca [1 x %"byte[]"], align 8 ; <[1 x %"byte[]"]*> [#uses=1]
4588 %.rettmp = alloca %tango.net.ftp.FtpClient.FtpFileInfo, align 8 ; <%tango.net.ftp.FtpClient.FtpFileInfo*> [#uses=10]
4589 %path_arg207 = extractvalue %"byte[]" %path_arg, 0 ; <i32> [#uses=4]
4590 %path_arg208 = extractvalue %"byte[]" %path_arg, 1 ; <i8*> [#uses=3]
4591 %tmp1 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 0 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl**> [#uses=7]
4592 %tmp2 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp1 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
4593 %"this.isSupported@vtbl" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp2, i32 0, i32 41 ; <i1 (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")**> [#uses=1]
4594 %this.isSupported = load i1 (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")** %"this.isSupported@vtbl", align 4 ; <i1 (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")*> [#uses=1]
4595 %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]
4596 br i1 %tmp4, label %if, label %endif
4597
4598if: ; preds = %entry
4599 %tmp6 = icmp eq i32 %path_arg207, 0 ; <i1> [#uses=1]
4600 %tmp11 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp1 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
4601 %"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]
4602 %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]
4603 br i1 %tmp6, label %else, label %if7
4604
4605if7: ; preds = %if
4606 %tmp13 = getelementptr [1 x %"byte[]"]* %__arrayArg146, i32 0, i32 0 ; <%"byte[]"*> [#uses=2]
4607 %insert204 = insertvalue %"byte[]" undef, i32 %path_arg207, 0 ; <%"byte[]"> [#uses=1]
4608 %insert206 = insertvalue %"byte[]" %insert204, i8* %path_arg208, 1 ; <%"byte[]"> [#uses=1]
4609 store %"byte[]" %insert206, %"byte[]"* %tmp13, align 8
4610 %tmp16 = insertvalue %"char[][]" { i32 1, %"byte[]"* undef }, %"byte[]"* %tmp13, 1 ; <%"char[][]"> [#uses=1]
4611 %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)
4612 to label %endif unwind label %landingpad ; <%tango.net.SocketConduit.SocketConduit*> [#uses=1]
4613
4614else: ; preds = %if
4615 %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)
4616 to label %endif unwind label %landingpad ; <%tango.net.SocketConduit.SocketConduit*> [#uses=1]
4617
4618landingpad: ; preds = %else, %if7
4619 %0 = call i8* @llvm.eh.exception() ; <i8*> [#uses=2]
4620 %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]
4621 %cond149 = icmp eq i32 %1, 1 ; <i1> [#uses=1]
4622 br i1 %cond149, label %endif, label %switchdefault
4623
4624switchdefault: ; preds = %landingpad
4625 call void @_d_eh_resume_unwind(i8* %0)
4626 unreachable
4627
4628endif: ; preds = %landingpad, %else, %if7, %entry
4629 %data.0 = phi %tango.net.SocketConduit.SocketConduit* [ null, %entry ], [ %tmp17, %if7 ], [ %tmp25, %else ], [ null, %landingpad ] ; <%tango.net.SocketConduit.SocketConduit*> [#uses=2]
4630 %mlsd_success.0 = phi i1 [ false, %entry ], [ true, %if7 ], [ true, %else ], [ false, %landingpad ] ; <i1> [#uses=1]
4631 br i1 %mlsd_success.0, label %if27, label %else29
4632
4633if27: ; preds = %endif
4634 %.newclass_gc_alloc = call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango2io6device5Array5Array7__ClassZ) ; <i8*> [#uses=9]
4635 %.newclass_gc = bitcast i8* %.newclass_gc_alloc to %tango.io.device.Array.Array* ; <%tango.io.device.Array.Array*> [#uses=1]
4636 %vtbl = bitcast i8* %.newclass_gc_alloc to %tango.io.device.Array.Array.__vtbl** ; <%tango.io.device.Array.Array.__vtbl**> [#uses=2]
4637 store %tango.io.device.Array.Array.__vtbl* @_D5tango2io6device5Array5Array6__vtblZ, %tango.io.device.Array.Array.__vtbl** %vtbl
4638 %monitor = getelementptr i8* %.newclass_gc_alloc, i32 4 ; <i8*> [#uses=1]
4639 %2 = bitcast i8* %monitor to i8** ; <i8**> [#uses=1]
4640 store i8* null, i8** %2
4641 %tmp30 = getelementptr i8* %.newclass_gc_alloc, i32 8 ; <i8*> [#uses=1]
4642 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)
4643 %tmp2.i = load %tango.io.device.Array.Array.__vtbl** %vtbl ; <%tango.io.device.Array.Array.__vtbl*> [#uses=1]
4644 %"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]
4645 %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]
4646 %.gc_mem.i = call noalias i8* @_d_newarrayT(%object.TypeInfo* @_D11TypeInfo_Ah6__initZ, i32 256) ; <i8*> [#uses=1]
4647 %tmp5.i = insertvalue %"byte[]" undef, i32 256, 0 ; <%"byte[]"> [#uses=1]
4648 %tmp6.i = insertvalue %"byte[]" %tmp5.i, i8* %.gc_mem.i, 1 ; <%"byte[]"> [#uses=1]
4649 %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]
4650 %tmp9.i = getelementptr i8* %.newclass_gc_alloc, i32 36 ; <i8*> [#uses=1]
4651 %3 = bitcast i8* %tmp9.i to i32* ; <i32*> [#uses=1]
4652 store i32 65536, i32* %3
4653 %tmp37 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp1 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
4654 %"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]
4655 %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]
4656 %tmp41 = getelementptr i8* %.newclass_gc_alloc, i32 12 ; <i8*> [#uses=1]
4657 %tmp42 = bitcast i8* %tmp41 to %tango.io.model.IConduit.OutputStream* ; <%tango.io.model.IConduit.OutputStream*> [#uses=1]
4658 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)
4659 %tmp45 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp1 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
4660 %"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]
4661 %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]
4662 call fastcc void %this.finishDataCommand(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %tango.net.SocketConduit.SocketConduit* %data.0)
4663 %tmp2.i209 = getelementptr i8* %.newclass_gc_alloc, i32 20 ; <i8*> [#uses=1]
4664 %4 = bitcast i8* %tmp2.i209 to i8** ; <i8**> [#uses=1]
4665 %.ptr.i = load i8** %4 ; <i8*> [#uses=1]
4666 %tmp4.i = getelementptr i8* %.newclass_gc_alloc, i32 24 ; <i8*> [#uses=1]
4667 %5 = bitcast i8* %tmp4.i to i32* ; <i32*> [#uses=1]
4668 %tmp6.i210 = getelementptr i8* %.newclass_gc_alloc, i32 28 ; <i8*> [#uses=1]
4669 %6 = bitcast i8* %tmp6.i210 to i32* ; <i32*> [#uses=1]
4670 %tmp7.i211 = load i32* %5 ; <i32> [#uses=2]
4671 %tmp8.i = load i32* %6 ; <i32> [#uses=1]
4672 %tmp9.i212 = getelementptr i8* %.ptr.i, i32 %tmp7.i211 ; <i8*> [#uses=2]
4673 %tmp10.i = sub i32 %tmp8.i, %tmp7.i211 ; <i32> [#uses=2]
4674 %count.i = getelementptr %nest.splitLines* %.frame.i, i32 0, i32 0 ; <i32*> [#uses=3]
4675 %result.i = getelementptr %nest.splitLines* %.frame.i, i32 0, i32 1 ; <%"char[][]"*> [#uses=1]
4676 store i32 0, i32* %count.i, align 8
4677 %7 = getelementptr %"tango.text.Util.LineFruct!(char).LineFruct"* %.rettmp.i, i32 0, i32 0, i32 0 ; <i32*> [#uses=1]
4678 store i32 %tmp10.i, i32* %7, align 8
4679 %.sret_arg10.1.i.i = getelementptr %"tango.text.Util.LineFruct!(char).LineFruct"* %.rettmp.i, i32 0, i32 0, i32 1 ; <i8**> [#uses=1]
4680 store i8* %tmp9.i212, i8** %.sret_arg10.1.i.i, align 4
4681 %tmp1.i213 = bitcast %nest.splitLines* %.frame.i to i8* ; <i8*> [#uses=2]
4682 %tmp2.i214 = insertvalue %"int delegate(ref char[])" undef, i8* %tmp1.i213, 0 ; <%"int delegate(ref char[])"> [#uses=1]
4683 %.func.i = insertvalue %"int delegate(ref char[])" %tmp2.i214, i32 (i8*, %"byte[]"*)* @_D5tango4text4Util18__T10splitLinesTaZ10splitLinesFAaZAAa15__foreachbody41MFKAaZi, 1 ; <%"int delegate(ref char[])"> [#uses=1]
4684 %tmp3.i = call fastcc i32 @_D5tango4text4Util16__T9LineFructTaZ9LineFruct7opApplyMFDFKAaZiZi(%"tango.text.Util.LineFruct!(char).LineFruct"* %.rettmp.i, %"int delegate(ref char[])" %.func.i) ; <i32> [#uses=0]
4685 %tmp4.i215 = load i32* %count.i, align 8 ; <i32> [#uses=2]
4686 %.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]
4687 %.gc_mem5.i = bitcast i8* %.gc_mem.i216 to %"byte[]"* ; <%"byte[]"*> [#uses=1]
4688 %tmp6.i217 = getelementptr %nest.splitLines* %.frame.i, i32 0, i32 1, i32 0 ; <i32*> [#uses=1]
4689 store i32 %tmp4.i215, i32* %tmp6.i217
4690 %tmp7.i218 = getelementptr %nest.splitLines* %.frame.i, i32 0, i32 1, i32 1 ; <%"byte[]"**> [#uses=1]
4691 store %"byte[]"* %.gc_mem5.i, %"byte[]"** %tmp7.i218
4692 store i32 0, i32* %count.i, align 8
4693 %8 = getelementptr %"tango.text.Util.LineFruct!(char).LineFruct"* %.rettmp8.i, i32 0, i32 0, i32 0 ; <i32*> [#uses=1]
4694 store i32 %tmp10.i, i32* %8, align 8
4695 %.sret_arg10.1.i17.i = getelementptr %"tango.text.Util.LineFruct!(char).LineFruct"* %.rettmp8.i, i32 0, i32 0, i32 1 ; <i8**> [#uses=1]
4696 store i8* %tmp9.i212, i8** %.sret_arg10.1.i17.i, align 4
4697 %tmp11.i219 = insertvalue %"int delegate(ref char[])" undef, i8* %tmp1.i213, 0 ; <%"int delegate(ref char[])"> [#uses=1]
4698 %.func12.i = insertvalue %"int delegate(ref char[])" %tmp11.i219, i32 (i8*, %"byte[]"*)* @_D5tango4text4Util18__T10splitLinesTaZ10splitLinesFAaZAAa15__foreachbody42MFKAaZi, 1 ; <%"int delegate(ref char[])"> [#uses=1]
4699 %tmp13.i = call fastcc i32 @_D5tango4text4Util16__T9LineFructTaZ9LineFruct7opApplyMFDFKAaZiZi(%"tango.text.Util.LineFruct!(char).LineFruct"* %.rettmp8.i, %"int delegate(ref char[])" %.func12.i) ; <i32> [#uses=0]
4700 %tmp14.i = load %"char[][]"* %result.i ; <%"char[][]"> [#uses=2]
4701 %tmp53189 = extractvalue %"char[][]" %tmp14.i, 0 ; <i32> [#uses=5]
4702 %tmp53190 = extractvalue %"char[][]" %tmp14.i, 1 ; <%"byte[]"*> [#uses=5]
4703 br label %foreachcond
4704
4705foreachcond: ; preds = %foreachnext, %if27
4706 %dir.1.1 = phi %tango.net.ftp.FtpClient.FtpFileInfo* [ null, %if27 ], [ %dir.1.0, %foreachnext ] ; <%tango.net.ftp.FtpClient.FtpFileInfo*> [#uses=4]
4707 %dir.0.1 = phi i32 [ 0, %if27 ], [ %dir.0.0, %foreachnext ] ; <i32> [#uses=14]
4708 %foreachkey.0 = phi i32 [ 0, %if27 ], [ %tmp127, %foreachnext ] ; <i32> [#uses=3]
4709 %tmp65 = icmp ult i32 %foreachkey.0, %tmp53189 ; <i1> [#uses=1]
4710 br i1 %tmp65, label %foreachbody, label %foreachend
4711
4712foreachbody: ; preds = %foreachcond
4713 %tmp67 = getelementptr %"byte[]"* %tmp53190, i32 %foreachkey.0 ; <%"byte[]"*> [#uses=1]
4714 %tmp68 = load %"byte[]"* %tmp67 ; <%"byte[]"> [#uses=2]
4715 %tmp68187 = extractvalue %"byte[]" %tmp68, 0 ; <i32> [#uses=2]
4716 %tmp71 = icmp eq i32 %tmp68187, 0 ; <i1> [#uses=1]
4717 br i1 %tmp71, label %foreachnext, label %try74
4718
4719try74: ; preds = %foreachbody
4720 %tmp68188 = extractvalue %"byte[]" %tmp68, 1 ; <i8*> [#uses=1]
4721 %tmp99 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp1 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
4722 %"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]
4723 %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]
4724 %insert = insertvalue %"byte[]" undef, i32 %tmp68187, 0 ; <%"byte[]"> [#uses=1]
4725 %insert186 = insertvalue %"byte[]" %insert, i8* %tmp68188, 1 ; <%"byte[]"> [#uses=1]
4726 invoke fastcc void %this.parseMlstLine(%tango.net.ftp.FtpClient.FtpFileInfo* noalias nocapture sret %.rettmp, %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" %insert186)
4727 to label %postinvoke102 unwind label %landingpad75
4728
4729postinvoke102: ; preds = %try74
4730 %.rettmp179.0 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %.rettmp, i32 0, i32 0, i32 0 ; <i32*> [#uses=1]
4731 %tmp180 = load i32* %.rettmp179.0, align 8 ; <i32> [#uses=2]
4732 %.rettmp179.1 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %.rettmp, i32 0, i32 0, i32 1 ; <i8**> [#uses=1]
4733 %tmp181 = load i8** %.rettmp179.1, align 4 ; <i8*> [#uses=1]
4734 %.rettmp.1 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %.rettmp, i32 0, i32 1 ; <i32*> [#uses=1]
4735 %tmp162 = load i32* %.rettmp.1, align 8 ; <i32> [#uses=1]
4736 %.rettmp.2 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %.rettmp, i32 0, i32 2 ; <i64*> [#uses=1]
4737 %tmp163 = load i64* %.rettmp.2, align 4 ; <i64> [#uses=1]
4738 %.rettmp.3.0 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %.rettmp, i32 0, i32 3, i32 0 ; <i64*> [#uses=1]
4739 %tmp177 = load i64* %.rettmp.3.0, align 4 ; <i64> [#uses=1]
4740 %.rettmp.4.0 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %.rettmp, i32 0, i32 4, i32 0 ; <i64*> [#uses=1]
4741 %tmp175 = load i64* %.rettmp.4.0, align 4 ; <i64> [#uses=1]
4742 %.rettmp.5.0 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %.rettmp, i32 0, i32 5, i32 0 ; <i32*> [#uses=1]
4743 %tmp171 = load i32* %.rettmp.5.0, align 4 ; <i32> [#uses=1]
4744 %.rettmp.5.1 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %.rettmp, i32 0, i32 5, i32 1 ; <i8**> [#uses=1]
4745 %tmp172 = load i8** %.rettmp.5.1, align 4 ; <i8*> [#uses=1]
4746 %.rettmp.6 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %.rettmp, i32 0, i32 6 ; <i8**> [#uses=1]
4747 %tmp170 = load i8** %.rettmp.6, align 4 ; <i8*> [#uses=1]
4748 %tmp108 = icmp eq i32 %tmp180, 0 ; <i1> [#uses=1]
4749 br i1 %tmp108, label %foreachnext, label %if109
4750
4751if109: ; preds = %postinvoke102
4752 %tmp113 = add i32 %dir.0.1, 1 ; <i32> [#uses=2]
4753 %tmp118 = bitcast %tango.net.ftp.FtpClient.FtpFileInfo* %dir.1.1 to i8* ; <i8*> [#uses=1]
4754 %.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)
4755 to label %postinvoke119 unwind label %landingpad75 ; <i8*> [#uses=1]
4756
4757postinvoke119: ; preds = %if109
4758 %.gc_mem120 = bitcast i8* %.gc_mem to %tango.net.ftp.FtpClient.FtpFileInfo* ; <%tango.net.ftp.FtpClient.FtpFileInfo*> [#uses=10]
4759 %9 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %.gc_mem120, i32 %dir.0.1, i32 0, i32 0 ; <i32*> [#uses=1]
4760 store i32 %tmp180, i32* %9
4761 %tmp121182.1 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %.gc_mem120, i32 %dir.0.1, i32 0, i32 1 ; <i8**> [#uses=1]
4762 store i8* %tmp181, i8** %tmp121182.1, align 4
4763 %tmp121.1 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %.gc_mem120, i32 %dir.0.1, i32 1 ; <i32*> [#uses=1]
4764 store i32 %tmp162, i32* %tmp121.1, align 8
4765 %tmp121.2 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %.gc_mem120, i32 %dir.0.1, i32 2 ; <i64*> [#uses=1]
4766 store i64 %tmp163, i64* %tmp121.2, align 4
4767 %tmp121.3.0 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %.gc_mem120, i32 %dir.0.1, i32 3, i32 0 ; <i64*> [#uses=1]
4768 store i64 %tmp177, i64* %tmp121.3.0, align 4
4769 %tmp121.4.0 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %.gc_mem120, i32 %dir.0.1, i32 4, i32 0 ; <i64*> [#uses=1]
4770 store i64 %tmp175, i64* %tmp121.4.0, align 4
4771 %tmp121.5.0 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %.gc_mem120, i32 %dir.0.1, i32 5, i32 0 ; <i32*> [#uses=1]
4772 store i32 %tmp171, i32* %tmp121.5.0, align 4
4773 %tmp121.5.1 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %.gc_mem120, i32 %dir.0.1, i32 5, i32 1 ; <i8**> [#uses=1]
4774 store i8* %tmp172, i8** %tmp121.5.1, align 4
4775 %tmp121.6 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %.gc_mem120, i32 %dir.0.1, i32 6 ; <i8**> [#uses=1]
4776 store i8* %tmp170, i8** %tmp121.6, align 4
4777 br label %foreachnext
4778
4779landingpad75: ; preds = %if109, %try74
4780 %10 = call i8* @llvm.eh.exception() ; <i8*> [#uses=2]
4781 %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]
4782 %cond = icmp eq i32 %11, 1 ; <i1> [#uses=1]
4783 br i1 %cond, label %catch77, label %switchdefault90
4784
4785catch77: ; preds = %landingpad75
4786 %tmp80 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp1 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
4787 %"this.sendListCommand@vtbl" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp80, i32 0, i32 49 ; <%"FtpFileInfo[]" (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")**> [#uses=1]
4788 %this.sendListCommand = load %"FtpFileInfo[]" (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")** %"this.sendListCommand@vtbl", align 4 ; <%"FtpFileInfo[]" (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")*> [#uses=1]
4789 %insert200 = insertvalue %"byte[]" undef, i32 %path_arg207, 0 ; <%"byte[]"> [#uses=1]
4790 %insert202 = insertvalue %"byte[]" %insert200, i8* %path_arg208, 1 ; <%"byte[]"> [#uses=1]
4791 %tmp84 = invoke fastcc %"FtpFileInfo[]" %this.sendListCommand(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" %insert202)
4792 to label %postinvoke83 unwind label %catch77.landingpad55_crit_edge ; <%"FtpFileInfo[]"> [#uses=1]
4793
4794catch77.landingpad55_crit_edge: ; preds = %catch77
4795 %.tmp.pre = bitcast %"byte[]"* %tmp53190 to i8* ; <i8*> [#uses=1]
4796 br label %landingpad55
4797
4798postinvoke83: ; preds = %catch77
4799 %.tmp89 = bitcast %"byte[]"* %tmp53190 to i8* ; <i8*> [#uses=1]
4800 call void @_d_delarray(i32 %tmp53189, i8* %.tmp89)
4801 ret %"FtpFileInfo[]" %tmp84
4802
4803switchdefault90: ; preds = %landingpad75
4804 %.tmp95 = bitcast %"byte[]"* %tmp53190 to i8* ; <i8*> [#uses=2]
4805 invoke void @_d_delarray(i32 %tmp53189, i8* %.tmp95)
4806 to label %postinvoke96 unwind label %landingpad55
4807
4808postinvoke96: ; preds = %switchdefault90
4809 call void @_d_eh_resume_unwind(i8* %10)
4810 unreachable
4811
4812foreachnext: ; preds = %postinvoke119, %postinvoke102, %foreachbody
4813 %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]
4814 %dir.0.0 = phi i32 [ %dir.0.1, %foreachbody ], [ %tmp113, %postinvoke119 ], [ %dir.0.1, %postinvoke102 ] ; <i32> [#uses=1]
4815 %tmp127 = add i32 %foreachkey.0, 1 ; <i32> [#uses=1]
4816 br label %foreachcond
4817
4818foreachend: ; preds = %foreachcond
4819 %insert192 = insertvalue %"FtpFileInfo[]" undef, i32 %dir.0.1, 0 ; <%"FtpFileInfo[]"> [#uses=1]
4820 %insert194 = insertvalue %"FtpFileInfo[]" %insert192, %tango.net.ftp.FtpClient.FtpFileInfo* %dir.1.1, 1 ; <%"FtpFileInfo[]"> [#uses=1]
4821 %.tmp133 = bitcast %"byte[]"* %tmp53190 to i8* ; <i8*> [#uses=1]
4822 call void @_d_delarray(i32 %tmp53189, i8* %.tmp133)
4823 ret %"FtpFileInfo[]" %insert194
4824
4825landingpad55: ; preds = %switchdefault90, %catch77.landingpad55_crit_edge
4826 %.tmp.pre-phi = phi i8* [ %.tmp.pre, %catch77.landingpad55_crit_edge ], [ %.tmp95, %switchdefault90 ] ; <i8*> [#uses=1]
4827 %12 = call i8* @llvm.eh.exception() ; <i8*> [#uses=2]
4828 %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]
4829 call void @_d_delarray(i32 %tmp53189, i8* %.tmp.pre-phi)
4830 call void @_d_eh_resume_unwind(i8* %12)
4831 unreachable
4832
4833else29: ; preds = %endif
4834 %tmp142 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp1 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
4835 %"this.sendListCommand@vtbl143" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp142, i32 0, i32 49 ; <%"FtpFileInfo[]" (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")**> [#uses=1]
4836 %this.sendListCommand145 = load %"FtpFileInfo[]" (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")** %"this.sendListCommand@vtbl143", align 4 ; <%"FtpFileInfo[]" (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")*> [#uses=1]
4837 %insert196 = insertvalue %"byte[]" undef, i32 %path_arg207, 0 ; <%"byte[]"> [#uses=1]
4838 %insert198 = insertvalue %"byte[]" %insert196, i8* %path_arg208, 1 ; <%"byte[]"> [#uses=1]
4839 %tmp147 = call fastcc %"FtpFileInfo[]" %this.sendListCommand145(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" %insert198) ; <%"FtpFileInfo[]"> [#uses=1]
4840 ret %"FtpFileInfo[]" %tmp147
4841}
4842
4843define 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) {
4844entry:
4845 %tv.i = alloca %tango.net.Socket.timeval, align 8 ; <%tango.net.Socket.timeval*> [#uses=2]
4846 %.rettmp = alloca %tango.time.Time.Time, align 8 ; <%tango.time.Time.Time*> [#uses=2]
4847 %.rettmp11 = alloca %tango.time.Time.Time, align 8 ; <%tango.time.Time.Time*> [#uses=2]
4848 %buf = alloca [8192 x i8], align 1 ; <[8192 x i8]*> [#uses=1]
4849 %.rettmp17 = alloca %tango.time.Time.Time, align 8 ; <%tango.time.Time.Time*> [#uses=2]
4850 %.rettmp45 = alloca %tango.time.Time.Time, align 8 ; <%tango.time.Time.Time*> [#uses=2]
4851 %.rettmp110 = alloca %tango.time.Time.Time, align 8 ; <%tango.time.Time.Time*> [#uses=2]
4852 %.rettmp119 = alloca %tango.time.Time.Time, align 8 ; <%tango.time.Time.Time*> [#uses=2]
4853 %progress_arg144 = extractvalue %"void delegate(uint pos)" %progress_arg, 0 ; <i8*> [#uses=2]
4854 %progress_arg145 = extractvalue %"void delegate(uint pos)" %progress_arg, 1 ; <void (i8*, i32)*> [#uses=2]
4855 %.newclass_gc_alloc = call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango3net6Socket9SocketSet7__ClassZ) ; <i8*> [#uses=8]
4856 %.newclass_gc = bitcast i8* %.newclass_gc_alloc to %tango.net.Socket.SocketSet* ; <%tango.net.Socket.SocketSet*> [#uses=3]
4857 %vtbl = bitcast i8* %.newclass_gc_alloc to %tango.net.Socket.SocketSet.__vtbl** ; <%tango.net.Socket.SocketSet.__vtbl**> [#uses=3]
4858 store %tango.net.Socket.SocketSet.__vtbl* @_D5tango3net6Socket9SocketSet6__vtblZ, %tango.net.Socket.SocketSet.__vtbl** %vtbl
4859 %monitor = getelementptr i8* %.newclass_gc_alloc, i32 4 ; <i8*> [#uses=1]
4860 %0 = bitcast i8* %monitor to i8** ; <i8**> [#uses=1]
4861 store i8* null, i8** %0
4862 %tmp = getelementptr i8* %.newclass_gc_alloc, i32 8 ; <i8*> [#uses=2]
4863 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)
4864 %1 = bitcast i8* %tmp to i32* ; <i32*> [#uses=2]
4865 store i32 128, i32* %1
4866 %tmp9.i.i = getelementptr i8* %.newclass_gc_alloc, i32 12 ; <i8*> [#uses=1]
4867 %2 = bitcast i8* %tmp9.i.i to i8** ; <i8**> [#uses=1]
4868 %.gc_mem.i.i = call noalias i8* @_d_newarrayT(%object.TypeInfo* @_D11TypeInfo_Ag6__initZ, i32 128) ; <i8*> [#uses=1]
4869 store i8* %.gc_mem.i.i, i8** %2
4870 %tmp14.i.i = getelementptr i8* %.newclass_gc_alloc, i32 16 ; <i8*> [#uses=1]
4871 %3 = bitcast i8* %tmp14.i.i to i32* ; <i32*> [#uses=1]
4872 %tmp17.i.i = load i32* %1 ; <i32> [#uses=1]
4873 %tmp18.i.i = shl i32 %tmp17.i.i, 3 ; <i32> [#uses=1]
4874 store i32 %tmp18.i.i, i32* %3
4875 invoke fastcc void @_D5tango4time5Clock5Clock3nowFZS5tango4time4Time4Time(%tango.time.Time.Time* noalias nocapture sret %.rettmp)
4876 to label %postinvoke unwind label %landingpad
4877
4878postinvoke: ; preds = %entry
4879 %tmp8 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 0 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl**> [#uses=3]
4880 %tmp9 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp8 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
4881 %"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]
4882 %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]
4883 invoke fastcc void %this.timeout(%tango.time.Time.Time* noalias nocapture sret %.rettmp11, %tango.net.ftp.FtpClient.FTPConnection* %.this_arg)
4884 to label %postinvoke12 unwind label %landingpad
4885
4886postinvoke12: ; preds = %postinvoke
4887 %.rettmp11.0 = getelementptr %tango.time.Time.Time* %.rettmp11, i32 0, i32 0 ; <i64*> [#uses=1]
4888 %tmp183 = load i64* %.rettmp11.0, align 8 ; <i64> [#uses=1]
4889 %tmp1.i162 = getelementptr %tango.time.Time.Time* %.rettmp, i32 0, i32 0 ; <i64*> [#uses=1]
4890 %tmp3.i164 = load i64* %tmp1.i162, align 8 ; <i64> [#uses=1]
4891 %tmp16 = getelementptr [8192 x i8]* %buf, i32 0, i32 0 ; <i8*> [#uses=3]
4892 call void @llvm.memset.i32(i8* %tmp16, i8 0, i32 8192, i32 1)
4893 br label %whilecond
4894
4895whilecond: ; preds = %postinvoke120, %postinvoke12
4896 %tmp3.i164.pn = phi i64 [ %tmp3.i164, %postinvoke12 ], [ %tmp3.i, %postinvoke120 ] ; <i64> [#uses=1]
4897 %.pn = phi i64 [ %tmp183, %postinvoke12 ], [ %tmp181, %postinvoke120 ] ; <i64> [#uses=1]
4898 %pos.0 = phi i32 [ 0, %postinvoke12 ], [ %tmp96, %postinvoke120 ] ; <i32> [#uses=1]
4899 invoke fastcc void @_D5tango4time5Clock5Clock3nowFZS5tango4time4Time4Time(%tango.time.Time.Time* noalias nocapture sret %.rettmp17)
4900 to label %postinvoke18 unwind label %landingpad
4901
4902whilebody: ; preds = %postinvoke18
4903 %tmp24 = load %tango.net.Socket.SocketSet.__vtbl** %vtbl ; <%tango.net.Socket.SocketSet.__vtbl*> [#uses=1]
4904 %"set.reset@vtbl" = getelementptr %tango.net.Socket.SocketSet.__vtbl* %tmp24, i32 0, i32 10 ; <void (%tango.net.Socket.SocketSet*)**> [#uses=1]
4905 %set.reset = load void (%tango.net.Socket.SocketSet*)** %"set.reset@vtbl", align 4 ; <void (%tango.net.Socket.SocketSet*)*> [#uses=1]
4906 invoke fastcc void %set.reset(%tango.net.Socket.SocketSet* %.newclass_gc)
4907 to label %postinvoke26 unwind label %landingpad
4908
4909postinvoke18: ; preds = %whilecond
4910 %end_time.0.0 = add i64 %tmp3.i164.pn, %.pn ; <i64> [#uses=1]
4911 %tmp1.i168 = getelementptr %tango.time.Time.Time* %.rettmp17, i32 0, i32 0 ; <i64*> [#uses=1]
4912 %tmp3.i170 = load i64* %tmp1.i168, align 8 ; <i64> [#uses=1]
4913 %tmp5.i172 = icmp slt i64 %tmp3.i170, %end_time.0.0 ; <i1> [#uses=1]
4914 br i1 %tmp5.i172, label %whilebody, label %if125
4915
4916postinvoke26: ; preds = %whilebody
4917 %tmp29 = load %tango.net.Socket.SocketSet.__vtbl** %vtbl ; <%tango.net.Socket.SocketSet.__vtbl*> [#uses=1]
4918 %"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]
4919 %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]
4920 %tmp32 = getelementptr %tango.net.SocketConduit.SocketConduit* %data_arg, i32 0, i32 0 ; <%tango.net.SocketConduit.SocketConduit.__vtbl**> [#uses=2]
4921 %tmp33 = load %tango.net.SocketConduit.SocketConduit.__vtbl** %tmp32 ; <%tango.net.SocketConduit.SocketConduit.__vtbl*> [#uses=1]
4922 %"data.socket@vtbl" = getelementptr %tango.net.SocketConduit.SocketConduit.__vtbl* %tmp33, i32 0, i32 14 ; <%tango.net.Socket.Socket* (%tango.net.SocketConduit.SocketConduit*)**> [#uses=1]
4923 %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]
4924 %tmp36 = invoke fastcc %tango.net.Socket.Socket* %data.socket(%tango.net.SocketConduit.SocketConduit* %data_arg)
4925 to label %postinvoke35 unwind label %landingpad ; <%tango.net.Socket.Socket*> [#uses=1]
4926
4927postinvoke35: ; preds = %postinvoke26
4928 invoke fastcc void %set.add(%tango.net.Socket.SocketSet* %.newclass_gc, %tango.net.Socket.Socket* %tmp36)
4929 to label %postinvoke37 unwind label %landingpad
4930
4931postinvoke37: ; preds = %postinvoke35
4932 %tmp41 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp8 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
4933 %"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]
4934 %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]
4935 invoke fastcc void %this.timeout44(%tango.time.Time.Time* noalias nocapture sret %.rettmp45, %tango.net.ftp.FtpClient.FTPConnection* %.this_arg)
4936 to label %postinvoke46 unwind label %landingpad
4937
4938postinvoke46: ; preds = %postinvoke37
4939 %.rettmp45.0 = getelementptr %tango.time.Time.Time* %.rettmp45, i32 0, i32 0 ; <i64*> [#uses=1]
4940 %tmp185 = load i64* %.rettmp45.0, align 8 ; <i64> [#uses=2]
4941 %tmp3.i.i.i = sdiv i64 %tmp185, 10000000 ; <i64> [#uses=1]
4942 %tmp3.i14.i.i = sdiv i64 %tmp185, 10 ; <i64> [#uses=1]
4943 %tmp6.i.i = trunc i64 %tmp3.i14.i.i to i32 ; <i32> [#uses=1]
4944 %tmp7.i.i = urem i32 %tmp6.i.i, 1000000 ; <i32> [#uses=1]
4945 %tmp7.i = bitcast %tango.net.Socket.timeval* %tv.i to i64* ; <i64*> [#uses=1]
4946 %4 = shl i64 %tmp3.i.i.i, 32 ; <i64> [#uses=1]
4947 %5 = zext i32 %tmp7.i.i to i64 ; <i64> [#uses=1]
4948 %6 = or i64 %5, %4 ; <i64> [#uses=1]
4949 store i64 %6, i64* %tmp7.i, align 8
4950 %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)
4951 to label %_D5tango3net6Socket6Socket6selectFC5tango3net6Socket9SocketSetC5tango3net6Socket9SocketSetC5tango3net6Socket9SocketSetS5tango4time4Time8TimeSpanZi.exit unwind label %landingpad ; <i32> [#uses=1]
4952
4953_D5tango3net6Socket6Socket6selectFC5tango3net6Socket9SocketSetC5tango3net6Socket9SocketSetC5tango3net6Socket9SocketSetS5tango4time4Time8TimeSpanZi.exit: ; preds = %postinvoke46
4954 switch i32 %tmp5.i176177, label %endif [
4955 i32 -1, label %if125
4956 i32 0, label %if125
4957 ]
4958
4959endif: ; preds = %_D5tango3net6Socket6Socket6selectFC5tango3net6Socket9SocketSetC5tango3net6Socket9SocketSetC5tango3net6Socket9SocketSetS5tango4time4Time8TimeSpanZi.exit
4960 %tmp55 = load %tango.net.SocketConduit.SocketConduit.__vtbl** %tmp32 ; <%tango.net.SocketConduit.SocketConduit.__vtbl*> [#uses=1]
4961 %"data.socket@vtbl56" = getelementptr %tango.net.SocketConduit.SocketConduit.__vtbl* %tmp55, i32 0, i32 14 ; <%tango.net.Socket.Socket* (%tango.net.SocketConduit.SocketConduit*)**> [#uses=1]
4962 %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]
4963 %tmp60 = invoke fastcc %tango.net.Socket.Socket* %data.socket58(%tango.net.SocketConduit.SocketConduit* %data_arg)
4964 to label %postinvoke59 unwind label %landingpad ; <%tango.net.Socket.Socket*> [#uses=2]
4965
4966postinvoke59: ; preds = %endif
4967 %tmp61 = getelementptr %tango.net.Socket.Socket* %tmp60, i32 0, i32 0 ; <%tango.net.Socket.Socket.__vtbl**> [#uses=1]
4968 %tmp62 = load %tango.net.Socket.Socket.__vtbl** %tmp61 ; <%tango.net.Socket.Socket.__vtbl*> [#uses=1]
4969 %"data.socket().receive@vtbl" = getelementptr %tango.net.Socket.Socket.__vtbl* %tmp62, i32 0, i32 29 ; <i32 (%tango.net.Socket.Socket*, %"byte[]", i32)**> [#uses=1]
4970 %"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]
4971 %tmp65 = insertvalue %"byte[]" { i32 8192, i8* undef }, i8* %tmp16, 1 ; <%"byte[]"> [#uses=1]
4972 %tmp67 = invoke fastcc i32 %"data.socket().receive"(%tango.net.Socket.Socket* %tmp60, %"byte[]" %tmp65, i32 0)
4973 to label %postinvoke66 unwind label %landingpad ; <i32> [#uses=3]
4974
4975postinvoke66: ; preds = %postinvoke59
4976 switch i32 %tmp67, label %endif76 [
4977 i32 -1, label %if125
4978 i32 0, label %if75
4979 ]
4980
4981if75: ; preds = %postinvoke66
4982 %.tmp141 = bitcast i8* %.newclass_gc_alloc to %object.Object* ; <%object.Object*> [#uses=1]
4983 call void @_d_delclass(%object.Object* %.tmp141)
4984 ret void
4985
4986endif76: ; preds = %postinvoke66
4987 %tmp79 = bitcast %tango.io.model.IConduit.OutputStream* %stream_arg to i8* ; <i8*> [#uses=1]
4988 %tmp80 = call %object.Object* @_d_toObject(i8* %tmp79) nounwind readonly ; <%object.Object*> [#uses=1]
4989 %tmp82 = getelementptr %tango.io.model.IConduit.OutputStream* %stream_arg, i32 0, i32 0 ; <%tango.io.model.IConduit.OutputStream.__vtbl**> [#uses=1]
4990 %tmp83 = load %tango.io.model.IConduit.OutputStream.__vtbl** %tmp82 ; <%tango.io.model.IConduit.OutputStream.__vtbl*> [#uses=1]
4991 %"stream.write@vtbl" = getelementptr %tango.io.model.IConduit.OutputStream.__vtbl* %tmp83, i32 0, i32 5 ; <i32 (%tango.io.model.IConduit.OutputStream*, %"byte[]")**> [#uses=1]
4992 %stream.write = load i32 (%tango.io.model.IConduit.OutputStream*, %"byte[]")** %"stream.write@vtbl", align 4 ; <i32 (%tango.io.model.IConduit.OutputStream*, %"byte[]")*> [#uses=1]
4993 %tmp85 = bitcast %object.Object* %tmp80 to %tango.io.model.IConduit.OutputStream* ; <%tango.io.model.IConduit.OutputStream*> [#uses=1]
4994 %tmp90 = insertvalue %"byte[]" undef, i32 %tmp67, 0 ; <%"byte[]"> [#uses=1]
4995 %tmp91 = insertvalue %"byte[]" %tmp90, i8* %tmp16, 1 ; <%"byte[]"> [#uses=1]
4996 %tmp93 = invoke fastcc i32 %stream.write(%tango.io.model.IConduit.OutputStream* %tmp85, %"byte[]" %tmp91)
4997 to label %postinvoke92 unwind label %landingpad ; <i32> [#uses=0]
4998
4999postinvoke92: ; preds = %endif76
5000 %tmp96 = add i32 %pos.0, %tmp67 ; <i32> [#uses=2]
5001 %tmp98 = icmp eq i8* %progress_arg144, null ; <i1> [#uses=1]
5002 %tmp99 = icmp eq void (i8*, i32)* %progress_arg145, null ; <i1> [#uses=1]
5003 %tmp100 = and i1 %tmp98, %tmp99 ; <i1> [#uses=1]
5004 br i1 %tmp100, label %endif103, label %if102
5005
5006if102: ; preds = %postinvoke92
5007 invoke fastcc void %progress_arg145(i8* %progress_arg144, i32 %tmp96)
5008 to label %endif103 unwind label %landingpad
5009
5010endif103: ; preds = %if102, %postinvoke92
5011 invoke fastcc void @_D5tango4time5Clock5Clock3nowFZS5tango4time4Time4Time(%tango.time.Time.Time* noalias nocapture sret %.rettmp110)
5012 to label %postinvoke111 unwind label %landingpad
5013
5014postinvoke111: ; preds = %endif103
5015 %tmp115 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp8 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
5016 %"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]
5017 %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]
5018 invoke fastcc void %this.timeout118(%tango.time.Time.Time* noalias nocapture sret %.rettmp119, %tango.net.ftp.FtpClient.FTPConnection* %.this_arg)
5019 to label %postinvoke120 unwind label %landingpad
5020
5021postinvoke120: ; preds = %postinvoke111
5022 %.rettmp119.0 = getelementptr %tango.time.Time.Time* %.rettmp119, i32 0, i32 0 ; <i64*> [#uses=1]
5023 %tmp181 = load i64* %.rettmp119.0, align 8 ; <i64> [#uses=1]
5024 %tmp1.i = getelementptr %tango.time.Time.Time* %.rettmp110, i32 0, i32 0 ; <i64*> [#uses=1]
5025 %tmp3.i = load i64* %tmp1.i, align 8 ; <i64> [#uses=1]
5026 br label %whilecond
5027
5028if125: ; preds = %postinvoke66, %_D5tango3net6Socket6Socket6selectFC5tango3net6Socket9SocketSetC5tango3net6Socket9SocketSetC5tango3net6Socket9SocketSetS5tango4time4Time8TimeSpanZi.exit, %_D5tango3net6Socket6Socket6selectFC5tango3net6Socket9SocketSetC5tango3net6Socket9SocketSetC5tango3net6Socket9SocketSetS5tango4time4Time8TimeSpanZi.exit, %postinvoke18
5029 %.newclass_gc_alloc128 = invoke noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango3net3ftp9FtpClient12FtpException7__ClassZ)
5030 to label %postinvoke127 unwind label %landingpad ; <i8*> [#uses=6]
5031
5032postinvoke127: ; preds = %if125
5033 %vtbl130 = bitcast i8* %.newclass_gc_alloc128 to %tango.net.ftp.FtpClient.FtpException.__vtbl** ; <%tango.net.ftp.FtpClient.FtpException.__vtbl**> [#uses=1]
5034 store %tango.net.ftp.FtpClient.FtpException.__vtbl* @_D5tango3net3ftp9FtpClient12FtpException6__vtblZ, %tango.net.ftp.FtpClient.FtpException.__vtbl** %vtbl130
5035 %monitor131 = getelementptr i8* %.newclass_gc_alloc128, i32 4 ; <i8*> [#uses=1]
5036 %7 = bitcast i8* %monitor131 to i8** ; <i8**> [#uses=1]
5037 store i8* null, i8** %7
5038 %tmp132 = getelementptr i8* %.newclass_gc_alloc128, i32 8 ; <i8*> [#uses=1]
5039 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)
5040 %tmp2.i = getelementptr i8* %.newclass_gc_alloc128, i32 36 ; <i8*> [#uses=1]
5041 call void @llvm.memcpy.i32(i8* %tmp2.i, i8* getelementptr ([4 x i8]* @.str162, i32 0, i32 0), i32 3, i32 1)
5042 %tmp5.i = bitcast i8* %.newclass_gc_alloc128 to %object.Exception* ; <%object.Exception*> [#uses=1]
5043 %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)
5044 to label %_D5tango3net3ftp9FtpClient12FtpException5_ctorMFAaG3aZC5tango3net3ftp9FtpClient12FtpException.exit unwind label %landingpad ; <%object.Exception*> [#uses=0]
5045
5046_D5tango3net3ftp9FtpClient12FtpException5_ctorMFAaG3aZC5tango3net3ftp9FtpClient12FtpException.exit: ; preds = %postinvoke127
5047 %tmp138 = bitcast i8* %.newclass_gc_alloc128 to %object.Object* ; <%object.Object*> [#uses=1]
5048 invoke void @_d_throw_exception(%object.Object* %tmp138)
5049 to label %postinvoke139 unwind label %landingpad
5050
5051postinvoke139: ; preds = %_D5tango3net3ftp9FtpClient12FtpException5_ctorMFAaG3aZC5tango3net3ftp9FtpClient12FtpException.exit
5052 unreachable
5053
5054landingpad: ; preds = %_D5tango3net3ftp9FtpClient12FtpException5_ctorMFAaG3aZC5tango3net3ftp9FtpClient12FtpException.exit, %postinvoke127, %if125, %postinvoke111, %endif103, %if102, %endif76, %postinvoke59, %endif, %postinvoke46, %postinvoke37, %postinvoke35, %postinvoke26, %whilebody, %whilecond, %postinvoke, %entry
5055 %8 = call i8* @llvm.eh.exception() ; <i8*> [#uses=2]
5056 %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]
5057 %.tmp = bitcast i8* %.newclass_gc_alloc to %object.Object* ; <%object.Object*> [#uses=1]
5058 call void @_d_delclass(%object.Object* %.tmp)
5059 call void @_d_eh_resume_unwind(i8* %8)
5060 unreachable
5061}
5062
5063define 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) {
5064entry:
5065 %tv.i = alloca %tango.net.Socket.timeval, align 8 ; <%tango.net.Socket.timeval*> [#uses=2]
5066 %.rettmp = alloca %tango.time.Time.Time, align 8 ; <%tango.time.Time.Time*> [#uses=2]
5067 %.rettmp11 = alloca %tango.time.Time.Time, align 8 ; <%tango.time.Time.Time*> [#uses=2]
5068 %buf = alloca [8192 x i8], align 1 ; <[8192 x i8]*> [#uses=2]
5069 %.rettmp18 = alloca %tango.time.Time.Time, align 8 ; <%tango.time.Time.Time*> [#uses=2]
5070 %.rettmp46 = alloca %tango.time.Time.Time, align 8 ; <%tango.time.Time.Time*> [#uses=2]
5071 %.rettmp123 = alloca %tango.time.Time.Time, align 8 ; <%tango.time.Time.Time*> [#uses=2]
5072 %.rettmp132 = alloca %tango.time.Time.Time, align 8 ; <%tango.time.Time.Time*> [#uses=2]
5073 %progress_arg157 = extractvalue %"void delegate(uint pos)" %progress_arg, 0 ; <i8*> [#uses=2]
5074 %progress_arg158 = extractvalue %"void delegate(uint pos)" %progress_arg, 1 ; <void (i8*, i32)*> [#uses=2]
5075 %.newclass_gc_alloc = call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango3net6Socket9SocketSet7__ClassZ) ; <i8*> [#uses=8]
5076 %.newclass_gc = bitcast i8* %.newclass_gc_alloc to %tango.net.Socket.SocketSet* ; <%tango.net.Socket.SocketSet*> [#uses=3]
5077 %vtbl = bitcast i8* %.newclass_gc_alloc to %tango.net.Socket.SocketSet.__vtbl** ; <%tango.net.Socket.SocketSet.__vtbl**> [#uses=3]
5078 store %tango.net.Socket.SocketSet.__vtbl* @_D5tango3net6Socket9SocketSet6__vtblZ, %tango.net.Socket.SocketSet.__vtbl** %vtbl
5079 %monitor = getelementptr i8* %.newclass_gc_alloc, i32 4 ; <i8*> [#uses=1]
5080 %0 = bitcast i8* %monitor to i8** ; <i8**> [#uses=1]
5081 store i8* null, i8** %0
5082 %tmp = getelementptr i8* %.newclass_gc_alloc, i32 8 ; <i8*> [#uses=2]
5083 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)
5084 %1 = bitcast i8* %tmp to i32* ; <i32*> [#uses=2]
5085 store i32 128, i32* %1
5086 %tmp9.i.i = getelementptr i8* %.newclass_gc_alloc, i32 12 ; <i8*> [#uses=1]
5087 %2 = bitcast i8* %tmp9.i.i to i8** ; <i8**> [#uses=1]
5088 %.gc_mem.i.i = call noalias i8* @_d_newarrayT(%object.TypeInfo* @_D11TypeInfo_Ag6__initZ, i32 128) ; <i8*> [#uses=1]
5089 store i8* %.gc_mem.i.i, i8** %2
5090 %tmp14.i.i = getelementptr i8* %.newclass_gc_alloc, i32 16 ; <i8*> [#uses=1]
5091 %3 = bitcast i8* %tmp14.i.i to i32* ; <i32*> [#uses=1]
5092 %tmp17.i.i = load i32* %1 ; <i32> [#uses=1]
5093 %tmp18.i.i = shl i32 %tmp17.i.i, 3 ; <i32> [#uses=1]
5094 store i32 %tmp18.i.i, i32* %3
5095 invoke fastcc void @_D5tango4time5Clock5Clock3nowFZS5tango4time4Time4Time(%tango.time.Time.Time* noalias nocapture sret %.rettmp)
5096 to label %postinvoke unwind label %landingpad
5097
5098postinvoke: ; preds = %entry
5099 %tmp8 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 0 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl**> [#uses=3]
5100 %tmp9 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp8 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
5101 %"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]
5102 %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]
5103 invoke fastcc void %this.timeout(%tango.time.Time.Time* noalias nocapture sret %.rettmp11, %tango.net.ftp.FtpClient.FTPConnection* %.this_arg)
5104 to label %postinvoke12 unwind label %landingpad
5105
5106postinvoke12: ; preds = %postinvoke
5107 %.rettmp11.0 = getelementptr %tango.time.Time.Time* %.rettmp11, i32 0, i32 0 ; <i64*> [#uses=1]
5108 %tmp196 = load i64* %.rettmp11.0, align 8 ; <i64> [#uses=1]
5109 %tmp1.i175 = getelementptr %tango.time.Time.Time* %.rettmp, i32 0, i32 0 ; <i64*> [#uses=1]
5110 %tmp3.i177 = load i64* %tmp1.i175, align 8 ; <i64> [#uses=1]
5111 %tmp5.i179 = add i64 %tmp3.i177, %tmp196 ; <i64> [#uses=1]
5112 %tmp16 = getelementptr [8192 x i8]* %buf, i32 0, i32 0 ; <i8*> [#uses=2]
5113 call void @llvm.memset.i32(i8* %tmp16, i8 0, i32 8192, i32 1)
5114 br label %whilecond
5115
5116whilecond: ; preds = %postinvoke133, %endif112, %postinvoke12
5117 %end_time.0.0 = phi i64 [ %tmp5.i179, %postinvoke12 ], [ %end_time.0.0, %endif112 ], [ %tmp5.i171, %postinvoke133 ] ; <i64> [#uses=2]
5118 %buf_pos.1 = phi i32 [ 0, %postinvoke12 ], [ %tmp102, %postinvoke133 ], [ %tmp102, %endif112 ] ; <i32> [#uses=2]
5119 %buf_size.1 = phi i32 [ 0, %postinvoke12 ], [ %buf_size.0, %postinvoke133 ], [ %buf_size.0, %endif112 ] ; <i32> [#uses=2]
5120 %pos.0 = phi i32 [ 0, %postinvoke12 ], [ %tmp105, %postinvoke133 ], [ %tmp105, %endif112 ] ; <i32> [#uses=1]
5121 %completed.2 = phi i1 [ false, %postinvoke12 ], [ %completed.1, %postinvoke133 ], [ %completed.1, %endif112 ] ; <i1> [#uses=7]
5122 br i1 %completed.2, label %endwhile, label %andand
5123
5124whilebody: ; preds = %postinvoke19
5125 %tmp25 = load %tango.net.Socket.SocketSet.__vtbl** %vtbl ; <%tango.net.Socket.SocketSet.__vtbl*> [#uses=1]
5126 %"set.reset@vtbl" = getelementptr %tango.net.Socket.SocketSet.__vtbl* %tmp25, i32 0, i32 10 ; <void (%tango.net.Socket.SocketSet*)**> [#uses=1]
5127 %set.reset = load void (%tango.net.Socket.SocketSet*)** %"set.reset@vtbl", align 4 ; <void (%tango.net.Socket.SocketSet*)*> [#uses=1]
5128 invoke fastcc void %set.reset(%tango.net.Socket.SocketSet* %.newclass_gc)
5129 to label %postinvoke27 unwind label %landingpad
5130
5131andand: ; preds = %whilecond
5132 invoke fastcc void @_D5tango4time5Clock5Clock3nowFZS5tango4time4Time4Time(%tango.time.Time.Time* noalias nocapture sret %.rettmp18)
5133 to label %postinvoke19 unwind label %landingpad
5134
5135postinvoke19: ; preds = %andand
5136 %tmp1.i181 = getelementptr %tango.time.Time.Time* %.rettmp18, i32 0, i32 0 ; <i64*> [#uses=1]
5137 %tmp3.i183 = load i64* %tmp1.i181, align 8 ; <i64> [#uses=1]
5138 %tmp5.i185 = icmp slt i64 %tmp3.i183, %end_time.0.0 ; <i1> [#uses=1]
5139 br i1 %tmp5.i185, label %whilebody, label %endwhile
5140
5141postinvoke27: ; preds = %whilebody
5142 %tmp30 = load %tango.net.Socket.SocketSet.__vtbl** %vtbl ; <%tango.net.Socket.SocketSet.__vtbl*> [#uses=1]
5143 %"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]
5144 %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]
5145 %tmp33 = getelementptr %tango.net.SocketConduit.SocketConduit* %data_arg, i32 0, i32 0 ; <%tango.net.SocketConduit.SocketConduit.__vtbl**> [#uses=2]
5146 %tmp34 = load %tango.net.SocketConduit.SocketConduit.__vtbl** %tmp33 ; <%tango.net.SocketConduit.SocketConduit.__vtbl*> [#uses=1]
5147 %"data.socket@vtbl" = getelementptr %tango.net.SocketConduit.SocketConduit.__vtbl* %tmp34, i32 0, i32 14 ; <%tango.net.Socket.Socket* (%tango.net.SocketConduit.SocketConduit*)**> [#uses=1]
5148 %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]
5149 %tmp37 = invoke fastcc %tango.net.Socket.Socket* %data.socket(%tango.net.SocketConduit.SocketConduit* %data_arg)
5150 to label %postinvoke36 unwind label %landingpad ; <%tango.net.Socket.Socket*> [#uses=1]
5151
5152postinvoke36: ; preds = %postinvoke27
5153 invoke fastcc void %set.add(%tango.net.Socket.SocketSet* %.newclass_gc, %tango.net.Socket.Socket* %tmp37)
5154 to label %postinvoke38 unwind label %landingpad
5155
5156postinvoke38: ; preds = %postinvoke36
5157 %tmp42 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp8 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
5158 %"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]
5159 %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]
5160 invoke fastcc void %this.timeout45(%tango.time.Time.Time* noalias nocapture sret %.rettmp46, %tango.net.ftp.FtpClient.FTPConnection* %.this_arg)
5161 to label %postinvoke47 unwind label %landingpad
5162
5163postinvoke47: ; preds = %postinvoke38
5164 %.rettmp46.0 = getelementptr %tango.time.Time.Time* %.rettmp46, i32 0, i32 0 ; <i64*> [#uses=1]
5165 %tmp198 = load i64* %.rettmp46.0, align 8 ; <i64> [#uses=2]
5166 %tmp3.i.i.i = sdiv i64 %tmp198, 10000000 ; <i64> [#uses=1]
5167 %tmp3.i14.i.i = sdiv i64 %tmp198, 10 ; <i64> [#uses=1]
5168 %tmp6.i.i = trunc i64 %tmp3.i14.i.i to i32 ; <i32> [#uses=1]
5169 %tmp7.i.i = urem i32 %tmp6.i.i, 1000000 ; <i32> [#uses=1]
5170 %tmp7.i = bitcast %tango.net.Socket.timeval* %tv.i to i64* ; <i64*> [#uses=1]
5171 %4 = shl i64 %tmp3.i.i.i, 32 ; <i64> [#uses=1]
5172 %5 = zext i32 %tmp7.i.i to i64 ; <i64> [#uses=1]
5173 %6 = or i64 %5, %4 ; <i64> [#uses=1]
5174 store i64 %6, i64* %tmp7.i, align 8
5175 %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)
5176 to label %_D5tango3net6Socket6Socket6selectFC5tango3net6Socket9SocketSetC5tango3net6Socket9SocketSetC5tango3net6Socket9SocketSetS5tango4time4Time8TimeSpanZi.exit unwind label %landingpad ; <i32> [#uses=1]
5177
5178_D5tango3net6Socket6Socket6selectFC5tango3net6Socket9SocketSetC5tango3net6Socket9SocketSetC5tango3net6Socket9SocketSetS5tango4time4Time8TimeSpanZi.exit: ; preds = %postinvoke47
5179 switch i32 %tmp5.i189190, label %endif [
5180 i32 -1, label %endwhile
5181 i32 0, label %endwhile
5182 ]
5183
5184endif: ; preds = %_D5tango3net6Socket6Socket6selectFC5tango3net6Socket9SocketSetC5tango3net6Socket9SocketSetC5tango3net6Socket9SocketSetS5tango4time4Time8TimeSpanZi.exit
5185 %tmp57 = icmp eq i32 %buf_size.1, %buf_pos.1 ; <i1> [#uses=1]
5186 br i1 %tmp57, label %if58, label %endif59
5187
5188if58: ; preds = %endif
5189 %tmp61 = bitcast %tango.io.model.IConduit.InputStream* %stream_arg to i8* ; <i8*> [#uses=1]
5190 %tmp62 = call %object.Object* @_d_toObject(i8* %tmp61) nounwind readonly ; <%object.Object*> [#uses=1]
5191 %tmp64 = getelementptr %tango.io.model.IConduit.InputStream* %stream_arg, i32 0, i32 0 ; <%tango.io.model.IConduit.InputStream.__vtbl**> [#uses=1]
5192 %tmp65 = load %tango.io.model.IConduit.InputStream.__vtbl** %tmp64 ; <%tango.io.model.IConduit.InputStream.__vtbl*> [#uses=1]
5193 %"stream.read@vtbl" = getelementptr %tango.io.model.IConduit.InputStream.__vtbl* %tmp65, i32 0, i32 5 ; <i32 (%tango.io.model.IConduit.InputStream*, %"byte[]")**> [#uses=1]
5194 %stream.read = load i32 (%tango.io.model.IConduit.InputStream*, %"byte[]")** %"stream.read@vtbl", align 4 ; <i32 (%tango.io.model.IConduit.InputStream*, %"byte[]")*> [#uses=1]
5195 %tmp67 = bitcast %object.Object* %tmp62 to %tango.io.model.IConduit.InputStream* ; <%tango.io.model.IConduit.InputStream*> [#uses=1]
5196 %tmp69 = insertvalue %"byte[]" { i32 8192, i8* undef }, i8* %tmp16, 1 ; <%"byte[]"> [#uses=1]
5197 %tmp71 = invoke fastcc i32 %stream.read(%tango.io.model.IConduit.InputStream* %tmp67, %"byte[]" %tmp69)
5198 to label %postinvoke70 unwind label %landingpad ; <i32> [#uses=2]
5199
5200postinvoke70: ; preds = %if58
5201 %tmp72 = icmp eq i32 %tmp71, -1 ; <i1> [#uses=2]
5202 %buf_size.2 = select i1 %tmp72, i32 0, i32 %tmp71 ; <i32> [#uses=1]
5203 %completed.0 = or i1 %tmp72, %completed.2 ; <i1> [#uses=1]
5204 br label %endif59
5205
5206endif59: ; preds = %postinvoke70, %endif
5207 %buf_pos.0 = phi i32 [ 0, %postinvoke70 ], [ %buf_pos.1, %endif ] ; <i32> [#uses=3]
5208 %buf_size.0 = phi i32 [ %buf_size.2, %postinvoke70 ], [ %buf_size.1, %endif ] ; <i32> [#uses=3]
5209 %completed.1 = phi i1 [ %completed.0, %postinvoke70 ], [ %completed.2, %endif ] ; <i1> [#uses=3]
5210 %tmp77 = load %tango.net.SocketConduit.SocketConduit.__vtbl** %tmp33 ; <%tango.net.SocketConduit.SocketConduit.__vtbl*> [#uses=1]
5211 %"data.socket@vtbl78" = getelementptr %tango.net.SocketConduit.SocketConduit.__vtbl* %tmp77, i32 0, i32 14 ; <%tango.net.Socket.Socket* (%tango.net.SocketConduit.SocketConduit*)**> [#uses=1]
5212 %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]
5213 %tmp82 = invoke fastcc %tango.net.Socket.Socket* %data.socket80(%tango.net.SocketConduit.SocketConduit* %data_arg)
5214 to label %postinvoke81 unwind label %landingpad ; <%tango.net.Socket.Socket*> [#uses=2]
5215
5216postinvoke81: ; preds = %endif59
5217 %tmp83 = getelementptr %tango.net.Socket.Socket* %tmp82, i32 0, i32 0 ; <%tango.net.Socket.Socket.__vtbl**> [#uses=1]
5218 %tmp84 = load %tango.net.Socket.Socket.__vtbl** %tmp83 ; <%tango.net.Socket.Socket.__vtbl*> [#uses=1]
5219 %"data.socket().send@vtbl" = getelementptr %tango.net.Socket.Socket.__vtbl* %tmp84, i32 0, i32 25 ; <i32 (%tango.net.Socket.Socket*, %"byte[]", i32)**> [#uses=1]
5220 %"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]
5221 %tmp89 = getelementptr [8192 x i8]* %buf, i32 0, i32 %buf_pos.0 ; <i8*> [#uses=1]
5222 %tmp90 = sub i32 %buf_size.0, %buf_pos.0 ; <i32> [#uses=1]
5223 %tmp91 = insertvalue %"byte[]" undef, i32 %tmp90, 0 ; <%"byte[]"> [#uses=1]
5224 %tmp92 = insertvalue %"byte[]" %tmp91, i8* %tmp89, 1 ; <%"byte[]"> [#uses=1]
5225 %tmp94 = invoke fastcc i32 %"data.socket().send"(%tango.net.Socket.Socket* %tmp82, %"byte[]" %tmp92, i32 0)
5226 to label %postinvoke93 unwind label %landingpad ; <i32> [#uses=4]
5227
5228postinvoke93: ; preds = %postinvoke81
5229 %tmp96 = icmp eq i32 %tmp94, -1 ; <i1> [#uses=1]
5230 br i1 %tmp96, label %endwhile, label %endif98
5231
5232endif98: ; preds = %postinvoke93
5233 %tmp102 = add i32 %buf_pos.0, %tmp94 ; <i32> [#uses=2]
5234 %tmp105 = add i32 %pos.0, %tmp94 ; <i32> [#uses=3]
5235 %tmp107 = icmp eq i8* %progress_arg157, null ; <i1> [#uses=1]
5236 %tmp108 = icmp eq void (i8*, i32)* %progress_arg158, null ; <i1> [#uses=1]
5237 %tmp109 = and i1 %tmp107, %tmp108 ; <i1> [#uses=1]
5238 br i1 %tmp109, label %endif112, label %if111
5239
5240if111: ; preds = %endif98
5241 invoke fastcc void %progress_arg158(i8* %progress_arg157, i32 %tmp105)
5242 to label %endif112 unwind label %landingpad
5243
5244endif112: ; preds = %if111, %endif98
5245 %tmp120 = icmp eq i32 %tmp94, 0 ; <i1> [#uses=1]
5246 br i1 %tmp120, label %whilecond, label %if121
5247
5248if121: ; preds = %endif112
5249 invoke fastcc void @_D5tango4time5Clock5Clock3nowFZS5tango4time4Time4Time(%tango.time.Time.Time* noalias nocapture sret %.rettmp123)
5250 to label %postinvoke124 unwind label %landingpad
5251
5252postinvoke124: ; preds = %if121
5253 %tmp128 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp8 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
5254 %"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]
5255 %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]
5256 invoke fastcc void %this.timeout131(%tango.time.Time.Time* noalias nocapture sret %.rettmp132, %tango.net.ftp.FtpClient.FTPConnection* %.this_arg)
5257 to label %postinvoke133 unwind label %landingpad
5258
5259postinvoke133: ; preds = %postinvoke124
5260 %.rettmp132.0 = getelementptr %tango.time.Time.Time* %.rettmp132, i32 0, i32 0 ; <i64*> [#uses=1]
5261 %tmp194 = load i64* %.rettmp132.0, align 8 ; <i64> [#uses=1]
5262 %tmp1.i = getelementptr %tango.time.Time.Time* %.rettmp123, i32 0, i32 0 ; <i64*> [#uses=1]
5263 %tmp3.i = load i64* %tmp1.i, align 8 ; <i64> [#uses=1]
5264 %tmp5.i171 = add i64 %tmp3.i, %tmp194 ; <i64> [#uses=1]
5265 br label %whilecond
5266
5267endwhile: ; preds = %postinvoke93, %_D5tango3net6Socket6Socket6selectFC5tango3net6Socket9SocketSetC5tango3net6Socket9SocketSetC5tango3net6Socket9SocketSetS5tango4time4Time8TimeSpanZi.exit, %_D5tango3net6Socket6Socket6selectFC5tango3net6Socket9SocketSetC5tango3net6Socket9SocketSetC5tango3net6Socket9SocketSetS5tango4time4Time8TimeSpanZi.exit, %postinvoke19, %whilecond
5268 %completed.3 = phi i1 [ %completed.2, %_D5tango3net6Socket6Socket6selectFC5tango3net6Socket9SocketSetC5tango3net6Socket9SocketSetC5tango3net6Socket9SocketSetS5tango4time4Time8TimeSpanZi.exit ], [ %completed.1, %postinvoke93 ], [ %completed.2, %postinvoke19 ], [ %completed.2, %whilecond ], [ %completed.2, %_D5tango3net6Socket6Socket6selectFC5tango3net6Socket9SocketSetC5tango3net6Socket9SocketSetC5tango3net6Socket9SocketSetS5tango4time4Time8TimeSpanZi.exit ] ; <i1> [#uses=1]
5269 br i1 %completed.3, label %finally, label %if138
5270
5271if138: ; preds = %endwhile
5272 %.newclass_gc_alloc141 = invoke noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango3net3ftp9FtpClient12FtpException7__ClassZ)
5273 to label %postinvoke140 unwind label %landingpad ; <i8*> [#uses=6]
5274
5275postinvoke140: ; preds = %if138
5276 %vtbl143 = bitcast i8* %.newclass_gc_alloc141 to %tango.net.ftp.FtpClient.FtpException.__vtbl** ; <%tango.net.ftp.FtpClient.FtpException.__vtbl**> [#uses=1]
5277 store %tango.net.ftp.FtpClient.FtpException.__vtbl* @_D5tango3net3ftp9FtpClient12FtpException6__vtblZ, %tango.net.ftp.FtpClient.FtpException.__vtbl** %vtbl143
5278 %monitor144 = getelementptr i8* %.newclass_gc_alloc141, i32 4 ; <i8*> [#uses=1]
5279 %7 = bitcast i8* %monitor144 to i8** ; <i8**> [#uses=1]
5280 store i8* null, i8** %7
5281 %tmp145 = getelementptr i8* %.newclass_gc_alloc141, i32 8 ; <i8*> [#uses=1]
5282 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)
5283 %tmp2.i = getelementptr i8* %.newclass_gc_alloc141, i32 36 ; <i8*> [#uses=1]
5284 call void @llvm.memcpy.i32(i8* %tmp2.i, i8* getelementptr ([4 x i8]* @.str164, i32 0, i32 0), i32 3, i32 1)
5285 %tmp5.i = bitcast i8* %.newclass_gc_alloc141 to %object.Exception* ; <%object.Exception*> [#uses=1]
5286 %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)
5287 to label %_D5tango3net3ftp9FtpClient12FtpException5_ctorMFAaG3aZC5tango3net3ftp9FtpClient12FtpException.exit unwind label %landingpad ; <%object.Exception*> [#uses=0]
5288
5289_D5tango3net3ftp9FtpClient12FtpException5_ctorMFAaG3aZC5tango3net3ftp9FtpClient12FtpException.exit: ; preds = %postinvoke140
5290 %tmp151 = bitcast i8* %.newclass_gc_alloc141 to %object.Object* ; <%object.Object*> [#uses=1]
5291 invoke void @_d_throw_exception(%object.Object* %tmp151)
5292 to label %postinvoke152 unwind label %landingpad
5293
5294postinvoke152: ; preds = %_D5tango3net3ftp9FtpClient12FtpException5_ctorMFAaG3aZC5tango3net3ftp9FtpClient12FtpException.exit
5295 unreachable
5296
5297finally: ; preds = %endwhile
5298 %.tmp154 = bitcast i8* %.newclass_gc_alloc to %object.Object* ; <%object.Object*> [#uses=1]
5299 call void @_d_delclass(%object.Object* %.tmp154)
5300 ret void
5301
5302landingpad: ; preds = %_D5tango3net3ftp9FtpClient12FtpException5_ctorMFAaG3aZC5tango3net3ftp9FtpClient12FtpException.exit, %postinvoke140, %if138, %postinvoke124, %if121, %if111, %postinvoke81, %endif59, %if58, %postinvoke47, %postinvoke38, %postinvoke36, %postinvoke27, %andand, %whilebody, %postinvoke, %entry
5303 %8 = call i8* @llvm.eh.exception() ; <i8*> [#uses=2]
5304 %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]
5305 %.tmp = bitcast i8* %.newclass_gc_alloc to %object.Object* ; <%object.Object*> [#uses=1]
5306 call void @_d_delclass(%object.Object* %.tmp)
5307 call void @_d_eh_resume_unwind(i8* %8)
5308 unreachable
5309}
5310
5311define fastcc %"FtpFileInfo[]" @_D5tango3net3ftp9FtpClient13FTPConnection15sendListCommandMFAaZAS5tango3net3ftp9FtpClient11FtpFileInfo(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" %path_arg) {
5312entry:
5313 %.frame.i = alloca %nest.splitLines, align 8 ; <%nest.splitLines*> [#uses=5]
5314 %.rettmp.i = alloca %"tango.text.Util.LineFruct!(char).LineFruct", align 8 ; <%"tango.text.Util.LineFruct!(char).LineFruct"*> [#uses=3]
5315 %.rettmp8.i = alloca %"tango.text.Util.LineFruct!(char).LineFruct", align 8 ; <%"tango.text.Util.LineFruct!(char).LineFruct"*> [#uses=3]
5316 %__arrayArg148 = alloca [1 x %"byte[]"], align 8 ; <[1 x %"byte[]"]*> [#uses=1]
5317 %.rettmp = alloca %tango.net.ftp.FtpClient.FtpFileInfo, align 8 ; <%tango.net.ftp.FtpClient.FtpFileInfo*> [#uses=10]
5318 %path_arg169 = extractvalue %"byte[]" %path_arg, 0 ; <i32> [#uses=2]
5319 %tmp1 = icmp eq i32 %path_arg169, 0 ; <i1> [#uses=1]
5320 %tmp3 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 0 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl**> [#uses=4]
5321 %tmp4 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp3 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
5322 %"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]
5323 %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]
5324 br i1 %tmp1, label %else, label %if
5325
5326if: ; preds = %entry
5327 %path_arg170 = extractvalue %"byte[]" %path_arg, 1 ; <i8*> [#uses=1]
5328 %tmp6 = getelementptr [1 x %"byte[]"]* %__arrayArg148, i32 0, i32 0 ; <%"byte[]"*> [#uses=2]
5329 %insert166 = insertvalue %"byte[]" undef, i32 %path_arg169, 0 ; <%"byte[]"> [#uses=1]
5330 %insert168 = insertvalue %"byte[]" %insert166, i8* %path_arg170, 1 ; <%"byte[]"> [#uses=1]
5331 store %"byte[]" %insert168, %"byte[]"* %tmp6, align 8
5332 %tmp9 = insertvalue %"char[][]" { i32 1, %"byte[]"* undef }, %"byte[]"* %tmp6, 1 ; <%"char[][]"> [#uses=1]
5333 %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]
5334 br label %endif
5335
5336else: ; preds = %entry
5337 %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]
5338 br label %endif
5339
5340endif: ; preds = %else, %if
5341 %data.0 = phi %tango.net.SocketConduit.SocketConduit* [ %tmp10, %if ], [ %tmp17, %else ] ; <%tango.net.SocketConduit.SocketConduit*> [#uses=2]
5342 %.newclass_gc_alloc = call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango2io6device5Array5Array7__ClassZ) ; <i8*> [#uses=9]
5343 %.newclass_gc = bitcast i8* %.newclass_gc_alloc to %tango.io.device.Array.Array* ; <%tango.io.device.Array.Array*> [#uses=1]
5344 %vtbl = bitcast i8* %.newclass_gc_alloc to %tango.io.device.Array.Array.__vtbl** ; <%tango.io.device.Array.Array.__vtbl**> [#uses=2]
5345 store %tango.io.device.Array.Array.__vtbl* @_D5tango2io6device5Array5Array6__vtblZ, %tango.io.device.Array.Array.__vtbl** %vtbl
5346 %monitor = getelementptr i8* %.newclass_gc_alloc, i32 4 ; <i8*> [#uses=1]
5347 %0 = bitcast i8* %monitor to i8** ; <i8**> [#uses=1]
5348 store i8* null, i8** %0
5349 %tmp18 = getelementptr i8* %.newclass_gc_alloc, i32 8 ; <i8*> [#uses=1]
5350 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)
5351 %tmp2.i = load %tango.io.device.Array.Array.__vtbl** %vtbl ; <%tango.io.device.Array.Array.__vtbl*> [#uses=1]
5352 %"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]
5353 %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]
5354 %.gc_mem.i = call noalias i8* @_d_newarrayT(%object.TypeInfo* @_D11TypeInfo_Ah6__initZ, i32 256) ; <i8*> [#uses=1]
5355 %tmp5.i = insertvalue %"byte[]" undef, i32 256, 0 ; <%"byte[]"> [#uses=1]
5356 %tmp6.i = insertvalue %"byte[]" %tmp5.i, i8* %.gc_mem.i, 1 ; <%"byte[]"> [#uses=1]
5357 %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]
5358 %tmp9.i = getelementptr i8* %.newclass_gc_alloc, i32 36 ; <i8*> [#uses=1]
5359 %1 = bitcast i8* %tmp9.i to i32* ; <i32*> [#uses=1]
5360 store i32 65536, i32* %1
5361 %tmp25 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp3 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
5362 %"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]
5363 %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]
5364 %tmp29 = getelementptr i8* %.newclass_gc_alloc, i32 12 ; <i8*> [#uses=1]
5365 %tmp30 = bitcast i8* %tmp29 to %tango.io.model.IConduit.OutputStream* ; <%tango.io.model.IConduit.OutputStream*> [#uses=1]
5366 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)
5367 %tmp33 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp3 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
5368 %"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]
5369 %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]
5370 call fastcc void %this.finishDataCommand(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %tango.net.SocketConduit.SocketConduit* %data.0)
5371 %tmp2.i171 = getelementptr i8* %.newclass_gc_alloc, i32 20 ; <i8*> [#uses=1]
5372 %2 = bitcast i8* %tmp2.i171 to i8** ; <i8**> [#uses=1]
5373 %.ptr.i = load i8** %2 ; <i8*> [#uses=1]
5374 %tmp4.i = getelementptr i8* %.newclass_gc_alloc, i32 24 ; <i8*> [#uses=1]
5375 %3 = bitcast i8* %tmp4.i to i32* ; <i32*> [#uses=1]
5376 %tmp6.i172 = getelementptr i8* %.newclass_gc_alloc, i32 28 ; <i8*> [#uses=1]
5377 %4 = bitcast i8* %tmp6.i172 to i32* ; <i32*> [#uses=1]
5378 %tmp7.i173 = load i32* %3 ; <i32> [#uses=2]
5379 %tmp8.i = load i32* %4 ; <i32> [#uses=1]
5380 %tmp9.i174 = getelementptr i8* %.ptr.i, i32 %tmp7.i173 ; <i8*> [#uses=2]
5381 %tmp10.i = sub i32 %tmp8.i, %tmp7.i173 ; <i32> [#uses=2]
5382 %count.i = getelementptr %nest.splitLines* %.frame.i, i32 0, i32 0 ; <i32*> [#uses=3]
5383 %result.i = getelementptr %nest.splitLines* %.frame.i, i32 0, i32 1 ; <%"char[][]"*> [#uses=1]
5384 store i32 0, i32* %count.i, align 8
5385 %5 = getelementptr %"tango.text.Util.LineFruct!(char).LineFruct"* %.rettmp.i, i32 0, i32 0, i32 0 ; <i32*> [#uses=1]
5386 store i32 %tmp10.i, i32* %5, align 8
5387 %.sret_arg10.1.i.i = getelementptr %"tango.text.Util.LineFruct!(char).LineFruct"* %.rettmp.i, i32 0, i32 0, i32 1 ; <i8**> [#uses=1]
5388 store i8* %tmp9.i174, i8** %.sret_arg10.1.i.i, align 4
5389 %tmp1.i186 = bitcast %nest.splitLines* %.frame.i to i8* ; <i8*> [#uses=2]
5390 %tmp2.i187 = insertvalue %"int delegate(ref char[])" undef, i8* %tmp1.i186, 0 ; <%"int delegate(ref char[])"> [#uses=1]
5391 %.func.i = insertvalue %"int delegate(ref char[])" %tmp2.i187, i32 (i8*, %"byte[]"*)* @_D5tango4text4Util18__T10splitLinesTaZ10splitLinesFAaZAAa15__foreachbody41MFKAaZi, 1 ; <%"int delegate(ref char[])"> [#uses=1]
5392 %tmp3.i = call fastcc i32 @_D5tango4text4Util16__T9LineFructTaZ9LineFruct7opApplyMFDFKAaZiZi(%"tango.text.Util.LineFruct!(char).LineFruct"* %.rettmp.i, %"int delegate(ref char[])" %.func.i) ; <i32> [#uses=0]
5393 %tmp4.i188 = load i32* %count.i, align 8 ; <i32> [#uses=2]
5394 %.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]
5395 %.gc_mem5.i = bitcast i8* %.gc_mem.i189 to %"byte[]"* ; <%"byte[]"*> [#uses=1]
5396 %tmp6.i190 = getelementptr %nest.splitLines* %.frame.i, i32 0, i32 1, i32 0 ; <i32*> [#uses=1]
5397 store i32 %tmp4.i188, i32* %tmp6.i190
5398 %tmp7.i191 = getelementptr %nest.splitLines* %.frame.i, i32 0, i32 1, i32 1 ; <%"byte[]"**> [#uses=1]
5399 store %"byte[]"* %.gc_mem5.i, %"byte[]"** %tmp7.i191
5400 store i32 0, i32* %count.i, align 8
5401 %6 = getelementptr %"tango.text.Util.LineFruct!(char).LineFruct"* %.rettmp8.i, i32 0, i32 0, i32 0 ; <i32*> [#uses=1]
5402 store i32 %tmp10.i, i32* %6, align 8
5403 %.sret_arg10.1.i17.i = getelementptr %"tango.text.Util.LineFruct!(char).LineFruct"* %.rettmp8.i, i32 0, i32 0, i32 1 ; <i8**> [#uses=1]
5404 store i8* %tmp9.i174, i8** %.sret_arg10.1.i17.i, align 4
5405 %tmp11.i192 = insertvalue %"int delegate(ref char[])" undef, i8* %tmp1.i186, 0 ; <%"int delegate(ref char[])"> [#uses=1]
5406 %.func12.i = insertvalue %"int delegate(ref char[])" %tmp11.i192, i32 (i8*, %"byte[]"*)* @_D5tango4text4Util18__T10splitLinesTaZ10splitLinesFAaZAAa15__foreachbody42MFKAaZi, 1 ; <%"int delegate(ref char[])"> [#uses=1]
5407 %tmp13.i = call fastcc i32 @_D5tango4text4Util16__T9LineFructTaZ9LineFruct7opApplyMFDFKAaZiZi(%"tango.text.Util.LineFruct!(char).LineFruct"* %.rettmp8.i, %"int delegate(ref char[])" %.func12.i) ; <i32> [#uses=0]
5408 %tmp14.i = load %"char[][]"* %result.i ; <%"char[][]"> [#uses=2]
5409 %tmp41159 = extractvalue %"char[][]" %tmp14.i, 0 ; <i32> [#uses=3]
5410 %tmp41160 = extractvalue %"char[][]" %tmp14.i, 1 ; <%"byte[]"*> [#uses=3]
5411 br label %foreachcond
5412
5413foreachcond: ; preds = %foreachnext, %endif
5414 %dir.1.1 = phi %tango.net.ftp.FtpClient.FtpFileInfo* [ null, %endif ], [ %dir.1.0, %foreachnext ] ; <%tango.net.ftp.FtpClient.FtpFileInfo*> [#uses=5]
5415 %dir.0.1 = phi i32 [ 0, %endif ], [ %dir.0.0, %foreachnext ] ; <i32> [#uses=15]
5416 %foreachkey.0 = phi i32 [ 0, %endif ], [ %tmp99, %foreachnext ] ; <i32> [#uses=3]
5417 %tmp51 = icmp ult i32 %foreachkey.0, %tmp41159 ; <i1> [#uses=1]
5418 br i1 %tmp51, label %foreachbody, label %foreachend
5419
5420foreachbody: ; preds = %foreachcond
5421 %tmp53 = getelementptr %"byte[]"* %tmp41160, i32 %foreachkey.0 ; <%"byte[]"*> [#uses=1]
5422 %tmp54 = load %"byte[]"* %tmp53 ; <%"byte[]"> [#uses=2]
5423 %tmp54157 = extractvalue %"byte[]" %tmp54, 0 ; <i32> [#uses=7]
5424 %tmp54158 = extractvalue %"byte[]" %tmp54, 1 ; <i8*> [#uses=4]
5425 %tmp57 = icmp eq i32 %tmp54157, 0 ; <i1> [#uses=1]
5426 br i1 %tmp57, label %foreachnext, label %endif59
5427
5428endif59: ; preds = %foreachbody
5429 %tmp2.i.i = getelementptr i8* %tmp54158, i32 -1 ; <i8*> [#uses=1]
5430 br label %forcond.i.i
5431
5432forcond.i.i: ; preds = %forbody.i.i, %endif59
5433 %len.0.i.i = phi i32 [ %tmp54157, %endif59 ], [ %tmp4.i.i, %forbody.i.i ] ; <i32> [#uses=2]
5434 %p.0.i.i = phi i8* [ %tmp2.i.i, %endif59 ], [ %tmp7.i.i, %forbody.i.i ] ; <i8*> [#uses=1]
5435 %tmp4.i.i = add i32 %len.0.i.i, -1 ; <i32> [#uses=1]
5436 %tmp5.i.i = icmp eq i32 %len.0.i.i, 0 ; <i1> [#uses=1]
5437 br i1 %tmp5.i.i, label %_D5tango4text4Util13__T6locateTaZ6locateFAaakZk.exit, label %forbody.i.i
5438
5439forbody.i.i: ; preds = %forcond.i.i
5440 %tmp7.i.i = getelementptr i8* %p.0.i.i, i32 1 ; <i8*> [#uses=3]
5441 %tmp8.i.i = load i8* %tmp7.i.i ; <i8> [#uses=1]
5442 %tmp12.i.i = icmp eq i8 %tmp8.i.i, 32 ; <i1> [#uses=1]
5443 br i1 %tmp12.i.i, label %if.i.i, label %forcond.i.i
5444
5445if.i.i: ; preds = %forbody.i.i
5446 %tmp15.i.i = ptrtoint i8* %tmp7.i.i to i32 ; <i32> [#uses=1]
5447 %tmp16.i.i = ptrtoint i8* %tmp54158 to i32 ; <i32> [#uses=1]
5448 %tmp17.i.i = sub i32 %tmp15.i.i, %tmp16.i.i ; <i32> [#uses=1]
5449 br label %_D5tango4text4Util13__T6locateTaZ6locateFAaakZk.exit
5450
5451_D5tango4text4Util13__T6locateTaZ6locateFAaakZk.exit: ; preds = %if.i.i, %forcond.i.i
5452 %tmp1318.i = phi i32 [ %tmp17.i.i, %if.i.i ], [ %tmp54157, %forcond.i.i ] ; <i32> [#uses=1]
5453 %tmp2.i175 = icmp eq i32 %tmp54157, -1 ; <i1> [#uses=1]
5454 br i1 %tmp2.i175, label %whilecond.i, label %if.i
5455
5456if.i: ; preds = %_D5tango4text4Util13__T6locateTaZ6locateFAaakZk.exit
5457 br label %whilecond.i
5458
5459whilecond.i: ; preds = %whilebody.i, %if.i, %_D5tango4text4Util13__T6locateTaZ6locateFAaakZk.exit
5460 %start.0.i = phi i32 [ %tmp54157, %if.i ], [ %tmp8.i177, %whilebody.i ], [ -1, %_D5tango4text4Util13__T6locateTaZ6locateFAaakZk.exit ] ; <i32> [#uses=2]
5461 %tmp6.i176 = icmp eq i32 %start.0.i, 0 ; <i1> [#uses=1]
5462 br i1 %tmp6.i176, label %_D5tango4text4Util19__T11locatePriorTaZ11locatePriorFAaakZk.exit, label %whilebody.i
5463
5464whilebody.i: ; preds = %whilecond.i
5465 %tmp8.i177 = add i32 %start.0.i, -1 ; <i32> [#uses=3]
5466 %tmp10.i178 = getelementptr i8* %tmp54158, i32 %tmp8.i177 ; <i8*> [#uses=1]
5467 %tmp11.i179 = load i8* %tmp10.i178 ; <i8> [#uses=1]
5468 %tmp15.i = icmp eq i8 %tmp11.i179, 32 ; <i1> [#uses=1]
5469 br i1 %tmp15.i, label %_D5tango4text4Util19__T11locatePriorTaZ11locatePriorFAaakZk.exit, label %whilecond.i
5470
5471_D5tango4text4Util19__T11locatePriorTaZ11locatePriorFAaakZk.exit: ; preds = %whilebody.i, %whilecond.i
5472 %tmp64180 = phi i32 [ %tmp8.i177, %whilebody.i ], [ %tmp54157, %whilecond.i ] ; <i32> [#uses=1]
5473 %tmp65 = icmp eq i32 %tmp1318.i, %tmp64180 ; <i1> [#uses=1]
5474 br i1 %tmp65, label %foreachnext, label %endif67
5475
5476endif67: ; preds = %_D5tango4text4Util19__T11locatePriorTaZ11locatePriorFAaakZk.exit
5477 %tmp71 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp3 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
5478 %"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]
5479 %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]
5480 %insert = insertvalue %"byte[]" undef, i32 %tmp54157, 0 ; <%"byte[]"> [#uses=1]
5481 %insert148 = insertvalue %"byte[]" %insert, i8* %tmp54158, 1 ; <%"byte[]"> [#uses=1]
5482 invoke fastcc void %this.parseListLine(%tango.net.ftp.FtpClient.FtpFileInfo* noalias nocapture sret %.rettmp, %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" %insert148)
5483 to label %postinvoke74 unwind label %landingpad
5484
5485postinvoke74: ; preds = %endif67
5486 %.rettmp141.0 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %.rettmp, i32 0, i32 0, i32 0 ; <i32*> [#uses=1]
5487 %tmp142 = load i32* %.rettmp141.0, align 8 ; <i32> [#uses=2]
5488 %.rettmp141.1 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %.rettmp, i32 0, i32 0, i32 1 ; <i8**> [#uses=1]
5489 %tmp143 = load i8** %.rettmp141.1, align 4 ; <i8*> [#uses=1]
5490 %.rettmp.1 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %.rettmp, i32 0, i32 1 ; <i32*> [#uses=1]
5491 %tmp124 = load i32* %.rettmp.1, align 8 ; <i32> [#uses=1]
5492 %.rettmp.2 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %.rettmp, i32 0, i32 2 ; <i64*> [#uses=1]
5493 %tmp125 = load i64* %.rettmp.2, align 4 ; <i64> [#uses=1]
5494 %.rettmp.3.0 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %.rettmp, i32 0, i32 3, i32 0 ; <i64*> [#uses=1]
5495 %tmp139 = load i64* %.rettmp.3.0, align 4 ; <i64> [#uses=1]
5496 %.rettmp.4.0 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %.rettmp, i32 0, i32 4, i32 0 ; <i64*> [#uses=1]
5497 %tmp137 = load i64* %.rettmp.4.0, align 4 ; <i64> [#uses=1]
5498 %.rettmp.5.0 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %.rettmp, i32 0, i32 5, i32 0 ; <i32*> [#uses=1]
5499 %tmp133 = load i32* %.rettmp.5.0, align 4 ; <i32> [#uses=1]
5500 %.rettmp.5.1 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %.rettmp, i32 0, i32 5, i32 1 ; <i8**> [#uses=1]
5501 %tmp134 = load i8** %.rettmp.5.1, align 4 ; <i8*> [#uses=1]
5502 %.rettmp.6 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %.rettmp, i32 0, i32 6 ; <i8**> [#uses=1]
5503 %tmp132 = load i8** %.rettmp.6, align 4 ; <i8*> [#uses=1]
5504 %tmp80 = icmp eq i32 %tmp142, 0 ; <i1> [#uses=1]
5505 br i1 %tmp80, label %foreachnext, label %if81
5506
5507if81: ; preds = %postinvoke74
5508 %tmp85 = add i32 %dir.0.1, 1 ; <i32> [#uses=2]
5509 %tmp90 = bitcast %tango.net.ftp.FtpClient.FtpFileInfo* %dir.1.1 to i8* ; <i8*> [#uses=1]
5510 %.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)
5511 to label %postinvoke91 unwind label %landingpad ; <i8*> [#uses=1]
5512
5513postinvoke91: ; preds = %if81
5514 %.gc_mem92 = bitcast i8* %.gc_mem to %tango.net.ftp.FtpClient.FtpFileInfo* ; <%tango.net.ftp.FtpClient.FtpFileInfo*> [#uses=10]
5515 %7 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %.gc_mem92, i32 %dir.0.1, i32 0, i32 0 ; <i32*> [#uses=1]
5516 store i32 %tmp142, i32* %7
5517 %tmp93144.1 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %.gc_mem92, i32 %dir.0.1, i32 0, i32 1 ; <i8**> [#uses=1]
5518 store i8* %tmp143, i8** %tmp93144.1, align 4
5519 %tmp93.1 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %.gc_mem92, i32 %dir.0.1, i32 1 ; <i32*> [#uses=1]
5520 store i32 %tmp124, i32* %tmp93.1, align 8
5521 %tmp93.2 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %.gc_mem92, i32 %dir.0.1, i32 2 ; <i64*> [#uses=1]
5522 store i64 %tmp125, i64* %tmp93.2, align 4
5523 %tmp93.3.0 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %.gc_mem92, i32 %dir.0.1, i32 3, i32 0 ; <i64*> [#uses=1]
5524 store i64 %tmp139, i64* %tmp93.3.0, align 4
5525 %tmp93.4.0 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %.gc_mem92, i32 %dir.0.1, i32 4, i32 0 ; <i64*> [#uses=1]
5526 store i64 %tmp137, i64* %tmp93.4.0, align 4
5527 %tmp93.5.0 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %.gc_mem92, i32 %dir.0.1, i32 5, i32 0 ; <i32*> [#uses=1]
5528 store i32 %tmp133, i32* %tmp93.5.0, align 4
5529 %tmp93.5.1 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %.gc_mem92, i32 %dir.0.1, i32 5, i32 1 ; <i8**> [#uses=1]
5530 store i8* %tmp134, i8** %tmp93.5.1, align 4
5531 %tmp93.6 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %.gc_mem92, i32 %dir.0.1, i32 6 ; <i8**> [#uses=1]
5532 store i8* %tmp132, i8** %tmp93.6, align 4
5533 br label %foreachnext
5534
5535foreachnext: ; preds = %postinvoke91, %postinvoke74, %_D5tango4text4Util19__T11locatePriorTaZ11locatePriorFAaakZk.exit, %foreachbody
5536 %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]
5537 %dir.0.0 = phi i32 [ %dir.0.1, %foreachbody ], [ %dir.0.1, %_D5tango4text4Util19__T11locatePriorTaZ11locatePriorFAaakZk.exit ], [ %tmp85, %postinvoke91 ], [ %dir.0.1, %postinvoke74 ] ; <i32> [#uses=1]
5538 %tmp99 = add i32 %foreachkey.0, 1 ; <i32> [#uses=1]
5539 br label %foreachcond
5540
5541foreachend: ; preds = %foreachcond
5542 %insert162 = insertvalue %"FtpFileInfo[]" undef, i32 %dir.0.1, 0 ; <%"FtpFileInfo[]"> [#uses=1]
5543 %insert164 = insertvalue %"FtpFileInfo[]" %insert162, %tango.net.ftp.FtpClient.FtpFileInfo* %dir.1.1, 1 ; <%"FtpFileInfo[]"> [#uses=1]
5544 %.tmp105 = bitcast %"byte[]"* %tmp41160 to i8* ; <i8*> [#uses=1]
5545 call void @_d_delarray(i32 %tmp41159, i8* %.tmp105)
5546 ret %"FtpFileInfo[]" %insert164
5547
5548landingpad: ; preds = %if81, %endif67
5549 %8 = call i8* @llvm.eh.exception() ; <i8*> [#uses=2]
5550 %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]
5551 %.tmp = bitcast %"byte[]"* %tmp41160 to i8* ; <i8*> [#uses=1]
5552 call void @_d_delarray(i32 %tmp41159, i8* %.tmp)
5553 call void @_d_eh_resume_unwind(i8* %8)
5554 unreachable
5555}
5556
5557define fastcc void @_D5tango3net3ftp9FtpClient13FTPConnection13parseListLineMFAaZS5tango3net3ftp9FtpClient11FtpFileInfo(%tango.net.ftp.FtpClient.FtpFileInfo* noalias nocapture sret %.sret_arg, %tango.net.ftp.FtpClient.FTPConnection* nocapture %.this_arg, %"byte[]" %line_arg) {
5558entry:
5559 %info = alloca %tango.net.ftp.FtpClient.FtpFileInfo, align 8 ; <%tango.net.ftp.FtpClient.FtpFileInfo*> [#uses=22]
5560 %aatmpkeystorage = alloca %"byte[]", align 8 ; <%"byte[]"*> [#uses=2]
5561 %aatmpkeystorage114 = alloca %"byte[]", align 8 ; <%"byte[]"*> [#uses=2]
5562 %aatmpkeystorage141 = alloca %"byte[]", align 8 ; <%"byte[]"*> [#uses=2]
5563 %line_arg830 = extractvalue %"byte[]" %line_arg, 0 ; <i32> [#uses=21]
5564 %line_arg831 = extractvalue %"byte[]" %line_arg, 1 ; <i8*> [#uses=28]
5565 %tmp2 = bitcast %tango.net.ftp.FtpClient.FtpFileInfo* %info to i8* ; <i8*> [#uses=6]
5566 call void @llvm.memcpy.i32(i8* %tmp2, i8* bitcast (%tango.net.ftp.FtpClient.FtpFileInfo* @_D5tango3net3ftp9FtpClient11FtpFileInfo6__initZ to i8*), i32 48, i32 4)
5567 %tmp5 = load i8* %line_arg831 ; <i8> [#uses=3]
5568 br label %forcond.i.i
5569
5570forcond.i.i: ; preds = %forbody.i.i, %entry
5571 %len.0.i.i = phi i32 [ 10, %entry ], [ %tmp4.i.i, %forbody.i.i ] ; <i32> [#uses=2]
5572 %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]
5573 %tmp4.i.i = add i32 %len.0.i.i, -1 ; <i32> [#uses=1]
5574 %tmp5.i.i = icmp eq i32 %len.0.i.i, 0 ; <i1> [#uses=1]
5575 br i1 %tmp5.i.i, label %_D5tango4text4Util15__T8containsTaZ8containsFAaaZb.exit, label %forbody.i.i
5576
5577forbody.i.i: ; preds = %forcond.i.i
5578 %tmp7.i.i = getelementptr i8* %p.0.i.i, i32 1 ; <i8*> [#uses=3]
5579 %tmp8.i.i = load i8* %tmp7.i.i ; <i8> [#uses=1]
5580 %tmp12.i.i = icmp eq i8 %tmp8.i.i, %tmp5 ; <i1> [#uses=1]
5581 br i1 %tmp12.i.i, label %if.i.i, label %forcond.i.i
5582
5583if.i.i: ; preds = %forbody.i.i
5584 %tmp15.i.i = ptrtoint i8* %tmp7.i.i to i32 ; <i32> [#uses=1]
5585 %tmp17.i.i = sub i32 %tmp15.i.i, ptrtoint ([11 x i8]* @.str167 to i32) ; <i32> [#uses=1]
5586 %phitmp640 = icmp eq i32 %tmp17.i.i, 10 ; <i1> [#uses=1]
5587 %phitmp641 = zext i1 %phitmp640 to i32 ; <i32> [#uses=1]
5588 br label %_D5tango4text4Util15__T8containsTaZ8containsFAaaZb.exit
5589
5590_D5tango4text4Util15__T8containsTaZ8containsFAaaZb.exit: ; preds = %if.i.i, %forcond.i.i
5591 %tmp39.i = phi i32 [ %phitmp641, %if.i.i ], [ 1, %forcond.i.i ] ; <i32> [#uses=1]
5592 switch i32 %tmp39.i, label %default223 [
5593 i32 1, label %case
5594 i32 0, label %case145
5595 ]
5596
5597case: ; preds = %_D5tango4text4Util15__T8containsTaZ8containsFAaaZb.exit
5598 %tmp9 = icmp ult i32 %line_arg830, 20 ; <i1> [#uses=1]
5599 br i1 %tmp9, label %if, label %endif
5600
5601if: ; preds = %case
5602 %tmp10 = bitcast %tango.net.ftp.FtpClient.FtpFileInfo* %.sret_arg to i8* ; <i8*> [#uses=1]
5603 call void @llvm.memcpy.i32(i8* %tmp10, i8* %tmp2, i32 48, i32 1)
5604 ret void
5605
5606endif: ; preds = %case
5607 switch i8 %tmp5, label %else29 [
5608 i8 100, label %if18
5609 i8 108, label %if27
5610 ]
5611
5612if18: ; preds = %endif
5613 %tmp20 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %info, i32 0, i32 1 ; <i32*> [#uses=1]
5614 store i32 4, i32* %tmp20, align 8
5615 br label %endif19
5616
5617if27: ; preds = %endif
5618 %tmp30 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %info, i32 0, i32 1 ; <i32*> [#uses=1]
5619 store i32 5, i32* %tmp30, align 8
5620 br label %endif19
5621
5622else29: ; preds = %endif
5623 %tmp36 = icmp eq i8 %tmp5, 45 ; <i1> [#uses=1]
5624 %tmp40 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %info, i32 0, i32 1 ; <i32*> [#uses=2]
5625 br i1 %tmp36, label %if37, label %else39
5626
5627if37: ; preds = %else29
5628 store i32 1, i32* %tmp40, align 8
5629 br label %endif19
5630
5631else39: ; preds = %else29
5632 store i32 0, i32* %tmp40, align 8
5633 br label %endif19
5634
5635endif19: ; preds = %else39, %if37, %if27, %if18
5636 %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]
5637 %tmp42834 = extractvalue %"byte[]" %tmp42, 0 ; <i32> [#uses=1]
5638 %tmp42835 = extractvalue %"byte[]" %tmp42, 1 ; <i8*> [#uses=10]
5639 br label %forcond.i
5640
5641forcond.i: ; preds = %forinc.i, %endif19
5642 %storemerge.i = phi i32 [ %tmp106.i, %forinc.i ], [ 1, %endif19 ] ; <i32> [#uses=1]
5643 %tmp77.i286 = phi i32 [ %tmp106.i, %forinc.i ], [ 1, %endif19 ] ; <i32> [#uses=2]
5644 %tmp10.i = icmp ugt i32 %tmp77.i286, 3 ; <i1> [#uses=1]
5645 br i1 %tmp10.i, label %forcond.i295, label %forbody.i
5646
5647forbody.i: ; preds = %forcond.i
5648 %tmp16.i = getelementptr i8* %line_arg831, i32 %tmp77.i286 ; <i8*> [#uses=1]
5649 %tmp17.i = load i8* %tmp16.i ; <i8> [#uses=1]
5650 switch i8 %tmp17.i, label %forinc.i [
5651 i8 114, label %if.i
5652 i8 119, label %if49.i
5653 i8 120, label %if82.i
5654 ]
5655
5656if.i: ; preds = %forbody.i
5657 %tmp25.i = getelementptr i8* %tmp42835, i32 1 ; <i8*> [#uses=2]
5658 %tmp33.i = load i8* %tmp25.i ; <i8> [#uses=1]
5659 %tmp35.i = or i8 %tmp33.i, 4 ; <i8> [#uses=1]
5660 store i8 %tmp35.i, i8* %tmp25.i
5661 br label %forinc.i
5662
5663if49.i: ; preds = %forbody.i
5664 %tmp58.i = getelementptr i8* %tmp42835, i32 1 ; <i8*> [#uses=2]
5665 %tmp66.i = load i8* %tmp58.i ; <i8> [#uses=1]
5666 %tmp68.i = or i8 %tmp66.i, 2 ; <i8> [#uses=1]
5667 store i8 %tmp68.i, i8* %tmp58.i
5668 br label %forinc.i
5669
5670if82.i: ; preds = %forbody.i
5671 %tmp90.i290 = getelementptr i8* %tmp42835, i32 1 ; <i8*> [#uses=2]
5672 %tmp98.i = load i8* %tmp90.i290 ; <i8> [#uses=1]
5673 %tmp100.i = or i8 %tmp98.i, 1 ; <i8> [#uses=1]
5674 store i8 %tmp100.i, i8* %tmp90.i290
5675 br label %forinc.i
5676
5677forinc.i: ; preds = %if82.i, %if49.i, %if.i, %forbody.i
5678 %tmp106.i = add i32 %storemerge.i, 1 ; <i32> [#uses=2]
5679 br label %forcond.i
5680
5681forcond.i295: ; preds = %forinc.i326, %forcond.i
5682 %storemerge.i292 = phi i32 [ %tmp106.i325, %forinc.i326 ], [ 4, %forcond.i ] ; <i32> [#uses=1]
5683 %tmp77.i293 = phi i32 [ %tmp106.i325, %forinc.i326 ], [ 4, %forcond.i ] ; <i32> [#uses=2]
5684 %tmp10.i294 = icmp ugt i32 %tmp77.i293, 6 ; <i1> [#uses=1]
5685 br i1 %tmp10.i294, label %forcond.i332, label %forbody.i301
5686
5687forbody.i301: ; preds = %forcond.i295
5688 %tmp16.i298 = getelementptr i8* %line_arg831, i32 %tmp77.i293 ; <i8*> [#uses=1]
5689 %tmp17.i299 = load i8* %tmp16.i298 ; <i8> [#uses=1]
5690 switch i8 %tmp17.i299, label %forinc.i326 [
5691 i8 114, label %if.i307
5692 i8 119, label %if49.i315
5693 i8 120, label %if82.i323
5694 ]
5695
5696if.i307: ; preds = %forbody.i301
5697 %tmp25.i304 = getelementptr i8* %tmp42835, i32 2 ; <i8*> [#uses=2]
5698 %tmp33.i305 = load i8* %tmp25.i304 ; <i8> [#uses=1]
5699 %tmp35.i306 = or i8 %tmp33.i305, 4 ; <i8> [#uses=1]
5700 store i8 %tmp35.i306, i8* %tmp25.i304
5701 br label %forinc.i326
5702
5703if49.i315: ; preds = %forbody.i301
5704 %tmp58.i312 = getelementptr i8* %tmp42835, i32 2 ; <i8*> [#uses=2]
5705 %tmp66.i313 = load i8* %tmp58.i312 ; <i8> [#uses=1]
5706 %tmp68.i314 = or i8 %tmp66.i313, 2 ; <i8> [#uses=1]
5707 store i8 %tmp68.i314, i8* %tmp58.i312
5708 br label %forinc.i326
5709
5710if82.i323: ; preds = %forbody.i301
5711 %tmp90.i320 = getelementptr i8* %tmp42835, i32 2 ; <i8*> [#uses=2]
5712 %tmp98.i321 = load i8* %tmp90.i320 ; <i8> [#uses=1]
5713 %tmp100.i322 = or i8 %tmp98.i321, 1 ; <i8> [#uses=1]
5714 store i8 %tmp100.i322, i8* %tmp90.i320
5715 br label %forinc.i326
5716
5717forinc.i326: ; preds = %if82.i323, %if49.i315, %if.i307, %forbody.i301
5718 %tmp106.i325 = add i32 %storemerge.i292, 1 ; <i32> [#uses=2]
5719 br label %forcond.i295
5720
5721forcond.i332: ; preds = %forinc.i363, %forcond.i295
5722 %storemerge.i329 = phi i32 [ %tmp106.i362, %forinc.i363 ], [ 7, %forcond.i295 ] ; <i32> [#uses=3]
5723 %tmp77.i330 = phi i32 [ %tmp106.i362, %forinc.i363 ], [ 7, %forcond.i295 ] ; <i32> [#uses=2]
5724 %tmp10.i331 = icmp ugt i32 %tmp77.i330, 9 ; <i1> [#uses=1]
5725 br i1 %tmp10.i331, label %_D5tango3net3ftp9FtpClient13FTPConnection13parseListLineMFAaZS5tango3net3ftp9FtpClient11FtpFileInfo9read_modeMFiZv.exit364, label %forbody.i338
5726
5727forbody.i338: ; preds = %forcond.i332
5728 %tmp16.i335 = getelementptr i8* %line_arg831, i32 %tmp77.i330 ; <i8*> [#uses=1]
5729 %tmp17.i336 = load i8* %tmp16.i335 ; <i8> [#uses=1]
5730 switch i8 %tmp17.i336, label %forinc.i363 [
5731 i8 114, label %if.i344
5732 i8 119, label %if49.i352
5733 i8 120, label %if82.i360
5734 ]
5735
5736if.i344: ; preds = %forbody.i338
5737 %tmp25.i341 = getelementptr i8* %tmp42835, i32 3 ; <i8*> [#uses=2]
5738 %tmp33.i342 = load i8* %tmp25.i341 ; <i8> [#uses=1]
5739 %tmp35.i343 = or i8 %tmp33.i342, 4 ; <i8> [#uses=1]
5740 store i8 %tmp35.i343, i8* %tmp25.i341
5741 br label %forinc.i363
5742
5743if49.i352: ; preds = %forbody.i338
5744 %tmp58.i349 = getelementptr i8* %tmp42835, i32 3 ; <i8*> [#uses=2]
5745 %tmp66.i350 = load i8* %tmp58.i349 ; <i8> [#uses=1]
5746 %tmp68.i351 = or i8 %tmp66.i350, 2 ; <i8> [#uses=1]
5747 store i8 %tmp68.i351, i8* %tmp58.i349
5748 br label %forinc.i363
5749
5750if82.i360: ; preds = %forbody.i338
5751 %tmp90.i357 = getelementptr i8* %tmp42835, i32 3 ; <i8*> [#uses=2]
5752 %tmp98.i358 = load i8* %tmp90.i357 ; <i8> [#uses=1]
5753 %tmp100.i359 = or i8 %tmp98.i358, 1 ; <i8> [#uses=1]
5754 store i8 %tmp100.i359, i8* %tmp90.i357
5755 br label %forinc.i363
5756
5757forinc.i363: ; preds = %if82.i360, %if49.i352, %if.i344, %forbody.i338
5758 %tmp106.i362 = add i32 %storemerge.i329, 1 ; <i32> [#uses=2]
5759 br label %forcond.i332
5760
5761_D5tango3net3ftp9FtpClient13FTPConnection13parseListLineMFAaZS5tango3net3ftp9FtpClient11FtpFileInfo9read_modeMFiZv.exit364: ; preds = %forcond.i332
5762 %tmp46 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %info, i32 0, i32 6 ; <i8**> [#uses=1]
5763 %tmp47 = bitcast i8** %tmp46 to %32* ; <%32*> [#uses=3]
5764 store %"byte[]" { i32 9, i8* getelementptr ([10 x i8]* @.str169, i32 0, i32 0) }, %"byte[]"* %aatmpkeystorage, align 8
5765 %tmp48 = bitcast %"byte[]"* %aatmpkeystorage to i8* ; <i8*> [#uses=1]
5766 %aa.index = call i8* @_aaGet(%32* nocapture %tmp47, %object.TypeInfo* @_D11TypeInfo_Aa6__initZ, i32 8, i8* nocapture %tmp48) ; <i8*> [#uses=1]
5767 %tmp49 = bitcast i8* %aa.index to %"byte[]"* ; <%"byte[]"*> [#uses=1]
5768 %insert837 = insertvalue %"byte[]" undef, i32 %tmp42834, 0 ; <%"byte[]"> [#uses=1]
5769 %insert839 = insertvalue %"byte[]" %insert837, i8* %tmp42835, 1 ; <%"byte[]"> [#uses=1]
5770 store %"byte[]" %insert839, %"byte[]"* %tmp49
5771 br label %whilecond.i370
5772
5773whilecond.i370: ; preds = %whilebody.i372, %_D5tango3net3ftp9FtpClient13FTPConnection13parseListLineMFAaZS5tango3net3ftp9FtpClient11FtpFileInfo9read_modeMFiZv.exit364
5774 %.frame.0.11 = phi i32 [ %storemerge.i329, %_D5tango3net3ftp9FtpClient13FTPConnection13parseListLineMFAaZS5tango3net3ftp9FtpClient11FtpFileInfo9read_modeMFiZv.exit364 ], [ %tmp18.i371.c, %whilebody.i372 ] ; <i32> [#uses=2]
5775 %tmp3.i368 = phi i32 [ %tmp18.i371.c, %whilebody.i372 ], [ %storemerge.i329, %_D5tango3net3ftp9FtpClient13FTPConnection13parseListLineMFAaZS5tango3net3ftp9FtpClient11FtpFileInfo9read_modeMFiZv.exit364 ] ; <i32> [#uses=5]
5776 %tmp4.i369 = icmp ult i32 %tmp3.i368, %line_arg830 ; <i1> [#uses=1]
5777 br i1 %tmp4.i369, label %andand.i378, label %whilecond22.i383
5778
5779whilebody.i372: ; preds = %andand.i378
5780 %tmp18.i371.c = add i32 %tmp3.i368, 1 ; <i32> [#uses=2]
5781 br label %whilecond.i370
5782
5783andand.i378: ; preds = %whilecond.i370
5784 %tmp11.i375 = getelementptr i8* %line_arg831, i32 %tmp3.i368 ; <i8*> [#uses=1]
5785 %tmp12.i376 = load i8* %tmp11.i375 ; <i8> [#uses=1]
5786 %tmp14.i377 = icmp eq i8 %tmp12.i376, 32 ; <i1> [#uses=1]
5787 br i1 %tmp14.i377, label %whilebody.i372, label %whilecond22.i383
5788
5789whilecond22.i383: ; preds = %whilebody23.i385, %andand.i378, %whilecond.i370
5790 %.frame.0.10 = phi i32 [ %.frame.0.11, %andand.i378 ], [ %tmp50.i384, %whilebody23.i385 ], [ %.frame.0.11, %whilecond.i370 ] ; <i32> [#uses=2]
5791 %tmp49.i381 = phi i32 [ %tmp3.i368, %andand.i378 ], [ %tmp50.i384, %whilebody23.i385 ], [ %tmp3.i368, %whilecond.i370 ] ; <i32> [#uses=5]
5792 %tmp32.i382 = icmp ult i32 %tmp49.i381, %line_arg830 ; <i1> [#uses=1]
5793 br i1 %tmp32.i382, label %andand33.i391, label %whilecond54.i396
5794
5795whilebody23.i385: ; preds = %andand33.i391
5796 %tmp50.i384 = add i32 %tmp49.i381, 1 ; <i32> [#uses=2]
5797 br label %whilecond22.i383
5798
5799andand33.i391: ; preds = %whilecond22.i383
5800 %tmp42.i388 = getelementptr i8* %line_arg831, i32 %tmp49.i381 ; <i8*> [#uses=1]
5801 %tmp43.i389 = load i8* %tmp42.i388 ; <i8> [#uses=1]
5802 %tmp45.i390 = icmp eq i8 %tmp43.i389, 32 ; <i1> [#uses=1]
5803 br i1 %tmp45.i390, label %whilecond54.i396, label %whilebody23.i385
5804
5805whilecond54.i396: ; preds = %whilebody55.i401, %andand33.i391, %whilecond22.i383
5806 %.frame.0.9 = phi i32 [ %.frame.0.10, %andand33.i391 ], [ %tmp82.i400, %whilebody55.i401 ], [ %.frame.0.10, %whilecond22.i383 ] ; <i32> [#uses=2]
5807 %tmp81.i394 = phi i32 [ %tmp49.i381, %andand33.i391 ], [ %tmp82.i400, %whilebody55.i401 ], [ %tmp49.i381, %whilecond22.i383 ] ; <i32> [#uses=3]
5808 %tmp64.i395 = icmp ult i32 %tmp81.i394, %line_arg830 ; <i1> [#uses=1]
5809 br i1 %tmp64.i395, label %andand65.i407, label %whilecond.i716
5810
5811whilebody55.i401: ; preds = %andand65.i407
5812 %tmp82.i400 = add i32 %tmp81.i394, 1 ; <i32> [#uses=2]
5813 br label %whilecond54.i396
5814
5815andand65.i407: ; preds = %whilecond54.i396
5816 %tmp74.i404 = getelementptr i8* %line_arg831, i32 %tmp81.i394 ; <i8*> [#uses=1]
5817 %tmp75.i405 = load i8* %tmp74.i404 ; <i8> [#uses=1]
5818 %tmp77.i406 = icmp eq i8 %tmp75.i405, 32 ; <i1> [#uses=1]
5819 br i1 %tmp77.i406, label %whilebody55.i401, label %whilecond.i716
5820
5821whilecond.i716: ; preds = %whilebody.i717, %andand65.i407, %whilecond54.i396
5822 %.frame.0.0 = phi i32 [ %tmp18.i.c829, %whilebody.i717 ], [ %.frame.0.9, %whilecond54.i396 ], [ %.frame.0.9, %andand65.i407 ] ; <i32> [#uses=7]
5823 %tmp4.i715 = icmp ult i32 %.frame.0.0, %line_arg830 ; <i1> [#uses=1]
5824 br i1 %tmp4.i715, label %andand.i721, label %whilecond22.i724
5825
5826whilebody.i717: ; preds = %andand.i721
5827 %tmp18.i.c829 = add i32 %.frame.0.0, 1 ; <i32> [#uses=1]
5828 br label %whilecond.i716
5829
5830andand.i721: ; preds = %whilecond.i716
5831 %tmp11.i718 = getelementptr i8* %line_arg831, i32 %.frame.0.0 ; <i8*> [#uses=1]
5832 %tmp12.i719 = load i8* %tmp11.i718 ; <i8> [#uses=1]
5833 %tmp14.i720 = icmp eq i8 %tmp12.i719, 32 ; <i1> [#uses=1]
5834 br i1 %tmp14.i720, label %whilebody.i717, label %whilecond22.i724
5835
5836whilecond22.i724: ; preds = %whilebody23.i726, %andand.i721, %whilecond.i716
5837 %.frame.0.1 = phi i32 [ %.frame.0.0, %andand.i721 ], [ %tmp50.i725, %whilebody23.i726 ], [ %.frame.0.0, %whilecond.i716 ] ; <i32> [#uses=2]
5838 %tmp49.i722 = phi i32 [ %.frame.0.0, %andand.i721 ], [ %tmp50.i725, %whilebody23.i726 ], [ %.frame.0.0, %whilecond.i716 ] ; <i32> [#uses=5]
5839 %tmp32.i723 = icmp ult i32 %tmp49.i722, %line_arg830 ; <i1> [#uses=1]
5840 br i1 %tmp32.i723, label %andand33.i731, label %whilecond54.i734
5841
5842whilebody23.i726: ; preds = %andand33.i731
5843 %tmp50.i725 = add i32 %tmp49.i722, 1 ; <i32> [#uses=2]
5844 br label %whilecond22.i724
5845
5846andand33.i731: ; preds = %whilecond22.i724
5847 %tmp42.i728 = getelementptr i8* %line_arg831, i32 %tmp49.i722 ; <i8*> [#uses=1]
5848 %tmp43.i729 = load i8* %tmp42.i728 ; <i8> [#uses=1]
5849 %tmp45.i730 = icmp eq i8 %tmp43.i729, 32 ; <i1> [#uses=1]
5850 br i1 %tmp45.i730, label %whilecond54.i734, label %whilebody23.i726
5851
5852whilecond54.i734: ; preds = %whilebody55.i736, %andand33.i731, %whilecond22.i724
5853 %.frame.0.2 = phi i32 [ %.frame.0.1, %andand33.i731 ], [ %tmp82.i735, %whilebody55.i736 ], [ %.frame.0.1, %whilecond22.i724 ] ; <i32> [#uses=2]
5854 %tmp81.i732 = phi i32 [ %tmp49.i722, %andand33.i731 ], [ %tmp82.i735, %whilebody55.i736 ], [ %tmp49.i722, %whilecond22.i724 ] ; <i32> [#uses=3]
5855 %tmp64.i733 = icmp ult i32 %tmp81.i732, %line_arg830 ; <i1> [#uses=1]
5856 br i1 %tmp64.i733, label %andand65.i740, label %whilecond.i750
5857
5858whilebody55.i736: ; preds = %andand65.i740
5859 %tmp82.i735 = add i32 %tmp81.i732, 1 ; <i32> [#uses=2]
5860 br label %whilecond54.i734
5861
5862andand65.i740: ; preds = %whilecond54.i734
5863 %tmp74.i737 = getelementptr i8* %line_arg831, i32 %tmp81.i732 ; <i8*> [#uses=1]
5864 %tmp75.i738 = load i8* %tmp74.i737 ; <i8> [#uses=1]
5865 %tmp77.i739 = icmp eq i8 %tmp75.i738, 32 ; <i1> [#uses=1]
5866 br i1 %tmp77.i739, label %whilebody55.i736, label %whilecond.i750
5867
5868whilecond.i750: ; preds = %whilebody.i752, %andand65.i740, %whilecond54.i734
5869 %.frame.0.3 = phi i32 [ %tmp18.i751.c, %whilebody.i752 ], [ %.frame.0.2, %whilecond54.i734 ], [ %.frame.0.2, %andand65.i740 ] ; <i32> [#uses=11]
5870 %tmp4.i749 = icmp ult i32 %.frame.0.3, %line_arg830 ; <i1> [#uses=1]
5871 br i1 %tmp4.i749, label %andand.i758, label %whilecond22.i761
5872
5873whilebody.i752: ; preds = %andand.i758
5874 %tmp18.i751.c = add i32 %.frame.0.3, 1 ; <i32> [#uses=1]
5875 br label %whilecond.i750
5876
5877andand.i758: ; preds = %whilecond.i750
5878 %tmp11.i755 = getelementptr i8* %line_arg831, i32 %.frame.0.3 ; <i8*> [#uses=1]
5879 %tmp12.i756 = load i8* %tmp11.i755 ; <i8> [#uses=1]
5880 %tmp14.i757 = icmp eq i8 %tmp12.i756, 32 ; <i1> [#uses=1]
5881 br i1 %tmp14.i757, label %whilebody.i752, label %whilecond22.i761
5882
5883whilecond22.i761: ; preds = %whilebody23.i763, %andand.i758, %whilecond.i750
5884 %.frame.0.4 = phi i32 [ %.frame.0.3, %andand.i758 ], [ %tmp50.i762, %whilebody23.i763 ], [ %.frame.0.3, %whilecond.i750 ] ; <i32> [#uses=2]
5885 %tmp49.i759 = phi i32 [ %.frame.0.3, %andand.i758 ], [ %tmp50.i762, %whilebody23.i763 ], [ %.frame.0.3, %whilecond.i750 ] ; <i32> [#uses=7]
5886 %tmp32.i760 = icmp ult i32 %tmp49.i759, %line_arg830 ; <i1> [#uses=1]
5887 br i1 %tmp32.i760, label %andand33.i769, label %whilecond54.i773
5888
5889whilebody23.i763: ; preds = %andand33.i769
5890 %tmp50.i762 = add i32 %tmp49.i759, 1 ; <i32> [#uses=2]
5891 br label %whilecond22.i761
5892
5893andand33.i769: ; preds = %whilecond22.i761
5894 %tmp42.i766 = getelementptr i8* %line_arg831, i32 %tmp49.i759 ; <i8*> [#uses=1]
5895 %tmp43.i767 = load i8* %tmp42.i766 ; <i8> [#uses=1]
5896 %tmp45.i768 = icmp eq i8 %tmp43.i767, 32 ; <i1> [#uses=1]
5897 br i1 %tmp45.i768, label %whilecond54.i773, label %whilebody23.i763
5898
5899whilecond54.i773: ; preds = %whilebody55.i775, %andand33.i769, %whilecond22.i761
5900 %.frame.0.5 = phi i32 [ %.frame.0.4, %andand33.i769 ], [ %tmp82.i774, %whilebody55.i775 ], [ %.frame.0.4, %whilecond22.i761 ] ; <i32> [#uses=3]
5901 %tmp81.i770 = phi i32 [ %tmp49.i759, %andand33.i769 ], [ %tmp82.i774, %whilebody55.i775 ], [ %tmp49.i759, %whilecond22.i761 ] ; <i32> [#uses=3]
5902 %tmp64.i771 = icmp ult i32 %tmp81.i770, %line_arg830 ; <i1> [#uses=1]
5903 br i1 %tmp64.i771, label %andand65.i780, label %_D5tango3net3ftp9FtpClient13FTPConnection13parseListLineMFAaZS5tango3net3ftp9FtpClient11FtpFileInfo10parse_wordMFZAa.exit786
5904
5905whilebody55.i775: ; preds = %andand65.i780
5906 %tmp82.i774 = add i32 %tmp81.i770, 1 ; <i32> [#uses=2]
5907 br label %whilecond54.i773
5908
5909andand65.i780: ; preds = %whilecond54.i773
5910 %tmp74.i777 = getelementptr i8* %line_arg831, i32 %tmp81.i770 ; <i8*> [#uses=1]
5911 %tmp75.i778 = load i8* %tmp74.i777 ; <i8> [#uses=1]
5912 %tmp77.i779 = icmp eq i8 %tmp75.i778, 32 ; <i1> [#uses=1]
5913 br i1 %tmp77.i779, label %whilebody55.i775, label %_D5tango3net3ftp9FtpClient13FTPConnection13parseListLineMFAaZS5tango3net3ftp9FtpClient11FtpFileInfo10parse_wordMFZAa.exit786
5914
5915_D5tango3net3ftp9FtpClient13FTPConnection13parseListLineMFAaZS5tango3net3ftp9FtpClient11FtpFileInfo10parse_wordMFZAa.exit786: ; preds = %andand65.i780, %whilecond54.i773
5916 %tmp89.i782 = getelementptr i8* %line_arg831, i32 %.frame.0.3 ; <i8*> [#uses=4]
5917 %tmp90.i783 = sub i32 %tmp49.i759, %.frame.0.3 ; <i32> [#uses=2]
5918 br label %whilecond.i792
5919
5920whilecond.i792: ; preds = %whilebody.i794, %_D5tango3net3ftp9FtpClient13FTPConnection13parseListLineMFAaZS5tango3net3ftp9FtpClient11FtpFileInfo10parse_wordMFZAa.exit786
5921 %.frame.0.6 = phi i32 [ %.frame.0.5, %_D5tango3net3ftp9FtpClient13FTPConnection13parseListLineMFAaZS5tango3net3ftp9FtpClient11FtpFileInfo10parse_wordMFZAa.exit786 ], [ %tmp18.i793.c, %whilebody.i794 ] ; <i32> [#uses=11]
5922 %tmp4.i791 = icmp ult i32 %.frame.0.6, %line_arg830 ; <i1> [#uses=1]
5923 br i1 %tmp4.i791, label %andand.i800, label %whilecond22.i803
5924
5925whilebody.i794: ; preds = %andand.i800
5926 %tmp18.i793.c = add i32 %.frame.0.6, 1 ; <i32> [#uses=1]
5927 br label %whilecond.i792
5928
5929andand.i800: ; preds = %whilecond.i792
5930 %tmp11.i797 = getelementptr i8* %line_arg831, i32 %.frame.0.6 ; <i8*> [#uses=1]
5931 %tmp12.i798 = load i8* %tmp11.i797 ; <i8> [#uses=1]
5932 %tmp14.i799 = icmp eq i8 %tmp12.i798, 32 ; <i1> [#uses=1]
5933 br i1 %tmp14.i799, label %whilebody.i794, label %whilecond22.i803
5934
5935whilecond22.i803: ; preds = %whilebody23.i805, %andand.i800, %whilecond.i792
5936 %.frame.0.7 = phi i32 [ %.frame.0.6, %andand.i800 ], [ %tmp50.i804, %whilebody23.i805 ], [ %.frame.0.6, %whilecond.i792 ] ; <i32> [#uses=2]
5937 %tmp49.i801 = phi i32 [ %.frame.0.6, %andand.i800 ], [ %tmp50.i804, %whilebody23.i805 ], [ %.frame.0.6, %whilecond.i792 ] ; <i32> [#uses=7]
5938 %tmp32.i802 = icmp ult i32 %tmp49.i801, %line_arg830 ; <i1> [#uses=1]
5939 br i1 %tmp32.i802, label %andand33.i811, label %whilecond54.i815
5940
5941whilebody23.i805: ; preds = %andand33.i811
5942 %tmp50.i804 = add i32 %tmp49.i801, 1 ; <i32> [#uses=2]
5943 br label %whilecond22.i803
5944
5945andand33.i811: ; preds = %whilecond22.i803
5946 %tmp42.i808 = getelementptr i8* %line_arg831, i32 %tmp49.i801 ; <i8*> [#uses=1]
5947 %tmp43.i809 = load i8* %tmp42.i808 ; <i8> [#uses=1]
5948 %tmp45.i810 = icmp eq i8 %tmp43.i809, 32 ; <i1> [#uses=1]
5949 br i1 %tmp45.i810, label %whilecond54.i815, label %whilebody23.i805
5950
5951whilecond54.i815: ; preds = %whilebody55.i817, %andand33.i811, %whilecond22.i803
5952 %.frame.0.8 = phi i32 [ %.frame.0.7, %andand33.i811 ], [ %tmp82.i816, %whilebody55.i817 ], [ %.frame.0.7, %whilecond22.i803 ] ; <i32> [#uses=2]
5953 %tmp81.i812 = phi i32 [ %tmp49.i801, %andand33.i811 ], [ %tmp82.i816, %whilebody55.i817 ], [ %tmp49.i801, %whilecond22.i803 ] ; <i32> [#uses=3]
5954 %tmp64.i813 = icmp ult i32 %tmp81.i812, %line_arg830 ; <i1> [#uses=1]
5955 br i1 %tmp64.i813, label %andand65.i822, label %_D5tango3net3ftp9FtpClient13FTPConnection13parseListLineMFAaZS5tango3net3ftp9FtpClient11FtpFileInfo10parse_wordMFZAa.exit828
5956
5957whilebody55.i817: ; preds = %andand65.i822
5958 %tmp82.i816 = add i32 %tmp81.i812, 1 ; <i32> [#uses=2]
5959 br label %whilecond54.i815
5960
5961andand65.i822: ; preds = %whilecond54.i815
5962 %tmp74.i819 = getelementptr i8* %line_arg831, i32 %tmp81.i812 ; <i8*> [#uses=1]
5963 %tmp75.i820 = load i8* %tmp74.i819 ; <i8> [#uses=1]
5964 %tmp77.i821 = icmp eq i8 %tmp75.i820, 32 ; <i1> [#uses=1]
5965 br i1 %tmp77.i821, label %whilebody55.i817, label %_D5tango3net3ftp9FtpClient13FTPConnection13parseListLineMFAaZS5tango3net3ftp9FtpClient11FtpFileInfo10parse_wordMFZAa.exit828
5966
5967_D5tango3net3ftp9FtpClient13FTPConnection13parseListLineMFAaZS5tango3net3ftp9FtpClient11FtpFileInfo10parse_wordMFZAa.exit828: ; preds = %andand65.i822, %whilecond54.i815
5968 %tmp89.i824 = getelementptr i8* %line_arg831, i32 %.frame.0.6 ; <i8*> [#uses=4]
5969 %tmp90.i825 = sub i32 %tmp49.i801, %.frame.0.6 ; <i32> [#uses=2]
5970 %tmp63 = load i8* %tmp89.i824 ; <i8> [#uses=2]
5971 br label %forcond.i.i622
5972
5973forcond.i.i622: ; preds = %forbody.i.i626, %_D5tango3net3ftp9FtpClient13FTPConnection13parseListLineMFAaZS5tango3net3ftp9FtpClient11FtpFileInfo10parse_wordMFZAa.exit828
5974 %len.0.i.i618 = phi i32 [ 10, %_D5tango3net3ftp9FtpClient13FTPConnection13parseListLineMFAaZS5tango3net3ftp9FtpClient11FtpFileInfo10parse_wordMFZAa.exit828 ], [ %tmp4.i.i620, %forbody.i.i626 ] ; <i32> [#uses=2]
5975 %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]
5976 %tmp4.i.i620 = add i32 %len.0.i.i618, -1 ; <i32> [#uses=1]
5977 %tmp5.i.i621 = icmp eq i32 %len.0.i.i618, 0 ; <i1> [#uses=1]
5978 br i1 %tmp5.i.i621, label %if65, label %forbody.i.i626
5979
5980forbody.i.i626: ; preds = %forcond.i.i622
5981 %tmp7.i.i623 = getelementptr i8* %p.0.i.i619, i32 1 ; <i8*> [#uses=3]
5982 %tmp8.i.i624 = load i8* %tmp7.i.i623 ; <i8> [#uses=1]
5983 %tmp12.i.i625 = icmp eq i8 %tmp8.i.i624, %tmp63 ; <i1> [#uses=1]
5984 br i1 %tmp12.i.i625, label %if.i.i630, label %forcond.i.i622
5985
5986if.i.i630: ; preds = %forbody.i.i626
5987 %tmp15.i.i627 = ptrtoint i8* %tmp7.i.i623 to i32 ; <i32> [#uses=1]
5988 %tmp17.i.i629 = sub i32 %tmp15.i.i627, ptrtoint ([11 x i8]* @.str170 to i32) ; <i32> [#uses=1]
5989 %phitmp636 = icmp eq i32 %tmp17.i.i629, 10 ; <i1> [#uses=1]
5990 br i1 %phitmp636, label %if65, label %else67
5991
5992if65: ; preds = %if.i.i630, %forcond.i.i622
5993 %tmp69 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %info, i32 0, i32 2 ; <i64*> [#uses=1]
5994 %tmp4.i.i532 = icmp eq i32 %tmp49.i759, %.frame.0.3 ; <i1> [#uses=1]
5995 br i1 %tmp4.i.i532, label %_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit.i576, label %forcond.i.i539
5996
5997forcond.i.i539: ; preds = %forinc.i.i546, %if65
5998 %sign.1.i533 = phi i1 [ false, %if65 ], [ %sign.0.i543, %forinc.i.i546 ] ; <i1> [#uses=4]
5999 %len.0.i.i534 = phi i32 [ %tmp33.i.i545, %forinc.i.i546 ], [ %tmp90.i783, %if65 ] ; <i32> [#uses=3]
6000 %p.0.i.i535 = phi i8* [ %tmp30.i.i544, %forinc.i.i546 ], [ %tmp89.i782, %if65 ] ; <i8*> [#uses=6]
6001 %c.0.in.i.i536 = phi i8* [ %tmp30.i.i544, %forinc.i.i546 ], [ %tmp89.i782, %if65 ] ; <i8*> [#uses=1]
6002 %c.0.i.i537 = load i8* %c.0.in.i.i536 ; <i8> [#uses=2]
6003 %tmp8.i.i538 = icmp eq i32 %len.0.i.i534, 0 ; <i1> [#uses=1]
6004 br i1 %tmp8.i.i538, label %endfor.i.i550, label %forbody.i.i540
6005
6006forbody.i.i540: ; preds = %forcond.i.i539
6007 switch i8 %c.0.i.i537, label %endfor.i.i550 [
6008 i8 32, label %forinc.i.i546
6009 i8 9, label %forinc.i.i546
6010 i8 45, label %if20.i.i541
6011 i8 43, label %if26.i.i542
6012 ]
6013
6014if20.i.i541: ; preds = %forbody.i.i540
6015 br label %forinc.i.i546
6016
6017if26.i.i542: ; preds = %forbody.i.i540
6018 br label %forinc.i.i546
6019
6020forinc.i.i546: ; preds = %if26.i.i542, %if20.i.i541, %forbody.i.i540, %forbody.i.i540
6021 %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]
6022 %tmp30.i.i544 = getelementptr i8* %p.0.i.i535, i32 1 ; <i8*> [#uses=2]
6023 %tmp33.i.i545 = add i32 %len.0.i.i534, -1 ; <i32> [#uses=1]
6024 br label %forcond.i.i539
6025
6026endfor.i.i550: ; preds = %forbody.i.i540, %forcond.i.i539
6027 %tmp37.i.i547 = icmp eq i8 %c.0.i.i537, 48 ; <i1> [#uses=1]
6028 %tmp39.i.i548 = icmp sgt i32 %len.0.i.i534, 1 ; <i1> [#uses=1]
6029 %or.cond.i.i549 = and i1 %tmp37.i.i547, %tmp39.i.i548 ; <i1> [#uses=1]
6030 br i1 %or.cond.i.i549, label %if40.i.i554, label %endif41.i.i564
6031
6032if40.i.i554: ; preds = %endfor.i.i550
6033 %tmp43.i.i551 = getelementptr i8* %p.0.i.i535, i32 1 ; <i8*> [#uses=2]
6034 %tmp44.i.i552 = load i8* %tmp43.i.i551 ; <i8> [#uses=1]
6035 %tmp45.i.i553 = zext i8 %tmp44.i.i552 to i32 ; <i32> [#uses=1]
6036 switch i32 %tmp45.i.i553, label %endif41.i.i564 [
6037 i32 120, label %case46.i.i556
6038 i32 88, label %case46.i.i556
6039 i32 98, label %case51.i.i558
6040 i32 66, label %case51.i.i558
6041 i32 111, label %case56.i.i560
6042 i32 79, label %case56.i.i560
6043 ]
6044
6045case46.i.i556: ; preds = %if40.i.i554, %if40.i.i554
6046 %tmp48.i.i555 = getelementptr i8* %p.0.i.i535, i32 2 ; <i8*> [#uses=1]
6047 br label %endif41.i.i564
6048
6049case51.i.i558: ; preds = %if40.i.i554, %if40.i.i554
6050 %tmp53.i.i557 = getelementptr i8* %p.0.i.i535, i32 2 ; <i8*> [#uses=1]
6051 br label %endif41.i.i564
6052
6053case56.i.i560: ; preds = %if40.i.i554, %if40.i.i554
6054 %tmp58.i.i559 = getelementptr i8* %p.0.i.i535, i32 2 ; <i8*> [#uses=1]
6055 br label %endif41.i.i564
6056
6057endif41.i.i564: ; preds = %case56.i.i560, %case51.i.i558, %case46.i.i556, %if40.i.i554, %endfor.i.i550
6058 %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]
6059 %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]
6060 %tmp63.i.i563 = icmp eq i32 %r.0.i.i561, 0 ; <i1> [#uses=1]
6061 br i1 %tmp63.i.i563, label %_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit.i576, label %if70.i.i568
6062
6063if70.i.i568: ; preds = %endif41.i.i564
6064 br label %_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit.i576
6065
6066_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit.i576: ; preds = %if70.i.i568, %endif41.i.i564, %if65
6067 %sign.2.i569 = phi i1 [ false, %if65 ], [ %sign.1.i533, %if70.i.i568 ], [ %sign.1.i533, %endif41.i.i564 ] ; <i1> [#uses=1]
6068 %radix.0.i570 = phi i32 [ 0, %if65 ], [ %r.0.i.i561, %if70.i.i568 ], [ 10, %endif41.i.i564 ] ; <i32> [#uses=2]
6069 %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]
6070 %tmp84.i.i572 = ptrtoint i8* %p.1.i.i571 to i32 ; <i32> [#uses=1]
6071 %tmp85.i.i573 = ptrtoint i8* %tmp89.i782 to i32 ; <i32> [#uses=1]
6072 %tmp86.i.i574 = sub i32 %tmp84.i.i572, %tmp85.i.i573 ; <i32> [#uses=2]
6073 %tmp6.i575 = sub i32 %tmp90.i783, %tmp86.i.i574 ; <i32> [#uses=1]
6074 br label %foreachcond.i.i581
6075
6076foreachcond.i.i581: ; preds = %if55.i.i610, %_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit.i576
6077 %value.0.i.i577 = phi i64 [ 0, %_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit.i576 ], [ %tmp65.i.i607, %if55.i.i610 ] ; <i64> [#uses=3]
6078 %foreachkey.0.i.i579 = phi i32 [ 0, %_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit.i576 ], [ %tmp70.i.i609, %if55.i.i610 ] ; <i32> [#uses=3]
6079 %tmp3.i.i580 = icmp ult i32 %foreachkey.0.i.i579, %tmp6.i575 ; <i1> [#uses=1]
6080 br i1 %tmp3.i.i580, label %foreachbody.i.i587, label %_D5tango4text7convert7Integer12__T5parseTaZ5parseFAakPkZl.exit614
6081
6082foreachbody.i.i587: ; preds = %foreachcond.i.i581
6083 %tmp5.sum.i582 = add i32 %tmp86.i.i574, %foreachkey.0.i.i579 ; <i32> [#uses=1]
6084 %tmp89.i782.sum = add i32 %.frame.0.3, %tmp5.sum.i582 ; <i32> [#uses=1]
6085 %tmp5.i.i583 = getelementptr i8* %line_arg831, i32 %tmp89.i782.sum ; <i8*> [#uses=1]
6086 %tmp6.i.i584 = load i8* %tmp5.i.i583 ; <i8> [#uses=6]
6087 %tmp6.off84.i.i585 = add i8 %tmp6.i.i584, -48 ; <i8> [#uses=1]
6088 %or.cond.i28.i586 = icmp ugt i8 %tmp6.off84.i.i585, 9 ; <i1> [#uses=1]
6089 br i1 %or.cond.i28.i586, label %else.i.i590, label %endif.i.i603
6090
6091else.i.i590: ; preds = %foreachbody.i.i587
6092 %tmp6.off83.i.i588 = add i8 %tmp6.i.i584, -97 ; <i8> [#uses=1]
6093 %or.cond81.i.i589 = icmp ugt i8 %tmp6.off83.i.i588, 25 ; <i1> [#uses=1]
6094 br i1 %or.cond81.i.i589, label %else24.i.i595, label %if22.i.i592
6095
6096if22.i.i592: ; preds = %else.i.i590
6097 %tmp27.i.i591 = add i8 %tmp6.i.i584, -39 ; <i8> [#uses=1]
6098 br label %endif.i.i603
6099
6100else24.i.i595: ; preds = %else.i.i590
6101 %tmp6.off.i.i593 = add i8 %tmp6.i.i584, -65 ; <i8> [#uses=1]
6102 %or.cond82.i.i594 = icmp ugt i8 %tmp6.off.i.i593, 25 ; <i1> [#uses=1]
6103 br i1 %or.cond82.i.i594, label %_D5tango4text7convert7Integer12__T5parseTaZ5parseFAakPkZl.exit614, label %if39.i.i597
6104
6105if39.i.i597: ; preds = %else24.i.i595
6106 %tmp44.i29.i596 = add i8 %tmp6.i.i584, -7 ; <i8> [#uses=1]
6107 br label %endif.i.i603
6108
6109endif.i.i603: ; preds = %if39.i.i597, %if22.i.i592, %foreachbody.i.i587
6110 %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]
6111 %tmp48.i31.i599 = zext i8 %c.0.i30.i598 to i32 ; <i32> [#uses=1]
6112 %tmp49.i.i600 = add i32 %tmp48.i31.i599, 208 ; <i32> [#uses=1]
6113 %tmp52.i.i601 = and i32 %tmp49.i.i600, 255 ; <i32> [#uses=2]
6114 %tmp54.i.i602 = icmp ult i32 %tmp52.i.i601, %radix.0.i570 ; <i1> [#uses=1]
6115 br i1 %tmp54.i.i602, label %if55.i.i610, label %_D5tango4text7convert7Integer12__T5parseTaZ5parseFAakPkZl.exit614
6116
6117if55.i.i610: ; preds = %endif.i.i603
6118 %tmp59.i.i604 = zext i32 %radix.0.i570 to i64 ; <i64> [#uses=1]
6119 %tmp61.i.i605 = mul i64 %value.0.i.i577, %tmp59.i.i604 ; <i64> [#uses=1]
6120 %tmp64.i.i606 = zext i32 %tmp52.i.i601 to i64 ; <i64> [#uses=1]
6121 %tmp65.i.i607 = add i64 %tmp61.i.i605, %tmp64.i.i606 ; <i64> [#uses=1]
6122 %tmp70.i.i609 = add i32 %foreachkey.0.i.i579, 1 ; <i32> [#uses=1]
6123 br label %foreachcond.i.i581
6124
6125_D5tango4text7convert7Integer12__T5parseTaZ5parseFAakPkZl.exit614: ; preds = %endif.i.i603, %else24.i.i595, %foreachcond.i.i581
6126 %negval.i611 = sub i64 0, %value.0.i.i577 ; <i64> [#uses=1]
6127 %condtmp.0.i612 = select i1 %sign.2.i569, i64 %negval.i611, i64 %value.0.i.i577 ; <i64> [#uses=1]
6128 store i64 %condtmp.0.i612, i64* %tmp69
6129 br label %endif66
6130
6131else67: ; preds = %if.i.i630
6132 %tmp72 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %info, i32 0, i32 2 ; <i64*> [#uses=1]
6133 %tmp4.i.i447 = icmp eq i32 %tmp49.i801, %.frame.0.6 ; <i1> [#uses=1]
6134 br i1 %tmp4.i.i447, label %_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit.i491, label %forcond.i.i454
6135
6136forcond.i.i454: ; preds = %forinc.i.i461, %else67
6137 %c.0.i.i452 = phi i8 [ %c.0.i.i452.pre, %forinc.i.i461 ], [ %tmp63, %else67 ] ; <i8> [#uses=2]
6138 %sign.1.i448 = phi i1 [ false, %else67 ], [ %sign.0.i458, %forinc.i.i461 ] ; <i1> [#uses=4]
6139 %len.0.i.i449 = phi i32 [ %tmp33.i.i460, %forinc.i.i461 ], [ %tmp90.i825, %else67 ] ; <i32> [#uses=3]
6140 %p.0.i.i450 = phi i8* [ %tmp30.i.i459, %forinc.i.i461 ], [ %tmp89.i824, %else67 ] ; <i8*> [#uses=6]
6141 %tmp8.i.i453 = icmp eq i32 %len.0.i.i449, 0 ; <i1> [#uses=1]
6142 br i1 %tmp8.i.i453, label %endfor.i.i465, label %forbody.i.i455
6143
6144forbody.i.i455: ; preds = %forcond.i.i454
6145 switch i8 %c.0.i.i452, label %endfor.i.i465 [
6146 i8 32, label %forinc.i.i461
6147 i8 9, label %forinc.i.i461
6148 i8 45, label %if20.i.i456
6149 i8 43, label %if26.i.i457
6150 ]
6151
6152if20.i.i456: ; preds = %forbody.i.i455
6153 br label %forinc.i.i461
6154
6155if26.i.i457: ; preds = %forbody.i.i455
6156 br label %forinc.i.i461
6157
6158forinc.i.i461: ; preds = %if26.i.i457, %if20.i.i456, %forbody.i.i455, %forbody.i.i455
6159 %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]
6160 %tmp30.i.i459 = getelementptr i8* %p.0.i.i450, i32 1 ; <i8*> [#uses=2]
6161 %tmp33.i.i460 = add i32 %len.0.i.i449, -1 ; <i32> [#uses=1]
6162 %c.0.i.i452.pre = load i8* %tmp30.i.i459 ; <i8> [#uses=1]
6163 br label %forcond.i.i454
6164
6165endfor.i.i465: ; preds = %forbody.i.i455, %forcond.i.i454
6166 %tmp37.i.i462 = icmp eq i8 %c.0.i.i452, 48 ; <i1> [#uses=1]
6167 %tmp39.i.i463 = icmp sgt i32 %len.0.i.i449, 1 ; <i1> [#uses=1]
6168 %or.cond.i.i464 = and i1 %tmp37.i.i462, %tmp39.i.i463 ; <i1> [#uses=1]
6169 br i1 %or.cond.i.i464, label %if40.i.i469, label %endif41.i.i479
6170
6171if40.i.i469: ; preds = %endfor.i.i465
6172 %tmp43.i.i466 = getelementptr i8* %p.0.i.i450, i32 1 ; <i8*> [#uses=2]
6173 %tmp44.i.i467 = load i8* %tmp43.i.i466 ; <i8> [#uses=1]
6174 %tmp45.i.i468 = zext i8 %tmp44.i.i467 to i32 ; <i32> [#uses=1]
6175 switch i32 %tmp45.i.i468, label %endif41.i.i479 [
6176 i32 120, label %case46.i.i471
6177 i32 88, label %case46.i.i471
6178 i32 98, label %case51.i.i473
6179 i32 66, label %case51.i.i473
6180 i32 111, label %case56.i.i475
6181 i32 79, label %case56.i.i475
6182 ]
6183
6184case46.i.i471: ; preds = %if40.i.i469, %if40.i.i469
6185 %tmp48.i.i470 = getelementptr i8* %p.0.i.i450, i32 2 ; <i8*> [#uses=1]
6186 br label %endif41.i.i479
6187
6188case51.i.i473: ; preds = %if40.i.i469, %if40.i.i469
6189 %tmp53.i.i472 = getelementptr i8* %p.0.i.i450, i32 2 ; <i8*> [#uses=1]
6190 br label %endif41.i.i479
6191
6192case56.i.i475: ; preds = %if40.i.i469, %if40.i.i469
6193 %tmp58.i.i474 = getelementptr i8* %p.0.i.i450, i32 2 ; <i8*> [#uses=1]
6194 br label %endif41.i.i479
6195
6196endif41.i.i479: ; preds = %case56.i.i475, %case51.i.i473, %case46.i.i471, %if40.i.i469, %endfor.i.i465
6197 %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]
6198 %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]
6199 %tmp63.i.i478 = icmp eq i32 %r.0.i.i476, 0 ; <i1> [#uses=1]
6200 br i1 %tmp63.i.i478, label %_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit.i491, label %if70.i.i483
6201
6202if70.i.i483: ; preds = %endif41.i.i479
6203 br label %_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit.i491
6204
6205_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit.i491: ; preds = %if70.i.i483, %endif41.i.i479, %else67
6206 %sign.2.i484 = phi i1 [ false, %else67 ], [ %sign.1.i448, %if70.i.i483 ], [ %sign.1.i448, %endif41.i.i479 ] ; <i1> [#uses=1]
6207 %radix.0.i485 = phi i32 [ 0, %else67 ], [ %r.0.i.i476, %if70.i.i483 ], [ 10, %endif41.i.i479 ] ; <i32> [#uses=2]
6208 %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]
6209 %tmp84.i.i487 = ptrtoint i8* %p.1.i.i486 to i32 ; <i32> [#uses=1]
6210 %tmp85.i.i488 = ptrtoint i8* %tmp89.i824 to i32 ; <i32> [#uses=1]
6211 %tmp86.i.i489 = sub i32 %tmp84.i.i487, %tmp85.i.i488 ; <i32> [#uses=2]
6212 %tmp6.i490 = sub i32 %tmp90.i825, %tmp86.i.i489 ; <i32> [#uses=1]
6213 br label %foreachcond.i.i496
6214
6215foreachcond.i.i496: ; preds = %if55.i.i525, %_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit.i491
6216 %value.0.i.i492 = phi i64 [ 0, %_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit.i491 ], [ %tmp65.i.i522, %if55.i.i525 ] ; <i64> [#uses=3]
6217 %foreachkey.0.i.i494 = phi i32 [ 0, %_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit.i491 ], [ %tmp70.i.i524, %if55.i.i525 ] ; <i32> [#uses=3]
6218 %tmp3.i.i495 = icmp ult i32 %foreachkey.0.i.i494, %tmp6.i490 ; <i1> [#uses=1]
6219 br i1 %tmp3.i.i495, label %foreachbody.i.i502, label %_D5tango4text7convert7Integer12__T5parseTaZ5parseFAakPkZl.exit529
6220
6221foreachbody.i.i502: ; preds = %foreachcond.i.i496
6222 %tmp5.sum.i497 = add i32 %tmp86.i.i489, %foreachkey.0.i.i494 ; <i32> [#uses=1]
6223 %tmp89.i824.sum = add i32 %.frame.0.6, %tmp5.sum.i497 ; <i32> [#uses=1]
6224 %tmp5.i.i498 = getelementptr i8* %line_arg831, i32 %tmp89.i824.sum ; <i8*> [#uses=1]
6225 %tmp6.i.i499 = load i8* %tmp5.i.i498 ; <i8> [#uses=6]
6226 %tmp6.off84.i.i500 = add i8 %tmp6.i.i499, -48 ; <i8> [#uses=1]
6227 %or.cond.i28.i501 = icmp ugt i8 %tmp6.off84.i.i500, 9 ; <i1> [#uses=1]
6228 br i1 %or.cond.i28.i501, label %else.i.i505, label %endif.i.i518
6229
6230else.i.i505: ; preds = %foreachbody.i.i502
6231 %tmp6.off83.i.i503 = add i8 %tmp6.i.i499, -97 ; <i8> [#uses=1]
6232 %or.cond81.i.i504 = icmp ugt i8 %tmp6.off83.i.i503, 25 ; <i1> [#uses=1]
6233 br i1 %or.cond81.i.i504, label %else24.i.i510, label %if22.i.i507
6234
6235if22.i.i507: ; preds = %else.i.i505
6236 %tmp27.i.i506 = add i8 %tmp6.i.i499, -39 ; <i8> [#uses=1]
6237 br label %endif.i.i518
6238
6239else24.i.i510: ; preds = %else.i.i505
6240 %tmp6.off.i.i508 = add i8 %tmp6.i.i499, -65 ; <i8> [#uses=1]
6241 %or.cond82.i.i509 = icmp ugt i8 %tmp6.off.i.i508, 25 ; <i1> [#uses=1]
6242 br i1 %or.cond82.i.i509, label %_D5tango4text7convert7Integer12__T5parseTaZ5parseFAakPkZl.exit529, label %if39.i.i512
6243
6244if39.i.i512: ; preds = %else24.i.i510
6245 %tmp44.i29.i511 = add i8 %tmp6.i.i499, -7 ; <i8> [#uses=1]
6246 br label %endif.i.i518
6247
6248endif.i.i518: ; preds = %if39.i.i512, %if22.i.i507, %foreachbody.i.i502
6249 %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]
6250 %tmp48.i31.i514 = zext i8 %c.0.i30.i513 to i32 ; <i32> [#uses=1]
6251 %tmp49.i.i515 = add i32 %tmp48.i31.i514, 208 ; <i32> [#uses=1]
6252 %tmp52.i.i516 = and i32 %tmp49.i.i515, 255 ; <i32> [#uses=2]
6253 %tmp54.i.i517 = icmp ult i32 %tmp52.i.i516, %radix.0.i485 ; <i1> [#uses=1]
6254 br i1 %tmp54.i.i517, label %if55.i.i525, label %_D5tango4text7convert7Integer12__T5parseTaZ5parseFAakPkZl.exit529
6255
6256if55.i.i525: ; preds = %endif.i.i518
6257 %tmp59.i.i519 = zext i32 %radix.0.i485 to i64 ; <i64> [#uses=1]
6258 %tmp61.i.i520 = mul i64 %value.0.i.i492, %tmp59.i.i519 ; <i64> [#uses=1]
6259 %tmp64.i.i521 = zext i32 %tmp52.i.i516 to i64 ; <i64> [#uses=1]
6260 %tmp65.i.i522 = add i64 %tmp61.i.i520, %tmp64.i.i521 ; <i64> [#uses=1]
6261 %tmp70.i.i524 = add i32 %foreachkey.0.i.i494, 1 ; <i32> [#uses=1]
6262 br label %foreachcond.i.i496
6263
6264_D5tango4text7convert7Integer12__T5parseTaZ5parseFAakPkZl.exit529: ; preds = %endif.i.i518, %else24.i.i510, %foreachcond.i.i496
6265 %negval.i526 = sub i64 0, %value.0.i.i492 ; <i64> [#uses=1]
6266 %condtmp.0.i527 = select i1 %sign.2.i484, i64 %negval.i526, i64 %value.0.i.i492 ; <i64> [#uses=1]
6267 store i64 %condtmp.0.i527, i64* %tmp72
6268 br label %endif66
6269
6270endif66: ; preds = %_D5tango4text7convert7Integer12__T5parseTaZ5parseFAakPkZl.exit529, %_D5tango4text7convert7Integer12__T5parseTaZ5parseFAakPkZl.exit614
6271 %tmp85 = phi i32 [ %.frame.0.8, %_D5tango4text7convert7Integer12__T5parseTaZ5parseFAakPkZl.exit529 ], [ %.frame.0.5, %_D5tango4text7convert7Integer12__T5parseTaZ5parseFAakPkZl.exit614 ] ; <i32> [#uses=1]
6272 %tmp75 = phi i32 [ %.frame.0.8, %_D5tango4text7convert7Integer12__T5parseTaZ5parseFAakPkZl.exit529 ], [ %.frame.0.5, %_D5tango4text7convert7Integer12__T5parseTaZ5parseFAakPkZl.exit614 ] ; <i32> [#uses=1]
6273 %tmp76 = add i32 %tmp75, 13 ; <i32> [#uses=1]
6274 %tmp79 = icmp ult i32 %tmp76, %line_arg830 ; <i1> [#uses=1]
6275 br i1 %tmp79, label %endif81, label %if80
6276
6277if80: ; preds = %endif66
6278 %tmp82 = bitcast %tango.net.ftp.FtpClient.FtpFileInfo* %.sret_arg to i8* ; <i8*> [#uses=1]
6279 call void @llvm.memcpy.i32(i8* %tmp82, i8* %tmp2, i32 48, i32 1)
6280 ret void
6281
6282endif81: ; preds = %endif66
6283 %tmp86 = add i32 %tmp85, 13 ; <i32> [#uses=2]
6284 %tmp93 = getelementptr i8* %line_arg831, i32 %tmp86 ; <i8*> [#uses=1]
6285 %tmp94 = sub i32 %line_arg830, %tmp86 ; <i32> [#uses=1]
6286 %tmp95 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %info, i32 0, i32 0, i32 0 ; <i32*> [#uses=4]
6287 store i32 %tmp94, i32* %tmp95, align 8
6288 %tmp96 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %info, i32 0, i32 0, i32 1 ; <i8**> [#uses=3]
6289 store i8* %tmp93, i8** %tmp96
6290 %tmp97 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %info, i32 0, i32 1 ; <i32*> [#uses=1]
6291 %tmp98 = load i32* %tmp97, align 8 ; <i32> [#uses=1]
6292 %tmp99 = icmp eq i32 %tmp98, 5 ; <i1> [#uses=1]
6293 br i1 %tmp99, label %if100, label %switchend
6294
6295if100: ; preds = %endif81
6296 %tmp102 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %info, i32 0, i32 0 ; <%"byte[]"*> [#uses=1]
6297 %tmp103 = load %"byte[]"* %tmp102, align 8 ; <%"byte[]"> [#uses=2]
6298 %source_arg59.i = extractvalue %"byte[]" %tmp103, 0 ; <i32> [#uses=5]
6299 %source_arg60.i = extractvalue %"byte[]" %tmp103, 1 ; <i8*> [#uses=2]
6300 %tmp9.i418 = add i32 %source_arg59.i, -3 ; <i32> [#uses=2]
6301 %tmp16.i420 = icmp ugt i32 %tmp9.i418, %source_arg59.i ; <i1> [#uses=1]
6302 br i1 %tmp16.i420, label %_D5tango4text4Util21__T13locatePatternTaZ13locatePatternFAaAakZk.exit, label %whilecond.i422
6303
6304whilecond.i422: ; preds = %else40.i, %if100
6305 %source_arg60.pn.i = phi i8* [ %p.0.i, %else40.i ], [ %source_arg60.i, %if100 ] ; <i8*> [#uses=4]
6306 %start_arg.pn.i = phi i32 [ %tmp49.i443, %else40.i ], [ 0, %if100 ] ; <i32> [#uses=3]
6307 %extent.0.i = phi i32 [ %tmp51.i, %else40.i ], [ %tmp9.i418, %if100 ] ; <i32> [#uses=5]
6308 %p.0.i = getelementptr i8* %source_arg60.pn.i, i32 %start_arg.pn.i ; <i8*> [#uses=2]
6309 %tmp18.i421 = icmp eq i32 %extent.0.i, 0 ; <i1> [#uses=1]
6310 br i1 %tmp18.i421, label %_D5tango4text4Util21__T13locatePatternTaZ13locatePatternFAaAakZk.exit, label %whilebody.i425
6311
6312whilebody.i425: ; preds = %whilecond.i422
6313 %p.0.sum63.i = add i32 %start_arg.pn.i, -1 ; <i32> [#uses=1]
6314 %tmp2.i.i424 = getelementptr i8* %source_arg60.pn.i, i32 %p.0.sum63.i ; <i8*> [#uses=1]
6315 br label %forcond.i.i430
6316
6317forcond.i.i430: ; preds = %forbody.i.i434, %whilebody.i425
6318 %len.0.i.i426 = phi i32 [ %extent.0.i, %whilebody.i425 ], [ %tmp4.i.i428, %forbody.i.i434 ] ; <i32> [#uses=2]
6319 %p.0.i.i427 = phi i8* [ %tmp2.i.i424, %whilebody.i425 ], [ %tmp7.i.i431, %forbody.i.i434 ] ; <i8*> [#uses=1]
6320 %tmp4.i.i428 = add i32 %len.0.i.i426, -1 ; <i32> [#uses=1]
6321 %tmp5.i.i429 = icmp eq i32 %len.0.i.i426, 0 ; <i1> [#uses=1]
6322 br i1 %tmp5.i.i429, label %_D5tango4text4Util14__T7indexOfTaZ7indexOfFPaakZk.exit.i, label %forbody.i.i434
6323
6324forbody.i.i434: ; preds = %forcond.i.i430
6325 %tmp7.i.i431 = getelementptr i8* %p.0.i.i427, i32 1 ; <i8*> [#uses=3]
6326 %tmp8.i.i432 = load i8* %tmp7.i.i431 ; <i8> [#uses=1]
6327 %tmp12.i.i433 = icmp eq i8 %tmp8.i.i432, 32 ; <i1> [#uses=1]
6328 br i1 %tmp12.i.i433, label %if.i.i438, label %forcond.i.i430
6329
6330if.i.i438: ; preds = %forbody.i.i434
6331 %tmp15.i.i435 = ptrtoint i8* %tmp7.i.i431 to i32 ; <i32> [#uses=1]
6332 %tmp16.i.i436 = ptrtoint i8* %p.0.i to i32 ; <i32> [#uses=1]
6333 %tmp17.i.i437 = sub i32 %tmp15.i.i435, %tmp16.i.i436 ; <i32> [#uses=1]
6334 br label %_D5tango4text4Util14__T7indexOfTaZ7indexOfFPaakZk.exit.i
6335
6336_D5tango4text4Util14__T7indexOfTaZ7indexOfFPaakZk.exit.i: ; preds = %if.i.i438, %forcond.i.i430
6337 %tmp2561.i = phi i32 [ %tmp17.i.i437, %if.i.i438 ], [ %extent.0.i, %forcond.i.i430 ] ; <i32> [#uses=3]
6338 %tmp27.i = icmp eq i32 %tmp2561.i, %extent.0.i ; <i1> [#uses=1]
6339 br i1 %tmp27.i, label %_D5tango4text4Util21__T13locatePatternTaZ13locatePatternFAaAakZk.exit, label %else.i441
6340
6341else.i441: ; preds = %_D5tango4text4Util14__T7indexOfTaZ7indexOfFPaakZk.exit.i
6342 %p.0.sum.i = add i32 %start_arg.pn.i, %tmp2561.i ; <i32> [#uses=2]
6343 %tmp32.i440 = getelementptr i8* %source_arg60.pn.i, i32 %p.0.sum.i ; <i8*> [#uses=2]
6344 %tmp32.sum.i = add i32 %p.0.sum.i, -1 ; <i32> [#uses=1]
6345 %tmp2.i.i.i = getelementptr i8* %source_arg60.pn.i, i32 %tmp32.sum.i ; <i8*> [#uses=1]
6346 br label %forcond.i.i.i
6347
6348forcond.i.i.i: ; preds = %forbody.i.i.i, %else.i441
6349 %len.0.i.i.i = phi i32 [ 4, %else.i441 ], [ %tmp4.i.i.i, %forbody.i.i.i ] ; <i32> [#uses=2]
6350 %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]
6351 %p.0.i.i.i = phi i8* [ %tmp2.i.i.i, %else.i441 ], [ %tmp7.i.i.i, %forbody.i.i.i ] ; <i8*> [#uses=1]
6352 %tmp4.i.i.i = add i32 %len.0.i.i.i, -1 ; <i32> [#uses=1]
6353 %tmp5.i.i.i = icmp eq i32 %len.0.i.i.i, 0 ; <i1> [#uses=1]
6354 br i1 %tmp5.i.i.i, label %if38.i, label %forbody.i.i.i
6355
6356forbody.i.i.i: ; preds = %forcond.i.i.i
6357 %tmp7.i.i.i = getelementptr i8* %p.0.i.i.i, i32 1 ; <i8*> [#uses=3]
6358 %tmp8.i.i.i = load i8* %tmp7.i.i.i ; <i8> [#uses=1]
6359 %tmp11.i.i.i = getelementptr i8* %s2.0.i.i.i, i32 1 ; <i8*> [#uses=1]
6360 %tmp12.i.i.i = load i8* %s2.0.i.i.i ; <i8> [#uses=1]
6361 %tmp14.i.i.i = icmp eq i8 %tmp8.i.i.i, %tmp12.i.i.i ; <i1> [#uses=1]
6362 br i1 %tmp14.i.i.i, label %forcond.i.i.i, label %if.i.i.i
6363
6364if.i.i.i: ; preds = %forbody.i.i.i
6365 %tmp17.i.i.i = ptrtoint i8* %tmp7.i.i.i to i32 ; <i32> [#uses=1]
6366 %tmp18.i.i.i = ptrtoint i8* %tmp32.i440 to i32 ; <i32> [#uses=1]
6367 %tmp19.i.i.i = sub i32 %tmp17.i.i.i, %tmp18.i.i.i ; <i32> [#uses=1]
6368 %phitmp = icmp eq i32 %tmp19.i.i.i, 4 ; <i1> [#uses=1]
6369 br i1 %phitmp, label %if38.i, label %else40.i
6370
6371if38.i: ; preds = %if.i.i.i, %forcond.i.i.i
6372 %tmp44.i = ptrtoint i8* %tmp32.i440 to i32 ; <i32> [#uses=1]
6373 %tmp45.i442 = ptrtoint i8* %source_arg60.i to i32 ; <i32> [#uses=1]
6374 %tmp46.i = sub i32 %tmp44.i, %tmp45.i442 ; <i32> [#uses=1]
6375 br label %_D5tango4text4Util21__T13locatePatternTaZ13locatePatternFAaAakZk.exit
6376
6377else40.i: ; preds = %if.i.i.i
6378 %tmp49.i443 = add i32 %tmp2561.i, 1 ; <i32> [#uses=2]
6379 %tmp51.i = sub i32 %extent.0.i, %tmp49.i443 ; <i32> [#uses=1]
6380 br label %whilecond.i422
6381
6382_D5tango4text4Util21__T13locatePatternTaZ13locatePatternFAaAakZk.exit: ; preds = %if38.i, %_D5tango4text4Util14__T7indexOfTaZ7indexOfFPaakZk.exit.i, %whilecond.i422, %if100
6383 %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]
6384 %.len107 = load i32* %tmp95, align 8 ; <i32> [#uses=1]
6385 %tmp109 = icmp eq i32 %tmp104444, %.len107 ; <i1> [#uses=1]
6386 br i1 %tmp109, label %switchend, label %if110
6387
6388if110: ; preds = %_D5tango4text4Util21__T13locatePatternTaZ13locatePatternFAaAakZk.exit
6389 store %"byte[]" { i32 6, i8* getelementptr ([7 x i8]* @.str172, i32 0, i32 0) }, %"byte[]"* %aatmpkeystorage114, align 8
6390 %tmp115 = bitcast %"byte[]"* %aatmpkeystorage114 to i8* ; <i8*> [#uses=1]
6391 %aa.index116 = call i8* @_aaGet(%32* nocapture %tmp47, %object.TypeInfo* @_D11TypeInfo_Aa6__initZ, i32 8, i8* nocapture %tmp115) ; <i8*> [#uses=2]
6392 %.ptr120 = load i8** %tmp96 ; <i8*> [#uses=2]
6393 %tmp122 = add i32 %tmp104444, 4 ; <i32> [#uses=2]
6394 %.len125 = load i32* %tmp95, align 8 ; <i32> [#uses=1]
6395 %tmp126 = getelementptr i8* %.ptr120, i32 %tmp122 ; <i8*> [#uses=1]
6396 %tmp127 = sub i32 %.len125, %tmp122 ; <i32> [#uses=1]
6397 %tmp128 = bitcast i8* %aa.index116 to i32* ; <i32*> [#uses=1]
6398 store i32 %tmp127, i32* %tmp128
6399 %tmp129 = getelementptr i8* %aa.index116, i32 4 ; <i8*> [#uses=1]
6400 %0 = bitcast i8* %tmp129 to i8** ; <i8**> [#uses=1]
6401 store i8* %tmp126, i8** %0
6402 store i32 %tmp104444, i32* %tmp95, align 8
6403 store i8* %.ptr120, i8** %tmp96
6404 store %"byte[]" { i32 4, i8* getelementptr ([5 x i8]* @.str173, i32 0, i32 0) }, %"byte[]"* %aatmpkeystorage141, align 8
6405 %tmp142 = bitcast %"byte[]"* %aatmpkeystorage141 to i8* ; <i8*> [#uses=1]
6406 %aa.index143 = call i8* @_aaGet(%32* nocapture %tmp47, %object.TypeInfo* @_D11TypeInfo_Aa6__initZ, i32 8, i8* nocapture %tmp142) ; <i8*> [#uses=1]
6407 %tmp144 = bitcast i8* %aa.index143 to %"byte[]"* ; <%"byte[]"*> [#uses=1]
6408 store %"byte[]" { i32 4, i8* getelementptr ([5 x i8]* @.str174, i32 0, i32 0) }, %"byte[]"* %tmp144
6409 br label %switchend
6410
6411case145: ; preds = %_D5tango4text4Util15__T8containsTaZ8containsFAaaZb.exit
6412 %tmp148 = icmp ult i32 %line_arg830, 18 ; <i1> [#uses=1]
6413 br i1 %tmp148, label %if149, label %endif150
6414
6415if149: ; preds = %case145
6416 %tmp151 = bitcast %tango.net.ftp.FtpClient.FtpFileInfo* %.sret_arg to i8* ; <i8*> [#uses=1]
6417 call void @llvm.memcpy.i32(i8* %tmp151, i8* %tmp2, i32 48, i32 1)
6418 ret void
6419
6420endif150: ; preds = %case145
6421 %.newclass_gc_alloc.i = call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex14__T7RegExpTTaZ7RegExpT7__ClassZ) ; <i8*> [#uses=5]
6422 %.newclass_gc.i = bitcast i8* %.newclass_gc_alloc.i to %"tango.text.Regex.RegExpT!(char).RegExpT"* ; <%"tango.text.Regex.RegExpT!(char).RegExpT"*> [#uses=4]
6423 %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]
6424 store %"tango.text.Regex.RegExpT!(char).RegExpT.__vtbl"* @_D5tango4text5Regex14__T7RegExpTTaZ7RegExpT6__vtblZ, %"tango.text.Regex.RegExpT!(char).RegExpT.__vtbl"** %vtbl.i
6425 %monitor.i = getelementptr i8* %.newclass_gc_alloc.i, i32 4 ; <i8*> [#uses=1]
6426 %1 = bitcast i8* %monitor.i to i8** ; <i8**> [#uses=1]
6427 store i8* null, i8** %1
6428 %tmp.i = getelementptr i8* %.newclass_gc_alloc.i, i32 8 ; <i8*> [#uses=1]
6429 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)
6430 %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]
6431 %tmp157 = load %"tango.text.Regex.RegExpT!(char).RegExpT.__vtbl"** %vtbl.i ; <%"tango.text.Regex.RegExpT!(char).RegExpT.__vtbl"*> [#uses=1]
6432 %"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]
6433 %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]
6434 %insert = insertvalue %"byte[]" undef, i32 %line_arg830, 0 ; <%"byte[]"> [#uses=1]
6435 %insert833 = insertvalue %"byte[]" %insert, i8* %line_arg831, 1 ; <%"byte[]"> [#uses=1]
6436 %tmp160 = call fastcc i1 %r.test(%"tango.text.Regex.RegExpT!(char).RegExpT"* %.newclass_gc.i, %"byte[]" %insert833) ; <i1> [#uses=1]
6437 br i1 %tmp160, label %endif162, label %if161
6438
6439if161: ; preds = %endif150
6440 %tmp163 = bitcast %tango.net.ftp.FtpClient.FtpFileInfo* %.sret_arg to i8* ; <i8*> [#uses=1]
6441 call void @llvm.memcpy.i32(i8* %tmp163, i8* %tmp2, i32 48, i32 1)
6442 ret void
6443
6444endif162: ; preds = %endif150
6445 %tmp168 = load %"tango.text.Regex.RegExpT!(char).RegExpT.__vtbl"** %vtbl.i ; <%"tango.text.Regex.RegExpT!(char).RegExpT.__vtbl"*> [#uses=1]
6446 %"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]
6447 %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]
6448 %tmp170 = call fastcc %"byte[]" %r.match(%"tango.text.Regex.RegExpT!(char).RegExpT"* %.newclass_gc.i, i32 0) ; <%"byte[]"> [#uses=1]
6449 %tmp171 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %info, i32 0, i32 3 ; <%tango.time.Time.Time*> [#uses=1]
6450 %tmp172 = call fastcc i32 @_D5tango4text7convert9TimeStamp14__T7dostimeTaZ7dostimeFAaKS5tango4time4Time4TimeZi(%"byte[]" %tmp170, %tango.time.Time.Time* %tmp171) ; <i32> [#uses=1]
6451 %tmp173 = icmp eq i32 %tmp172, 0 ; <i1> [#uses=1]
6452 br i1 %tmp173, label %if174, label %endif175
6453
6454if174: ; preds = %endif162
6455 %tmp = load i64* getelementptr (%tango.time.Time.Time* @_D5tango4time4Time4Time3maxS5tango4time4Time4Time, i32 0, i32 0), align 4 ; <i64> [#uses=1]
6456 %2 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %info, i32 0, i32 3, i32 0 ; <i64*> [#uses=1]
6457 store i64 %tmp, i64* %2
6458 br label %endif175
6459
6460endif175: ; preds = %if174, %endif162
6461 %tmp180 = load %"tango.text.Regex.RegExpT!(char).RegExpT.__vtbl"** %vtbl.i ; <%"tango.text.Regex.RegExpT!(char).RegExpT.__vtbl"*> [#uses=1]
6462 %"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]
6463 %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]
6464 %tmp184 = call fastcc %"byte[]" %r.match183(%"tango.text.Regex.RegExpT!(char).RegExpT"* %.newclass_gc.i, i32 0) ; <%"byte[]"> [#uses=1]
6465 %.len185 = extractvalue %"byte[]" %tmp184, 0 ; <i32> [#uses=1]
6466 %.tmp = bitcast i8* %.newclass_gc_alloc.i to %object.Object* ; <%object.Object*> [#uses=1]
6467 call void @_d_delclass(%object.Object* %.tmp)
6468 br label %whilecond.i
6469
6470whilecond.i: ; preds = %whilebody.i, %endif175
6471 %tmp3.i = phi i32 [ %tmp18.i.c, %whilebody.i ], [ %.len185, %endif175 ] ; <i32> [#uses=11]
6472 %tmp4.i = icmp ult i32 %tmp3.i, %line_arg830 ; <i1> [#uses=1]
6473 br i1 %tmp4.i, label %andand.i, label %whilecond22.i
6474
6475whilebody.i: ; preds = %andand.i
6476 %tmp18.i.c = add i32 %tmp3.i, 1 ; <i32> [#uses=1]
6477 br label %whilecond.i
6478
6479andand.i: ; preds = %whilecond.i
6480 %tmp11.i = getelementptr i8* %line_arg831, i32 %tmp3.i ; <i8*> [#uses=1]
6481 %tmp12.i = load i8* %tmp11.i ; <i8> [#uses=1]
6482 %tmp14.i = icmp eq i8 %tmp12.i, 32 ; <i1> [#uses=1]
6483 br i1 %tmp14.i, label %whilebody.i, label %whilecond22.i
6484
6485whilecond22.i: ; preds = %whilebody23.i, %andand.i, %whilecond.i
6486 %tmp217.rle699 = phi i32 [ %tmp50.i, %whilebody23.i ], [ %tmp3.i, %andand.i ], [ %tmp3.i, %whilecond.i ] ; <i32> [#uses=2]
6487 %tmp49.i = phi i32 [ %tmp3.i, %andand.i ], [ %tmp50.i, %whilebody23.i ], [ %tmp3.i, %whilecond.i ] ; <i32> [#uses=7]
6488 %tmp32.i = icmp ult i32 %tmp49.i, %line_arg830 ; <i1> [#uses=1]
6489 br i1 %tmp32.i, label %andand33.i, label %whilecond54.i
6490
6491whilebody23.i: ; preds = %andand33.i
6492 %tmp50.i = add i32 %tmp49.i, 1 ; <i32> [#uses=2]
6493 br label %whilecond22.i
6494
6495andand33.i: ; preds = %whilecond22.i
6496 %tmp42.i = getelementptr i8* %line_arg831, i32 %tmp49.i ; <i8*> [#uses=1]
6497 %tmp43.i = load i8* %tmp42.i ; <i8> [#uses=1]
6498 %tmp45.i = icmp eq i8 %tmp43.i, 32 ; <i1> [#uses=1]
6499 br i1 %tmp45.i, label %whilecond54.i, label %whilebody23.i
6500
6501whilecond54.i: ; preds = %whilebody55.i, %andand33.i, %whilecond22.i
6502 %tmp217 = phi i32 [ %tmp82.i, %whilebody55.i ], [ %tmp217.rle699, %andand33.i ], [ %tmp217.rle699, %whilecond22.i ] ; <i32> [#uses=2]
6503 %tmp81.i = phi i32 [ %tmp49.i, %andand33.i ], [ %tmp82.i, %whilebody55.i ], [ %tmp49.i, %whilecond22.i ] ; <i32> [#uses=3]
6504 %tmp64.i = icmp ult i32 %tmp81.i, %line_arg830 ; <i1> [#uses=1]
6505 br i1 %tmp64.i, label %andand65.i, label %_D5tango3net3ftp9FtpClient13FTPConnection13parseListLineMFAaZS5tango3net3ftp9FtpClient11FtpFileInfo10parse_wordMFZAa.exit
6506
6507whilebody55.i: ; preds = %andand65.i
6508 %tmp82.i = add i32 %tmp81.i, 1 ; <i32> [#uses=2]
6509 br label %whilecond54.i
6510
6511andand65.i: ; preds = %whilecond54.i
6512 %tmp74.i = getelementptr i8* %line_arg831, i32 %tmp81.i ; <i8*> [#uses=1]
6513 %tmp75.i = load i8* %tmp74.i ; <i8> [#uses=1]
6514 %tmp77.i = icmp eq i8 %tmp75.i, 32 ; <i1> [#uses=1]
6515 br i1 %tmp77.i, label %whilebody55.i, label %_D5tango3net3ftp9FtpClient13FTPConnection13parseListLineMFAaZS5tango3net3ftp9FtpClient11FtpFileInfo10parse_wordMFZAa.exit
6516
6517_D5tango3net3ftp9FtpClient13FTPConnection13parseListLineMFAaZS5tango3net3ftp9FtpClient11FtpFileInfo10parse_wordMFZAa.exit: ; preds = %andand65.i, %whilecond54.i
6518 %tmp89.i = getelementptr i8* %line_arg831, i32 %tmp3.i ; <i8*> [#uses=4]
6519 %tmp90.i = sub i32 %tmp49.i, %tmp3.i ; <i32> [#uses=2]
6520 %tmp201 = load i8* %tmp89.i ; <i8> [#uses=2]
6521 %tmp203 = icmp eq i8 %tmp201, 60 ; <i1> [#uses=1]
6522 br i1 %tmp203, label %if204, label %else206
6523
6524if204: ; preds = %_D5tango3net3ftp9FtpClient13FTPConnection13parseListLineMFAaZS5tango3net3ftp9FtpClient11FtpFileInfo10parse_wordMFZAa.exit
6525 %tmp207 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %info, i32 0, i32 1 ; <i32*> [#uses=1]
6526 store i32 4, i32* %tmp207, align 8
6527 br label %endif193
6528
6529else206: ; preds = %_D5tango3net3ftp9FtpClient13FTPConnection13parseListLineMFAaZS5tango3net3ftp9FtpClient11FtpFileInfo10parse_wordMFZAa.exit
6530 %tmp208 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %info, i32 0, i32 2 ; <i64*> [#uses=1]
6531 %tmp4.i.i274 = icmp eq i32 %tmp49.i, %tmp3.i ; <i1> [#uses=1]
6532 br i1 %tmp4.i.i274, label %_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit.i, label %forcond.i.i278
6533
6534forcond.i.i278: ; preds = %forinc.i.i, %else206
6535 %c.0.i.i = phi i8 [ %c.0.i.i.pre, %forinc.i.i ], [ %tmp201, %else206 ] ; <i8> [#uses=2]
6536 %sign.1.i = phi i1 [ false, %else206 ], [ %sign.0.i, %forinc.i.i ] ; <i1> [#uses=4]
6537 %len.0.i.i275 = phi i32 [ %tmp33.i.i, %forinc.i.i ], [ %tmp90.i, %else206 ] ; <i32> [#uses=3]
6538 %p.0.i.i276 = phi i8* [ %tmp30.i.i, %forinc.i.i ], [ %tmp89.i, %else206 ] ; <i8*> [#uses=6]
6539 %tmp8.i.i277 = icmp eq i32 %len.0.i.i275, 0 ; <i1> [#uses=1]
6540 br i1 %tmp8.i.i277, label %endfor.i.i280, label %forbody.i.i279
6541
6542forbody.i.i279: ; preds = %forcond.i.i278
6543 switch i8 %c.0.i.i, label %endfor.i.i280 [
6544 i8 32, label %forinc.i.i
6545 i8 9, label %forinc.i.i
6546 i8 45, label %if20.i.i
6547 i8 43, label %if26.i.i
6548 ]
6549
6550if20.i.i: ; preds = %forbody.i.i279
6551 br label %forinc.i.i
6552
6553if26.i.i: ; preds = %forbody.i.i279
6554 br label %forinc.i.i
6555
6556forinc.i.i: ; preds = %if26.i.i, %if20.i.i, %forbody.i.i279, %forbody.i.i279
6557 %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]
6558 %tmp30.i.i = getelementptr i8* %p.0.i.i276, i32 1 ; <i8*> [#uses=2]
6559 %tmp33.i.i = add i32 %len.0.i.i275, -1 ; <i32> [#uses=1]
6560 %c.0.i.i.pre = load i8* %tmp30.i.i ; <i8> [#uses=1]
6561 br label %forcond.i.i278
6562
6563endfor.i.i280: ; preds = %forbody.i.i279, %forcond.i.i278
6564 %tmp37.i.i = icmp eq i8 %c.0.i.i, 48 ; <i1> [#uses=1]
6565 %tmp39.i.i = icmp sgt i32 %len.0.i.i275, 1 ; <i1> [#uses=1]
6566 %or.cond.i.i = and i1 %tmp37.i.i, %tmp39.i.i ; <i1> [#uses=1]
6567 br i1 %or.cond.i.i, label %if40.i.i, label %endif41.i.i
6568
6569if40.i.i: ; preds = %endfor.i.i280
6570 %tmp43.i.i = getelementptr i8* %p.0.i.i276, i32 1 ; <i8*> [#uses=2]
6571 %tmp44.i.i = load i8* %tmp43.i.i ; <i8> [#uses=1]
6572 %tmp45.i.i = zext i8 %tmp44.i.i to i32 ; <i32> [#uses=1]
6573 switch i32 %tmp45.i.i, label %endif41.i.i [
6574 i32 120, label %case46.i.i
6575 i32 88, label %case46.i.i
6576 i32 98, label %case51.i.i
6577 i32 66, label %case51.i.i
6578 i32 111, label %case56.i.i
6579 i32 79, label %case56.i.i
6580 ]
6581
6582case46.i.i: ; preds = %if40.i.i, %if40.i.i
6583 %tmp48.i.i = getelementptr i8* %p.0.i.i276, i32 2 ; <i8*> [#uses=1]
6584 br label %endif41.i.i
6585
6586case51.i.i: ; preds = %if40.i.i, %if40.i.i
6587 %tmp53.i.i = getelementptr i8* %p.0.i.i276, i32 2 ; <i8*> [#uses=1]
6588 br label %endif41.i.i
6589
6590case56.i.i: ; preds = %if40.i.i, %if40.i.i
6591 %tmp58.i.i = getelementptr i8* %p.0.i.i276, i32 2 ; <i8*> [#uses=1]
6592 br label %endif41.i.i
6593
6594endif41.i.i: ; preds = %case56.i.i, %case51.i.i, %case46.i.i, %if40.i.i, %endfor.i.i280
6595 %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]
6596 %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]
6597 %tmp63.i.i = icmp eq i32 %r.0.i.i, 0 ; <i1> [#uses=1]
6598 br i1 %tmp63.i.i, label %_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit.i, label %if70.i.i
6599
6600if70.i.i: ; preds = %endif41.i.i
6601 br label %_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit.i
6602
6603_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit.i: ; preds = %if70.i.i, %endif41.i.i, %else206
6604 %sign.2.i = phi i1 [ false, %else206 ], [ %sign.1.i, %if70.i.i ], [ %sign.1.i, %endif41.i.i ] ; <i1> [#uses=1]
6605 %radix.0.i = phi i32 [ 0, %else206 ], [ %r.0.i.i, %if70.i.i ], [ 10, %endif41.i.i ] ; <i32> [#uses=2]
6606 %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]
6607 %tmp84.i.i = ptrtoint i8* %p.1.i.i to i32 ; <i32> [#uses=1]
6608 %tmp85.i.i = ptrtoint i8* %tmp89.i to i32 ; <i32> [#uses=1]
6609 %tmp86.i.i = sub i32 %tmp84.i.i, %tmp85.i.i ; <i32> [#uses=2]
6610 %tmp6.i281 = sub i32 %tmp90.i, %tmp86.i.i ; <i32> [#uses=1]
6611 br label %foreachcond.i.i
6612
6613foreachcond.i.i: ; preds = %if55.i.i, %_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit.i
6614 %value.0.i.i = phi i64 [ 0, %_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit.i ], [ %tmp65.i.i, %if55.i.i ] ; <i64> [#uses=3]
6615 %foreachkey.0.i.i = phi i32 [ 0, %_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit.i ], [ %tmp70.i.i, %if55.i.i ] ; <i32> [#uses=3]
6616 %tmp3.i.i = icmp ult i32 %foreachkey.0.i.i, %tmp6.i281 ; <i1> [#uses=1]
6617 br i1 %tmp3.i.i, label %foreachbody.i.i, label %_D5tango4text7convert7Integer12__T5parseTaZ5parseFAakPkZl.exit
6618
6619foreachbody.i.i: ; preds = %foreachcond.i.i
6620 %tmp5.sum.i = add i32 %tmp86.i.i, %foreachkey.0.i.i ; <i32> [#uses=1]
6621 %tmp89.i.sum = add i32 %tmp3.i, %tmp5.sum.i ; <i32> [#uses=1]
6622 %tmp5.i.i282 = getelementptr i8* %line_arg831, i32 %tmp89.i.sum ; <i8*> [#uses=1]
6623 %tmp6.i.i = load i8* %tmp5.i.i282 ; <i8> [#uses=6]
6624 %tmp6.off84.i.i = add i8 %tmp6.i.i, -48 ; <i8> [#uses=1]
6625 %or.cond.i28.i = icmp ugt i8 %tmp6.off84.i.i, 9 ; <i1> [#uses=1]
6626 br i1 %or.cond.i28.i, label %else.i.i, label %endif.i.i
6627
6628else.i.i: ; preds = %foreachbody.i.i
6629 %tmp6.off83.i.i = add i8 %tmp6.i.i, -97 ; <i8> [#uses=1]
6630 %or.cond81.i.i = icmp ugt i8 %tmp6.off83.i.i, 25 ; <i1> [#uses=1]
6631 br i1 %or.cond81.i.i, label %else24.i.i, label %if22.i.i
6632
6633if22.i.i: ; preds = %else.i.i
6634 %tmp27.i.i = add i8 %tmp6.i.i, -39 ; <i8> [#uses=1]
6635 br label %endif.i.i
6636
6637else24.i.i: ; preds = %else.i.i
6638 %tmp6.off.i.i = add i8 %tmp6.i.i, -65 ; <i8> [#uses=1]
6639 %or.cond82.i.i = icmp ugt i8 %tmp6.off.i.i, 25 ; <i1> [#uses=1]
6640 br i1 %or.cond82.i.i, label %_D5tango4text7convert7Integer12__T5parseTaZ5parseFAakPkZl.exit, label %if39.i.i
6641
6642if39.i.i: ; preds = %else24.i.i
6643 %tmp44.i29.i = add i8 %tmp6.i.i, -7 ; <i8> [#uses=1]
6644 br label %endif.i.i
6645
6646endif.i.i: ; preds = %if39.i.i, %if22.i.i, %foreachbody.i.i
6647 %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]
6648 %tmp48.i31.i = zext i8 %c.0.i30.i to i32 ; <i32> [#uses=1]
6649 %tmp49.i.i = add i32 %tmp48.i31.i, 208 ; <i32> [#uses=1]
6650 %tmp52.i.i = and i32 %tmp49.i.i, 255 ; <i32> [#uses=2]
6651 %tmp54.i.i = icmp ult i32 %tmp52.i.i, %radix.0.i ; <i1> [#uses=1]
6652 br i1 %tmp54.i.i, label %if55.i.i, label %_D5tango4text7convert7Integer12__T5parseTaZ5parseFAakPkZl.exit
6653
6654if55.i.i: ; preds = %endif.i.i
6655 %tmp59.i.i = zext i32 %radix.0.i to i64 ; <i64> [#uses=1]
6656 %tmp61.i.i = mul i64 %value.0.i.i, %tmp59.i.i ; <i64> [#uses=1]
6657 %tmp64.i.i = zext i32 %tmp52.i.i to i64 ; <i64> [#uses=1]
6658 %tmp65.i.i = add i64 %tmp61.i.i, %tmp64.i.i ; <i64> [#uses=1]
6659 %tmp70.i.i = add i32 %foreachkey.0.i.i, 1 ; <i32> [#uses=1]
6660 br label %foreachcond.i.i
6661
6662_D5tango4text7convert7Integer12__T5parseTaZ5parseFAakPkZl.exit: ; preds = %endif.i.i, %else24.i.i, %foreachcond.i.i
6663 %negval.i = sub i64 0, %value.0.i.i ; <i64> [#uses=1]
6664 %condtmp.0.i = select i1 %sign.2.i, i64 %negval.i, i64 %value.0.i.i ; <i64> [#uses=1]
6665 store i64 %condtmp.0.i, i64* %tmp208
6666 %tmp211 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %info, i32 0, i32 1 ; <i32*> [#uses=1]
6667 store i32 1, i32* %tmp211, align 8
6668 br label %endif193
6669
6670endif193: ; preds = %_D5tango4text7convert7Integer12__T5parseTaZ5parseFAakPkZl.exit, %if204
6671 %tmp218 = getelementptr i8* %line_arg831, i32 %tmp217 ; <i8*> [#uses=1]
6672 %tmp219 = sub i32 %line_arg830, %tmp217 ; <i32> [#uses=1]
6673 %tmp220 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %info, i32 0, i32 0, i32 0 ; <i32*> [#uses=1]
6674 store i32 %tmp219, i32* %tmp220, align 8
6675 %tmp221 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %info, i32 0, i32 0, i32 1 ; <i8**> [#uses=1]
6676 store i8* %tmp218, i8** %tmp221
6677 br label %switchend
6678
6679default223: ; preds = %_D5tango4text4Util15__T8containsTaZ8containsFAaaZb.exit
6680 %.newclass_gc_alloc = call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango3net3ftp9FtpClient12FtpException7__ClassZ) ; <i8*> [#uses=6]
6681 %vtbl = bitcast i8* %.newclass_gc_alloc to %tango.net.ftp.FtpClient.FtpException.__vtbl** ; <%tango.net.ftp.FtpClient.FtpException.__vtbl**> [#uses=1]
6682 store %tango.net.ftp.FtpClient.FtpException.__vtbl* @_D5tango3net3ftp9FtpClient12FtpException6__vtblZ, %tango.net.ftp.FtpClient.FtpException.__vtbl** %vtbl
6683 %monitor = getelementptr i8* %.newclass_gc_alloc, i32 4 ; <i8*> [#uses=1]
6684 %3 = bitcast i8* %monitor to i8** ; <i8**> [#uses=1]
6685 store i8* null, i8** %3
6686 %tmp224 = getelementptr i8* %.newclass_gc_alloc, i32 8 ; <i8*> [#uses=1]
6687 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)
6688 %tmp2.i = getelementptr i8* %.newclass_gc_alloc, i32 36 ; <i8*> [#uses=1]
6689 call void @llvm.memcpy.i32(i8* %tmp2.i, i8* getelementptr ([4 x i8]* @.str177, i32 0, i32 0), i32 3, i32 1)
6690 %tmp5.i = bitcast i8* %.newclass_gc_alloc to %object.Exception* ; <%object.Exception*> [#uses=1]
6691 %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]
6692 %tmp229 = bitcast i8* %.newclass_gc_alloc to %object.Object* ; <%object.Object*> [#uses=1]
6693 call void @_d_throw_exception(%object.Object* %tmp229)
6694 unreachable
6695
6696switchend: ; preds = %endif193, %if110, %_D5tango4text4Util21__T13locatePatternTaZ13locatePatternFAaAakZk.exit, %endif81
6697 %tmp232 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %info, i32 0, i32 0, i32 0 ; <i32*> [#uses=1]
6698 %.len233 = load i32* %tmp232, align 8 ; <i32> [#uses=2]
6699 %tmp234 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %info, i32 0, i32 0, i32 1 ; <i8**> [#uses=1]
6700 %.ptr235 = load i8** %tmp234 ; <i8*> [#uses=2]
6701 %tmp236 = insertvalue %"byte[]" undef, i32 %.len233, 0 ; <%"byte[]"> [#uses=1]
6702 %tmp237 = insertvalue %"byte[]" %tmp236, i8* %.ptr235, 1 ; <%"byte[]"> [#uses=1]
6703 %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]
6704 %tmp239 = icmp eq i32 %tmp238, 0 ; <i1> [#uses=1]
6705 br i1 %tmp239, label %else242, label %if240
6706
6707if240: ; preds = %switchend
6708 %tmp243 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %info, i32 0, i32 1 ; <i32*> [#uses=1]
6709 store i32 2, i32* %tmp243, align 8
6710 br label %endif241
6711
6712else242: ; preds = %switchend
6713 %tmp250 = insertvalue %"byte[]" undef, i32 %.len233, 0 ; <%"byte[]"> [#uses=1]
6714 %tmp251 = insertvalue %"byte[]" %tmp250, i8* %.ptr235, 1 ; <%"byte[]"> [#uses=1]
6715 %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]
6716 %tmp253 = icmp eq i32 %tmp252, 0 ; <i1> [#uses=1]
6717 br i1 %tmp253, label %endif241, label %if254
6718
6719if254: ; preds = %else242
6720 %tmp256 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %info, i32 0, i32 1 ; <i32*> [#uses=1]
6721 store i32 3, i32* %tmp256, align 8
6722 br label %endif241
6723
6724endif241: ; preds = %if254, %else242, %if240
6725 %tmp257 = bitcast %tango.net.ftp.FtpClient.FtpFileInfo* %.sret_arg to i8* ; <i8*> [#uses=1]
6726 call void @llvm.memcpy.i32(i8* %tmp257, i8* %tmp2, i32 48, i32 1)
6727 ret void
6728}
6729
6730define fastcc void @_D5tango3net3ftp9FtpClient13FTPConnection13parseMlstLineMFAaZS5tango3net3ftp9FtpClient11FtpFileInfo(%tango.net.ftp.FtpClient.FtpFileInfo* noalias nocapture sret %.sret_arg, %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" %line_arg) {
6731entry:
6732 %.frame.i = alloca %nest.delimit, align 8 ; <%nest.delimit*> [#uses=2]
6733 %.rettmp.i = alloca %tango.net.ftp.FtpClient.FtpFeature, align 8 ; <%tango.net.ftp.FtpClient.FtpFeature*> [#uses=5]
6734 %info = alloca %tango.net.ftp.FtpClient.FtpFileInfo, align 4 ; <%tango.net.ftp.FtpClient.FtpFileInfo*> [#uses=14]
6735 %aatmpkeystorage = alloca %"byte[]", align 8 ; <%"byte[]"*> [#uses=2]
6736 %aatmpkeystorage89 = alloca %"byte[]", align 8 ; <%"byte[]"*> [#uses=2]
6737 %aatmpkeystorage98 = alloca %"byte[]", align 8 ; <%"byte[]"*> [#uses=2]
6738 %aatmpkeystorage120 = alloca %"byte[]", align 8 ; <%"byte[]"*> [#uses=2]
6739 %aatmpkeystorage131 = alloca %"byte[]", align 8 ; <%"byte[]"*> [#uses=2]
6740 %aatmpkeystorage140 = alloca %"byte[]", align 8 ; <%"byte[]"*> [#uses=2]
6741 %aatmpkeystorage151 = alloca %"byte[]", align 8 ; <%"byte[]"*> [#uses=2]
6742 %aatmpkeystorage159 = alloca %"byte[]", align 8 ; <%"byte[]"*> [#uses=2]
6743 %.rettmp = alloca %tango.time.Time.Time, align 8 ; <%tango.time.Time.Time*> [#uses=2]
6744 %aatmpkeystorage174 = alloca %"byte[]", align 8 ; <%"byte[]"*> [#uses=2]
6745 %aatmpkeystorage184 = alloca %"byte[]", align 8 ; <%"byte[]"*> [#uses=2]
6746 %.rettmp198 = alloca %tango.time.Time.Time, align 8 ; <%tango.time.Time.Time*> [#uses=2]
6747 %aatmpkeystorage202 = alloca %"byte[]", align 8 ; <%"byte[]"*> [#uses=2]
6748 %line_arg217 = extractvalue %"byte[]" %line_arg, 0 ; <i32> [#uses=3]
6749 %line_arg218 = extractvalue %"byte[]" %line_arg, 1 ; <i8*> [#uses=3]
6750 %tmp = bitcast %tango.net.ftp.FtpClient.FtpFileInfo* %info to i8* ; <i8*> [#uses=2]
6751 call void @llvm.memcpy.i32(i8* %tmp, i8* bitcast (%tango.net.ftp.FtpClient.FtpFileInfo* @_D5tango3net3ftp9FtpClient11FtpFileInfo6__initZ to i8*), i32 48, i32 4)
6752 br label %whilecond
6753
6754whilecond: ; preds = %andand, %entry
6755 %filename_pos.0 = phi i32 [ 0, %entry ], [ %tmp5, %andand ] ; <i32> [#uses=4]
6756 %tmp3 = icmp ult i32 %filename_pos.0, %line_arg217 ; <i1> [#uses=1]
6757 br i1 %tmp3, label %andand, label %endwhile
6758
6759andand: ; preds = %whilecond
6760 %tmp5 = add i32 %filename_pos.0, 1 ; <i32> [#uses=2]
6761 %tmp7 = getelementptr i8* %line_arg218, i32 %filename_pos.0 ; <i8*> [#uses=1]
6762 %tmp8 = load i8* %tmp7 ; <i8> [#uses=1]
6763 %tmp10 = icmp eq i8 %tmp8, 32 ; <i1> [#uses=1]
6764 br i1 %tmp10, label %endwhile, label %whilecond
6765
6766endwhile: ; preds = %andand, %whilecond
6767 %filename_pos.1 = phi i32 [ %tmp5, %andand ], [ %filename_pos.0, %whilecond ] ; <i32> [#uses=5]
6768 %tmp14 = icmp eq i32 %filename_pos.1, %line_arg217 ; <i1> [#uses=1]
6769 br i1 %tmp14, label %if, label %endif
6770
6771if: ; preds = %endwhile
6772 %.newclass_gc_alloc = call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango3net3ftp9FtpClient12FtpException7__ClassZ) ; <i8*> [#uses=6]
6773 %vtbl = bitcast i8* %.newclass_gc_alloc to %tango.net.ftp.FtpClient.FtpException.__vtbl** ; <%tango.net.ftp.FtpClient.FtpException.__vtbl**> [#uses=1]
6774 store %tango.net.ftp.FtpClient.FtpException.__vtbl* @_D5tango3net3ftp9FtpClient12FtpException6__vtblZ, %tango.net.ftp.FtpClient.FtpException.__vtbl** %vtbl
6775 %monitor = getelementptr i8* %.newclass_gc_alloc, i32 4 ; <i8*> [#uses=1]
6776 %0 = bitcast i8* %monitor to i8** ; <i8**> [#uses=1]
6777 store i8* null, i8** %0
6778 %tmp15 = getelementptr i8* %.newclass_gc_alloc, i32 8 ; <i8*> [#uses=1]
6779 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)
6780 %tmp2.i = getelementptr i8* %.newclass_gc_alloc, i32 36 ; <i8*> [#uses=1]
6781 call void @llvm.memcpy.i32(i8* %tmp2.i, i8* getelementptr ([4 x i8]* @.str181, i32 0, i32 0), i32 3, i32 1)
6782 %tmp5.i = bitcast i8* %.newclass_gc_alloc to %object.Exception* ; <%object.Exception*> [#uses=1]
6783 %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]
6784 %tmp20 = bitcast i8* %.newclass_gc_alloc to %object.Object* ; <%object.Object*> [#uses=1]
6785 call void @_d_throw_exception(%object.Object* %tmp20)
6786 unreachable
6787
6788endif: ; preds = %endwhile
6789 %tmp27 = getelementptr i8* %line_arg218, i32 %filename_pos.1 ; <i8*> [#uses=1]
6790 %tmp28 = sub i32 %line_arg217, %filename_pos.1 ; <i32> [#uses=1]
6791 %tmp29 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %info, i32 0, i32 0, i32 0 ; <i32*> [#uses=1]
6792 store i32 %tmp28, i32* %tmp29
6793 %tmp30 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %info, i32 0, i32 0, i32 1 ; <i8**> [#uses=1]
6794 store i8* %tmp27, i8** %tmp30
6795 %tmp32 = icmp ugt i32 %filename_pos.1, 1 ; <i1> [#uses=1]
6796 br i1 %tmp32, label %if33, label %endif34
6797
6798if33: ; preds = %endif
6799 %tmp38 = add i32 %filename_pos.1, -1 ; <i32> [#uses=1]
6800 %result.i = getelementptr %nest.delimit* %.frame.i, i32 0, i32 0 ; <%"char[][]"*> [#uses=2]
6801 store %"char[][]" zeroinitializer, %"char[][]"* %result.i, align 8
6802 %1 = getelementptr %tango.net.ftp.FtpClient.FtpFeature* %.rettmp.i, i32 0, i32 0, i32 0 ; <i32*> [#uses=1]
6803 store i32 %tmp38, i32* %1, align 8
6804 %.sret_arg18.1.i.i = getelementptr %tango.net.ftp.FtpClient.FtpFeature* %.rettmp.i, i32 0, i32 0, i32 1 ; <i8**> [#uses=1]
6805 store i8* %line_arg218, i8** %.sret_arg18.1.i.i, align 4
6806 %.sret_arg.1.0.i.i = getelementptr %tango.net.ftp.FtpClient.FtpFeature* %.rettmp.i, i32 0, i32 1, i32 0 ; <i32*> [#uses=1]
6807 store i32 1, i32* %.sret_arg.1.0.i.i, align 8
6808 %.sret_arg.1.1.i.i = getelementptr %tango.net.ftp.FtpClient.FtpFeature* %.rettmp.i, i32 0, i32 1, i32 1 ; <i8**> [#uses=1]
6809 store i8* getelementptr ([2 x i8]* @.str182, i32 0, i32 0), i8** %.sret_arg.1.1.i.i, align 4
6810 %tmp2.i225 = bitcast %nest.delimit* %.frame.i to i8* ; <i8*> [#uses=1]
6811 %tmp3.i = insertvalue %"int delegate(ref char[])" undef, i8* %tmp2.i225, 0 ; <%"int delegate(ref char[])"> [#uses=1]
6812 %.func.i = insertvalue %"int delegate(ref char[])" %tmp3.i, i32 (i8*, %"byte[]"*)* @_D5tango4text4Util14__T7delimitTaZ7delimitFAaAaZAAa15__foreachbody43MFKAaZi, 1 ; <%"int delegate(ref char[])"> [#uses=1]
6813 %tmp4.i = call fastcc i32 @_D5tango4text4Util18__T10DelimFructTaZ10DelimFruct7opApplyMFDFKAaZiZi(%tango.net.ftp.FtpClient.FtpFeature* %.rettmp.i, %"int delegate(ref char[])" %.func.i) ; <i32> [#uses=0]
6814 %tmp5.i226 = load %"char[][]"* %result.i, align 8 ; <%"char[][]"> [#uses=2]
6815 %tmp43215 = extractvalue %"char[][]" %tmp5.i226, 0 ; <i32> [#uses=1]
6816 %tmp43216 = extractvalue %"char[][]" %tmp5.i226, 1 ; <%"byte[]"*> [#uses=1]
6817 br label %foreachcond
6818
6819foreachcond: ; preds = %foreachnext, %if33
6820 %foreachkey.0 = phi i32 [ 0, %if33 ], [ %tmp85, %foreachnext ] ; <i32> [#uses=3]
6821 %tmp49 = icmp ult i32 %foreachkey.0, %tmp43215 ; <i1> [#uses=1]
6822 br i1 %tmp49, label %foreachbody, label %foreachend
6823
6824foreachbody: ; preds = %foreachcond
6825 %tmp51 = getelementptr %"byte[]"* %tmp43216, i32 %foreachkey.0 ; <%"byte[]"*> [#uses=1]
6826 %tmp52 = load %"byte[]"* %tmp51 ; <%"byte[]"> [#uses=2]
6827 %tmp52213 = extractvalue %"byte[]" %tmp52, 0 ; <i32> [#uses=4]
6828 %tmp52214 = extractvalue %"byte[]" %tmp52, 1 ; <i8*> [#uses=4]
6829 %tmp2.i.i = getelementptr i8* %tmp52214, i32 -1 ; <i8*> [#uses=1]
6830 br label %forcond.i.i
6831
6832forcond.i.i: ; preds = %forbody.i.i, %foreachbody
6833 %len.0.i.i = phi i32 [ %tmp52213, %foreachbody ], [ %tmp4.i.i, %forbody.i.i ] ; <i32> [#uses=2]
6834 %p.0.i.i = phi i8* [ %tmp2.i.i, %foreachbody ], [ %tmp7.i.i, %forbody.i.i ] ; <i8*> [#uses=1]
6835 %tmp4.i.i = add i32 %len.0.i.i, -1 ; <i32> [#uses=1]
6836 %tmp5.i.i = icmp eq i32 %len.0.i.i, 0 ; <i1> [#uses=1]
6837 br i1 %tmp5.i.i, label %_D5tango4text4Util13__T6locateTaZ6locateFAaakZk.exit, label %forbody.i.i
6838
6839forbody.i.i: ; preds = %forcond.i.i
6840 %tmp7.i.i = getelementptr i8* %p.0.i.i, i32 1 ; <i8*> [#uses=3]
6841 %tmp8.i.i = load i8* %tmp7.i.i ; <i8> [#uses=1]
6842 %tmp12.i.i = icmp eq i8 %tmp8.i.i, 61 ; <i1> [#uses=1]
6843 br i1 %tmp12.i.i, label %if.i.i, label %forcond.i.i
6844
6845if.i.i: ; preds = %forbody.i.i
6846 %tmp15.i.i = ptrtoint i8* %tmp7.i.i to i32 ; <i32> [#uses=1]
6847 %tmp16.i.i = ptrtoint i8* %tmp52214 to i32 ; <i32> [#uses=1]
6848 %tmp17.i.i = sub i32 %tmp15.i.i, %tmp16.i.i ; <i32> [#uses=1]
6849 br label %_D5tango4text4Util13__T6locateTaZ6locateFAaakZk.exit
6850
6851_D5tango4text4Util13__T6locateTaZ6locateFAaakZk.exit: ; preds = %if.i.i, %forcond.i.i
6852 %tmp1318.i = phi i32 [ %tmp17.i.i, %if.i.i ], [ %tmp52213, %forcond.i.i ] ; <i32> [#uses=3]
6853 %tmp58 = icmp eq i32 %tmp1318.i, %tmp52213 ; <i1> [#uses=1]
6854 br i1 %tmp58, label %foreachnext, label %endif60
6855
6856endif60: ; preds = %_D5tango4text4Util13__T6locateTaZ6locateFAaakZk.exit
6857 %tmp62 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %info, i32 0, i32 6 ; <i8**> [#uses=1]
6858 %tmp68 = insertvalue %"byte[]" undef, i32 %tmp1318.i, 0 ; <%"byte[]"> [#uses=1]
6859 %tmp69 = insertvalue %"byte[]" %tmp68, i8* %tmp52214, 1 ; <%"byte[]"> [#uses=1]
6860 %tmp70 = call fastcc %"byte[]" @_D5tango4text5Ascii7toLowerFAaAaZAa(%"byte[]" %tmp69, %"byte[]" zeroinitializer) ; <%"byte[]"> [#uses=1]
6861 %tmp71 = bitcast i8** %tmp62 to %32* ; <%32*> [#uses=1]
6862 store %"byte[]" %tmp70, %"byte[]"* %aatmpkeystorage, align 8
6863 %tmp72 = bitcast %"byte[]"* %aatmpkeystorage to i8* ; <i8*> [#uses=1]
6864 %aa.index = call i8* @_aaGet(%32* nocapture %tmp71, %object.TypeInfo* @_D11TypeInfo_Aa6__initZ, i32 8, i8* nocapture %tmp72) ; <i8*> [#uses=2]
6865 %tmp77 = add i32 %tmp1318.i, 1 ; <i32> [#uses=2]
6866 %tmp80 = getelementptr i8* %tmp52214, i32 %tmp77 ; <i8*> [#uses=1]
6867 %tmp81 = sub i32 %tmp52213, %tmp77 ; <i32> [#uses=1]
6868 %tmp82 = bitcast i8* %aa.index to i32* ; <i32*> [#uses=1]
6869 store i32 %tmp81, i32* %tmp82
6870 %tmp83 = getelementptr i8* %aa.index, i32 4 ; <i8*> [#uses=1]
6871 %2 = bitcast i8* %tmp83 to i8** ; <i8**> [#uses=1]
6872 store i8* %tmp80, i8** %2
6873 br label %foreachnext
6874
6875foreachnext: ; preds = %endif60, %_D5tango4text4Util13__T6locateTaZ6locateFAaakZk.exit
6876 %tmp85 = add i32 %foreachkey.0, 1 ; <i32> [#uses=1]
6877 br label %foreachcond
6878
6879foreachend: ; preds = %foreachcond
6880 %tmp86 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %info, i32 0, i32 6 ; <i8**> [#uses=1]
6881 %tmp87 = load i8** %tmp86 ; <i8*> [#uses=1]
6882 %tmp88 = bitcast i8* %tmp87 to %32* ; <%32*> [#uses=10]
6883 store %"byte[]" { i32 4, i8* getelementptr ([5 x i8]* @.str183, i32 0, i32 0) }, %"byte[]"* %aatmpkeystorage89, align 8
6884 %tmp90 = bitcast %"byte[]"* %aatmpkeystorage89 to i8* ; <i8*> [#uses=1]
6885 %aa.in = call i8* @_aaIn(%32* nocapture %tmp88, %object.TypeInfo* @_D11TypeInfo_Aa6__initZ, i8* nocapture %tmp90) readonly ; <i8*> [#uses=1]
6886 %tmp94 = icmp eq i8* %aa.in, null ; <i1> [#uses=1]
6887 br i1 %tmp94, label %endif93, label %if92
6888
6889if92: ; preds = %foreachend
6890 store %"byte[]" { i32 4, i8* getelementptr ([5 x i8]* @.str188, i32 0, i32 0) }, %"byte[]"* %aatmpkeystorage98, align 8
6891 %tmp99 = bitcast %"byte[]"* %aatmpkeystorage98 to i8* ; <i8*> [#uses=1]
6892 %aa.index100 = call i8* @_aaIn(%32* nocapture %tmp88, %object.TypeInfo* @_D11TypeInfo_Aa6__initZ, i8* nocapture %tmp99) readonly ; <i8*> [#uses=1]
6893 %tmp101 = bitcast i8* %aa.index100 to %"byte[]"* ; <%"byte[]"*> [#uses=1]
6894 %tmp102 = load %"byte[]"* %tmp101 ; <%"byte[]"> [#uses=1]
6895 %tmp103 = call fastcc %"byte[]" @_D5tango4text5Ascii7toLowerFAaAaZAa(%"byte[]" %tmp102, %"byte[]" zeroinitializer) ; <%"byte[]"> [#uses=1]
6896 %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]
6897 switch i32 %tmp104, label %default115 [
6898 i32 2, label %case
6899 i32 1, label %case106
6900 i32 3, label %case109
6901 i32 0, label %case112
6902 ]
6903
6904case: ; preds = %if92
6905 %tmp105 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %info, i32 0, i32 1 ; <i32*> [#uses=1]
6906 store i32 1, i32* %tmp105
6907 br label %endif93
6908
6909case106: ; preds = %if92
6910 %tmp107 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %info, i32 0, i32 1 ; <i32*> [#uses=1]
6911 store i32 2, i32* %tmp107
6912 br label %endif93
6913
6914case109: ; preds = %if92
6915 %tmp110 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %info, i32 0, i32 1 ; <i32*> [#uses=1]
6916 store i32 3, i32* %tmp110
6917 br label %endif93
6918
6919case112: ; preds = %if92
6920 %tmp113 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %info, i32 0, i32 1 ; <i32*> [#uses=1]
6921 store i32 4, i32* %tmp113
6922 br label %endif93
6923
6924default115: ; preds = %if92
6925 %tmp116 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %info, i32 0, i32 1 ; <i32*> [#uses=1]
6926 store i32 5, i32* %tmp116
6927 br label %endif93
6928
6929endif93: ; preds = %default115, %case112, %case109, %case106, %case, %foreachend
6930 store %"byte[]" { i32 4, i8* getelementptr ([5 x i8]* @.str189, i32 0, i32 0) }, %"byte[]"* %aatmpkeystorage120, align 8
6931 %tmp121 = bitcast %"byte[]"* %aatmpkeystorage120 to i8* ; <i8*> [#uses=1]
6932 %aa.in122 = call i8* @_aaIn(%32* nocapture %tmp88, %object.TypeInfo* @_D11TypeInfo_Aa6__initZ, i8* nocapture %tmp121) readonly ; <i8*> [#uses=1]
6933 %tmp126 = icmp eq i8* %aa.in122, null ; <i1> [#uses=1]
6934 br i1 %tmp126, label %endif125, label %if124
6935
6936if124: ; preds = %endif93
6937 %tmp127 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %info, i32 0, i32 2 ; <i64*> [#uses=1]
6938 store %"byte[]" { i32 4, i8* getelementptr ([5 x i8]* @.str190, i32 0, i32 0) }, %"byte[]"* %aatmpkeystorage131, align 8
6939 %tmp132 = bitcast %"byte[]"* %aatmpkeystorage131 to i8* ; <i8*> [#uses=1]
6940 %aa.index133 = call i8* @_aaIn(%32* nocapture %tmp88, %object.TypeInfo* @_D11TypeInfo_Aa6__initZ, i8* nocapture %tmp132) readonly ; <i8*> [#uses=1]
6941 %tmp134 = bitcast i8* %aa.index133 to %"byte[]"* ; <%"byte[]"*> [#uses=1]
6942 %tmp135 = load %"byte[]"* %tmp134 ; <%"byte[]"> [#uses=2]
6943 %digits_arg26.i = extractvalue %"byte[]" %tmp135, 0 ; <i32> [#uses=3]
6944 %digits_arg27.i = extractvalue %"byte[]" %tmp135, 1 ; <i8*> [#uses=5]
6945 %tmp4.i.i229 = icmp eq i32 %digits_arg26.i, 0 ; <i1> [#uses=1]
6946 br i1 %tmp4.i.i229, label %_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit.i, label %forcond.i.i233
6947
6948forcond.i.i233: ; preds = %forinc.i.i, %if124
6949 %sign.1.i = phi i1 [ false, %if124 ], [ %sign.0.i, %forinc.i.i ] ; <i1> [#uses=4]
6950 %len.0.i.i230 = phi i32 [ %tmp33.i.i, %forinc.i.i ], [ %digits_arg26.i, %if124 ] ; <i32> [#uses=3]
6951 %p.0.i.i231 = phi i8* [ %tmp30.i.i, %forinc.i.i ], [ %digits_arg27.i, %if124 ] ; <i8*> [#uses=6]
6952 %c.0.in.i.i = phi i8* [ %tmp30.i.i, %forinc.i.i ], [ %digits_arg27.i, %if124 ] ; <i8*> [#uses=1]
6953 %c.0.i.i = load i8* %c.0.in.i.i ; <i8> [#uses=2]
6954 %tmp8.i.i232 = icmp eq i32 %len.0.i.i230, 0 ; <i1> [#uses=1]
6955 br i1 %tmp8.i.i232, label %endfor.i.i235, label %forbody.i.i234
6956
6957forbody.i.i234: ; preds = %forcond.i.i233
6958 switch i8 %c.0.i.i, label %endfor.i.i235 [
6959 i8 32, label %forinc.i.i
6960 i8 9, label %forinc.i.i
6961 i8 45, label %if20.i.i
6962 i8 43, label %if26.i.i
6963 ]
6964
6965if20.i.i: ; preds = %forbody.i.i234
6966 br label %forinc.i.i
6967
6968if26.i.i: ; preds = %forbody.i.i234
6969 br label %forinc.i.i
6970
6971forinc.i.i: ; preds = %if26.i.i, %if20.i.i, %forbody.i.i234, %forbody.i.i234
6972 %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]
6973 %tmp30.i.i = getelementptr i8* %p.0.i.i231, i32 1 ; <i8*> [#uses=2]
6974 %tmp33.i.i = add i32 %len.0.i.i230, -1 ; <i32> [#uses=1]
6975 br label %forcond.i.i233
6976
6977endfor.i.i235: ; preds = %forbody.i.i234, %forcond.i.i233
6978 %tmp37.i.i = icmp eq i8 %c.0.i.i, 48 ; <i1> [#uses=1]
6979 %tmp39.i.i = icmp sgt i32 %len.0.i.i230, 1 ; <i1> [#uses=1]
6980 %or.cond.i.i = and i1 %tmp37.i.i, %tmp39.i.i ; <i1> [#uses=1]
6981 br i1 %or.cond.i.i, label %if40.i.i, label %endif41.i.i
6982
6983if40.i.i: ; preds = %endfor.i.i235
6984 %tmp43.i.i = getelementptr i8* %p.0.i.i231, i32 1 ; <i8*> [#uses=2]
6985 %tmp44.i.i = load i8* %tmp43.i.i ; <i8> [#uses=1]
6986 %tmp45.i.i = zext i8 %tmp44.i.i to i32 ; <i32> [#uses=1]
6987 switch i32 %tmp45.i.i, label %endif41.i.i [
6988 i32 120, label %case46.i.i
6989 i32 88, label %case46.i.i
6990 i32 98, label %case51.i.i
6991 i32 66, label %case51.i.i
6992 i32 111, label %case56.i.i
6993 i32 79, label %case56.i.i
6994 ]
6995
6996case46.i.i: ; preds = %if40.i.i, %if40.i.i
6997 %tmp48.i.i = getelementptr i8* %p.0.i.i231, i32 2 ; <i8*> [#uses=1]
6998 br label %endif41.i.i
6999
7000case51.i.i: ; preds = %if40.i.i, %if40.i.i
7001 %tmp53.i.i = getelementptr i8* %p.0.i.i231, i32 2 ; <i8*> [#uses=1]
7002 br label %endif41.i.i
7003
7004case56.i.i: ; preds = %if40.i.i, %if40.i.i
7005 %tmp58.i.i = getelementptr i8* %p.0.i.i231, i32 2 ; <i8*> [#uses=1]
7006 br label %endif41.i.i
7007
7008endif41.i.i: ; preds = %case56.i.i, %case51.i.i, %case46.i.i, %if40.i.i, %endfor.i.i235
7009 %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]
7010 %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]
7011 %tmp63.i.i = icmp eq i32 %r.0.i.i, 0 ; <i1> [#uses=1]
7012 br i1 %tmp63.i.i, label %_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit.i, label %if70.i.i
7013
7014if70.i.i: ; preds = %endif41.i.i
7015 br label %_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit.i
7016
7017_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit.i: ; preds = %if70.i.i, %endif41.i.i, %if124
7018 %sign.2.i = phi i1 [ false, %if124 ], [ %sign.1.i, %if70.i.i ], [ %sign.1.i, %endif41.i.i ] ; <i1> [#uses=1]
7019 %radix.0.i = phi i32 [ 0, %if124 ], [ %r.0.i.i, %if70.i.i ], [ 10, %endif41.i.i ] ; <i32> [#uses=2]
7020 %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]
7021 %tmp84.i.i = ptrtoint i8* %p.1.i.i to i32 ; <i32> [#uses=1]
7022 %tmp85.i.i = ptrtoint i8* %digits_arg27.i to i32 ; <i32> [#uses=1]
7023 %tmp86.i.i = sub i32 %tmp84.i.i, %tmp85.i.i ; <i32> [#uses=2]
7024 %tmp6.i = sub i32 %digits_arg26.i, %tmp86.i.i ; <i32> [#uses=1]
7025 br label %foreachcond.i.i
7026
7027foreachcond.i.i: ; preds = %if55.i.i, %_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit.i
7028 %value.0.i.i = phi i64 [ 0, %_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit.i ], [ %tmp65.i.i, %if55.i.i ] ; <i64> [#uses=3]
7029 %foreachkey.0.i.i = phi i32 [ 0, %_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit.i ], [ %tmp70.i.i, %if55.i.i ] ; <i32> [#uses=3]
7030 %tmp3.i.i = icmp ult i32 %foreachkey.0.i.i, %tmp6.i ; <i1> [#uses=1]
7031 br i1 %tmp3.i.i, label %foreachbody.i.i, label %_D5tango4text7convert7Integer12__T5parseTaZ5parseFAakPkZl.exit
7032
7033foreachbody.i.i: ; preds = %foreachcond.i.i
7034 %tmp5.sum.i = add i32 %tmp86.i.i, %foreachkey.0.i.i ; <i32> [#uses=1]
7035 %tmp5.i.i236 = getelementptr i8* %digits_arg27.i, i32 %tmp5.sum.i ; <i8*> [#uses=1]
7036 %tmp6.i.i = load i8* %tmp5.i.i236 ; <i8> [#uses=6]
7037 %tmp6.off84.i.i = add i8 %tmp6.i.i, -48 ; <i8> [#uses=1]
7038 %or.cond.i28.i = icmp ugt i8 %tmp6.off84.i.i, 9 ; <i1> [#uses=1]
7039 br i1 %or.cond.i28.i, label %else.i.i, label %endif.i.i
7040
7041else.i.i: ; preds = %foreachbody.i.i
7042 %tmp6.off83.i.i = add i8 %tmp6.i.i, -97 ; <i8> [#uses=1]
7043 %or.cond81.i.i = icmp ugt i8 %tmp6.off83.i.i, 25 ; <i1> [#uses=1]
7044 br i1 %or.cond81.i.i, label %else24.i.i, label %if22.i.i
7045
7046if22.i.i: ; preds = %else.i.i
7047 %tmp27.i.i = add i8 %tmp6.i.i, -39 ; <i8> [#uses=1]
7048 br label %endif.i.i
7049
7050else24.i.i: ; preds = %else.i.i
7051 %tmp6.off.i.i = add i8 %tmp6.i.i, -65 ; <i8> [#uses=1]
7052 %or.cond82.i.i = icmp ugt i8 %tmp6.off.i.i, 25 ; <i1> [#uses=1]
7053 br i1 %or.cond82.i.i, label %_D5tango4text7convert7Integer12__T5parseTaZ5parseFAakPkZl.exit, label %if39.i.i
7054
7055if39.i.i: ; preds = %else24.i.i
7056 %tmp44.i29.i = add i8 %tmp6.i.i, -7 ; <i8> [#uses=1]
7057 br label %endif.i.i
7058
7059endif.i.i: ; preds = %if39.i.i, %if22.i.i, %foreachbody.i.i
7060 %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]
7061 %tmp48.i31.i = zext i8 %c.0.i30.i to i32 ; <i32> [#uses=1]
7062 %tmp49.i.i = add i32 %tmp48.i31.i, 208 ; <i32> [#uses=1]
7063 %tmp52.i.i = and i32 %tmp49.i.i, 255 ; <i32> [#uses=2]
7064 %tmp54.i.i = icmp ult i32 %tmp52.i.i, %radix.0.i ; <i1> [#uses=1]
7065 br i1 %tmp54.i.i, label %if55.i.i, label %_D5tango4text7convert7Integer12__T5parseTaZ5parseFAakPkZl.exit
7066
7067if55.i.i: ; preds = %endif.i.i
7068 %tmp59.i.i = zext i32 %radix.0.i to i64 ; <i64> [#uses=1]
7069 %tmp61.i.i = mul i64 %value.0.i.i, %tmp59.i.i ; <i64> [#uses=1]
7070 %tmp64.i.i = zext i32 %tmp52.i.i to i64 ; <i64> [#uses=1]
7071 %tmp65.i.i = add i64 %tmp61.i.i, %tmp64.i.i ; <i64> [#uses=1]
7072 %tmp70.i.i = add i32 %foreachkey.0.i.i, 1 ; <i32> [#uses=1]
7073 br label %foreachcond.i.i
7074
7075_D5tango4text7convert7Integer12__T5parseTaZ5parseFAakPkZl.exit: ; preds = %endif.i.i, %else24.i.i, %foreachcond.i.i
7076 %negval.i = sub i64 0, %value.0.i.i ; <i64> [#uses=1]
7077 %condtmp.0.i = select i1 %sign.2.i, i64 %negval.i, i64 %value.0.i.i ; <i64> [#uses=1]
7078 store i64 %condtmp.0.i, i64* %tmp127
7079 br label %endif125
7080
7081endif125: ; preds = %_D5tango4text7convert7Integer12__T5parseTaZ5parseFAakPkZl.exit, %endif93
7082 store %"byte[]" { i32 10, i8* getelementptr ([11 x i8]* @.str191, i32 0, i32 0) }, %"byte[]"* %aatmpkeystorage140, align 8
7083 %tmp141 = bitcast %"byte[]"* %aatmpkeystorage140 to i8* ; <i8*> [#uses=1]
7084 %aa.in142 = call i8* @_aaIn(%32* nocapture %tmp88, %object.TypeInfo* @_D11TypeInfo_Aa6__initZ, i8* nocapture %tmp141) readonly ; <i8*> [#uses=1]
7085 %tmp146 = icmp eq i8* %aa.in142, null ; <i1> [#uses=1]
7086 br i1 %tmp146, label %endif145, label %if144
7087
7088if144: ; preds = %endif125
7089 %tmp147 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %info, i32 0, i32 5 ; <%"byte[]"*> [#uses=1]
7090 store %"byte[]" { i32 10, i8* getelementptr ([11 x i8]* @.str192, i32 0, i32 0) }, %"byte[]"* %aatmpkeystorage151, align 8
7091 %tmp152 = bitcast %"byte[]"* %aatmpkeystorage151 to i8* ; <i8*> [#uses=1]
7092 %aa.index153 = call i8* @_aaIn(%32* nocapture %tmp88, %object.TypeInfo* @_D11TypeInfo_Aa6__initZ, i8* nocapture %tmp152) readonly ; <i8*> [#uses=1]
7093 %tmp154 = bitcast i8* %aa.index153 to %"byte[]"* ; <%"byte[]"*> [#uses=1]
7094 %tmp155 = load %"byte[]"* %tmp154 ; <%"byte[]"> [#uses=1]
7095 store %"byte[]" %tmp155, %"byte[]"* %tmp147
7096 br label %endif145
7097
7098endif145: ; preds = %if144, %endif125
7099 store %"byte[]" { i32 6, i8* getelementptr ([7 x i8]* @.str193, i32 0, i32 0) }, %"byte[]"* %aatmpkeystorage159, align 8
7100 %tmp160 = bitcast %"byte[]"* %aatmpkeystorage159 to i8* ; <i8*> [#uses=1]
7101 %aa.in161 = call i8* @_aaIn(%32* nocapture %tmp88, %object.TypeInfo* @_D11TypeInfo_Aa6__initZ, i8* nocapture %tmp160) readonly ; <i8*> [#uses=1]
7102 %tmp165 = icmp eq i8* %aa.in161, null ; <i1> [#uses=1]
7103 br i1 %tmp165, label %endif164, label %if163
7104
7105if163: ; preds = %endif145
7106 %tmp168 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 0 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl**> [#uses=1]
7107 %tmp169 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp168 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
7108 %"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]
7109 %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]
7110 store %"byte[]" { i32 6, i8* getelementptr ([7 x i8]* @.str194, i32 0, i32 0) }, %"byte[]"* %aatmpkeystorage174, align 8
7111 %tmp175 = bitcast %"byte[]"* %aatmpkeystorage174 to i8* ; <i8*> [#uses=1]
7112 %aa.index176 = call i8* @_aaIn(%32* nocapture %tmp88, %object.TypeInfo* @_D11TypeInfo_Aa6__initZ, i8* nocapture %tmp175) readonly ; <i8*> [#uses=1]
7113 %tmp177 = bitcast i8* %aa.index176 to %"byte[]"* ; <%"byte[]"*> [#uses=1]
7114 %tmp178 = load %"byte[]"* %tmp177 ; <%"byte[]"> [#uses=1]
7115 call fastcc void %this.parseTimeval(%tango.time.Time.Time* noalias nocapture sret %.rettmp, %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" %tmp178)
7116 %tmp180219 = getelementptr %tango.time.Time.Time* %.rettmp, i32 0, i32 0 ; <i64*> [#uses=1]
7117 %tmp221 = load i64* %tmp180219, align 8 ; <i64> [#uses=1]
7118 %3 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %info, i32 0, i32 3, i32 0 ; <i64*> [#uses=1]
7119 store i64 %tmp221, i64* %3
7120 br label %endif164
7121
7122endif164: ; preds = %if163, %endif145
7123 store %"byte[]" { i32 6, i8* getelementptr ([7 x i8]* @.str195, i32 0, i32 0) }, %"byte[]"* %aatmpkeystorage184, align 8
7124 %tmp185 = bitcast %"byte[]"* %aatmpkeystorage184 to i8* ; <i8*> [#uses=1]
7125 %aa.in186 = call i8* @_aaIn(%32* nocapture %tmp88, %object.TypeInfo* @_D11TypeInfo_Aa6__initZ, i8* nocapture %tmp185) readonly ; <i8*> [#uses=1]
7126 %tmp190 = icmp eq i8* %aa.in186, null ; <i1> [#uses=1]
7127 br i1 %tmp190, label %endif34, label %if188
7128
7129if188: ; preds = %endif164
7130 %tmp193 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 0 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl**> [#uses=1]
7131 %tmp194 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp193 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
7132 %"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]
7133 %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]
7134 store %"byte[]" { i32 6, i8* getelementptr ([7 x i8]* @.str196, i32 0, i32 0) }, %"byte[]"* %aatmpkeystorage202, align 8
7135 %tmp203 = bitcast %"byte[]"* %aatmpkeystorage202 to i8* ; <i8*> [#uses=1]
7136 %aa.index204 = call i8* @_aaIn(%32* nocapture %tmp88, %object.TypeInfo* @_D11TypeInfo_Aa6__initZ, i8* nocapture %tmp203) readonly ; <i8*> [#uses=1]
7137 %tmp205 = bitcast i8* %aa.index204 to %"byte[]"* ; <%"byte[]"*> [#uses=1]
7138 %tmp206 = load %"byte[]"* %tmp205 ; <%"byte[]"> [#uses=1]
7139 call fastcc void %this.parseTimeval197(%tango.time.Time.Time* noalias nocapture sret %.rettmp198, %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" %tmp206)
7140 %tmp208222 = getelementptr %tango.time.Time.Time* %.rettmp198, i32 0, i32 0 ; <i64*> [#uses=1]
7141 %tmp224 = load i64* %tmp208222, align 8 ; <i64> [#uses=1]
7142 %4 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %info, i32 0, i32 4, i32 0 ; <i64*> [#uses=1]
7143 store i64 %tmp224, i64* %4
7144 br label %endif34
7145
7146endif34: ; preds = %if188, %endif164, %endif
7147 %tmp209 = bitcast %tango.net.ftp.FtpClient.FtpFileInfo* %.sret_arg to i8* ; <i8*> [#uses=1]
7148 call void @llvm.memcpy.i32(i8* %tmp209, i8* %tmp, i32 48, i32 1)
7149 ret void
7150}
7151
7152define fastcc void @_D5tango3net3ftp9FtpClient13FTPConnection11getFileInfoMFAaZS5tango3net3ftp9FtpClient11FtpFileInfo(%tango.net.ftp.FtpClient.FtpFileInfo* noalias nocapture sret %.sret_arg, %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" %path_arg) {
7153entry:
7154 %tmp2 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 0 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl**> [#uses=2]
7155 %tmp3 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp2 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
7156 %"this.ls@vtbl" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp3, i32 0, i32 46 ; <%"FtpFileInfo[]" (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")**> [#uses=1]
7157 %this.ls = load %"FtpFileInfo[]" (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")** %"this.ls@vtbl", align 4 ; <%"FtpFileInfo[]" (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")*> [#uses=1]
7158 %tmp6 = tail call fastcc %"FtpFileInfo[]" %this.ls(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" %path_arg) ; <%"FtpFileInfo[]"> [#uses=2]
7159 %tmp699 = extractvalue %"FtpFileInfo[]" %tmp6, 0 ; <i32> [#uses=1]
7160 %tmp8 = icmp eq i32 %tmp699, 1 ; <i1> [#uses=1]
7161 br i1 %tmp8, label %if, label %else
7162
7163if: ; preds = %entry
7164 %tmp6100 = extractvalue %"FtpFileInfo[]" %tmp6, 1 ; <%tango.net.ftp.FtpClient.FtpFileInfo*> [#uses=1]
7165 %tmp11 = bitcast %tango.net.ftp.FtpClient.FtpFileInfo* %.sret_arg to i8* ; <i8*> [#uses=1]
7166 %tmp12 = bitcast %tango.net.ftp.FtpClient.FtpFileInfo* %tmp6100 to i8* ; <i8*> [#uses=1]
7167 tail call void @llvm.memcpy.i32(i8* %tmp11, i8* %tmp12, i32 48, i32 1)
7168 ret void
7169
7170else: ; preds = %entry
7171 %tmp15 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp2 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
7172 %"this.sendListCommand@vtbl" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp15, i32 0, i32 49 ; <%"FtpFileInfo[]" (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")**> [#uses=1]
7173 %this.sendListCommand = load %"FtpFileInfo[]" (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")** %"this.sendListCommand@vtbl", align 4 ; <%"FtpFileInfo[]" (%tango.net.ftp.FtpClient.FTPConnection*, %"byte[]")*> [#uses=1]
7174 %tmp18 = tail call fastcc %"FtpFileInfo[]" %this.sendListCommand(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" %path_arg) ; <%"FtpFileInfo[]"> [#uses=2]
7175 %tmp1897 = extractvalue %"FtpFileInfo[]" %tmp18, 0 ; <i32> [#uses=2]
7176 %tmp1898 = extractvalue %"FtpFileInfo[]" %tmp18, 1 ; <%tango.net.ftp.FtpClient.FtpFileInfo*> [#uses=10]
7177 switch i32 %tmp1897, label %foreachcond [
7178 i32 0, label %if22
7179 i32 1, label %endif34
7180 ]
7181
7182if22: ; preds = %else
7183 %.newclass_gc_alloc = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango3net3ftp9FtpClient12FtpException7__ClassZ) ; <i8*> [#uses=6]
7184 %vtbl = bitcast i8* %.newclass_gc_alloc to %tango.net.ftp.FtpClient.FtpException.__vtbl** ; <%tango.net.ftp.FtpClient.FtpException.__vtbl**> [#uses=1]
7185 store %tango.net.ftp.FtpClient.FtpException.__vtbl* @_D5tango3net3ftp9FtpClient12FtpException6__vtblZ, %tango.net.ftp.FtpClient.FtpException.__vtbl** %vtbl
7186 %monitor = getelementptr i8* %.newclass_gc_alloc, i32 4 ; <i8*> [#uses=1]
7187 %0 = bitcast i8* %monitor to i8** ; <i8**> [#uses=1]
7188 store i8* null, i8** %0
7189 %tmp24 = getelementptr i8* %.newclass_gc_alloc, i32 8 ; <i8*> [#uses=1]
7190 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)
7191 %tmp2.i = getelementptr i8* %.newclass_gc_alloc, i32 36 ; <i8*> [#uses=1]
7192 tail call void @llvm.memcpy.i32(i8* %tmp2.i, i8* getelementptr ([4 x i8]* @.str198, i32 0, i32 0), i32 3, i32 1)
7193 %tmp5.i = bitcast i8* %.newclass_gc_alloc to %object.Exception* ; <%object.Exception*> [#uses=1]
7194 %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]
7195 %tmp29 = bitcast i8* %.newclass_gc_alloc to %object.Object* ; <%object.Object*> [#uses=1]
7196 tail call void @_d_throw_exception(%object.Object* %tmp29)
7197 unreachable
7198
7199foreachcond: ; preds = %foreachnext, %else
7200 %foreachkey.0 = phi i32 [ %tmp54, %foreachnext ], [ 0, %else ] ; <i32> [#uses=11]
7201 %tmp40 = icmp ult i32 %foreachkey.0, %tmp1897 ; <i1> [#uses=1]
7202 br i1 %tmp40, label %foreachbody, label %endif34
7203
7204foreachbody: ; preds = %foreachcond
7205 %tmp42.1 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %tmp1898, i32 %foreachkey.0, i32 1 ; <i32*> [#uses=1]
7206 %tmp74 = load i32* %tmp42.1, align 8 ; <i32> [#uses=2]
7207 %tmp47 = icmp eq i32 %tmp74, 2 ; <i1> [#uses=1]
7208 br i1 %tmp47, label %if48, label %foreachnext
7209
7210if48: ; preds = %foreachbody
7211 %tmp4291.0 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %tmp1898, i32 %foreachkey.0, i32 0, i32 0 ; <i32*> [#uses=1]
7212 %tmp92 = load i32* %tmp4291.0 ; <i32> [#uses=1]
7213 %tmp4291.1 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %tmp1898, i32 %foreachkey.0, i32 0, i32 1 ; <i8**> [#uses=1]
7214 %tmp93 = load i8** %tmp4291.1, align 4 ; <i8*> [#uses=1]
7215 %tmp42.2 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %tmp1898, i32 %foreachkey.0, i32 2 ; <i64*> [#uses=1]
7216 %tmp75 = load i64* %tmp42.2, align 4 ; <i64> [#uses=1]
7217 %tmp42.3.0 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %tmp1898, i32 %foreachkey.0, i32 3, i32 0 ; <i64*> [#uses=1]
7218 %tmp89 = load i64* %tmp42.3.0, align 4 ; <i64> [#uses=1]
7219 %tmp42.4.0 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %tmp1898, i32 %foreachkey.0, i32 4, i32 0 ; <i64*> [#uses=1]
7220 %tmp87 = load i64* %tmp42.4.0, align 4 ; <i64> [#uses=1]
7221 %tmp42.5.0 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %tmp1898, i32 %foreachkey.0, i32 5, i32 0 ; <i32*> [#uses=1]
7222 %tmp83 = load i32* %tmp42.5.0, align 4 ; <i32> [#uses=1]
7223 %tmp42.5.1 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %tmp1898, i32 %foreachkey.0, i32 5, i32 1 ; <i8**> [#uses=1]
7224 %tmp84 = load i8** %tmp42.5.1, align 4 ; <i8*> [#uses=1]
7225 %tmp42.6 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %tmp1898, i32 %foreachkey.0, i32 6 ; <i8**> [#uses=1]
7226 %tmp82 = load i8** %tmp42.6, align 4 ; <i8*> [#uses=1]
7227 %1 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %.sret_arg, i32 0, i32 0, i32 0 ; <i32*> [#uses=1]
7228 store i32 %tmp92, i32* %1
7229 %.sret_arg94.1 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %.sret_arg, i32 0, i32 0, i32 1 ; <i8**> [#uses=1]
7230 store i8* %tmp93, i8** %.sret_arg94.1, align 4
7231 %.sret_arg.1 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %.sret_arg, i32 0, i32 1 ; <i32*> [#uses=1]
7232 store i32 %tmp74, i32* %.sret_arg.1, align 8
7233 %.sret_arg.2 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %.sret_arg, i32 0, i32 2 ; <i64*> [#uses=1]
7234 store i64 %tmp75, i64* %.sret_arg.2, align 4
7235 %.sret_arg.3.0 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %.sret_arg, i32 0, i32 3, i32 0 ; <i64*> [#uses=1]
7236 store i64 %tmp89, i64* %.sret_arg.3.0, align 4
7237 %.sret_arg.4.0 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %.sret_arg, i32 0, i32 4, i32 0 ; <i64*> [#uses=1]
7238 store i64 %tmp87, i64* %.sret_arg.4.0, align 4
7239 %.sret_arg.5.0 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %.sret_arg, i32 0, i32 5, i32 0 ; <i32*> [#uses=1]
7240 store i32 %tmp83, i32* %.sret_arg.5.0, align 4
7241 %.sret_arg.5.1 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %.sret_arg, i32 0, i32 5, i32 1 ; <i8**> [#uses=1]
7242 store i8* %tmp84, i8** %.sret_arg.5.1, align 4
7243 %.sret_arg.6 = getelementptr %tango.net.ftp.FtpClient.FtpFileInfo* %.sret_arg, i32 0, i32 6 ; <i8**> [#uses=1]
7244 store i8* %tmp82, i8** %.sret_arg.6, align 4
7245 ret void
7246
7247foreachnext: ; preds = %foreachbody
7248 %tmp54 = add i32 %foreachkey.0, 1 ; <i32> [#uses=1]
7249 br label %foreachcond
7250
7251endif34: ; preds = %foreachcond, %else
7252 %tmp58 = bitcast %tango.net.ftp.FtpClient.FtpFileInfo* %.sret_arg to i8* ; <i8*> [#uses=1]
7253 %tmp59 = bitcast %tango.net.ftp.FtpClient.FtpFileInfo* %tmp1898 to i8* ; <i8*> [#uses=1]
7254 tail call void @llvm.memcpy.i32(i8* %tmp58, i8* %tmp59, i32 48, i32 1)
7255 ret void
7256}
7257
7258define 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) {
7259entry:
7260 %style_arg = alloca i32, align 8 ; <i32*> [#uses=2]
7261 %tmpcast = bitcast i32* %style_arg to %tango.io.device.File.File.Style* ; <%tango.io.device.File.File.Style*> [#uses=1]
7262 %.newclass_gc_alloc = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango2io6device4File4File7__ClassZ) ; <i8*> [#uses=10]
7263 %.newclass_gc = bitcast i8* %.newclass_gc_alloc to %tango.io.device.File.File* ; <%tango.io.device.File.File*> [#uses=2]
7264 %vtbl = bitcast i8* %.newclass_gc_alloc to %tango.io.device.File.File.__vtbl** ; <%tango.io.device.File.File.__vtbl**> [#uses=3]
7265 store %tango.io.device.File.File.__vtbl* @_D5tango2io6device4File4File6__vtblZ, %tango.io.device.File.File.__vtbl** %vtbl
7266 %monitor = getelementptr i8* %.newclass_gc_alloc, i32 4 ; <i8*> [#uses=1]
7267 %0 = bitcast i8* %monitor to i8** ; <i8**> [#uses=1]
7268 store i8* null, i8** %0
7269 %tmp = getelementptr i8* %.newclass_gc_alloc, i32 8 ; <i8*> [#uses=2]
7270 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)
7271 %tmp50 = load i32* bitcast (%tango.io.device.File.File.Style* @_D5tango2io6device4File4File12ReadExistingS5tango2io6device4File4File5Style to i32*), align 1 ; <i32> [#uses=1]
7272 store i32 %tmp50, i32* %style_arg, align 8
7273 %tmp2.i = load %tango.io.device.File.File.__vtbl** %vtbl ; <%tango.io.device.File.File.__vtbl*> [#uses=1]
7274 %"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]
7275 %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]
7276 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)
7277 %tmp13 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 7 ; <i32*> [#uses=2]
7278 %tmp14 = load i32* %tmp13 ; <i32> [#uses=2]
7279 %tmp15 = icmp eq i32 %tmp14, 0 ; <i1> [#uses=1]
7280 br i1 %tmp15, label %endif, label %if
7281
7282if: ; preds = %entry
7283 %tmp18 = load %tango.io.device.File.File.__vtbl** %vtbl ; <%tango.io.device.File.File.__vtbl*> [#uses=1]
7284 %"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]
7285 %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]
7286 %tmp23 = zext i32 %tmp14 to i64 ; <i64> [#uses=1]
7287 %tmp24 = invoke fastcc i64 %file.seek(%tango.io.device.File.File* %.newclass_gc, i64 %tmp23, i32 0)
7288 to label %postinvoke unwind label %landingpad ; <i64> [#uses=0]
7289
7290postinvoke: ; preds = %if
7291 store i32 0, i32* %tmp13
7292 br label %endif
7293
7294endif: ; preds = %postinvoke, %entry
7295 %tmp28 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 0 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl**> [#uses=1]
7296 %tmp29 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp28 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
7297 %"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]
7298 %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]
7299 %tmp34 = bitcast i8* %tmp to %tango.io.model.IConduit.InputStream* ; <%tango.io.model.IConduit.InputStream*> [#uses=1]
7300 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)
7301 to label %finally unwind label %landingpad
7302
7303finally: ; preds = %endif
7304 %tmp39 = bitcast i8* %.newclass_gc_alloc to %tango.io.device.Device.Device* ; <%tango.io.device.Device.Device*> [#uses=1]
7305 %tmp40 = bitcast i8* %.newclass_gc_alloc to %tango.io.device.Device.Device.__vtbl** ; <%tango.io.device.Device.Device.__vtbl**> [#uses=1]
7306 %tmp41 = load %tango.io.device.Device.Device.__vtbl** %tmp40 ; <%tango.io.device.Device.Device.__vtbl*> [#uses=1]
7307 %"(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]
7308 %"(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]
7309 tail call fastcc void %"(cast(Device)file).detach44"(%tango.io.device.Device.Device* %tmp39)
7310 %.tmp46 = bitcast i8* %.newclass_gc_alloc to %object.Object* ; <%object.Object*> [#uses=1]
7311 tail call void @_d_delclass(%object.Object* %.tmp46)
7312 ret void
7313
7314landingpad: ; preds = %endif, %if
7315 %1 = tail call i8* @llvm.eh.exception() ; <i8*> [#uses=2]
7316 %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]
7317 %tmp7 = bitcast i8* %.newclass_gc_alloc to %tango.io.device.Device.Device* ; <%tango.io.device.Device.Device*> [#uses=1]
7318 %tmp8 = bitcast i8* %.newclass_gc_alloc to %tango.io.device.Device.Device.__vtbl** ; <%tango.io.device.Device.Device.__vtbl**> [#uses=1]
7319 %tmp9 = load %tango.io.device.Device.Device.__vtbl** %tmp8 ; <%tango.io.device.Device.Device.__vtbl*> [#uses=1]
7320 %"(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]
7321 %"(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]
7322 tail call fastcc void %"(cast(Device)file).detach"(%tango.io.device.Device.Device* %tmp7)
7323 %.tmp = bitcast i8* %.newclass_gc_alloc to %object.Object* ; <%object.Object*> [#uses=1]
7324 tail call void @_d_delclass(%object.Object* %.tmp)
7325 tail call void @_d_eh_resume_unwind(i8* %1)
7326 unreachable
7327}
7328
7329define 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) {
7330entry:
7331 %__arrayArg150 = alloca [1 x %"byte[]"], align 8 ; <[1 x %"byte[]"]*> [#uses=1]
7332 %tmp1 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 0 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl**> [#uses=4]
7333 %tmp2 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp1 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
7334 %"this.type@vtbl" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp2, i32 0, i32 29 ; <void (%tango.net.ftp.FtpClient.FTPConnection*, i32)**> [#uses=1]
7335 %this.type = load void (%tango.net.ftp.FtpClient.FTPConnection*, i32)** %"this.type@vtbl", align 4 ; <void (%tango.net.ftp.FtpClient.FTPConnection*, i32)*> [#uses=1]
7336 call fastcc void %this.type(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 %format_arg)
7337 %tmp7 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp1 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
7338 %"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]
7339 %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]
7340 %tmp9 = getelementptr [1 x %"byte[]"]* %__arrayArg150, i32 0, i32 0 ; <%"byte[]"*> [#uses=2]
7341 store %"byte[]" %path_arg, %"byte[]"* %tmp9, align 8
7342 %tmp12 = insertvalue %"char[][]" { i32 1, %"byte[]"* undef }, %"byte[]"* %tmp9, 1 ; <%"char[][]"> [#uses=1]
7343 %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]
7344 %tmp15 = icmp eq %tango.io.model.IConduit.InputStream* %stream_arg, null ; <i1> [#uses=1]
7345 br i1 %tmp15, label %endif, label %if
7346
7347if: ; preds = %entry
7348 %tmp18 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp1 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
7349 %"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]
7350 %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]
7351 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)
7352 br label %endif
7353
7354endif: ; preds = %if, %entry
7355 %tmp25 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp1 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
7356 %"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]
7357 %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]
7358 call fastcc void %this.finishDataCommand(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %tango.net.SocketConduit.SocketConduit* %tmp13)
7359 ret void
7360}
7361
7362define 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) {
7363entry:
7364 %__arrayArg151 = alloca [1 x %"byte[]"], align 8 ; <[1 x %"byte[]"]*> [#uses=1]
7365 %tmp1 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 0 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl**> [#uses=4]
7366 %tmp2 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp1 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
7367 %"this.type@vtbl" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp2, i32 0, i32 29 ; <void (%tango.net.ftp.FtpClient.FTPConnection*, i32)**> [#uses=1]
7368 %this.type = load void (%tango.net.ftp.FtpClient.FTPConnection*, i32)** %"this.type@vtbl", align 4 ; <void (%tango.net.ftp.FtpClient.FTPConnection*, i32)*> [#uses=1]
7369 call fastcc void %this.type(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 %format_arg)
7370 %tmp7 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp1 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
7371 %"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]
7372 %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]
7373 %tmp9 = getelementptr [1 x %"byte[]"]* %__arrayArg151, i32 0, i32 0 ; <%"byte[]"*> [#uses=2]
7374 store %"byte[]" %path_arg, %"byte[]"* %tmp9, align 8
7375 %tmp12 = insertvalue %"char[][]" { i32 1, %"byte[]"* undef }, %"byte[]"* %tmp9, 1 ; <%"char[][]"> [#uses=1]
7376 %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]
7377 %tmp16 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp1 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
7378 %"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]
7379 %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]
7380 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)
7381 %tmp23 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp1 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
7382 %"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]
7383 %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]
7384 call fastcc void %this.finishDataCommand(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %tango.net.SocketConduit.SocketConduit* %tmp13)
7385 ret void
7386}
7387
7388define fastcc void @_D5tango3net3ftp9FtpClient13FTPConnection11restartSeekMFkZv(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 %offset_arg) {
7389entry:
7390 %tmp = alloca [16 x i8], align 1 ; <[16 x i8]*> [#uses=3]
7391 %__arrayArg152 = alloca [1 x %"byte[]"], align 8 ; <[1 x %"byte[]"]*> [#uses=1]
7392 %.rettmp = alloca %tango.net.ftp.FtpClient.FtpResponse, align 8 ; <%tango.net.ftp.FtpClient.FtpResponse*> [#uses=1]
7393 %tmp1 = getelementptr [16 x i8]* %tmp, i32 0, i32 0 ; <i8*> [#uses=1]
7394 call void @llvm.memset.i32(i8* %tmp1, i8 -1, i32 16, i32 1)
7395 %tmp3 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 0 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl**> [#uses=2]
7396 %tmp4 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp3 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
7397 %"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]
7398 %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]
7399 %tmp6 = getelementptr [1 x %"byte[]"]* %__arrayArg152, i32 0, i32 0 ; <%"byte[]"*> [#uses=2]
7400 %tmp49.i = load %"byte[]"* getelementptr ([8 x %nest.parseListLine]* @.constarray262, i32 0, i32 0, i32 2) ; <%"byte[]"> [#uses=1]
7401 %tmp49178.i = extractvalue %"byte[]" %tmp49.i, 1 ; <i8*> [#uses=1]
7402 %tmp52.i = load i32* getelementptr ([8 x %nest.parseListLine]* @.constarray262, i32 0, i32 0, i32 0), align 8 ; <i32> [#uses=2]
7403 %tmp56.i = getelementptr [16 x i8]* %tmp, i32 0, i32 16 ; <i8*> [#uses=1]
7404 br label %dowhile.i
7405
7406dowhile.i: ; preds = %andand.i, %entry
7407 %p.0.i = phi i8* [ %tmp65.i, %andand.i ], [ %tmp56.i, %entry ] ; <i8*> [#uses=1]
7408 %v.0.i = phi i32 [ %tmp75.i, %andand.i ], [ %offset_arg, %entry ] ; <i32> [#uses=2]
7409 %len.0.i = phi i32 [ %tmp78.i, %andand.i ], [ 16, %entry ] ; <i32> [#uses=3]
7410 %tmp65.i = getelementptr i8* %p.0.i, i32 -1 ; <i8*> [#uses=2]
7411 %tmp68.i = urem i32 %v.0.i, %tmp52.i ; <i32> [#uses=1]
7412 %tmp71.i = getelementptr i8* %tmp49178.i, i32 %tmp68.i ; <i8*> [#uses=1]
7413 %tmp72.i = load i8* %tmp71.i ; <i8> [#uses=1]
7414 store i8 %tmp72.i, i8* %tmp65.i
7415 %tmp75.i = udiv i32 %v.0.i, %tmp52.i ; <i32> [#uses=2]
7416 %tmp76.i = icmp eq i32 %tmp75.i, 0 ; <i1> [#uses=1]
7417 br i1 %tmp76.i, label %condtrue.i, label %andand.i
7418
7419andand.i: ; preds = %dowhile.i
7420 %tmp78.i = add i32 %len.0.i, -1 ; <i32> [#uses=2]
7421 %tmp79.i = icmp eq i32 %len.0.i, 1 ; <i1> [#uses=1]
7422 br i1 %tmp79.i, label %condtrue.i, label %dowhile.i
7423
7424condtrue.i: ; preds = %andand.i, %dowhile.i
7425 %len.1.i = phi i32 [ %tmp78.i, %andand.i ], [ %len.0.i, %dowhile.i ] ; <i32> [#uses=2]
7426 %tmp112.i = load %"byte[]"* getelementptr ([8 x %nest.parseListLine]* @.constarray262, i32 0, i32 0, i32 1) ; <%"byte[]"> [#uses=2]
7427 %condtmp.0175.i = extractvalue %"byte[]" %tmp112.i, 0 ; <i32> [#uses=3]
7428 %tmp117.i = icmp ugt i32 %len.1.i, %condtmp.0175.i ; <i1> [#uses=1]
7429 br i1 %tmp117.i, label %if118.i, label %_D5tango4text7convert7Integer16__T9formatterTaZ9formatterFAalaaiZAa.exit
7430
7431if118.i: ; preds = %condtrue.i
7432 %condtmp.0176.i = extractvalue %"byte[]" %tmp112.i, 1 ; <i8*> [#uses=1]
7433 %tmp123.i = add i32 %condtmp.0175.i, 1 ; <i32> [#uses=1]
7434 %tmp124.i = sub i32 %len.1.i, %tmp123.i ; <i32> [#uses=2]
7435 %tmp156.i = getelementptr [16 x i8]* %tmp, i32 0, i32 %tmp124.i ; <i8*> [#uses=2]
7436 call void @llvm.memcpy.i32(i8* %tmp156.i, i8* %condtmp.0176.i, i32 %condtmp.0175.i, i32 1)
7437 %tmp170.i = sub i32 16, %tmp124.i ; <i32> [#uses=1]
7438 %tmp171.i = insertvalue %"byte[]" undef, i32 %tmp170.i, 0 ; <%"byte[]"> [#uses=1]
7439 %tmp172.i = insertvalue %"byte[]" %tmp171.i, i8* %tmp156.i, 1 ; <%"byte[]"> [#uses=1]
7440 br label %_D5tango4text7convert7Integer16__T9formatterTaZ9formatterFAalaaiZAa.exit
7441
7442_D5tango4text7convert7Integer16__T9formatterTaZ9formatterFAalaaiZAa.exit: ; preds = %if118.i, %condtrue.i
7443 %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]
7444 store %"byte[]" %tmp6.i21, %"byte[]"* %tmp6, align 8
7445 %tmp13 = insertvalue %"char[][]" { i32 1, %"byte[]"* undef }, %"byte[]"* %tmp6, 1 ; <%"char[][]"> [#uses=1]
7446 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)
7447 %tmp16 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp3 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
7448 %"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]
7449 %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]
7450 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) })
7451 %tmp19 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 7 ; <i32*> [#uses=1]
7452 store i32 %offset_arg, i32* %tmp19
7453 ret void
7454}
7455
7456define fastcc void @_D5tango3net3ftp9FtpClient13FTPConnection8allocateMFlZv(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i64 %bytes_arg) {
7457entry:
7458 %tmp = alloca [16 x i8], align 1 ; <[16 x i8]*> [#uses=3]
7459 %__arrayArg153 = alloca [1 x %"byte[]"], align 8 ; <[1 x %"byte[]"]*> [#uses=1]
7460 %response = alloca %tango.net.ftp.FtpClient.FtpResponse, align 4 ; <%tango.net.ftp.FtpClient.FtpResponse*> [#uses=2]
7461 %.rettmp = alloca %tango.net.ftp.FtpClient.FtpResponse, align 8 ; <%tango.net.ftp.FtpClient.FtpResponse*> [#uses=2]
7462 %tmp1 = getelementptr [16 x i8]* %tmp, i32 0, i32 0 ; <i8*> [#uses=1]
7463 call void @llvm.memset.i32(i8* %tmp1, i8 -1, i32 16, i32 1)
7464 %tmp3 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 0 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl**> [#uses=3]
7465 %tmp4 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp3 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
7466 %"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]
7467 %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]
7468 %tmp6 = getelementptr [1 x %"byte[]"]* %__arrayArg153, i32 0, i32 0 ; <%"byte[]"*> [#uses=2]
7469 %tmp10.i = icmp slt i64 %bytes_arg, 0 ; <i1> [#uses=1]
7470 %negval.i = sub i64 0, %bytes_arg ; <i64> [#uses=1]
7471 %bytes_arg.lobit = lshr i64 %bytes_arg, 63 ; <i64> [#uses=1]
7472 %tmp36 = trunc i64 %bytes_arg.lobit to i32 ; <i32> [#uses=3]
7473 %i.1.i = select i1 %tmp10.i, i64 %negval.i, i64 %bytes_arg ; <i64> [#uses=3]
7474 %tmp48.i = getelementptr [8 x %nest.parseListLine]* @.constarray262, i32 0, i32 %tmp36, i32 2 ; <%"byte[]"*> [#uses=1]
7475 %tmp49.i = load %"byte[]"* %tmp48.i ; <%"byte[]"> [#uses=1]
7476 %tmp49178.i = extractvalue %"byte[]" %tmp49.i, 1 ; <i8*> [#uses=2]
7477 %tmp51.i = getelementptr [8 x %nest.parseListLine]* @.constarray262, i32 0, i32 %tmp36, i32 0 ; <i32*> [#uses=1]
7478 %tmp52.i = load i32* %tmp51.i ; <i32> [#uses=3]
7479 %tmp56.i = getelementptr [16 x i8]* %tmp, i32 0, i32 16 ; <i8*> [#uses=2]
7480 %tmp58.i = icmp ugt i64 %i.1.i, 4294967295 ; <i1> [#uses=1]
7481 br i1 %tmp58.i, label %dowhile82.i, label %if59.i
7482
7483if59.i: ; preds = %entry
7484 %tmp63.i = trunc i64 %i.1.i to i32 ; <i32> [#uses=1]
7485 br label %dowhile.i
7486
7487dowhile.i: ; preds = %andand.i, %if59.i
7488 %p.0.i = phi i8* [ %tmp56.i, %if59.i ], [ %tmp65.i, %andand.i ] ; <i8*> [#uses=1]
7489 %v.0.i = phi i32 [ %tmp63.i, %if59.i ], [ %tmp75.i, %andand.i ] ; <i32> [#uses=2]
7490 %len.0.i = phi i32 [ 16, %if59.i ], [ %tmp78.i, %andand.i ] ; <i32> [#uses=3]
7491 %tmp65.i = getelementptr i8* %p.0.i, i32 -1 ; <i8*> [#uses=2]
7492 %tmp68.i = urem i32 %v.0.i, %tmp52.i ; <i32> [#uses=1]
7493 %tmp71.i = getelementptr i8* %tmp49178.i, i32 %tmp68.i ; <i8*> [#uses=1]
7494 %tmp72.i = load i8* %tmp71.i ; <i8> [#uses=1]
7495 store i8 %tmp72.i, i8* %tmp65.i
7496 %tmp75.i = udiv i32 %v.0.i, %tmp52.i ; <i32> [#uses=2]
7497 %tmp76.i = icmp eq i32 %tmp75.i, 0 ; <i1> [#uses=1]
7498 br i1 %tmp76.i, label %condtrue.i, label %andand.i
7499
7500andand.i: ; preds = %dowhile.i
7501 %tmp78.i = add i32 %len.0.i, -1 ; <i32> [#uses=2]
7502 %tmp79.i = icmp eq i32 %len.0.i, 1 ; <i1> [#uses=1]
7503 br i1 %tmp79.i, label %condtrue.i, label %dowhile.i
7504
7505dowhile82.i: ; preds = %andand100.i, %entry
7506 %p.2.i = phi i8* [ %tmp86.i, %andand100.i ], [ %tmp56.i, %entry ] ; <i8*> [#uses=1]
7507 %v80.0.i = phi i64 [ %tmp99.i, %andand100.i ], [ %i.1.i, %entry ] ; <i64> [#uses=2]
7508 %len.2.i = phi i32 [ %tmp104.i, %andand100.i ], [ 16, %entry ] ; <i32> [#uses=3]
7509 %tmp86.i = getelementptr i8* %p.2.i, i32 -1 ; <i8*> [#uses=2]
7510 %tmp88.i = zext i32 %tmp52.i to i64 ; <i64> [#uses=2]
7511 %tmp90.i = urem i64 %v80.0.i, %tmp88.i ; <i64> [#uses=1]
7512 %tmp91.i = trunc i64 %tmp90.i to i32 ; <i32> [#uses=1]
7513 %tmp94.i = getelementptr i8* %tmp49178.i, i32 %tmp91.i ; <i8*> [#uses=1]
7514 %tmp95.i = load i8* %tmp94.i ; <i8> [#uses=1]
7515 store i8 %tmp95.i, i8* %tmp86.i
7516 %tmp99.i = udiv i64 %v80.0.i, %tmp88.i ; <i64> [#uses=2]
7517 %tmp102.i = icmp eq i64 %tmp99.i, 0 ; <i1> [#uses=1]
7518 br i1 %tmp102.i, label %condtrue.i, label %andand100.i
7519
7520andand100.i: ; preds = %dowhile82.i
7521 %tmp104.i = add i32 %len.2.i, -1 ; <i32> [#uses=2]
7522 %tmp105.i = icmp eq i32 %len.2.i, 1 ; <i1> [#uses=1]
7523 br i1 %tmp105.i, label %condtrue.i, label %dowhile82.i
7524
7525condtrue.i: ; preds = %andand100.i, %dowhile82.i, %andand.i, %dowhile.i
7526 %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]
7527 %tmp111.i = getelementptr [8 x %nest.parseListLine]* @.constarray262, i32 0, i32 %tmp36, i32 1 ; <%"byte[]"*> [#uses=1]
7528 %tmp112.i = load %"byte[]"* %tmp111.i ; <%"byte[]"> [#uses=2]
7529 %condtmp.0175.i = extractvalue %"byte[]" %tmp112.i, 0 ; <i32> [#uses=3]
7530 %tmp117.i = icmp ugt i32 %len.1.i, %condtmp.0175.i ; <i1> [#uses=1]
7531 br i1 %tmp117.i, label %if118.i, label %_D5tango4text7convert7Integer16__T9formatterTaZ9formatterFAalaaiZAa.exit
7532
7533if118.i: ; preds = %condtrue.i
7534 %condtmp.0176.i = extractvalue %"byte[]" %tmp112.i, 1 ; <i8*> [#uses=1]
7535 %tmp123.i = add i32 %condtmp.0175.i, 1 ; <i32> [#uses=1]
7536 %tmp124.i = sub i32 %len.1.i, %tmp123.i ; <i32> [#uses=2]
7537 %tmp156.i = getelementptr [16 x i8]* %tmp, i32 0, i32 %tmp124.i ; <i8*> [#uses=2]
7538 call void @llvm.memcpy.i32(i8* %tmp156.i, i8* %condtmp.0176.i, i32 %condtmp.0175.i, i32 1)
7539 %tmp170.i = sub i32 16, %tmp124.i ; <i32> [#uses=1]
7540 %tmp171.i = insertvalue %"byte[]" undef, i32 %tmp170.i, 0 ; <%"byte[]"> [#uses=1]
7541 %tmp172.i = insertvalue %"byte[]" %tmp171.i, i8* %tmp156.i, 1 ; <%"byte[]"> [#uses=1]
7542 br label %_D5tango4text7convert7Integer16__T9formatterTaZ9formatterFAalaaiZAa.exit
7543
7544_D5tango4text7convert7Integer16__T9formatterTaZ9formatterFAalaaiZAa.exit: ; preds = %if118.i, %condtrue.i
7545 %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]
7546 store %"byte[]" %tmp6.i35, %"byte[]"* %tmp6, align 8
7547 %tmp12 = insertvalue %"char[][]" { i32 1, %"byte[]"* undef }, %"byte[]"* %tmp6, 1 ; <%"char[][]"> [#uses=1]
7548 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)
7549 %tmp15 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp3 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
7550 %"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]
7551 %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]
7552 call fastcc void %this.readResponse(%tango.net.ftp.FtpClient.FtpResponse* noalias nocapture sret %.rettmp, %tango.net.ftp.FtpClient.FTPConnection* %.this_arg)
7553 %tmp17 = getelementptr %tango.net.ftp.FtpClient.FtpResponse* %response, i32 0, i32 0, i32 0 ; <i8*> [#uses=3]
7554 %tmp18 = getelementptr %tango.net.ftp.FtpClient.FtpResponse* %.rettmp, i32 0, i32 0, i32 0 ; <i8*> [#uses=1]
7555 call void @llvm.memcpy.i32(i8* %tmp17, i8* %tmp18, i32 12, i32 4)
7556 %tmp21 = insertvalue %"byte[]" { i32 3, i8* undef }, i8* %tmp17, 1 ; <%"byte[]"> [#uses=1]
7557 %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]
7558 %tmp23 = icmp eq i32 %tmp22, 0 ; <i1> [#uses=1]
7559 br i1 %tmp23, label %andand, label %endif
7560
7561andand: ; preds = %_D5tango4text7convert7Integer16__T9formatterTaZ9formatterFAalaaiZAa.exit
7562 %tmp27 = insertvalue %"byte[]" { i32 3, i8* undef }, i8* %tmp17, 1 ; <%"byte[]"> [#uses=1]
7563 %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]
7564 %tmp29 = icmp eq i32 %tmp28, 0 ; <i1> [#uses=1]
7565 br i1 %tmp29, label %if, label %endif
7566
7567if: ; preds = %andand
7568 %tmp33 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp3 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
7569 %"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]
7570 %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]
7571 call fastcc void %this.exception(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %tango.net.ftp.FtpClient.FtpResponse* byval %response)
7572 ret void
7573
7574endif: ; preds = %andand, %_D5tango4text7convert7Integer16__T9formatterTaZ9formatterFAalaaiZAa.exit
7575 ret void
7576}
7577
7578define 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) {
7579entry:
7580 %style_arg57 = alloca i32, align 8 ; <i32*> [#uses=2]
7581 %style_arg = alloca i32, align 8 ; <i32*> [#uses=2]
7582 %tmp1 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 7 ; <i32*> [#uses=3]
7583 %tmp2 = load i32* %tmp1 ; <i32> [#uses=1]
7584 %tmp3 = icmp eq i32 %tmp2, 0 ; <i1> [#uses=1]
7585 %.newclass_gc_alloc = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango2io6device4File4File7__ClassZ) ; <i8*> [#uses=11]
7586 %.newclass_gc = bitcast i8* %.newclass_gc_alloc to %tango.io.device.File.File* ; <%tango.io.device.File.File*> [#uses=3]
7587 %vtbl = bitcast i8* %.newclass_gc_alloc to %tango.io.device.File.File.__vtbl** ; <%tango.io.device.File.File.__vtbl**> [#uses=4]
7588 store %tango.io.device.File.File.__vtbl* @_D5tango2io6device4File4File6__vtblZ, %tango.io.device.File.File.__vtbl** %vtbl
7589 %monitor = getelementptr i8* %.newclass_gc_alloc, i32 4 ; <i8*> [#uses=1]
7590 %0 = bitcast i8* %monitor to i8** ; <i8**> [#uses=1]
7591 store i8* null, i8** %0
7592 %tmp4 = getelementptr i8* %.newclass_gc_alloc, i32 8 ; <i8*> [#uses=1]
7593 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)
7594 br i1 %tmp3, label %if, label %else
7595
7596if: ; preds = %entry
7597 %tmpcast = bitcast i32* %style_arg to %tango.io.device.File.File.Style* ; <%tango.io.device.File.File.Style*> [#uses=1]
7598 %tmp65 = load i32* bitcast (%tango.io.device.File.File.Style* @_D5tango2io6device4File4File15ReadWriteCreateS5tango2io6device4File4File5Style to i32*), align 1 ; <i32> [#uses=1]
7599 store i32 %tmp65, i32* %style_arg, align 8
7600 %tmp2.i = load %tango.io.device.File.File.__vtbl** %vtbl ; <%tango.io.device.File.File.__vtbl*> [#uses=1]
7601 %"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]
7602 %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]
7603 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)
7604 br label %try
7605
7606else: ; preds = %entry
7607 %tmpcast68 = bitcast i32* %style_arg57 to %tango.io.device.File.File.Style* ; <%tango.io.device.File.File.Style*> [#uses=1]
7608 %tmp = load i32* bitcast (%tango.io.device.File.File.Style* @_D5tango2io6device4File4File17ReadWriteExistingS5tango2io6device4File4File5Style to i32*), align 1 ; <i32> [#uses=1]
7609 store i32 %tmp, i32* %style_arg57, align 8
7610 %tmp2.i61 = load %tango.io.device.File.File.__vtbl** %vtbl ; <%tango.io.device.File.File.__vtbl*> [#uses=1]
7611 %"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]
7612 %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]
7613 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)
7614 %tmp22 = load %tango.io.device.File.File.__vtbl** %vtbl ; <%tango.io.device.File.File.__vtbl*> [#uses=1]
7615 %"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]
7616 %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]
7617 %tmp26 = load i32* %tmp1 ; <i32> [#uses=1]
7618 %tmp27 = zext i32 %tmp26 to i64 ; <i64> [#uses=1]
7619 %tmp28 = tail call fastcc i64 %file.seek(%tango.io.device.File.File* %.newclass_gc, i64 %tmp27, i32 0) ; <i64> [#uses=0]
7620 store i32 0, i32* %tmp1
7621 br label %try
7622
7623try: ; preds = %else, %if
7624 %tmp38 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 0 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl**> [#uses=1]
7625 %tmp39 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp38 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
7626 %"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]
7627 %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]
7628 %tmp43 = getelementptr i8* %.newclass_gc_alloc, i32 12 ; <i8*> [#uses=1]
7629 %tmp44 = bitcast i8* %tmp43 to %tango.io.model.IConduit.OutputStream* ; <%tango.io.model.IConduit.OutputStream*> [#uses=1]
7630 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)
7631 to label %finally unwind label %landingpad
7632
7633finally: ; preds = %try
7634 %tmp48 = bitcast i8* %.newclass_gc_alloc to %tango.io.device.Device.Device* ; <%tango.io.device.Device.Device*> [#uses=1]
7635 %tmp49 = bitcast i8* %.newclass_gc_alloc to %tango.io.device.Device.Device.__vtbl** ; <%tango.io.device.Device.Device.__vtbl**> [#uses=1]
7636 %tmp50 = load %tango.io.device.Device.Device.__vtbl** %tmp49 ; <%tango.io.device.Device.Device.__vtbl*> [#uses=1]
7637 %"(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]
7638 %"(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]
7639 tail call fastcc void %"(cast(Device)file).detach53"(%tango.io.device.Device.Device* %tmp48)
7640 %.tmp55 = bitcast i8* %.newclass_gc_alloc to %object.Object* ; <%object.Object*> [#uses=1]
7641 tail call void @_d_delclass(%object.Object* %.tmp55)
7642 ret void
7643
7644landingpad: ; preds = %try
7645 %1 = tail call i8* @llvm.eh.exception() ; <i8*> [#uses=2]
7646 %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]
7647 %tmp32 = bitcast i8* %.newclass_gc_alloc to %tango.io.device.Device.Device* ; <%tango.io.device.Device.Device*> [#uses=1]
7648 %tmp33 = bitcast i8* %.newclass_gc_alloc to %tango.io.device.Device.Device.__vtbl** ; <%tango.io.device.Device.Device.__vtbl**> [#uses=1]
7649 %tmp34 = load %tango.io.device.Device.Device.__vtbl** %tmp33 ; <%tango.io.device.Device.Device.__vtbl*> [#uses=1]
7650 %"(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]
7651 %"(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]
7652 tail call fastcc void %"(cast(Device)file).detach"(%tango.io.device.Device.Device* %tmp32)
7653 %.tmp = bitcast i8* %.newclass_gc_alloc to %object.Object* ; <%object.Object*> [#uses=1]
7654 tail call void @_d_delclass(%object.Object* %.tmp)
7655 tail call void @_d_eh_resume_unwind(i8* %1)
7656 unreachable
7657}
7658
7659define fastcc void @_D5tango3net3ftp9FtpClient13FTPConnection10enableUTF8MFZv(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg) {
7660entry:
7661 %.rettmp = alloca %tango.net.ftp.FtpClient.FtpResponse, align 8 ; <%tango.net.ftp.FtpClient.FtpResponse*> [#uses=1]
7662 %tmp1 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 0 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl**> [#uses=2]
7663 %tmp2 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp1 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
7664 %"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]
7665 %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]
7666 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)
7667 %tmp6 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp1 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
7668 %"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]
7669 %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]
7670 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) })
7671 ret void
7672}
7673
7674define 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) {
7675entry:
7676 %__arrayArg155 = alloca [1 x %"byte[]"], align 8 ; <[1 x %"byte[]"]*> [#uses=1]
7677 %tmp1 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 0 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl**> [#uses=4]
7678 %tmp2 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp1 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
7679 %"this.type@vtbl" = getelementptr %tango.net.ftp.FtpClient.FTPConnection.__vtbl* %tmp2, i32 0, i32 29 ; <void (%tango.net.ftp.FtpClient.FTPConnection*, i32)**> [#uses=1]
7680 %this.type = load void (%tango.net.ftp.FtpClient.FTPConnection*, i32)** %"this.type@vtbl", align 4 ; <void (%tango.net.ftp.FtpClient.FTPConnection*, i32)*> [#uses=1]
7681 call fastcc void %this.type(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 %format_arg)
7682 %tmp7 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp1 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
7683 %"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]
7684 %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]
7685 %tmp9 = getelementptr [1 x %"byte[]"]* %__arrayArg155, i32 0, i32 0 ; <%"byte[]"*> [#uses=2]
7686 store %"byte[]" %path_arg, %"byte[]"* %tmp9, align 8
7687 %tmp12 = insertvalue %"char[][]" { i32 1, %"byte[]"* undef }, %"byte[]"* %tmp9, 1 ; <%"char[][]"> [#uses=1]
7688 %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]
7689 %tmp16 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp1 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
7690 %"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]
7691 %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]
7692 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)
7693 %tmp23 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp1 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
7694 %"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]
7695 %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]
7696 call fastcc void %this.finishDataCommand(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %tango.net.SocketConduit.SocketConduit* %tmp13)
7697 ret void
7698}
7699
7700define fastcc %tango.io.model.IConduit.InputStream* @_D5tango3net3ftp9FtpClient13FTPConnection5inputMFAaZC5tango2io5model8IConduit11InputStream(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" %path_arg) {
7701entry:
7702 %__arrayArg156 = alloca [1 x %"byte[]"], align 8 ; <[1 x %"byte[]"]*> [#uses=1]
7703 %tmp1 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 9 ; <%tango.net.SocketConduit.SocketConduit**> [#uses=1]
7704 %tmp3 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 0 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl**> [#uses=1]
7705 %tmp4 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp3 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
7706 %"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]
7707 %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]
7708 %tmp6 = getelementptr [1 x %"byte[]"]* %__arrayArg156, i32 0, i32 0 ; <%"byte[]"*> [#uses=2]
7709 store %"byte[]" %path_arg, %"byte[]"* %tmp6, align 8
7710 %tmp9 = insertvalue %"char[][]" { i32 1, %"byte[]"* undef }, %"byte[]"* %tmp6, 1 ; <%"char[][]"> [#uses=1]
7711 %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]
7712 store %tango.net.SocketConduit.SocketConduit* %tmp10, %tango.net.SocketConduit.SocketConduit** %tmp1
7713 %tmp14 = getelementptr %tango.net.SocketConduit.SocketConduit* %tmp10, i32 0, i32 2 ; <%15**> [#uses=1]
7714 %tmp15 = bitcast %15** %tmp14 to %tango.io.model.IConduit.InputStream* ; <%tango.io.model.IConduit.InputStream*> [#uses=1]
7715 %.nullcheck = icmp eq %tango.net.SocketConduit.SocketConduit* %tmp10, null ; <i1> [#uses=1]
7716 %.interface = select i1 %.nullcheck, %tango.io.model.IConduit.InputStream* null, %tango.io.model.IConduit.InputStream* %tmp15 ; <%tango.io.model.IConduit.InputStream*> [#uses=1]
7717 ret %tango.io.model.IConduit.InputStream* %.interface
7718}
7719
7720define fastcc %tango.io.model.IConduit.OutputStream* @_D5tango3net3ftp9FtpClient13FTPConnection6outputMFAaZC5tango2io5model8IConduit12OutputStream(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" %path_arg) {
7721entry:
7722 %__arrayArg157 = alloca [1 x %"byte[]"], align 8 ; <[1 x %"byte[]"]*> [#uses=1]
7723 %tmp1 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 9 ; <%tango.net.SocketConduit.SocketConduit**> [#uses=1]
7724 %tmp3 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 0 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl**> [#uses=1]
7725 %tmp4 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp3 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
7726 %"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]
7727 %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]
7728 %tmp6 = getelementptr [1 x %"byte[]"]* %__arrayArg157, i32 0, i32 0 ; <%"byte[]"*> [#uses=2]
7729 store %"byte[]" %path_arg, %"byte[]"* %tmp6, align 8
7730 %tmp9 = insertvalue %"char[][]" { i32 1, %"byte[]"* undef }, %"byte[]"* %tmp6, 1 ; <%"char[][]"> [#uses=1]
7731 %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]
7732 store %tango.net.SocketConduit.SocketConduit* %tmp10, %tango.net.SocketConduit.SocketConduit** %tmp1
7733 %tmp14 = getelementptr %tango.net.SocketConduit.SocketConduit* %tmp10, i32 0, i32 3 ; <%16**> [#uses=1]
7734 %tmp15 = bitcast %16** %tmp14 to %tango.io.model.IConduit.OutputStream* ; <%tango.io.model.IConduit.OutputStream*> [#uses=1]
7735 %.nullcheck = icmp eq %tango.net.SocketConduit.SocketConduit* %tmp10, null ; <i1> [#uses=1]
7736 %.interface = select i1 %.nullcheck, %tango.io.model.IConduit.OutputStream* null, %tango.io.model.IConduit.OutputStream* %tmp15 ; <%tango.io.model.IConduit.OutputStream*> [#uses=1]
7737 ret %tango.io.model.IConduit.OutputStream* %.interface
7738}
7739
7740define fastcc %tango.net.ftp.FtpClient.FTPConnection* @_D5tango3net3ftp9FtpClient13FTPConnection5_ctorMFZC5tango3net3ftp9FtpClient13FTPConnection(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg) nounwind readnone {
7741entry:
7742 ret %tango.net.ftp.FtpClient.FTPConnection* %.this_arg
7743}
7744
7745define 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) {
7746entry:
7747 %tmp1 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 0 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl**> [#uses=1]
7748 %tmp2 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp1 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
7749 %"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]
7750 %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]
7751 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)
7752 ret %tango.net.ftp.FtpClient.FTPConnection* %.this_arg
7753}
7754
7755define fastcc %tango.net.ftp.FtpClient.FTPConnection* @_D5tango3net3ftp9FtpClient13FTPConnection5_ctorMFS5tango3net3ftp9FtpClient10FtpAddressZC5tango3net3ftp9FtpClient13FTPConnection(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %tango.net.ftp.FtpClient.FtpAddress* byval %fad_arg) {
7756entry:
7757 %tmp1 = getelementptr %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 0, i32 0 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl**> [#uses=1]
7758 %tmp2 = load %tango.net.ftp.FtpClient.FTPConnection.__vtbl** %tmp1 ; <%tango.net.ftp.FtpClient.FTPConnection.__vtbl*> [#uses=1]
7759 %"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]
7760 %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]
7761 tail call fastcc void %this.connect(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %tango.net.ftp.FtpClient.FtpAddress* byval %fad_arg)
7762 ret %tango.net.ftp.FtpClient.FTPConnection* %.this_arg
7763}
7764
7765define weak_odr fastcc i32 @_D5tango4text5Regex11__T4TNFATwZ4TNFA8tagCountMFZk(%"tango.text.Regex.TNFA!(dchar).TNFA"* nocapture %.this_arg) nounwind readonly {
7766entry:
7767 %tmp1 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 6 ; <i32*> [#uses=1]
7768 %tmp2 = load i32* %tmp1 ; <i32> [#uses=1]
7769 %tmp3 = add i32 %tmp2, -1 ; <i32> [#uses=1]
7770 ret i32 %tmp3
7771}
7772
7773define weak_odr fastcc void @_D5tango4text5Regex11__T4TNFATwZ4TNFA5parseMFbZv(%"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i1 %unanchored_arg) {
7774entry:
7775 %tmp.i872 = alloca i32, align 4 ; <i32*> [#uses=2]
7776 %tmp.i823 = alloca i32, align 4 ; <i32*> [#uses=2]
7777 %tmp.i798 = alloca i32, align 4 ; <i32*> [#uses=2]
7778 %tmp.i773 = alloca i32, align 4 ; <i32*> [#uses=2]
7779 %tmp.i = alloca i32, align 4 ; <i32*> [#uses=2]
7780 %.frame = alloca %nest.parse, align 8 ; <%nest.parse*> [#uses=43]
7781 %occur = alloca %tango.net.Socket.timeval, align 8 ; <%tango.net.Socket.timeval*> [#uses=3]
7782 %cc = alloca %"tango.text.Regex.CharClass!(dchar).CharClass", align 8 ; <%"tango.text.Regex.CharClass!(dchar).CharClass"*> [#uses=3]
7783 %cc323 = alloca %"tango.text.Regex.CharClass!(dchar).CharClass", align 8 ; <%"tango.text.Regex.CharClass!(dchar).CharClass"*> [#uses=3]
7784 %cc351 = alloca %"tango.text.Regex.CharClass!(dchar).CharClass", align 8 ; <%"tango.text.Regex.CharClass!(dchar).CharClass"*> [#uses=3]
7785 %cc381 = alloca %"tango.text.Regex.CharClass!(dchar).CharClass", align 8 ; <%"tango.text.Regex.CharClass!(dchar).CharClass"*> [#uses=4]
7786 %cc448 = alloca %"tango.text.Regex.CharClass!(dchar).CharClass", align 8 ; <%"tango.text.Regex.CharClass!(dchar).CharClass"*> [#uses=4]
7787 %trans = alloca [4 x %"tango.text.Regex.List!(TNFATransition).List"*], align 4 ; <[4 x %"tango.text.Regex.List!(TNFATransition).List"*]*> [#uses=4]
7788 %layout = getelementptr %nest.parse* %.frame, i32 0, i32 0 ; <%"tango.text.convert.Layout.Layout!(char).Layout"**> [#uses=1]
7789 %frags = getelementptr %nest.parse* %.frame, i32 0, i32 1 ; <%"tango.text.Regex.List!(TNFAFragment).List"**> [#uses=27]
7790 %opStack = getelementptr %nest.parse* %.frame, i32 0, i32 2 ; <%"tango.text.Regex.Stack!(Operator).Stack"*> [#uses=1]
7791 %tagStack = getelementptr %nest.parse* %.frame, i32 0, i32 3 ; <%"tango.text.Regex.Stack!(Operator).Stack"*> [#uses=1]
7792 %occurStack = getelementptr %nest.parse* %.frame, i32 0, i32 4 ; <%"tango.text.Regex.Stack!(Pair!(uint)).Stack"*> [#uses=1]
7793 %finish = getelementptr %nest.parse* %.frame, i32 0, i32 5 ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"**> [#uses=1]
7794 %todo = getelementptr %nest.parse* %.frame, i32 0, i32 6 ; <%"tango.text.Regex.Stack!(TNFATransition).Stack"*> [#uses=1]
7795 %nextPrio = getelementptr %nest.parse* %.frame, i32 0, i32 7 ; <i32*> [#uses=1]
7796 %this = getelementptr %nest.parse* %.frame, i32 0, i32 8 ; <%"tango.text.Regex.TNFA!(dchar).TNFA"**> [#uses=1]
7797 store %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, %"tango.text.Regex.TNFA!(dchar).TNFA"** %this, align 8
7798 %tmp2 = call fastcc %"tango.text.convert.Layout.Layout!(char).Layout"* @_D5tango4text7convert6Layout13__T6LayoutTaZ6Layout8instanceFZC5tango4text7convert6Layout13__T6LayoutTaZ6Layout() ; <%"tango.text.convert.Layout.Layout!(char).Layout"*> [#uses=1]
7799 store %"tango.text.convert.Layout.Layout!(char).Layout"* %tmp2, %"tango.text.convert.Layout.Layout!(char).Layout"** %layout, align 8
7800 %.newclass_gc_alloc = call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List7__ClassZ) ; <i8*> [#uses=4]
7801 %.newclass_gc = bitcast i8* %.newclass_gc_alloc to %"tango.text.Regex.List!(TNFAFragment).List"* ; <%"tango.text.Regex.List!(TNFAFragment).List"*> [#uses=1]
7802 %vtbl = bitcast i8* %.newclass_gc_alloc to %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"** ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"**> [#uses=1]
7803 store %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"* @_D5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List6__vtblZ, %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"** %vtbl
7804 %monitor = getelementptr i8* %.newclass_gc_alloc, i32 4 ; <i8*> [#uses=1]
7805 %0 = bitcast i8* %monitor to i8** ; <i8**> [#uses=1]
7806 store i8* null, i8** %0
7807 %tmp3 = getelementptr i8* %.newclass_gc_alloc, i32 8 ; <i8*> [#uses=1]
7808 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)
7809 store %"tango.text.Regex.List!(TNFAFragment).List"* %.newclass_gc, %"tango.text.Regex.List!(TNFAFragment).List"** %frags
7810 %tmp7 = bitcast %"tango.text.Regex.Stack!(Operator).Stack"* %opStack to i8* ; <i8*> [#uses=1]
7811 call void @llvm.memset.i32(i8* %tmp7, i8 0, i32 12, i32 8)
7812 %tmp8 = bitcast %"tango.text.Regex.Stack!(Operator).Stack"* %tagStack to i8* ; <i8*> [#uses=1]
7813 call void @llvm.memset.i32(i8* %tmp8, i8 0, i32 12, i32 4)
7814 %tmp9 = bitcast %"tango.text.Regex.Stack!(Pair!(uint)).Stack"* %occurStack to i8* ; <i8*> [#uses=1]
7815 call void @llvm.memset.i32(i8* %tmp9, i8 0, i32 12, i32 8)
7816 %tmp1.i = getelementptr %nest.parse* %.frame, i32 0, i32 2, i32 0 ; <i32*> [#uses=4]
7817 %tmp4.i = getelementptr %nest.parse* %.frame, i32 0, i32 2, i32 1, i32 0 ; <i32*> [#uses=2]
7818 %.len.i = load i32* %tmp4.i ; <i32> [#uses=3]
7819 %tmp5.i = load i32* %tmp1.i, align 8 ; <i32> [#uses=2]
7820 %tmp6.i = icmp ult i32 %tmp5.i, %.len.i ; <i1> [#uses=1]
7821 br i1 %tmp6.i, label %entry.endif_crit_edge.i, label %if.i
7822
7823entry.endif_crit_edge.i: ; preds = %entry
7824 %tmp26.pre.i = getelementptr %nest.parse* %.frame, i32 0, i32 2, i32 1, i32 1 ; <i32**> [#uses=1]
7825 %.ptr27.i.pre = load i32** %tmp26.pre.i ; <i32*> [#uses=1]
7826 br label %_D5tango4text5Regex56__T5StackTE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorZ5Stack4pushMFE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorZv.exit
7827
7828if.i: ; preds = %entry
7829 %tmp13.i = shl i32 %.len.i, 1 ; <i32> [#uses=1]
7830 %tmp1437.i = or i32 %tmp13.i, 1 ; <i32> [#uses=2]
7831 %tmp17.i = getelementptr %nest.parse* %.frame, i32 0, i32 2, i32 1, i32 1 ; <i32**> [#uses=2]
7832 %.ptr.i = load i32** %tmp17.i ; <i32*> [#uses=1]
7833 %tmp18.i = bitcast i32* %.ptr.i to i8* ; <i8*> [#uses=1]
7834 %.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]
7835 %.gc_mem19.i = bitcast i8* %.gc_mem.i to i32* ; <i32*> [#uses=2]
7836 store i32 %tmp1437.i, i32* %tmp4.i
7837 store i32* %.gc_mem19.i, i32** %tmp17.i
7838 %tmp28.pre.i = load i32* %tmp1.i, align 8 ; <i32> [#uses=1]
7839 br label %_D5tango4text5Regex56__T5StackTE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorZ5Stack4pushMFE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorZv.exit
7840
7841_D5tango4text5Regex56__T5StackTE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorZ5Stack4pushMFE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorZv.exit: ; preds = %if.i, %entry.endif_crit_edge.i
7842 %.ptr27.i = phi i32* [ %.ptr27.i.pre, %entry.endif_crit_edge.i ], [ %.gc_mem19.i, %if.i ] ; <i32*> [#uses=1]
7843 %tmp28.i = phi i32 [ %tmp5.i, %entry.endif_crit_edge.i ], [ %tmp28.pre.i, %if.i ] ; <i32> [#uses=1]
7844 %tmp29.i = getelementptr i32* %.ptr27.i, i32 %tmp28.i ; <i32*> [#uses=1]
7845 store i32 0, i32* %tmp29.i
7846 %tmp35.i = load i32* %tmp1.i, align 8 ; <i32> [#uses=1]
7847 %tmp36.i = add i32 %tmp35.i, 1 ; <i32> [#uses=1]
7848 store i32 %tmp36.i, i32* %tmp1.i, align 8
7849 br i1 %unanchored_arg, label %if, label %whilecond
7850
7851if: ; preds = %_D5tango4text5Regex56__T5StackTE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorZ5Stack4pushMFE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorZv.exit
7852 %tmp11 = load %"tango.text.Regex.List!(TNFAFragment).List"** %frags ; <%"tango.text.Regex.List!(TNFAFragment).List"*> [#uses=2]
7853 %tmp12 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %tmp11, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"**> [#uses=1]
7854 %tmp13 = load %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"** %tmp12 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"*> [#uses=1]
7855 %"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]
7856 %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]
7857 %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]
7858 %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]
7859 %tmp18 = bitcast %nest.parse* %.frame to i8* ; <i8*> [#uses=3]
7860 %tmp19 = call fastcc i1 @_D5tango4text5Regex11__T4TNFATwZ4TNFA5parseMFbZv7performMFE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorbZb(i8* %tmp18, i32 12, i1 false) ; <i1> [#uses=0]
7861 %tmp21 = call fastcc i1 @_D5tango4text5Regex11__T4TNFATwZ4TNFA5parseMFbZv7performMFE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorbZb(i8* %tmp18, i32 1, i1 false) ; <i1> [#uses=0]
7862 %tmp23 = call fastcc i1 @_D5tango4text5Regex11__T4TNFATwZ4TNFA5parseMFbZv7performMFE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorbZb(i8* %tmp18, i32 3, i1 false) ; <i1> [#uses=0]
7863 br label %whilecond
7864
7865whilecond: ; 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
7866 %.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]
7867 %.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]
7868 %.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]
7869 %.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]
7870 %.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]
7871 %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]
7872 %tmp1.i692 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 8 ; <i32*> [#uses=23]
7873 %tmp4.i693 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 2, i32 0 ; <i32*> [#uses=14]
7874 %.len.i694 = load i32* %tmp4.i693 ; <i32> [#uses=1]
7875 %tmp5.i695 = load i32* %tmp1.i692 ; <i32> [#uses=2]
7876 %tmp6.i696 = icmp ult i32 %tmp5.i695, %.len.i694 ; <i1> [#uses=1]
7877 br i1 %tmp6.i696, label %whilebody, label %endwhile
7878
7879whilebody: ; preds = %whilecond
7880 %tmp1.i697 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 7 ; <i32*> [#uses=9]
7881 store i32 %tmp5.i695, i32* %tmp1.i697
7882 %tmp13.i700 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 2 ; <%"Act[]"*> [#uses=1]
7883 %tmp14.i = load %"Act[]"* %tmp13.i700 ; <%"Act[]"> [#uses=1]
7884 %tmp17.i701 = call fastcc i32 @_D5tango4text5Regex6decodeFAwKkZw(%"Act[]" %tmp14.i, i32* %tmp1.i692) ; <i32> [#uses=2]
7885 switch i32 %tmp17.i701, label %default529 [
7886 i32 124, label %case
7887 i32 40, label %case31
7888 i32 41, label %case61
7889 i32 63, label %case65
7890 i32 42, label %case79
7891 i32 43, label %case93
7892 i32 123, label %case107
7893 i32 91, label %case128
7894 i32 46, label %case145
7895 i32 36, label %case162
7896 i32 94, label %case178
7897 i32 62, label %case194
7898 i32 60, label %case214
7899 i32 92, label %case236
7900 ]
7901
7902case: ; preds = %whilebody
7903 %tmp29 = bitcast %nest.parse* %.frame to i8* ; <i8*> [#uses=1]
7904 %tmp30 = call fastcc i1 @_D5tango4text5Regex11__T4TNFATwZ4TNFA5parseMFbZv7performMFE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorbZb(i8* %tmp29, i32 2, i1 true) ; <i1> [#uses=0]
7905 br label %whilecond
7906
7907case31: ; preds = %whilebody
7908 br i1 %implicit_concat.0, label %if33, label %endif34
7909
7910if33: ; preds = %case31
7911 %tmp35 = bitcast %nest.parse* %.frame to i8* ; <i8*> [#uses=1]
7912 %tmp36 = call fastcc i1 @_D5tango4text5Regex11__T4TNFATwZ4TNFA5parseMFbZv7performMFE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorbZb(i8* %tmp35, i32 1, i1 false) ; <i1> [#uses=0]
7913 br label %endif34
7914
7915endif34: ; preds = %if33, %case31
7916 %tmp3.i718 = load i32* %tmp1.i692 ; <i32> [#uses=2]
7917 store i32 %tmp3.i718, i32* %tmp.i
7918 %.len.i720 = load i32* %tmp4.i693 ; <i32> [#uses=1]
7919 %tmp8.i721 = icmp ult i32 %tmp3.i718, %.len.i720 ; <i1> [#uses=1]
7920 br i1 %tmp8.i721, label %if.i724, label %else
7921
7922if.i724: ; preds = %endif34
7923 %tmp10.i722 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 2 ; <%"Act[]"*> [#uses=1]
7924 %tmp11.i723 = load %"Act[]"* %tmp10.i722 ; <%"Act[]"> [#uses=1]
7925 %tmp12.i = call fastcc i32 @_D5tango4text5Regex6decodeFAwKkZw(%"Act[]" %tmp11.i723, i32* %tmp.i) ; <i32> [#uses=1]
7926 %phitmp = icmp eq i32 %tmp12.i, 63 ; <i1> [#uses=1]
7927 br i1 %phitmp, label %if40, label %else
7928
7929if40: ; preds = %if.i724
7930 %tmp4.i732 = load i32* %tmp1.i692 ; <i32> [#uses=2]
7931 store i32 %tmp4.i732, i32* %tmp1.i697
7932 %.len.i734 = load i32* %tmp4.i693 ; <i32> [#uses=1]
7933 %tmp11.i735 = icmp ult i32 %tmp4.i732, %.len.i734 ; <i1> [#uses=1]
7934 br i1 %tmp11.i735, label %if.i739, label %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit741
7935
7936if.i739: ; preds = %if40
7937 %tmp13.i736 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 2 ; <%"Act[]"*> [#uses=1]
7938 %tmp14.i737 = load %"Act[]"* %tmp13.i736 ; <%"Act[]"> [#uses=1]
7939 %tmp17.i738 = call fastcc i32 @_D5tango4text5Regex6decodeFAwKkZw(%"Act[]" %tmp14.i737, i32* %tmp1.i692) ; <i32> [#uses=0]
7940 br label %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit741
7941
7942_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit741: ; preds = %if.i739, %if40
7943 %tmp44 = bitcast %nest.parse* %.frame to i8* ; <i8*> [#uses=1]
7944 %tmp46 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 5 ; <i1*> [#uses=1]
7945 %tmp47 = load i1* %tmp46 ; <i1> [#uses=1]
7946 %condtmp.0 = select i1 %tmp47, i32 3, i32 14 ; <i32> [#uses=1]
7947 %tmp49 = call fastcc i1 @_D5tango4text5Regex11__T4TNFATwZ4TNFA5parseMFbZv7performMFE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorbZb(i8* %tmp44, i32 %condtmp.0, i1 true) ; <i1> [#uses=0]
7948 br label %whilecond
7949
7950else: ; preds = %if.i724, %endif34
7951 %tmp50 = bitcast %nest.parse* %.frame to i8* ; <i8*> [#uses=1]
7952 %tmp56 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 5 ; <i1*> [#uses=1]
7953 %tmp57 = load i1* %tmp56 ; <i1> [#uses=1]
7954 %condtmp51.0 = select i1 %tmp57, i32 14, i32 3 ; <i32> [#uses=1]
7955 %tmp59 = call fastcc i1 @_D5tango4text5Regex11__T4TNFATwZ4TNFA5parseMFbZv7performMFE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorbZb(i8* %tmp50, i32 %condtmp51.0, i1 true) ; <i1> [#uses=0]
7956 br label %whilecond
7957
7958case61: ; preds = %whilebody
7959 %tmp62 = bitcast %nest.parse* %.frame to i8* ; <i8*> [#uses=1]
7960 %tmp63 = call fastcc i1 @_D5tango4text5Regex11__T4TNFATwZ4TNFA5parseMFbZv7performMFE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorbZb(i8* %tmp62, i32 4, i1 true) ; <i1> [#uses=0]
7961 br label %whilecond
7962
7963case65: ; preds = %whilebody
7964 %tmp3.i775 = load i32* %tmp1.i692 ; <i32> [#uses=2]
7965 store i32 %tmp3.i775, i32* %tmp.i773
7966 %.len.i777 = load i32* %tmp4.i693 ; <i32> [#uses=1]
7967 %tmp8.i778 = icmp ult i32 %tmp3.i775, %.len.i777 ; <i1> [#uses=1]
7968 br i1 %tmp8.i778, label %if.i782, label %else71
7969
7970if.i782: ; preds = %case65
7971 %tmp10.i779 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 2 ; <%"Act[]"*> [#uses=1]
7972 %tmp11.i780 = load %"Act[]"* %tmp10.i779 ; <%"Act[]"> [#uses=1]
7973 %tmp12.i781 = call fastcc i32 @_D5tango4text5Regex6decodeFAwKkZw(%"Act[]" %tmp11.i780, i32* %tmp.i773) ; <i32> [#uses=1]
7974 %phitmp1066 = icmp eq i32 %tmp12.i781, 63 ; <i1> [#uses=1]
7975 br i1 %phitmp1066, label %if69, label %else71
7976
7977if69: ; preds = %if.i782
7978 %tmp4.i788 = load i32* %tmp1.i692 ; <i32> [#uses=2]
7979 store i32 %tmp4.i788, i32* %tmp1.i697
7980 %.len.i790 = load i32* %tmp4.i693 ; <i32> [#uses=1]
7981 %tmp11.i791 = icmp ult i32 %tmp4.i788, %.len.i790 ; <i1> [#uses=1]
7982 br i1 %tmp11.i791, label %if.i795, label %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit797
7983
7984if.i795: ; preds = %if69
7985 %tmp13.i792 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 2 ; <%"Act[]"*> [#uses=1]
7986 %tmp14.i793 = load %"Act[]"* %tmp13.i792 ; <%"Act[]"> [#uses=1]
7987 %tmp17.i794 = call fastcc i32 @_D5tango4text5Regex6decodeFAwKkZw(%"Act[]" %tmp14.i793, i32* %tmp1.i692) ; <i32> [#uses=0]
7988 br label %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit797
7989
7990_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit797: ; preds = %if.i795, %if69
7991 %tmp74 = bitcast %nest.parse* %.frame to i8* ; <i8*> [#uses=1]
7992 %tmp75 = call fastcc i1 @_D5tango4text5Regex11__T4TNFATwZ4TNFA5parseMFbZv7performMFE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorbZb(i8* %tmp74, i32 8, i1 true) ; <i1> [#uses=0]
7993 br label %whilecond
7994
7995else71: ; preds = %if.i782, %case65
7996 %tmp76 = bitcast %nest.parse* %.frame to i8* ; <i8*> [#uses=1]
7997 %tmp77 = call fastcc i1 @_D5tango4text5Regex11__T4TNFATwZ4TNFA5parseMFbZv7performMFE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorbZb(i8* %tmp76, i32 5, i1 true) ; <i1> [#uses=0]
7998 br label %whilecond
7999
8000case79: ; preds = %whilebody
8001 %tmp3.i800 = load i32* %tmp1.i692 ; <i32> [#uses=2]
8002 store i32 %tmp3.i800, i32* %tmp.i798
8003 %.len.i802 = load i32* %tmp4.i693 ; <i32> [#uses=1]
8004 %tmp8.i803 = icmp ult i32 %tmp3.i800, %.len.i802 ; <i1> [#uses=1]
8005 br i1 %tmp8.i803, label %if.i807, label %else85
8006
8007if.i807: ; preds = %case79
8008 %tmp10.i804 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 2 ; <%"Act[]"*> [#uses=1]
8009 %tmp11.i805 = load %"Act[]"* %tmp10.i804 ; <%"Act[]"> [#uses=1]
8010 %tmp12.i806 = call fastcc i32 @_D5tango4text5Regex6decodeFAwKkZw(%"Act[]" %tmp11.i805, i32* %tmp.i798) ; <i32> [#uses=1]
8011 %phitmp1067 = icmp eq i32 %tmp12.i806, 63 ; <i1> [#uses=1]
8012 br i1 %phitmp1067, label %if83, label %else85
8013
8014if83: ; preds = %if.i807
8015 %tmp4.i813 = load i32* %tmp1.i692 ; <i32> [#uses=2]
8016 store i32 %tmp4.i813, i32* %tmp1.i697
8017 %.len.i815 = load i32* %tmp4.i693 ; <i32> [#uses=1]
8018 %tmp11.i816 = icmp ult i32 %tmp4.i813, %.len.i815 ; <i1> [#uses=1]
8019 br i1 %tmp11.i816, label %if.i820, label %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit822
8020
8021if.i820: ; preds = %if83
8022 %tmp13.i817 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 2 ; <%"Act[]"*> [#uses=1]
8023 %tmp14.i818 = load %"Act[]"* %tmp13.i817 ; <%"Act[]"> [#uses=1]
8024 %tmp17.i819 = call fastcc i32 @_D5tango4text5Regex6decodeFAwKkZw(%"Act[]" %tmp14.i818, i32* %tmp1.i692) ; <i32> [#uses=0]
8025 br label %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit822
8026
8027_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit822: ; preds = %if.i820, %if83
8028 %tmp88 = bitcast %nest.parse* %.frame to i8* ; <i8*> [#uses=1]
8029 %tmp89 = call fastcc i1 @_D5tango4text5Regex11__T4TNFATwZ4TNFA5parseMFbZv7performMFE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorbZb(i8* %tmp88, i32 9, i1 true) ; <i1> [#uses=0]
8030 br label %whilecond
8031
8032else85: ; preds = %if.i807, %case79
8033 %tmp90 = bitcast %nest.parse* %.frame to i8* ; <i8*> [#uses=1]
8034 %tmp91 = call fastcc i1 @_D5tango4text5Regex11__T4TNFATwZ4TNFA5parseMFbZv7performMFE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorbZb(i8* %tmp90, i32 6, i1 true) ; <i1> [#uses=0]
8035 br label %whilecond
8036
8037case93: ; preds = %whilebody
8038 %tmp3.i825 = load i32* %tmp1.i692 ; <i32> [#uses=2]
8039 store i32 %tmp3.i825, i32* %tmp.i823
8040 %.len.i827 = load i32* %tmp4.i693 ; <i32> [#uses=1]
8041 %tmp8.i828 = icmp ult i32 %tmp3.i825, %.len.i827 ; <i1> [#uses=1]
8042 br i1 %tmp8.i828, label %if.i832, label %else99
8043
8044if.i832: ; preds = %case93
8045 %tmp10.i829 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 2 ; <%"Act[]"*> [#uses=1]
8046 %tmp11.i830 = load %"Act[]"* %tmp10.i829 ; <%"Act[]"> [#uses=1]
8047 %tmp12.i831 = call fastcc i32 @_D5tango4text5Regex6decodeFAwKkZw(%"Act[]" %tmp11.i830, i32* %tmp.i823) ; <i32> [#uses=1]
8048 %phitmp1068 = icmp eq i32 %tmp12.i831, 63 ; <i1> [#uses=1]
8049 br i1 %phitmp1068, label %if97, label %else99
8050
8051if97: ; preds = %if.i832
8052 %tmp4.i838 = load i32* %tmp1.i692 ; <i32> [#uses=2]
8053 store i32 %tmp4.i838, i32* %tmp1.i697
8054 %.len.i840 = load i32* %tmp4.i693 ; <i32> [#uses=1]
8055 %tmp11.i841 = icmp ult i32 %tmp4.i838, %.len.i840 ; <i1> [#uses=1]
8056 br i1 %tmp11.i841, label %if.i845, label %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit847
8057
8058if.i845: ; preds = %if97
8059 %tmp13.i842 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 2 ; <%"Act[]"*> [#uses=1]
8060 %tmp14.i843 = load %"Act[]"* %tmp13.i842 ; <%"Act[]"> [#uses=1]
8061 %tmp17.i844 = call fastcc i32 @_D5tango4text5Regex6decodeFAwKkZw(%"Act[]" %tmp14.i843, i32* %tmp1.i692) ; <i32> [#uses=0]
8062 br label %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit847
8063
8064_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit847: ; preds = %if.i845, %if97
8065 %tmp102 = bitcast %nest.parse* %.frame to i8* ; <i8*> [#uses=1]
8066 %tmp103 = call fastcc i1 @_D5tango4text5Regex11__T4TNFATwZ4TNFA5parseMFbZv7performMFE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorbZb(i8* %tmp102, i32 10, i1 true) ; <i1> [#uses=0]
8067 br label %whilecond
8068
8069else99: ; preds = %if.i832, %case93
8070 %tmp104 = bitcast %nest.parse* %.frame to i8* ; <i8*> [#uses=1]
8071 %tmp105 = call fastcc i1 @_D5tango4text5Regex11__T4TNFATwZ4TNFA5parseMFbZv7performMFE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorbZb(i8* %tmp104, i32 7, i1 true) ; <i1> [#uses=0]
8072 br label %whilecond
8073
8074case107: ; preds = %whilebody
8075 %occur672 = bitcast %tango.net.Socket.timeval* %occur to i64* ; <i64*> [#uses=1]
8076 store i64 0, i64* %occur672, align 8
8077 %tmp110 = getelementptr %tango.net.Socket.timeval* %occur, i32 0, i32 0 ; <i32*> [#uses=3]
8078 %tmp113 = getelementptr i32* %tmp110, i32 1 ; <i32*> [#uses=1]
8079 call fastcc void @_D5tango4text5Regex11__T4TNFATwZ4TNFA15parseOccurCountMFJkJkZv(%"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32* %tmp110, i32* %tmp113)
8080 %tmp1025 = load i32* %tmp110, align 8 ; <i32> [#uses=1]
8081 %occur.1 = getelementptr %tango.net.Socket.timeval* %occur, i32 0, i32 1 ; <i32*> [#uses=1]
8082 %tmp1026 = load i32* %occur.1, align 4 ; <i32> [#uses=1]
8083 %tmp1.i850 = getelementptr %nest.parse* %.frame, i32 0, i32 4, i32 0 ; <i32*> [#uses=4]
8084 %tmp4.i851 = getelementptr %nest.parse* %.frame, i32 0, i32 4, i32 1, i32 0 ; <i32*> [#uses=2]
8085 %.len.i852 = load i32* %tmp4.i851 ; <i32> [#uses=3]
8086 %tmp5.i853 = load i32* %tmp1.i850, align 8 ; <i32> [#uses=2]
8087 %tmp6.i854 = icmp ult i32 %tmp5.i853, %.len.i852 ; <i1> [#uses=1]
8088 br i1 %tmp6.i854, label %entry.endif_crit_edge.i856, label %if.i864
8089
8090entry.endif_crit_edge.i856: ; preds = %case107
8091 %tmp26.pre.i855 = getelementptr %nest.parse* %.frame, i32 0, i32 4, i32 1, i32 1 ; <%tango.net.Socket.timeval**> [#uses=1]
8092 %.ptr27.i867.pre = load %tango.net.Socket.timeval** %tmp26.pre.i855 ; <%tango.net.Socket.timeval*> [#uses=1]
8093 br label %_D5tango4text5Regex47__T5StackTS5tango4text5Regex11__T4PairTkZ4PairZ5Stack4pushMFS5tango4text5Regex11__T4PairTkZ4PairZv.exit
8094
8095if.i864: ; preds = %case107
8096 %tmp13.i857 = shl i32 %.len.i852, 1 ; <i32> [#uses=1]
8097 %tmp1438.i = or i32 %tmp13.i857, 1 ; <i32> [#uses=2]
8098 %tmp17.i858 = getelementptr %nest.parse* %.frame, i32 0, i32 4, i32 1, i32 1 ; <%tango.net.Socket.timeval**> [#uses=2]
8099 %.ptr.i859 = load %tango.net.Socket.timeval** %tmp17.i858 ; <%tango.net.Socket.timeval*> [#uses=1]
8100 %tmp18.i860 = bitcast %tango.net.Socket.timeval* %.ptr.i859 to i8* ; <i8*> [#uses=1]
8101 %.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]
8102 %.gc_mem19.i862 = bitcast i8* %.gc_mem.i861 to %tango.net.Socket.timeval* ; <%tango.net.Socket.timeval*> [#uses=2]
8103 store i32 %tmp1438.i, i32* %tmp4.i851
8104 store %tango.net.Socket.timeval* %.gc_mem19.i862, %tango.net.Socket.timeval** %tmp17.i858
8105 %tmp28.pre.i863 = load i32* %tmp1.i850, align 8 ; <i32> [#uses=1]
8106 br label %_D5tango4text5Regex47__T5StackTS5tango4text5Regex11__T4PairTkZ4PairZ5Stack4pushMFS5tango4text5Regex11__T4PairTkZ4PairZv.exit
8107
8108_D5tango4text5Regex47__T5StackTS5tango4text5Regex11__T4PairTkZ4PairZ5Stack4pushMFS5tango4text5Regex11__T4PairTkZ4PairZv.exit: ; preds = %if.i864, %entry.endif_crit_edge.i856
8109 %.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]
8110 %tmp28.i866 = phi i32 [ %tmp5.i853, %entry.endif_crit_edge.i856 ], [ %tmp28.pre.i863, %if.i864 ] ; <i32> [#uses=1]
8111 %tmp29.i868 = getelementptr %tango.net.Socket.timeval* %.ptr27.i867, i32 %tmp28.i866 ; <%tango.net.Socket.timeval*> [#uses=1]
8112 %tmp3040.i = bitcast %tango.net.Socket.timeval* %tmp29.i868 to i64* ; <i64*> [#uses=1]
8113 %1 = zext i32 %tmp1025 to i64 ; <i64> [#uses=1]
8114 %2 = shl i64 %1, 32 ; <i64> [#uses=1]
8115 %3 = zext i32 %tmp1026 to i64 ; <i64> [#uses=1]
8116 %4 = or i64 %3, %2 ; <i64> [#uses=1]
8117 store i64 %4, i64* %tmp3040.i, align 1
8118 %tmp36.i870 = load i32* %tmp1.i850, align 8 ; <i32> [#uses=1]
8119 %tmp37.i = add i32 %tmp36.i870, 1 ; <i32> [#uses=1]
8120 store i32 %tmp37.i, i32* %tmp1.i850, align 8
8121 %tmp3.i874 = load i32* %tmp1.i692 ; <i32> [#uses=2]
8122 store i32 %tmp3.i874, i32* %tmp.i872
8123 %.len.i876 = load i32* %tmp4.i693 ; <i32> [#uses=1]
8124 %tmp8.i877 = icmp ult i32 %tmp3.i874, %.len.i876 ; <i1> [#uses=1]
8125 br i1 %tmp8.i877, label %if.i881, label %else120
8126
8127if.i881: ; preds = %_D5tango4text5Regex47__T5StackTS5tango4text5Regex11__T4PairTkZ4PairZ5Stack4pushMFS5tango4text5Regex11__T4PairTkZ4PairZv.exit
8128 %tmp10.i878 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 2 ; <%"Act[]"*> [#uses=1]
8129 %tmp11.i879 = load %"Act[]"* %tmp10.i878 ; <%"Act[]"> [#uses=1]
8130 %tmp12.i880 = call fastcc i32 @_D5tango4text5Regex6decodeFAwKkZw(%"Act[]" %tmp11.i879, i32* %tmp.i872) ; <i32> [#uses=1]
8131 %phitmp1069 = icmp eq i32 %tmp12.i880, 63 ; <i1> [#uses=1]
8132 br i1 %phitmp1069, label %if118, label %else120
8133
8134if118: ; preds = %if.i881
8135 %tmp4.i887 = load i32* %tmp1.i692 ; <i32> [#uses=2]
8136 store i32 %tmp4.i887, i32* %tmp1.i697
8137 %.len.i889 = load i32* %tmp4.i693 ; <i32> [#uses=1]
8138 %tmp11.i890 = icmp ult i32 %tmp4.i887, %.len.i889 ; <i1> [#uses=1]
8139 br i1 %tmp11.i890, label %if.i894, label %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit896
8140
8141if.i894: ; preds = %if118
8142 %tmp13.i891 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 2 ; <%"Act[]"*> [#uses=1]
8143 %tmp14.i892 = load %"Act[]"* %tmp13.i891 ; <%"Act[]"> [#uses=1]
8144 %tmp17.i893 = call fastcc i32 @_D5tango4text5Regex6decodeFAwKkZw(%"Act[]" %tmp14.i892, i32* %tmp1.i692) ; <i32> [#uses=0]
8145 br label %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit896
8146
8147_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit896: ; preds = %if.i894, %if118
8148 %tmp123 = bitcast %nest.parse* %.frame to i8* ; <i8*> [#uses=1]
8149 %tmp124 = call fastcc i1 @_D5tango4text5Regex11__T4TNFATwZ4TNFA5parseMFbZv7performMFE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorbZb(i8* %tmp123, i32 16, i1 true) ; <i1> [#uses=0]
8150 br label %whilecond
8151
8152else120: ; preds = %if.i881, %_D5tango4text5Regex47__T5StackTS5tango4text5Regex11__T4PairTkZ4PairZ5Stack4pushMFS5tango4text5Regex11__T4PairTkZ4PairZv.exit
8153 %tmp125 = bitcast %nest.parse* %.frame to i8* ; <i8*> [#uses=1]
8154 %tmp126 = call fastcc i1 @_D5tango4text5Regex11__T4TNFATwZ4TNFA5parseMFbZv7performMFE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorbZb(i8* %tmp125, i32 15, i1 true) ; <i1> [#uses=0]
8155 br label %whilecond
8156
8157case128: ; preds = %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit921, %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit908, %whilebody
8158 %pred_type.0 = phi i32 [ 3, %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit921 ], [ 2, %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit908 ], [ 0, %whilebody ] ; <i32> [#uses=1]
8159 br i1 %implicit_concat.0, label %if130, label %endif131
8160
8161if130: ; preds = %case128
8162 %tmp132 = bitcast %nest.parse* %.frame to i8* ; <i8*> [#uses=1]
8163 %tmp133 = call fastcc i1 @_D5tango4text5Regex11__T4TNFATwZ4TNFA5parseMFbZv7performMFE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorbZb(i8* %tmp132, i32 1, i1 false) ; <i1> [#uses=0]
8164 br label %endif131
8165
8166endif131: ; preds = %if130, %case128
8167 %tmp134 = load %"tango.text.Regex.List!(TNFAFragment).List"** %frags ; <%"tango.text.Regex.List!(TNFAFragment).List"*> [#uses=2]
8168 %tmp135 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %tmp134, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"**> [#uses=1]
8169 %tmp136 = load %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"** %tmp135 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"*> [#uses=1]
8170 %"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]
8171 %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]
8172 %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]
8173 %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]
8174 br label %whilecond
8175
8176case145: ; preds = %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit921, %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit908, %whilebody
8177 %pred_type.1 = phi i32 [ 0, %whilebody ], [ 2, %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit908 ], [ 3, %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit921 ] ; <i32> [#uses=1]
8178 br i1 %implicit_concat.0, label %if147, label %endif148
8179
8180if147: ; preds = %case145
8181 %tmp149 = bitcast %nest.parse* %.frame to i8* ; <i8*> [#uses=1]
8182 %tmp150 = call fastcc i1 @_D5tango4text5Regex11__T4TNFATwZ4TNFA5parseMFbZv7performMFE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorbZb(i8* %tmp149, i32 1, i1 false) ; <i1> [#uses=0]
8183 br label %endif148
8184
8185endif148: ; preds = %if147, %case145
8186 %tmp151 = load %"tango.text.Regex.List!(TNFAFragment).List"** %frags ; <%"tango.text.Regex.List!(TNFAFragment).List"*> [#uses=2]
8187 %tmp152 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %tmp151, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"**> [#uses=1]
8188 %tmp153 = load %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"** %tmp152 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"*> [#uses=1]
8189 %"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]
8190 %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]
8191 %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]
8192 %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]
8193 br label %whilecond
8194
8195case162: ; preds = %whilebody
8196 br i1 %implicit_concat.0, label %if164, label %endif165
8197
8198if164: ; preds = %case162
8199 %tmp166 = bitcast %nest.parse* %.frame to i8* ; <i8*> [#uses=1]
8200 %tmp167 = call fastcc i1 @_D5tango4text5Regex11__T4TNFATwZ4TNFA5parseMFbZv7performMFE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorbZb(i8* %tmp166, i32 1, i1 false) ; <i1> [#uses=0]
8201 br label %endif165
8202
8203endif165: ; preds = %if164, %case162
8204 %tmp168 = load %"tango.text.Regex.List!(TNFAFragment).List"** %frags ; <%"tango.text.Regex.List!(TNFAFragment).List"*> [#uses=2]
8205 %tmp169 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %tmp168, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"**> [#uses=1]
8206 %tmp170 = load %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"** %tmp169 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"*> [#uses=1]
8207 %"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]
8208 %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]
8209 %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]
8210 %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]
8211 br label %whilecond
8212
8213case178: ; preds = %whilebody
8214 br i1 %implicit_concat.0, label %if180, label %endif181
8215
8216if180: ; preds = %case178
8217 %tmp182 = bitcast %nest.parse* %.frame to i8* ; <i8*> [#uses=1]
8218 %tmp183 = call fastcc i1 @_D5tango4text5Regex11__T4TNFATwZ4TNFA5parseMFbZv7performMFE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorbZb(i8* %tmp182, i32 1, i1 false) ; <i1> [#uses=0]
8219 br label %endif181
8220
8221endif181: ; preds = %if180, %case178
8222 %tmp184 = load %"tango.text.Regex.List!(TNFAFragment).List"** %frags ; <%"tango.text.Regex.List!(TNFAFragment).List"*> [#uses=2]
8223 %tmp185 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %tmp184, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"**> [#uses=1]
8224 %tmp186 = load %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"** %tmp185 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"*> [#uses=1]
8225 %"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]
8226 %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]
8227 %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]
8228 %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]
8229 br label %whilecond
8230
8231case194: ; preds = %whilebody
8232 %tmp4.i899 = load i32* %tmp1.i692 ; <i32> [#uses=2]
8233 store i32 %tmp4.i899, i32* %tmp1.i697
8234 %.len.i901 = load i32* %tmp4.i693 ; <i32> [#uses=1]
8235 %tmp11.i902 = icmp ult i32 %tmp4.i899, %.len.i901 ; <i1> [#uses=1]
8236 br i1 %tmp11.i902, label %if.i906, label %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit908
8237
8238if.i906: ; preds = %case194
8239 %tmp13.i903 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 2 ; <%"Act[]"*> [#uses=1]
8240 %tmp14.i904 = load %"Act[]"* %tmp13.i903 ; <%"Act[]"> [#uses=1]
8241 %tmp17.i905 = call fastcc i32 @_D5tango4text5Regex6decodeFAwKkZw(%"Act[]" %tmp14.i904, i32* %tmp1.i692) ; <i32> [#uses=1]
8242 br label %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit908
8243
8244_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit908: ; preds = %if.i906, %case194
8245 %tmp196909 = phi i32 [ %tmp17.i905, %if.i906 ], [ 0, %case194 ] ; <i32> [#uses=2]
8246 switch i32 %tmp196909, label %default529 [
8247 i32 91, label %case128
8248 i32 92, label %case236
8249 i32 46, label %case145
8250 ]
8251
8252case214: ; preds = %whilebody
8253 %tmp4.i912 = load i32* %tmp1.i692 ; <i32> [#uses=2]
8254 store i32 %tmp4.i912, i32* %tmp1.i697
8255 %.len.i914 = load i32* %tmp4.i693 ; <i32> [#uses=1]
8256 %tmp11.i915 = icmp ult i32 %tmp4.i912, %.len.i914 ; <i1> [#uses=1]
8257 br i1 %tmp11.i915, label %if.i919, label %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit921
8258
8259if.i919: ; preds = %case214
8260 %tmp13.i916 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 2 ; <%"Act[]"*> [#uses=1]
8261 %tmp14.i917 = load %"Act[]"* %tmp13.i916 ; <%"Act[]"> [#uses=1]
8262 %tmp17.i918 = call fastcc i32 @_D5tango4text5Regex6decodeFAwKkZw(%"Act[]" %tmp14.i917, i32* %tmp1.i692) ; <i32> [#uses=1]
8263 br label %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit921
8264
8265_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit921: ; preds = %if.i919, %case214
8266 %tmp216922 = phi i32 [ %tmp17.i918, %if.i919 ], [ 0, %case214 ] ; <i32> [#uses=2]
8267 switch i32 %tmp216922, label %default529 [
8268 i32 91, label %case128
8269 i32 92, label %case236
8270 i32 46, label %case145
8271 ]
8272
8273case236: ; preds = %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit921, %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit908, %whilebody
8274 %pred_type.2 = phi i32 [ 0, %whilebody ], [ 2, %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit908 ], [ 3, %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit921 ] ; <i32> [#uses=12]
8275 %tmp4.i925 = load i32* %tmp1.i692 ; <i32> [#uses=2]
8276 store i32 %tmp4.i925, i32* %tmp1.i697
8277 %.len.i927 = load i32* %tmp4.i693 ; <i32> [#uses=1]
8278 %tmp11.i928 = icmp ult i32 %tmp4.i925, %.len.i927 ; <i1> [#uses=1]
8279 br i1 %tmp11.i928, label %if.i932, label %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit934
8280
8281if.i932: ; preds = %case236
8282 %tmp13.i929 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 2 ; <%"Act[]"*> [#uses=1]
8283 %tmp14.i930 = load %"Act[]"* %tmp13.i929 ; <%"Act[]"> [#uses=1]
8284 %tmp17.i931 = call fastcc i32 @_D5tango4text5Regex6decodeFAwKkZw(%"Act[]" %tmp14.i930, i32* %tmp1.i692) ; <i32> [#uses=1]
8285 br label %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit934
8286
8287_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit934: ; preds = %if.i932, %case236
8288 %tmp238935 = phi i32 [ %tmp17.i931, %if.i932 ], [ 0, %case236 ] ; <i32> [#uses=2]
8289 br i1 %implicit_concat.0, label %if240, label %endif241
8290
8291if240: ; preds = %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit934
8292 %tmp242 = bitcast %nest.parse* %.frame to i8* ; <i8*> [#uses=1]
8293 %tmp243 = call fastcc i1 @_D5tango4text5Regex11__T4TNFATwZ4TNFA5parseMFbZv7performMFE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorbZb(i8* %tmp242, i32 1, i1 false) ; <i1> [#uses=0]
8294 br label %endif241
8295
8296endif241: ; preds = %if240, %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit934
8297 switch i32 %tmp238935, label %default515 [
8298 i32 116, label %case248
8299 i32 110, label %case260
8300 i32 114, label %case272
8301 i32 119, label %case284
8302 i32 87, label %case296
8303 i32 115, label %case310
8304 i32 83, label %case322
8305 i32 100, label %case338
8306 i32 68, label %case350
8307 i32 98, label %case366
8308 i32 66, label %case432
8309 ]
8310
8311case248: ; preds = %endif241
8312 %tmp249 = load %"tango.text.Regex.List!(TNFAFragment).List"** %frags ; <%"tango.text.Regex.List!(TNFAFragment).List"*> [#uses=2]
8313 %tmp250 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %tmp249, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"**> [#uses=1]
8314 %tmp251 = load %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"** %tmp250 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"*> [#uses=1]
8315 %"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]
8316 %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]
8317 %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]
8318 %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]
8319 br label %whilecond
8320
8321case260: ; preds = %endif241
8322 %tmp261 = load %"tango.text.Regex.List!(TNFAFragment).List"** %frags ; <%"tango.text.Regex.List!(TNFAFragment).List"*> [#uses=2]
8323 %tmp262 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %tmp261, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"**> [#uses=1]
8324 %tmp263 = load %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"** %tmp262 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"*> [#uses=1]
8325 %"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]
8326 %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]
8327 %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]
8328 %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]
8329 br label %whilecond
8330
8331case272: ; preds = %endif241
8332 %tmp273 = load %"tango.text.Regex.List!(TNFAFragment).List"** %frags ; <%"tango.text.Regex.List!(TNFAFragment).List"*> [#uses=2]
8333 %tmp274 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %tmp273, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"**> [#uses=1]
8334 %tmp275 = load %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"** %tmp274 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"*> [#uses=1]
8335 %"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]
8336 %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]
8337 %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]
8338 %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]
8339 br label %whilecond
8340
8341case284: ; preds = %endif241
8342 %tmp285 = load %"tango.text.Regex.List!(TNFAFragment).List"** %frags ; <%"tango.text.Regex.List!(TNFAFragment).List"*> [#uses=2]
8343 %tmp286 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %tmp285, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"**> [#uses=1]
8344 %tmp287 = load %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"** %tmp286 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"*> [#uses=1]
8345 %"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]
8346 %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]
8347 %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]
8348 %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]
8349 br label %whilecond
8350
8351case296: ; preds = %endif241
8352 %srcval = load i64* bitcast (%"tango.text.Regex.CharClass!(dchar).CharClass"* @_D5tango4text5Regex16__T9CharClassTwZ9CharClass9alphanum_S5tango4text5Regex16__T9CharClassTwZ9CharClass to i64*), align 4 ; <i64> [#uses=2]
8353 %tmp1028 = lshr i64 %srcval, 32 ; <i64> [#uses=1]
8354 %tmp1029 = trunc i64 %tmp1028 to i32 ; <i32> [#uses=1]
8355 %tmp1030 = insertvalue %"byte[]" undef, i32 %tmp1029, 0 ; <%"byte[]"> [#uses=1]
8356 %tmp1031 = trunc i64 %srcval to i32 ; <i32> [#uses=1]
8357 %tmp1032 = inttoptr i32 %tmp1031 to i8* ; <i8*> [#uses=1]
8358 %tmp1033 = insertvalue %"byte[]" %tmp1030, i8* %tmp1032, 1 ; <%"byte[]"> [#uses=1]
8359 %tmp5.i940 = call %"byte[]" @_adDupT(%object.TypeInfo* bitcast (%object.TypeInfo_Array* @_D56TypeInfo_AS5tango4text5Regex16__T9CharRangeTwZ9CharRange6__initZ to %object.TypeInfo*), %"byte[]" %tmp1033) ; <%"byte[]"> [#uses=2]
8360 %tmp6.i941 = extractvalue %"byte[]" %tmp5.i940, 0 ; <i32> [#uses=1]
8361 %tmp8.i942 = extractvalue %"byte[]" %tmp5.i940, 1 ; <i8*> [#uses=1]
8362 %tmp = ptrtoint i8* %tmp8.i942 to i32 ; <i32> [#uses=2]
8363 %tmp297674 = bitcast %"tango.text.Regex.CharClass!(dchar).CharClass"* %cc to i64* ; <i64*> [#uses=1]
8364 %5 = zext i32 %tmp6.i941 to i64 ; <i64> [#uses=1]
8365 %6 = shl i64 %5, 32 ; <i64> [#uses=1]
8366 %7 = zext i32 %tmp to i64 ; <i64> [#uses=1]
8367 %8 = or i64 %7, %6 ; <i64> [#uses=1]
8368 store i64 %8, i64* %tmp297674, align 8
8369 call fastcc void @_D5tango4text5Regex16__T9CharClassTwZ9CharClass6negateMFZv(%"tango.text.Regex.CharClass!(dchar).CharClass"* %cc)
8370 %tmp299 = load %"tango.text.Regex.List!(TNFAFragment).List"** %frags ; <%"tango.text.Regex.List!(TNFAFragment).List"*> [#uses=2]
8371 %tmp300 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %tmp299, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"**> [#uses=1]
8372 %tmp301 = load %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"** %tmp300 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"*> [#uses=1]
8373 %"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]
8374 %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]
8375 %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]
8376 %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]
8377 br label %whilecond
8378
8379case310: ; preds = %endif241
8380 %tmp311 = load %"tango.text.Regex.List!(TNFAFragment).List"** %frags ; <%"tango.text.Regex.List!(TNFAFragment).List"*> [#uses=2]
8381 %tmp312 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %tmp311, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"**> [#uses=1]
8382 %tmp313 = load %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"** %tmp312 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"*> [#uses=1]
8383 %"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]
8384 %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]
8385 %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]
8386 %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]
8387 br label %whilecond
8388
8389case322: ; preds = %endif241
8390 %srcval1041 = load i64* bitcast (%"tango.text.Regex.CharClass!(dchar).CharClass"* @_D5tango4text5Regex16__T9CharClassTwZ9CharClass10whitespaceS5tango4text5Regex16__T9CharClassTwZ9CharClass to i64*), align 4 ; <i64> [#uses=2]
8391 %tmp1035 = lshr i64 %srcval1041, 32 ; <i64> [#uses=1]
8392 %tmp1036 = trunc i64 %tmp1035 to i32 ; <i32> [#uses=1]
8393 %tmp1037 = insertvalue %"byte[]" undef, i32 %tmp1036, 0 ; <%"byte[]"> [#uses=1]
8394 %tmp1038 = trunc i64 %srcval1041 to i32 ; <i32> [#uses=1]
8395 %tmp1039 = inttoptr i32 %tmp1038 to i8* ; <i8*> [#uses=1]
8396 %tmp1040 = insertvalue %"byte[]" %tmp1037, i8* %tmp1039, 1 ; <%"byte[]"> [#uses=1]
8397 %tmp5.i949 = call %"byte[]" @_adDupT(%object.TypeInfo* bitcast (%object.TypeInfo_Array* @_D56TypeInfo_AS5tango4text5Regex16__T9CharRangeTwZ9CharRange6__initZ to %object.TypeInfo*), %"byte[]" %tmp1040) ; <%"byte[]"> [#uses=2]
8398 %tmp6.i950 = extractvalue %"byte[]" %tmp5.i949, 0 ; <i32> [#uses=1]
8399 %tmp8.i951 = extractvalue %"byte[]" %tmp5.i949, 1 ; <i8*> [#uses=1]
8400 %tmp1018 = ptrtoint i8* %tmp8.i951 to i32 ; <i32> [#uses=2]
8401 %tmp325676 = bitcast %"tango.text.Regex.CharClass!(dchar).CharClass"* %cc323 to i64* ; <i64*> [#uses=1]
8402 %9 = zext i32 %tmp6.i950 to i64 ; <i64> [#uses=1]
8403 %10 = shl i64 %9, 32 ; <i64> [#uses=1]
8404 %11 = zext i32 %tmp1018 to i64 ; <i64> [#uses=1]
8405 %12 = or i64 %11, %10 ; <i64> [#uses=1]
8406 store i64 %12, i64* %tmp325676, align 8
8407 call fastcc void @_D5tango4text5Regex16__T9CharClassTwZ9CharClass6negateMFZv(%"tango.text.Regex.CharClass!(dchar).CharClass"* %cc323)
8408 %tmp327 = load %"tango.text.Regex.List!(TNFAFragment).List"** %frags ; <%"tango.text.Regex.List!(TNFAFragment).List"*> [#uses=2]
8409 %tmp328 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %tmp327, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"**> [#uses=1]
8410 %tmp329 = load %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"** %tmp328 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"*> [#uses=1]
8411 %"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]
8412 %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]
8413 %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]
8414 %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]
8415 br label %whilecond
8416
8417case338: ; preds = %endif241
8418 %tmp339 = load %"tango.text.Regex.List!(TNFAFragment).List"** %frags ; <%"tango.text.Regex.List!(TNFAFragment).List"*> [#uses=2]
8419 %tmp340 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %tmp339, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"**> [#uses=1]
8420 %tmp341 = load %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"** %tmp340 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"*> [#uses=1]
8421 %"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]
8422 %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]
8423 %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]
8424 %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]
8425 br label %whilecond
8426
8427case350: ; preds = %endif241
8428 %srcval1049 = load i64* bitcast (%"tango.text.Regex.CharClass!(dchar).CharClass"* @_D5tango4text5Regex16__T9CharClassTwZ9CharClass5digitS5tango4text5Regex16__T9CharClassTwZ9CharClass to i64*), align 4 ; <i64> [#uses=2]
8429 %tmp1043 = lshr i64 %srcval1049, 32 ; <i64> [#uses=1]
8430 %tmp1044 = trunc i64 %tmp1043 to i32 ; <i32> [#uses=1]
8431 %tmp1045 = insertvalue %"byte[]" undef, i32 %tmp1044, 0 ; <%"byte[]"> [#uses=1]
8432 %tmp1046 = trunc i64 %srcval1049 to i32 ; <i32> [#uses=1]
8433 %tmp1047 = inttoptr i32 %tmp1046 to i8* ; <i8*> [#uses=1]
8434 %tmp1048 = insertvalue %"byte[]" %tmp1045, i8* %tmp1047, 1 ; <%"byte[]"> [#uses=1]
8435 %tmp5.i959 = call %"byte[]" @_adDupT(%object.TypeInfo* bitcast (%object.TypeInfo_Array* @_D56TypeInfo_AS5tango4text5Regex16__T9CharRangeTwZ9CharRange6__initZ to %object.TypeInfo*), %"byte[]" %tmp1048) ; <%"byte[]"> [#uses=2]
8436 %tmp6.i960 = extractvalue %"byte[]" %tmp5.i959, 0 ; <i32> [#uses=1]
8437 %tmp8.i961 = extractvalue %"byte[]" %tmp5.i959, 1 ; <i8*> [#uses=1]
8438 %tmp1013 = ptrtoint i8* %tmp8.i961 to i32 ; <i32> [#uses=2]
8439 %tmp353679 = bitcast %"tango.text.Regex.CharClass!(dchar).CharClass"* %cc351 to i64* ; <i64*> [#uses=1]
8440 %13 = zext i32 %tmp6.i960 to i64 ; <i64> [#uses=1]
8441 %14 = shl i64 %13, 32 ; <i64> [#uses=1]
8442 %15 = zext i32 %tmp1013 to i64 ; <i64> [#uses=1]
8443 %16 = or i64 %15, %14 ; <i64> [#uses=1]
8444 store i64 %16, i64* %tmp353679, align 8
8445 call fastcc void @_D5tango4text5Regex16__T9CharClassTwZ9CharClass6negateMFZv(%"tango.text.Regex.CharClass!(dchar).CharClass"* %cc351)
8446 %tmp355 = load %"tango.text.Regex.List!(TNFAFragment).List"** %frags ; <%"tango.text.Regex.List!(TNFAFragment).List"*> [#uses=2]
8447 %tmp356 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %tmp355, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"**> [#uses=1]
8448 %tmp357 = load %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"** %tmp356 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"*> [#uses=1]
8449 %"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]
8450 %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]
8451 %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]
8452 %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]
8453 br label %whilecond
8454
8455case366: ; preds = %endif241
8456 %tmp368 = icmp eq i32 %pred_type.2, 0 ; <i1> [#uses=1]
8457 br i1 %tmp368, label %endif370, label %if369
8458
8459if369: ; preds = %case366
8460 %.newclass_gc_alloc371 = call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex15RegExpException7__ClassZ) ; <i8*> [#uses=5]
8461 %.newclass_gc372 = bitcast i8* %.newclass_gc_alloc371 to %object.Exception* ; <%object.Exception*> [#uses=1]
8462 %vtbl373 = bitcast i8* %.newclass_gc_alloc371 to %object.Exception.__vtbl** ; <%object.Exception.__vtbl**> [#uses=1]
8463 store %object.Exception.__vtbl* @_D5tango4text5Regex15RegExpException6__vtblZ, %object.Exception.__vtbl** %vtbl373
8464 %monitor374 = getelementptr i8* %.newclass_gc_alloc371, i32 4 ; <i8*> [#uses=1]
8465 %17 = bitcast i8* %monitor374 to i8** ; <i8**> [#uses=1]
8466 store i8* null, i8** %17
8467 %tmp375 = getelementptr i8* %.newclass_gc_alloc371, i32 8 ; <i8*> [#uses=1]
8468 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)
8469 %.gc_mem.i965 = call noalias i8* @_d_newarrayvT(%object.TypeInfo* @_D11TypeInfo_Aa6__initZ, i32 63) ; <i8*> [#uses=3]
8470 %.gc_mem12.i = bitcast i8* %.gc_mem.i965 to i64* ; <i64*> [#uses=1]
8471 %tmp.i966 = load i64* bitcast ([9 x i8]* @.str280 to i64*), align 8 ; <i64> [#uses=1]
8472 store i64 %tmp.i966, i64* %.gc_mem12.i, align 1
8473 %tmp4.i967 = getelementptr i8* %.gc_mem.i965, i32 8 ; <i8*> [#uses=1]
8474 call void @llvm.memcpy.i32(i8* %tmp4.i967, i8* getelementptr ([56 x i8]* @.str217, i32 0, i32 0), i32 55, i32 1)
8475 %tmp6.i968 = insertvalue %"byte[]" undef, i32 63, 0 ; <%"byte[]"> [#uses=1]
8476 %tmp7.i969 = insertvalue %"byte[]" %tmp6.i968, i8* %.gc_mem.i965, 1 ; <%"byte[]"> [#uses=1]
8477 %tmp8.i970 = call fastcc %object.Exception* @_D6object9Exception5_ctorMFAaC9ExceptionZC9Exception(%object.Exception* %.newclass_gc372, %"byte[]" %tmp7.i969, %object.Exception* null) ; <%object.Exception*> [#uses=0]
8478 %tmp380 = bitcast i8* %.newclass_gc_alloc371 to %object.Object* ; <%object.Object*> [#uses=1]
8479 call void @_d_throw_exception(%object.Object* %tmp380)
8480 unreachable
8481
8482endif370: ; preds = %case366
8483 %srcval1057 = load i64* bitcast (%"tango.text.Regex.CharClass!(dchar).CharClass"* @_D5tango4text5Regex16__T9CharClassTwZ9CharClass10whitespaceS5tango4text5Regex16__T9CharClassTwZ9CharClass to i64*), align 4 ; <i64> [#uses=2]
8484 %tmp1051 = lshr i64 %srcval1057, 32 ; <i64> [#uses=1]
8485 %tmp1052 = trunc i64 %tmp1051 to i32 ; <i32> [#uses=1]
8486 %tmp1053 = insertvalue %"byte[]" undef, i32 %tmp1052, 0 ; <%"byte[]"> [#uses=1]
8487 %tmp1054 = trunc i64 %srcval1057 to i32 ; <i32> [#uses=1]
8488 %tmp1055 = inttoptr i32 %tmp1054 to i8* ; <i8*> [#uses=1]
8489 %tmp1056 = insertvalue %"byte[]" %tmp1053, i8* %tmp1055, 1 ; <%"byte[]"> [#uses=1]
8490 %tmp5.i976 = call %"byte[]" @_adDupT(%object.TypeInfo* bitcast (%object.TypeInfo_Array* @_D56TypeInfo_AS5tango4text5Regex16__T9CharRangeTwZ9CharRange6__initZ to %object.TypeInfo*), %"byte[]" %tmp1056) ; <%"byte[]"> [#uses=2]
8491 %tmp6.i977 = extractvalue %"byte[]" %tmp5.i976, 0 ; <i32> [#uses=1]
8492 %tmp8.i978 = extractvalue %"byte[]" %tmp5.i976, 1 ; <i8*> [#uses=1]
8493 %tmp1008 = ptrtoint i8* %tmp8.i978 to i32 ; <i32> [#uses=2]
8494 %tmp383682 = bitcast %"tango.text.Regex.CharClass!(dchar).CharClass"* %cc381 to i64* ; <i64*> [#uses=1]
8495 %18 = zext i32 %tmp6.i977 to i64 ; <i64> [#uses=1]
8496 %19 = shl i64 %18, 32 ; <i64> [#uses=1]
8497 %20 = zext i32 %tmp1008 to i64 ; <i64> [#uses=1]
8498 %21 = or i64 %20, %19 ; <i64> [#uses=1]
8499 store i64 %21, i64* %tmp383682, align 8
8500 call fastcc void @_D5tango4text5Regex16__T9CharClassTwZ9CharClass6negateMFZv(%"tango.text.Regex.CharClass!(dchar).CharClass"* %cc381)
8501 %tmp385 = bitcast %nest.parse* %.frame to i8* ; <i8*> [#uses=5]
8502 %tmp386 = call fastcc i1 @_D5tango4text5Regex11__T4TNFATwZ4TNFA5parseMFbZv7performMFE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorbZb(i8* %tmp385, i32 14, i1 true) ; <i1> [#uses=0]
8503 %tmp387 = load %"tango.text.Regex.List!(TNFAFragment).List"** %frags ; <%"tango.text.Regex.List!(TNFAFragment).List"*> [#uses=2]
8504 %tmp388 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %tmp387, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"**> [#uses=1]
8505 %tmp389 = load %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"** %tmp388 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"*> [#uses=1]
8506 %"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]
8507 %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]
8508 %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]
8509 %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]
8510 %tmp397 = call fastcc i1 @_D5tango4text5Regex11__T4TNFATwZ4TNFA5parseMFbZv7performMFE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorbZb(i8* %tmp385, i32 1, i1 false) ; <i1> [#uses=0]
8511 %tmp398 = load %"tango.text.Regex.List!(TNFAFragment).List"** %frags ; <%"tango.text.Regex.List!(TNFAFragment).List"*> [#uses=2]
8512 %tmp399 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %tmp398, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"**> [#uses=1]
8513 %tmp400 = load %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"** %tmp399 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"*> [#uses=1]
8514 %"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]
8515 %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]
8516 %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]
8517 %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]
8518 %tmp408 = call fastcc i1 @_D5tango4text5Regex11__T4TNFATwZ4TNFA5parseMFbZv7performMFE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorbZb(i8* %tmp385, i32 2, i1 false) ; <i1> [#uses=0]
8519 %tmp409 = load %"tango.text.Regex.List!(TNFAFragment).List"** %frags ; <%"tango.text.Regex.List!(TNFAFragment).List"*> [#uses=2]
8520 %tmp410 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %tmp409, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"**> [#uses=1]
8521 %tmp411 = load %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"** %tmp410 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"*> [#uses=1]
8522 %"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]
8523 %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]
8524 %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]
8525 %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]
8526 %tmp419 = call fastcc i1 @_D5tango4text5Regex11__T4TNFATwZ4TNFA5parseMFbZv7performMFE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorbZb(i8* %tmp385, i32 1, i1 false) ; <i1> [#uses=0]
8527 %tmp420 = load %"tango.text.Regex.List!(TNFAFragment).List"** %frags ; <%"tango.text.Regex.List!(TNFAFragment).List"*> [#uses=2]
8528 %tmp421 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %tmp420, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"**> [#uses=1]
8529 %tmp422 = load %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"** %tmp421 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"*> [#uses=1]
8530 %"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]
8531 %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]
8532 %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]
8533 %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]
8534 %tmp430 = call fastcc i1 @_D5tango4text5Regex11__T4TNFATwZ4TNFA5parseMFbZv7performMFE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorbZb(i8* %tmp385, i32 4, i1 false) ; <i1> [#uses=0]
8535 br label %whilecond
8536
8537case432: ; preds = %endif241
8538 %tmp434 = icmp eq i32 %pred_type.2, 0 ; <i1> [#uses=1]
8539 br i1 %tmp434, label %endif436, label %if435
8540
8541if435: ; preds = %case432
8542 %.newclass_gc_alloc437 = call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex15RegExpException7__ClassZ) ; <i8*> [#uses=5]
8543 %.newclass_gc438 = bitcast i8* %.newclass_gc_alloc437 to %object.Exception* ; <%object.Exception*> [#uses=1]
8544 %vtbl439 = bitcast i8* %.newclass_gc_alloc437 to %object.Exception.__vtbl** ; <%object.Exception.__vtbl**> [#uses=1]
8545 store %object.Exception.__vtbl* @_D5tango4text5Regex15RegExpException6__vtblZ, %object.Exception.__vtbl** %vtbl439
8546 %monitor440 = getelementptr i8* %.newclass_gc_alloc437, i32 4 ; <i8*> [#uses=1]
8547 %22 = bitcast i8* %monitor440 to i8** ; <i8**> [#uses=1]
8548 store i8* null, i8** %22
8549 %tmp441 = getelementptr i8* %.newclass_gc_alloc437, i32 8 ; <i8*> [#uses=1]
8550 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)
8551 %.gc_mem.i984 = call noalias i8* @_d_newarrayvT(%object.TypeInfo* @_D11TypeInfo_Aa6__initZ, i32 63) ; <i8*> [#uses=3]
8552 %.gc_mem12.i985 = bitcast i8* %.gc_mem.i984 to i64* ; <i64*> [#uses=1]
8553 %tmp.i986 = load i64* bitcast ([9 x i8]* @.str280 to i64*), align 8 ; <i64> [#uses=1]
8554 store i64 %tmp.i986, i64* %.gc_mem12.i985, align 1
8555 %tmp4.i987 = getelementptr i8* %.gc_mem.i984, i32 8 ; <i8*> [#uses=1]
8556 call void @llvm.memcpy.i32(i8* %tmp4.i987, i8* getelementptr ([56 x i8]* @.str218, i32 0, i32 0), i32 55, i32 1)
8557 %tmp6.i988 = insertvalue %"byte[]" undef, i32 63, 0 ; <%"byte[]"> [#uses=1]
8558 %tmp7.i989 = insertvalue %"byte[]" %tmp6.i988, i8* %.gc_mem.i984, 1 ; <%"byte[]"> [#uses=1]
8559 %tmp8.i990 = call fastcc %object.Exception* @_D6object9Exception5_ctorMFAaC9ExceptionZC9Exception(%object.Exception* %.newclass_gc438, %"byte[]" %tmp7.i989, %object.Exception* null) ; <%object.Exception*> [#uses=0]
8560 %tmp446 = bitcast i8* %.newclass_gc_alloc437 to %object.Object* ; <%object.Object*> [#uses=1]
8561 call void @_d_throw_exception(%object.Object* %tmp446)
8562 unreachable
8563
8564endif436: ; preds = %case432
8565 %srcval1065 = load i64* bitcast (%"tango.text.Regex.CharClass!(dchar).CharClass"* @_D5tango4text5Regex16__T9CharClassTwZ9CharClass10whitespaceS5tango4text5Regex16__T9CharClassTwZ9CharClass to i64*), align 4 ; <i64> [#uses=2]
8566 %tmp1059 = lshr i64 %srcval1065, 32 ; <i64> [#uses=1]
8567 %tmp1060 = trunc i64 %tmp1059 to i32 ; <i32> [#uses=1]
8568 %tmp1061 = insertvalue %"byte[]" undef, i32 %tmp1060, 0 ; <%"byte[]"> [#uses=1]
8569 %tmp1062 = trunc i64 %srcval1065 to i32 ; <i32> [#uses=1]
8570 %tmp1063 = inttoptr i32 %tmp1062 to i8* ; <i8*> [#uses=1]
8571 %tmp1064 = insertvalue %"byte[]" %tmp1061, i8* %tmp1063, 1 ; <%"byte[]"> [#uses=1]
8572 %tmp5.i996 = call %"byte[]" @_adDupT(%object.TypeInfo* bitcast (%object.TypeInfo_Array* @_D56TypeInfo_AS5tango4text5Regex16__T9CharRangeTwZ9CharRange6__initZ to %object.TypeInfo*), %"byte[]" %tmp1064) ; <%"byte[]"> [#uses=2]
8573 %tmp6.i997 = extractvalue %"byte[]" %tmp5.i996, 0 ; <i32> [#uses=1]
8574 %tmp8.i998 = extractvalue %"byte[]" %tmp5.i996, 1 ; <i8*> [#uses=1]
8575 %tmp1003 = ptrtoint i8* %tmp8.i998 to i32 ; <i32> [#uses=2]
8576 %tmp450685 = bitcast %"tango.text.Regex.CharClass!(dchar).CharClass"* %cc448 to i64* ; <i64*> [#uses=1]
8577 %23 = zext i32 %tmp6.i997 to i64 ; <i64> [#uses=1]
8578 %24 = shl i64 %23, 32 ; <i64> [#uses=1]
8579 %25 = zext i32 %tmp1003 to i64 ; <i64> [#uses=1]
8580 %26 = or i64 %25, %24 ; <i64> [#uses=1]
8581 store i64 %26, i64* %tmp450685, align 8
8582 call fastcc void @_D5tango4text5Regex16__T9CharClassTwZ9CharClass6negateMFZv(%"tango.text.Regex.CharClass!(dchar).CharClass"* %cc448)
8583 %tmp452 = bitcast %nest.parse* %.frame to i8* ; <i8*> [#uses=5]
8584 %tmp453 = call fastcc i1 @_D5tango4text5Regex11__T4TNFATwZ4TNFA5parseMFbZv7performMFE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorbZb(i8* %tmp452, i32 14, i1 true) ; <i1> [#uses=0]
8585 %tmp454 = load %"tango.text.Regex.List!(TNFAFragment).List"** %frags ; <%"tango.text.Regex.List!(TNFAFragment).List"*> [#uses=2]
8586 %tmp455 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %tmp454, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"**> [#uses=1]
8587 %tmp456 = load %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"** %tmp455 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"*> [#uses=1]
8588 %"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]
8589 %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]
8590 %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]
8591 %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]
8592 %tmp464 = call fastcc i1 @_D5tango4text5Regex11__T4TNFATwZ4TNFA5parseMFbZv7performMFE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorbZb(i8* %tmp452, i32 1, i1 false) ; <i1> [#uses=0]
8593 %tmp465 = load %"tango.text.Regex.List!(TNFAFragment).List"** %frags ; <%"tango.text.Regex.List!(TNFAFragment).List"*> [#uses=2]
8594 %tmp466 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %tmp465, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"**> [#uses=1]
8595 %tmp467 = load %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"** %tmp466 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"*> [#uses=1]
8596 %"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]
8597 %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]
8598 %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]
8599 %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]
8600 %tmp475 = call fastcc i1 @_D5tango4text5Regex11__T4TNFATwZ4TNFA5parseMFbZv7performMFE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorbZb(i8* %tmp452, i32 2, i1 false) ; <i1> [#uses=0]
8601 %tmp476 = load %"tango.text.Regex.List!(TNFAFragment).List"** %frags ; <%"tango.text.Regex.List!(TNFAFragment).List"*> [#uses=2]
8602 %tmp477 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %tmp476, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"**> [#uses=1]
8603 %tmp478 = load %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"** %tmp477 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"*> [#uses=1]
8604 %"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]
8605 %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]
8606 %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]
8607 %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]
8608 %tmp486 = call fastcc i1 @_D5tango4text5Regex11__T4TNFATwZ4TNFA5parseMFbZv7performMFE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorbZb(i8* %tmp452, i32 1, i1 false) ; <i1> [#uses=0]
8609 %tmp487 = load %"tango.text.Regex.List!(TNFAFragment).List"** %frags ; <%"tango.text.Regex.List!(TNFAFragment).List"*> [#uses=2]
8610 %tmp488 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %tmp487, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"**> [#uses=1]
8611 %tmp489 = load %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"** %tmp488 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"*> [#uses=1]
8612 %"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]
8613 %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]
8614 %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]
8615 %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]
8616 %tmp497 = call fastcc i1 @_D5tango4text5Regex11__T4TNFATwZ4TNFA5parseMFbZv7performMFE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorbZb(i8* %tmp452, i32 4, i1 false) ; <i1> [#uses=0]
8617 br label %whilecond
8618
8619default515: ; preds = %endif241
8620 %tmp516 = load %"tango.text.Regex.List!(TNFAFragment).List"** %frags ; <%"tango.text.Regex.List!(TNFAFragment).List"*> [#uses=2]
8621 %tmp517 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %tmp516, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"**> [#uses=1]
8622 %tmp518 = load %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"** %tmp517 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"*> [#uses=1]
8623 %"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]
8624 %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]
8625 %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]
8626 %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]
8627 br label %whilecond
8628
8629default529: ; preds = %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit921, %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit908, %whilebody
8630 %c.0 = phi i32 [ %tmp17.i701, %whilebody ], [ %tmp196909, %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit908 ], [ %tmp216922, %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit921 ] ; <i32> [#uses=1]
8631 %pred_type.3 = phi i32 [ 0, %whilebody ], [ 2, %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit908 ], [ 3, %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit921 ] ; <i32> [#uses=1]
8632 br i1 %implicit_concat.0, label %if531, label %endif532
8633
8634if531: ; preds = %default529
8635 %tmp533 = bitcast %nest.parse* %.frame to i8* ; <i8*> [#uses=1]
8636 %tmp534 = call fastcc i1 @_D5tango4text5Regex11__T4TNFATwZ4TNFA5parseMFbZv7performMFE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorbZb(i8* %tmp533, i32 1, i1 false) ; <i1> [#uses=0]
8637 br label %endif532
8638
8639endif532: ; preds = %if531, %default529
8640 %tmp535 = load %"tango.text.Regex.List!(TNFAFragment).List"** %frags ; <%"tango.text.Regex.List!(TNFAFragment).List"*> [#uses=2]
8641 %tmp536 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %tmp535, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"**> [#uses=1]
8642 %tmp537 = load %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"** %tmp536 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"*> [#uses=1]
8643 %"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]
8644 %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]
8645 %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]
8646 %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]
8647 br label %whilecond
8648
8649endwhile: ; preds = %whilecond
8650 br i1 %unanchored_arg, label %if547, label %whilecond567
8651
8652if547: ; preds = %endwhile
8653 %tmp549 = bitcast %nest.parse* %.frame to i8* ; <i8*> [#uses=3]
8654 %tmp550 = call fastcc i1 @_D5tango4text5Regex11__T4TNFATwZ4TNFA5parseMFbZv7performMFE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorbZb(i8* %tmp549, i32 4, i1 false) ; <i1> [#uses=0]
8655 br i1 %implicit_concat.0, label %if552, label %endif553
8656
8657if552: ; preds = %if547
8658 %tmp555 = call fastcc i1 @_D5tango4text5Regex11__T4TNFATwZ4TNFA5parseMFbZv7performMFE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorbZb(i8* %tmp549, i32 1, i1 false) ; <i1> [#uses=0]
8659 br label %endif553
8660
8661endif553: ; preds = %if552, %if547
8662 %tmp556 = load %"tango.text.Regex.List!(TNFAFragment).List"** %frags ; <%"tango.text.Regex.List!(TNFAFragment).List"*> [#uses=2]
8663 %tmp557 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %tmp556, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"**> [#uses=1]
8664 %tmp558 = load %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"** %tmp557 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"*> [#uses=1]
8665 %"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]
8666 %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]
8667 %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]
8668 %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]
8669 %tmp566 = call fastcc i1 @_D5tango4text5Regex11__T4TNFATwZ4TNFA5parseMFbZv7performMFE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorbZb(i8* %tmp549, i32 9, i1 false) ; <i1> [#uses=0]
8670 br label %whilecond567
8671
8672whilecond567: ; preds = %whilecond567, %endif553, %endwhile
8673 %tmp570 = bitcast %nest.parse* %.frame to i8* ; <i8*> [#uses=4]
8674 %tmp571 = call fastcc i1 @_D5tango4text5Regex11__T4TNFATwZ4TNFA5parseMFbZv7performMFE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorbZb(i8* %tmp570, i32 0, i1 true) ; <i1> [#uses=1]
8675 br i1 %tmp571, label %endwhile569, label %whilecond567
8676
8677endwhile569: ; preds = %whilecond567
8678 %tmp573 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 4 ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"**> [#uses=2]
8679 %.newclass_gc_alloc.i752 = call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex16__T9TNFAStateTwZ9TNFAState7__ClassZ) ; <i8*> [#uses=6]
8680 %.newclass_gc.i753 = bitcast i8* %.newclass_gc_alloc.i752 to %"tango.text.Regex.TNFAState!(dchar).TNFAState"* ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"*> [#uses=2]
8681 %vtbl.i754 = bitcast i8* %.newclass_gc_alloc.i752 to %object.ModuleInfo.__vtbl** ; <%object.ModuleInfo.__vtbl**> [#uses=1]
8682 store %object.ModuleInfo.__vtbl* @_D5tango4text5Regex16__T9TNFAStateTwZ9TNFAState6__vtblZ, %object.ModuleInfo.__vtbl** %vtbl.i754
8683 %monitor.i755 = getelementptr i8* %.newclass_gc_alloc.i752, i32 4 ; <i8*> [#uses=1]
8684 %27 = bitcast i8* %monitor.i755 to i8** ; <i8**> [#uses=1]
8685 store i8* null, i8** %27
8686 %tmp.i756 = getelementptr i8* %.newclass_gc_alloc.i752, i32 8 ; <i8*> [#uses=1]
8687 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)
8688 %tmp1.i.i757 = getelementptr i8* %.newclass_gc_alloc.i752, i32 16 ; <i8*> [#uses=1]
8689 %28 = bitcast i8* %tmp1.i.i757 to %"tango.text.Regex.List!(TNFATransition).List"** ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
8690 %.newclass_gc_alloc.i.i758 = call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7__ClassZ) ; <i8*> [#uses=4]
8691 %.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]
8692 %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]
8693 store %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__vtblZ, %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %vtbl.i.i760
8694 %monitor.i.i761 = getelementptr i8* %.newclass_gc_alloc.i.i758, i32 4 ; <i8*> [#uses=1]
8695 %29 = bitcast i8* %monitor.i.i761 to i8** ; <i8**> [#uses=1]
8696 store i8* null, i8** %29
8697 %tmp2.i.i762 = getelementptr i8* %.newclass_gc_alloc.i.i758, i32 8 ; <i8*> [#uses=1]
8698 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)
8699 store %"tango.text.Regex.List!(TNFATransition).List"* %.newclass_gc.i.i759, %"tango.text.Regex.List!(TNFATransition).List"** %28
8700 %tmp6.i763 = getelementptr i8* %.newclass_gc_alloc.i752, i32 12 ; <i8*> [#uses=1]
8701 %30 = bitcast i8* %tmp6.i763 to i32* ; <i32*> [#uses=1]
8702 %tmp9.i764 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 3, i32 0 ; <i32*> [#uses=4]
8703 %.len.i765 = load i32* %tmp9.i764 ; <i32> [#uses=4]
8704 store i32 %.len.i765, i32* %30
8705 %tmp14.i766 = add i32 %.len.i765, 1 ; <i32> [#uses=2]
8706 %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]
8707 %.ptr.i768 = load %"tango.text.Regex.TNFAState!(dchar).TNFAState"*** %tmp17.i767 ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"**> [#uses=1]
8708 %tmp18.i769 = bitcast %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %.ptr.i768 to i8* ; <i8*> [#uses=1]
8709 %.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]
8710 %.gc_mem19.i771 = bitcast i8* %.gc_mem.i770 to %"tango.text.Regex.TNFAState!(dchar).TNFAState"** ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"**> [#uses=2]
8711 %tmp20.i772 = getelementptr %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %.gc_mem19.i771, i32 %.len.i765 ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"**> [#uses=1]
8712 store %"tango.text.Regex.TNFAState!(dchar).TNFAState"* %.newclass_gc.i753, %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %tmp20.i772
8713 store i32 %tmp14.i766, i32* %tmp9.i764
8714 store %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %.gc_mem19.i771, %"tango.text.Regex.TNFAState!(dchar).TNFAState"*** %tmp17.i767
8715 store %"tango.text.Regex.TNFAState!(dchar).TNFAState"* %.newclass_gc.i753, %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %tmp573
8716 %.newclass_gc_alloc.i = call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex16__T9TNFAStateTwZ9TNFAState7__ClassZ) ; <i8*> [#uses=6]
8717 %.newclass_gc.i = bitcast i8* %.newclass_gc_alloc.i to %"tango.text.Regex.TNFAState!(dchar).TNFAState"* ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"*> [#uses=2]
8718 %vtbl.i = bitcast i8* %.newclass_gc_alloc.i to %object.ModuleInfo.__vtbl** ; <%object.ModuleInfo.__vtbl**> [#uses=1]
8719 store %object.ModuleInfo.__vtbl* @_D5tango4text5Regex16__T9TNFAStateTwZ9TNFAState6__vtblZ, %object.ModuleInfo.__vtbl** %vtbl.i
8720 %monitor.i = getelementptr i8* %.newclass_gc_alloc.i, i32 4 ; <i8*> [#uses=1]
8721 %31 = bitcast i8* %monitor.i to i8** ; <i8**> [#uses=1]
8722 store i8* null, i8** %31
8723 %tmp.i742 = getelementptr i8* %.newclass_gc_alloc.i, i32 8 ; <i8*> [#uses=2]
8724 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)
8725 %tmp1.i.i = getelementptr i8* %.newclass_gc_alloc.i, i32 16 ; <i8*> [#uses=1]
8726 %32 = bitcast i8* %tmp1.i.i to %"tango.text.Regex.List!(TNFATransition).List"** ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
8727 %.newclass_gc_alloc.i.i = call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7__ClassZ) ; <i8*> [#uses=4]
8728 %.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]
8729 %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]
8730 store %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__vtblZ, %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %vtbl.i.i
8731 %monitor.i.i = getelementptr i8* %.newclass_gc_alloc.i.i, i32 4 ; <i8*> [#uses=1]
8732 %33 = bitcast i8* %monitor.i.i to i8** ; <i8**> [#uses=1]
8733 store i8* null, i8** %33
8734 %tmp2.i.i = getelementptr i8* %.newclass_gc_alloc.i.i, i32 8 ; <i8*> [#uses=1]
8735 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)
8736 store %"tango.text.Regex.List!(TNFATransition).List"* %.newclass_gc.i.i, %"tango.text.Regex.List!(TNFATransition).List"** %32
8737 %tmp6.i743 = getelementptr i8* %.newclass_gc_alloc.i, i32 12 ; <i8*> [#uses=1]
8738 %34 = bitcast i8* %tmp6.i743 to i32* ; <i32*> [#uses=1]
8739 %.len.i745 = load i32* %tmp9.i764 ; <i32> [#uses=4]
8740 store i32 %.len.i745, i32* %34
8741 %tmp14.i746 = add i32 %.len.i745, 1 ; <i32> [#uses=2]
8742 %.ptr.i748 = load %"tango.text.Regex.TNFAState!(dchar).TNFAState"*** %tmp17.i767 ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"**> [#uses=1]
8743 %tmp18.i749 = bitcast %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %.ptr.i748 to i8* ; <i8*> [#uses=1]
8744 %.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]
8745 %.gc_mem19.i751 = bitcast i8* %.gc_mem.i750 to %"tango.text.Regex.TNFAState!(dchar).TNFAState"** ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"**> [#uses=2]
8746 %tmp20.i = getelementptr %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %.gc_mem19.i751, i32 %.len.i745 ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"**> [#uses=1]
8747 store %"tango.text.Regex.TNFAState!(dchar).TNFAState"* %.newclass_gc.i, %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %tmp20.i
8748 store i32 %tmp14.i746, i32* %tmp9.i764
8749 store %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %.gc_mem19.i751, %"tango.text.Regex.TNFAState!(dchar).TNFAState"*** %tmp17.i767
8750 store %"tango.text.Regex.TNFAState!(dchar).TNFAState"* %.newclass_gc.i, %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %finish
8751 %35 = bitcast i8* %tmp.i742 to i1* ; <i1*> [#uses=1]
8752 store i1 true, i1* %35
8753 %tmp580 = load %"tango.text.Regex.List!(TNFAFragment).List"** %frags ; <%"tango.text.Regex.List!(TNFAFragment).List"*> [#uses=2]
8754 %tmp581 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %tmp580, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"**> [#uses=1]
8755 %tmp582 = load %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"** %tmp581 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"*> [#uses=1]
8756 %"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]
8757 %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]
8758 %tmp585 = insertvalue %"int delegate(ref TNFAFragment)" undef, i8* %tmp570, 0 ; <%"int delegate(ref TNFAFragment)"> [#uses=1]
8759 %.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]
8760 %tmp586 = call fastcc i32 %frags.opApply(%"tango.text.Regex.List!(TNFAFragment).List"* %tmp580, %"int delegate(ref TNFAFragment)" %.func) ; <i32> [#uses=0]
8761 %tmp588 = bitcast [4 x %"tango.text.Regex.List!(TNFATransition).List"*]* %trans to i8* ; <i8*> [#uses=1]
8762 call void @llvm.memset.i32(i8* %tmp588, i8 0, i32 16, i32 4)
8763 br label %foreachcond
8764
8765foreachcond: ; preds = %foreachbody, %endwhile569
8766 %foreachkey.0 = phi i32 [ 0, %endwhile569 ], [ %tmp603, %foreachbody ] ; <i32> [#uses=3]
8767 %tmp591 = icmp ult i32 %foreachkey.0, 4 ; <i1> [#uses=1]
8768 br i1 %tmp591, label %foreachbody, label %foreachend
8769
8770foreachbody: ; preds = %foreachcond
8771 %tmp593 = getelementptr [4 x %"tango.text.Regex.List!(TNFATransition).List"*]* %trans, i32 0, i32 %foreachkey.0 ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
8772 %.newclass_gc_alloc594 = call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7__ClassZ) ; <i8*> [#uses=4]
8773 %.newclass_gc595 = bitcast i8* %.newclass_gc_alloc594 to %"tango.text.Regex.List!(TNFATransition).List"* ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
8774 %vtbl596 = bitcast i8* %.newclass_gc_alloc594 to %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
8775 store %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__vtblZ, %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %vtbl596
8776 %monitor597 = getelementptr i8* %.newclass_gc_alloc594, i32 4 ; <i8*> [#uses=1]
8777 %36 = bitcast i8* %monitor597 to i8** ; <i8**> [#uses=1]
8778 store i8* null, i8** %36
8779 %tmp598 = getelementptr i8* %.newclass_gc_alloc594, i32 8 ; <i8*> [#uses=1]
8780 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)
8781 store %"tango.text.Regex.List!(TNFATransition).List"* %.newclass_gc595, %"tango.text.Regex.List!(TNFATransition).List"** %tmp593
8782 %tmp603 = add i32 %foreachkey.0, 1 ; <i32> [#uses=1]
8783 br label %foreachcond
8784
8785foreachend: ; preds = %foreachcond
8786 %tmp604 = bitcast %"tango.text.Regex.Stack!(TNFATransition).Stack"* %todo to i8* ; <i8*> [#uses=1]
8787 call void @llvm.memset.i32(i8* %tmp604, i8 0, i32 12, i32 8)
8788 br label %whilecond608
8789
8790whilecond608: ; preds = %endif634, %foreachend
8791 %state.0.in = phi %"tango.text.Regex.TNFAState!(dchar).TNFAState"** [ %tmp573, %foreachend ], [ %tmp649, %endif634 ] ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"**> [#uses=1]
8792 %state.0 = load %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %state.0.in ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"*> [#uses=2]
8793 %tmp1.i727 = getelementptr %nest.parse* %.frame, i32 0, i32 6, i32 0 ; <i32*> [#uses=3]
8794 %tmp2.i728 = load i32* %tmp1.i727, align 8 ; <i32> [#uses=2]
8795 %tmp3.i729 = icmp eq i32 %tmp2.i728, 0 ; <i1> [#uses=1]
8796 %tmp613 = getelementptr %"tango.text.Regex.TNFAState!(dchar).TNFAState"* %state.0, i32 0, i32 3 ; <i1*> [#uses=3]
8797 br i1 %tmp3.i729, label %oror, label %whilebody609
8798
8799whilebody609: ; preds = %oror, %whilecond608
8800 %tmp617 = load i1* %tmp613 ; <i1> [#uses=1]
8801 br i1 %tmp617, label %endif619, label %if618
8802
8803oror: ; preds = %whilecond608
8804 %tmp614 = load i1* %tmp613 ; <i1> [#uses=1]
8805 br i1 %tmp614, label %endwhile610, label %whilebody609
8806
8807if618: ; preds = %whilebody609
8808 store i1 true, i1* %tmp613
8809 %tmp623 = getelementptr %"tango.text.Regex.TNFAState!(dchar).TNFAState"* %state.0, i32 0, i32 5 ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
8810 %tmp624 = load %"tango.text.Regex.List!(TNFATransition).List"** %tmp623 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
8811 %tmp625 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp624, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
8812 %tmp626 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp625 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
8813 %"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]
8814 %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]
8815 %tmp629 = insertvalue %"int delegate(ref TNFATransition)" undef, i8* %tmp570, 0 ; <%"int delegate(ref TNFATransition)"> [#uses=1]
8816 %.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]
8817 %tmp631 = call fastcc i32 %state.transitions.opApplyReverse(%"tango.text.Regex.List!(TNFATransition).List"* %tmp624, %"int delegate(ref TNFATransition)" %.func630) ; <i32> [#uses=0]
8818 %tmp2.i.pre = load i32* %tmp1.i727, align 8 ; <i32> [#uses=1]
8819 br label %endif619
8820
8821endif619: ; preds = %if618, %whilebody609
8822 %tmp6.i705 = phi i32 [ %tmp2.i728, %whilebody609 ], [ %tmp2.i.pre, %if618 ] ; <i32> [#uses=2]
8823 %tmp3.i716 = icmp eq i32 %tmp6.i705, 0 ; <i1> [#uses=1]
8824 br i1 %tmp3.i716, label %endwhile610, label %endif634
8825
8826endif634: ; preds = %endif619
8827 %tmp5.i710 = add i32 %tmp6.i705, -1 ; <i32> [#uses=2]
8828 %tmp6.i711 = getelementptr %nest.parse* %.frame, i32 0, i32 6, i32 1, i32 1 ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"***> [#uses=1]
8829 %.ptr.i712 = load %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*** %tmp6.i711 ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"**> [#uses=1]
8830 %tmp7.i713 = getelementptr %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** %.ptr.i712, i32 %tmp5.i710 ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"**> [#uses=1]
8831 %tmp8.i714 = load %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** %tmp7.i713 ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*> [#uses=3]
8832 store i32 %tmp5.i710, i32* %tmp1.i727, align 8
8833 %tmp639 = getelementptr %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %tmp8.i714, i32 0, i32 6 ; <i32*> [#uses=1]
8834 %tmp640 = load i32* %tmp639 ; <i32> [#uses=1]
8835 %tmp641 = getelementptr [4 x %"tango.text.Regex.List!(TNFATransition).List"*]* %trans, i32 0, i32 %tmp640 ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
8836 %tmp642 = load %"tango.text.Regex.List!(TNFATransition).List"** %tmp641 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
8837 %tmp643 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp642, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
8838 %tmp644 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp643 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
8839 %"(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]
8840 %"(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]
8841 %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]
8842 %tmp649 = getelementptr %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %tmp8.i714, i32 0, i32 2 ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"**> [#uses=1]
8843 br label %whilecond608
8844
8845endwhile610: ; preds = %endif619, %oror
8846 store i32 0, i32* %nextPrio
8847 br label %foreachcond653
8848
8849foreachcond653: ; preds = %foreachbody654, %endwhile610
8850 %foreachkey651.0 = phi i32 [ 0, %endwhile610 ], [ %tmp671, %foreachbody654 ] ; <i32> [#uses=3]
8851 %tmp658 = icmp ult i32 %foreachkey651.0, 4 ; <i1> [#uses=1]
8852 br i1 %tmp658, label %foreachbody654, label %foreachend656
8853
8854foreachbody654: ; preds = %foreachcond653
8855 %tmp660 = getelementptr [4 x %"tango.text.Regex.List!(TNFATransition).List"*]* %trans, i32 0, i32 %foreachkey651.0 ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
8856 %tmp661 = load %"tango.text.Regex.List!(TNFATransition).List"** %tmp660 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
8857 %tmp663 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp661, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
8858 %tmp664 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp663 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
8859 %"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]
8860 %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]
8861 %tmp667 = insertvalue %"int delegate(ref TNFATransition)" undef, i8* %tmp570, 0 ; <%"int delegate(ref TNFATransition)"> [#uses=1]
8862 %.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]
8863 %tmp669 = call fastcc i32 %ts.opApply(%"tango.text.Regex.List!(TNFATransition).List"* %tmp661, %"int delegate(ref TNFATransition)" %.func668) ; <i32> [#uses=0]
8864 %tmp671 = add i32 %foreachkey651.0, 1 ; <i32> [#uses=1]
8865 br label %foreachcond653
8866
8867foreachend656: ; preds = %foreachcond653
8868 ret void
8869}
8870
8871define weak_odr fastcc %"tango.text.Regex.TNFA!(dchar).TNFA"* @_D5tango4text5Regex11__T4TNFATwZ4TNFA5_ctorMFAwZC5tango4text5Regex11__T4TNFATwZ4TNFA(%"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, %"Act[]" %regex_arg) {
8872entry:
8873 %tmp1 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 6 ; <i32*> [#uses=1]
8874 store i32 1, i32* %tmp1
8875 %tmp3 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 9 ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
8876 %.newclass_gc_alloc = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7__ClassZ) ; <i8*> [#uses=4]
8877 %.newclass_gc = bitcast i8* %.newclass_gc_alloc to %"tango.text.Regex.List!(TNFATransition).List"* ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
8878 %vtbl = bitcast i8* %.newclass_gc_alloc to %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
8879 store %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__vtblZ, %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %vtbl
8880 %monitor = getelementptr i8* %.newclass_gc_alloc, i32 4 ; <i8*> [#uses=1]
8881 %0 = bitcast i8* %monitor to i8** ; <i8**> [#uses=1]
8882 store i8* null, i8** %0
8883 %tmp4 = getelementptr i8* %.newclass_gc_alloc, i32 8 ; <i8*> [#uses=1]
8884 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)
8885 store %"tango.text.Regex.List!(TNFATransition).List"* %.newclass_gc, %"tango.text.Regex.List!(TNFATransition).List"** %tmp3
8886 %tmp9 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 2 ; <%"Act[]"*> [#uses=1]
8887 store %"Act[]" %regex_arg, %"Act[]"* %tmp9
8888 ret %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg
8889}
8890
8891define weak_odr fastcc i32 @_D5tango4text5Regex11__T4TNFATwZ4TNFA11peekPatternMFZw(%"tango.text.Regex.TNFA!(dchar).TNFA"* nocapture %.this_arg) {
8892entry:
8893 %tmp = alloca i32, align 4 ; <i32*> [#uses=2]
8894 %tmp2 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 8 ; <i32*> [#uses=1]
8895 %tmp3 = load i32* %tmp2 ; <i32> [#uses=2]
8896 store i32 %tmp3, i32* %tmp
8897 %tmp6 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 2, i32 0 ; <i32*> [#uses=1]
8898 %.len = load i32* %tmp6 ; <i32> [#uses=1]
8899 %tmp8 = icmp ult i32 %tmp3, %.len ; <i1> [#uses=1]
8900 br i1 %tmp8, label %if, label %endif
8901
8902if: ; preds = %entry
8903 %tmp10 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 2 ; <%"Act[]"*> [#uses=1]
8904 %tmp11 = load %"Act[]"* %tmp10 ; <%"Act[]"> [#uses=1]
8905 %tmp12 = call fastcc i32 @_D5tango4text5Regex6decodeFAwKkZw(%"Act[]" %tmp11, i32* %tmp) ; <i32> [#uses=1]
8906 ret i32 %tmp12
8907
8908endif: ; preds = %entry
8909 ret i32 0
8910}
8911
8912define weak_odr fastcc i32 @_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw(%"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg) {
8913entry:
8914 %tmp1 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 7 ; <i32*> [#uses=1]
8915 %tmp3 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 8 ; <i32*> [#uses=2]
8916 %tmp4 = load i32* %tmp3 ; <i32> [#uses=2]
8917 store i32 %tmp4, i32* %tmp1
8918 %tmp9 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 2, i32 0 ; <i32*> [#uses=1]
8919 %.len = load i32* %tmp9 ; <i32> [#uses=1]
8920 %tmp11 = icmp ult i32 %tmp4, %.len ; <i1> [#uses=1]
8921 br i1 %tmp11, label %if, label %endif
8922
8923if: ; preds = %entry
8924 %tmp13 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 2 ; <%"Act[]"*> [#uses=1]
8925 %tmp14 = load %"Act[]"* %tmp13 ; <%"Act[]"> [#uses=1]
8926 %tmp17 = tail call fastcc i32 @_D5tango4text5Regex6decodeFAwKkZw(%"Act[]" %tmp14, i32* %tmp3) ; <i32> [#uses=1]
8927 ret i32 %tmp17
8928
8929endif: ; preds = %entry
8930 ret i32 0
8931}
8932
8933define weak_odr fastcc i1 @_D5tango4text5Regex11__T4TNFATwZ4TNFA12endOfPatternMFZb(%"tango.text.Regex.TNFA!(dchar).TNFA"* nocapture %.this_arg) nounwind readonly {
8934entry:
8935 %tmp1 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 8 ; <i32*> [#uses=1]
8936 %tmp4 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 2, i32 0 ; <i32*> [#uses=1]
8937 %.len = load i32* %tmp4 ; <i32> [#uses=1]
8938 %tmp5 = load i32* %tmp1 ; <i32> [#uses=1]
8939 %tmp6 = icmp uge i32 %tmp5, %.len ; <i1> [#uses=1]
8940 ret i1 %tmp6
8941}
8942
8943define weak_odr fastcc %"tango.text.Regex.TNFAState!(dchar).TNFAState"* @_D5tango4text5Regex11__T4TNFATwZ4TNFA8addStateMFZC5tango4text5Regex16__T9TNFAStateTwZ9TNFAState(%"tango.text.Regex.TNFA!(dchar).TNFA"* nocapture %.this_arg) {
8944entry:
8945 %.newclass_gc_alloc = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex16__T9TNFAStateTwZ9TNFAState7__ClassZ) ; <i8*> [#uses=6]
8946 %.newclass_gc = bitcast i8* %.newclass_gc_alloc to %"tango.text.Regex.TNFAState!(dchar).TNFAState"* ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"*> [#uses=2]
8947 %vtbl = bitcast i8* %.newclass_gc_alloc to %object.ModuleInfo.__vtbl** ; <%object.ModuleInfo.__vtbl**> [#uses=1]
8948 store %object.ModuleInfo.__vtbl* @_D5tango4text5Regex16__T9TNFAStateTwZ9TNFAState6__vtblZ, %object.ModuleInfo.__vtbl** %vtbl
8949 %monitor = getelementptr i8* %.newclass_gc_alloc, i32 4 ; <i8*> [#uses=1]
8950 %0 = bitcast i8* %monitor to i8** ; <i8**> [#uses=1]
8951 store i8* null, i8** %0
8952 %tmp = getelementptr i8* %.newclass_gc_alloc, i32 8 ; <i8*> [#uses=1]
8953 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)
8954 %tmp1.i = getelementptr i8* %.newclass_gc_alloc, i32 16 ; <i8*> [#uses=1]
8955 %1 = bitcast i8* %tmp1.i to %"tango.text.Regex.List!(TNFATransition).List"** ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
8956 %.newclass_gc_alloc.i = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7__ClassZ) ; <i8*> [#uses=4]
8957 %.newclass_gc.i = bitcast i8* %.newclass_gc_alloc.i to %"tango.text.Regex.List!(TNFATransition).List"* ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
8958 %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]
8959 store %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__vtblZ, %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %vtbl.i
8960 %monitor.i = getelementptr i8* %.newclass_gc_alloc.i, i32 4 ; <i8*> [#uses=1]
8961 %2 = bitcast i8* %monitor.i to i8** ; <i8**> [#uses=1]
8962 store i8* null, i8** %2
8963 %tmp2.i = getelementptr i8* %.newclass_gc_alloc.i, i32 8 ; <i8*> [#uses=1]
8964 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)
8965 store %"tango.text.Regex.List!(TNFATransition).List"* %.newclass_gc.i, %"tango.text.Regex.List!(TNFATransition).List"** %1
8966 %tmp6 = getelementptr i8* %.newclass_gc_alloc, i32 12 ; <i8*> [#uses=1]
8967 %3 = bitcast i8* %tmp6 to i32* ; <i32*> [#uses=1]
8968 %tmp9 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 3, i32 0 ; <i32*> [#uses=2]
8969 %.len = load i32* %tmp9 ; <i32> [#uses=4]
8970 store i32 %.len, i32* %3
8971 %tmp14 = add i32 %.len, 1 ; <i32> [#uses=2]
8972 %tmp17 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 3, i32 1 ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"***> [#uses=2]
8973 %.ptr = load %"tango.text.Regex.TNFAState!(dchar).TNFAState"*** %tmp17 ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"**> [#uses=1]
8974 %tmp18 = bitcast %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %.ptr to i8* ; <i8*> [#uses=1]
8975 %.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]
8976 %.gc_mem19 = bitcast i8* %.gc_mem to %"tango.text.Regex.TNFAState!(dchar).TNFAState"** ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"**> [#uses=2]
8977 %tmp20 = getelementptr %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %.gc_mem19, i32 %.len ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"**> [#uses=1]
8978 store %"tango.text.Regex.TNFAState!(dchar).TNFAState"* %.newclass_gc, %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %tmp20
8979 store i32 %tmp14, i32* %tmp9
8980 store %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %.gc_mem19, %"tango.text.Regex.TNFAState!(dchar).TNFAState"*** %tmp17
8981 ret %"tango.text.Regex.TNFAState!(dchar).TNFAState"* %.newclass_gc
8982}
8983
8984define weak_odr fastcc %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* @_D5tango4text5Regex11__T4TNFATwZ4TNFA13addTransitionMFE5tango4text5Regex13PriorityClassZC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransition(%"tango.text.Regex.TNFA!(dchar).TNFA"* nocapture %.this_arg, i32 %pc_arg) {
8985entry:
8986 %.newclass_gc_alloc = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransition7__ClassZ) ; <i8*> [#uses=5]
8987 %.newclass_gc = bitcast i8* %.newclass_gc_alloc to %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*> [#uses=2]
8988 %vtbl = bitcast i8* %.newclass_gc_alloc to %object.ModuleInfo.__vtbl** ; <%object.ModuleInfo.__vtbl**> [#uses=1]
8989 store %object.ModuleInfo.__vtbl* @_D5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransition6__vtblZ, %object.ModuleInfo.__vtbl** %vtbl
8990 %monitor = getelementptr i8* %.newclass_gc_alloc, i32 4 ; <i8*> [#uses=1]
8991 %0 = bitcast i8* %monitor to i8** ; <i8**> [#uses=1]
8992 store i8* null, i8** %0
8993 %tmp = getelementptr i8* %.newclass_gc_alloc, i32 8 ; <i8*> [#uses=1]
8994 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)
8995 %tmp1.i = getelementptr i8* %.newclass_gc_alloc, i32 48 ; <i8*> [#uses=1]
8996 %1 = bitcast i8* %tmp1.i to i32* ; <i32*> [#uses=1]
8997 store i32 %pc_arg, i32* %1
8998 %tmp7 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 9 ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
8999 %tmp8 = load %"tango.text.Regex.List!(TNFATransition).List"** %tmp7 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
9000 %tmp9 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp8, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
9001 %tmp10 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp9 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
9002 %"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]
9003 %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]
9004 %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]
9005 ret %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %.newclass_gc
9006}
9007
9008define weak_odr fastcc i32 @_D5tango4text5Regex11__T4TNFATwZ4TNFA11parseNumberMFZk(%"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg) {
9009entry:
9010 %tmp.i = alloca i32, align 4 ; <i32*> [#uses=2]
9011 br label %whilecond
9012
9013whilecond: ; preds = %if.i, %endif, %entry
9014 %res.0 = phi i32 [ 0, %entry ], [ %tmp12, %endif ], [ %tmp12, %if.i ] ; <i32> [#uses=2]
9015 %tmp1.i = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 8 ; <i32*> [#uses=3]
9016 %tmp4.i = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 2, i32 0 ; <i32*> [#uses=2]
9017 %.len.i = load i32* %tmp4.i ; <i32> [#uses=1]
9018 %tmp5.i = load i32* %tmp1.i ; <i32> [#uses=2]
9019 %tmp6.i = icmp ult i32 %tmp5.i, %.len.i ; <i1> [#uses=1]
9020 br i1 %tmp6.i, label %whilebody, label %endwhile
9021
9022whilebody: ; preds = %whilecond
9023 store i32 %tmp5.i, i32* %tmp.i
9024 %tmp10.i = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 2 ; <%"Act[]"*> [#uses=1]
9025 %tmp11.i22 = load %"Act[]"* %tmp10.i ; <%"Act[]"> [#uses=1]
9026 %tmp12.i = call fastcc i32 @_D5tango4text5Regex6decodeFAwKkZw(%"Act[]" %tmp11.i22, i32* %tmp.i) ; <i32> [#uses=1]
9027 %phitmp = add i32 %tmp12.i, -48 ; <i32> [#uses=2]
9028 %or.cond = icmp ugt i32 %phitmp, 9 ; <i1> [#uses=1]
9029 br i1 %or.cond, label %endwhile, label %endif
9030
9031endif: ; preds = %whilebody
9032 %tmp9 = mul i32 %res.0, 10 ; <i32> [#uses=1]
9033 %tmp12 = add i32 %tmp9, %phitmp ; <i32> [#uses=2]
9034 %tmp1.i16 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 7 ; <i32*> [#uses=1]
9035 %tmp4.i17 = load i32* %tmp1.i ; <i32> [#uses=2]
9036 store i32 %tmp4.i17, i32* %tmp1.i16
9037 %.len.i18 = load i32* %tmp4.i ; <i32> [#uses=1]
9038 %tmp11.i = icmp ult i32 %tmp4.i17, %.len.i18 ; <i1> [#uses=1]
9039 br i1 %tmp11.i, label %if.i, label %whilecond
9040
9041if.i: ; preds = %endif
9042 %tmp13.i = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 2 ; <%"Act[]"*> [#uses=1]
9043 %tmp14.i = load %"Act[]"* %tmp13.i ; <%"Act[]"> [#uses=1]
9044 %tmp17.i = tail call fastcc i32 @_D5tango4text5Regex6decodeFAwKkZw(%"Act[]" %tmp14.i, i32* %tmp1.i) ; <i32> [#uses=0]
9045 br label %whilecond
9046
9047endwhile: ; preds = %whilebody, %whilecond
9048 ret i32 %res.0
9049}
9050
9051define weak_odr fastcc void @_D5tango4text5Regex11__T4TNFATwZ4TNFA15parseOccurCountMFJkJkZv(%"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32* nocapture %minOccur_arg, i32* nocapture %maxOccur_arg) {
9052entry:
9053 %tmp.i235 = alloca i32, align 4 ; <i32*> [#uses=2]
9054 %tmp.i210 = alloca i32, align 4 ; <i32*> [#uses=2]
9055 %tmp.i.i158 = alloca i32, align 4 ; <i32*> [#uses=2]
9056 %tmp.i147 = alloca i32, align 4 ; <i32*> [#uses=2]
9057 %tmp.i.i = alloca i32, align 4 ; <i32*> [#uses=2]
9058 store i32 0, i32* %minOccur_arg
9059 store i32 0, i32* %maxOccur_arg
9060 br label %whilecond.i
9061
9062whilecond.i: ; preds = %if.i.i, %endif.i, %entry
9063 %res.0.i = phi i32 [ 0, %entry ], [ %tmp12.i, %endif.i ], [ %tmp12.i, %if.i.i ] ; <i32> [#uses=2]
9064 %tmp1.i.i = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 8 ; <i32*> [#uses=15]
9065 %tmp4.i.i = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 2, i32 0 ; <i32*> [#uses=13]
9066 %.len.i.i = load i32* %tmp4.i.i ; <i32> [#uses=1]
9067 %tmp5.i.i = load i32* %tmp1.i.i ; <i32> [#uses=2]
9068 %tmp6.i.i = icmp ult i32 %tmp5.i.i, %.len.i.i ; <i1> [#uses=1]
9069 br i1 %tmp6.i.i, label %whilebody.i, label %_D5tango4text5Regex11__T4TNFATwZ4TNFA11parseNumberMFZk.exit
9070
9071whilebody.i: ; preds = %whilecond.i
9072 store i32 %tmp5.i.i, i32* %tmp.i.i
9073 %tmp10.i.i = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 2 ; <%"Act[]"*> [#uses=2]
9074 %tmp11.i22.i = load %"Act[]"* %tmp10.i.i ; <%"Act[]"> [#uses=1]
9075 %tmp12.i.i = call fastcc i32 @_D5tango4text5Regex6decodeFAwKkZw(%"Act[]" %tmp11.i22.i, i32* %tmp.i.i) ; <i32> [#uses=1]
9076 %phitmp = add i32 %tmp12.i.i, -48 ; <i32> [#uses=2]
9077 %or.cond.i = icmp ugt i32 %phitmp, 9 ; <i1> [#uses=1]
9078 br i1 %or.cond.i, label %_D5tango4text5Regex11__T4TNFATwZ4TNFA11parseNumberMFZk.exit, label %endif.i
9079
9080endif.i: ; preds = %whilebody.i
9081 %tmp9.i = mul i32 %res.0.i, 10 ; <i32> [#uses=1]
9082 %tmp12.i = add i32 %tmp9.i, %phitmp ; <i32> [#uses=2]
9083 %tmp1.i16.i = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 7 ; <i32*> [#uses=1]
9084 %tmp4.i17.i = load i32* %tmp1.i.i ; <i32> [#uses=2]
9085 store i32 %tmp4.i17.i, i32* %tmp1.i16.i
9086 %.len.i18.i = load i32* %tmp4.i.i ; <i32> [#uses=1]
9087 %tmp11.i.i = icmp ult i32 %tmp4.i17.i, %.len.i18.i ; <i1> [#uses=1]
9088 br i1 %tmp11.i.i, label %if.i.i, label %whilecond.i
9089
9090if.i.i: ; preds = %endif.i
9091 %tmp14.i.i = load %"Act[]"* %tmp10.i.i ; <%"Act[]"> [#uses=1]
9092 %tmp17.i.i = tail call fastcc i32 @_D5tango4text5Regex6decodeFAwKkZw(%"Act[]" %tmp14.i.i, i32* %tmp1.i.i) ; <i32> [#uses=0]
9093 br label %whilecond.i
9094
9095_D5tango4text5Regex11__T4TNFATwZ4TNFA11parseNumberMFZk.exit: ; preds = %whilebody.i, %whilecond.i
9096 store i32 %res.0.i, i32* %minOccur_arg
9097 %tmp3.i237 = load i32* %tmp1.i.i ; <i32> [#uses=2]
9098 store i32 %tmp3.i237, i32* %tmp.i235
9099 %.len.i239 = load i32* %tmp4.i.i ; <i32> [#uses=1]
9100 %tmp8.i240 = icmp ult i32 %tmp3.i237, %.len.i239 ; <i1> [#uses=1]
9101 br i1 %tmp8.i240, label %if.i244, label %endif
9102
9103if.i244: ; preds = %_D5tango4text5Regex11__T4TNFATwZ4TNFA11parseNumberMFZk.exit
9104 %tmp10.i241 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 2 ; <%"Act[]"*> [#uses=1]
9105 %tmp11.i242 = load %"Act[]"* %tmp10.i241 ; <%"Act[]"> [#uses=1]
9106 %tmp12.i243 = call fastcc i32 @_D5tango4text5Regex6decodeFAwKkZw(%"Act[]" %tmp11.i242, i32* %tmp.i235) ; <i32> [#uses=1]
9107 %phitmp251 = icmp eq i32 %tmp12.i243, 125 ; <i1> [#uses=1]
9108 br i1 %phitmp251, label %if, label %endif
9109
9110if: ; preds = %if.i244
9111 %tmp1.i223 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 7 ; <i32*> [#uses=1]
9112 %tmp4.i225 = load i32* %tmp1.i.i ; <i32> [#uses=2]
9113 store i32 %tmp4.i225, i32* %tmp1.i223
9114 %.len.i227 = load i32* %tmp4.i.i ; <i32> [#uses=1]
9115 %tmp11.i228 = icmp ult i32 %tmp4.i225, %.len.i227 ; <i1> [#uses=1]
9116 br i1 %tmp11.i228, label %if.i232, label %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit234
9117
9118if.i232: ; preds = %if
9119 %tmp13.i229 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 2 ; <%"Act[]"*> [#uses=1]
9120 %tmp14.i230 = load %"Act[]"* %tmp13.i229 ; <%"Act[]"> [#uses=1]
9121 %tmp17.i231 = tail call fastcc i32 @_D5tango4text5Regex6decodeFAwKkZw(%"Act[]" %tmp14.i230, i32* %tmp1.i.i) ; <i32> [#uses=0]
9122 br label %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit234
9123
9124_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit234: ; preds = %if.i232, %if
9125 %tmp7 = load i32* %minOccur_arg ; <i32> [#uses=1]
9126 store i32 %tmp7, i32* %maxOccur_arg
9127 ret void
9128
9129endif: ; preds = %if.i244, %_D5tango4text5Regex11__T4TNFATwZ4TNFA11parseNumberMFZk.exit
9130 %tmp3.i212 = load i32* %tmp1.i.i ; <i32> [#uses=2]
9131 store i32 %tmp3.i212, i32* %tmp.i210
9132 %.len.i214 = load i32* %tmp4.i.i ; <i32> [#uses=1]
9133 %tmp8.i215 = icmp ult i32 %tmp3.i212, %.len.i214 ; <i1> [#uses=1]
9134 br i1 %tmp8.i215, label %if.i219, label %if11
9135
9136if.i219: ; preds = %endif
9137 %tmp10.i216 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 2 ; <%"Act[]"*> [#uses=1]
9138 %tmp11.i217 = load %"Act[]"* %tmp10.i216 ; <%"Act[]"> [#uses=1]
9139 %tmp12.i218 = call fastcc i32 @_D5tango4text5Regex6decodeFAwKkZw(%"Act[]" %tmp11.i217, i32* %tmp.i210) ; <i32> [#uses=1]
9140 %phitmp250 = icmp eq i32 %tmp12.i218, 44 ; <i1> [#uses=1]
9141 br i1 %phitmp250, label %endif12, label %if11
9142
9143if11: ; preds = %if.i219, %endif
9144 %.newclass_gc_alloc = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex15RegExpException7__ClassZ) ; <i8*> [#uses=5]
9145 %.newclass_gc = bitcast i8* %.newclass_gc_alloc to %object.Exception* ; <%object.Exception*> [#uses=1]
9146 %vtbl = bitcast i8* %.newclass_gc_alloc to %object.Exception.__vtbl** ; <%object.Exception.__vtbl**> [#uses=1]
9147 store %object.Exception.__vtbl* @_D5tango4text5Regex15RegExpException6__vtblZ, %object.Exception.__vtbl** %vtbl
9148 %monitor = getelementptr i8* %.newclass_gc_alloc, i32 4 ; <i8*> [#uses=1]
9149 %0 = bitcast i8* %monitor to i8** ; <i8**> [#uses=1]
9150 store i8* null, i8** %0
9151 %tmp13 = getelementptr i8* %.newclass_gc_alloc, i32 8 ; <i8*> [#uses=1]
9152 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)
9153 %tmp19 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 2, i32 1 ; <i32**> [#uses=1]
9154 %.ptr = load i32** %tmp19 ; <i32*> [#uses=1]
9155 %tmp21 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 7 ; <i32*> [#uses=1]
9156 %.len = load i32* %tmp4.i.i ; <i32> [#uses=1]
9157 %tmp23 = load i32* %tmp21 ; <i32> [#uses=2]
9158 %tmp24 = getelementptr i32* %.ptr, i32 %tmp23 ; <i32*> [#uses=1]
9159 %tmp25 = sub i32 %.len, %tmp23 ; <i32> [#uses=1]
9160 %tmp26 = insertvalue %"Act[]" undef, i32 %tmp25, 0 ; <%"Act[]"> [#uses=1]
9161 %tmp27 = insertvalue %"Act[]" %tmp26, i32* %tmp24, 1 ; <%"Act[]"> [#uses=1]
9162 %tmp28 = tail call fastcc %"byte[]" @_D5tango4text7convert3Utf8toStringFAwAaPkZAa(%"Act[]" %tmp27, %"byte[]" zeroinitializer, i32* null) ; <%"byte[]"> [#uses=2]
9163 %.len29 = extractvalue %"byte[]" %tmp28, 0 ; <i32> [#uses=4]
9164 %tmp30 = add i32 %.len29, 28 ; <i32> [#uses=3]
9165 %.nongc_mem = alloca i8, i32 %tmp30, align 1 ; <i8*> [#uses=3]
9166 %.ptr31 = extractvalue %"byte[]" %tmp28, 1 ; <i8*> [#uses=1]
9167 tail call void @llvm.memcpy.i32(i8* %.nongc_mem, i8* getelementptr ([29 x i8]* @.str219, i32 0, i32 0), i32 28, i32 1)
9168 %tmp32 = getelementptr i8* %.nongc_mem, i32 28 ; <i8*> [#uses=1]
9169 tail call void @llvm.memcpy.i32(i8* %tmp32, i8* %.ptr31, i32 %.len29, i32 1)
9170 %tmp34 = add i32 %.len29, 29 ; <i32> [#uses=2]
9171 %.nongc_mem252 = alloca i8, i32 %tmp34, align 1 ; <i8*> [#uses=3]
9172 tail call void @llvm.memcpy.i32(i8* %.nongc_mem252, i8* %.nongc_mem, i32 %tmp30, i32 1)
9173 %tmp37 = getelementptr i8* %.nongc_mem252, i32 %tmp30 ; <i8*> [#uses=1]
9174 store i8 34, i8* %tmp37, align 1
9175 %tmp2.i202 = add i32 %.len29, 37 ; <i32> [#uses=2]
9176 %.gc_mem.i203 = tail call noalias i8* @_d_newarrayvT(%object.TypeInfo* @_D11TypeInfo_Aa6__initZ, i32 %tmp2.i202) ; <i8*> [#uses=3]
9177 %.gc_mem12.i204 = bitcast i8* %.gc_mem.i203 to i64* ; <i64*> [#uses=1]
9178 %tmp.i205 = load i64* bitcast ([9 x i8]* @.str280 to i64*), align 8 ; <i64> [#uses=1]
9179 store i64 %tmp.i205, i64* %.gc_mem12.i204, align 1
9180 %tmp4.i206 = getelementptr i8* %.gc_mem.i203, i32 8 ; <i8*> [#uses=1]
9181 tail call void @llvm.memcpy.i32(i8* %tmp4.i206, i8* %.nongc_mem252, i32 %tmp34, i32 1)
9182 %tmp6.i207 = insertvalue %"byte[]" undef, i32 %tmp2.i202, 0 ; <%"byte[]"> [#uses=1]
9183 %tmp7.i208 = insertvalue %"byte[]" %tmp6.i207, i8* %.gc_mem.i203, 1 ; <%"byte[]"> [#uses=1]
9184 %tmp8.i209 = tail call fastcc %object.Exception* @_D6object9Exception5_ctorMFAaC9ExceptionZC9Exception(%object.Exception* %.newclass_gc, %"byte[]" %tmp7.i208, %object.Exception* null) ; <%object.Exception*> [#uses=0]
9185 %tmp41 = bitcast i8* %.newclass_gc_alloc to %object.Object* ; <%object.Object*> [#uses=1]
9186 tail call void @_d_throw_exception(%object.Object* %tmp41)
9187 unreachable
9188
9189endif12: ; preds = %if.i219
9190 %tmp1.i188 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 7 ; <i32*> [#uses=5]
9191 %tmp4.i190 = load i32* %tmp1.i.i ; <i32> [#uses=2]
9192 store i32 %tmp4.i190, i32* %tmp1.i188
9193 %.len.i192 = load i32* %tmp4.i.i ; <i32> [#uses=1]
9194 %tmp11.i193 = icmp ult i32 %tmp4.i190, %.len.i192 ; <i1> [#uses=1]
9195 br i1 %tmp11.i193, label %if.i197, label %whilecond.i165
9196
9197if.i197: ; preds = %endif12
9198 %tmp13.i194 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 2 ; <%"Act[]"*> [#uses=1]
9199 %tmp14.i195 = load %"Act[]"* %tmp13.i194 ; <%"Act[]"> [#uses=1]
9200 %tmp17.i196 = tail call fastcc i32 @_D5tango4text5Regex6decodeFAwKkZw(%"Act[]" %tmp14.i195, i32* %tmp1.i.i) ; <i32> [#uses=0]
9201 br label %whilecond.i165
9202
9203whilecond.i165: ; preds = %if.i.i184, %endif.i180, %if.i197, %endif12
9204 %res.0.i159 = phi i32 [ 0, %endif12 ], [ 0, %if.i197 ], [ %tmp12.i175, %endif.i180 ], [ %tmp12.i175, %if.i.i184 ] ; <i32> [#uses=2]
9205 %.len.i.i162 = load i32* %tmp4.i.i ; <i32> [#uses=1]
9206 %tmp5.i.i163 = load i32* %tmp1.i.i ; <i32> [#uses=2]
9207 %tmp6.i.i164 = icmp ult i32 %tmp5.i.i163, %.len.i.i162 ; <i1> [#uses=1]
9208 br i1 %tmp6.i.i164, label %whilebody.i166, label %_D5tango4text5Regex11__T4TNFATwZ4TNFA11parseNumberMFZk.exit187
9209
9210whilebody.i166: ; preds = %whilecond.i165
9211 store i32 %tmp5.i.i163, i32* %tmp.i.i158
9212 %tmp10.i.i167 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 2 ; <%"Act[]"*> [#uses=2]
9213 %tmp11.i22.i168 = load %"Act[]"* %tmp10.i.i167 ; <%"Act[]"> [#uses=1]
9214 %tmp12.i.i169 = call fastcc i32 @_D5tango4text5Regex6decodeFAwKkZw(%"Act[]" %tmp11.i22.i168, i32* %tmp.i.i158) ; <i32> [#uses=1]
9215 %phitmp248 = add i32 %tmp12.i.i169, -48 ; <i32> [#uses=2]
9216 %or.cond.i172 = icmp ugt i32 %phitmp248, 9 ; <i1> [#uses=1]
9217 br i1 %or.cond.i172, label %_D5tango4text5Regex11__T4TNFATwZ4TNFA11parseNumberMFZk.exit187, label %endif.i180
9218
9219endif.i180: ; preds = %whilebody.i166
9220 %tmp9.i174 = mul i32 %res.0.i159, 10 ; <i32> [#uses=1]
9221 %tmp12.i175 = add i32 %tmp9.i174, %phitmp248 ; <i32> [#uses=2]
9222 %tmp4.i17.i177 = load i32* %tmp1.i.i ; <i32> [#uses=2]
9223 store i32 %tmp4.i17.i177, i32* %tmp1.i188
9224 %.len.i18.i178 = load i32* %tmp4.i.i ; <i32> [#uses=1]
9225 %tmp11.i.i179 = icmp ult i32 %tmp4.i17.i177, %.len.i18.i178 ; <i1> [#uses=1]
9226 br i1 %tmp11.i.i179, label %if.i.i184, label %whilecond.i165
9227
9228if.i.i184: ; preds = %endif.i180
9229 %tmp14.i.i182 = load %"Act[]"* %tmp10.i.i167 ; <%"Act[]"> [#uses=1]
9230 %tmp17.i.i183 = tail call fastcc i32 @_D5tango4text5Regex6decodeFAwKkZw(%"Act[]" %tmp14.i.i182, i32* %tmp1.i.i) ; <i32> [#uses=0]
9231 br label %whilecond.i165
9232
9233_D5tango4text5Regex11__T4TNFATwZ4TNFA11parseNumberMFZk.exit187: ; preds = %whilebody.i166, %whilecond.i165
9234 store i32 %res.0.i159, i32* %maxOccur_arg
9235 %tmp3.i149 = load i32* %tmp1.i.i ; <i32> [#uses=2]
9236 store i32 %tmp3.i149, i32* %tmp.i147
9237 %.len.i151 = load i32* %tmp4.i.i ; <i32> [#uses=1]
9238 %tmp8.i152 = icmp ult i32 %tmp3.i149, %.len.i151 ; <i1> [#uses=1]
9239 br i1 %tmp8.i152, label %if.i155, label %if49
9240
9241if.i155: ; preds = %_D5tango4text5Regex11__T4TNFATwZ4TNFA11parseNumberMFZk.exit187
9242 %tmp10.i = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 2 ; <%"Act[]"*> [#uses=1]
9243 %tmp11.i153 = load %"Act[]"* %tmp10.i ; <%"Act[]"> [#uses=1]
9244 %tmp12.i154 = call fastcc i32 @_D5tango4text5Regex6decodeFAwKkZw(%"Act[]" %tmp11.i153, i32* %tmp.i147) ; <i32> [#uses=1]
9245 %phitmp249 = icmp eq i32 %tmp12.i154, 125 ; <i1> [#uses=1]
9246 br i1 %phitmp249, label %endif50, label %if49
9247
9248if49: ; preds = %if.i155, %_D5tango4text5Regex11__T4TNFATwZ4TNFA11parseNumberMFZk.exit187
9249 %.newclass_gc_alloc51 = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex15RegExpException7__ClassZ) ; <i8*> [#uses=5]
9250 %.newclass_gc52 = bitcast i8* %.newclass_gc_alloc51 to %object.Exception* ; <%object.Exception*> [#uses=1]
9251 %vtbl53 = bitcast i8* %.newclass_gc_alloc51 to %object.Exception.__vtbl** ; <%object.Exception.__vtbl**> [#uses=1]
9252 store %object.Exception.__vtbl* @_D5tango4text5Regex15RegExpException6__vtblZ, %object.Exception.__vtbl** %vtbl53
9253 %monitor54 = getelementptr i8* %.newclass_gc_alloc51, i32 4 ; <i8*> [#uses=1]
9254 %1 = bitcast i8* %monitor54 to i8** ; <i8**> [#uses=1]
9255 store i8* null, i8** %1
9256 %tmp55 = getelementptr i8* %.newclass_gc_alloc51, i32 8 ; <i8*> [#uses=1]
9257 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)
9258 %tmp61 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 2, i32 1 ; <i32**> [#uses=1]
9259 %.ptr62 = load i32** %tmp61 ; <i32*> [#uses=1]
9260 %.len66 = load i32* %tmp4.i.i ; <i32> [#uses=1]
9261 %tmp67 = load i32* %tmp1.i188 ; <i32> [#uses=2]
9262 %tmp68 = getelementptr i32* %.ptr62, i32 %tmp67 ; <i32*> [#uses=1]
9263 %tmp69 = sub i32 %.len66, %tmp67 ; <i32> [#uses=1]
9264 %tmp70 = insertvalue %"Act[]" undef, i32 %tmp69, 0 ; <%"Act[]"> [#uses=1]
9265 %tmp71 = insertvalue %"Act[]" %tmp70, i32* %tmp68, 1 ; <%"Act[]"> [#uses=1]
9266 %tmp72 = tail call fastcc %"byte[]" @_D5tango4text7convert3Utf8toStringFAwAaPkZAa(%"Act[]" %tmp71, %"byte[]" zeroinitializer, i32* null) ; <%"byte[]"> [#uses=2]
9267 %.len73 = extractvalue %"byte[]" %tmp72, 0 ; <i32> [#uses=4]
9268 %tmp74 = add i32 %.len73, 28 ; <i32> [#uses=3]
9269 %.nongc_mem253 = alloca i8, i32 %tmp74, align 1 ; <i8*> [#uses=3]
9270 %.ptr76 = extractvalue %"byte[]" %tmp72, 1 ; <i8*> [#uses=1]
9271 tail call void @llvm.memcpy.i32(i8* %.nongc_mem253, i8* getelementptr ([29 x i8]* @.str221, i32 0, i32 0), i32 28, i32 1)
9272 %tmp77 = getelementptr i8* %.nongc_mem253, i32 28 ; <i8*> [#uses=1]
9273 tail call void @llvm.memcpy.i32(i8* %tmp77, i8* %.ptr76, i32 %.len73, i32 1)
9274 %tmp79 = add i32 %.len73, 29 ; <i32> [#uses=2]
9275 %.nongc_mem254 = alloca i8, i32 %tmp79, align 1 ; <i8*> [#uses=3]
9276 tail call void @llvm.memcpy.i32(i8* %.nongc_mem254, i8* %.nongc_mem253, i32 %tmp74, i32 1)
9277 %tmp82 = getelementptr i8* %.nongc_mem254, i32 %tmp74 ; <i8*> [#uses=1]
9278 store i8 34, i8* %tmp82, align 1
9279 %tmp2.i139 = add i32 %.len73, 37 ; <i32> [#uses=2]
9280 %.gc_mem.i140 = tail call noalias i8* @_d_newarrayvT(%object.TypeInfo* @_D11TypeInfo_Aa6__initZ, i32 %tmp2.i139) ; <i8*> [#uses=3]
9281 %.gc_mem12.i141 = bitcast i8* %.gc_mem.i140 to i64* ; <i64*> [#uses=1]
9282 %tmp.i142 = load i64* bitcast ([9 x i8]* @.str280 to i64*), align 8 ; <i64> [#uses=1]
9283 store i64 %tmp.i142, i64* %.gc_mem12.i141, align 1
9284 %tmp4.i143 = getelementptr i8* %.gc_mem.i140, i32 8 ; <i8*> [#uses=1]
9285 tail call void @llvm.memcpy.i32(i8* %tmp4.i143, i8* %.nongc_mem254, i32 %tmp79, i32 1)
9286 %tmp6.i144 = insertvalue %"byte[]" undef, i32 %tmp2.i139, 0 ; <%"byte[]"> [#uses=1]
9287 %tmp7.i145 = insertvalue %"byte[]" %tmp6.i144, i8* %.gc_mem.i140, 1 ; <%"byte[]"> [#uses=1]
9288 %tmp8.i146 = tail call fastcc %object.Exception* @_D6object9Exception5_ctorMFAaC9ExceptionZC9Exception(%object.Exception* %.newclass_gc52, %"byte[]" %tmp7.i145, %object.Exception* null) ; <%object.Exception*> [#uses=0]
9289 %tmp86 = bitcast i8* %.newclass_gc_alloc51 to %object.Object* ; <%object.Object*> [#uses=1]
9290 tail call void @_d_throw_exception(%object.Object* %tmp86)
9291 unreachable
9292
9293endif50: ; preds = %if.i155
9294 %tmp4.i134 = load i32* %tmp1.i.i ; <i32> [#uses=2]
9295 store i32 %tmp4.i134, i32* %tmp1.i188
9296 %.len.i = load i32* %tmp4.i.i ; <i32> [#uses=1]
9297 %tmp11.i = icmp ult i32 %tmp4.i134, %.len.i ; <i1> [#uses=1]
9298 br i1 %tmp11.i, label %if.i, label %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit
9299
9300if.i: ; preds = %endif50
9301 %tmp13.i = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 2 ; <%"Act[]"*> [#uses=1]
9302 %tmp14.i = load %"Act[]"* %tmp13.i ; <%"Act[]"> [#uses=1]
9303 %tmp17.i = tail call fastcc i32 @_D5tango4text5Regex6decodeFAwKkZw(%"Act[]" %tmp14.i, i32* %tmp1.i.i) ; <i32> [#uses=0]
9304 br label %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit
9305
9306_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit: ; preds = %if.i, %endif50
9307 %tmp90 = load i32* %maxOccur_arg ; <i32> [#uses=2]
9308 %tmp91 = icmp eq i32 %tmp90, 0 ; <i1> [#uses=1]
9309 br i1 %tmp91, label %endif96, label %andand
9310
9311andand: ; preds = %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit
9312 %tmp93 = load i32* %minOccur_arg ; <i32> [#uses=1]
9313 %tmp94 = icmp ult i32 %tmp90, %tmp93 ; <i1> [#uses=1]
9314 br i1 %tmp94, label %if95, label %endif96
9315
9316if95: ; preds = %andand
9317 %.newclass_gc_alloc97 = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex15RegExpException7__ClassZ) ; <i8*> [#uses=5]
9318 %.newclass_gc98 = bitcast i8* %.newclass_gc_alloc97 to %object.Exception* ; <%object.Exception*> [#uses=1]
9319 %vtbl99 = bitcast i8* %.newclass_gc_alloc97 to %object.Exception.__vtbl** ; <%object.Exception.__vtbl**> [#uses=1]
9320 store %object.Exception.__vtbl* @_D5tango4text5Regex15RegExpException6__vtblZ, %object.Exception.__vtbl** %vtbl99
9321 %monitor100 = getelementptr i8* %.newclass_gc_alloc97, i32 4 ; <i8*> [#uses=1]
9322 %2 = bitcast i8* %monitor100 to i8** ; <i8**> [#uses=1]
9323 store i8* null, i8** %2
9324 %tmp101 = getelementptr i8* %.newclass_gc_alloc97, i32 8 ; <i8*> [#uses=1]
9325 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)
9326 %tmp107 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 2, i32 1 ; <i32**> [#uses=1]
9327 %.ptr108 = load i32** %tmp107 ; <i32*> [#uses=1]
9328 %.len112 = load i32* %tmp4.i.i ; <i32> [#uses=1]
9329 %tmp113 = load i32* %tmp1.i188 ; <i32> [#uses=2]
9330 %tmp114 = getelementptr i32* %.ptr108, i32 %tmp113 ; <i32*> [#uses=1]
9331 %tmp115 = sub i32 %.len112, %tmp113 ; <i32> [#uses=1]
9332 %tmp116 = insertvalue %"Act[]" undef, i32 %tmp115, 0 ; <%"Act[]"> [#uses=1]
9333 %tmp117 = insertvalue %"Act[]" %tmp116, i32* %tmp114, 1 ; <%"Act[]"> [#uses=1]
9334 %tmp118 = tail call fastcc %"byte[]" @_D5tango4text7convert3Utf8toStringFAwAaPkZAa(%"Act[]" %tmp117, %"byte[]" zeroinitializer, i32* null) ; <%"byte[]"> [#uses=2]
9335 %.len119 = extractvalue %"byte[]" %tmp118, 0 ; <i32> [#uses=4]
9336 %tmp120 = add i32 %.len119, 40 ; <i32> [#uses=3]
9337 %.nongc_mem255 = alloca i8, i32 %tmp120, align 1 ; <i8*> [#uses=3]
9338 %.ptr122 = extractvalue %"byte[]" %tmp118, 1 ; <i8*> [#uses=1]
9339 tail call void @llvm.memcpy.i32(i8* %.nongc_mem255, i8* getelementptr ([41 x i8]* @.str223, i32 0, i32 0), i32 40, i32 1)
9340 %tmp123 = getelementptr i8* %.nongc_mem255, i32 40 ; <i8*> [#uses=1]
9341 tail call void @llvm.memcpy.i32(i8* %tmp123, i8* %.ptr122, i32 %.len119, i32 1)
9342 %tmp125 = add i32 %.len119, 41 ; <i32> [#uses=2]
9343 %.nongc_mem256 = alloca i8, i32 %tmp125, align 1 ; <i8*> [#uses=3]
9344 tail call void @llvm.memcpy.i32(i8* %.nongc_mem256, i8* %.nongc_mem255, i32 %tmp120, i32 1)
9345 %tmp128 = getelementptr i8* %.nongc_mem256, i32 %tmp120 ; <i8*> [#uses=1]
9346 store i8 34, i8* %tmp128, align 1
9347 %tmp2.i = add i32 %.len119, 49 ; <i32> [#uses=2]
9348 %.gc_mem.i = tail call noalias i8* @_d_newarrayvT(%object.TypeInfo* @_D11TypeInfo_Aa6__initZ, i32 %tmp2.i) ; <i8*> [#uses=3]
9349 %.gc_mem12.i = bitcast i8* %.gc_mem.i to i64* ; <i64*> [#uses=1]
9350 %tmp.i = load i64* bitcast ([9 x i8]* @.str280 to i64*), align 8 ; <i64> [#uses=1]
9351 store i64 %tmp.i, i64* %.gc_mem12.i, align 1
9352 %tmp4.i = getelementptr i8* %.gc_mem.i, i32 8 ; <i8*> [#uses=1]
9353 tail call void @llvm.memcpy.i32(i8* %tmp4.i, i8* %.nongc_mem256, i32 %tmp125, i32 1)
9354 %tmp6.i = insertvalue %"byte[]" undef, i32 %tmp2.i, 0 ; <%"byte[]"> [#uses=1]
9355 %tmp7.i = insertvalue %"byte[]" %tmp6.i, i8* %.gc_mem.i, 1 ; <%"byte[]"> [#uses=1]
9356 %tmp8.i = tail call fastcc %object.Exception* @_D6object9Exception5_ctorMFAaC9ExceptionZC9Exception(%object.Exception* %.newclass_gc98, %"byte[]" %tmp7.i, %object.Exception* null) ; <%object.Exception*> [#uses=0]
9357 %tmp132 = bitcast i8* %.newclass_gc_alloc97 to %object.Object* ; <%object.Object*> [#uses=1]
9358 tail call void @_d_throw_exception(%object.Object* %tmp132)
9359 unreachable
9360
9361endif96: ; preds = %andand, %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit
9362 ret void
9363}
9364
9365define 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) {
9366entry:
9367 %t = alloca %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*, align 4 ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"**> [#uses=4]
9368 store %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %t_arg, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** %t
9369 %tmp1 = icmp eq %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %t_arg, null ; <i1> [#uses=1]
9370 br i1 %tmp1, label %if, label %endif
9371
9372if: ; preds = %entry
9373 ret %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* null
9374
9375endif: ; preds = %entry
9376 %tmp4 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 11 ; <i8**> [#uses=2]
9377 %tmp5 = load i8** %tmp4 ; <i8*> [#uses=1]
9378 %tmp6 = bitcast i8* %tmp5 to %32* ; <%32*> [#uses=1]
9379 %tmp7 = bitcast %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** %t to i8* ; <i8*> [#uses=2]
9380 %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]
9381 %tmp10 = icmp eq i8* %aa.in, null ; <i1> [#uses=1]
9382 br i1 %tmp10, label %endif12, label %if11
9383
9384if11: ; preds = %endif
9385 %tmp8 = bitcast i8* %aa.in to %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"**> [#uses=1]
9386 %tmp14 = load %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** %tmp8 ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*> [#uses=1]
9387 ret %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %tmp14
9388
9389endif12: ; preds = %endif
9390 %.newclass_gc_alloc = call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransition7__ClassZ) ; <i8*> [#uses=8]
9391 %.newclass_gc = bitcast i8* %.newclass_gc_alloc to %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*> [#uses=3]
9392 %vtbl = bitcast i8* %.newclass_gc_alloc to %object.ModuleInfo.__vtbl** ; <%object.ModuleInfo.__vtbl**> [#uses=1]
9393 store %object.ModuleInfo.__vtbl* @_D5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransition6__vtblZ, %object.ModuleInfo.__vtbl** %vtbl
9394 %monitor = getelementptr i8* %.newclass_gc_alloc, i32 4 ; <i8*> [#uses=1]
9395 %0 = bitcast i8* %monitor to i8** ; <i8**> [#uses=1]
9396 store i8* null, i8** %0
9397 %tmp16 = getelementptr i8* %.newclass_gc_alloc, i32 8 ; <i8*> [#uses=2]
9398 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)
9399 %tmp21 = getelementptr %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %t_arg, i32 0, i32 6 ; <i32*> [#uses=1]
9400 %tmp22 = load i32* %tmp21 ; <i32> [#uses=1]
9401 %tmp1.i = getelementptr i8* %.newclass_gc_alloc, i32 48 ; <i8*> [#uses=1]
9402 %1 = bitcast i8* %tmp1.i to i32* ; <i32*> [#uses=1]
9403 store i32 %tmp22, i32* %1
9404 %tmp26 = bitcast i8** %tmp4 to %32* ; <%32*> [#uses=1]
9405 %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]
9406 %tmp28 = bitcast i8* %aa.index to %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"**> [#uses=1]
9407 store %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %.newclass_gc, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** %tmp28
9408 %tmp31 = getelementptr i8* %.newclass_gc_alloc, i32 44 ; <i8*> [#uses=1]
9409 %2 = bitcast i8* %tmp31 to i32* ; <i32*> [#uses=1]
9410 %tmp32 = load %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** %t ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*> [#uses=3]
9411 %tmp33 = getelementptr %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %tmp32, i32 0, i32 5 ; <i32*> [#uses=1]
9412 %tmp34 = load i32* %tmp33 ; <i32> [#uses=1]
9413 store i32 %tmp34, i32* %2
9414 %tmp36 = getelementptr i8* %.newclass_gc_alloc, i32 40 ; <i8*> [#uses=1]
9415 %3 = bitcast i8* %tmp36 to i32* ; <i32*> [#uses=1]
9416 %tmp38 = getelementptr %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %tmp32, i32 0, i32 4 ; <i32*> [#uses=1]
9417 %tmp39 = load i32* %tmp38 ; <i32> [#uses=1]
9418 store i32 %tmp39, i32* %3
9419 %tmp43 = getelementptr %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %tmp32, i32 0, i32 3 ; <%"tango.text.Regex.Predicate!(dchar).Predicate"*> [#uses=1]
9420 %tmp41 = getelementptr i8* %.newclass_gc_alloc, i32 12 ; <i8*> [#uses=1]
9421 %tmp45 = bitcast %"tango.text.Regex.Predicate!(dchar).Predicate"* %tmp43 to i8* ; <i8*> [#uses=1]
9422 call void @llvm.memcpy.i32(i8* %tmp41, i8* %tmp45, i32 28, i32 1)
9423 %4 = bitcast i8* %tmp16 to %"tango.text.Regex.TNFAState!(dchar).TNFAState"** ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"**> [#uses=1]
9424 %tmp49 = load %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** %t ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*> [#uses=1]
9425 %tmp50 = getelementptr %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %tmp49, i32 0, i32 2 ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"**> [#uses=1]
9426 %tmp51 = load %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %tmp50 ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"*> [#uses=1]
9427 %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]
9428 store %"tango.text.Regex.TNFAState!(dchar).TNFAState"* %tmp52, %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %4
9429 %tmp54 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 9 ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
9430 %tmp55 = load %"tango.text.Regex.List!(TNFATransition).List"** %tmp54 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
9431 %tmp56 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp55, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
9432 %tmp57 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp56 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
9433 %"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]
9434 %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]
9435 %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]
9436 ret %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %.newclass_gc
9437}
9438
9439define 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) {
9440entry:
9441 %s = alloca %"tango.text.Regex.TNFAState!(dchar).TNFAState"*, align 4 ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"**> [#uses=5]
9442 %.frame = alloca %nest.clone, align 8 ; <%nest.clone*> [#uses=3]
9443 store %"tango.text.Regex.TNFAState!(dchar).TNFAState"* %s_arg, %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %s
9444 %s2 = getelementptr %nest.clone* %.frame, i32 0, i32 0 ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"**> [#uses=7]
9445 %this = getelementptr %nest.clone* %.frame, i32 0, i32 1 ; <%"tango.text.Regex.TNFA!(dchar).TNFA"**> [#uses=1]
9446 store %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, %"tango.text.Regex.TNFA!(dchar).TNFA"** %this
9447 %tmp3 = icmp eq %"tango.text.Regex.TNFAState!(dchar).TNFAState"* %s_arg, null ; <i1> [#uses=1]
9448 br i1 %tmp3, label %if, label %endif
9449
9450if: ; preds = %entry
9451 ret %"tango.text.Regex.TNFAState!(dchar).TNFAState"* null
9452
9453endif: ; preds = %entry
9454 %tmp6 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 10 ; <i8**> [#uses=2]
9455 %tmp7 = load i8** %tmp6 ; <i8*> [#uses=1]
9456 %tmp8 = bitcast i8* %tmp7 to %32* ; <%32*> [#uses=1]
9457 %tmp9 = bitcast %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %s to i8* ; <i8*> [#uses=2]
9458 %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]
9459 %tmp12 = icmp eq i8* %aa.in, null ; <i1> [#uses=1]
9460 br i1 %tmp12, label %endif14, label %if13
9461
9462if13: ; preds = %endif
9463 %tmp10 = bitcast i8* %aa.in to %"tango.text.Regex.TNFAState!(dchar).TNFAState"** ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"**> [#uses=1]
9464 %tmp16 = load %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %tmp10 ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"*> [#uses=1]
9465 ret %"tango.text.Regex.TNFAState!(dchar).TNFAState"* %tmp16
9466
9467endif14: ; preds = %endif
9468 %.newclass_gc_alloc = call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex16__T9TNFAStateTwZ9TNFAState7__ClassZ) ; <i8*> [#uses=5]
9469 %.newclass_gc = bitcast i8* %.newclass_gc_alloc to %"tango.text.Regex.TNFAState!(dchar).TNFAState"* ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"*> [#uses=1]
9470 %vtbl = bitcast i8* %.newclass_gc_alloc to %object.ModuleInfo.__vtbl** ; <%object.ModuleInfo.__vtbl**> [#uses=1]
9471 store %object.ModuleInfo.__vtbl* @_D5tango4text5Regex16__T9TNFAStateTwZ9TNFAState6__vtblZ, %object.ModuleInfo.__vtbl** %vtbl
9472 %monitor = getelementptr i8* %.newclass_gc_alloc, i32 4 ; <i8*> [#uses=1]
9473 %0 = bitcast i8* %monitor to i8** ; <i8**> [#uses=1]
9474 store i8* null, i8** %0
9475 %tmp18 = getelementptr i8* %.newclass_gc_alloc, i32 8 ; <i8*> [#uses=1]
9476 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)
9477 %tmp1.i = getelementptr i8* %.newclass_gc_alloc, i32 16 ; <i8*> [#uses=1]
9478 %1 = bitcast i8* %tmp1.i to %"tango.text.Regex.List!(TNFATransition).List"** ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
9479 %.newclass_gc_alloc.i = call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7__ClassZ) ; <i8*> [#uses=4]
9480 %.newclass_gc.i = bitcast i8* %.newclass_gc_alloc.i to %"tango.text.Regex.List!(TNFATransition).List"* ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
9481 %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]
9482 store %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__vtblZ, %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %vtbl.i
9483 %monitor.i = getelementptr i8* %.newclass_gc_alloc.i, i32 4 ; <i8*> [#uses=1]
9484 %2 = bitcast i8* %monitor.i to i8** ; <i8**> [#uses=1]
9485 store i8* null, i8** %2
9486 %tmp2.i = getelementptr i8* %.newclass_gc_alloc.i, i32 8 ; <i8*> [#uses=1]
9487 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)
9488 store %"tango.text.Regex.List!(TNFATransition).List"* %.newclass_gc.i, %"tango.text.Regex.List!(TNFATransition).List"** %1
9489 store %"tango.text.Regex.TNFAState!(dchar).TNFAState"* %.newclass_gc, %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %s2, align 8
9490 %tmp25 = bitcast i8** %tmp6 to %32* ; <%32*> [#uses=1]
9491 %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]
9492 %tmp27 = bitcast i8* %aa.index to %"tango.text.Regex.TNFAState!(dchar).TNFAState"** ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"**> [#uses=1]
9493 %tmp28 = load %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %s2, align 8 ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"*> [#uses=1]
9494 store %"tango.text.Regex.TNFAState!(dchar).TNFAState"* %tmp28, %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %tmp27
9495 %tmp29 = load %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %s2, align 8 ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"*> [#uses=1]
9496 %tmp30 = getelementptr %"tango.text.Regex.TNFAState!(dchar).TNFAState"* %tmp29, i32 0, i32 2 ; <i1*> [#uses=1]
9497 %tmp31 = load %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %s ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"*> [#uses=1]
9498 %tmp32 = getelementptr %"tango.text.Regex.TNFAState!(dchar).TNFAState"* %tmp31, i32 0, i32 2 ; <i1*> [#uses=1]
9499 %tmp33 = load i1* %tmp32 ; <i1> [#uses=1]
9500 store i1 %tmp33, i1* %tmp30
9501 %tmp34 = load %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %s2, align 8 ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"*> [#uses=1]
9502 %tmp35 = getelementptr %"tango.text.Regex.TNFAState!(dchar).TNFAState"* %tmp34, i32 0, i32 3 ; <i1*> [#uses=1]
9503 %tmp36 = load %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %s ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"*> [#uses=1]
9504 %tmp37 = getelementptr %"tango.text.Regex.TNFAState!(dchar).TNFAState"* %tmp36, i32 0, i32 3 ; <i1*> [#uses=1]
9505 %tmp38 = load i1* %tmp37 ; <i1> [#uses=1]
9506 store i1 %tmp38, i1* %tmp35
9507 %tmp39 = load %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %s ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"*> [#uses=1]
9508 %tmp40 = getelementptr %"tango.text.Regex.TNFAState!(dchar).TNFAState"* %tmp39, i32 0, i32 5 ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
9509 %tmp41 = load %"tango.text.Regex.List!(TNFATransition).List"** %tmp40 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
9510 %tmp42 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp41, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
9511 %tmp43 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp42 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
9512 %"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]
9513 %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]
9514 %tmp45 = bitcast %nest.clone* %.frame to i8* ; <i8*> [#uses=1]
9515 %tmp46 = insertvalue %"int delegate(ref TNFATransition)" undef, i8* %tmp45, 0 ; <%"int delegate(ref TNFATransition)"> [#uses=1]
9516 %.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]
9517 %tmp47 = call fastcc i32 %s.transitions.opApply(%"tango.text.Regex.List!(TNFATransition).List"* %tmp41, %"int delegate(ref TNFATransition)" %.func) ; <i32> [#uses=0]
9518 %tmp48 = load %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %s2, align 8 ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"*> [#uses=1]
9519 %tmp49 = getelementptr %"tango.text.Regex.TNFAState!(dchar).TNFAState"* %tmp48, i32 0, i32 4 ; <i32*> [#uses=1]
9520 %tmp52 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 3, i32 0 ; <i32*> [#uses=3]
9521 %.len = load i32* %tmp52 ; <i32> [#uses=1]
9522 store i32 %.len, i32* %tmp49
9523 %.len56 = load i32* %tmp52 ; <i32> [#uses=3]
9524 %tmp57 = add i32 %.len56, 1 ; <i32> [#uses=2]
9525 %tmp60 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 3, i32 1 ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"***> [#uses=2]
9526 %.ptr = load %"tango.text.Regex.TNFAState!(dchar).TNFAState"*** %tmp60 ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"**> [#uses=1]
9527 %tmp61 = bitcast %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %.ptr to i8* ; <i8*> [#uses=1]
9528 %.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]
9529 %.gc_mem62 = bitcast i8* %.gc_mem to %"tango.text.Regex.TNFAState!(dchar).TNFAState"** ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"**> [#uses=2]
9530 %tmp63 = getelementptr %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %.gc_mem62, i32 %.len56 ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"**> [#uses=1]
9531 %tmp64 = load %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %s2, align 8 ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"*> [#uses=1]
9532 store %"tango.text.Regex.TNFAState!(dchar).TNFAState"* %tmp64, %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %tmp63
9533 store i32 %tmp57, i32* %tmp52
9534 store %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %.gc_mem62, %"tango.text.Regex.TNFAState!(dchar).TNFAState"*** %tmp60
9535 %tmp67 = load %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %s2, align 8 ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"*> [#uses=1]
9536 ret %"tango.text.Regex.TNFAState!(dchar).TNFAState"* %tmp67
9537}
9538
9539define 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) {
9540entry:
9541 %.frame = alloca %33, align 8 ; <%33*> [#uses=3]
9542 %f2 = getelementptr %33* %.frame, i32 0, i32 0 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"**> [#uses=2]
9543 %this = getelementptr %33* %.frame, i32 0, i32 1 ; <%"tango.text.Regex.TNFA!(dchar).TNFA"**> [#uses=1]
9544 store %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, %"tango.text.Regex.TNFA!(dchar).TNFA"** %this
9545 %tmp3 = icmp eq %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %f_arg, null ; <i1> [#uses=1]
9546 br i1 %tmp3, label %if, label %endif
9547
9548if: ; preds = %entry
9549 ret %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* null
9550
9551endif: ; preds = %entry
9552 %tmp5 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 10 ; <i8**> [#uses=1]
9553 store i8* null, i8** %tmp5
9554 %tmp7 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 11 ; <i8**> [#uses=1]
9555 store i8* null, i8** %tmp7
9556 %.newclass_gc_alloc = call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment7__ClassZ) ; <i8*> [#uses=7]
9557 %.newclass_gc = bitcast i8* %.newclass_gc_alloc to %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*> [#uses=1]
9558 %vtbl = bitcast i8* %.newclass_gc_alloc to %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"** ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"**> [#uses=1]
9559 store %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"* @_D5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment6__vtblZ, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"** %vtbl
9560 %monitor = getelementptr i8* %.newclass_gc_alloc, i32 4 ; <i8*> [#uses=1]
9561 %0 = bitcast i8* %monitor to i8** ; <i8**> [#uses=1]
9562 store i8* null, i8** %0
9563 %tmp8 = getelementptr i8* %.newclass_gc_alloc, i32 8 ; <i8*> [#uses=2]
9564 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)
9565 %1 = bitcast i8* %tmp8 to %"tango.text.Regex.List!(TNFATransition).List"** ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
9566 %.newclass_gc_alloc.i = call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7__ClassZ) ; <i8*> [#uses=4]
9567 %.newclass_gc.i = bitcast i8* %.newclass_gc_alloc.i to %"tango.text.Regex.List!(TNFATransition).List"* ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
9568 %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]
9569 store %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__vtblZ, %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %vtbl.i
9570 %monitor.i = getelementptr i8* %.newclass_gc_alloc.i, i32 4 ; <i8*> [#uses=1]
9571 %2 = bitcast i8* %monitor.i to i8** ; <i8**> [#uses=1]
9572 store i8* null, i8** %2
9573 %tmp2.i = getelementptr i8* %.newclass_gc_alloc.i, i32 8 ; <i8*> [#uses=1]
9574 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)
9575 store %"tango.text.Regex.List!(TNFATransition).List"* %.newclass_gc.i, %"tango.text.Regex.List!(TNFATransition).List"** %1
9576 %tmp7.i = getelementptr i8* %.newclass_gc_alloc, i32 12 ; <i8*> [#uses=1]
9577 %3 = bitcast i8* %tmp7.i to %"tango.text.Regex.List!(TNFATransition).List"** ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
9578 %.newclass_gc_alloc8.i = call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7__ClassZ) ; <i8*> [#uses=4]
9579 %.newclass_gc9.i = bitcast i8* %.newclass_gc_alloc8.i to %"tango.text.Regex.List!(TNFATransition).List"* ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
9580 %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]
9581 store %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__vtblZ, %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %vtbl10.i
9582 %monitor11.i = getelementptr i8* %.newclass_gc_alloc8.i, i32 4 ; <i8*> [#uses=1]
9583 %4 = bitcast i8* %monitor11.i to i8** ; <i8**> [#uses=1]
9584 store i8* null, i8** %4
9585 %tmp12.i = getelementptr i8* %.newclass_gc_alloc8.i, i32 8 ; <i8*> [#uses=1]
9586 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)
9587 store %"tango.text.Regex.List!(TNFATransition).List"* %.newclass_gc9.i, %"tango.text.Regex.List!(TNFATransition).List"** %3
9588 %tmp17.i = getelementptr i8* %.newclass_gc_alloc, i32 16 ; <i8*> [#uses=1]
9589 %5 = bitcast i8* %tmp17.i to %"tango.text.Regex.List!(TNFATransition).List"** ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
9590 %.newclass_gc_alloc18.i = call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7__ClassZ) ; <i8*> [#uses=4]
9591 %.newclass_gc19.i = bitcast i8* %.newclass_gc_alloc18.i to %"tango.text.Regex.List!(TNFATransition).List"* ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
9592 %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]
9593 store %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__vtblZ, %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %vtbl20.i
9594 %monitor21.i = getelementptr i8* %.newclass_gc_alloc18.i, i32 4 ; <i8*> [#uses=1]
9595 %6 = bitcast i8* %monitor21.i to i8** ; <i8**> [#uses=1]
9596 store i8* null, i8** %6
9597 %tmp22.i = getelementptr i8* %.newclass_gc_alloc18.i, i32 8 ; <i8*> [#uses=1]
9598 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)
9599 store %"tango.text.Regex.List!(TNFATransition).List"* %.newclass_gc19.i, %"tango.text.Regex.List!(TNFATransition).List"** %5
9600 %tmp27.i = getelementptr i8* %.newclass_gc_alloc, i32 20 ; <i8*> [#uses=1]
9601 %7 = bitcast i8* %tmp27.i to %"tango.text.Regex.List!(TNFATransition).List"** ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
9602 %.newclass_gc_alloc28.i = call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7__ClassZ) ; <i8*> [#uses=4]
9603 %.newclass_gc29.i = bitcast i8* %.newclass_gc_alloc28.i to %"tango.text.Regex.List!(TNFATransition).List"* ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
9604 %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]
9605 store %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__vtblZ, %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %vtbl30.i
9606 %monitor31.i = getelementptr i8* %.newclass_gc_alloc28.i, i32 4 ; <i8*> [#uses=1]
9607 %8 = bitcast i8* %monitor31.i to i8** ; <i8**> [#uses=1]
9608 store i8* null, i8** %8
9609 %tmp32.i = getelementptr i8* %.newclass_gc_alloc28.i, i32 8 ; <i8*> [#uses=1]
9610 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)
9611 store %"tango.text.Regex.List!(TNFATransition).List"* %.newclass_gc29.i, %"tango.text.Regex.List!(TNFATransition).List"** %7
9612 store %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %.newclass_gc, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"** %f2, align 8
9613 %tmp14 = getelementptr %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %f_arg, i32 0, i32 2 ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
9614 %tmp15 = load %"tango.text.Regex.List!(TNFATransition).List"** %tmp14 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
9615 %tmp16 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp15, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
9616 %tmp17 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp16 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
9617 %"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]
9618 %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]
9619 %tmp19 = bitcast %33* %.frame to i8* ; <i8*> [#uses=4]
9620 %tmp20 = insertvalue %"int delegate(ref TNFATransition)" undef, i8* %tmp19, 0 ; <%"int delegate(ref TNFATransition)"> [#uses=1]
9621 %.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]
9622 %tmp21 = call fastcc i32 %f.entries.opApply(%"tango.text.Regex.List!(TNFATransition).List"* %tmp15, %"int delegate(ref TNFATransition)" %.func) ; <i32> [#uses=0]
9623 %tmp23 = getelementptr %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %f_arg, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
9624 %tmp24 = load %"tango.text.Regex.List!(TNFATransition).List"** %tmp23 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
9625 %tmp25 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp24, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
9626 %tmp26 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp25 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
9627 %"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]
9628 %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]
9629 %tmp29 = insertvalue %"int delegate(ref TNFATransition)" undef, i8* %tmp19, 0 ; <%"int delegate(ref TNFATransition)"> [#uses=1]
9630 %.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]
9631 %tmp31 = call fastcc i32 %f.exits.opApply(%"tango.text.Regex.List!(TNFATransition).List"* %tmp24, %"int delegate(ref TNFATransition)" %.func30) ; <i32> [#uses=0]
9632 %tmp33 = getelementptr %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %f_arg, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
9633 %tmp34 = load %"tango.text.Regex.List!(TNFATransition).List"** %tmp33 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
9634 %tmp35 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp34, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
9635 %tmp36 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp35 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
9636 %"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]
9637 %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]
9638 %tmp39 = insertvalue %"int delegate(ref TNFATransition)" undef, i8* %tmp19, 0 ; <%"int delegate(ref TNFATransition)"> [#uses=1]
9639 %.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]
9640 %tmp41 = call fastcc i32 %f.entry_state.opApply(%"tango.text.Regex.List!(TNFATransition).List"* %tmp34, %"int delegate(ref TNFATransition)" %.func40) ; <i32> [#uses=0]
9641 %tmp43 = getelementptr %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %f_arg, i32 0, i32 5 ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
9642 %tmp44 = load %"tango.text.Regex.List!(TNFATransition).List"** %tmp43 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
9643 %tmp45 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp44, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
9644 %tmp46 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp45 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
9645 %"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]
9646 %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]
9647 %tmp49 = insertvalue %"int delegate(ref TNFATransition)" undef, i8* %tmp19, 0 ; <%"int delegate(ref TNFATransition)"> [#uses=1]
9648 %.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]
9649 %tmp51 = call fastcc i32 %f.exit_state.opApply(%"tango.text.Regex.List!(TNFATransition).List"* %tmp44, %"int delegate(ref TNFATransition)" %.func50) ; <i32> [#uses=0]
9650 %tmp52 = load %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"** %f2, align 8 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*> [#uses=1]
9651 ret %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %tmp52
9652}
9653
9654define 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) {
9655entry:
9656 %.newclass_gc_alloc.i = call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransition7__ClassZ) ; <i8*> [#uses=8]
9657 %.newclass_gc.i = bitcast i8* %.newclass_gc_alloc.i to %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*> [#uses=3]
9658 %vtbl.i = bitcast i8* %.newclass_gc_alloc.i to %object.ModuleInfo.__vtbl** ; <%object.ModuleInfo.__vtbl**> [#uses=1]
9659 store %object.ModuleInfo.__vtbl* @_D5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransition6__vtblZ, %object.ModuleInfo.__vtbl** %vtbl.i
9660 %monitor.i = getelementptr i8* %.newclass_gc_alloc.i, i32 4 ; <i8*> [#uses=1]
9661 %0 = bitcast i8* %monitor.i to i8** ; <i8**> [#uses=1]
9662 store i8* null, i8** %0
9663 %tmp.i = getelementptr i8* %.newclass_gc_alloc.i, i32 8 ; <i8*> [#uses=1]
9664 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)
9665 %tmp1.i.i = getelementptr i8* %.newclass_gc_alloc.i, i32 48 ; <i8*> [#uses=1]
9666 %1 = bitcast i8* %tmp1.i.i to i32* ; <i32*> [#uses=1]
9667 store i32 1, i32* %1
9668 %tmp7.i = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 9 ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
9669 %tmp8.i = load %"tango.text.Regex.List!(TNFATransition).List"** %tmp7.i ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
9670 %tmp9.i = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp8.i, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
9671 %tmp10.i = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp9.i ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
9672 %"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]
9673 %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]
9674 %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]
9675 %tmp2.i.i = getelementptr i8* %.newclass_gc_alloc.i, i32 12 ; <i8*> [#uses=1]
9676 %2 = bitcast i8* %tmp2.i.i to i32* ; <i32*> [#uses=2]
9677 %.len.i.i = load i32* %2 ; <i32> [#uses=3]
9678 %tmp3.i.i = add i32 %.len.i.i, 1 ; <i32> [#uses=2]
9679 %tmp6.i.i = getelementptr i8* %.newclass_gc_alloc.i, i32 16 ; <i8*> [#uses=1]
9680 %3 = bitcast i8* %tmp6.i.i to %tango.net.Socket.timeval** ; <%tango.net.Socket.timeval**> [#uses=2]
9681 %.ptr.i.i = load %tango.net.Socket.timeval** %3 ; <%tango.net.Socket.timeval*> [#uses=1]
9682 %tmp7.i.i = bitcast %tango.net.Socket.timeval* %.ptr.i.i to i8* ; <i8*> [#uses=1]
9683 %.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]
9684 %.gc_mem8.i.i = bitcast i8* %.gc_mem.i.i to %tango.net.Socket.timeval* ; <%tango.net.Socket.timeval*> [#uses=2]
9685 %tmp9.i.i = getelementptr %tango.net.Socket.timeval* %.gc_mem8.i.i, i32 %.len.i.i ; <%tango.net.Socket.timeval*> [#uses=1]
9686 %tmp1015.i.i = bitcast %tango.net.Socket.timeval* %tmp9.i.i to i64* ; <i64*> [#uses=1]
9687 %4 = zext i32 %c_arg to i64 ; <i64> [#uses=2]
9688 %5 = shl i64 %4, 32 ; <i64> [#uses=1]
9689 %6 = or i64 %4, %5 ; <i64> [#uses=1]
9690 store i64 %6, i64* %tmp1015.i.i, align 1
9691 store i32 %tmp3.i.i, i32* %2
9692 store %tango.net.Socket.timeval* %.gc_mem8.i.i, %tango.net.Socket.timeval** %3
9693 %tmp7 = getelementptr i8* %.newclass_gc_alloc.i, i32 20 ; <i8*> [#uses=1]
9694 %7 = bitcast i8* %tmp7 to i32* ; <i32*> [#uses=1]
9695 store i32 %type_arg, i32* %7
9696 %.newclass_gc_alloc = call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment7__ClassZ) ; <i8*> [#uses=7]
9697 %.newclass_gc = bitcast i8* %.newclass_gc_alloc to %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*> [#uses=1]
9698 %vtbl = bitcast i8* %.newclass_gc_alloc to %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"** ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"**> [#uses=1]
9699 store %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"* @_D5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment6__vtblZ, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"** %vtbl
9700 %monitor = getelementptr i8* %.newclass_gc_alloc, i32 4 ; <i8*> [#uses=1]
9701 %8 = bitcast i8* %monitor to i8** ; <i8**> [#uses=1]
9702 store i8* null, i8** %8
9703 %tmp9 = getelementptr i8* %.newclass_gc_alloc, i32 8 ; <i8*> [#uses=2]
9704 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)
9705 %9 = bitcast i8* %tmp9 to %"tango.text.Regex.List!(TNFATransition).List"** ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
9706 %.newclass_gc_alloc.i32 = call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7__ClassZ) ; <i8*> [#uses=5]
9707 %.newclass_gc.i33 = bitcast i8* %.newclass_gc_alloc.i32 to %"tango.text.Regex.List!(TNFATransition).List"* ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
9708 %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]
9709 store %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__vtblZ, %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %vtbl.i34
9710 %monitor.i35 = getelementptr i8* %.newclass_gc_alloc.i32, i32 4 ; <i8*> [#uses=1]
9711 %10 = bitcast i8* %monitor.i35 to i8** ; <i8**> [#uses=1]
9712 store i8* null, i8** %10
9713 %tmp2.i = getelementptr i8* %.newclass_gc_alloc.i32, i32 8 ; <i8*> [#uses=1]
9714 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)
9715 store %"tango.text.Regex.List!(TNFATransition).List"* %.newclass_gc.i33, %"tango.text.Regex.List!(TNFATransition).List"** %9
9716 %tmp7.i36 = getelementptr i8* %.newclass_gc_alloc, i32 12 ; <i8*> [#uses=1]
9717 %11 = bitcast i8* %tmp7.i36 to %"tango.text.Regex.List!(TNFATransition).List"** ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
9718 %.newclass_gc_alloc8.i = call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7__ClassZ) ; <i8*> [#uses=4]
9719 %.newclass_gc9.i = bitcast i8* %.newclass_gc_alloc8.i to %"tango.text.Regex.List!(TNFATransition).List"* ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
9720 %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]
9721 store %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__vtblZ, %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %vtbl10.i
9722 %monitor11.i = getelementptr i8* %.newclass_gc_alloc8.i, i32 4 ; <i8*> [#uses=1]
9723 %12 = bitcast i8* %monitor11.i to i8** ; <i8**> [#uses=1]
9724 store i8* null, i8** %12
9725 %tmp12.i = getelementptr i8* %.newclass_gc_alloc8.i, i32 8 ; <i8*> [#uses=1]
9726 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)
9727 store %"tango.text.Regex.List!(TNFATransition).List"* %.newclass_gc9.i, %"tango.text.Regex.List!(TNFATransition).List"** %11
9728 %tmp17.i = getelementptr i8* %.newclass_gc_alloc, i32 16 ; <i8*> [#uses=1]
9729 %13 = bitcast i8* %tmp17.i to %"tango.text.Regex.List!(TNFATransition).List"** ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
9730 %.newclass_gc_alloc18.i = call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7__ClassZ) ; <i8*> [#uses=4]
9731 %.newclass_gc19.i = bitcast i8* %.newclass_gc_alloc18.i to %"tango.text.Regex.List!(TNFATransition).List"* ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
9732 %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]
9733 store %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__vtblZ, %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %vtbl20.i
9734 %monitor21.i = getelementptr i8* %.newclass_gc_alloc18.i, i32 4 ; <i8*> [#uses=1]
9735 %14 = bitcast i8* %monitor21.i to i8** ; <i8**> [#uses=1]
9736 store i8* null, i8** %14
9737 %tmp22.i = getelementptr i8* %.newclass_gc_alloc18.i, i32 8 ; <i8*> [#uses=1]
9738 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)
9739 store %"tango.text.Regex.List!(TNFATransition).List"* %.newclass_gc19.i, %"tango.text.Regex.List!(TNFATransition).List"** %13
9740 %tmp27.i = getelementptr i8* %.newclass_gc_alloc, i32 20 ; <i8*> [#uses=1]
9741 %15 = bitcast i8* %tmp27.i to %"tango.text.Regex.List!(TNFATransition).List"** ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
9742 %.newclass_gc_alloc28.i = call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7__ClassZ) ; <i8*> [#uses=5]
9743 %.newclass_gc29.i = bitcast i8* %.newclass_gc_alloc28.i to %"tango.text.Regex.List!(TNFATransition).List"* ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
9744 %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]
9745 store %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__vtblZ, %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %vtbl30.i
9746 %monitor31.i = getelementptr i8* %.newclass_gc_alloc28.i, i32 4 ; <i8*> [#uses=1]
9747 %16 = bitcast i8* %monitor31.i to i8** ; <i8**> [#uses=1]
9748 store i8* null, i8** %16
9749 %tmp32.i = getelementptr i8* %.newclass_gc_alloc28.i, i32 8 ; <i8*> [#uses=1]
9750 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)
9751 store %"tango.text.Regex.List!(TNFATransition).List"* %.newclass_gc29.i, %"tango.text.Regex.List!(TNFATransition).List"** %15
9752 %tmp17 = bitcast i8* %.newclass_gc_alloc28.i to %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
9753 %tmp18 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp17 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
9754 %"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]
9755 %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]
9756 %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]
9757 %tmp25 = bitcast i8* %.newclass_gc_alloc.i32 to %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
9758 %tmp26 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp25 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
9759 %"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]
9760 %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]
9761 %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]
9762 ret %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %.newclass_gc
9763}
9764
9765define 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) {
9766entry:
9767 %cc = alloca %"tango.text.Regex.CharClass!(dchar).CharClass", align 8 ; <%"tango.text.Regex.CharClass!(dchar).CharClass"*> [#uses=4]
9768 %chars_arg13 = extractvalue %"Act[]" %chars_arg, 0 ; <i32> [#uses=1]
9769 %chars_arg14 = extractvalue %"Act[]" %chars_arg, 1 ; <i32*> [#uses=1]
9770 %cc15 = bitcast %"tango.text.Regex.CharClass!(dchar).CharClass"* %cc to i64* ; <i64*> [#uses=1]
9771 store i64 0, i64* %cc15, align 8
9772 br label %forcond
9773
9774forcond: ; preds = %forbody, %entry
9775 %i.0 = phi i32 [ 0, %entry ], [ %tmp9, %forbody ] ; <i32> [#uses=3]
9776 %tmp3 = icmp ult i32 %i.0, %chars_arg13 ; <i1> [#uses=1]
9777 br i1 %tmp3, label %forbody, label %endfor
9778
9779forbody: ; preds = %forcond
9780 %tmp6 = getelementptr i32* %chars_arg14, i32 %i.0 ; <i32*> [#uses=1]
9781 %tmp7 = load i32* %tmp6 ; <i32> [#uses=1]
9782 %tmp2.i = getelementptr %"tango.text.Regex.CharClass!(dchar).CharClass"* %cc, i32 0, i32 0, i32 0 ; <i32*> [#uses=2]
9783 %.len.i = load i32* %tmp2.i, align 8 ; <i32> [#uses=3]
9784 %tmp3.i = add i32 %.len.i, 1 ; <i32> [#uses=2]
9785 %tmp6.i = getelementptr %"tango.text.Regex.CharClass!(dchar).CharClass"* %cc, i32 0, i32 0, i32 1 ; <%tango.net.Socket.timeval**> [#uses=2]
9786 %.ptr.i = load %tango.net.Socket.timeval** %tmp6.i ; <%tango.net.Socket.timeval*> [#uses=1]
9787 %tmp7.i = bitcast %tango.net.Socket.timeval* %.ptr.i to i8* ; <i8*> [#uses=1]
9788 %.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]
9789 %.gc_mem8.i = bitcast i8* %.gc_mem.i to %tango.net.Socket.timeval* ; <%tango.net.Socket.timeval*> [#uses=2]
9790 %tmp9.i = getelementptr %tango.net.Socket.timeval* %.gc_mem8.i, i32 %.len.i ; <%tango.net.Socket.timeval*> [#uses=1]
9791 %tmp1116.i = bitcast %tango.net.Socket.timeval* %tmp9.i to i64* ; <i64*> [#uses=1]
9792 %0 = zext i32 %tmp7 to i64 ; <i64> [#uses=2]
9793 %1 = shl i64 %0, 32 ; <i64> [#uses=1]
9794 %2 = or i64 %0, %1 ; <i64> [#uses=1]
9795 store i64 %2, i64* %tmp1116.i, align 1
9796 store i32 %tmp3.i, i32* %tmp2.i, align 8
9797 store %tango.net.Socket.timeval* %.gc_mem8.i, %tango.net.Socket.timeval** %tmp6.i
9798 %tmp9 = add i32 %i.0, 1 ; <i32> [#uses=1]
9799 br label %forcond
9800
9801endfor: ; preds = %forcond
9802 %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]
9803 ret %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %tmp12
9804}
9805
9806define 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) {
9807entry:
9808 %.newclass_gc_alloc.i = call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransition7__ClassZ) ; <i8*> [#uses=7]
9809 %.newclass_gc.i = bitcast i8* %.newclass_gc_alloc.i to %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*> [#uses=3]
9810 %vtbl.i = bitcast i8* %.newclass_gc_alloc.i to %object.ModuleInfo.__vtbl** ; <%object.ModuleInfo.__vtbl**> [#uses=1]
9811 store %object.ModuleInfo.__vtbl* @_D5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransition6__vtblZ, %object.ModuleInfo.__vtbl** %vtbl.i
9812 %monitor.i = getelementptr i8* %.newclass_gc_alloc.i, i32 4 ; <i8*> [#uses=1]
9813 %0 = bitcast i8* %monitor.i to i8** ; <i8**> [#uses=1]
9814 store i8* null, i8** %0
9815 %tmp.i = getelementptr i8* %.newclass_gc_alloc.i, i32 8 ; <i8*> [#uses=1]
9816 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)
9817 %tmp1.i.i = getelementptr i8* %.newclass_gc_alloc.i, i32 48 ; <i8*> [#uses=1]
9818 %1 = bitcast i8* %tmp1.i.i to i32* ; <i32*> [#uses=1]
9819 store i32 1, i32* %1
9820 %tmp7.i = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 9 ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
9821 %tmp8.i = load %"tango.text.Regex.List!(TNFATransition).List"** %tmp7.i ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
9822 %tmp9.i = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp8.i, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
9823 %tmp10.i = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp9.i ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
9824 %"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]
9825 %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]
9826 %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]
9827 %tmp4 = getelementptr i8* %.newclass_gc_alloc.i, i32 20 ; <i8*> [#uses=1]
9828 %2 = bitcast i8* %tmp4 to i32* ; <i32*> [#uses=1]
9829 store i32 %type_arg, i32* %2
9830 %3 = bitcast %"tango.text.Regex.CharClass!(dchar).CharClass"* %charclass_arg to i64* ; <i64*> [#uses=1]
9831 %srcval = load i64* %3, align 1 ; <i64> [#uses=2]
9832 %tmp51 = lshr i64 %srcval, 32 ; <i64> [#uses=1]
9833 %tmp52 = trunc i64 %tmp51 to i32 ; <i32> [#uses=1]
9834 %tmp53 = insertvalue %"byte[]" undef, i32 %tmp52, 0 ; <%"byte[]"> [#uses=1]
9835 %tmp54 = trunc i64 %srcval to i32 ; <i32> [#uses=1]
9836 %tmp55 = inttoptr i32 %tmp54 to i8* ; <i8*> [#uses=1]
9837 %tmp56 = insertvalue %"byte[]" %tmp53, i8* %tmp55, 1 ; <%"byte[]"> [#uses=1]
9838 %tmp5.i = call %"byte[]" @_adDupT(%object.TypeInfo* bitcast (%object.TypeInfo_Array* @_D56TypeInfo_AS5tango4text5Regex16__T9CharRangeTwZ9CharRange6__initZ to %object.TypeInfo*), %"byte[]" %tmp56) ; <%"byte[]"> [#uses=2]
9839 %tmp6.i = extractvalue %"byte[]" %tmp5.i, 0 ; <i32> [#uses=1]
9840 %tmp8.i33 = extractvalue %"byte[]" %tmp5.i, 1 ; <i8*> [#uses=1]
9841 %tmp59 = zext i32 %tmp6.i to i64 ; <i64> [#uses=1]
9842 %tmp60 = shl i64 %tmp59, 32 ; <i64> [#uses=1]
9843 %tmp = ptrtoint i8* %tmp8.i33 to i32 ; <i32> [#uses=1]
9844 %tmp57 = zext i32 %tmp to i64 ; <i64> [#uses=1]
9845 %ins = or i64 %tmp60, %tmp57 ; <i64> [#uses=1]
9846 %tmp7 = getelementptr i8* %.newclass_gc_alloc.i, i32 12 ; <i8*> [#uses=2]
9847 %tmp25.i = bitcast i8* %tmp7 to i64* ; <i64*> [#uses=1]
9848 store i64 %ins, i64* %tmp25.i, align 1
9849 %4 = bitcast i8* %tmp7 to %"tango.text.Regex.CharClass!(dchar).CharClass"* ; <%"tango.text.Regex.CharClass!(dchar).CharClass"*> [#uses=1]
9850 call fastcc void @_D5tango4text5Regex16__T9CharClassTwZ9CharClass8optimizeMFZv(%"tango.text.Regex.CharClass!(dchar).CharClass"* %4)
9851 %.newclass_gc_alloc = call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment7__ClassZ) ; <i8*> [#uses=7]
9852 %.newclass_gc = bitcast i8* %.newclass_gc_alloc to %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*> [#uses=1]
9853 %vtbl = bitcast i8* %.newclass_gc_alloc to %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"** ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"**> [#uses=1]
9854 store %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"* @_D5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment6__vtblZ, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"** %vtbl
9855 %monitor = getelementptr i8* %.newclass_gc_alloc, i32 4 ; <i8*> [#uses=1]
9856 %5 = bitcast i8* %monitor to i8** ; <i8**> [#uses=1]
9857 store i8* null, i8** %5
9858 %tmp10 = getelementptr i8* %.newclass_gc_alloc, i32 8 ; <i8*> [#uses=2]
9859 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)
9860 %6 = bitcast i8* %tmp10 to %"tango.text.Regex.List!(TNFATransition).List"** ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
9861 %.newclass_gc_alloc.i39 = call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7__ClassZ) ; <i8*> [#uses=5]
9862 %.newclass_gc.i40 = bitcast i8* %.newclass_gc_alloc.i39 to %"tango.text.Regex.List!(TNFATransition).List"* ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
9863 %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]
9864 store %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__vtblZ, %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %vtbl.i41
9865 %monitor.i42 = getelementptr i8* %.newclass_gc_alloc.i39, i32 4 ; <i8*> [#uses=1]
9866 %7 = bitcast i8* %monitor.i42 to i8** ; <i8**> [#uses=1]
9867 store i8* null, i8** %7
9868 %tmp2.i = getelementptr i8* %.newclass_gc_alloc.i39, i32 8 ; <i8*> [#uses=1]
9869 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)
9870 store %"tango.text.Regex.List!(TNFATransition).List"* %.newclass_gc.i40, %"tango.text.Regex.List!(TNFATransition).List"** %6
9871 %tmp7.i43 = getelementptr i8* %.newclass_gc_alloc, i32 12 ; <i8*> [#uses=1]
9872 %8 = bitcast i8* %tmp7.i43 to %"tango.text.Regex.List!(TNFATransition).List"** ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
9873 %.newclass_gc_alloc8.i = call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7__ClassZ) ; <i8*> [#uses=4]
9874 %.newclass_gc9.i = bitcast i8* %.newclass_gc_alloc8.i to %"tango.text.Regex.List!(TNFATransition).List"* ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
9875 %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]
9876 store %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__vtblZ, %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %vtbl10.i
9877 %monitor11.i = getelementptr i8* %.newclass_gc_alloc8.i, i32 4 ; <i8*> [#uses=1]
9878 %9 = bitcast i8* %monitor11.i to i8** ; <i8**> [#uses=1]
9879 store i8* null, i8** %9
9880 %tmp12.i = getelementptr i8* %.newclass_gc_alloc8.i, i32 8 ; <i8*> [#uses=1]
9881 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)
9882 store %"tango.text.Regex.List!(TNFATransition).List"* %.newclass_gc9.i, %"tango.text.Regex.List!(TNFATransition).List"** %8
9883 %tmp17.i = getelementptr i8* %.newclass_gc_alloc, i32 16 ; <i8*> [#uses=1]
9884 %10 = bitcast i8* %tmp17.i to %"tango.text.Regex.List!(TNFATransition).List"** ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
9885 %.newclass_gc_alloc18.i = call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7__ClassZ) ; <i8*> [#uses=4]
9886 %.newclass_gc19.i = bitcast i8* %.newclass_gc_alloc18.i to %"tango.text.Regex.List!(TNFATransition).List"* ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
9887 %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]
9888 store %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__vtblZ, %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %vtbl20.i
9889 %monitor21.i = getelementptr i8* %.newclass_gc_alloc18.i, i32 4 ; <i8*> [#uses=1]
9890 %11 = bitcast i8* %monitor21.i to i8** ; <i8**> [#uses=1]
9891 store i8* null, i8** %11
9892 %tmp22.i = getelementptr i8* %.newclass_gc_alloc18.i, i32 8 ; <i8*> [#uses=1]
9893 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)
9894 store %"tango.text.Regex.List!(TNFATransition).List"* %.newclass_gc19.i, %"tango.text.Regex.List!(TNFATransition).List"** %10
9895 %tmp27.i = getelementptr i8* %.newclass_gc_alloc, i32 20 ; <i8*> [#uses=1]
9896 %12 = bitcast i8* %tmp27.i to %"tango.text.Regex.List!(TNFATransition).List"** ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
9897 %.newclass_gc_alloc28.i = call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7__ClassZ) ; <i8*> [#uses=5]
9898 %.newclass_gc29.i = bitcast i8* %.newclass_gc_alloc28.i to %"tango.text.Regex.List!(TNFATransition).List"* ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
9899 %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]
9900 store %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__vtblZ, %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %vtbl30.i
9901 %monitor31.i = getelementptr i8* %.newclass_gc_alloc28.i, i32 4 ; <i8*> [#uses=1]
9902 %13 = bitcast i8* %monitor31.i to i8** ; <i8**> [#uses=1]
9903 store i8* null, i8** %13
9904 %tmp32.i = getelementptr i8* %.newclass_gc_alloc28.i, i32 8 ; <i8*> [#uses=1]
9905 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)
9906 store %"tango.text.Regex.List!(TNFATransition).List"* %.newclass_gc29.i, %"tango.text.Regex.List!(TNFATransition).List"** %12
9907 %tmp18 = bitcast i8* %.newclass_gc_alloc28.i to %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
9908 %tmp19 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp18 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
9909 %"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]
9910 %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]
9911 %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]
9912 %tmp26 = bitcast i8* %.newclass_gc_alloc.i39 to %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
9913 %tmp27 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp26 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
9914 %"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]
9915 %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]
9916 %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]
9917 ret %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %.newclass_gc
9918}
9919
9920define weak_odr fastcc %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* @_D5tango4text5Regex11__T4TNFATwZ4TNFA18constructCharClassMFE5tango4text5Regex16__T9PredicateTwZ9Predicate4TypeZC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment(%"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 %type_arg) {
9921entry:
9922 %tmp.i419 = alloca i32, align 4 ; <i32*> [#uses=2]
9923 %tmp.i359 = alloca i32, align 4 ; <i32*> [#uses=2]
9924 %tmp.i213 = alloca i32, align 4 ; <i32*> [#uses=2]
9925 %tmp162 = alloca %"tango.text.Regex.CharClass!(dchar).CharClass", align 8 ; <%"tango.text.Regex.CharClass!(dchar).CharClass"*> [#uses=5]
9926 %.newclass_gc_alloc.i = call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransition7__ClassZ) ; <i8*> [#uses=17]
9927 %.newclass_gc.i = bitcast i8* %.newclass_gc_alloc.i to %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*> [#uses=3]
9928 %vtbl.i = bitcast i8* %.newclass_gc_alloc.i to %object.ModuleInfo.__vtbl** ; <%object.ModuleInfo.__vtbl**> [#uses=1]
9929 store %object.ModuleInfo.__vtbl* @_D5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransition6__vtblZ, %object.ModuleInfo.__vtbl** %vtbl.i
9930 %monitor.i = getelementptr i8* %.newclass_gc_alloc.i, i32 4 ; <i8*> [#uses=1]
9931 %0 = bitcast i8* %monitor.i to i8** ; <i8**> [#uses=1]
9932 store i8* null, i8** %0
9933 %tmp.i = getelementptr i8* %.newclass_gc_alloc.i, i32 8 ; <i8*> [#uses=1]
9934 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)
9935 %tmp1.i.i = getelementptr i8* %.newclass_gc_alloc.i, i32 48 ; <i8*> [#uses=1]
9936 %1 = bitcast i8* %tmp1.i.i to i32* ; <i32*> [#uses=1]
9937 store i32 1, i32* %1
9938 %tmp7.i = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 9 ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
9939 %tmp8.i = load %"tango.text.Regex.List!(TNFATransition).List"** %tmp7.i ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
9940 %tmp9.i = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp8.i, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
9941 %tmp10.i = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp9.i ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
9942 %"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]
9943 %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]
9944 %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]
9945 %tmp2.i = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 8 ; <i32*> [#uses=13]
9946 %tmp3.i = load i32* %tmp2.i ; <i32> [#uses=2]
9947 store i32 %tmp3.i, i32* %tmp.i213
9948 %tmp6.i = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 2, i32 0 ; <i32*> [#uses=8]
9949 %.len.i = load i32* %tmp6.i ; <i32> [#uses=1]
9950 %tmp8.i214 = icmp ult i32 %tmp3.i, %.len.i ; <i1> [#uses=1]
9951 br i1 %tmp8.i214, label %if.i, label %forcond
9952
9953if.i: ; preds = %entry
9954 %tmp10.i215 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 2 ; <%"Act[]"*> [#uses=1]
9955 %tmp11.i = load %"Act[]"* %tmp10.i215 ; <%"Act[]"> [#uses=1]
9956 %tmp12.i = call fastcc i32 @_D5tango4text5Regex6decodeFAwKkZw(%"Act[]" %tmp11.i, i32* %tmp.i213) ; <i32> [#uses=1]
9957 %phitmp470 = icmp eq i32 %tmp12.i, 94 ; <i1> [#uses=1]
9958 br i1 %phitmp470, label %if, label %forcond
9959
9960if: ; preds = %if.i
9961 %tmp1.i = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 7 ; <i32*> [#uses=1]
9962 %tmp4.i = load i32* %tmp2.i ; <i32> [#uses=2]
9963 store i32 %tmp4.i, i32* %tmp1.i
9964 %.len.i219 = load i32* %tmp6.i ; <i32> [#uses=1]
9965 %tmp11.i220 = icmp ult i32 %tmp4.i, %.len.i219 ; <i1> [#uses=1]
9966 br i1 %tmp11.i220, label %if.i222, label %forcond
9967
9968if.i222: ; preds = %if
9969 %tmp13.i221 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 2 ; <%"Act[]"*> [#uses=1]
9970 %tmp14.i = load %"Act[]"* %tmp13.i221 ; <%"Act[]"> [#uses=1]
9971 %tmp17.i = call fastcc i32 @_D5tango4text5Regex6decodeFAwKkZw(%"Act[]" %tmp14.i, i32* %tmp2.i) ; <i32> [#uses=0]
9972 br label %forcond
9973
9974forcond: ; preds = %if137, %default135, %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit347, %if19, %if.i222, %if, %if.i, %entry
9975 %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]
9976 %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]
9977 %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]
9978 %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]
9979 %.len.i434 = load i32* %tmp6.i ; <i32> [#uses=1]
9980 %tmp5.i435 = load i32* %tmp2.i ; <i32> [#uses=2]
9981 %tmp6.i436 = icmp ult i32 %tmp5.i435, %.len.i434 ; <i1> [#uses=1]
9982 br i1 %tmp6.i436, label %andand, label %endfor
9983
9984andand: ; preds = %forcond
9985 store i32 %tmp5.i435, i32* %tmp.i419
9986 %tmp10.i425 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 2 ; <%"Act[]"*> [#uses=1]
9987 %tmp11.i426 = load %"Act[]"* %tmp10.i425 ; <%"Act[]"> [#uses=1]
9988 %tmp12.i427 = call fastcc i32 @_D5tango4text5Regex6decodeFAwKkZw(%"Act[]" %tmp11.i426, i32* %tmp.i419) ; <i32> [#uses=1]
9989 %phitmp469 = icmp eq i32 %tmp12.i427, 93 ; <i1> [#uses=1]
9990 br i1 %phitmp469, label %endfor, label %forbody
9991
9992forbody: ; preds = %andand
9993 %tmp1.i406 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 7 ; <i32*> [#uses=3]
9994 %tmp4.i408 = load i32* %tmp2.i ; <i32> [#uses=2]
9995 store i32 %tmp4.i408, i32* %tmp1.i406
9996 %.len.i410 = load i32* %tmp6.i ; <i32> [#uses=1]
9997 %tmp11.i411 = icmp ult i32 %tmp4.i408, %.len.i410 ; <i1> [#uses=1]
9998 br i1 %tmp11.i411, label %if.i415, label %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit417
9999
10000if.i415: ; preds = %forbody
10001 %tmp13.i412 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 2 ; <%"Act[]"*> [#uses=1]
10002 %tmp14.i413 = load %"Act[]"* %tmp13.i412 ; <%"Act[]"> [#uses=1]
10003 %tmp17.i414 = call fastcc i32 @_D5tango4text5Regex6decodeFAwKkZw(%"Act[]" %tmp14.i413, i32* %tmp2.i) ; <i32> [#uses=1]
10004 br label %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit417
10005
10006_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit417: ; preds = %if.i415, %forbody
10007 %tmp16418 = phi i32 [ %tmp17.i414, %if.i415 ], [ 0, %forbody ] ; <i32> [#uses=3]
10008 switch i32 %tmp16418, label %default135 [
10009 i32 45, label %case
10010 i32 92, label %case89
10011 ]
10012
10013case: ; preds = %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit417
10014 br i1 %first_char.0, label %if19, label %endif20
10015
10016if19: ; preds = %case
10017 %tmp2.i.i394 = getelementptr i8* %.newclass_gc_alloc.i, i32 12 ; <i8*> [#uses=1]
10018 %2 = bitcast i8* %tmp2.i.i394 to i32* ; <i32*> [#uses=2]
10019 %.len.i.i395 = load i32* %2 ; <i32> [#uses=3]
10020 %tmp3.i.i396 = add i32 %.len.i.i395, 1 ; <i32> [#uses=2]
10021 %tmp6.i.i397 = getelementptr i8* %.newclass_gc_alloc.i, i32 16 ; <i8*> [#uses=1]
10022 %3 = bitcast i8* %tmp6.i.i397 to %tango.net.Socket.timeval** ; <%tango.net.Socket.timeval**> [#uses=2]
10023 %.ptr.i.i398 = load %tango.net.Socket.timeval** %3 ; <%tango.net.Socket.timeval*> [#uses=1]
10024 %tmp7.i.i399 = bitcast %tango.net.Socket.timeval* %.ptr.i.i398 to i8* ; <i8*> [#uses=1]
10025 %.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]
10026 %.gc_mem8.i.i401 = bitcast i8* %.gc_mem.i.i400 to %tango.net.Socket.timeval* ; <%tango.net.Socket.timeval*> [#uses=2]
10027 %tmp9.i.i402 = getelementptr %tango.net.Socket.timeval* %.gc_mem8.i.i401, i32 %.len.i.i395 ; <%tango.net.Socket.timeval*> [#uses=1]
10028 %tmp1015.i.i403 = bitcast %tango.net.Socket.timeval* %tmp9.i.i402 to i64* ; <i64*> [#uses=1]
10029 %4 = zext i32 %tmp16418 to i64 ; <i64> [#uses=2]
10030 %5 = shl i64 %4, 32 ; <i64> [#uses=1]
10031 %6 = or i64 %4, %5 ; <i64> [#uses=1]
10032 store i64 %6, i64* %tmp1015.i.i403, align 1
10033 store i32 %tmp3.i.i396, i32* %2
10034 store %tango.net.Socket.timeval* %.gc_mem8.i.i401, %tango.net.Socket.timeval** %3
10035 br label %forcond
10036
10037endif20: ; preds = %case
10038 br i1 %have_range_start.1, label %else, label %if25
10039
10040if25: ; preds = %endif20
10041 %.newclass_gc_alloc = call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex15RegExpException7__ClassZ) ; <i8*> [#uses=5]
10042 %.newclass_gc = bitcast i8* %.newclass_gc_alloc to %object.Exception* ; <%object.Exception*> [#uses=1]
10043 %vtbl = bitcast i8* %.newclass_gc_alloc to %object.Exception.__vtbl** ; <%object.Exception.__vtbl**> [#uses=1]
10044 store %object.Exception.__vtbl* @_D5tango4text5Regex15RegExpException6__vtblZ, %object.Exception.__vtbl** %vtbl
10045 %monitor = getelementptr i8* %.newclass_gc_alloc, i32 4 ; <i8*> [#uses=1]
10046 %7 = bitcast i8* %monitor to i8** ; <i8**> [#uses=1]
10047 store i8* null, i8** %7
10048 %tmp27 = getelementptr i8* %.newclass_gc_alloc, i32 8 ; <i8*> [#uses=1]
10049 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)
10050 %tmp32 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 2 ; <%"Act[]"*> [#uses=1]
10051 %tmp33 = load %"Act[]"* %tmp32 ; <%"Act[]"> [#uses=1]
10052 %tmp34 = call fastcc %"byte[]" @_D5tango4text7convert3Utf8toStringFAwAaPkZAa(%"Act[]" %tmp33, %"byte[]" zeroinitializer, i32* null) ; <%"byte[]"> [#uses=2]
10053 %.len = extractvalue %"byte[]" %tmp34, 0 ; <i32> [#uses=4]
10054 %tmp35 = add i32 %.len, 44 ; <i32> [#uses=3]
10055 %.nongc_mem = alloca i8, i32 %tmp35, align 1 ; <i8*> [#uses=3]
10056 %.ptr = extractvalue %"byte[]" %tmp34, 1 ; <i8*> [#uses=1]
10057 call void @llvm.memcpy.i32(i8* %.nongc_mem, i8* getelementptr ([45 x i8]* @.str225, i32 0, i32 0), i32 44, i32 1)
10058 %tmp36 = getelementptr i8* %.nongc_mem, i32 44 ; <i8*> [#uses=1]
10059 call void @llvm.memcpy.i32(i8* %tmp36, i8* %.ptr, i32 %.len, i32 1)
10060 %tmp38 = add i32 %.len, 45 ; <i32> [#uses=2]
10061 %.nongc_mem471 = alloca i8, i32 %tmp38, align 1 ; <i8*> [#uses=3]
10062 call void @llvm.memcpy.i32(i8* %.nongc_mem471, i8* %.nongc_mem, i32 %tmp35, i32 1)
10063 %tmp41 = getelementptr i8* %.nongc_mem471, i32 %tmp35 ; <i8*> [#uses=1]
10064 store i8 34, i8* %tmp41, align 1
10065 %tmp2.i379 = add i32 %.len, 53 ; <i32> [#uses=2]
10066 %.gc_mem.i380 = call noalias i8* @_d_newarrayvT(%object.TypeInfo* @_D11TypeInfo_Aa6__initZ, i32 %tmp2.i379) ; <i8*> [#uses=3]
10067 %.gc_mem12.i381 = bitcast i8* %.gc_mem.i380 to i64* ; <i64*> [#uses=1]
10068 %tmp.i382 = load i64* bitcast ([9 x i8]* @.str280 to i64*), align 8 ; <i64> [#uses=1]
10069 store i64 %tmp.i382, i64* %.gc_mem12.i381, align 1
10070 %tmp4.i383 = getelementptr i8* %.gc_mem.i380, i32 8 ; <i8*> [#uses=1]
10071 call void @llvm.memcpy.i32(i8* %tmp4.i383, i8* %.nongc_mem471, i32 %tmp38, i32 1)
10072 %tmp6.i384 = insertvalue %"byte[]" undef, i32 %tmp2.i379, 0 ; <%"byte[]"> [#uses=1]
10073 %tmp7.i385 = insertvalue %"byte[]" %tmp6.i384, i8* %.gc_mem.i380, 1 ; <%"byte[]"> [#uses=1]
10074 %tmp8.i386 = call fastcc %object.Exception* @_D6object9Exception5_ctorMFAaC9ExceptionZC9Exception(%object.Exception* %.newclass_gc, %"byte[]" %tmp7.i385, %object.Exception* null) ; <%object.Exception*> [#uses=0]
10075 %tmp45 = bitcast i8* %.newclass_gc_alloc to %object.Object* ; <%object.Object*> [#uses=1]
10076 call void @_d_throw_exception(%object.Object* %tmp45)
10077 unreachable
10078
10079else: ; preds = %endif20
10080 %.len.i374 = load i32* %tmp6.i ; <i32> [#uses=1]
10081 %tmp5.i375 = load i32* %tmp2.i ; <i32> [#uses=2]
10082 %tmp6.i376 = icmp ult i32 %tmp5.i375, %.len.i374 ; <i1> [#uses=1]
10083 br i1 %tmp6.i376, label %oror, label %if51
10084
10085oror: ; preds = %else
10086 store i32 %tmp5.i375, i32* %tmp.i359
10087 %tmp10.i365 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 2 ; <%"Act[]"*> [#uses=1]
10088 %tmp11.i366 = load %"Act[]"* %tmp10.i365 ; <%"Act[]"> [#uses=1]
10089 %tmp12.i367 = call fastcc i32 @_D5tango4text5Regex6decodeFAwKkZw(%"Act[]" %tmp11.i366, i32* %tmp.i359) ; <i32> [#uses=1]
10090 %phitmp = icmp eq i32 %tmp12.i367, 93 ; <i1> [#uses=1]
10091 br i1 %phitmp, label %if51, label %else53
10092
10093if51: ; preds = %oror, %else
10094 %.newclass_gc_alloc54 = call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex15RegExpException7__ClassZ) ; <i8*> [#uses=5]
10095 %.newclass_gc55 = bitcast i8* %.newclass_gc_alloc54 to %object.Exception* ; <%object.Exception*> [#uses=1]
10096 %vtbl56 = bitcast i8* %.newclass_gc_alloc54 to %object.Exception.__vtbl** ; <%object.Exception.__vtbl**> [#uses=1]
10097 store %object.Exception.__vtbl* @_D5tango4text5Regex15RegExpException6__vtblZ, %object.Exception.__vtbl** %vtbl56
10098 %monitor57 = getelementptr i8* %.newclass_gc_alloc54, i32 4 ; <i8*> [#uses=1]
10099 %8 = bitcast i8* %monitor57 to i8** ; <i8**> [#uses=1]
10100 store i8* null, i8** %8
10101 %tmp58 = getelementptr i8* %.newclass_gc_alloc54, i32 8 ; <i8*> [#uses=1]
10102 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)
10103 %tmp63 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 2 ; <%"Act[]"*> [#uses=1]
10104 %tmp64 = load %"Act[]"* %tmp63 ; <%"Act[]"> [#uses=1]
10105 %tmp65 = call fastcc %"byte[]" @_D5tango4text7convert3Utf8toStringFAwAaPkZAa(%"Act[]" %tmp64, %"byte[]" zeroinitializer, i32* null) ; <%"byte[]"> [#uses=2]
10106 %.len66 = extractvalue %"byte[]" %tmp65, 0 ; <i32> [#uses=4]
10107 %tmp67 = add i32 %.len66, 42 ; <i32> [#uses=3]
10108 %.nongc_mem472 = alloca i8, i32 %tmp67, align 1 ; <i8*> [#uses=3]
10109 %.ptr69 = extractvalue %"byte[]" %tmp65, 1 ; <i8*> [#uses=1]
10110 call void @llvm.memcpy.i32(i8* %.nongc_mem472, i8* getelementptr ([43 x i8]* @.str227, i32 0, i32 0), i32 42, i32 1)
10111 %tmp70 = getelementptr i8* %.nongc_mem472, i32 42 ; <i8*> [#uses=1]
10112 call void @llvm.memcpy.i32(i8* %tmp70, i8* %.ptr69, i32 %.len66, i32 1)
10113 %tmp72 = add i32 %.len66, 43 ; <i32> [#uses=2]
10114 %.nongc_mem473 = alloca i8, i32 %tmp72, align 1 ; <i8*> [#uses=3]
10115 call void @llvm.memcpy.i32(i8* %.nongc_mem473, i8* %.nongc_mem472, i32 %tmp67, i32 1)
10116 %tmp75 = getelementptr i8* %.nongc_mem473, i32 %tmp67 ; <i8*> [#uses=1]
10117 store i8 34, i8* %tmp75, align 1
10118 %tmp2.i351 = add i32 %.len66, 51 ; <i32> [#uses=2]
10119 %.gc_mem.i352 = call noalias i8* @_d_newarrayvT(%object.TypeInfo* @_D11TypeInfo_Aa6__initZ, i32 %tmp2.i351) ; <i8*> [#uses=3]
10120 %.gc_mem12.i353 = bitcast i8* %.gc_mem.i352 to i64* ; <i64*> [#uses=1]
10121 %tmp.i354 = load i64* bitcast ([9 x i8]* @.str280 to i64*), align 8 ; <i64> [#uses=1]
10122 store i64 %tmp.i354, i64* %.gc_mem12.i353, align 1
10123 %tmp4.i355 = getelementptr i8* %.gc_mem.i352, i32 8 ; <i8*> [#uses=1]
10124 call void @llvm.memcpy.i32(i8* %tmp4.i355, i8* %.nongc_mem473, i32 %tmp72, i32 1)
10125 %tmp6.i356 = insertvalue %"byte[]" undef, i32 %tmp2.i351, 0 ; <%"byte[]"> [#uses=1]
10126 %tmp7.i357 = insertvalue %"byte[]" %tmp6.i356, i8* %.gc_mem.i352, 1 ; <%"byte[]"> [#uses=1]
10127 %tmp8.i358 = call fastcc %object.Exception* @_D6object9Exception5_ctorMFAaC9ExceptionZC9Exception(%object.Exception* %.newclass_gc55, %"byte[]" %tmp7.i357, %object.Exception* null) ; <%object.Exception*> [#uses=0]
10128 %tmp79 = bitcast i8* %.newclass_gc_alloc54 to %object.Object* ; <%object.Object*> [#uses=1]
10129 call void @_d_throw_exception(%object.Object* %tmp79)
10130 unreachable
10131
10132else53: ; preds = %oror
10133 %tmp4.i338 = load i32* %tmp2.i ; <i32> [#uses=2]
10134 store i32 %tmp4.i338, i32* %tmp1.i406
10135 %.len.i340 = load i32* %tmp6.i ; <i32> [#uses=1]
10136 %tmp11.i341 = icmp ult i32 %tmp4.i338, %.len.i340 ; <i1> [#uses=1]
10137 br i1 %tmp11.i341, label %if.i345, label %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit347
10138
10139if.i345: ; preds = %else53
10140 %tmp13.i342 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 2 ; <%"Act[]"*> [#uses=1]
10141 %tmp14.i343 = load %"Act[]"* %tmp13.i342 ; <%"Act[]"> [#uses=1]
10142 %tmp17.i344 = call fastcc i32 @_D5tango4text5Regex6decodeFAwKkZw(%"Act[]" %tmp14.i343, i32* %tmp2.i) ; <i32> [#uses=1]
10143 br label %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit347
10144
10145_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit347: ; preds = %if.i345, %else53
10146 %tmp82348 = phi i32 [ %tmp17.i344, %if.i345 ], [ 0, %else53 ] ; <i32> [#uses=4]
10147 %tmp2.i.i333 = icmp ult i32 %tmp82348, %last.1 ; <i1> [#uses=1]
10148 %condtmp.0.i.i = select i1 %tmp2.i.i333, i32 %tmp82348, i32 %last.1 ; <i32> [#uses=1]
10149 %tmp2.i15.i = icmp ugt i32 %tmp82348, %last.1 ; <i1> [#uses=1]
10150 %condtmp.0.i16.i = select i1 %tmp2.i15.i, i32 %tmp82348, i32 %last.1 ; <i32> [#uses=1]
10151 %tmp2.i.i323 = getelementptr i8* %.newclass_gc_alloc.i, i32 12 ; <i8*> [#uses=1]
10152 %9 = bitcast i8* %tmp2.i.i323 to i32* ; <i32*> [#uses=2]
10153 %.len.i.i324 = load i32* %9 ; <i32> [#uses=3]
10154 %tmp3.i.i325 = add i32 %.len.i.i324, 1 ; <i32> [#uses=2]
10155 %tmp6.i.i326 = getelementptr i8* %.newclass_gc_alloc.i, i32 16 ; <i8*> [#uses=1]
10156 %10 = bitcast i8* %tmp6.i.i326 to %tango.net.Socket.timeval** ; <%tango.net.Socket.timeval**> [#uses=2]
10157 %.ptr.i.i327 = load %tango.net.Socket.timeval** %10 ; <%tango.net.Socket.timeval*> [#uses=1]
10158 %tmp7.i.i328 = bitcast %tango.net.Socket.timeval* %.ptr.i.i327 to i8* ; <i8*> [#uses=1]
10159 %.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]
10160 %.gc_mem8.i.i330 = bitcast i8* %.gc_mem.i.i329 to %tango.net.Socket.timeval* ; <%tango.net.Socket.timeval*> [#uses=2]
10161 %tmp9.i.i331 = getelementptr %tango.net.Socket.timeval* %.gc_mem8.i.i330, i32 %.len.i.i324 ; <%tango.net.Socket.timeval*> [#uses=1]
10162 %tmp1015.i.i332 = bitcast %tango.net.Socket.timeval* %tmp9.i.i331 to i64* ; <i64*> [#uses=1]
10163 %11 = zext i32 %condtmp.0.i.i to i64 ; <i64> [#uses=1]
10164 %12 = shl i64 %11, 32 ; <i64> [#uses=1]
10165 %13 = zext i32 %condtmp.0.i16.i to i64 ; <i64> [#uses=1]
10166 %14 = or i64 %13, %12 ; <i64> [#uses=1]
10167 store i64 %14, i64* %tmp1015.i.i332, align 1
10168 store i32 %tmp3.i.i325, i32* %9
10169 store %tango.net.Socket.timeval* %.gc_mem8.i.i330, %tango.net.Socket.timeval** %10
10170 br label %forcond
10171
10172case89: ; preds = %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit417
10173 %.len.i313 = load i32* %tmp6.i ; <i32> [#uses=1]
10174 %tmp5.i314 = load i32* %tmp2.i ; <i32> [#uses=2]
10175 %tmp6.i315 = icmp ult i32 %tmp5.i314, %.len.i313 ; <i1> [#uses=1]
10176 br i1 %tmp6.i315, label %endif93, label %if92
10177
10178if92: ; preds = %case89
10179 %.newclass_gc_alloc94 = call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex15RegExpException7__ClassZ) ; <i8*> [#uses=5]
10180 %.newclass_gc95 = bitcast i8* %.newclass_gc_alloc94 to %object.Exception* ; <%object.Exception*> [#uses=1]
10181 %vtbl96 = bitcast i8* %.newclass_gc_alloc94 to %object.Exception.__vtbl** ; <%object.Exception.__vtbl**> [#uses=1]
10182 store %object.Exception.__vtbl* @_D5tango4text5Regex15RegExpException6__vtblZ, %object.Exception.__vtbl** %vtbl96
10183 %monitor97 = getelementptr i8* %.newclass_gc_alloc94, i32 4 ; <i8*> [#uses=1]
10184 %15 = bitcast i8* %monitor97 to i8** ; <i8**> [#uses=1]
10185 store i8* null, i8** %15
10186 %tmp98 = getelementptr i8* %.newclass_gc_alloc94, i32 8 ; <i8*> [#uses=1]
10187 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)
10188 %tmp103 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 2 ; <%"Act[]"*> [#uses=1]
10189 %tmp104 = load %"Act[]"* %tmp103 ; <%"Act[]"> [#uses=1]
10190 %tmp105 = call fastcc %"byte[]" @_D5tango4text7convert3Utf8toStringFAwAaPkZAa(%"Act[]" %tmp104, %"byte[]" zeroinitializer, i32* null) ; <%"byte[]"> [#uses=2]
10191 %.len106 = extractvalue %"byte[]" %tmp105, 0 ; <i32> [#uses=4]
10192 %tmp107 = add i32 %.len106, 32 ; <i32> [#uses=3]
10193 %.nongc_mem474 = alloca i8, i32 %tmp107, align 1 ; <i8*> [#uses=3]
10194 %.ptr109 = extractvalue %"byte[]" %tmp105, 1 ; <i8*> [#uses=1]
10195 call void @llvm.memcpy.i32(i8* %.nongc_mem474, i8* getelementptr ([33 x i8]* @.str229, i32 0, i32 0), i32 32, i32 1)
10196 %tmp110 = getelementptr i8* %.nongc_mem474, i32 32 ; <i8*> [#uses=1]
10197 call void @llvm.memcpy.i32(i8* %tmp110, i8* %.ptr109, i32 %.len106, i32 1)
10198 %tmp112 = add i32 %.len106, 33 ; <i32> [#uses=2]
10199 %.nongc_mem475 = alloca i8, i32 %tmp112, align 1 ; <i8*> [#uses=3]
10200 call void @llvm.memcpy.i32(i8* %.nongc_mem475, i8* %.nongc_mem474, i32 %tmp107, i32 1)
10201 %tmp115 = getelementptr i8* %.nongc_mem475, i32 %tmp107 ; <i8*> [#uses=1]
10202 store i8 34, i8* %tmp115, align 1
10203 %tmp2.i305 = add i32 %.len106, 41 ; <i32> [#uses=2]
10204 %.gc_mem.i = call noalias i8* @_d_newarrayvT(%object.TypeInfo* @_D11TypeInfo_Aa6__initZ, i32 %tmp2.i305) ; <i8*> [#uses=3]
10205 %.gc_mem12.i = bitcast i8* %.gc_mem.i to i64* ; <i64*> [#uses=1]
10206 %tmp.i306 = load i64* bitcast ([9 x i8]* @.str280 to i64*), align 8 ; <i64> [#uses=1]
10207 store i64 %tmp.i306, i64* %.gc_mem12.i, align 1
10208 %tmp4.i307 = getelementptr i8* %.gc_mem.i, i32 8 ; <i8*> [#uses=1]
10209 call void @llvm.memcpy.i32(i8* %tmp4.i307, i8* %.nongc_mem475, i32 %tmp112, i32 1)
10210 %tmp6.i308 = insertvalue %"byte[]" undef, i32 %tmp2.i305, 0 ; <%"byte[]"> [#uses=1]
10211 %tmp7.i309 = insertvalue %"byte[]" %tmp6.i308, i8* %.gc_mem.i, 1 ; <%"byte[]"> [#uses=1]
10212 %tmp8.i310 = call fastcc %object.Exception* @_D6object9Exception5_ctorMFAaC9ExceptionZC9Exception(%object.Exception* %.newclass_gc95, %"byte[]" %tmp7.i309, %object.Exception* null) ; <%object.Exception*> [#uses=0]
10213 %tmp119 = bitcast i8* %.newclass_gc_alloc94 to %object.Object* ; <%object.Object*> [#uses=1]
10214 call void @_d_throw_exception(%object.Object* %tmp119)
10215 unreachable
10216
10217endif93: ; preds = %case89
10218 store i32 %tmp5.i314, i32* %tmp1.i406
10219 %tmp13.i298 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 2 ; <%"Act[]"*> [#uses=1]
10220 %tmp14.i299 = load %"Act[]"* %tmp13.i298 ; <%"Act[]"> [#uses=1]
10221 %tmp17.i300 = call fastcc i32 @_D5tango4text5Regex6decodeFAwKkZw(%"Act[]" %tmp14.i299, i32* %tmp2.i) ; <i32> [#uses=2]
10222 switch i32 %tmp17.i300, label %default135 [
10223 i32 116, label %case127
10224 i32 110, label %case129
10225 i32 114, label %case131
10226 ]
10227
10228case127: ; preds = %endif93
10229 br label %default135
10230
10231case129: ; preds = %endif93
10232 br label %default135
10233
10234case131: ; preds = %endif93
10235 br label %default135
10236
10237default135: ; preds = %case131, %case129, %case127, %endif93, %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit417
10238 %c.0 = phi i32 [ %tmp16418, %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit417 ], [ %tmp17.i300, %endif93 ], [ 13, %case131 ], [ 10, %case129 ], [ 9, %case127 ] ; <i32> [#uses=2]
10239 br i1 %have_range_start.1, label %if137, label %forcond
10240
10241if137: ; preds = %default135
10242 %tmp2.i.i280 = getelementptr i8* %.newclass_gc_alloc.i, i32 12 ; <i8*> [#uses=1]
10243 %16 = bitcast i8* %tmp2.i.i280 to i32* ; <i32*> [#uses=2]
10244 %.len.i.i281 = load i32* %16 ; <i32> [#uses=3]
10245 %tmp3.i.i282 = add i32 %.len.i.i281, 1 ; <i32> [#uses=2]
10246 %tmp6.i.i283 = getelementptr i8* %.newclass_gc_alloc.i, i32 16 ; <i8*> [#uses=1]
10247 %17 = bitcast i8* %tmp6.i.i283 to %tango.net.Socket.timeval** ; <%tango.net.Socket.timeval**> [#uses=2]
10248 %.ptr.i.i284 = load %tango.net.Socket.timeval** %17 ; <%tango.net.Socket.timeval*> [#uses=1]
10249 %tmp7.i.i285 = bitcast %tango.net.Socket.timeval* %.ptr.i.i284 to i8* ; <i8*> [#uses=1]
10250 %.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]
10251 %.gc_mem8.i.i287 = bitcast i8* %.gc_mem.i.i286 to %tango.net.Socket.timeval* ; <%tango.net.Socket.timeval*> [#uses=2]
10252 %tmp9.i.i288 = getelementptr %tango.net.Socket.timeval* %.gc_mem8.i.i287, i32 %.len.i.i281 ; <%tango.net.Socket.timeval*> [#uses=1]
10253 %tmp1015.i.i289 = bitcast %tango.net.Socket.timeval* %tmp9.i.i288 to i64* ; <i64*> [#uses=1]
10254 %18 = zext i32 %last.1 to i64 ; <i64> [#uses=2]
10255 %19 = shl i64 %18, 32 ; <i64> [#uses=1]
10256 %20 = or i64 %18, %19 ; <i64> [#uses=1]
10257 store i64 %20, i64* %tmp1015.i.i289, align 1
10258 store i32 %tmp3.i.i282, i32* %16
10259 store %tango.net.Socket.timeval* %.gc_mem8.i.i287, %tango.net.Socket.timeval** %17
10260 br label %forcond
10261
10262endfor: ; preds = %andand, %forcond
10263 %.len.i270 = load i32* %tmp6.i ; <i32> [#uses=1]
10264 %tmp5.i271 = load i32* %tmp2.i ; <i32> [#uses=2]
10265 %tmp6.i272 = icmp ult i32 %tmp5.i271, %.len.i270 ; <i1> [#uses=1]
10266 br i1 %tmp6.i272, label %if146, label %endif147
10267
10268if146: ; preds = %endfor
10269 %tmp1.i256 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 7 ; <i32*> [#uses=1]
10270 store i32 %tmp5.i271, i32* %tmp1.i256
10271 %tmp13.i262 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 2 ; <%"Act[]"*> [#uses=1]
10272 %tmp14.i263 = load %"Act[]"* %tmp13.i262 ; <%"Act[]"> [#uses=1]
10273 %tmp17.i264 = call fastcc i32 @_D5tango4text5Regex6decodeFAwKkZw(%"Act[]" %tmp14.i263, i32* %tmp2.i) ; <i32> [#uses=0]
10274 br label %endif147
10275
10276endif147: ; preds = %if146, %endfor
10277 %tmp151 = icmp eq i32 %last.1, 65535 ; <i1> [#uses=1]
10278 br i1 %tmp151, label %endif153, label %if152
10279
10280if152: ; preds = %endif147
10281 %tmp2.i.i = getelementptr i8* %.newclass_gc_alloc.i, i32 12 ; <i8*> [#uses=1]
10282 %21 = bitcast i8* %tmp2.i.i to i32* ; <i32*> [#uses=2]
10283 %.len.i.i250 = load i32* %21 ; <i32> [#uses=3]
10284 %tmp3.i.i251 = add i32 %.len.i.i250, 1 ; <i32> [#uses=2]
10285 %tmp6.i.i252 = getelementptr i8* %.newclass_gc_alloc.i, i32 16 ; <i8*> [#uses=1]
10286 %22 = bitcast i8* %tmp6.i.i252 to %tango.net.Socket.timeval** ; <%tango.net.Socket.timeval**> [#uses=2]
10287 %.ptr.i.i253 = load %tango.net.Socket.timeval** %22 ; <%tango.net.Socket.timeval*> [#uses=1]
10288 %tmp7.i.i = bitcast %tango.net.Socket.timeval* %.ptr.i.i253 to i8* ; <i8*> [#uses=1]
10289 %.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]
10290 %.gc_mem8.i.i = bitcast i8* %.gc_mem.i.i254 to %tango.net.Socket.timeval* ; <%tango.net.Socket.timeval*> [#uses=2]
10291 %tmp9.i.i255 = getelementptr %tango.net.Socket.timeval* %.gc_mem8.i.i, i32 %.len.i.i250 ; <%tango.net.Socket.timeval*> [#uses=1]
10292 %tmp1015.i.i = bitcast %tango.net.Socket.timeval* %tmp9.i.i255 to i64* ; <i64*> [#uses=1]
10293 %23 = zext i32 %last.1 to i64 ; <i64> [#uses=2]
10294 %24 = shl i64 %23, 32 ; <i64> [#uses=1]
10295 %25 = or i64 %23, %24 ; <i64> [#uses=1]
10296 store i64 %25, i64* %tmp1015.i.i, align 1
10297 store i32 %tmp3.i.i251, i32* %21
10298 store %tango.net.Socket.timeval* %.gc_mem8.i.i, %tango.net.Socket.timeval** %22
10299 br label %endif153
10300
10301endif153: ; preds = %if152, %endif147
10302 br i1 %negated.0, label %if159, label %else161
10303
10304if159: ; preds = %endif153
10305 %srcval = load i64* bitcast (%"tango.text.Regex.CharClass!(dchar).CharClass"* @_D5tango4text5Regex16__T9CharClassTwZ9CharClass8any_charS5tango4text5Regex16__T9CharClassTwZ9CharClass to i64*), align 4 ; <i64> [#uses=2]
10306 %tmp455 = lshr i64 %srcval, 32 ; <i64> [#uses=1]
10307 %tmp456 = trunc i64 %tmp455 to i32 ; <i32> [#uses=1]
10308 %tmp457 = insertvalue %"byte[]" undef, i32 %tmp456, 0 ; <%"byte[]"> [#uses=1]
10309 %tmp458 = trunc i64 %srcval to i32 ; <i32> [#uses=1]
10310 %tmp459 = inttoptr i32 %tmp458 to i8* ; <i8*> [#uses=1]
10311 %tmp460 = insertvalue %"byte[]" %tmp457, i8* %tmp459, 1 ; <%"byte[]"> [#uses=1]
10312 %tmp5.i = call %"byte[]" @_adDupT(%object.TypeInfo* bitcast (%object.TypeInfo_Array* @_D56TypeInfo_AS5tango4text5Regex16__T9CharRangeTwZ9CharRange6__initZ to %object.TypeInfo*), %"byte[]" %tmp460) ; <%"byte[]"> [#uses=2]
10313 %tmp6.i243 = extractvalue %"byte[]" %tmp5.i, 0 ; <i32> [#uses=1]
10314 %tmp8.i244 = extractvalue %"byte[]" %tmp5.i, 1 ; <i8*> [#uses=1]
10315 %tmp439 = ptrtoint i8* %tmp8.i244 to i32 ; <i32> [#uses=1]
10316 %tmp164209 = bitcast %"tango.text.Regex.CharClass!(dchar).CharClass"* %tmp162 to i64* ; <i64*> [#uses=2]
10317 %26 = zext i32 %tmp6.i243 to i64 ; <i64> [#uses=1]
10318 %27 = shl i64 %26, 32 ; <i64> [#uses=1]
10319 %28 = zext i32 %tmp439 to i64 ; <i64> [#uses=1]
10320 %29 = or i64 %28, %27 ; <i64> [#uses=1]
10321 store i64 %29, i64* %tmp164209, align 8
10322 %tmp168451.0 = getelementptr i8* %.newclass_gc_alloc.i, i32 12 ; <i8*> [#uses=2]
10323 %30 = bitcast i8* %tmp168451.0 to i32* ; <i32*> [#uses=1]
10324 %tmp452 = load i32* %30, align 1 ; <i32> [#uses=2]
10325 %tmp168451.1 = getelementptr i8* %.newclass_gc_alloc.i, i32 16 ; <i8*> [#uses=1]
10326 %31 = bitcast i8* %tmp168451.1 to %tango.net.Socket.timeval** ; <%tango.net.Socket.timeval**> [#uses=1]
10327 %tmp453 = load %tango.net.Socket.timeval** %31, align 1 ; <%tango.net.Socket.timeval*> [#uses=1]
10328 call fastcc void @_D5tango4text5Regex16__T9CharClassTwZ9CharClass6negateMFZv(%"tango.text.Regex.CharClass!(dchar).CharClass"* %tmp162)
10329 %tmp3.i.i = getelementptr %"tango.text.Regex.CharClass!(dchar).CharClass"* %tmp162, i32 0, i32 0, i32 0 ; <i32*> [#uses=2]
10330 %.len.i.i = load i32* %tmp3.i.i, align 8 ; <i32> [#uses=3]
10331 %tmp6.i.i = add i32 %.len.i.i, %tmp452 ; <i32> [#uses=2]
10332 %tmp9.i.i = getelementptr %"tango.text.Regex.CharClass!(dchar).CharClass"* %tmp162, i32 0, i32 0, i32 1 ; <%tango.net.Socket.timeval**> [#uses=2]
10333 %.ptr.i.i = load %tango.net.Socket.timeval** %tmp9.i.i ; <%tango.net.Socket.timeval*> [#uses=1]
10334 %tmp10.i.i = bitcast %tango.net.Socket.timeval* %.ptr.i.i to i8* ; <i8*> [#uses=1]
10335 %.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]
10336 %.gc_mem11.i.i = bitcast i8* %.gc_mem.i.i to %tango.net.Socket.timeval* ; <%tango.net.Socket.timeval*> [#uses=2]
10337 %tmp14.i.i = getelementptr %tango.net.Socket.timeval* %.gc_mem11.i.i, i32 %.len.i.i ; <%tango.net.Socket.timeval*> [#uses=1]
10338 %tmp15.i.i = shl i32 %tmp452, 3 ; <i32> [#uses=1]
10339 %tmp16.i.i = bitcast %tango.net.Socket.timeval* %tmp14.i.i to i8* ; <i8*> [#uses=1]
10340 %tmp17.i.i = bitcast %tango.net.Socket.timeval* %tmp453 to i8* ; <i8*> [#uses=1]
10341 call void @llvm.memcpy.i32(i8* %tmp16.i.i, i8* %tmp17.i.i, i32 %tmp15.i.i, i32 1)
10342 store i32 %tmp6.i.i, i32* %tmp3.i.i, align 8
10343 store %tango.net.Socket.timeval* %.gc_mem11.i.i, %tango.net.Socket.timeval** %tmp9.i.i
10344 call fastcc void @_D5tango4text5Regex16__T9CharClassTwZ9CharClass6negateMFZv(%"tango.text.Regex.CharClass!(dchar).CharClass"* %tmp162)
10345 %tmp172207 = bitcast i8* %tmp168451.0 to i64* ; <i64*> [#uses=1]
10346 %tmp = load i64* %tmp164209, align 8 ; <i64> [#uses=1]
10347 store i64 %tmp, i64* %tmp172207, align 1
10348 br label %endif160
10349
10350else161: ; preds = %endif153
10351 %tmp1.i233 = getelementptr i8* %.newclass_gc_alloc.i, i32 12 ; <i8*> [#uses=1]
10352 %32 = bitcast i8* %tmp1.i233 to %"tango.text.Regex.CharClass!(dchar).CharClass"* ; <%"tango.text.Regex.CharClass!(dchar).CharClass"*> [#uses=1]
10353 call fastcc void @_D5tango4text5Regex16__T9CharClassTwZ9CharClass8optimizeMFZv(%"tango.text.Regex.CharClass!(dchar).CharClass"* %32)
10354 br label %endif160
10355
10356endif160: ; preds = %else161, %if159
10357 %tmp178 = getelementptr i8* %.newclass_gc_alloc.i, i32 20 ; <i8*> [#uses=1]
10358 %33 = bitcast i8* %tmp178 to i32* ; <i32*> [#uses=1]
10359 store i32 %type_arg, i32* %33
10360 %.newclass_gc_alloc180 = call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment7__ClassZ) ; <i8*> [#uses=7]
10361 %.newclass_gc181 = bitcast i8* %.newclass_gc_alloc180 to %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*> [#uses=1]
10362 %vtbl182 = bitcast i8* %.newclass_gc_alloc180 to %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"** ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"**> [#uses=1]
10363 store %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"* @_D5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment6__vtblZ, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"** %vtbl182
10364 %monitor183 = getelementptr i8* %.newclass_gc_alloc180, i32 4 ; <i8*> [#uses=1]
10365 %34 = bitcast i8* %monitor183 to i8** ; <i8**> [#uses=1]
10366 store i8* null, i8** %34
10367 %tmp184 = getelementptr i8* %.newclass_gc_alloc180, i32 8 ; <i8*> [#uses=2]
10368 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)
10369 %35 = bitcast i8* %tmp184 to %"tango.text.Regex.List!(TNFATransition).List"** ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
10370 %.newclass_gc_alloc.i225 = call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7__ClassZ) ; <i8*> [#uses=5]
10371 %.newclass_gc.i226 = bitcast i8* %.newclass_gc_alloc.i225 to %"tango.text.Regex.List!(TNFATransition).List"* ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
10372 %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]
10373 store %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__vtblZ, %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %vtbl.i227
10374 %monitor.i228 = getelementptr i8* %.newclass_gc_alloc.i225, i32 4 ; <i8*> [#uses=1]
10375 %36 = bitcast i8* %monitor.i228 to i8** ; <i8**> [#uses=1]
10376 store i8* null, i8** %36
10377 %tmp2.i229 = getelementptr i8* %.newclass_gc_alloc.i225, i32 8 ; <i8*> [#uses=1]
10378 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)
10379 store %"tango.text.Regex.List!(TNFATransition).List"* %.newclass_gc.i226, %"tango.text.Regex.List!(TNFATransition).List"** %35
10380 %tmp7.i230 = getelementptr i8* %.newclass_gc_alloc180, i32 12 ; <i8*> [#uses=1]
10381 %37 = bitcast i8* %tmp7.i230 to %"tango.text.Regex.List!(TNFATransition).List"** ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
10382 %.newclass_gc_alloc8.i = call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7__ClassZ) ; <i8*> [#uses=4]
10383 %.newclass_gc9.i = bitcast i8* %.newclass_gc_alloc8.i to %"tango.text.Regex.List!(TNFATransition).List"* ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
10384 %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]
10385 store %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__vtblZ, %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %vtbl10.i
10386 %monitor11.i = getelementptr i8* %.newclass_gc_alloc8.i, i32 4 ; <i8*> [#uses=1]
10387 %38 = bitcast i8* %monitor11.i to i8** ; <i8**> [#uses=1]
10388 store i8* null, i8** %38
10389 %tmp12.i231 = getelementptr i8* %.newclass_gc_alloc8.i, i32 8 ; <i8*> [#uses=1]
10390 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)
10391 store %"tango.text.Regex.List!(TNFATransition).List"* %.newclass_gc9.i, %"tango.text.Regex.List!(TNFATransition).List"** %37
10392 %tmp17.i232 = getelementptr i8* %.newclass_gc_alloc180, i32 16 ; <i8*> [#uses=1]
10393 %39 = bitcast i8* %tmp17.i232 to %"tango.text.Regex.List!(TNFATransition).List"** ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
10394 %.newclass_gc_alloc18.i = call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7__ClassZ) ; <i8*> [#uses=4]
10395 %.newclass_gc19.i = bitcast i8* %.newclass_gc_alloc18.i to %"tango.text.Regex.List!(TNFATransition).List"* ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
10396 %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]
10397 store %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__vtblZ, %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %vtbl20.i
10398 %monitor21.i = getelementptr i8* %.newclass_gc_alloc18.i, i32 4 ; <i8*> [#uses=1]
10399 %40 = bitcast i8* %monitor21.i to i8** ; <i8**> [#uses=1]
10400 store i8* null, i8** %40
10401 %tmp22.i = getelementptr i8* %.newclass_gc_alloc18.i, i32 8 ; <i8*> [#uses=1]
10402 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)
10403 store %"tango.text.Regex.List!(TNFATransition).List"* %.newclass_gc19.i, %"tango.text.Regex.List!(TNFATransition).List"** %39
10404 %tmp27.i = getelementptr i8* %.newclass_gc_alloc180, i32 20 ; <i8*> [#uses=1]
10405 %41 = bitcast i8* %tmp27.i to %"tango.text.Regex.List!(TNFATransition).List"** ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
10406 %.newclass_gc_alloc28.i = call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7__ClassZ) ; <i8*> [#uses=5]
10407 %.newclass_gc29.i = bitcast i8* %.newclass_gc_alloc28.i to %"tango.text.Regex.List!(TNFATransition).List"* ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
10408 %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]
10409 store %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__vtblZ, %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %vtbl30.i
10410 %monitor31.i = getelementptr i8* %.newclass_gc_alloc28.i, i32 4 ; <i8*> [#uses=1]
10411 %42 = bitcast i8* %monitor31.i to i8** ; <i8**> [#uses=1]
10412 store i8* null, i8** %42
10413 %tmp32.i = getelementptr i8* %.newclass_gc_alloc28.i, i32 8 ; <i8*> [#uses=1]
10414 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)
10415 store %"tango.text.Regex.List!(TNFATransition).List"* %.newclass_gc29.i, %"tango.text.Regex.List!(TNFATransition).List"** %41
10416 %tmp192 = bitcast i8* %.newclass_gc_alloc28.i to %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
10417 %tmp193 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp192 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
10418 %"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]
10419 %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]
10420 %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]
10421 %tmp200 = bitcast i8* %.newclass_gc_alloc.i225 to %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
10422 %tmp201 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp200 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
10423 %"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]
10424 %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]
10425 %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]
10426 ret %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %.newclass_gc181
10427}
10428
10429define 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) {
10430entry:
10431 %.newclass_gc_alloc.i = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex16__T9TNFAStateTwZ9TNFAState7__ClassZ) ; <i8*> [#uses=6]
10432 %.newclass_gc.i = bitcast i8* %.newclass_gc_alloc.i to %"tango.text.Regex.TNFAState!(dchar).TNFAState"* ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"*> [#uses=3]
10433 %vtbl.i = bitcast i8* %.newclass_gc_alloc.i to %object.ModuleInfo.__vtbl** ; <%object.ModuleInfo.__vtbl**> [#uses=1]
10434 store %object.ModuleInfo.__vtbl* @_D5tango4text5Regex16__T9TNFAStateTwZ9TNFAState6__vtblZ, %object.ModuleInfo.__vtbl** %vtbl.i
10435 %monitor.i = getelementptr i8* %.newclass_gc_alloc.i, i32 4 ; <i8*> [#uses=1]
10436 %0 = bitcast i8* %monitor.i to i8** ; <i8**> [#uses=1]
10437 store i8* null, i8** %0
10438 %tmp.i = getelementptr i8* %.newclass_gc_alloc.i, i32 8 ; <i8*> [#uses=1]
10439 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)
10440 %tmp1.i.i = getelementptr i8* %.newclass_gc_alloc.i, i32 16 ; <i8*> [#uses=1]
10441 %1 = bitcast i8* %tmp1.i.i to %"tango.text.Regex.List!(TNFATransition).List"** ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
10442 %.newclass_gc_alloc.i.i = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7__ClassZ) ; <i8*> [#uses=4]
10443 %.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]
10444 %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]
10445 store %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__vtblZ, %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %vtbl.i.i
10446 %monitor.i.i = getelementptr i8* %.newclass_gc_alloc.i.i, i32 4 ; <i8*> [#uses=1]
10447 %2 = bitcast i8* %monitor.i.i to i8** ; <i8**> [#uses=1]
10448 store i8* null, i8** %2
10449 %tmp2.i.i = getelementptr i8* %.newclass_gc_alloc.i.i, i32 8 ; <i8*> [#uses=1]
10450 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)
10451 store %"tango.text.Regex.List!(TNFATransition).List"* %.newclass_gc.i.i, %"tango.text.Regex.List!(TNFATransition).List"** %1
10452 %tmp6.i = getelementptr i8* %.newclass_gc_alloc.i, i32 12 ; <i8*> [#uses=1]
10453 %3 = bitcast i8* %tmp6.i to i32* ; <i32*> [#uses=1]
10454 %tmp9.i = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 3, i32 0 ; <i32*> [#uses=4]
10455 %.len.i = load i32* %tmp9.i ; <i32> [#uses=4]
10456 store i32 %.len.i, i32* %3
10457 %tmp14.i = add i32 %.len.i, 1 ; <i32> [#uses=2]
10458 %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]
10459 %.ptr.i = load %"tango.text.Regex.TNFAState!(dchar).TNFAState"*** %tmp17.i ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"**> [#uses=1]
10460 %tmp18.i = bitcast %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %.ptr.i to i8* ; <i8*> [#uses=1]
10461 %.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]
10462 %.gc_mem19.i = bitcast i8* %.gc_mem.i to %"tango.text.Regex.TNFAState!(dchar).TNFAState"** ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"**> [#uses=2]
10463 %tmp20.i = getelementptr %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %.gc_mem19.i, i32 %.len.i ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"**> [#uses=1]
10464 store %"tango.text.Regex.TNFAState!(dchar).TNFAState"* %.newclass_gc.i, %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %tmp20.i
10465 store i32 %tmp14.i, i32* %tmp9.i
10466 store %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %.gc_mem19.i, %"tango.text.Regex.TNFAState!(dchar).TNFAState"*** %tmp17.i
10467 %.newclass_gc_alloc.i84 = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex16__T9TNFAStateTwZ9TNFAState7__ClassZ) ; <i8*> [#uses=6]
10468 %.newclass_gc.i85 = bitcast i8* %.newclass_gc_alloc.i84 to %"tango.text.Regex.TNFAState!(dchar).TNFAState"* ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"*> [#uses=2]
10469 %vtbl.i86 = bitcast i8* %.newclass_gc_alloc.i84 to %object.ModuleInfo.__vtbl** ; <%object.ModuleInfo.__vtbl**> [#uses=1]
10470 store %object.ModuleInfo.__vtbl* @_D5tango4text5Regex16__T9TNFAStateTwZ9TNFAState6__vtblZ, %object.ModuleInfo.__vtbl** %vtbl.i86
10471 %monitor.i87 = getelementptr i8* %.newclass_gc_alloc.i84, i32 4 ; <i8*> [#uses=1]
10472 %4 = bitcast i8* %monitor.i87 to i8** ; <i8**> [#uses=1]
10473 store i8* null, i8** %4
10474 %tmp.i88 = getelementptr i8* %.newclass_gc_alloc.i84, i32 8 ; <i8*> [#uses=1]
10475 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)
10476 %tmp1.i.i89 = getelementptr i8* %.newclass_gc_alloc.i84, i32 16 ; <i8*> [#uses=1]
10477 %5 = bitcast i8* %tmp1.i.i89 to %"tango.text.Regex.List!(TNFATransition).List"** ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=2]
10478 %.newclass_gc_alloc.i.i90 = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7__ClassZ) ; <i8*> [#uses=4]
10479 %.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]
10480 %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]
10481 store %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__vtblZ, %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %vtbl.i.i92
10482 %monitor.i.i93 = getelementptr i8* %.newclass_gc_alloc.i.i90, i32 4 ; <i8*> [#uses=1]
10483 %6 = bitcast i8* %monitor.i.i93 to i8** ; <i8**> [#uses=1]
10484 store i8* null, i8** %6
10485 %tmp2.i.i94 = getelementptr i8* %.newclass_gc_alloc.i.i90, i32 8 ; <i8*> [#uses=1]
10486 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)
10487 store %"tango.text.Regex.List!(TNFATransition).List"* %.newclass_gc.i.i91, %"tango.text.Regex.List!(TNFATransition).List"** %5
10488 %tmp6.i95 = getelementptr i8* %.newclass_gc_alloc.i84, i32 12 ; <i8*> [#uses=1]
10489 %7 = bitcast i8* %tmp6.i95 to i32* ; <i32*> [#uses=1]
10490 %.len.i97 = load i32* %tmp9.i ; <i32> [#uses=4]
10491 store i32 %.len.i97, i32* %7
10492 %tmp14.i98 = add i32 %.len.i97, 1 ; <i32> [#uses=2]
10493 %.ptr.i100 = load %"tango.text.Regex.TNFAState!(dchar).TNFAState"*** %tmp17.i ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"**> [#uses=1]
10494 %tmp18.i101 = bitcast %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %.ptr.i100 to i8* ; <i8*> [#uses=1]
10495 %.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]
10496 %.gc_mem19.i103 = bitcast i8* %.gc_mem.i102 to %"tango.text.Regex.TNFAState!(dchar).TNFAState"** ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"**> [#uses=2]
10497 %tmp20.i104 = getelementptr %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %.gc_mem19.i103, i32 %.len.i97 ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"**> [#uses=1]
10498 store %"tango.text.Regex.TNFAState!(dchar).TNFAState"* %.newclass_gc.i85, %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %tmp20.i104
10499 store i32 %tmp14.i98, i32* %tmp9.i
10500 store %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %.gc_mem19.i103, %"tango.text.Regex.TNFAState!(dchar).TNFAState"*** %tmp17.i
10501 %tmp6 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %frags_arg, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=2]
10502 %tmp7 = load %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp6 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=1]
10503 %tmp8 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp7, i32 0, i32 2 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"**> [#uses=1]
10504 %tmp9 = load %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"** %tmp8 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*> [#uses=2]
10505 %tmp10 = getelementptr %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %tmp9, i32 0, i32 0 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"**> [#uses=1]
10506 %tmp11 = load %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"** %tmp10 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"*> [#uses=1]
10507 %"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]
10508 %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]
10509 tail call fastcc void %frags.tail.value.setEntry(%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %tmp9, %"tango.text.Regex.TNFAState!(dchar).TNFAState"* %.newclass_gc.i)
10510 %tmp16 = load %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp6 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=1]
10511 %tmp17 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp16, i32 0, i32 2 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"**> [#uses=1]
10512 %tmp18 = load %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"** %tmp17 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*> [#uses=2]
10513 %tmp19 = getelementptr %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %tmp18, i32 0, i32 0 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"**> [#uses=1]
10514 %tmp20 = load %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"** %tmp19 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"*> [#uses=1]
10515 %"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]
10516 %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]
10517 tail call fastcc void %frags.tail.value.setExit(%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %tmp18, %"tango.text.Regex.TNFAState!(dchar).TNFAState"* %.newclass_gc.i85)
10518 %.newclass_gc_alloc.i105 = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransition7__ClassZ) ; <i8*> [#uses=7]
10519 %.newclass_gc.i106 = bitcast i8* %.newclass_gc_alloc.i105 to %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*> [#uses=2]
10520 %vtbl.i107 = bitcast i8* %.newclass_gc_alloc.i105 to %object.ModuleInfo.__vtbl** ; <%object.ModuleInfo.__vtbl**> [#uses=1]
10521 store %object.ModuleInfo.__vtbl* @_D5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransition6__vtblZ, %object.ModuleInfo.__vtbl** %vtbl.i107
10522 %monitor.i108 = getelementptr i8* %.newclass_gc_alloc.i105, i32 4 ; <i8*> [#uses=1]
10523 %8 = bitcast i8* %monitor.i108 to i8** ; <i8**> [#uses=1]
10524 store i8* null, i8** %8
10525 %tmp.i109 = getelementptr i8* %.newclass_gc_alloc.i105, i32 8 ; <i8*> [#uses=2]
10526 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)
10527 %tmp1.i.i110 = getelementptr i8* %.newclass_gc_alloc.i105, i32 48 ; <i8*> [#uses=1]
10528 %9 = bitcast i8* %tmp1.i.i110 to i32* ; <i32*> [#uses=1]
10529 store i32 1, i32* %9
10530 %tmp7.i = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 9 ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=2]
10531 %tmp8.i = load %"tango.text.Regex.List!(TNFATransition).List"** %tmp7.i ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
10532 %tmp9.i111 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp8.i, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
10533 %tmp10.i = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp9.i111 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
10534 %"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]
10535 %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]
10536 %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]
10537 %.newclass_gc_alloc.i112 = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransition7__ClassZ) ; <i8*> [#uses=7]
10538 %.newclass_gc.i113 = bitcast i8* %.newclass_gc_alloc.i112 to %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*> [#uses=3]
10539 %vtbl.i114 = bitcast i8* %.newclass_gc_alloc.i112 to %object.ModuleInfo.__vtbl** ; <%object.ModuleInfo.__vtbl**> [#uses=1]
10540 store %object.ModuleInfo.__vtbl* @_D5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransition6__vtblZ, %object.ModuleInfo.__vtbl** %vtbl.i114
10541 %monitor.i115 = getelementptr i8* %.newclass_gc_alloc.i112, i32 4 ; <i8*> [#uses=1]
10542 %10 = bitcast i8* %monitor.i115 to i8** ; <i8**> [#uses=1]
10543 store i8* null, i8** %10
10544 %tmp.i116 = getelementptr i8* %.newclass_gc_alloc.i112, i32 8 ; <i8*> [#uses=1]
10545 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)
10546 %tmp1.i.i117 = getelementptr i8* %.newclass_gc_alloc.i112, i32 48 ; <i8*> [#uses=1]
10547 %11 = bitcast i8* %tmp1.i.i117 to i32* ; <i32*> [#uses=1]
10548 store i32 1, i32* %11
10549 %tmp8.i119 = load %"tango.text.Regex.List!(TNFATransition).List"** %tmp7.i ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
10550 %tmp9.i120 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp8.i119, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
10551 %tmp10.i121 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp9.i120 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
10552 %"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]
10553 %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]
10554 %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]
10555 %tmp29 = getelementptr i8* %.newclass_gc_alloc.i105, i32 20 ; <i8*> [#uses=1]
10556 %12 = bitcast i8* %tmp29 to i32* ; <i32*> [#uses=1]
10557 store i32 1, i32* %12
10558 %tmp32 = getelementptr i8* %.newclass_gc_alloc.i112, i32 20 ; <i8*> [#uses=1]
10559 %13 = bitcast i8* %tmp32 to i32* ; <i32*> [#uses=1]
10560 store i32 1, i32* %13
10561 %tmp34 = icmp eq i32 %tag_arg, 0 ; <i1> [#uses=1]
10562 br i1 %tmp34, label %endif, label %if
10563
10564if: ; preds = %entry
10565 %tmp36 = getelementptr i8* %.newclass_gc_alloc.i105, i32 44 ; <i8*> [#uses=1]
10566 %14 = bitcast i8* %tmp36 to i32* ; <i32*> [#uses=1]
10567 %tmp38 = add i32 %tag_arg, 1 ; <i32> [#uses=1]
10568 store i32 %tag_arg, i32* %14
10569 %tmp40 = getelementptr i8* %.newclass_gc_alloc.i112, i32 44 ; <i8*> [#uses=1]
10570 %15 = bitcast i8* %tmp40 to i32* ; <i32*> [#uses=1]
10571 store i32 %tmp38, i32* %15
10572 br label %endif
10573
10574endif: ; preds = %if, %entry
10575 %16 = bitcast i8* %tmp.i109 to %"tango.text.Regex.TNFAState!(dchar).TNFAState"** ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"**> [#uses=1]
10576 store %"tango.text.Regex.TNFAState!(dchar).TNFAState"* %.newclass_gc.i, %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %16
10577 %tmp47 = load %"tango.text.Regex.List!(TNFATransition).List"** %5 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
10578 %tmp48 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp47, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
10579 %tmp49 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp48 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
10580 %"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]
10581 %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]
10582 %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]
10583 %.newclass_gc_alloc = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment7__ClassZ) ; <i8*> [#uses=7]
10584 %.newclass_gc = bitcast i8* %.newclass_gc_alloc to %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*> [#uses=1]
10585 %vtbl = bitcast i8* %.newclass_gc_alloc to %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"** ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"**> [#uses=1]
10586 store %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"* @_D5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment6__vtblZ, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"** %vtbl
10587 %monitor = getelementptr i8* %.newclass_gc_alloc, i32 4 ; <i8*> [#uses=1]
10588 %17 = bitcast i8* %monitor to i8** ; <i8**> [#uses=1]
10589 store i8* null, i8** %17
10590 %tmp53 = getelementptr i8* %.newclass_gc_alloc, i32 8 ; <i8*> [#uses=2]
10591 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)
10592 %18 = bitcast i8* %tmp53 to %"tango.text.Regex.List!(TNFATransition).List"** ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=2]
10593 %.newclass_gc_alloc.i125 = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7__ClassZ) ; <i8*> [#uses=4]
10594 %.newclass_gc.i126 = bitcast i8* %.newclass_gc_alloc.i125 to %"tango.text.Regex.List!(TNFATransition).List"* ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
10595 %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]
10596 store %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__vtblZ, %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %vtbl.i127
10597 %monitor.i128 = getelementptr i8* %.newclass_gc_alloc.i125, i32 4 ; <i8*> [#uses=1]
10598 %19 = bitcast i8* %monitor.i128 to i8** ; <i8**> [#uses=1]
10599 store i8* null, i8** %19
10600 %tmp2.i = getelementptr i8* %.newclass_gc_alloc.i125, i32 8 ; <i8*> [#uses=1]
10601 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)
10602 store %"tango.text.Regex.List!(TNFATransition).List"* %.newclass_gc.i126, %"tango.text.Regex.List!(TNFATransition).List"** %18
10603 %tmp7.i129 = getelementptr i8* %.newclass_gc_alloc, i32 12 ; <i8*> [#uses=1]
10604 %20 = bitcast i8* %tmp7.i129 to %"tango.text.Regex.List!(TNFATransition).List"** ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
10605 %.newclass_gc_alloc8.i = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7__ClassZ) ; <i8*> [#uses=4]
10606 %.newclass_gc9.i = bitcast i8* %.newclass_gc_alloc8.i to %"tango.text.Regex.List!(TNFATransition).List"* ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
10607 %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]
10608 store %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__vtblZ, %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %vtbl10.i
10609 %monitor11.i = getelementptr i8* %.newclass_gc_alloc8.i, i32 4 ; <i8*> [#uses=1]
10610 %21 = bitcast i8* %monitor11.i to i8** ; <i8**> [#uses=1]
10611 store i8* null, i8** %21
10612 %tmp12.i = getelementptr i8* %.newclass_gc_alloc8.i, i32 8 ; <i8*> [#uses=1]
10613 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)
10614 store %"tango.text.Regex.List!(TNFATransition).List"* %.newclass_gc9.i, %"tango.text.Regex.List!(TNFATransition).List"** %20
10615 %tmp17.i130 = getelementptr i8* %.newclass_gc_alloc, i32 16 ; <i8*> [#uses=1]
10616 %22 = bitcast i8* %tmp17.i130 to %"tango.text.Regex.List!(TNFATransition).List"** ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
10617 %.newclass_gc_alloc18.i = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7__ClassZ) ; <i8*> [#uses=4]
10618 %.newclass_gc19.i = bitcast i8* %.newclass_gc_alloc18.i to %"tango.text.Regex.List!(TNFATransition).List"* ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
10619 %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]
10620 store %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__vtblZ, %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %vtbl20.i
10621 %monitor21.i = getelementptr i8* %.newclass_gc_alloc18.i, i32 4 ; <i8*> [#uses=1]
10622 %23 = bitcast i8* %monitor21.i to i8** ; <i8**> [#uses=1]
10623 store i8* null, i8** %23
10624 %tmp22.i = getelementptr i8* %.newclass_gc_alloc18.i, i32 8 ; <i8*> [#uses=1]
10625 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)
10626 store %"tango.text.Regex.List!(TNFATransition).List"* %.newclass_gc19.i, %"tango.text.Regex.List!(TNFATransition).List"** %22
10627 %tmp27.i = getelementptr i8* %.newclass_gc_alloc, i32 20 ; <i8*> [#uses=1]
10628 %24 = bitcast i8* %tmp27.i to %"tango.text.Regex.List!(TNFATransition).List"** ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=2]
10629 %.newclass_gc_alloc28.i = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7__ClassZ) ; <i8*> [#uses=4]
10630 %.newclass_gc29.i = bitcast i8* %.newclass_gc_alloc28.i to %"tango.text.Regex.List!(TNFATransition).List"* ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
10631 %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]
10632 store %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__vtblZ, %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %vtbl30.i
10633 %monitor31.i = getelementptr i8* %.newclass_gc_alloc28.i, i32 4 ; <i8*> [#uses=1]
10634 %25 = bitcast i8* %monitor31.i to i8** ; <i8**> [#uses=1]
10635 store i8* null, i8** %25
10636 %tmp32.i = getelementptr i8* %.newclass_gc_alloc28.i, i32 8 ; <i8*> [#uses=1]
10637 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)
10638 store %"tango.text.Regex.List!(TNFATransition).List"* %.newclass_gc29.i, %"tango.text.Regex.List!(TNFATransition).List"** %24
10639 %tmp60 = load %"tango.text.Regex.List!(TNFATransition).List"** %18 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
10640 %tmp61 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp60, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
10641 %tmp62 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp61 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
10642 %"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]
10643 %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]
10644 %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]
10645 %tmp68 = load %"tango.text.Regex.List!(TNFATransition).List"** %24 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
10646 %tmp69 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp68, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
10647 %tmp70 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp69 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
10648 %"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]
10649 %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]
10650 %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]
10651 %tmp75 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %frags_arg, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"**> [#uses=2]
10652 %tmp76 = load %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"** %tmp75 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"*> [#uses=1]
10653 %"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]
10654 %frags.pop = load void (%"tango.text.Regex.List!(TNFAFragment).List"*)** %"frags.pop@vtbl", align 4 ; <void (%"tango.text.Regex.List!(TNFAFragment).List"*)*> [#uses=1]
10655 tail call fastcc void %frags.pop(%"tango.text.Regex.List!(TNFAFragment).List"* %frags_arg)
10656 %tmp80 = load %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"** %tmp75 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"*> [#uses=1]
10657 %"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]
10658 %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]
10659 %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]
10660 ret void
10661}
10662
10663define 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) {
10664entry:
10665 %tmp1 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %frags_arg, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"**> [#uses=3]
10666 %tmp2 = load %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"** %tmp1 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"*> [#uses=1]
10667 %"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]
10668 %frags.empty = load i1 (%"tango.text.Regex.List!(TNFAFragment).List"*)** %"frags.empty@vtbl", align 4 ; <i1 (%"tango.text.Regex.List!(TNFAFragment).List"*)*> [#uses=1]
10669 %tmp4 = tail call fastcc i1 %frags.empty(%"tango.text.Regex.List!(TNFAFragment).List"* %frags_arg) ; <i1> [#uses=1]
10670 br i1 %tmp4, label %if, label %endif
10671
10672if: ; preds = %entry
10673 %.newclass_gc_alloc = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex15RegExpException7__ClassZ) ; <i8*> [#uses=5]
10674 %.newclass_gc = bitcast i8* %.newclass_gc_alloc to %object.Exception* ; <%object.Exception*> [#uses=1]
10675 %vtbl = bitcast i8* %.newclass_gc_alloc to %object.Exception.__vtbl** ; <%object.Exception.__vtbl**> [#uses=1]
10676 store %object.Exception.__vtbl* @_D5tango4text5Regex15RegExpException6__vtblZ, %object.Exception.__vtbl** %vtbl
10677 %monitor = getelementptr i8* %.newclass_gc_alloc, i32 4 ; <i8*> [#uses=1]
10678 %0 = bitcast i8* %monitor to i8** ; <i8**> [#uses=1]
10679 store i8* null, i8** %0
10680 %tmp5 = getelementptr i8* %.newclass_gc_alloc, i32 8 ; <i8*> [#uses=1]
10681 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)
10682 %tmp11 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 2, i32 1 ; <i32**> [#uses=1]
10683 %.ptr = load i32** %tmp11 ; <i32*> [#uses=1]
10684 %tmp13 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 7 ; <i32*> [#uses=1]
10685 %tmp14 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 2, i32 0 ; <i32*> [#uses=1]
10686 %.len = load i32* %tmp14 ; <i32> [#uses=1]
10687 %tmp15 = load i32* %tmp13 ; <i32> [#uses=2]
10688 %tmp16 = getelementptr i32* %.ptr, i32 %tmp15 ; <i32*> [#uses=1]
10689 %tmp17 = sub i32 %.len, %tmp15 ; <i32> [#uses=1]
10690 %tmp18 = insertvalue %"Act[]" undef, i32 %tmp17, 0 ; <%"Act[]"> [#uses=1]
10691 %tmp19 = insertvalue %"Act[]" %tmp18, i32* %tmp16, 1 ; <%"Act[]"> [#uses=1]
10692 %tmp20 = tail call fastcc %"byte[]" @_D5tango4text7convert3Utf8toStringFAwAaPkZAa(%"Act[]" %tmp19, %"byte[]" zeroinitializer, i32* null) ; <%"byte[]"> [#uses=2]
10693 %.len21 = extractvalue %"byte[]" %tmp20, 0 ; <i32> [#uses=4]
10694 %tmp22 = add i32 %.len21, 28 ; <i32> [#uses=3]
10695 %.nongc_mem = alloca i8, i32 %tmp22, align 1 ; <i8*> [#uses=3]
10696 %.ptr23 = extractvalue %"byte[]" %tmp20, 1 ; <i8*> [#uses=1]
10697 tail call void @llvm.memcpy.i32(i8* %.nongc_mem, i8* getelementptr ([29 x i8]* @.str231, i32 0, i32 0), i32 28, i32 1)
10698 %tmp24 = getelementptr i8* %.nongc_mem, i32 28 ; <i8*> [#uses=1]
10699 tail call void @llvm.memcpy.i32(i8* %tmp24, i8* %.ptr23, i32 %.len21, i32 1)
10700 %tmp26 = add i32 %.len21, 29 ; <i32> [#uses=2]
10701 %.nongc_mem171 = alloca i8, i32 %tmp26, align 1 ; <i8*> [#uses=3]
10702 tail call void @llvm.memcpy.i32(i8* %.nongc_mem171, i8* %.nongc_mem, i32 %tmp22, i32 1)
10703 %tmp29 = getelementptr i8* %.nongc_mem171, i32 %tmp22 ; <i8*> [#uses=1]
10704 store i8 34, i8* %tmp29, align 1
10705 %tmp2.i = add i32 %.len21, 37 ; <i32> [#uses=2]
10706 %.gc_mem.i = tail call noalias i8* @_d_newarrayvT(%object.TypeInfo* @_D11TypeInfo_Aa6__initZ, i32 %tmp2.i) ; <i8*> [#uses=3]
10707 %.gc_mem12.i = bitcast i8* %.gc_mem.i to i64* ; <i64*> [#uses=1]
10708 %tmp.i = load i64* bitcast ([9 x i8]* @.str280 to i64*), align 8 ; <i64> [#uses=1]
10709 store i64 %tmp.i, i64* %.gc_mem12.i, align 1
10710 %tmp4.i = getelementptr i8* %.gc_mem.i, i32 8 ; <i8*> [#uses=1]
10711 tail call void @llvm.memcpy.i32(i8* %tmp4.i, i8* %.nongc_mem171, i32 %tmp26, i32 1)
10712 %tmp6.i = insertvalue %"byte[]" undef, i32 %tmp2.i, 0 ; <%"byte[]"> [#uses=1]
10713 %tmp7.i = insertvalue %"byte[]" %tmp6.i, i8* %.gc_mem.i, 1 ; <%"byte[]"> [#uses=1]
10714 %tmp8.i = tail call fastcc %object.Exception* @_D6object9Exception5_ctorMFAaC9ExceptionZC9Exception(%object.Exception* %.newclass_gc, %"byte[]" %tmp7.i, %object.Exception* null) ; <%object.Exception*> [#uses=0]
10715 %tmp33 = bitcast i8* %.newclass_gc_alloc to %object.Object* ; <%object.Object*> [#uses=1]
10716 tail call void @_d_throw_exception(%object.Object* %tmp33)
10717 unreachable
10718
10719endif: ; preds = %entry
10720 %.newclass_gc_alloc.i = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransition7__ClassZ) ; <i8*> [#uses=6]
10721 %.newclass_gc.i = bitcast i8* %.newclass_gc_alloc.i to %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*> [#uses=3]
10722 %vtbl.i = bitcast i8* %.newclass_gc_alloc.i to %object.ModuleInfo.__vtbl** ; <%object.ModuleInfo.__vtbl**> [#uses=1]
10723 store %object.ModuleInfo.__vtbl* @_D5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransition6__vtblZ, %object.ModuleInfo.__vtbl** %vtbl.i
10724 %monitor.i = getelementptr i8* %.newclass_gc_alloc.i, i32 4 ; <i8*> [#uses=1]
10725 %1 = bitcast i8* %monitor.i to i8** ; <i8**> [#uses=1]
10726 store i8* null, i8** %1
10727 %tmp.i139 = getelementptr i8* %.newclass_gc_alloc.i, i32 8 ; <i8*> [#uses=1]
10728 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)
10729 %tmp1.i.i = getelementptr i8* %.newclass_gc_alloc.i, i32 48 ; <i8*> [#uses=1]
10730 %2 = bitcast i8* %tmp1.i.i to i32* ; <i32*> [#uses=1]
10731 store i32 %prioClass_arg, i32* %2
10732 %tmp7.i140 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 9 ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=2]
10733 %tmp8.i141 = load %"tango.text.Regex.List!(TNFATransition).List"** %tmp7.i140 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
10734 %tmp9.i = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp8.i141, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
10735 %tmp10.i = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp9.i ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
10736 %"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]
10737 %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]
10738 %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]
10739 %.newclass_gc_alloc.i142 = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransition7__ClassZ) ; <i8*> [#uses=6]
10740 %.newclass_gc.i143 = bitcast i8* %.newclass_gc_alloc.i142 to %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*> [#uses=3]
10741 %vtbl.i144 = bitcast i8* %.newclass_gc_alloc.i142 to %object.ModuleInfo.__vtbl** ; <%object.ModuleInfo.__vtbl**> [#uses=1]
10742 store %object.ModuleInfo.__vtbl* @_D5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransition6__vtblZ, %object.ModuleInfo.__vtbl** %vtbl.i144
10743 %monitor.i145 = getelementptr i8* %.newclass_gc_alloc.i142, i32 4 ; <i8*> [#uses=1]
10744 %3 = bitcast i8* %monitor.i145 to i8** ; <i8**> [#uses=1]
10745 store i8* null, i8** %3
10746 %tmp.i146 = getelementptr i8* %.newclass_gc_alloc.i142, i32 8 ; <i8*> [#uses=1]
10747 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)
10748 %tmp1.i.i147 = getelementptr i8* %.newclass_gc_alloc.i142, i32 48 ; <i8*> [#uses=1]
10749 %4 = bitcast i8* %tmp1.i.i147 to i32* ; <i32*> [#uses=1]
10750 store i32 1, i32* %4
10751 %tmp8.i149 = load %"tango.text.Regex.List!(TNFATransition).List"** %tmp7.i140 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
10752 %tmp9.i150 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp8.i149, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
10753 %tmp10.i151 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp9.i150 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
10754 %"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]
10755 %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]
10756 %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]
10757 %tmp41 = getelementptr i8* %.newclass_gc_alloc.i, i32 20 ; <i8*> [#uses=1]
10758 %5 = bitcast i8* %tmp41 to i32* ; <i32*> [#uses=1]
10759 store i32 1, i32* %5
10760 %tmp44 = getelementptr i8* %.newclass_gc_alloc.i142, i32 20 ; <i8*> [#uses=1]
10761 %6 = bitcast i8* %tmp44 to i32* ; <i32*> [#uses=1]
10762 store i32 1, i32* %6
10763 %.newclass_gc_alloc.i155 = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex16__T9TNFAStateTwZ9TNFAState7__ClassZ) ; <i8*> [#uses=6]
10764 %.newclass_gc.i156 = bitcast i8* %.newclass_gc_alloc.i155 to %"tango.text.Regex.TNFAState!(dchar).TNFAState"* ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"*> [#uses=2]
10765 %vtbl.i157 = bitcast i8* %.newclass_gc_alloc.i155 to %object.ModuleInfo.__vtbl** ; <%object.ModuleInfo.__vtbl**> [#uses=1]
10766 store %object.ModuleInfo.__vtbl* @_D5tango4text5Regex16__T9TNFAStateTwZ9TNFAState6__vtblZ, %object.ModuleInfo.__vtbl** %vtbl.i157
10767 %monitor.i158 = getelementptr i8* %.newclass_gc_alloc.i155, i32 4 ; <i8*> [#uses=1]
10768 %7 = bitcast i8* %monitor.i158 to i8** ; <i8**> [#uses=1]
10769 store i8* null, i8** %7
10770 %tmp.i159 = getelementptr i8* %.newclass_gc_alloc.i155, i32 8 ; <i8*> [#uses=1]
10771 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)
10772 %tmp1.i.i160 = getelementptr i8* %.newclass_gc_alloc.i155, i32 16 ; <i8*> [#uses=1]
10773 %8 = bitcast i8* %tmp1.i.i160 to %"tango.text.Regex.List!(TNFATransition).List"** ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=3]
10774 %.newclass_gc_alloc.i.i = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7__ClassZ) ; <i8*> [#uses=4]
10775 %.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]
10776 %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]
10777 store %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__vtblZ, %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %vtbl.i.i
10778 %monitor.i.i = getelementptr i8* %.newclass_gc_alloc.i.i, i32 4 ; <i8*> [#uses=1]
10779 %9 = bitcast i8* %monitor.i.i to i8** ; <i8**> [#uses=1]
10780 store i8* null, i8** %9
10781 %tmp2.i.i = getelementptr i8* %.newclass_gc_alloc.i.i, i32 8 ; <i8*> [#uses=1]
10782 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)
10783 store %"tango.text.Regex.List!(TNFATransition).List"* %.newclass_gc.i.i, %"tango.text.Regex.List!(TNFATransition).List"** %8
10784 %tmp6.i161 = getelementptr i8* %.newclass_gc_alloc.i155, i32 12 ; <i8*> [#uses=1]
10785 %10 = bitcast i8* %tmp6.i161 to i32* ; <i32*> [#uses=1]
10786 %tmp9.i162 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 3, i32 0 ; <i32*> [#uses=2]
10787 %.len.i = load i32* %tmp9.i162 ; <i32> [#uses=4]
10788 store i32 %.len.i, i32* %10
10789 %tmp14.i = add i32 %.len.i, 1 ; <i32> [#uses=2]
10790 %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]
10791 %.ptr.i = load %"tango.text.Regex.TNFAState!(dchar).TNFAState"*** %tmp17.i ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"**> [#uses=1]
10792 %tmp18.i = bitcast %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %.ptr.i to i8* ; <i8*> [#uses=1]
10793 %.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]
10794 %.gc_mem19.i = bitcast i8* %.gc_mem.i163 to %"tango.text.Regex.TNFAState!(dchar).TNFAState"** ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"**> [#uses=2]
10795 %tmp20.i = getelementptr %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %.gc_mem19.i, i32 %.len.i ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"**> [#uses=1]
10796 store %"tango.text.Regex.TNFAState!(dchar).TNFAState"* %.newclass_gc.i156, %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %tmp20.i
10797 store i32 %tmp14.i, i32* %tmp9.i162
10798 store %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %.gc_mem19.i, %"tango.text.Regex.TNFAState!(dchar).TNFAState"*** %tmp17.i
10799 %tmp48 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %frags_arg, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=3]
10800 %tmp49 = load %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp48 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=1]
10801 %tmp50 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp49, i32 0, i32 2 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"**> [#uses=1]
10802 %tmp51 = load %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"** %tmp50 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*> [#uses=2]
10803 %tmp52 = getelementptr %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %tmp51, i32 0, i32 0 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"**> [#uses=1]
10804 %tmp53 = load %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"** %tmp52 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"*> [#uses=1]
10805 %"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]
10806 %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]
10807 tail call fastcc void %frags.tail.value.setExit(%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %tmp51, %"tango.text.Regex.TNFAState!(dchar).TNFAState"* %.newclass_gc.i156)
10808 %tmp58 = load %"tango.text.Regex.List!(TNFATransition).List"** %8 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
10809 %tmp59 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp58, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
10810 %tmp60 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp59 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
10811 %"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]
10812 %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]
10813 %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]
10814 %tmp66 = load %"tango.text.Regex.List!(TNFATransition).List"** %8 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
10815 %tmp67 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp66, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
10816 %tmp68 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp67 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
10817 %"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]
10818 %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]
10819 %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]
10820 %.newclass_gc_alloc74 = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment7__ClassZ) ; <i8*> [#uses=7]
10821 %.newclass_gc75 = bitcast i8* %.newclass_gc_alloc74 to %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*> [#uses=1]
10822 %vtbl76 = bitcast i8* %.newclass_gc_alloc74 to %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"** ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"**> [#uses=1]
10823 store %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"* @_D5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment6__vtblZ, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"** %vtbl76
10824 %monitor77 = getelementptr i8* %.newclass_gc_alloc74, i32 4 ; <i8*> [#uses=1]
10825 %11 = bitcast i8* %monitor77 to i8** ; <i8**> [#uses=1]
10826 store i8* null, i8** %11
10827 %tmp78 = getelementptr i8* %.newclass_gc_alloc74, i32 8 ; <i8*> [#uses=2]
10828 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)
10829 %12 = bitcast i8* %tmp78 to %"tango.text.Regex.List!(TNFATransition).List"** ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=2]
10830 %.newclass_gc_alloc.i164 = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7__ClassZ) ; <i8*> [#uses=4]
10831 %.newclass_gc.i165 = bitcast i8* %.newclass_gc_alloc.i164 to %"tango.text.Regex.List!(TNFATransition).List"* ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
10832 %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]
10833 store %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__vtblZ, %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %vtbl.i166
10834 %monitor.i167 = getelementptr i8* %.newclass_gc_alloc.i164, i32 4 ; <i8*> [#uses=1]
10835 %13 = bitcast i8* %monitor.i167 to i8** ; <i8**> [#uses=1]
10836 store i8* null, i8** %13
10837 %tmp2.i168 = getelementptr i8* %.newclass_gc_alloc.i164, i32 8 ; <i8*> [#uses=1]
10838 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)
10839 store %"tango.text.Regex.List!(TNFATransition).List"* %.newclass_gc.i165, %"tango.text.Regex.List!(TNFATransition).List"** %12
10840 %tmp7.i169 = getelementptr i8* %.newclass_gc_alloc74, i32 12 ; <i8*> [#uses=1]
10841 %14 = bitcast i8* %tmp7.i169 to %"tango.text.Regex.List!(TNFATransition).List"** ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
10842 %.newclass_gc_alloc8.i = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7__ClassZ) ; <i8*> [#uses=4]
10843 %.newclass_gc9.i = bitcast i8* %.newclass_gc_alloc8.i to %"tango.text.Regex.List!(TNFATransition).List"* ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
10844 %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]
10845 store %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__vtblZ, %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %vtbl10.i
10846 %monitor11.i = getelementptr i8* %.newclass_gc_alloc8.i, i32 4 ; <i8*> [#uses=1]
10847 %15 = bitcast i8* %monitor11.i to i8** ; <i8**> [#uses=1]
10848 store i8* null, i8** %15
10849 %tmp12.i = getelementptr i8* %.newclass_gc_alloc8.i, i32 8 ; <i8*> [#uses=1]
10850 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)
10851 store %"tango.text.Regex.List!(TNFATransition).List"* %.newclass_gc9.i, %"tango.text.Regex.List!(TNFATransition).List"** %14
10852 %tmp17.i170 = getelementptr i8* %.newclass_gc_alloc74, i32 16 ; <i8*> [#uses=1]
10853 %16 = bitcast i8* %tmp17.i170 to %"tango.text.Regex.List!(TNFATransition).List"** ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=3]
10854 %.newclass_gc_alloc18.i = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7__ClassZ) ; <i8*> [#uses=4]
10855 %.newclass_gc19.i = bitcast i8* %.newclass_gc_alloc18.i to %"tango.text.Regex.List!(TNFATransition).List"* ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
10856 %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]
10857 store %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__vtblZ, %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %vtbl20.i
10858 %monitor21.i = getelementptr i8* %.newclass_gc_alloc18.i, i32 4 ; <i8*> [#uses=1]
10859 %17 = bitcast i8* %monitor21.i to i8** ; <i8**> [#uses=1]
10860 store i8* null, i8** %17
10861 %tmp22.i = getelementptr i8* %.newclass_gc_alloc18.i, i32 8 ; <i8*> [#uses=1]
10862 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)
10863 store %"tango.text.Regex.List!(TNFATransition).List"* %.newclass_gc19.i, %"tango.text.Regex.List!(TNFATransition).List"** %16
10864 %tmp27.i = getelementptr i8* %.newclass_gc_alloc74, i32 20 ; <i8*> [#uses=1]
10865 %18 = bitcast i8* %tmp27.i to %"tango.text.Regex.List!(TNFATransition).List"** ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=2]
10866 %.newclass_gc_alloc28.i = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7__ClassZ) ; <i8*> [#uses=4]
10867 %.newclass_gc29.i = bitcast i8* %.newclass_gc_alloc28.i to %"tango.text.Regex.List!(TNFATransition).List"* ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
10868 %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]
10869 store %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__vtblZ, %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %vtbl30.i
10870 %monitor31.i = getelementptr i8* %.newclass_gc_alloc28.i, i32 4 ; <i8*> [#uses=1]
10871 %19 = bitcast i8* %monitor31.i to i8** ; <i8**> [#uses=1]
10872 store i8* null, i8** %19
10873 %tmp32.i = getelementptr i8* %.newclass_gc_alloc28.i, i32 8 ; <i8*> [#uses=1]
10874 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)
10875 store %"tango.text.Regex.List!(TNFATransition).List"* %.newclass_gc29.i, %"tango.text.Regex.List!(TNFATransition).List"** %18
10876 %tmp85 = load %"tango.text.Regex.List!(TNFATransition).List"** %12 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
10877 %tmp86 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp85, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
10878 %tmp87 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp86 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
10879 %"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]
10880 %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]
10881 %tmp91 = load %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp48 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=1]
10882 %tmp92 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp91, i32 0, i32 2 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"**> [#uses=1]
10883 %tmp93 = load %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"** %tmp92 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*> [#uses=1]
10884 %tmp94 = getelementptr %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %tmp93, i32 0, i32 2 ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
10885 %tmp95 = load %"tango.text.Regex.List!(TNFATransition).List"** %tmp94 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
10886 %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]
10887 %tmp99 = load %"tango.text.Regex.List!(TNFATransition).List"** %16 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
10888 %tmp100 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp99, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
10889 %tmp101 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp100 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
10890 %"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]
10891 %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]
10892 %tmp105 = load %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp48 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=1]
10893 %tmp106 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp105, i32 0, i32 2 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"**> [#uses=1]
10894 %tmp107 = load %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"** %tmp106 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*> [#uses=1]
10895 %tmp108 = getelementptr %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %tmp107, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
10896 %tmp109 = load %"tango.text.Regex.List!(TNFATransition).List"** %tmp108 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
10897 %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]
10898 %tmp113 = load %"tango.text.Regex.List!(TNFATransition).List"** %16 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
10899 %tmp114 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp113, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
10900 %tmp115 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp114 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
10901 %"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]
10902 %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]
10903 %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]
10904 %tmp123 = load %"tango.text.Regex.List!(TNFATransition).List"** %18 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
10905 %tmp124 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp123, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
10906 %tmp125 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp124 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
10907 %"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]
10908 %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]
10909 %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]
10910 %tmp131 = load %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"** %tmp1 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"*> [#uses=1]
10911 %"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]
10912 %frags.pop = load void (%"tango.text.Regex.List!(TNFAFragment).List"*)** %"frags.pop@vtbl", align 4 ; <void (%"tango.text.Regex.List!(TNFAFragment).List"*)*> [#uses=1]
10913 tail call fastcc void %frags.pop(%"tango.text.Regex.List!(TNFAFragment).List"* %frags_arg)
10914 %tmp135 = load %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"** %tmp1 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"*> [#uses=1]
10915 %"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]
10916 %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]
10917 %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]
10918 ret void
10919}
10920
10921define 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) {
10922entry:
10923 %tmp1 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %frags_arg, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"**> [#uses=3]
10924 %tmp2 = load %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"** %tmp1 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"*> [#uses=1]
10925 %"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]
10926 %frags.empty = load i1 (%"tango.text.Regex.List!(TNFAFragment).List"*)** %"frags.empty@vtbl", align 4 ; <i1 (%"tango.text.Regex.List!(TNFAFragment).List"*)*> [#uses=1]
10927 %tmp4 = tail call fastcc i1 %frags.empty(%"tango.text.Regex.List!(TNFAFragment).List"* %frags_arg) ; <i1> [#uses=1]
10928 br i1 %tmp4, label %if, label %endif
10929
10930if: ; preds = %entry
10931 %.newclass_gc_alloc = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex15RegExpException7__ClassZ) ; <i8*> [#uses=5]
10932 %.newclass_gc = bitcast i8* %.newclass_gc_alloc to %object.Exception* ; <%object.Exception*> [#uses=1]
10933 %vtbl = bitcast i8* %.newclass_gc_alloc to %object.Exception.__vtbl** ; <%object.Exception.__vtbl**> [#uses=1]
10934 store %object.Exception.__vtbl* @_D5tango4text5Regex15RegExpException6__vtblZ, %object.Exception.__vtbl** %vtbl
10935 %monitor = getelementptr i8* %.newclass_gc_alloc, i32 4 ; <i8*> [#uses=1]
10936 %0 = bitcast i8* %monitor to i8** ; <i8**> [#uses=1]
10937 store i8* null, i8** %0
10938 %tmp5 = getelementptr i8* %.newclass_gc_alloc, i32 8 ; <i8*> [#uses=1]
10939 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)
10940 %tmp11 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 2, i32 1 ; <i32**> [#uses=1]
10941 %.ptr = load i32** %tmp11 ; <i32*> [#uses=1]
10942 %tmp13 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 7 ; <i32*> [#uses=1]
10943 %tmp14 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 2, i32 0 ; <i32*> [#uses=1]
10944 %.len = load i32* %tmp14 ; <i32> [#uses=1]
10945 %tmp15 = load i32* %tmp13 ; <i32> [#uses=2]
10946 %tmp16 = getelementptr i32* %.ptr, i32 %tmp15 ; <i32*> [#uses=1]
10947 %tmp17 = sub i32 %.len, %tmp15 ; <i32> [#uses=1]
10948 %tmp18 = insertvalue %"Act[]" undef, i32 %tmp17, 0 ; <%"Act[]"> [#uses=1]
10949 %tmp19 = insertvalue %"Act[]" %tmp18, i32* %tmp16, 1 ; <%"Act[]"> [#uses=1]
10950 %tmp20 = tail call fastcc %"byte[]" @_D5tango4text7convert3Utf8toStringFAwAaPkZAa(%"Act[]" %tmp19, %"byte[]" zeroinitializer, i32* null) ; <%"byte[]"> [#uses=2]
10951 %.len21 = extractvalue %"byte[]" %tmp20, 0 ; <i32> [#uses=4]
10952 %tmp22 = add i32 %.len21, 28 ; <i32> [#uses=3]
10953 %.nongc_mem = alloca i8, i32 %tmp22, align 1 ; <i8*> [#uses=3]
10954 %.ptr23 = extractvalue %"byte[]" %tmp20, 1 ; <i8*> [#uses=1]
10955 tail call void @llvm.memcpy.i32(i8* %.nongc_mem, i8* getelementptr ([29 x i8]* @.str233, i32 0, i32 0), i32 28, i32 1)
10956 %tmp24 = getelementptr i8* %.nongc_mem, i32 28 ; <i8*> [#uses=1]
10957 tail call void @llvm.memcpy.i32(i8* %tmp24, i8* %.ptr23, i32 %.len21, i32 1)
10958 %tmp26 = add i32 %.len21, 29 ; <i32> [#uses=2]
10959 %.nongc_mem204 = alloca i8, i32 %tmp26, align 1 ; <i8*> [#uses=3]
10960 tail call void @llvm.memcpy.i32(i8* %.nongc_mem204, i8* %.nongc_mem, i32 %tmp22, i32 1)
10961 %tmp29 = getelementptr i8* %.nongc_mem204, i32 %tmp22 ; <i8*> [#uses=1]
10962 store i8 34, i8* %tmp29, align 1
10963 %tmp2.i = add i32 %.len21, 37 ; <i32> [#uses=2]
10964 %.gc_mem.i = tail call noalias i8* @_d_newarrayvT(%object.TypeInfo* @_D11TypeInfo_Aa6__initZ, i32 %tmp2.i) ; <i8*> [#uses=3]
10965 %.gc_mem12.i = bitcast i8* %.gc_mem.i to i64* ; <i64*> [#uses=1]
10966 %tmp.i = load i64* bitcast ([9 x i8]* @.str280 to i64*), align 8 ; <i64> [#uses=1]
10967 store i64 %tmp.i, i64* %.gc_mem12.i, align 1
10968 %tmp4.i = getelementptr i8* %.gc_mem.i, i32 8 ; <i8*> [#uses=1]
10969 tail call void @llvm.memcpy.i32(i8* %tmp4.i, i8* %.nongc_mem204, i32 %tmp26, i32 1)
10970 %tmp6.i = insertvalue %"byte[]" undef, i32 %tmp2.i, 0 ; <%"byte[]"> [#uses=1]
10971 %tmp7.i = insertvalue %"byte[]" %tmp6.i, i8* %.gc_mem.i, 1 ; <%"byte[]"> [#uses=1]
10972 %tmp8.i = tail call fastcc %object.Exception* @_D6object9Exception5_ctorMFAaC9ExceptionZC9Exception(%object.Exception* %.newclass_gc, %"byte[]" %tmp7.i, %object.Exception* null) ; <%object.Exception*> [#uses=0]
10973 %tmp33 = bitcast i8* %.newclass_gc_alloc to %object.Object* ; <%object.Object*> [#uses=1]
10974 tail call void @_d_throw_exception(%object.Object* %tmp33)
10975 unreachable
10976
10977endif: ; preds = %entry
10978 %.newclass_gc_alloc.i = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransition7__ClassZ) ; <i8*> [#uses=6]
10979 %.newclass_gc.i = bitcast i8* %.newclass_gc_alloc.i to %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*> [#uses=2]
10980 %vtbl.i = bitcast i8* %.newclass_gc_alloc.i to %object.ModuleInfo.__vtbl** ; <%object.ModuleInfo.__vtbl**> [#uses=1]
10981 store %object.ModuleInfo.__vtbl* @_D5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransition6__vtblZ, %object.ModuleInfo.__vtbl** %vtbl.i
10982 %monitor.i = getelementptr i8* %.newclass_gc_alloc.i, i32 4 ; <i8*> [#uses=1]
10983 %1 = bitcast i8* %monitor.i to i8** ; <i8**> [#uses=1]
10984 store i8* null, i8** %1
10985 %tmp.i138 = getelementptr i8* %.newclass_gc_alloc.i, i32 8 ; <i8*> [#uses=2]
10986 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)
10987 %tmp1.i.i = getelementptr i8* %.newclass_gc_alloc.i, i32 48 ; <i8*> [#uses=1]
10988 %2 = bitcast i8* %tmp1.i.i to i32* ; <i32*> [#uses=1]
10989 store i32 %prioClass_arg, i32* %2
10990 %tmp7.i139 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 9 ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=3]
10991 %tmp8.i140 = load %"tango.text.Regex.List!(TNFATransition).List"** %tmp7.i139 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
10992 %tmp9.i = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp8.i140, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
10993 %tmp10.i = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp9.i ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
10994 %"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]
10995 %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]
10996 %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]
10997 %.newclass_gc_alloc.i141 = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransition7__ClassZ) ; <i8*> [#uses=6]
10998 %.newclass_gc.i142 = bitcast i8* %.newclass_gc_alloc.i141 to %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*> [#uses=3]
10999 %vtbl.i143 = bitcast i8* %.newclass_gc_alloc.i141 to %object.ModuleInfo.__vtbl** ; <%object.ModuleInfo.__vtbl**> [#uses=1]
11000 store %object.ModuleInfo.__vtbl* @_D5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransition6__vtblZ, %object.ModuleInfo.__vtbl** %vtbl.i143
11001 %monitor.i144 = getelementptr i8* %.newclass_gc_alloc.i141, i32 4 ; <i8*> [#uses=1]
11002 %3 = bitcast i8* %monitor.i144 to i8** ; <i8**> [#uses=1]
11003 store i8* null, i8** %3
11004 %tmp.i145 = getelementptr i8* %.newclass_gc_alloc.i141, i32 8 ; <i8*> [#uses=1]
11005 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)
11006 %tmp1.i.i146 = getelementptr i8* %.newclass_gc_alloc.i141, i32 48 ; <i8*> [#uses=1]
11007 %4 = bitcast i8* %tmp1.i.i146 to i32* ; <i32*> [#uses=1]
11008 store i32 %prioClass_arg, i32* %4
11009 %tmp8.i148 = load %"tango.text.Regex.List!(TNFATransition).List"** %tmp7.i139 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
11010 %tmp9.i149 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp8.i148, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
11011 %tmp10.i150 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp9.i149 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
11012 %"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]
11013 %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]
11014 %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]
11015 %.newclass_gc_alloc.i154 = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransition7__ClassZ) ; <i8*> [#uses=6]
11016 %.newclass_gc.i155 = bitcast i8* %.newclass_gc_alloc.i154 to %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*> [#uses=3]
11017 %vtbl.i156 = bitcast i8* %.newclass_gc_alloc.i154 to %object.ModuleInfo.__vtbl** ; <%object.ModuleInfo.__vtbl**> [#uses=1]
11018 store %object.ModuleInfo.__vtbl* @_D5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransition6__vtblZ, %object.ModuleInfo.__vtbl** %vtbl.i156
11019 %monitor.i157 = getelementptr i8* %.newclass_gc_alloc.i154, i32 4 ; <i8*> [#uses=1]
11020 %5 = bitcast i8* %monitor.i157 to i8** ; <i8**> [#uses=1]
11021 store i8* null, i8** %5
11022 %tmp.i158 = getelementptr i8* %.newclass_gc_alloc.i154, i32 8 ; <i8*> [#uses=1]
11023 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)
11024 %tmp1.i.i159 = getelementptr i8* %.newclass_gc_alloc.i154, i32 48 ; <i8*> [#uses=1]
11025 %6 = bitcast i8* %tmp1.i.i159 to i32* ; <i32*> [#uses=1]
11026 store i32 1, i32* %6
11027 %tmp8.i161 = load %"tango.text.Regex.List!(TNFATransition).List"** %tmp7.i139 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
11028 %tmp9.i162 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp8.i161, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
11029 %tmp10.i163 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp9.i162 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
11030 %"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]
11031 %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]
11032 %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]
11033 %tmp44 = getelementptr i8* %.newclass_gc_alloc.i154, i32 20 ; <i8*> [#uses=1]
11034 %7 = bitcast i8* %tmp44 to i32* ; <i32*> [#uses=1]
11035 store i32 1, i32* %7
11036 %tmp47 = getelementptr i8* %.newclass_gc_alloc.i141, i32 20 ; <i8*> [#uses=1]
11037 %8 = bitcast i8* %tmp47 to i32* ; <i32*> [#uses=1]
11038 store i32 1, i32* %8
11039 %tmp50 = getelementptr i8* %.newclass_gc_alloc.i, i32 20 ; <i8*> [#uses=1]
11040 %9 = bitcast i8* %tmp50 to i32* ; <i32*> [#uses=1]
11041 store i32 1, i32* %9
11042 %.newclass_gc_alloc.i167 = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex16__T9TNFAStateTwZ9TNFAState7__ClassZ) ; <i8*> [#uses=6]
11043 %.newclass_gc.i168 = bitcast i8* %.newclass_gc_alloc.i167 to %"tango.text.Regex.TNFAState!(dchar).TNFAState"* ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"*> [#uses=3]
11044 %vtbl.i169 = bitcast i8* %.newclass_gc_alloc.i167 to %object.ModuleInfo.__vtbl** ; <%object.ModuleInfo.__vtbl**> [#uses=1]
11045 store %object.ModuleInfo.__vtbl* @_D5tango4text5Regex16__T9TNFAStateTwZ9TNFAState6__vtblZ, %object.ModuleInfo.__vtbl** %vtbl.i169
11046 %monitor.i170 = getelementptr i8* %.newclass_gc_alloc.i167, i32 4 ; <i8*> [#uses=1]
11047 %10 = bitcast i8* %monitor.i170 to i8** ; <i8**> [#uses=1]
11048 store i8* null, i8** %10
11049 %tmp.i171 = getelementptr i8* %.newclass_gc_alloc.i167, i32 8 ; <i8*> [#uses=1]
11050 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)
11051 %tmp1.i.i172 = getelementptr i8* %.newclass_gc_alloc.i167, i32 16 ; <i8*> [#uses=1]
11052 %11 = bitcast i8* %tmp1.i.i172 to %"tango.text.Regex.List!(TNFATransition).List"** ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
11053 %.newclass_gc_alloc.i.i = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7__ClassZ) ; <i8*> [#uses=4]
11054 %.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]
11055 %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]
11056 store %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__vtblZ, %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %vtbl.i.i
11057 %monitor.i.i = getelementptr i8* %.newclass_gc_alloc.i.i, i32 4 ; <i8*> [#uses=1]
11058 %12 = bitcast i8* %monitor.i.i to i8** ; <i8**> [#uses=1]
11059 store i8* null, i8** %12
11060 %tmp2.i.i = getelementptr i8* %.newclass_gc_alloc.i.i, i32 8 ; <i8*> [#uses=1]
11061 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)
11062 store %"tango.text.Regex.List!(TNFATransition).List"* %.newclass_gc.i.i, %"tango.text.Regex.List!(TNFATransition).List"** %11
11063 %tmp6.i173 = getelementptr i8* %.newclass_gc_alloc.i167, i32 12 ; <i8*> [#uses=1]
11064 %13 = bitcast i8* %tmp6.i173 to i32* ; <i32*> [#uses=1]
11065 %tmp9.i174 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 3, i32 0 ; <i32*> [#uses=4]
11066 %.len.i = load i32* %tmp9.i174 ; <i32> [#uses=4]
11067 store i32 %.len.i, i32* %13
11068 %tmp14.i = add i32 %.len.i, 1 ; <i32> [#uses=2]
11069 %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]
11070 %.ptr.i = load %"tango.text.Regex.TNFAState!(dchar).TNFAState"*** %tmp17.i ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"**> [#uses=1]
11071 %tmp18.i = bitcast %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %.ptr.i to i8* ; <i8*> [#uses=1]
11072 %.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]
11073 %.gc_mem19.i = bitcast i8* %.gc_mem.i175 to %"tango.text.Regex.TNFAState!(dchar).TNFAState"** ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"**> [#uses=2]
11074 %tmp20.i = getelementptr %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %.gc_mem19.i, i32 %.len.i ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"**> [#uses=1]
11075 store %"tango.text.Regex.TNFAState!(dchar).TNFAState"* %.newclass_gc.i168, %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %tmp20.i
11076 store i32 %tmp14.i, i32* %tmp9.i174
11077 store %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %.gc_mem19.i, %"tango.text.Regex.TNFAState!(dchar).TNFAState"*** %tmp17.i
11078 %.newclass_gc_alloc.i176 = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex16__T9TNFAStateTwZ9TNFAState7__ClassZ) ; <i8*> [#uses=6]
11079 %.newclass_gc.i177 = bitcast i8* %.newclass_gc_alloc.i176 to %"tango.text.Regex.TNFAState!(dchar).TNFAState"* ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"*> [#uses=2]
11080 %vtbl.i178 = bitcast i8* %.newclass_gc_alloc.i176 to %object.ModuleInfo.__vtbl** ; <%object.ModuleInfo.__vtbl**> [#uses=1]
11081 store %object.ModuleInfo.__vtbl* @_D5tango4text5Regex16__T9TNFAStateTwZ9TNFAState6__vtblZ, %object.ModuleInfo.__vtbl** %vtbl.i178
11082 %monitor.i179 = getelementptr i8* %.newclass_gc_alloc.i176, i32 4 ; <i8*> [#uses=1]
11083 %14 = bitcast i8* %monitor.i179 to i8** ; <i8**> [#uses=1]
11084 store i8* null, i8** %14
11085 %tmp.i180 = getelementptr i8* %.newclass_gc_alloc.i176, i32 8 ; <i8*> [#uses=1]
11086 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)
11087 %tmp1.i.i181 = getelementptr i8* %.newclass_gc_alloc.i176, i32 16 ; <i8*> [#uses=1]
11088 %15 = bitcast i8* %tmp1.i.i181 to %"tango.text.Regex.List!(TNFATransition).List"** ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=2]
11089 %.newclass_gc_alloc.i.i182 = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7__ClassZ) ; <i8*> [#uses=4]
11090 %.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]
11091 %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]
11092 store %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__vtblZ, %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %vtbl.i.i184
11093 %monitor.i.i185 = getelementptr i8* %.newclass_gc_alloc.i.i182, i32 4 ; <i8*> [#uses=1]
11094 %16 = bitcast i8* %monitor.i.i185 to i8** ; <i8**> [#uses=1]
11095 store i8* null, i8** %16
11096 %tmp2.i.i186 = getelementptr i8* %.newclass_gc_alloc.i.i182, i32 8 ; <i8*> [#uses=1]
11097 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)
11098 store %"tango.text.Regex.List!(TNFATransition).List"* %.newclass_gc.i.i183, %"tango.text.Regex.List!(TNFATransition).List"** %15
11099 %tmp6.i187 = getelementptr i8* %.newclass_gc_alloc.i176, i32 12 ; <i8*> [#uses=1]
11100 %17 = bitcast i8* %tmp6.i187 to i32* ; <i32*> [#uses=1]
11101 %.len.i189 = load i32* %tmp9.i174 ; <i32> [#uses=4]
11102 store i32 %.len.i189, i32* %17
11103 %tmp14.i190 = add i32 %.len.i189, 1 ; <i32> [#uses=2]
11104 %.ptr.i192 = load %"tango.text.Regex.TNFAState!(dchar).TNFAState"*** %tmp17.i ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"**> [#uses=1]
11105 %tmp18.i193 = bitcast %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %.ptr.i192 to i8* ; <i8*> [#uses=1]
11106 %.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]
11107 %.gc_mem19.i195 = bitcast i8* %.gc_mem.i194 to %"tango.text.Regex.TNFAState!(dchar).TNFAState"** ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"**> [#uses=2]
11108 %tmp20.i196 = getelementptr %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %.gc_mem19.i195, i32 %.len.i189 ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"**> [#uses=1]
11109 store %"tango.text.Regex.TNFAState!(dchar).TNFAState"* %.newclass_gc.i177, %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %tmp20.i196
11110 store i32 %tmp14.i190, i32* %tmp9.i174
11111 store %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %.gc_mem19.i195, %"tango.text.Regex.TNFAState!(dchar).TNFAState"*** %tmp17.i
11112 %tmp57 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %frags_arg, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=2]
11113 %tmp58 = load %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp57 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=1]
11114 %tmp59 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp58, i32 0, i32 2 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"**> [#uses=1]
11115 %tmp60 = load %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"** %tmp59 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*> [#uses=2]
11116 %tmp61 = getelementptr %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %tmp60, i32 0, i32 0 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"**> [#uses=1]
11117 %tmp62 = load %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"** %tmp61 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"*> [#uses=1]
11118 %"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]
11119 %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]
11120 tail call fastcc void %frags.tail.value.setEntry(%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %tmp60, %"tango.text.Regex.TNFAState!(dchar).TNFAState"* %.newclass_gc.i168)
11121 %tmp67 = load %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp57 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=1]
11122 %tmp68 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp67, i32 0, i32 2 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"**> [#uses=1]
11123 %tmp69 = load %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"** %tmp68 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*> [#uses=2]
11124 %tmp70 = getelementptr %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %tmp69, i32 0, i32 0 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"**> [#uses=1]
11125 %tmp71 = load %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"** %tmp70 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"*> [#uses=1]
11126 %"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]
11127 %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]
11128 tail call fastcc void %frags.tail.value.setExit(%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %tmp69, %"tango.text.Regex.TNFAState!(dchar).TNFAState"* %.newclass_gc.i177)
11129 %tmp76 = load %"tango.text.Regex.List!(TNFATransition).List"** %15 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
11130 %tmp77 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp76, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
11131 %tmp78 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp77 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
11132 %"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]
11133 %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]
11134 %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]
11135 %18 = bitcast i8* %tmp.i138 to %"tango.text.Regex.TNFAState!(dchar).TNFAState"** ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"**> [#uses=1]
11136 store %"tango.text.Regex.TNFAState!(dchar).TNFAState"* %.newclass_gc.i168, %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %18
11137 %.newclass_gc_alloc85 = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment7__ClassZ) ; <i8*> [#uses=7]
11138 %.newclass_gc86 = bitcast i8* %.newclass_gc_alloc85 to %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*> [#uses=1]
11139 %vtbl87 = bitcast i8* %.newclass_gc_alloc85 to %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"** ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"**> [#uses=1]
11140 store %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"* @_D5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment6__vtblZ, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"** %vtbl87
11141 %monitor88 = getelementptr i8* %.newclass_gc_alloc85, i32 4 ; <i8*> [#uses=1]
11142 %19 = bitcast i8* %monitor88 to i8** ; <i8**> [#uses=1]
11143 store i8* null, i8** %19
11144 %tmp89 = getelementptr i8* %.newclass_gc_alloc85, i32 8 ; <i8*> [#uses=2]
11145 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)
11146 %20 = bitcast i8* %tmp89 to %"tango.text.Regex.List!(TNFATransition).List"** ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=3]
11147 %.newclass_gc_alloc.i197 = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7__ClassZ) ; <i8*> [#uses=4]
11148 %.newclass_gc.i198 = bitcast i8* %.newclass_gc_alloc.i197 to %"tango.text.Regex.List!(TNFATransition).List"* ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
11149 %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]
11150 store %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__vtblZ, %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %vtbl.i199
11151 %monitor.i200 = getelementptr i8* %.newclass_gc_alloc.i197, i32 4 ; <i8*> [#uses=1]
11152 %21 = bitcast i8* %monitor.i200 to i8** ; <i8**> [#uses=1]
11153 store i8* null, i8** %21
11154 %tmp2.i201 = getelementptr i8* %.newclass_gc_alloc.i197, i32 8 ; <i8*> [#uses=1]
11155 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)
11156 store %"tango.text.Regex.List!(TNFATransition).List"* %.newclass_gc.i198, %"tango.text.Regex.List!(TNFATransition).List"** %20
11157 %tmp7.i202 = getelementptr i8* %.newclass_gc_alloc85, i32 12 ; <i8*> [#uses=1]
11158 %22 = bitcast i8* %tmp7.i202 to %"tango.text.Regex.List!(TNFATransition).List"** ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
11159 %.newclass_gc_alloc8.i = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7__ClassZ) ; <i8*> [#uses=4]
11160 %.newclass_gc9.i = bitcast i8* %.newclass_gc_alloc8.i to %"tango.text.Regex.List!(TNFATransition).List"* ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
11161 %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]
11162 store %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__vtblZ, %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %vtbl10.i
11163 %monitor11.i = getelementptr i8* %.newclass_gc_alloc8.i, i32 4 ; <i8*> [#uses=1]
11164 %23 = bitcast i8* %monitor11.i to i8** ; <i8**> [#uses=1]
11165 store i8* null, i8** %23
11166 %tmp12.i = getelementptr i8* %.newclass_gc_alloc8.i, i32 8 ; <i8*> [#uses=1]
11167 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)
11168 store %"tango.text.Regex.List!(TNFATransition).List"* %.newclass_gc9.i, %"tango.text.Regex.List!(TNFATransition).List"** %22
11169 %tmp17.i203 = getelementptr i8* %.newclass_gc_alloc85, i32 16 ; <i8*> [#uses=1]
11170 %24 = bitcast i8* %tmp17.i203 to %"tango.text.Regex.List!(TNFATransition).List"** ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=2]
11171 %.newclass_gc_alloc18.i = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7__ClassZ) ; <i8*> [#uses=4]
11172 %.newclass_gc19.i = bitcast i8* %.newclass_gc_alloc18.i to %"tango.text.Regex.List!(TNFATransition).List"* ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
11173 %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]
11174 store %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__vtblZ, %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %vtbl20.i
11175 %monitor21.i = getelementptr i8* %.newclass_gc_alloc18.i, i32 4 ; <i8*> [#uses=1]
11176 %25 = bitcast i8* %monitor21.i to i8** ; <i8**> [#uses=1]
11177 store i8* null, i8** %25
11178 %tmp22.i = getelementptr i8* %.newclass_gc_alloc18.i, i32 8 ; <i8*> [#uses=1]
11179 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)
11180 store %"tango.text.Regex.List!(TNFATransition).List"* %.newclass_gc19.i, %"tango.text.Regex.List!(TNFATransition).List"** %24
11181 %tmp27.i = getelementptr i8* %.newclass_gc_alloc85, i32 20 ; <i8*> [#uses=1]
11182 %26 = bitcast i8* %tmp27.i to %"tango.text.Regex.List!(TNFATransition).List"** ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=2]
11183 %.newclass_gc_alloc28.i = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7__ClassZ) ; <i8*> [#uses=4]
11184 %.newclass_gc29.i = bitcast i8* %.newclass_gc_alloc28.i to %"tango.text.Regex.List!(TNFATransition).List"* ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
11185 %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]
11186 store %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__vtblZ, %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %vtbl30.i
11187 %monitor31.i = getelementptr i8* %.newclass_gc_alloc28.i, i32 4 ; <i8*> [#uses=1]
11188 %27 = bitcast i8* %monitor31.i to i8** ; <i8**> [#uses=1]
11189 store i8* null, i8** %27
11190 %tmp32.i = getelementptr i8* %.newclass_gc_alloc28.i, i32 8 ; <i8*> [#uses=1]
11191 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)
11192 store %"tango.text.Regex.List!(TNFATransition).List"* %.newclass_gc29.i, %"tango.text.Regex.List!(TNFATransition).List"** %26
11193 %tmp96 = load %"tango.text.Regex.List!(TNFATransition).List"** %20 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
11194 %tmp97 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp96, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
11195 %tmp98 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp97 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
11196 %"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]
11197 %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]
11198 %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]
11199 %tmp104 = load %"tango.text.Regex.List!(TNFATransition).List"** %20 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
11200 %tmp105 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp104, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
11201 %tmp106 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp105 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
11202 %"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]
11203 %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]
11204 %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]
11205 %tmp114 = load %"tango.text.Regex.List!(TNFATransition).List"** %26 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
11206 %tmp115 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp114, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
11207 %tmp116 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp115 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
11208 %"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]
11209 %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]
11210 %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]
11211 %tmp122 = load %"tango.text.Regex.List!(TNFATransition).List"** %24 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
11212 %tmp123 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp122, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
11213 %tmp124 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp123 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
11214 %"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]
11215 %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]
11216 %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]
11217 %tmp130 = load %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"** %tmp1 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"*> [#uses=1]
11218 %"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]
11219 %frags.pop = load void (%"tango.text.Regex.List!(TNFAFragment).List"*)** %"frags.pop@vtbl", align 4 ; <void (%"tango.text.Regex.List!(TNFAFragment).List"*)*> [#uses=1]
11220 tail call fastcc void %frags.pop(%"tango.text.Regex.List!(TNFAFragment).List"* %frags_arg)
11221 %tmp134 = load %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"** %tmp1 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"*> [#uses=1]
11222 %"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]
11223 %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]
11224 %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]
11225 ret void
11226}
11227
11228define 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) {
11229entry:
11230 %tmp1 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %frags_arg, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"**> [#uses=3]
11231 %tmp2 = load %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"** %tmp1 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"*> [#uses=1]
11232 %"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]
11233 %frags.empty = load i1 (%"tango.text.Regex.List!(TNFAFragment).List"*)** %"frags.empty@vtbl", align 4 ; <i1 (%"tango.text.Regex.List!(TNFAFragment).List"*)*> [#uses=1]
11234 %tmp4 = tail call fastcc i1 %frags.empty(%"tango.text.Regex.List!(TNFAFragment).List"* %frags_arg) ; <i1> [#uses=1]
11235 br i1 %tmp4, label %if, label %endif
11236
11237if: ; preds = %entry
11238 %.newclass_gc_alloc = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex15RegExpException7__ClassZ) ; <i8*> [#uses=5]
11239 %.newclass_gc = bitcast i8* %.newclass_gc_alloc to %object.Exception* ; <%object.Exception*> [#uses=1]
11240 %vtbl = bitcast i8* %.newclass_gc_alloc to %object.Exception.__vtbl** ; <%object.Exception.__vtbl**> [#uses=1]
11241 store %object.Exception.__vtbl* @_D5tango4text5Regex15RegExpException6__vtblZ, %object.Exception.__vtbl** %vtbl
11242 %monitor = getelementptr i8* %.newclass_gc_alloc, i32 4 ; <i8*> [#uses=1]
11243 %0 = bitcast i8* %monitor to i8** ; <i8**> [#uses=1]
11244 store i8* null, i8** %0
11245 %tmp5 = getelementptr i8* %.newclass_gc_alloc, i32 8 ; <i8*> [#uses=1]
11246 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)
11247 %tmp11 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 2, i32 1 ; <i32**> [#uses=1]
11248 %.ptr = load i32** %tmp11 ; <i32*> [#uses=1]
11249 %tmp13 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 7 ; <i32*> [#uses=1]
11250 %tmp14 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 2, i32 0 ; <i32*> [#uses=1]
11251 %.len = load i32* %tmp14 ; <i32> [#uses=1]
11252 %tmp15 = load i32* %tmp13 ; <i32> [#uses=2]
11253 %tmp16 = getelementptr i32* %.ptr, i32 %tmp15 ; <i32*> [#uses=1]
11254 %tmp17 = sub i32 %.len, %tmp15 ; <i32> [#uses=1]
11255 %tmp18 = insertvalue %"Act[]" undef, i32 %tmp17, 0 ; <%"Act[]"> [#uses=1]
11256 %tmp19 = insertvalue %"Act[]" %tmp18, i32* %tmp16, 1 ; <%"Act[]"> [#uses=1]
11257 %tmp20 = tail call fastcc %"byte[]" @_D5tango4text7convert3Utf8toStringFAwAaPkZAa(%"Act[]" %tmp19, %"byte[]" zeroinitializer, i32* null) ; <%"byte[]"> [#uses=2]
11258 %.len21 = extractvalue %"byte[]" %tmp20, 0 ; <i32> [#uses=4]
11259 %tmp22 = add i32 %.len21, 28 ; <i32> [#uses=3]
11260 %.nongc_mem = alloca i8, i32 %tmp22, align 1 ; <i8*> [#uses=3]
11261 %.ptr23 = extractvalue %"byte[]" %tmp20, 1 ; <i8*> [#uses=1]
11262 tail call void @llvm.memcpy.i32(i8* %.nongc_mem, i8* getelementptr ([29 x i8]* @.str235, i32 0, i32 0), i32 28, i32 1)
11263 %tmp24 = getelementptr i8* %.nongc_mem, i32 28 ; <i8*> [#uses=1]
11264 tail call void @llvm.memcpy.i32(i8* %tmp24, i8* %.ptr23, i32 %.len21, i32 1)
11265 %tmp26 = add i32 %.len21, 29 ; <i32> [#uses=2]
11266 %.nongc_mem166 = alloca i8, i32 %tmp26, align 1 ; <i8*> [#uses=3]
11267 tail call void @llvm.memcpy.i32(i8* %.nongc_mem166, i8* %.nongc_mem, i32 %tmp22, i32 1)
11268 %tmp29 = getelementptr i8* %.nongc_mem166, i32 %tmp22 ; <i8*> [#uses=1]
11269 store i8 34, i8* %tmp29, align 1
11270 %tmp2.i = add i32 %.len21, 37 ; <i32> [#uses=2]
11271 %.gc_mem.i = tail call noalias i8* @_d_newarrayvT(%object.TypeInfo* @_D11TypeInfo_Aa6__initZ, i32 %tmp2.i) ; <i8*> [#uses=3]
11272 %.gc_mem12.i = bitcast i8* %.gc_mem.i to i64* ; <i64*> [#uses=1]
11273 %tmp.i = load i64* bitcast ([9 x i8]* @.str280 to i64*), align 8 ; <i64> [#uses=1]
11274 store i64 %tmp.i, i64* %.gc_mem12.i, align 1
11275 %tmp4.i = getelementptr i8* %.gc_mem.i, i32 8 ; <i8*> [#uses=1]
11276 tail call void @llvm.memcpy.i32(i8* %tmp4.i, i8* %.nongc_mem166, i32 %tmp26, i32 1)
11277 %tmp6.i = insertvalue %"byte[]" undef, i32 %tmp2.i, 0 ; <%"byte[]"> [#uses=1]
11278 %tmp7.i = insertvalue %"byte[]" %tmp6.i, i8* %.gc_mem.i, 1 ; <%"byte[]"> [#uses=1]
11279 %tmp8.i = tail call fastcc %object.Exception* @_D6object9Exception5_ctorMFAaC9ExceptionZC9Exception(%object.Exception* %.newclass_gc, %"byte[]" %tmp7.i, %object.Exception* null) ; <%object.Exception*> [#uses=0]
11280 %tmp33 = bitcast i8* %.newclass_gc_alloc to %object.Object* ; <%object.Object*> [#uses=1]
11281 tail call void @_d_throw_exception(%object.Object* %tmp33)
11282 unreachable
11283
11284endif: ; preds = %entry
11285 %.newclass_gc_alloc.i = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransition7__ClassZ) ; <i8*> [#uses=6]
11286 %.newclass_gc.i = bitcast i8* %.newclass_gc_alloc.i to %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*> [#uses=2]
11287 %vtbl.i = bitcast i8* %.newclass_gc_alloc.i to %object.ModuleInfo.__vtbl** ; <%object.ModuleInfo.__vtbl**> [#uses=1]
11288 store %object.ModuleInfo.__vtbl* @_D5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransition6__vtblZ, %object.ModuleInfo.__vtbl** %vtbl.i
11289 %monitor.i = getelementptr i8* %.newclass_gc_alloc.i, i32 4 ; <i8*> [#uses=1]
11290 %1 = bitcast i8* %monitor.i to i8** ; <i8**> [#uses=1]
11291 store i8* null, i8** %1
11292 %tmp.i134 = getelementptr i8* %.newclass_gc_alloc.i, i32 8 ; <i8*> [#uses=2]
11293 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)
11294 %tmp1.i.i = getelementptr i8* %.newclass_gc_alloc.i, i32 48 ; <i8*> [#uses=1]
11295 %2 = bitcast i8* %tmp1.i.i to i32* ; <i32*> [#uses=1]
11296 store i32 %prioClass_arg, i32* %2
11297 %tmp7.i135 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 9 ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=2]
11298 %tmp8.i136 = load %"tango.text.Regex.List!(TNFATransition).List"** %tmp7.i135 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
11299 %tmp9.i = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp8.i136, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
11300 %tmp10.i = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp9.i ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
11301 %"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]
11302 %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]
11303 %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]
11304 %.newclass_gc_alloc.i137 = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransition7__ClassZ) ; <i8*> [#uses=6]
11305 %.newclass_gc.i138 = bitcast i8* %.newclass_gc_alloc.i137 to %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*> [#uses=3]
11306 %vtbl.i139 = bitcast i8* %.newclass_gc_alloc.i137 to %object.ModuleInfo.__vtbl** ; <%object.ModuleInfo.__vtbl**> [#uses=1]
11307 store %object.ModuleInfo.__vtbl* @_D5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransition6__vtblZ, %object.ModuleInfo.__vtbl** %vtbl.i139
11308 %monitor.i140 = getelementptr i8* %.newclass_gc_alloc.i137, i32 4 ; <i8*> [#uses=1]
11309 %3 = bitcast i8* %monitor.i140 to i8** ; <i8**> [#uses=1]
11310 store i8* null, i8** %3
11311 %tmp.i141 = getelementptr i8* %.newclass_gc_alloc.i137, i32 8 ; <i8*> [#uses=1]
11312 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)
11313 %tmp1.i.i142 = getelementptr i8* %.newclass_gc_alloc.i137, i32 48 ; <i8*> [#uses=1]
11314 %4 = bitcast i8* %tmp1.i.i142 to i32* ; <i32*> [#uses=1]
11315 store i32 1, i32* %4
11316 %tmp8.i144 = load %"tango.text.Regex.List!(TNFATransition).List"** %tmp7.i135 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
11317 %tmp9.i145 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp8.i144, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
11318 %tmp10.i146 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp9.i145 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
11319 %"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]
11320 %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]
11321 %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]
11322 %tmp41 = getelementptr i8* %.newclass_gc_alloc.i, i32 20 ; <i8*> [#uses=1]
11323 %5 = bitcast i8* %tmp41 to i32* ; <i32*> [#uses=1]
11324 store i32 1, i32* %5
11325 %tmp44 = getelementptr i8* %.newclass_gc_alloc.i137, i32 20 ; <i8*> [#uses=1]
11326 %6 = bitcast i8* %tmp44 to i32* ; <i32*> [#uses=1]
11327 store i32 1, i32* %6
11328 %.newclass_gc_alloc.i150 = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex16__T9TNFAStateTwZ9TNFAState7__ClassZ) ; <i8*> [#uses=6]
11329 %.newclass_gc.i151 = bitcast i8* %.newclass_gc_alloc.i150 to %"tango.text.Regex.TNFAState!(dchar).TNFAState"* ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"*> [#uses=3]
11330 %vtbl.i152 = bitcast i8* %.newclass_gc_alloc.i150 to %object.ModuleInfo.__vtbl** ; <%object.ModuleInfo.__vtbl**> [#uses=1]
11331 store %object.ModuleInfo.__vtbl* @_D5tango4text5Regex16__T9TNFAStateTwZ9TNFAState6__vtblZ, %object.ModuleInfo.__vtbl** %vtbl.i152
11332 %monitor.i153 = getelementptr i8* %.newclass_gc_alloc.i150, i32 4 ; <i8*> [#uses=1]
11333 %7 = bitcast i8* %monitor.i153 to i8** ; <i8**> [#uses=1]
11334 store i8* null, i8** %7
11335 %tmp.i154 = getelementptr i8* %.newclass_gc_alloc.i150, i32 8 ; <i8*> [#uses=1]
11336 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)
11337 %tmp1.i.i155 = getelementptr i8* %.newclass_gc_alloc.i150, i32 16 ; <i8*> [#uses=1]
11338 %8 = bitcast i8* %tmp1.i.i155 to %"tango.text.Regex.List!(TNFATransition).List"** ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
11339 %.newclass_gc_alloc.i.i = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7__ClassZ) ; <i8*> [#uses=4]
11340 %.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]
11341 %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]
11342 store %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__vtblZ, %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %vtbl.i.i
11343 %monitor.i.i = getelementptr i8* %.newclass_gc_alloc.i.i, i32 4 ; <i8*> [#uses=1]
11344 %9 = bitcast i8* %monitor.i.i to i8** ; <i8**> [#uses=1]
11345 store i8* null, i8** %9
11346 %tmp2.i.i = getelementptr i8* %.newclass_gc_alloc.i.i, i32 8 ; <i8*> [#uses=1]
11347 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)
11348 store %"tango.text.Regex.List!(TNFATransition).List"* %.newclass_gc.i.i, %"tango.text.Regex.List!(TNFATransition).List"** %8
11349 %tmp6.i156 = getelementptr i8* %.newclass_gc_alloc.i150, i32 12 ; <i8*> [#uses=1]
11350 %10 = bitcast i8* %tmp6.i156 to i32* ; <i32*> [#uses=1]
11351 %tmp9.i157 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 3, i32 0 ; <i32*> [#uses=2]
11352 %.len.i = load i32* %tmp9.i157 ; <i32> [#uses=4]
11353 store i32 %.len.i, i32* %10
11354 %tmp14.i = add i32 %.len.i, 1 ; <i32> [#uses=2]
11355 %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]
11356 %.ptr.i = load %"tango.text.Regex.TNFAState!(dchar).TNFAState"*** %tmp17.i ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"**> [#uses=1]
11357 %tmp18.i = bitcast %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %.ptr.i to i8* ; <i8*> [#uses=1]
11358 %.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]
11359 %.gc_mem19.i = bitcast i8* %.gc_mem.i158 to %"tango.text.Regex.TNFAState!(dchar).TNFAState"** ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"**> [#uses=2]
11360 %tmp20.i = getelementptr %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %.gc_mem19.i, i32 %.len.i ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"**> [#uses=1]
11361 store %"tango.text.Regex.TNFAState!(dchar).TNFAState"* %.newclass_gc.i151, %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %tmp20.i
11362 store i32 %tmp14.i, i32* %tmp9.i157
11363 store %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %.gc_mem19.i, %"tango.text.Regex.TNFAState!(dchar).TNFAState"*** %tmp17.i
11364 %tmp48 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %frags_arg, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=3]
11365 %tmp49 = load %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp48 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=1]
11366 %tmp50 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp49, i32 0, i32 2 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"**> [#uses=1]
11367 %tmp51 = load %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"** %tmp50 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*> [#uses=2]
11368 %tmp52 = getelementptr %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %tmp51, i32 0, i32 0 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"**> [#uses=1]
11369 %tmp53 = load %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"** %tmp52 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"*> [#uses=1]
11370 %"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]
11371 %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]
11372 tail call fastcc void %frags.tail.value.setEntry(%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %tmp51, %"tango.text.Regex.TNFAState!(dchar).TNFAState"* %.newclass_gc.i151)
11373 %11 = bitcast i8* %tmp.i134 to %"tango.text.Regex.TNFAState!(dchar).TNFAState"** ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"**> [#uses=1]
11374 store %"tango.text.Regex.TNFAState!(dchar).TNFAState"* %.newclass_gc.i151, %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %11
11375 %.newclass_gc_alloc59 = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment7__ClassZ) ; <i8*> [#uses=7]
11376 %.newclass_gc60 = bitcast i8* %.newclass_gc_alloc59 to %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*> [#uses=1]
11377 %vtbl61 = bitcast i8* %.newclass_gc_alloc59 to %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"** ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"**> [#uses=1]
11378 store %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"* @_D5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment6__vtblZ, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"** %vtbl61
11379 %monitor62 = getelementptr i8* %.newclass_gc_alloc59, i32 4 ; <i8*> [#uses=1]
11380 %12 = bitcast i8* %monitor62 to i8** ; <i8**> [#uses=1]
11381 store i8* null, i8** %12
11382 %tmp63 = getelementptr i8* %.newclass_gc_alloc59, i32 8 ; <i8*> [#uses=2]
11383 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)
11384 %13 = bitcast i8* %tmp63 to %"tango.text.Regex.List!(TNFATransition).List"** ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=3]
11385 %.newclass_gc_alloc.i159 = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7__ClassZ) ; <i8*> [#uses=4]
11386 %.newclass_gc.i160 = bitcast i8* %.newclass_gc_alloc.i159 to %"tango.text.Regex.List!(TNFATransition).List"* ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
11387 %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]
11388 store %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__vtblZ, %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %vtbl.i161
11389 %monitor.i162 = getelementptr i8* %.newclass_gc_alloc.i159, i32 4 ; <i8*> [#uses=1]
11390 %14 = bitcast i8* %monitor.i162 to i8** ; <i8**> [#uses=1]
11391 store i8* null, i8** %14
11392 %tmp2.i163 = getelementptr i8* %.newclass_gc_alloc.i159, i32 8 ; <i8*> [#uses=1]
11393 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)
11394 store %"tango.text.Regex.List!(TNFATransition).List"* %.newclass_gc.i160, %"tango.text.Regex.List!(TNFATransition).List"** %13
11395 %tmp7.i164 = getelementptr i8* %.newclass_gc_alloc59, i32 12 ; <i8*> [#uses=1]
11396 %15 = bitcast i8* %tmp7.i164 to %"tango.text.Regex.List!(TNFATransition).List"** ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=2]
11397 %.newclass_gc_alloc8.i = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7__ClassZ) ; <i8*> [#uses=4]
11398 %.newclass_gc9.i = bitcast i8* %.newclass_gc_alloc8.i to %"tango.text.Regex.List!(TNFATransition).List"* ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
11399 %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]
11400 store %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__vtblZ, %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %vtbl10.i
11401 %monitor11.i = getelementptr i8* %.newclass_gc_alloc8.i, i32 4 ; <i8*> [#uses=1]
11402 %16 = bitcast i8* %monitor11.i to i8** ; <i8**> [#uses=1]
11403 store i8* null, i8** %16
11404 %tmp12.i = getelementptr i8* %.newclass_gc_alloc8.i, i32 8 ; <i8*> [#uses=1]
11405 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)
11406 store %"tango.text.Regex.List!(TNFATransition).List"* %.newclass_gc9.i, %"tango.text.Regex.List!(TNFATransition).List"** %15
11407 %tmp17.i165 = getelementptr i8* %.newclass_gc_alloc59, i32 16 ; <i8*> [#uses=1]
11408 %17 = bitcast i8* %tmp17.i165 to %"tango.text.Regex.List!(TNFATransition).List"** ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
11409 %.newclass_gc_alloc18.i = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7__ClassZ) ; <i8*> [#uses=4]
11410 %.newclass_gc19.i = bitcast i8* %.newclass_gc_alloc18.i to %"tango.text.Regex.List!(TNFATransition).List"* ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
11411 %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]
11412 store %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__vtblZ, %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %vtbl20.i
11413 %monitor21.i = getelementptr i8* %.newclass_gc_alloc18.i, i32 4 ; <i8*> [#uses=1]
11414 %18 = bitcast i8* %monitor21.i to i8** ; <i8**> [#uses=1]
11415 store i8* null, i8** %18
11416 %tmp22.i = getelementptr i8* %.newclass_gc_alloc18.i, i32 8 ; <i8*> [#uses=1]
11417 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)
11418 store %"tango.text.Regex.List!(TNFATransition).List"* %.newclass_gc19.i, %"tango.text.Regex.List!(TNFATransition).List"** %17
11419 %tmp27.i = getelementptr i8* %.newclass_gc_alloc59, i32 20 ; <i8*> [#uses=1]
11420 %19 = bitcast i8* %tmp27.i to %"tango.text.Regex.List!(TNFATransition).List"** ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=3]
11421 %.newclass_gc_alloc28.i = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7__ClassZ) ; <i8*> [#uses=4]
11422 %.newclass_gc29.i = bitcast i8* %.newclass_gc_alloc28.i to %"tango.text.Regex.List!(TNFATransition).List"* ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
11423 %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]
11424 store %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__vtblZ, %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %vtbl30.i
11425 %monitor31.i = getelementptr i8* %.newclass_gc_alloc28.i, i32 4 ; <i8*> [#uses=1]
11426 %20 = bitcast i8* %monitor31.i to i8** ; <i8**> [#uses=1]
11427 store i8* null, i8** %20
11428 %tmp32.i = getelementptr i8* %.newclass_gc_alloc28.i, i32 8 ; <i8*> [#uses=1]
11429 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)
11430 store %"tango.text.Regex.List!(TNFATransition).List"* %.newclass_gc29.i, %"tango.text.Regex.List!(TNFATransition).List"** %19
11431 %tmp70 = load %"tango.text.Regex.List!(TNFATransition).List"** %13 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
11432 %tmp71 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp70, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
11433 %tmp72 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp71 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
11434 %"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]
11435 %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]
11436 %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]
11437 %tmp78 = load %"tango.text.Regex.List!(TNFATransition).List"** %13 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
11438 %tmp79 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp78, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
11439 %tmp80 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp79 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
11440 %"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]
11441 %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]
11442 %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]
11443 %tmp88 = load %"tango.text.Regex.List!(TNFATransition).List"** %15 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
11444 %tmp89 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp88, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
11445 %tmp90 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp89 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
11446 %"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]
11447 %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]
11448 %tmp94 = load %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp48 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=1]
11449 %tmp95 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp94, i32 0, i32 2 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"**> [#uses=1]
11450 %tmp96 = load %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"** %tmp95 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*> [#uses=1]
11451 %tmp97 = getelementptr %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %tmp96, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
11452 %tmp98 = load %"tango.text.Regex.List!(TNFATransition).List"** %tmp97 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
11453 %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]
11454 %tmp102 = load %"tango.text.Regex.List!(TNFATransition).List"** %19 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
11455 %tmp103 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp102, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
11456 %tmp104 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp103 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
11457 %"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]
11458 %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]
11459 %tmp108 = load %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp48 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=1]
11460 %tmp109 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp108, i32 0, i32 2 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"**> [#uses=1]
11461 %tmp110 = load %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"** %tmp109 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*> [#uses=1]
11462 %tmp111 = getelementptr %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %tmp110, i32 0, i32 5 ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
11463 %tmp112 = load %"tango.text.Regex.List!(TNFATransition).List"** %tmp111 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
11464 %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]
11465 %tmp116 = load %"tango.text.Regex.List!(TNFATransition).List"** %19 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
11466 %tmp117 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp116, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
11467 %tmp118 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp117 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
11468 %"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]
11469 %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]
11470 %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]
11471 %tmp126 = load %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"** %tmp1 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"*> [#uses=1]
11472 %"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]
11473 %frags.pop = load void (%"tango.text.Regex.List!(TNFAFragment).List"*)** %"frags.pop@vtbl", align 4 ; <void (%"tango.text.Regex.List!(TNFAFragment).List"*)*> [#uses=1]
11474 tail call fastcc void %frags.pop(%"tango.text.Regex.List!(TNFAFragment).List"* %frags_arg)
11475 %tmp130 = load %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"** %tmp1 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"*> [#uses=1]
11476 %"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]
11477 %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]
11478 %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]
11479 ret void
11480}
11481
11482define 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) {
11483entry:
11484 %tmp1 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %frags_arg, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"**> [#uses=3]
11485 %tmp2 = load %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"** %tmp1 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"*> [#uses=1]
11486 %"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]
11487 %frags.empty = load i1 (%"tango.text.Regex.List!(TNFAFragment).List"*)** %"frags.empty@vtbl", align 4 ; <i1 (%"tango.text.Regex.List!(TNFAFragment).List"*)*> [#uses=1]
11488 %tmp4 = tail call fastcc i1 %frags.empty(%"tango.text.Regex.List!(TNFAFragment).List"* %frags_arg) ; <i1> [#uses=1]
11489 br i1 %tmp4, label %if, label %endif
11490
11491if: ; preds = %entry
11492 %.newclass_gc_alloc = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex15RegExpException7__ClassZ) ; <i8*> [#uses=5]
11493 %.newclass_gc = bitcast i8* %.newclass_gc_alloc to %object.Exception* ; <%object.Exception*> [#uses=1]
11494 %vtbl = bitcast i8* %.newclass_gc_alloc to %object.Exception.__vtbl** ; <%object.Exception.__vtbl**> [#uses=1]
11495 store %object.Exception.__vtbl* @_D5tango4text5Regex15RegExpException6__vtblZ, %object.Exception.__vtbl** %vtbl
11496 %monitor = getelementptr i8* %.newclass_gc_alloc, i32 4 ; <i8*> [#uses=1]
11497 %0 = bitcast i8* %monitor to i8** ; <i8**> [#uses=1]
11498 store i8* null, i8** %0
11499 %tmp5 = getelementptr i8* %.newclass_gc_alloc, i32 8 ; <i8*> [#uses=1]
11500 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)
11501 %tmp11 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 2, i32 1 ; <i32**> [#uses=1]
11502 %.ptr = load i32** %tmp11 ; <i32*> [#uses=1]
11503 %tmp13 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 7 ; <i32*> [#uses=1]
11504 %tmp14 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 2, i32 0 ; <i32*> [#uses=1]
11505 %.len = load i32* %tmp14 ; <i32> [#uses=1]
11506 %tmp15 = load i32* %tmp13 ; <i32> [#uses=2]
11507 %tmp16 = getelementptr i32* %.ptr, i32 %tmp15 ; <i32*> [#uses=1]
11508 %tmp17 = sub i32 %.len, %tmp15 ; <i32> [#uses=1]
11509 %tmp18 = insertvalue %"Act[]" undef, i32 %tmp17, 0 ; <%"Act[]"> [#uses=1]
11510 %tmp19 = insertvalue %"Act[]" %tmp18, i32* %tmp16, 1 ; <%"Act[]"> [#uses=1]
11511 %tmp20 = tail call fastcc %"byte[]" @_D5tango4text7convert3Utf8toStringFAwAaPkZAa(%"Act[]" %tmp19, %"byte[]" zeroinitializer, i32* null) ; <%"byte[]"> [#uses=2]
11512 %.len21 = extractvalue %"byte[]" %tmp20, 0 ; <i32> [#uses=4]
11513 %tmp22 = add i32 %.len21, 32 ; <i32> [#uses=3]
11514 %.nongc_mem = alloca i8, i32 %tmp22, align 1 ; <i8*> [#uses=3]
11515 %.ptr23 = extractvalue %"byte[]" %tmp20, 1 ; <i8*> [#uses=1]
11516 tail call void @llvm.memcpy.i32(i8* %.nongc_mem, i8* getelementptr ([33 x i8]* @.str237, i32 0, i32 0), i32 32, i32 1)
11517 %tmp24 = getelementptr i8* %.nongc_mem, i32 32 ; <i8*> [#uses=1]
11518 tail call void @llvm.memcpy.i32(i8* %tmp24, i8* %.ptr23, i32 %.len21, i32 1)
11519 %tmp26 = add i32 %.len21, 33 ; <i32> [#uses=2]
11520 %.nongc_mem362 = alloca i8, i32 %tmp26, align 1 ; <i8*> [#uses=3]
11521 tail call void @llvm.memcpy.i32(i8* %.nongc_mem362, i8* %.nongc_mem, i32 %tmp22, i32 1)
11522 %tmp29 = getelementptr i8* %.nongc_mem362, i32 %tmp22 ; <i8*> [#uses=1]
11523 store i8 34, i8* %tmp29, align 1
11524 %tmp2.i = add i32 %.len21, 41 ; <i32> [#uses=2]
11525 %.gc_mem.i = tail call noalias i8* @_d_newarrayvT(%object.TypeInfo* @_D11TypeInfo_Aa6__initZ, i32 %tmp2.i) ; <i8*> [#uses=3]
11526 %.gc_mem12.i = bitcast i8* %.gc_mem.i to i64* ; <i64*> [#uses=1]
11527 %tmp.i = load i64* bitcast ([9 x i8]* @.str280 to i64*), align 8 ; <i64> [#uses=1]
11528 store i64 %tmp.i, i64* %.gc_mem12.i, align 1
11529 %tmp4.i = getelementptr i8* %.gc_mem.i, i32 8 ; <i8*> [#uses=1]
11530 tail call void @llvm.memcpy.i32(i8* %tmp4.i, i8* %.nongc_mem362, i32 %tmp26, i32 1)
11531 %tmp6.i = insertvalue %"byte[]" undef, i32 %tmp2.i, 0 ; <%"byte[]"> [#uses=1]
11532 %tmp7.i = insertvalue %"byte[]" %tmp6.i, i8* %.gc_mem.i, 1 ; <%"byte[]"> [#uses=1]
11533 %tmp8.i = tail call fastcc %object.Exception* @_D6object9Exception5_ctorMFAaC9ExceptionZC9Exception(%object.Exception* %.newclass_gc, %"byte[]" %tmp7.i, %object.Exception* null) ; <%object.Exception*> [#uses=0]
11534 %tmp33 = bitcast i8* %.newclass_gc_alloc to %object.Object* ; <%object.Object*> [#uses=1]
11535 tail call void @_d_throw_exception(%object.Object* %tmp33)
11536 unreachable
11537
11538endif: ; preds = %entry
11539 %.newclass_gc_alloc34 = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment7__ClassZ) ; <i8*> [#uses=7]
11540 %.newclass_gc35 = bitcast i8* %.newclass_gc_alloc34 to %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*> [#uses=1]
11541 %vtbl36 = bitcast i8* %.newclass_gc_alloc34 to %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"** ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"**> [#uses=1]
11542 store %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"* @_D5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment6__vtblZ, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"** %vtbl36
11543 %monitor37 = getelementptr i8* %.newclass_gc_alloc34, i32 4 ; <i8*> [#uses=1]
11544 %1 = bitcast i8* %monitor37 to i8** ; <i8**> [#uses=1]
11545 store i8* null, i8** %1
11546 %tmp38 = getelementptr i8* %.newclass_gc_alloc34, i32 8 ; <i8*> [#uses=2]
11547 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)
11548 %2 = bitcast i8* %tmp38 to %"tango.text.Regex.List!(TNFATransition).List"** ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=4]
11549 %.newclass_gc_alloc.i = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7__ClassZ) ; <i8*> [#uses=4]
11550 %.newclass_gc.i = bitcast i8* %.newclass_gc_alloc.i to %"tango.text.Regex.List!(TNFATransition).List"* ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
11551 %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]
11552 store %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__vtblZ, %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %vtbl.i
11553 %monitor.i = getelementptr i8* %.newclass_gc_alloc.i, i32 4 ; <i8*> [#uses=1]
11554 %3 = bitcast i8* %monitor.i to i8** ; <i8**> [#uses=1]
11555 store i8* null, i8** %3
11556 %tmp2.i275 = getelementptr i8* %.newclass_gc_alloc.i, i32 8 ; <i8*> [#uses=1]
11557 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)
11558 store %"tango.text.Regex.List!(TNFATransition).List"* %.newclass_gc.i, %"tango.text.Regex.List!(TNFATransition).List"** %2
11559 %tmp7.i276 = getelementptr i8* %.newclass_gc_alloc34, i32 12 ; <i8*> [#uses=1]
11560 %4 = bitcast i8* %tmp7.i276 to %"tango.text.Regex.List!(TNFATransition).List"** ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=2]
11561 %.newclass_gc_alloc8.i = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7__ClassZ) ; <i8*> [#uses=4]
11562 %.newclass_gc9.i = bitcast i8* %.newclass_gc_alloc8.i to %"tango.text.Regex.List!(TNFATransition).List"* ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
11563 %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]
11564 store %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__vtblZ, %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %vtbl10.i
11565 %monitor11.i = getelementptr i8* %.newclass_gc_alloc8.i, i32 4 ; <i8*> [#uses=1]
11566 %5 = bitcast i8* %monitor11.i to i8** ; <i8**> [#uses=1]
11567 store i8* null, i8** %5
11568 %tmp12.i = getelementptr i8* %.newclass_gc_alloc8.i, i32 8 ; <i8*> [#uses=1]
11569 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)
11570 store %"tango.text.Regex.List!(TNFATransition).List"* %.newclass_gc9.i, %"tango.text.Regex.List!(TNFATransition).List"** %4
11571 %tmp17.i = getelementptr i8* %.newclass_gc_alloc34, i32 16 ; <i8*> [#uses=1]
11572 %6 = bitcast i8* %tmp17.i to %"tango.text.Regex.List!(TNFATransition).List"** ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=4]
11573 %.newclass_gc_alloc18.i = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7__ClassZ) ; <i8*> [#uses=4]
11574 %.newclass_gc19.i = bitcast i8* %.newclass_gc_alloc18.i to %"tango.text.Regex.List!(TNFATransition).List"* ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
11575 %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]
11576 store %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__vtblZ, %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %vtbl20.i
11577 %monitor21.i = getelementptr i8* %.newclass_gc_alloc18.i, i32 4 ; <i8*> [#uses=1]
11578 %7 = bitcast i8* %monitor21.i to i8** ; <i8**> [#uses=1]
11579 store i8* null, i8** %7
11580 %tmp22.i = getelementptr i8* %.newclass_gc_alloc18.i, i32 8 ; <i8*> [#uses=1]
11581 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)
11582 store %"tango.text.Regex.List!(TNFATransition).List"* %.newclass_gc19.i, %"tango.text.Regex.List!(TNFATransition).List"** %6
11583 %tmp27.i = getelementptr i8* %.newclass_gc_alloc34, i32 20 ; <i8*> [#uses=1]
11584 %8 = bitcast i8* %tmp27.i to %"tango.text.Regex.List!(TNFATransition).List"** ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=2]
11585 %.newclass_gc_alloc28.i = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7__ClassZ) ; <i8*> [#uses=4]
11586 %.newclass_gc29.i = bitcast i8* %.newclass_gc_alloc28.i to %"tango.text.Regex.List!(TNFATransition).List"* ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
11587 %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]
11588 store %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__vtblZ, %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %vtbl30.i
11589 %monitor31.i = getelementptr i8* %.newclass_gc_alloc28.i, i32 4 ; <i8*> [#uses=1]
11590 %9 = bitcast i8* %monitor31.i to i8** ; <i8**> [#uses=1]
11591 store i8* null, i8** %9
11592 %tmp32.i = getelementptr i8* %.newclass_gc_alloc28.i, i32 8 ; <i8*> [#uses=1]
11593 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)
11594 store %"tango.text.Regex.List!(TNFATransition).List"* %.newclass_gc29.i, %"tango.text.Regex.List!(TNFATransition).List"** %8
11595 br label %forcond
11596
11597forcond: ; preds = %endif56, %endif
11598 %prev.0 = phi %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* [ null, %endif ], [ %tmp52, %endif56 ] ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*> [#uses=7]
11599 %i.0 = phi i32 [ 0, %endif ], [ %tmp81, %endif56 ] ; <i32> [#uses=2]
11600 %tmp45 = icmp ult i32 %i.0, %minOccur_arg ; <i1> [#uses=1]
11601 br i1 %tmp45, label %forbody, label %endfor
11602
11603forbody: ; preds = %forcond
11604 %tmp48 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %frags_arg, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=1]
11605 %tmp49 = load %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp48 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=1]
11606 %tmp50 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp49, i32 0, i32 2 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"**> [#uses=1]
11607 %tmp51 = load %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"** %tmp50 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*> [#uses=1]
11608 %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]
11609 %tmp54 = icmp eq %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %prev.0, null ; <i1> [#uses=1]
11610 br i1 %tmp54, label %else, label %if55
11611
11612if55: ; preds = %forbody
11613 %.newclass_gc_alloc.i277 = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex16__T9TNFAStateTwZ9TNFAState7__ClassZ) ; <i8*> [#uses=6]
11614 %.newclass_gc.i278 = bitcast i8* %.newclass_gc_alloc.i277 to %"tango.text.Regex.TNFAState!(dchar).TNFAState"* ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"*> [#uses=3]
11615 %vtbl.i279 = bitcast i8* %.newclass_gc_alloc.i277 to %object.ModuleInfo.__vtbl** ; <%object.ModuleInfo.__vtbl**> [#uses=1]
11616 store %object.ModuleInfo.__vtbl* @_D5tango4text5Regex16__T9TNFAStateTwZ9TNFAState6__vtblZ, %object.ModuleInfo.__vtbl** %vtbl.i279
11617 %monitor.i280 = getelementptr i8* %.newclass_gc_alloc.i277, i32 4 ; <i8*> [#uses=1]
11618 %10 = bitcast i8* %monitor.i280 to i8** ; <i8**> [#uses=1]
11619 store i8* null, i8** %10
11620 %tmp.i281 = getelementptr i8* %.newclass_gc_alloc.i277, i32 8 ; <i8*> [#uses=1]
11621 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)
11622 %tmp1.i.i = getelementptr i8* %.newclass_gc_alloc.i277, i32 16 ; <i8*> [#uses=1]
11623 %11 = bitcast i8* %tmp1.i.i to %"tango.text.Regex.List!(TNFATransition).List"** ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
11624 %.newclass_gc_alloc.i.i = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7__ClassZ) ; <i8*> [#uses=4]
11625 %.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]
11626 %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]
11627 store %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__vtblZ, %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %vtbl.i.i
11628 %monitor.i.i = getelementptr i8* %.newclass_gc_alloc.i.i, i32 4 ; <i8*> [#uses=1]
11629 %12 = bitcast i8* %monitor.i.i to i8** ; <i8**> [#uses=1]
11630 store i8* null, i8** %12
11631 %tmp2.i.i = getelementptr i8* %.newclass_gc_alloc.i.i, i32 8 ; <i8*> [#uses=1]
11632 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)
11633 store %"tango.text.Regex.List!(TNFATransition).List"* %.newclass_gc.i.i, %"tango.text.Regex.List!(TNFATransition).List"** %11
11634 %tmp6.i282 = getelementptr i8* %.newclass_gc_alloc.i277, i32 12 ; <i8*> [#uses=1]
11635 %13 = bitcast i8* %tmp6.i282 to i32* ; <i32*> [#uses=1]
11636 %tmp9.i = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 3, i32 0 ; <i32*> [#uses=2]
11637 %.len.i = load i32* %tmp9.i ; <i32> [#uses=4]
11638 store i32 %.len.i, i32* %13
11639 %tmp14.i = add i32 %.len.i, 1 ; <i32> [#uses=2]
11640 %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]
11641 %.ptr.i = load %"tango.text.Regex.TNFAState!(dchar).TNFAState"*** %tmp17.i283 ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"**> [#uses=1]
11642 %tmp18.i = bitcast %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %.ptr.i to i8* ; <i8*> [#uses=1]
11643 %.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]
11644 %.gc_mem19.i = bitcast i8* %.gc_mem.i284 to %"tango.text.Regex.TNFAState!(dchar).TNFAState"** ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"**> [#uses=2]
11645 %tmp20.i = getelementptr %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %.gc_mem19.i, i32 %.len.i ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"**> [#uses=1]
11646 store %"tango.text.Regex.TNFAState!(dchar).TNFAState"* %.newclass_gc.i278, %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %tmp20.i
11647 store i32 %tmp14.i, i32* %tmp9.i
11648 store %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %.gc_mem19.i, %"tango.text.Regex.TNFAState!(dchar).TNFAState"*** %tmp17.i283
11649 %tmp60 = getelementptr %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %prev.0, i32 0, i32 0 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"**> [#uses=1]
11650 %tmp61 = load %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"** %tmp60 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"*> [#uses=1]
11651 %"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]
11652 %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]
11653 tail call fastcc void %prev.setExit(%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %prev.0, %"tango.text.Regex.TNFAState!(dchar).TNFAState"* %.newclass_gc.i278)
11654 %tmp65 = getelementptr %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %tmp52, i32 0, i32 0 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"**> [#uses=1]
11655 %tmp66 = load %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"** %tmp65 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"*> [#uses=1]
11656 %"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]
11657 %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]
11658 tail call fastcc void %f.setEntry(%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %tmp52, %"tango.text.Regex.TNFAState!(dchar).TNFAState"* %.newclass_gc.i278)
11659 br label %endif56
11660
11661else: ; preds = %forbody
11662 %tmp72 = getelementptr %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %tmp52, i32 0, i32 2 ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
11663 %tmp73 = load %"tango.text.Regex.List!(TNFATransition).List"** %tmp72 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
11664 store %"tango.text.Regex.List!(TNFATransition).List"* %tmp73, %"tango.text.Regex.List!(TNFATransition).List"** %2
11665 %tmp77 = getelementptr %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %tmp52, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
11666 %tmp78 = load %"tango.text.Regex.List!(TNFATransition).List"** %tmp77 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
11667 store %"tango.text.Regex.List!(TNFATransition).List"* %tmp78, %"tango.text.Regex.List!(TNFATransition).List"** %6
11668 br label %endif56
11669
11670endif56: ; preds = %else, %if55
11671 %tmp81 = add i32 %i.0, 1 ; <i32> [#uses=1]
11672 br label %forcond
11673
11674endfor: ; preds = %forcond
11675 %tmp83 = icmp eq i32 %maxOccur_arg, 0 ; <i1> [#uses=1]
11676 br i1 %tmp83, label %if84, label %forcond166
11677
11678if84: ; preds = %endfor
11679 %tmp88 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %frags_arg, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=1]
11680 %tmp89 = load %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp88 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=1]
11681 %tmp90 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp89, i32 0, i32 2 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"**> [#uses=1]
11682 %tmp91 = load %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"** %tmp90 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*> [#uses=8]
11683 %.newclass_gc_alloc.i285 = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransition7__ClassZ) ; <i8*> [#uses=6]
11684 %.newclass_gc.i286 = bitcast i8* %.newclass_gc_alloc.i285 to %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*> [#uses=3]
11685 %vtbl.i287 = bitcast i8* %.newclass_gc_alloc.i285 to %object.ModuleInfo.__vtbl** ; <%object.ModuleInfo.__vtbl**> [#uses=1]
11686 store %object.ModuleInfo.__vtbl* @_D5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransition6__vtblZ, %object.ModuleInfo.__vtbl** %vtbl.i287
11687 %monitor.i288 = getelementptr i8* %.newclass_gc_alloc.i285, i32 4 ; <i8*> [#uses=1]
11688 %14 = bitcast i8* %monitor.i288 to i8** ; <i8**> [#uses=1]
11689 store i8* null, i8** %14
11690 %tmp.i289 = getelementptr i8* %.newclass_gc_alloc.i285, i32 8 ; <i8*> [#uses=1]
11691 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)
11692 %tmp1.i.i290 = getelementptr i8* %.newclass_gc_alloc.i285, i32 48 ; <i8*> [#uses=1]
11693 %15 = bitcast i8* %tmp1.i.i290 to i32* ; <i32*> [#uses=1]
11694 store i32 1, i32* %15
11695 %tmp7.i291 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 9 ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=2]
11696 %tmp8.i292 = load %"tango.text.Regex.List!(TNFATransition).List"** %tmp7.i291 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
11697 %tmp9.i293 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp8.i292, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
11698 %tmp10.i = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp9.i293 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
11699 %"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]
11700 %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]
11701 %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]
11702 %tmp96 = getelementptr i8* %.newclass_gc_alloc.i285, i32 20 ; <i8*> [#uses=1]
11703 %16 = bitcast i8* %tmp96 to i32* ; <i32*> [#uses=1]
11704 store i32 1, i32* %16
11705 %tmp98 = getelementptr %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %tmp91, i32 0, i32 2 ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=2]
11706 %tmp99 = load %"tango.text.Regex.List!(TNFATransition).List"** %tmp98 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
11707 %tmp100 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp99, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
11708 %tmp101 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp100 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
11709 %"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]
11710 %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]
11711 %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]
11712 %tmp106 = getelementptr %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %tmp91, i32 0, i32 5 ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
11713 %tmp107 = load %"tango.text.Regex.List!(TNFATransition).List"** %tmp106 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
11714 %tmp108 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp107, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
11715 %tmp109 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp108 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
11716 %"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]
11717 %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]
11718 %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]
11719 %.newclass_gc_alloc.i294 = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransition7__ClassZ) ; <i8*> [#uses=6]
11720 %.newclass_gc.i295 = bitcast i8* %.newclass_gc_alloc.i294 to %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*> [#uses=3]
11721 %vtbl.i296 = bitcast i8* %.newclass_gc_alloc.i294 to %object.ModuleInfo.__vtbl** ; <%object.ModuleInfo.__vtbl**> [#uses=1]
11722 store %object.ModuleInfo.__vtbl* @_D5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransition6__vtblZ, %object.ModuleInfo.__vtbl** %vtbl.i296
11723 %monitor.i297 = getelementptr i8* %.newclass_gc_alloc.i294, i32 4 ; <i8*> [#uses=1]
11724 %17 = bitcast i8* %monitor.i297 to i8** ; <i8**> [#uses=1]
11725 store i8* null, i8** %17
11726 %tmp.i298 = getelementptr i8* %.newclass_gc_alloc.i294, i32 8 ; <i8*> [#uses=1]
11727 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)
11728 %tmp1.i.i299 = getelementptr i8* %.newclass_gc_alloc.i294, i32 48 ; <i8*> [#uses=1]
11729 %18 = bitcast i8* %tmp1.i.i299 to i32* ; <i32*> [#uses=1]
11730 store i32 1, i32* %18
11731 %tmp8.i301 = load %"tango.text.Regex.List!(TNFATransition).List"** %tmp7.i291 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
11732 %tmp9.i302 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp8.i301, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
11733 %tmp10.i303 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp9.i302 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
11734 %"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]
11735 %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]
11736 %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]
11737 %tmp117 = getelementptr i8* %.newclass_gc_alloc.i294, i32 20 ; <i8*> [#uses=1]
11738 %19 = bitcast i8* %tmp117 to i32* ; <i32*> [#uses=1]
11739 store i32 1, i32* %19
11740 %tmp119 = getelementptr %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %tmp91, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
11741 %tmp120 = load %"tango.text.Regex.List!(TNFATransition).List"** %tmp119 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
11742 %tmp121 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp120, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
11743 %tmp122 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp121 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
11744 %"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]
11745 %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]
11746 %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]
11747 %tmp127 = getelementptr %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %tmp91, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=2]
11748 %tmp128 = load %"tango.text.Regex.List!(TNFATransition).List"** %tmp127 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
11749 %tmp129 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp128, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
11750 %tmp130 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp129 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
11751 %"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]
11752 %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]
11753 %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]
11754 %.newclass_gc_alloc.i328 = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex16__T9TNFAStateTwZ9TNFAState7__ClassZ) ; <i8*> [#uses=6]
11755 %.newclass_gc.i329 = bitcast i8* %.newclass_gc_alloc.i328 to %"tango.text.Regex.TNFAState!(dchar).TNFAState"* ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"*> [#uses=3]
11756 %vtbl.i330 = bitcast i8* %.newclass_gc_alloc.i328 to %object.ModuleInfo.__vtbl** ; <%object.ModuleInfo.__vtbl**> [#uses=1]
11757 store %object.ModuleInfo.__vtbl* @_D5tango4text5Regex16__T9TNFAStateTwZ9TNFAState6__vtblZ, %object.ModuleInfo.__vtbl** %vtbl.i330
11758 %monitor.i331 = getelementptr i8* %.newclass_gc_alloc.i328, i32 4 ; <i8*> [#uses=1]
11759 %20 = bitcast i8* %monitor.i331 to i8** ; <i8**> [#uses=1]
11760 store i8* null, i8** %20
11761 %tmp.i332 = getelementptr i8* %.newclass_gc_alloc.i328, i32 8 ; <i8*> [#uses=1]
11762 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)
11763 %tmp1.i.i333 = getelementptr i8* %.newclass_gc_alloc.i328, i32 16 ; <i8*> [#uses=1]
11764 %21 = bitcast i8* %tmp1.i.i333 to %"tango.text.Regex.List!(TNFATransition).List"** ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
11765 %.newclass_gc_alloc.i.i334 = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7__ClassZ) ; <i8*> [#uses=4]
11766 %.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]
11767 %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]
11768 store %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__vtblZ, %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %vtbl.i.i336
11769 %monitor.i.i337 = getelementptr i8* %.newclass_gc_alloc.i.i334, i32 4 ; <i8*> [#uses=1]
11770 %22 = bitcast i8* %monitor.i.i337 to i8** ; <i8**> [#uses=1]
11771 store i8* null, i8** %22
11772 %tmp2.i.i338 = getelementptr i8* %.newclass_gc_alloc.i.i334, i32 8 ; <i8*> [#uses=1]
11773 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)
11774 store %"tango.text.Regex.List!(TNFATransition).List"* %.newclass_gc.i.i335, %"tango.text.Regex.List!(TNFATransition).List"** %21
11775 %tmp6.i339 = getelementptr i8* %.newclass_gc_alloc.i328, i32 12 ; <i8*> [#uses=1]
11776 %23 = bitcast i8* %tmp6.i339 to i32* ; <i32*> [#uses=1]
11777 %tmp9.i340 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 3, i32 0 ; <i32*> [#uses=2]
11778 %.len.i341 = load i32* %tmp9.i340 ; <i32> [#uses=4]
11779 store i32 %.len.i341, i32* %23
11780 %tmp14.i342 = add i32 %.len.i341, 1 ; <i32> [#uses=2]
11781 %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]
11782 %.ptr.i344 = load %"tango.text.Regex.TNFAState!(dchar).TNFAState"*** %tmp17.i343 ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"**> [#uses=1]
11783 %tmp18.i345 = bitcast %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %.ptr.i344 to i8* ; <i8*> [#uses=1]
11784 %.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]
11785 %.gc_mem19.i347 = bitcast i8* %.gc_mem.i346 to %"tango.text.Regex.TNFAState!(dchar).TNFAState"** ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"**> [#uses=2]
11786 %tmp20.i348 = getelementptr %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %.gc_mem19.i347, i32 %.len.i341 ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"**> [#uses=1]
11787 store %"tango.text.Regex.TNFAState!(dchar).TNFAState"* %.newclass_gc.i329, %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %tmp20.i348
11788 store i32 %tmp14.i342, i32* %tmp9.i340
11789 store %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %.gc_mem19.i347, %"tango.text.Regex.TNFAState!(dchar).TNFAState"*** %tmp17.i343
11790 %tmp137 = getelementptr %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %tmp91, i32 0, i32 0 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"**> [#uses=1]
11791 %tmp138 = load %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"** %tmp137 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"*> [#uses=1]
11792 %"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]
11793 %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]
11794 tail call fastcc void %f.setEntry141(%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %tmp91, %"tango.text.Regex.TNFAState!(dchar).TNFAState"* %.newclass_gc.i329)
11795 %tmp144 = icmp eq %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %prev.0, null ; <i1> [#uses=1]
11796 br i1 %tmp144, label %else147, label %if145
11797
11798if145: ; preds = %if84
11799 %tmp149 = getelementptr %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %prev.0, i32 0, i32 0 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"**> [#uses=1]
11800 %tmp150 = load %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"** %tmp149 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"*> [#uses=1]
11801 %"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]
11802 %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]
11803 tail call fastcc void %prev.setExit153(%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %prev.0, %"tango.text.Regex.TNFAState!(dchar).TNFAState"* %.newclass_gc.i329)
11804 br label %forcond166
11805
11806else147: ; preds = %if84
11807 %tmp159 = load %"tango.text.Regex.List!(TNFATransition).List"** %tmp98 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
11808 store %"tango.text.Regex.List!(TNFATransition).List"* %tmp159, %"tango.text.Regex.List!(TNFATransition).List"** %2
11809 %tmp164 = load %"tango.text.Regex.List!(TNFATransition).List"** %tmp127 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
11810 store %"tango.text.Regex.List!(TNFATransition).List"* %tmp164, %"tango.text.Regex.List!(TNFATransition).List"** %6
11811 br label %forcond166
11812
11813forcond166: ; preds = %endif224, %else147, %if145, %endfor
11814 %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]
11815 %i170.0 = phi i32 [ %tmp254, %endif224 ], [ %minOccur_arg, %if145 ], [ %minOccur_arg, %else147 ], [ %minOccur_arg, %endfor ] ; <i32> [#uses=3]
11816 %tmp174 = icmp ult i32 %i170.0, %maxOccur_arg ; <i1> [#uses=1]
11817 br i1 %tmp174, label %forbody167, label %endfor169
11818
11819forbody167: ; preds = %forcond166
11820 %tmp178 = add i32 %maxOccur_arg, -1 ; <i32> [#uses=1]
11821 %tmp179 = icmp ult i32 %i170.0, %tmp178 ; <i1> [#uses=1]
11822 %tmp185 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %frags_arg, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=1]
11823 %tmp186 = load %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp185 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=1]
11824 %tmp187 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp186, i32 0, i32 2 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"**> [#uses=1]
11825 %tmp188 = load %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"** %tmp187 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*> [#uses=2]
11826 br i1 %tmp179, label %if180, label %endif181
11827
11828if180: ; preds = %forbody167
11829 %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]
11830 br label %endif181
11831
11832endif181: ; preds = %if180, %forbody167
11833 %f175.0 = phi %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* [ %tmp189, %if180 ], [ %tmp188, %forbody167 ] ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*> [#uses=6]
11834 %.newclass_gc_alloc.i349 = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransition7__ClassZ) ; <i8*> [#uses=6]
11835 %.newclass_gc.i350 = bitcast i8* %.newclass_gc_alloc.i349 to %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*> [#uses=3]
11836 %vtbl.i351 = bitcast i8* %.newclass_gc_alloc.i349 to %object.ModuleInfo.__vtbl** ; <%object.ModuleInfo.__vtbl**> [#uses=1]
11837 store %object.ModuleInfo.__vtbl* @_D5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransition6__vtblZ, %object.ModuleInfo.__vtbl** %vtbl.i351
11838 %monitor.i352 = getelementptr i8* %.newclass_gc_alloc.i349, i32 4 ; <i8*> [#uses=1]
11839 %24 = bitcast i8* %monitor.i352 to i8** ; <i8**> [#uses=1]
11840 store i8* null, i8** %24
11841 %tmp.i353 = getelementptr i8* %.newclass_gc_alloc.i349, i32 8 ; <i8*> [#uses=1]
11842 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)
11843 %tmp1.i.i354 = getelementptr i8* %.newclass_gc_alloc.i349, i32 48 ; <i8*> [#uses=1]
11844 %25 = bitcast i8* %tmp1.i.i354 to i32* ; <i32*> [#uses=1]
11845 store i32 1, i32* %25
11846 %tmp7.i355 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 9 ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
11847 %tmp8.i356 = load %"tango.text.Regex.List!(TNFATransition).List"** %tmp7.i355 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
11848 %tmp9.i357 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp8.i356, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
11849 %tmp10.i358 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp9.i357 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
11850 %"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]
11851 %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]
11852 %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]
11853 %tmp200 = getelementptr i8* %.newclass_gc_alloc.i349, i32 20 ; <i8*> [#uses=1]
11854 %26 = bitcast i8* %tmp200 to i32* ; <i32*> [#uses=1]
11855 store i32 1, i32* %26
11856 %tmp202 = getelementptr %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %f175.0, i32 0, i32 2 ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=2]
11857 %tmp203 = load %"tango.text.Regex.List!(TNFATransition).List"** %tmp202 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
11858 %tmp204 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp203, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
11859 %tmp205 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp204 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
11860 %"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]
11861 %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]
11862 %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]
11863 %tmp212 = getelementptr %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %f175.0, i32 0, i32 5 ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
11864 %tmp213 = load %"tango.text.Regex.List!(TNFATransition).List"** %tmp212 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
11865 %tmp214 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp213, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
11866 %tmp215 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp214 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
11867 %"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]
11868 %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]
11869 %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]
11870 %tmp222 = icmp eq %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %prev.2, null ; <i1> [#uses=1]
11871 br i1 %tmp222, label %else225, label %if223
11872
11873if223: ; preds = %endif181
11874 %.newclass_gc_alloc.i307 = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex16__T9TNFAStateTwZ9TNFAState7__ClassZ) ; <i8*> [#uses=6]
11875 %.newclass_gc.i308 = bitcast i8* %.newclass_gc_alloc.i307 to %"tango.text.Regex.TNFAState!(dchar).TNFAState"* ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"*> [#uses=3]
11876 %vtbl.i309 = bitcast i8* %.newclass_gc_alloc.i307 to %object.ModuleInfo.__vtbl** ; <%object.ModuleInfo.__vtbl**> [#uses=1]
11877 store %object.ModuleInfo.__vtbl* @_D5tango4text5Regex16__T9TNFAStateTwZ9TNFAState6__vtblZ, %object.ModuleInfo.__vtbl** %vtbl.i309
11878 %monitor.i310 = getelementptr i8* %.newclass_gc_alloc.i307, i32 4 ; <i8*> [#uses=1]
11879 %27 = bitcast i8* %monitor.i310 to i8** ; <i8**> [#uses=1]
11880 store i8* null, i8** %27
11881 %tmp.i311 = getelementptr i8* %.newclass_gc_alloc.i307, i32 8 ; <i8*> [#uses=1]
11882 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)
11883 %tmp1.i.i312 = getelementptr i8* %.newclass_gc_alloc.i307, i32 16 ; <i8*> [#uses=1]
11884 %28 = bitcast i8* %tmp1.i.i312 to %"tango.text.Regex.List!(TNFATransition).List"** ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
11885 %.newclass_gc_alloc.i.i313 = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7__ClassZ) ; <i8*> [#uses=4]
11886 %.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]
11887 %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]
11888 store %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__vtblZ, %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %vtbl.i.i315
11889 %monitor.i.i316 = getelementptr i8* %.newclass_gc_alloc.i.i313, i32 4 ; <i8*> [#uses=1]
11890 %29 = bitcast i8* %monitor.i.i316 to i8** ; <i8**> [#uses=1]
11891 store i8* null, i8** %29
11892 %tmp2.i.i317 = getelementptr i8* %.newclass_gc_alloc.i.i313, i32 8 ; <i8*> [#uses=1]
11893 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)
11894 store %"tango.text.Regex.List!(TNFATransition).List"* %.newclass_gc.i.i314, %"tango.text.Regex.List!(TNFATransition).List"** %28
11895 %tmp6.i318 = getelementptr i8* %.newclass_gc_alloc.i307, i32 12 ; <i8*> [#uses=1]
11896 %30 = bitcast i8* %tmp6.i318 to i32* ; <i32*> [#uses=1]
11897 %tmp9.i319 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 3, i32 0 ; <i32*> [#uses=2]
11898 %.len.i320 = load i32* %tmp9.i319 ; <i32> [#uses=4]
11899 store i32 %.len.i320, i32* %30
11900 %tmp14.i321 = add i32 %.len.i320, 1 ; <i32> [#uses=2]
11901 %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]
11902 %.ptr.i323 = load %"tango.text.Regex.TNFAState!(dchar).TNFAState"*** %tmp17.i322 ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"**> [#uses=1]
11903 %tmp18.i324 = bitcast %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %.ptr.i323 to i8* ; <i8*> [#uses=1]
11904 %.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]
11905 %.gc_mem19.i326 = bitcast i8* %.gc_mem.i325 to %"tango.text.Regex.TNFAState!(dchar).TNFAState"** ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"**> [#uses=2]
11906 %tmp20.i327 = getelementptr %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %.gc_mem19.i326, i32 %.len.i320 ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"**> [#uses=1]
11907 store %"tango.text.Regex.TNFAState!(dchar).TNFAState"* %.newclass_gc.i308, %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %tmp20.i327
11908 store i32 %tmp14.i321, i32* %tmp9.i319
11909 store %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %.gc_mem19.i326, %"tango.text.Regex.TNFAState!(dchar).TNFAState"*** %tmp17.i322
11910 %tmp229 = getelementptr %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %prev.2, i32 0, i32 0 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"**> [#uses=1]
11911 %tmp230 = load %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"** %tmp229 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"*> [#uses=1]
11912 %"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]
11913 %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]
11914 tail call fastcc void %prev.setExit233(%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %prev.2, %"tango.text.Regex.TNFAState!(dchar).TNFAState"* %.newclass_gc.i308)
11915 %tmp236 = getelementptr %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %f175.0, i32 0, i32 0 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"**> [#uses=1]
11916 %tmp237 = load %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"** %tmp236 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"*> [#uses=1]
11917 %"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]
11918 %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]
11919 tail call fastcc void %f.setEntry240(%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %f175.0, %"tango.text.Regex.TNFAState!(dchar).TNFAState"* %.newclass_gc.i308)
11920 br label %endif224
11921
11922else225: ; preds = %endif181
11923 %tmp246 = load %"tango.text.Regex.List!(TNFATransition).List"** %tmp202 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
11924 store %"tango.text.Regex.List!(TNFATransition).List"* %tmp246, %"tango.text.Regex.List!(TNFATransition).List"** %2
11925 %tmp250 = getelementptr %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %f175.0, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
11926 %tmp251 = load %"tango.text.Regex.List!(TNFATransition).List"** %tmp250 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
11927 store %"tango.text.Regex.List!(TNFATransition).List"* %tmp251, %"tango.text.Regex.List!(TNFATransition).List"** %6
11928 br label %endif224
11929
11930endif224: ; preds = %else225, %if223
11931 %tmp254 = add i32 %i170.0, 1 ; <i32> [#uses=1]
11932 br label %forcond166
11933
11934endfor169: ; preds = %forcond166
11935 %tmp258 = getelementptr %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %prev.2, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
11936 %tmp259 = load %"tango.text.Regex.List!(TNFATransition).List"** %tmp258 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
11937 store %"tango.text.Regex.List!(TNFATransition).List"* %tmp259, %"tango.text.Regex.List!(TNFATransition).List"** %4
11938 %tmp263 = getelementptr %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %prev.2, i32 0, i32 5 ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
11939 %tmp264 = load %"tango.text.Regex.List!(TNFATransition).List"** %tmp263 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
11940 store %"tango.text.Regex.List!(TNFATransition).List"* %tmp264, %"tango.text.Regex.List!(TNFATransition).List"** %8
11941 %tmp267 = load %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"** %tmp1 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"*> [#uses=1]
11942 %"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]
11943 %frags.pop = load void (%"tango.text.Regex.List!(TNFAFragment).List"*)** %"frags.pop@vtbl", align 4 ; <void (%"tango.text.Regex.List!(TNFAFragment).List"*)*> [#uses=1]
11944 tail call fastcc void %frags.pop(%"tango.text.Regex.List!(TNFAFragment).List"* %frags_arg)
11945 %tmp271 = load %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"** %tmp1 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"*> [#uses=1]
11946 %"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]
11947 %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]
11948 %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]
11949 ret void
11950}
11951
11952define 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) {
11953entry:
11954 %tmp1 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %frags_arg, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"**> [#uses=4]
11955 %tmp2 = load %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"** %tmp1 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"*> [#uses=1]
11956 %"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]
11957 %frags.empty = load i1 (%"tango.text.Regex.List!(TNFAFragment).List"*)** %"frags.empty@vtbl", align 4 ; <i1 (%"tango.text.Regex.List!(TNFAFragment).List"*)*> [#uses=1]
11958 %tmp4 = tail call fastcc i1 %frags.empty(%"tango.text.Regex.List!(TNFAFragment).List"* %frags_arg) ; <i1> [#uses=1]
11959 br i1 %tmp4, label %if, label %oror
11960
11961oror: ; preds = %entry
11962 %tmp6 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %frags_arg, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=1]
11963 %tmp8 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %frags_arg, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=2]
11964 %tmp9 = load %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp6 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=1]
11965 %tmp10 = load %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp8 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=1]
11966 %tmp11 = icmp eq %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp9, %tmp10 ; <i1> [#uses=1]
11967 br i1 %tmp11, label %if, label %endif
11968
11969if: ; preds = %oror, %entry
11970 %.newclass_gc_alloc = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex15RegExpException7__ClassZ) ; <i8*> [#uses=5]
11971 %.newclass_gc = bitcast i8* %.newclass_gc_alloc to %object.Exception* ; <%object.Exception*> [#uses=1]
11972 %vtbl = bitcast i8* %.newclass_gc_alloc to %object.Exception.__vtbl** ; <%object.Exception.__vtbl**> [#uses=1]
11973 store %object.Exception.__vtbl* @_D5tango4text5Regex15RegExpException6__vtblZ, %object.Exception.__vtbl** %vtbl
11974 %monitor = getelementptr i8* %.newclass_gc_alloc, i32 4 ; <i8*> [#uses=1]
11975 %0 = bitcast i8* %monitor to i8** ; <i8**> [#uses=1]
11976 store i8* null, i8** %0
11977 %tmp12 = getelementptr i8* %.newclass_gc_alloc, i32 8 ; <i8*> [#uses=1]
11978 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)
11979 %tmp18 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 2, i32 1 ; <i32**> [#uses=1]
11980 %.ptr = load i32** %tmp18 ; <i32*> [#uses=1]
11981 %tmp20 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 7 ; <i32*> [#uses=1]
11982 %tmp21 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 2, i32 0 ; <i32*> [#uses=1]
11983 %.len = load i32* %tmp21 ; <i32> [#uses=1]
11984 %tmp22 = load i32* %tmp20 ; <i32> [#uses=2]
11985 %tmp23 = getelementptr i32* %.ptr, i32 %tmp22 ; <i32*> [#uses=1]
11986 %tmp24 = sub i32 %.len, %tmp22 ; <i32> [#uses=1]
11987 %tmp25 = insertvalue %"Act[]" undef, i32 %tmp24, 0 ; <%"Act[]"> [#uses=1]
11988 %tmp26 = insertvalue %"Act[]" %tmp25, i32* %tmp23, 1 ; <%"Act[]"> [#uses=1]
11989 %tmp27 = tail call fastcc %"byte[]" @_D5tango4text7convert3Utf8toStringFAwAaPkZAa(%"Act[]" %tmp26, %"byte[]" zeroinitializer, i32* null) ; <%"byte[]"> [#uses=2]
11990 %.len28 = extractvalue %"byte[]" %tmp27, 0 ; <i32> [#uses=4]
11991 %tmp29 = add i32 %.len28, 28 ; <i32> [#uses=3]
11992 %.nongc_mem = alloca i8, i32 %tmp29, align 1 ; <i8*> [#uses=3]
11993 %.ptr30 = extractvalue %"byte[]" %tmp27, 1 ; <i8*> [#uses=1]
11994 tail call void @llvm.memcpy.i32(i8* %.nongc_mem, i8* getelementptr ([29 x i8]* @.str239, i32 0, i32 0), i32 28, i32 1)
11995 %tmp31 = getelementptr i8* %.nongc_mem, i32 28 ; <i8*> [#uses=1]
11996 tail call void @llvm.memcpy.i32(i8* %tmp31, i8* %.ptr30, i32 %.len28, i32 1)
11997 %tmp33 = add i32 %.len28, 29 ; <i32> [#uses=2]
11998 %.nongc_mem168 = alloca i8, i32 %tmp33, align 1 ; <i8*> [#uses=3]
11999 tail call void @llvm.memcpy.i32(i8* %.nongc_mem168, i8* %.nongc_mem, i32 %tmp29, i32 1)
12000 %tmp36 = getelementptr i8* %.nongc_mem168, i32 %tmp29 ; <i8*> [#uses=1]
12001 store i8 34, i8* %tmp36, align 1
12002 %tmp2.i = add i32 %.len28, 37 ; <i32> [#uses=2]
12003 %.gc_mem.i = tail call noalias i8* @_d_newarrayvT(%object.TypeInfo* @_D11TypeInfo_Aa6__initZ, i32 %tmp2.i) ; <i8*> [#uses=3]
12004 %.gc_mem12.i = bitcast i8* %.gc_mem.i to i64* ; <i64*> [#uses=1]
12005 %tmp.i = load i64* bitcast ([9 x i8]* @.str280 to i64*), align 8 ; <i64> [#uses=1]
12006 store i64 %tmp.i, i64* %.gc_mem12.i, align 1
12007 %tmp4.i = getelementptr i8* %.gc_mem.i, i32 8 ; <i8*> [#uses=1]
12008 tail call void @llvm.memcpy.i32(i8* %tmp4.i, i8* %.nongc_mem168, i32 %tmp33, i32 1)
12009 %tmp6.i = insertvalue %"byte[]" undef, i32 %tmp2.i, 0 ; <%"byte[]"> [#uses=1]
12010 %tmp7.i = insertvalue %"byte[]" %tmp6.i, i8* %.gc_mem.i, 1 ; <%"byte[]"> [#uses=1]
12011 %tmp8.i = tail call fastcc %object.Exception* @_D6object9Exception5_ctorMFAaC9ExceptionZC9Exception(%object.Exception* %.newclass_gc, %"byte[]" %tmp7.i, %object.Exception* null) ; <%object.Exception*> [#uses=0]
12012 %tmp40 = bitcast i8* %.newclass_gc_alloc to %object.Object* ; <%object.Object*> [#uses=1]
12013 tail call void @_d_throw_exception(%object.Object* %tmp40)
12014 unreachable
12015
12016endif: ; preds = %oror
12017 %.newclass_gc_alloc41 = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment7__ClassZ) ; <i8*> [#uses=7]
12018 %.newclass_gc42 = bitcast i8* %.newclass_gc_alloc41 to %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*> [#uses=1]
12019 %vtbl43 = bitcast i8* %.newclass_gc_alloc41 to %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"** ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"**> [#uses=1]
12020 store %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"* @_D5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment6__vtblZ, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"** %vtbl43
12021 %monitor44 = getelementptr i8* %.newclass_gc_alloc41, i32 4 ; <i8*> [#uses=1]
12022 %1 = bitcast i8* %monitor44 to i8** ; <i8**> [#uses=1]
12023 store i8* null, i8** %1
12024 %tmp45 = getelementptr i8* %.newclass_gc_alloc41, i32 8 ; <i8*> [#uses=2]
12025 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)
12026 %2 = bitcast i8* %tmp45 to %"tango.text.Regex.List!(TNFATransition).List"** ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=3]
12027 %.newclass_gc_alloc.i = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7__ClassZ) ; <i8*> [#uses=4]
12028 %.newclass_gc.i = bitcast i8* %.newclass_gc_alloc.i to %"tango.text.Regex.List!(TNFATransition).List"* ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
12029 %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]
12030 store %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__vtblZ, %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %vtbl.i
12031 %monitor.i = getelementptr i8* %.newclass_gc_alloc.i, i32 4 ; <i8*> [#uses=1]
12032 %3 = bitcast i8* %monitor.i to i8** ; <i8**> [#uses=1]
12033 store i8* null, i8** %3
12034 %tmp2.i166 = getelementptr i8* %.newclass_gc_alloc.i, i32 8 ; <i8*> [#uses=1]
12035 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)
12036 store %"tango.text.Regex.List!(TNFATransition).List"* %.newclass_gc.i, %"tango.text.Regex.List!(TNFATransition).List"** %2
12037 %tmp7.i167 = getelementptr i8* %.newclass_gc_alloc41, i32 12 ; <i8*> [#uses=1]
12038 %4 = bitcast i8* %tmp7.i167 to %"tango.text.Regex.List!(TNFATransition).List"** ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=3]
12039 %.newclass_gc_alloc8.i = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7__ClassZ) ; <i8*> [#uses=4]
12040 %.newclass_gc9.i = bitcast i8* %.newclass_gc_alloc8.i to %"tango.text.Regex.List!(TNFATransition).List"* ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
12041 %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]
12042 store %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__vtblZ, %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %vtbl10.i
12043 %monitor11.i = getelementptr i8* %.newclass_gc_alloc8.i, i32 4 ; <i8*> [#uses=1]
12044 %5 = bitcast i8* %monitor11.i to i8** ; <i8**> [#uses=1]
12045 store i8* null, i8** %5
12046 %tmp12.i = getelementptr i8* %.newclass_gc_alloc8.i, i32 8 ; <i8*> [#uses=1]
12047 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)
12048 store %"tango.text.Regex.List!(TNFATransition).List"* %.newclass_gc9.i, %"tango.text.Regex.List!(TNFATransition).List"** %4
12049 %tmp17.i = getelementptr i8* %.newclass_gc_alloc41, i32 16 ; <i8*> [#uses=1]
12050 %6 = bitcast i8* %tmp17.i to %"tango.text.Regex.List!(TNFATransition).List"** ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=3]
12051 %.newclass_gc_alloc18.i = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7__ClassZ) ; <i8*> [#uses=4]
12052 %.newclass_gc19.i = bitcast i8* %.newclass_gc_alloc18.i to %"tango.text.Regex.List!(TNFATransition).List"* ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
12053 %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]
12054 store %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__vtblZ, %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %vtbl20.i
12055 %monitor21.i = getelementptr i8* %.newclass_gc_alloc18.i, i32 4 ; <i8*> [#uses=1]
12056 %7 = bitcast i8* %monitor21.i to i8** ; <i8**> [#uses=1]
12057 store i8* null, i8** %7
12058 %tmp22.i = getelementptr i8* %.newclass_gc_alloc18.i, i32 8 ; <i8*> [#uses=1]
12059 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)
12060 store %"tango.text.Regex.List!(TNFATransition).List"* %.newclass_gc19.i, %"tango.text.Regex.List!(TNFATransition).List"** %6
12061 %tmp27.i = getelementptr i8* %.newclass_gc_alloc41, i32 20 ; <i8*> [#uses=1]
12062 %8 = bitcast i8* %tmp27.i to %"tango.text.Regex.List!(TNFATransition).List"** ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=3]
12063 %.newclass_gc_alloc28.i = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7__ClassZ) ; <i8*> [#uses=4]
12064 %.newclass_gc29.i = bitcast i8* %.newclass_gc_alloc28.i to %"tango.text.Regex.List!(TNFATransition).List"* ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
12065 %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]
12066 store %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__vtblZ, %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %vtbl30.i
12067 %monitor31.i = getelementptr i8* %.newclass_gc_alloc28.i, i32 4 ; <i8*> [#uses=1]
12068 %9 = bitcast i8* %monitor31.i to i8** ; <i8**> [#uses=1]
12069 store i8* null, i8** %9
12070 %tmp32.i = getelementptr i8* %.newclass_gc_alloc28.i, i32 8 ; <i8*> [#uses=1]
12071 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)
12072 store %"tango.text.Regex.List!(TNFATransition).List"* %.newclass_gc29.i, %"tango.text.Regex.List!(TNFATransition).List"** %8
12073 %tmp52 = load %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp8 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=2]
12074 %tmp53 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp52, i32 0, i32 2 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"**> [#uses=1]
12075 %tmp54 = load %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"** %tmp53 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*> [#uses=4]
12076 %tmp58 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp52, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=1]
12077 %tmp59 = load %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp58 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=1]
12078 %tmp60 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp59, i32 0, i32 2 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"**> [#uses=1]
12079 %tmp61 = load %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"** %tmp60 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*> [#uses=4]
12080 %tmp64 = load %"tango.text.Regex.List!(TNFATransition).List"** %6 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
12081 %tmp65 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp64, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
12082 %tmp66 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp65 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
12083 %"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]
12084 %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]
12085 %tmp69 = getelementptr %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %tmp61, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
12086 %tmp70 = load %"tango.text.Regex.List!(TNFATransition).List"** %tmp69 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
12087 %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]
12088 %tmp74 = load %"tango.text.Regex.List!(TNFATransition).List"** %6 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
12089 %tmp75 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp74, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
12090 %tmp76 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp75 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
12091 %"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]
12092 %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]
12093 %tmp81 = getelementptr %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %tmp54, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
12094 %tmp82 = load %"tango.text.Regex.List!(TNFATransition).List"** %tmp81 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
12095 %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]
12096 %tmp86 = load %"tango.text.Regex.List!(TNFATransition).List"** %8 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
12097 %tmp87 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp86, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
12098 %tmp88 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp87 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
12099 %"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]
12100 %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]
12101 %tmp91 = getelementptr %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %tmp61, i32 0, i32 5 ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
12102 %tmp92 = load %"tango.text.Regex.List!(TNFATransition).List"** %tmp91 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
12103 %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]
12104 %tmp96 = load %"tango.text.Regex.List!(TNFATransition).List"** %8 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
12105 %tmp97 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp96, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
12106 %tmp98 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp97 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
12107 %"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]
12108 %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]
12109 %tmp103 = getelementptr %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %tmp54, i32 0, i32 5 ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
12110 %tmp104 = load %"tango.text.Regex.List!(TNFATransition).List"** %tmp103 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
12111 %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]
12112 %tmp108 = load %"tango.text.Regex.List!(TNFATransition).List"** %2 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
12113 %tmp109 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp108, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
12114 %tmp110 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp109 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
12115 %"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]
12116 %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]
12117 %tmp113 = getelementptr %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %tmp61, i32 0, i32 2 ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
12118 %tmp114 = load %"tango.text.Regex.List!(TNFATransition).List"** %tmp113 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
12119 %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]
12120 %tmp118 = load %"tango.text.Regex.List!(TNFATransition).List"** %2 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
12121 %tmp119 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp118, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
12122 %tmp120 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp119 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
12123 %"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]
12124 %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]
12125 %tmp125 = getelementptr %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %tmp54, i32 0, i32 2 ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
12126 %tmp126 = load %"tango.text.Regex.List!(TNFATransition).List"** %tmp125 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
12127 %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]
12128 %tmp130 = load %"tango.text.Regex.List!(TNFATransition).List"** %4 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
12129 %tmp131 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp130, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
12130 %tmp132 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp131 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
12131 %"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]
12132 %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]
12133 %tmp135 = getelementptr %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %tmp61, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
12134 %tmp136 = load %"tango.text.Regex.List!(TNFATransition).List"** %tmp135 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
12135 %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]
12136 %tmp140 = load %"tango.text.Regex.List!(TNFATransition).List"** %4 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
12137 %tmp141 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp140, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
12138 %tmp142 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp141 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
12139 %"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]
12140 %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]
12141 %tmp147 = getelementptr %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %tmp54, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
12142 %tmp148 = load %"tango.text.Regex.List!(TNFATransition).List"** %tmp147 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
12143 %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]
12144 %tmp152 = load %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"** %tmp1 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"*> [#uses=1]
12145 %"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]
12146 %frags.pop = load void (%"tango.text.Regex.List!(TNFAFragment).List"*)** %"frags.pop@vtbl", align 4 ; <void (%"tango.text.Regex.List!(TNFAFragment).List"*)*> [#uses=1]
12147 tail call fastcc void %frags.pop(%"tango.text.Regex.List!(TNFAFragment).List"* %frags_arg)
12148 %tmp156 = load %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"** %tmp1 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"*> [#uses=1]
12149 %"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]
12150 %frags.pop159 = load void (%"tango.text.Regex.List!(TNFAFragment).List"*)** %"frags.pop@vtbl157", align 4 ; <void (%"tango.text.Regex.List!(TNFAFragment).List"*)*> [#uses=1]
12151 tail call fastcc void %frags.pop159(%"tango.text.Regex.List!(TNFAFragment).List"* %frags_arg)
12152 %tmp162 = load %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"** %tmp1 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"*> [#uses=1]
12153 %"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]
12154 %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]
12155 %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]
12156 ret void
12157}
12158
12159define 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) {
12160entry:
12161 %tmp1 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %frags_arg, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"**> [#uses=4]
12162 %tmp2 = load %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"** %tmp1 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"*> [#uses=1]
12163 %"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]
12164 %frags.empty = load i1 (%"tango.text.Regex.List!(TNFAFragment).List"*)** %"frags.empty@vtbl", align 4 ; <i1 (%"tango.text.Regex.List!(TNFAFragment).List"*)*> [#uses=1]
12165 %tmp4 = tail call fastcc i1 %frags.empty(%"tango.text.Regex.List!(TNFAFragment).List"* %frags_arg) ; <i1> [#uses=1]
12166 br i1 %tmp4, label %if, label %oror
12167
12168oror: ; preds = %entry
12169 %tmp6 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %frags_arg, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=1]
12170 %tmp8 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %frags_arg, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=1]
12171 %tmp9 = load %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp6 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=1]
12172 %tmp10 = load %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp8 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=3]
12173 %tmp11 = icmp eq %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp9, %tmp10 ; <i1> [#uses=1]
12174 br i1 %tmp11, label %if, label %endif
12175
12176if: ; preds = %oror, %entry
12177 %.newclass_gc_alloc = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex15RegExpException7__ClassZ) ; <i8*> [#uses=5]
12178 %.newclass_gc = bitcast i8* %.newclass_gc_alloc to %object.Exception* ; <%object.Exception*> [#uses=1]
12179 %vtbl = bitcast i8* %.newclass_gc_alloc to %object.Exception.__vtbl** ; <%object.Exception.__vtbl**> [#uses=1]
12180 store %object.Exception.__vtbl* @_D5tango4text5Regex15RegExpException6__vtblZ, %object.Exception.__vtbl** %vtbl
12181 %monitor = getelementptr i8* %.newclass_gc_alloc, i32 4 ; <i8*> [#uses=1]
12182 %0 = bitcast i8* %monitor to i8** ; <i8**> [#uses=1]
12183 store i8* null, i8** %0
12184 %tmp12 = getelementptr i8* %.newclass_gc_alloc, i32 8 ; <i8*> [#uses=1]
12185 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)
12186 %tmp18 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 2, i32 1 ; <i32**> [#uses=1]
12187 %.ptr = load i32** %tmp18 ; <i32*> [#uses=1]
12188 %tmp20 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 7 ; <i32*> [#uses=1]
12189 %tmp21 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 2, i32 0 ; <i32*> [#uses=1]
12190 %.len = load i32* %tmp21 ; <i32> [#uses=1]
12191 %tmp22 = load i32* %tmp20 ; <i32> [#uses=2]
12192 %tmp23 = getelementptr i32* %.ptr, i32 %tmp22 ; <i32*> [#uses=1]
12193 %tmp24 = sub i32 %.len, %tmp22 ; <i32> [#uses=1]
12194 %tmp25 = insertvalue %"Act[]" undef, i32 %tmp24, 0 ; <%"Act[]"> [#uses=1]
12195 %tmp26 = insertvalue %"Act[]" %tmp25, i32* %tmp23, 1 ; <%"Act[]"> [#uses=1]
12196 %tmp27 = tail call fastcc %"byte[]" @_D5tango4text7convert3Utf8toStringFAwAaPkZAa(%"Act[]" %tmp26, %"byte[]" zeroinitializer, i32* null) ; <%"byte[]"> [#uses=2]
12197 %.len28 = extractvalue %"byte[]" %tmp27, 0 ; <i32> [#uses=4]
12198 %tmp29 = add i32 %.len28, 39 ; <i32> [#uses=3]
12199 %.nongc_mem = alloca i8, i32 %tmp29, align 1 ; <i8*> [#uses=3]
12200 %.ptr30 = extractvalue %"byte[]" %tmp27, 1 ; <i8*> [#uses=1]
12201 tail call void @llvm.memcpy.i32(i8* %.nongc_mem, i8* getelementptr ([40 x i8]* @.str241, i32 0, i32 0), i32 39, i32 1)
12202 %tmp31 = getelementptr i8* %.nongc_mem, i32 39 ; <i8*> [#uses=1]
12203 tail call void @llvm.memcpy.i32(i8* %tmp31, i8* %.ptr30, i32 %.len28, i32 1)
12204 %tmp33 = add i32 %.len28, 40 ; <i32> [#uses=2]
12205 %.nongc_mem140 = alloca i8, i32 %tmp33, align 1 ; <i8*> [#uses=3]
12206 tail call void @llvm.memcpy.i32(i8* %.nongc_mem140, i8* %.nongc_mem, i32 %tmp29, i32 1)
12207 %tmp36 = getelementptr i8* %.nongc_mem140, i32 %tmp29 ; <i8*> [#uses=1]
12208 store i8 34, i8* %tmp36, align 1
12209 %tmp2.i = add i32 %.len28, 48 ; <i32> [#uses=2]
12210 %.gc_mem.i = tail call noalias i8* @_d_newarrayvT(%object.TypeInfo* @_D11TypeInfo_Aa6__initZ, i32 %tmp2.i) ; <i8*> [#uses=3]
12211 %.gc_mem12.i = bitcast i8* %.gc_mem.i to i64* ; <i64*> [#uses=1]
12212 %tmp.i = load i64* bitcast ([9 x i8]* @.str280 to i64*), align 8 ; <i64> [#uses=1]
12213 store i64 %tmp.i, i64* %.gc_mem12.i, align 1
12214 %tmp4.i = getelementptr i8* %.gc_mem.i, i32 8 ; <i8*> [#uses=1]
12215 tail call void @llvm.memcpy.i32(i8* %tmp4.i, i8* %.nongc_mem140, i32 %tmp33, i32 1)
12216 %tmp6.i = insertvalue %"byte[]" undef, i32 %tmp2.i, 0 ; <%"byte[]"> [#uses=1]
12217 %tmp7.i = insertvalue %"byte[]" %tmp6.i, i8* %.gc_mem.i, 1 ; <%"byte[]"> [#uses=1]
12218 %tmp8.i = tail call fastcc %object.Exception* @_D6object9Exception5_ctorMFAaC9ExceptionZC9Exception(%object.Exception* %.newclass_gc, %"byte[]" %tmp7.i, %object.Exception* null) ; <%object.Exception*> [#uses=0]
12219 %tmp40 = bitcast i8* %.newclass_gc_alloc to %object.Object* ; <%object.Object*> [#uses=1]
12220 tail call void @_d_throw_exception(%object.Object* %tmp40)
12221 unreachable
12222
12223endif: ; preds = %oror
12224 %tmp44 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp10, i32 0, i32 2 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"**> [#uses=1]
12225 %tmp45 = load %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"** %tmp44 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*> [#uses=4]
12226 %tmp49 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp10, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=1]
12227 %tmp50 = load %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp49 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=1]
12228 %tmp51 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp50, i32 0, i32 2 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"**> [#uses=1]
12229 %tmp52 = load %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"** %tmp51 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*> [#uses=4]
12230 %.newclass_gc_alloc.i = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex16__T9TNFAStateTwZ9TNFAState7__ClassZ) ; <i8*> [#uses=6]
12231 %.newclass_gc.i = bitcast i8* %.newclass_gc_alloc.i to %"tango.text.Regex.TNFAState!(dchar).TNFAState"* ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"*> [#uses=3]
12232 %vtbl.i = bitcast i8* %.newclass_gc_alloc.i to %object.ModuleInfo.__vtbl** ; <%object.ModuleInfo.__vtbl**> [#uses=1]
12233 store %object.ModuleInfo.__vtbl* @_D5tango4text5Regex16__T9TNFAStateTwZ9TNFAState6__vtblZ, %object.ModuleInfo.__vtbl** %vtbl.i
12234 %monitor.i = getelementptr i8* %.newclass_gc_alloc.i, i32 4 ; <i8*> [#uses=1]
12235 %1 = bitcast i8* %monitor.i to i8** ; <i8**> [#uses=1]
12236 store i8* null, i8** %1
12237 %tmp.i130 = getelementptr i8* %.newclass_gc_alloc.i, i32 8 ; <i8*> [#uses=1]
12238 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)
12239 %tmp1.i.i = getelementptr i8* %.newclass_gc_alloc.i, i32 16 ; <i8*> [#uses=1]
12240 %2 = bitcast i8* %tmp1.i.i to %"tango.text.Regex.List!(TNFATransition).List"** ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
12241 %.newclass_gc_alloc.i.i = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7__ClassZ) ; <i8*> [#uses=4]
12242 %.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]
12243 %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]
12244 store %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__vtblZ, %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %vtbl.i.i
12245 %monitor.i.i = getelementptr i8* %.newclass_gc_alloc.i.i, i32 4 ; <i8*> [#uses=1]
12246 %3 = bitcast i8* %monitor.i.i to i8** ; <i8**> [#uses=1]
12247 store i8* null, i8** %3
12248 %tmp2.i.i = getelementptr i8* %.newclass_gc_alloc.i.i, i32 8 ; <i8*> [#uses=1]
12249 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)
12250 store %"tango.text.Regex.List!(TNFATransition).List"* %.newclass_gc.i.i, %"tango.text.Regex.List!(TNFATransition).List"** %2
12251 %tmp6.i131 = getelementptr i8* %.newclass_gc_alloc.i, i32 12 ; <i8*> [#uses=1]
12252 %4 = bitcast i8* %tmp6.i131 to i32* ; <i32*> [#uses=1]
12253 %tmp9.i = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 0, i32 3, i32 0 ; <i32*> [#uses=2]
12254 %.len.i = load i32* %tmp9.i ; <i32> [#uses=4]
12255 store i32 %.len.i, i32* %4
12256 %tmp14.i = add i32 %.len.i, 1 ; <i32> [#uses=2]
12257 %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]
12258 %.ptr.i = load %"tango.text.Regex.TNFAState!(dchar).TNFAState"*** %tmp17.i ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"**> [#uses=1]
12259 %tmp18.i = bitcast %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %.ptr.i to i8* ; <i8*> [#uses=1]
12260 %.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]
12261 %.gc_mem19.i = bitcast i8* %.gc_mem.i132 to %"tango.text.Regex.TNFAState!(dchar).TNFAState"** ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"**> [#uses=2]
12262 %tmp20.i = getelementptr %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %.gc_mem19.i, i32 %.len.i ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"**> [#uses=1]
12263 store %"tango.text.Regex.TNFAState!(dchar).TNFAState"* %.newclass_gc.i, %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %tmp20.i
12264 store i32 %tmp14.i, i32* %tmp9.i
12265 store %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %.gc_mem19.i, %"tango.text.Regex.TNFAState!(dchar).TNFAState"*** %tmp17.i
12266 %tmp56 = getelementptr %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %tmp52, i32 0, i32 0 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"**> [#uses=1]
12267 %tmp57 = load %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"** %tmp56 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"*> [#uses=1]
12268 %"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]
12269 %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]
12270 tail call fastcc void %f2.setExit(%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %tmp52, %"tango.text.Regex.TNFAState!(dchar).TNFAState"* %.newclass_gc.i)
12271 %tmp61 = getelementptr %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %tmp45, i32 0, i32 0 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"**> [#uses=1]
12272 %tmp62 = load %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"** %tmp61 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"*> [#uses=1]
12273 %"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]
12274 %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]
12275 tail call fastcc void %f1.setEntry(%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %tmp45, %"tango.text.Regex.TNFAState!(dchar).TNFAState"* %.newclass_gc.i)
12276 %.newclass_gc_alloc65 = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment7__ClassZ) ; <i8*> [#uses=7]
12277 %.newclass_gc66 = bitcast i8* %.newclass_gc_alloc65 to %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*> [#uses=1]
12278 %vtbl67 = bitcast i8* %.newclass_gc_alloc65 to %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"** ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"**> [#uses=1]
12279 store %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"* @_D5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment6__vtblZ, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"** %vtbl67
12280 %monitor68 = getelementptr i8* %.newclass_gc_alloc65, i32 4 ; <i8*> [#uses=1]
12281 %5 = bitcast i8* %monitor68 to i8** ; <i8**> [#uses=1]
12282 store i8* null, i8** %5
12283 %tmp69 = getelementptr i8* %.newclass_gc_alloc65, i32 8 ; <i8*> [#uses=2]
12284 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)
12285 %6 = bitcast i8* %tmp69 to %"tango.text.Regex.List!(TNFATransition).List"** ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=2]
12286 %.newclass_gc_alloc.i133 = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7__ClassZ) ; <i8*> [#uses=4]
12287 %.newclass_gc.i134 = bitcast i8* %.newclass_gc_alloc.i133 to %"tango.text.Regex.List!(TNFATransition).List"* ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
12288 %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]
12289 store %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__vtblZ, %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %vtbl.i135
12290 %monitor.i136 = getelementptr i8* %.newclass_gc_alloc.i133, i32 4 ; <i8*> [#uses=1]
12291 %7 = bitcast i8* %monitor.i136 to i8** ; <i8**> [#uses=1]
12292 store i8* null, i8** %7
12293 %tmp2.i137 = getelementptr i8* %.newclass_gc_alloc.i133, i32 8 ; <i8*> [#uses=1]
12294 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)
12295 store %"tango.text.Regex.List!(TNFATransition).List"* %.newclass_gc.i134, %"tango.text.Regex.List!(TNFATransition).List"** %6
12296 %tmp7.i138 = getelementptr i8* %.newclass_gc_alloc65, i32 12 ; <i8*> [#uses=1]
12297 %8 = bitcast i8* %tmp7.i138 to %"tango.text.Regex.List!(TNFATransition).List"** ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=2]
12298 %.newclass_gc_alloc8.i = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7__ClassZ) ; <i8*> [#uses=4]
12299 %.newclass_gc9.i = bitcast i8* %.newclass_gc_alloc8.i to %"tango.text.Regex.List!(TNFATransition).List"* ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
12300 %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]
12301 store %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__vtblZ, %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %vtbl10.i
12302 %monitor11.i = getelementptr i8* %.newclass_gc_alloc8.i, i32 4 ; <i8*> [#uses=1]
12303 %9 = bitcast i8* %monitor11.i to i8** ; <i8**> [#uses=1]
12304 store i8* null, i8** %9
12305 %tmp12.i = getelementptr i8* %.newclass_gc_alloc8.i, i32 8 ; <i8*> [#uses=1]
12306 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)
12307 store %"tango.text.Regex.List!(TNFATransition).List"* %.newclass_gc9.i, %"tango.text.Regex.List!(TNFATransition).List"** %8
12308 %tmp17.i139 = getelementptr i8* %.newclass_gc_alloc65, i32 16 ; <i8*> [#uses=1]
12309 %10 = bitcast i8* %tmp17.i139 to %"tango.text.Regex.List!(TNFATransition).List"** ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=2]
12310 %.newclass_gc_alloc18.i = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7__ClassZ) ; <i8*> [#uses=4]
12311 %.newclass_gc19.i = bitcast i8* %.newclass_gc_alloc18.i to %"tango.text.Regex.List!(TNFATransition).List"* ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
12312 %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]
12313 store %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__vtblZ, %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %vtbl20.i
12314 %monitor21.i = getelementptr i8* %.newclass_gc_alloc18.i, i32 4 ; <i8*> [#uses=1]
12315 %11 = bitcast i8* %monitor21.i to i8** ; <i8**> [#uses=1]
12316 store i8* null, i8** %11
12317 %tmp22.i = getelementptr i8* %.newclass_gc_alloc18.i, i32 8 ; <i8*> [#uses=1]
12318 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)
12319 store %"tango.text.Regex.List!(TNFATransition).List"* %.newclass_gc19.i, %"tango.text.Regex.List!(TNFATransition).List"** %10
12320 %tmp27.i = getelementptr i8* %.newclass_gc_alloc65, i32 20 ; <i8*> [#uses=1]
12321 %12 = bitcast i8* %tmp27.i to %"tango.text.Regex.List!(TNFATransition).List"** ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=2]
12322 %.newclass_gc_alloc28.i = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7__ClassZ) ; <i8*> [#uses=4]
12323 %.newclass_gc29.i = bitcast i8* %.newclass_gc_alloc28.i to %"tango.text.Regex.List!(TNFATransition).List"* ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
12324 %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]
12325 store %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__vtblZ, %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %vtbl30.i
12326 %monitor31.i = getelementptr i8* %.newclass_gc_alloc28.i, i32 4 ; <i8*> [#uses=1]
12327 %13 = bitcast i8* %monitor31.i to i8** ; <i8**> [#uses=1]
12328 store i8* null, i8** %13
12329 %tmp32.i = getelementptr i8* %.newclass_gc_alloc28.i, i32 8 ; <i8*> [#uses=1]
12330 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)
12331 store %"tango.text.Regex.List!(TNFATransition).List"* %.newclass_gc29.i, %"tango.text.Regex.List!(TNFATransition).List"** %12
12332 %tmp76 = load %"tango.text.Regex.List!(TNFATransition).List"** %6 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
12333 %tmp77 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp76, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
12334 %tmp78 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp77 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
12335 %"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]
12336 %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]
12337 %tmp81 = getelementptr %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %tmp52, i32 0, i32 2 ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
12338 %tmp82 = load %"tango.text.Regex.List!(TNFATransition).List"** %tmp81 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
12339 %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]
12340 %tmp86 = load %"tango.text.Regex.List!(TNFATransition).List"** %8 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
12341 %tmp87 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp86, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
12342 %tmp88 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp87 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
12343 %"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]
12344 %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]
12345 %tmp91 = getelementptr %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %tmp45, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
12346 %tmp92 = load %"tango.text.Regex.List!(TNFATransition).List"** %tmp91 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
12347 %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]
12348 %tmp96 = load %"tango.text.Regex.List!(TNFATransition).List"** %10 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
12349 %tmp97 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp96, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
12350 %tmp98 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp97 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
12351 %"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]
12352 %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]
12353 %tmp101 = getelementptr %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %tmp52, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
12354 %tmp102 = load %"tango.text.Regex.List!(TNFATransition).List"** %tmp101 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
12355 %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]
12356 %tmp106 = load %"tango.text.Regex.List!(TNFATransition).List"** %12 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
12357 %tmp107 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp106, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
12358 %tmp108 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp107 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
12359 %"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]
12360 %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]
12361 %tmp111 = getelementptr %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %tmp45, i32 0, i32 5 ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
12362 %tmp112 = load %"tango.text.Regex.List!(TNFATransition).List"** %tmp111 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
12363 %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]
12364 %tmp116 = load %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"** %tmp1 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"*> [#uses=1]
12365 %"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]
12366 %frags.pop = load void (%"tango.text.Regex.List!(TNFAFragment).List"*)** %"frags.pop@vtbl", align 4 ; <void (%"tango.text.Regex.List!(TNFAFragment).List"*)*> [#uses=1]
12367 tail call fastcc void %frags.pop(%"tango.text.Regex.List!(TNFAFragment).List"* %frags_arg)
12368 %tmp120 = load %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"** %tmp1 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"*> [#uses=1]
12369 %"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]
12370 %frags.pop123 = load void (%"tango.text.Regex.List!(TNFAFragment).List"*)** %"frags.pop@vtbl121", align 4 ; <void (%"tango.text.Regex.List!(TNFAFragment).List"*)*> [#uses=1]
12371 tail call fastcc void %frags.pop123(%"tango.text.Regex.List!(TNFAFragment).List"* %frags_arg)
12372 %tmp126 = load %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"** %tmp1 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"*> [#uses=1]
12373 %"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]
12374 %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]
12375 %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]
12376 ret void
12377}
12378
12379declare fastcc %"byte[]" @_D5tango4text5Regex16__T9CharRangeTwZ9CharRange8toStringMFZAa(%tango.net.Socket.timeval*)
12380
12381declare fastcc i32 @_D5tango4text5Regex16__T9CharRangeTwZ9CharRange8opEqualsMFPS5tango4text5Regex16__T9CharRangeTwZ9CharRangeZi(%tango.net.Socket.timeval* nocapture, %tango.net.Socket.timeval* nocapture) nounwind readonly
12382
12383declare fastcc i32 @_D5tango4text5Regex16__T9CharRangeTwZ9CharRange5opCmpMFPS5tango4text5Regex16__T9CharRangeTwZ9CharRangeZi(%tango.net.Socket.timeval* nocapture, %tango.net.Socket.timeval* nocapture) nounwind readonly
12384
12385declare fastcc void @_D5tango4text5Regex16__T9CharClassTwZ9CharClass6negateMFZv(%"tango.text.Regex.CharClass!(dchar).CharClass"*)
12386
12387declare fastcc void @_D5tango4text5Regex16__T9CharClassTwZ9CharClass8optimizeMFZv(%"tango.text.Regex.CharClass!(dchar).CharClass"*)
12388
12389define 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 {
12390entry:
12391 %tmp1 = getelementptr %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %.this_arg, i32 0, i32 6 ; <i32*> [#uses=1]
12392 store i32 %pc_arg, i32* %tmp1
12393 ret %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %.this_arg
12394}
12395
12396define weak_odr fastcc %"tango.text.Regex.TNFAState!(dchar).TNFAState"* @_D5tango4text5Regex16__T9TNFAStateTwZ9TNFAState5_ctorMFZC5tango4text5Regex16__T9TNFAStateTwZ9TNFAState(%"tango.text.Regex.TNFAState!(dchar).TNFAState"* %.this_arg) {
12397entry:
12398 %tmp1 = getelementptr %"tango.text.Regex.TNFAState!(dchar).TNFAState"* %.this_arg, i32 0, i32 5 ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
12399 %.newclass_gc_alloc = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7__ClassZ) ; <i8*> [#uses=4]
12400 %.newclass_gc = bitcast i8* %.newclass_gc_alloc to %"tango.text.Regex.List!(TNFATransition).List"* ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
12401 %vtbl = bitcast i8* %.newclass_gc_alloc to %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
12402 store %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__vtblZ, %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %vtbl
12403 %monitor = getelementptr i8* %.newclass_gc_alloc, i32 4 ; <i8*> [#uses=1]
12404 %0 = bitcast i8* %monitor to i8** ; <i8**> [#uses=1]
12405 store i8* null, i8** %0
12406 %tmp2 = getelementptr i8* %.newclass_gc_alloc, i32 8 ; <i8*> [#uses=1]
12407 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)
12408 store %"tango.text.Regex.List!(TNFATransition).List"* %.newclass_gc, %"tango.text.Regex.List!(TNFATransition).List"** %tmp1
12409 ret %"tango.text.Regex.TNFAState!(dchar).TNFAState"* %.this_arg
12410}
12411
12412define 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) {
12413entry:
12414 %tmp1 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %.this_arg, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"**> [#uses=5]
12415 %tmp2 = load %"tango.text.Regex.List!(TNFATransition).List.Element"** %tmp1 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"*> [#uses=2]
12416 %tmp3 = icmp eq %"tango.text.Regex.List!(TNFATransition).List.Element"* %tmp2, null ; <i1> [#uses=1]
12417 br i1 %tmp3, label %if, label %else
12418
12419if: ; preds = %entry
12420 %tmp5 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %.this_arg, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"**> [#uses=1]
12421 %.newclass_gc_alloc = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7Element7__ClassZ) ; <i8*> [#uses=5]
12422 %.newclass_gc = bitcast i8* %.newclass_gc_alloc to %"tango.text.Regex.List!(TNFATransition).List.Element"* ; <%"tango.text.Regex.List!(TNFATransition).List.Element"*> [#uses=2]
12423 %vtbl = bitcast i8* %.newclass_gc_alloc to %object.ModuleInfo.__vtbl** ; <%object.ModuleInfo.__vtbl**> [#uses=1]
12424 store %object.ModuleInfo.__vtbl* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7Element6__vtblZ, %object.ModuleInfo.__vtbl** %vtbl
12425 %monitor = getelementptr i8* %.newclass_gc_alloc, i32 4 ; <i8*> [#uses=1]
12426 %0 = bitcast i8* %monitor to i8** ; <i8**> [#uses=1]
12427 store i8* null, i8** %0
12428 %tmp8 = getelementptr i8* %.newclass_gc_alloc, i32 8 ; <i8*> [#uses=2]
12429 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)
12430 %tmp13 = getelementptr i8* %.newclass_gc_alloc, i32 20 ; <i8*> [#uses=1]
12431 %1 = bitcast i8* %tmp13 to %"tango.text.Regex.List!(TNFATransition).List"** ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
12432 store %"tango.text.Regex.List!(TNFATransition).List"* %.this_arg, %"tango.text.Regex.List!(TNFATransition).List"** %1
12433 %2 = bitcast i8* %tmp8 to %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"**> [#uses=1]
12434 store %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %v_arg, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** %2
12435 store %"tango.text.Regex.List!(TNFATransition).List.Element"* %.newclass_gc, %"tango.text.Regex.List!(TNFATransition).List.Element"** %tmp1
12436 store %"tango.text.Regex.List!(TNFATransition).List.Element"* %.newclass_gc, %"tango.text.Regex.List!(TNFATransition).List.Element"** %tmp5
12437 br label %endif
12438
12439else: ; preds = %entry
12440 %tmp19 = getelementptr %"tango.text.Regex.List!(TNFATransition).List.Element"* %tmp2, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"**> [#uses=1]
12441 %.newclass_gc_alloc20 = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7Element7__ClassZ) ; <i8*> [#uses=5]
12442 %.newclass_gc21 = bitcast i8* %.newclass_gc_alloc20 to %"tango.text.Regex.List!(TNFATransition).List.Element"* ; <%"tango.text.Regex.List!(TNFATransition).List.Element"*> [#uses=1]
12443 %vtbl22 = bitcast i8* %.newclass_gc_alloc20 to %object.ModuleInfo.__vtbl** ; <%object.ModuleInfo.__vtbl**> [#uses=1]
12444 store %object.ModuleInfo.__vtbl* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7Element6__vtblZ, %object.ModuleInfo.__vtbl** %vtbl22
12445 %monitor23 = getelementptr i8* %.newclass_gc_alloc20, i32 4 ; <i8*> [#uses=1]
12446 %3 = bitcast i8* %monitor23 to i8** ; <i8**> [#uses=1]
12447 store i8* null, i8** %3
12448 %tmp24 = getelementptr i8* %.newclass_gc_alloc20, i32 8 ; <i8*> [#uses=2]
12449 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)
12450 %tmp29 = getelementptr i8* %.newclass_gc_alloc20, i32 20 ; <i8*> [#uses=1]
12451 %4 = bitcast i8* %tmp29 to %"tango.text.Regex.List!(TNFATransition).List"** ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
12452 store %"tango.text.Regex.List!(TNFATransition).List"* %.this_arg, %"tango.text.Regex.List!(TNFATransition).List"** %4
12453 %5 = bitcast i8* %tmp24 to %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"**> [#uses=1]
12454 store %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %v_arg, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** %5
12455 store %"tango.text.Regex.List!(TNFATransition).List.Element"* %.newclass_gc21, %"tango.text.Regex.List!(TNFATransition).List.Element"** %tmp19
12456 %tmp34 = load %"tango.text.Regex.List!(TNFATransition).List.Element"** %tmp1 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"*> [#uses=2]
12457 %tmp35 = getelementptr %"tango.text.Regex.List!(TNFATransition).List.Element"* %tmp34, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"**> [#uses=1]
12458 %tmp36 = load %"tango.text.Regex.List!(TNFATransition).List.Element"** %tmp35 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"*> [#uses=1]
12459 %tmp37 = getelementptr %"tango.text.Regex.List!(TNFATransition).List.Element"* %tmp36, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"**> [#uses=1]
12460 store %"tango.text.Regex.List!(TNFATransition).List.Element"* %tmp34, %"tango.text.Regex.List!(TNFATransition).List.Element"** %tmp37
12461 %tmp45 = load %"tango.text.Regex.List!(TNFATransition).List.Element"** %tmp1 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"*> [#uses=1]
12462 %tmp46 = getelementptr %"tango.text.Regex.List!(TNFATransition).List.Element"* %tmp45, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"**> [#uses=1]
12463 %tmp47 = load %"tango.text.Regex.List!(TNFATransition).List.Element"** %tmp46 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"*> [#uses=1]
12464 store %"tango.text.Regex.List!(TNFATransition).List.Element"* %tmp47, %"tango.text.Regex.List!(TNFATransition).List.Element"** %tmp1
12465 br label %endif
12466
12467endif: ; preds = %else, %if
12468 %tmp49 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %.this_arg, i32 0, i32 2 ; <i32*> [#uses=2]
12469 %tmp52 = load i32* %tmp49 ; <i32> [#uses=1]
12470 %tmp53 = add i32 %tmp52, 1 ; <i32> [#uses=1]
12471 store i32 %tmp53, i32* %tmp49
12472 ret %"tango.text.Regex.List!(TNFATransition).List"* %.this_arg
12473}
12474
12475define 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) {
12476entry:
12477 %.frame = alloca %nest.insertAfter, align 8 ; <%nest.insertAfter*> [#uses=5]
12478 %this = getelementptr %nest.insertAfter* %.frame, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
12479 store %"tango.text.Regex.List!(TNFATransition).List"* %.this_arg, %"tango.text.Regex.List!(TNFATransition).List"** %this, align 8
12480 %w = getelementptr %nest.insertAfter* %.frame, i32 0, i32 1 ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"**> [#uses=1]
12481 store %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %w_arg, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** %w
12482 %v = getelementptr %nest.insertAfter* %.frame, i32 0, i32 2 ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"**> [#uses=1]
12483 store %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %v_arg, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** %v, align 8
12484 %tmp7 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %.this_arg, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
12485 %tmp8 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp7 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
12486 %"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]
12487 %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]
12488 %tmp10 = bitcast %nest.insertAfter* %.frame to i8* ; <i8*> [#uses=1]
12489 %tmp11 = insertvalue %"int delegate(ref Element)" undef, i8* %tmp10, 0 ; <%"int delegate(ref Element)"> [#uses=1]
12490 %.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]
12491 %tmp12 = call fastcc i32 %this.elements(%"tango.text.Regex.List!(TNFATransition).List"* %.this_arg, %"int delegate(ref Element)" %.func) ; <i32> [#uses=1]
12492 %cond = icmp eq i32 %tmp12, 2 ; <i1> [#uses=1]
12493 br i1 %cond, label %case, label %switchend
12494
12495case: ; preds = %entry
12496 %__result = getelementptr %nest.insertAfter* %.frame, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
12497 %tmp14 = load %"tango.text.Regex.List!(TNFATransition).List"** %__result ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
12498 ret %"tango.text.Regex.List!(TNFATransition).List"* %tmp14
12499
12500switchend: ; preds = %entry
12501 ret %"tango.text.Regex.List!(TNFATransition).List"* null
12502}
12503
12504define 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) {
12505entry:
12506 %.newclass_gc_alloc = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7Element7__ClassZ) ; <i8*> [#uses=7]
12507 %.newclass_gc = bitcast i8* %.newclass_gc_alloc to %"tango.text.Regex.List!(TNFATransition).List.Element"* ; <%"tango.text.Regex.List!(TNFATransition).List.Element"*> [#uses=3]
12508 %vtbl = bitcast i8* %.newclass_gc_alloc to %object.ModuleInfo.__vtbl** ; <%object.ModuleInfo.__vtbl**> [#uses=1]
12509 store %object.ModuleInfo.__vtbl* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7Element6__vtblZ, %object.ModuleInfo.__vtbl** %vtbl
12510 %monitor = getelementptr i8* %.newclass_gc_alloc, i32 4 ; <i8*> [#uses=1]
12511 %0 = bitcast i8* %monitor to i8** ; <i8**> [#uses=1]
12512 store i8* null, i8** %0
12513 %tmp1 = getelementptr i8* %.newclass_gc_alloc, i32 8 ; <i8*> [#uses=2]
12514 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)
12515 %tmp6 = getelementptr i8* %.newclass_gc_alloc, i32 20 ; <i8*> [#uses=1]
12516 %1 = bitcast i8* %tmp6 to %"tango.text.Regex.List!(TNFATransition).List"** ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
12517 store %"tango.text.Regex.List!(TNFATransition).List"* %.this_arg, %"tango.text.Regex.List!(TNFATransition).List"** %1
12518 %2 = bitcast i8* %tmp1 to %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"**> [#uses=1]
12519 store %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %v_arg, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** %2
12520 %tmp10 = getelementptr i8* %.newclass_gc_alloc, i32 12 ; <i8*> [#uses=1]
12521 %3 = bitcast i8* %tmp10 to %"tango.text.Regex.List!(TNFATransition).List.Element"** ; <%"tango.text.Regex.List!(TNFATransition).List.Element"**> [#uses=1]
12522 store %"tango.text.Regex.List!(TNFATransition).List.Element"* %e_arg, %"tango.text.Regex.List!(TNFATransition).List.Element"** %3
12523 %tmp13 = getelementptr i8* %.newclass_gc_alloc, i32 16 ; <i8*> [#uses=1]
12524 %4 = bitcast i8* %tmp13 to %"tango.text.Regex.List!(TNFATransition).List.Element"** ; <%"tango.text.Regex.List!(TNFATransition).List.Element"**> [#uses=1]
12525 %tmp15 = getelementptr %"tango.text.Regex.List!(TNFATransition).List.Element"* %e_arg, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"**> [#uses=2]
12526 %tmp16 = load %"tango.text.Regex.List!(TNFATransition).List.Element"** %tmp15 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"*> [#uses=2]
12527 store %"tango.text.Regex.List!(TNFATransition).List.Element"* %tmp16, %"tango.text.Regex.List!(TNFATransition).List.Element"** %4
12528 %tmp20 = getelementptr %"tango.text.Regex.List!(TNFATransition).List.Element"* %tmp16, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"**> [#uses=1]
12529 store %"tango.text.Regex.List!(TNFATransition).List.Element"* %.newclass_gc, %"tango.text.Regex.List!(TNFATransition).List.Element"** %tmp20
12530 store %"tango.text.Regex.List!(TNFATransition).List.Element"* %.newclass_gc, %"tango.text.Regex.List!(TNFATransition).List.Element"** %tmp15
12531 %tmp26 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %.this_arg, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"**> [#uses=2]
12532 %tmp28 = load %"tango.text.Regex.List!(TNFATransition).List.Element"** %tmp26 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"*> [#uses=1]
12533 %tmp29 = icmp eq %"tango.text.Regex.List!(TNFATransition).List.Element"* %tmp28, %e_arg ; <i1> [#uses=1]
12534 br i1 %tmp29, label %if, label %endif
12535
12536if: ; preds = %entry
12537 store %"tango.text.Regex.List!(TNFATransition).List.Element"* %.newclass_gc, %"tango.text.Regex.List!(TNFATransition).List.Element"** %tmp26
12538 br label %endif
12539
12540endif: ; preds = %if, %entry
12541 %tmp34 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %.this_arg, i32 0, i32 2 ; <i32*> [#uses=2]
12542 %tmp37 = load i32* %tmp34 ; <i32> [#uses=1]
12543 %tmp38 = add i32 %tmp37, 1 ; <i32> [#uses=1]
12544 store i32 %tmp38, i32* %tmp34
12545 ret %"tango.text.Regex.List!(TNFATransition).List"* %.this_arg
12546}
12547
12548define 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) {
12549entry:
12550 %tmp1 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %l_arg, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
12551 %tmp2 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp1 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
12552 %"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]
12553 %l.empty = load i1 (%"tango.text.Regex.List!(TNFATransition).List"*)** %"l.empty@vtbl", align 4 ; <i1 (%"tango.text.Regex.List!(TNFATransition).List"*)*> [#uses=1]
12554 %tmp4 = tail call fastcc i1 %l.empty(%"tango.text.Regex.List!(TNFATransition).List"* %l_arg) ; <i1> [#uses=1]
12555 br i1 %tmp4, label %if, label %endif
12556
12557if: ; preds = %entry
12558 ret %"tango.text.Regex.List!(TNFATransition).List"* %.this_arg
12559
12560endif: ; preds = %entry
12561 %tmp7 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %.this_arg, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"**> [#uses=3]
12562 %tmp8 = load %"tango.text.Regex.List!(TNFATransition).List.Element"** %tmp7 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"*> [#uses=2]
12563 %tmp9 = icmp eq %"tango.text.Regex.List!(TNFATransition).List.Element"* %tmp8, null ; <i1> [#uses=1]
12564 br i1 %tmp9, label %if10, label %else
12565
12566if10: ; preds = %endif
12567 %tmp13 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %.this_arg, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"**> [#uses=1]
12568 %tmp15 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %l_arg, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"**> [#uses=1]
12569 %tmp16 = load %"tango.text.Regex.List!(TNFATransition).List.Element"** %tmp15 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"*> [#uses=1]
12570 store %"tango.text.Regex.List!(TNFATransition).List.Element"* %tmp16, %"tango.text.Regex.List!(TNFATransition).List.Element"** %tmp13
12571 br label %endif11
12572
12573else: ; preds = %endif
12574 %tmp25 = getelementptr %"tango.text.Regex.List!(TNFATransition).List.Element"* %tmp8, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"**> [#uses=1]
12575 %tmp27 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %l_arg, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"**> [#uses=1]
12576 %tmp28 = load %"tango.text.Regex.List!(TNFATransition).List.Element"** %tmp27 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"*> [#uses=1]
12577 store %"tango.text.Regex.List!(TNFATransition).List.Element"* %tmp28, %"tango.text.Regex.List!(TNFATransition).List.Element"** %tmp25
12578 %tmp31 = load %"tango.text.Regex.List!(TNFATransition).List.Element"** %tmp7 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"*> [#uses=2]
12579 %tmp32 = getelementptr %"tango.text.Regex.List!(TNFATransition).List.Element"* %tmp31, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"**> [#uses=1]
12580 %tmp33 = load %"tango.text.Regex.List!(TNFATransition).List.Element"** %tmp32 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"*> [#uses=1]
12581 %tmp34 = getelementptr %"tango.text.Regex.List!(TNFATransition).List.Element"* %tmp33, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"**> [#uses=1]
12582 store %"tango.text.Regex.List!(TNFATransition).List.Element"* %tmp31, %"tango.text.Regex.List!(TNFATransition).List.Element"** %tmp34
12583 br label %endif11
12584
12585endif11: ; preds = %else, %if10
12586 %storemerge.in = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %l_arg, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"**> [#uses=1]
12587 %storemerge = load %"tango.text.Regex.List!(TNFATransition).List.Element"** %storemerge.in ; <%"tango.text.Regex.List!(TNFATransition).List.Element"*> [#uses=1]
12588 store %"tango.text.Regex.List!(TNFATransition).List.Element"* %storemerge, %"tango.text.Regex.List!(TNFATransition).List.Element"** %tmp7
12589 %tmp44 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %.this_arg, i32 0, i32 2 ; <i32*> [#uses=2]
12590 %tmp48 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %l_arg, i32 0, i32 2 ; <i32*> [#uses=1]
12591 %tmp49 = load i32* %tmp44 ; <i32> [#uses=1]
12592 %tmp50 = load i32* %tmp48 ; <i32> [#uses=1]
12593 %tmp51 = add i32 %tmp49, %tmp50 ; <i32> [#uses=1]
12594 store i32 %tmp51, i32* %tmp44
12595 ret %"tango.text.Regex.List!(TNFATransition).List"* %.this_arg
12596}
12597
12598define 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) {
12599entry:
12600 %tmp1 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %.this_arg, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"**> [#uses=4]
12601 %tmp2 = load %"tango.text.Regex.List!(TNFATransition).List.Element"** %tmp1 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"*> [#uses=2]
12602 %tmp3 = icmp eq %"tango.text.Regex.List!(TNFATransition).List.Element"* %tmp2, null ; <i1> [#uses=1]
12603 br i1 %tmp3, label %if, label %else
12604
12605if: ; preds = %entry
12606 %tmp7 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %.this_arg, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"**> [#uses=1]
12607 %.newclass_gc_alloc = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7Element7__ClassZ) ; <i8*> [#uses=5]
12608 %.newclass_gc = bitcast i8* %.newclass_gc_alloc to %"tango.text.Regex.List!(TNFATransition).List.Element"* ; <%"tango.text.Regex.List!(TNFATransition).List.Element"*> [#uses=2]
12609 %vtbl = bitcast i8* %.newclass_gc_alloc to %object.ModuleInfo.__vtbl** ; <%object.ModuleInfo.__vtbl**> [#uses=1]
12610 store %object.ModuleInfo.__vtbl* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7Element6__vtblZ, %object.ModuleInfo.__vtbl** %vtbl
12611 %monitor = getelementptr i8* %.newclass_gc_alloc, i32 4 ; <i8*> [#uses=1]
12612 %0 = bitcast i8* %monitor to i8** ; <i8**> [#uses=1]
12613 store i8* null, i8** %0
12614 %tmp8 = getelementptr i8* %.newclass_gc_alloc, i32 8 ; <i8*> [#uses=2]
12615 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)
12616 %tmp13 = getelementptr i8* %.newclass_gc_alloc, i32 20 ; <i8*> [#uses=1]
12617 %1 = bitcast i8* %tmp13 to %"tango.text.Regex.List!(TNFATransition).List"** ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
12618 store %"tango.text.Regex.List!(TNFATransition).List"* %.this_arg, %"tango.text.Regex.List!(TNFATransition).List"** %1
12619 %2 = bitcast i8* %tmp8 to %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"**> [#uses=1]
12620 store %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %v_arg, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** %2
12621 store %"tango.text.Regex.List!(TNFATransition).List.Element"* %.newclass_gc, %"tango.text.Regex.List!(TNFATransition).List.Element"** %tmp7
12622 br label %endif
12623
12624else: ; preds = %entry
12625 %tmp19 = getelementptr %"tango.text.Regex.List!(TNFATransition).List.Element"* %tmp2, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"**> [#uses=1]
12626 %.newclass_gc_alloc20 = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7Element7__ClassZ) ; <i8*> [#uses=5]
12627 %.newclass_gc21 = bitcast i8* %.newclass_gc_alloc20 to %"tango.text.Regex.List!(TNFATransition).List.Element"* ; <%"tango.text.Regex.List!(TNFATransition).List.Element"*> [#uses=1]
12628 %vtbl22 = bitcast i8* %.newclass_gc_alloc20 to %object.ModuleInfo.__vtbl** ; <%object.ModuleInfo.__vtbl**> [#uses=1]
12629 store %object.ModuleInfo.__vtbl* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7Element6__vtblZ, %object.ModuleInfo.__vtbl** %vtbl22
12630 %monitor23 = getelementptr i8* %.newclass_gc_alloc20, i32 4 ; <i8*> [#uses=1]
12631 %3 = bitcast i8* %monitor23 to i8** ; <i8**> [#uses=1]
12632 store i8* null, i8** %3
12633 %tmp24 = getelementptr i8* %.newclass_gc_alloc20, i32 8 ; <i8*> [#uses=2]
12634 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)
12635 %tmp29 = getelementptr i8* %.newclass_gc_alloc20, i32 20 ; <i8*> [#uses=1]
12636 %4 = bitcast i8* %tmp29 to %"tango.text.Regex.List!(TNFATransition).List"** ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
12637 store %"tango.text.Regex.List!(TNFATransition).List"* %.this_arg, %"tango.text.Regex.List!(TNFATransition).List"** %4
12638 %5 = bitcast i8* %tmp24 to %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"**> [#uses=1]
12639 store %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %v_arg, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** %5
12640 store %"tango.text.Regex.List!(TNFATransition).List.Element"* %.newclass_gc21, %"tango.text.Regex.List!(TNFATransition).List.Element"** %tmp19
12641 %tmp34 = load %"tango.text.Regex.List!(TNFATransition).List.Element"** %tmp1 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"*> [#uses=2]
12642 %tmp35 = getelementptr %"tango.text.Regex.List!(TNFATransition).List.Element"* %tmp34, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"**> [#uses=1]
12643 %tmp36 = load %"tango.text.Regex.List!(TNFATransition).List.Element"** %tmp35 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"*> [#uses=1]
12644 %tmp37 = getelementptr %"tango.text.Regex.List!(TNFATransition).List.Element"* %tmp36, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"**> [#uses=1]
12645 store %"tango.text.Regex.List!(TNFATransition).List.Element"* %tmp34, %"tango.text.Regex.List!(TNFATransition).List.Element"** %tmp37
12646 %tmp45 = load %"tango.text.Regex.List!(TNFATransition).List.Element"** %tmp1 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"*> [#uses=1]
12647 %tmp46 = getelementptr %"tango.text.Regex.List!(TNFATransition).List.Element"* %tmp45, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"**> [#uses=1]
12648 %tmp47 = load %"tango.text.Regex.List!(TNFATransition).List.Element"** %tmp46 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"*> [#uses=1]
12649 br label %endif
12650
12651endif: ; preds = %else, %if
12652 %storemerge = phi %"tango.text.Regex.List!(TNFATransition).List.Element"* [ %.newclass_gc, %if ], [ %tmp47, %else ] ; <%"tango.text.Regex.List!(TNFATransition).List.Element"*> [#uses=1]
12653 store %"tango.text.Regex.List!(TNFATransition).List.Element"* %storemerge, %"tango.text.Regex.List!(TNFATransition).List.Element"** %tmp1
12654 %tmp49 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %.this_arg, i32 0, i32 2 ; <i32*> [#uses=2]
12655 %tmp52 = load i32* %tmp49 ; <i32> [#uses=1]
12656 %tmp53 = add i32 %tmp52, 1 ; <i32> [#uses=1]
12657 store i32 %tmp53, i32* %tmp49
12658 ret %"tango.text.Regex.List!(TNFATransition).List"* %.this_arg
12659}
12660
12661define 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) {
12662entry:
12663 %.frame = alloca %nest.insertAfter, align 8 ; <%nest.insertAfter*> [#uses=5]
12664 %this = getelementptr %nest.insertAfter* %.frame, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
12665 store %"tango.text.Regex.List!(TNFATransition).List"* %.this_arg, %"tango.text.Regex.List!(TNFATransition).List"** %this, align 8
12666 %w = getelementptr %nest.insertAfter* %.frame, i32 0, i32 1 ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"**> [#uses=1]
12667 store %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %w_arg, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** %w
12668 %v = getelementptr %nest.insertAfter* %.frame, i32 0, i32 2 ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"**> [#uses=1]
12669 store %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %v_arg, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** %v, align 8
12670 %tmp7 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %.this_arg, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
12671 %tmp8 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp7 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
12672 %"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]
12673 %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]
12674 %tmp10 = bitcast %nest.insertAfter* %.frame to i8* ; <i8*> [#uses=1]
12675 %tmp11 = insertvalue %"int delegate(ref Element)" undef, i8* %tmp10, 0 ; <%"int delegate(ref Element)"> [#uses=1]
12676 %.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]
12677 %tmp12 = call fastcc i32 %this.elements(%"tango.text.Regex.List!(TNFATransition).List"* %.this_arg, %"int delegate(ref Element)" %.func) ; <i32> [#uses=1]
12678 %cond = icmp eq i32 %tmp12, 2 ; <i1> [#uses=1]
12679 br i1 %cond, label %case, label %switchend
12680
12681case: ; preds = %entry
12682 %__result = getelementptr %nest.insertAfter* %.frame, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
12683 %tmp14 = load %"tango.text.Regex.List!(TNFATransition).List"** %__result ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
12684 ret %"tango.text.Regex.List!(TNFATransition).List"* %tmp14
12685
12686switchend: ; preds = %entry
12687 ret %"tango.text.Regex.List!(TNFATransition).List"* null
12688}
12689
12690define 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) {
12691entry:
12692 %.newclass_gc_alloc = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7Element7__ClassZ) ; <i8*> [#uses=7]
12693 %.newclass_gc = bitcast i8* %.newclass_gc_alloc to %"tango.text.Regex.List!(TNFATransition).List.Element"* ; <%"tango.text.Regex.List!(TNFATransition).List.Element"*> [#uses=3]
12694 %vtbl = bitcast i8* %.newclass_gc_alloc to %object.ModuleInfo.__vtbl** ; <%object.ModuleInfo.__vtbl**> [#uses=1]
12695 store %object.ModuleInfo.__vtbl* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7Element6__vtblZ, %object.ModuleInfo.__vtbl** %vtbl
12696 %monitor = getelementptr i8* %.newclass_gc_alloc, i32 4 ; <i8*> [#uses=1]
12697 %0 = bitcast i8* %monitor to i8** ; <i8**> [#uses=1]
12698 store i8* null, i8** %0
12699 %tmp1 = getelementptr i8* %.newclass_gc_alloc, i32 8 ; <i8*> [#uses=2]
12700 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)
12701 %tmp6 = getelementptr i8* %.newclass_gc_alloc, i32 20 ; <i8*> [#uses=1]
12702 %1 = bitcast i8* %tmp6 to %"tango.text.Regex.List!(TNFATransition).List"** ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
12703 store %"tango.text.Regex.List!(TNFATransition).List"* %.this_arg, %"tango.text.Regex.List!(TNFATransition).List"** %1
12704 %2 = bitcast i8* %tmp1 to %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"**> [#uses=1]
12705 store %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %v_arg, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** %2
12706 %tmp10 = getelementptr i8* %.newclass_gc_alloc, i32 12 ; <i8*> [#uses=1]
12707 %3 = bitcast i8* %tmp10 to %"tango.text.Regex.List!(TNFATransition).List.Element"** ; <%"tango.text.Regex.List!(TNFATransition).List.Element"**> [#uses=1]
12708 %tmp12 = getelementptr %"tango.text.Regex.List!(TNFATransition).List.Element"* %e_arg, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"**> [#uses=2]
12709 %tmp13 = load %"tango.text.Regex.List!(TNFATransition).List.Element"** %tmp12 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"*> [#uses=2]
12710 store %"tango.text.Regex.List!(TNFATransition).List.Element"* %tmp13, %"tango.text.Regex.List!(TNFATransition).List.Element"** %3
12711 %tmp15 = getelementptr i8* %.newclass_gc_alloc, i32 16 ; <i8*> [#uses=1]
12712 %4 = bitcast i8* %tmp15 to %"tango.text.Regex.List!(TNFATransition).List.Element"** ; <%"tango.text.Regex.List!(TNFATransition).List.Element"**> [#uses=1]
12713 store %"tango.text.Regex.List!(TNFATransition).List.Element"* %e_arg, %"tango.text.Regex.List!(TNFATransition).List.Element"** %4
12714 %tmp20 = getelementptr %"tango.text.Regex.List!(TNFATransition).List.Element"* %tmp13, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"**> [#uses=1]
12715 store %"tango.text.Regex.List!(TNFATransition).List.Element"* %.newclass_gc, %"tango.text.Regex.List!(TNFATransition).List.Element"** %tmp20
12716 store %"tango.text.Regex.List!(TNFATransition).List.Element"* %.newclass_gc, %"tango.text.Regex.List!(TNFATransition).List.Element"** %tmp12
12717 %tmp26 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %.this_arg, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"**> [#uses=2]
12718 %tmp28 = load %"tango.text.Regex.List!(TNFATransition).List.Element"** %tmp26 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"*> [#uses=1]
12719 %tmp29 = icmp eq %"tango.text.Regex.List!(TNFATransition).List.Element"* %tmp28, %e_arg ; <i1> [#uses=1]
12720 br i1 %tmp29, label %if, label %endif
12721
12722if: ; preds = %entry
12723 store %"tango.text.Regex.List!(TNFATransition).List.Element"* %.newclass_gc, %"tango.text.Regex.List!(TNFATransition).List.Element"** %tmp26
12724 br label %endif
12725
12726endif: ; preds = %if, %entry
12727 %tmp34 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %.this_arg, i32 0, i32 2 ; <i32*> [#uses=2]
12728 %tmp37 = load i32* %tmp34 ; <i32> [#uses=1]
12729 %tmp38 = add i32 %tmp37, 1 ; <i32> [#uses=1]
12730 store i32 %tmp38, i32* %tmp34
12731 ret %"tango.text.Regex.List!(TNFATransition).List"* %.this_arg
12732}
12733
12734define 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) {
12735entry:
12736 %tmp1 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %l_arg, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
12737 %tmp2 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp1 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
12738 %"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]
12739 %l.empty = load i1 (%"tango.text.Regex.List!(TNFATransition).List"*)** %"l.empty@vtbl", align 4 ; <i1 (%"tango.text.Regex.List!(TNFATransition).List"*)*> [#uses=1]
12740 %tmp4 = tail call fastcc i1 %l.empty(%"tango.text.Regex.List!(TNFATransition).List"* %l_arg) ; <i1> [#uses=1]
12741 br i1 %tmp4, label %if, label %endif
12742
12743if: ; preds = %entry
12744 ret %"tango.text.Regex.List!(TNFATransition).List"* %.this_arg
12745
12746endif: ; preds = %entry
12747 %tmp7 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %.this_arg, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"**> [#uses=4]
12748 %tmp8 = load %"tango.text.Regex.List!(TNFATransition).List.Element"** %tmp7 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"*> [#uses=2]
12749 %tmp9 = icmp eq %"tango.text.Regex.List!(TNFATransition).List.Element"* %tmp8, null ; <i1> [#uses=1]
12750 br i1 %tmp9, label %if10, label %else
12751
12752if10: ; preds = %endif
12753 %tmp15 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %l_arg, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"**> [#uses=1]
12754 %tmp16 = load %"tango.text.Regex.List!(TNFATransition).List.Element"** %tmp15 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"*> [#uses=1]
12755 store %"tango.text.Regex.List!(TNFATransition).List.Element"* %tmp16, %"tango.text.Regex.List!(TNFATransition).List.Element"** %tmp7
12756 %tmp18 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %.this_arg, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"**> [#uses=1]
12757 %tmp20 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %l_arg, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"**> [#uses=1]
12758 %tmp21 = load %"tango.text.Regex.List!(TNFATransition).List.Element"** %tmp20 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"*> [#uses=1]
12759 store %"tango.text.Regex.List!(TNFATransition).List.Element"* %tmp21, %"tango.text.Regex.List!(TNFATransition).List.Element"** %tmp18
12760 br label %endif11
12761
12762else: ; preds = %endif
12763 %tmp25 = getelementptr %"tango.text.Regex.List!(TNFATransition).List.Element"* %tmp8, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"**> [#uses=1]
12764 %tmp27 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %l_arg, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"**> [#uses=1]
12765 %tmp28 = load %"tango.text.Regex.List!(TNFATransition).List.Element"** %tmp27 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"*> [#uses=1]
12766 store %"tango.text.Regex.List!(TNFATransition).List.Element"* %tmp28, %"tango.text.Regex.List!(TNFATransition).List.Element"** %tmp25
12767 %tmp31 = load %"tango.text.Regex.List!(TNFATransition).List.Element"** %tmp7 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"*> [#uses=2]
12768 %tmp32 = getelementptr %"tango.text.Regex.List!(TNFATransition).List.Element"* %tmp31, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"**> [#uses=1]
12769 %tmp33 = load %"tango.text.Regex.List!(TNFATransition).List.Element"** %tmp32 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"*> [#uses=1]
12770 %tmp34 = getelementptr %"tango.text.Regex.List!(TNFATransition).List.Element"* %tmp33, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"**> [#uses=1]
12771 store %"tango.text.Regex.List!(TNFATransition).List.Element"* %tmp31, %"tango.text.Regex.List!(TNFATransition).List.Element"** %tmp34
12772 %tmp41 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %l_arg, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"**> [#uses=1]
12773 %tmp42 = load %"tango.text.Regex.List!(TNFATransition).List.Element"** %tmp41 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"*> [#uses=1]
12774 store %"tango.text.Regex.List!(TNFATransition).List.Element"* %tmp42, %"tango.text.Regex.List!(TNFATransition).List.Element"** %tmp7
12775 br label %endif11
12776
12777endif11: ; preds = %else, %if10
12778 %tmp44 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %.this_arg, i32 0, i32 2 ; <i32*> [#uses=2]
12779 %tmp48 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %l_arg, i32 0, i32 2 ; <i32*> [#uses=1]
12780 %tmp49 = load i32* %tmp44 ; <i32> [#uses=1]
12781 %tmp50 = load i32* %tmp48 ; <i32> [#uses=1]
12782 %tmp51 = add i32 %tmp49, %tmp50 ; <i32> [#uses=1]
12783 store i32 %tmp51, i32* %tmp44
12784 ret %"tango.text.Regex.List!(TNFATransition).List"* %.this_arg
12785}
12786
12787define weak_odr fastcc i32 @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6lengthMFZk(%"tango.text.Regex.List!(TNFATransition).List"* nocapture %.this_arg) nounwind readonly {
12788entry:
12789 %tmp1 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %.this_arg, i32 0, i32 2 ; <i32*> [#uses=1]
12790 %tmp2 = load i32* %tmp1 ; <i32> [#uses=1]
12791 ret i32 %tmp2
12792}
12793
12794define weak_odr fastcc i1 @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List5emptyMFZb(%"tango.text.Regex.List!(TNFATransition).List"* nocapture %.this_arg) nounwind readonly {
12795entry:
12796 %tmp1 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %.this_arg, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"**> [#uses=1]
12797 %tmp2 = load %"tango.text.Regex.List!(TNFATransition).List.Element"** %tmp1 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"*> [#uses=1]
12798 %tmp3 = icmp eq %"tango.text.Regex.List!(TNFATransition).List.Element"* %tmp2, null ; <i1> [#uses=1]
12799 ret i1 %tmp3
12800}
12801
12802define weak_odr fastcc void @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List5clearMFZv(%"tango.text.Regex.List!(TNFATransition).List"* nocapture %.this_arg) nounwind {
12803entry:
12804 %tmp1 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %.this_arg, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"**> [#uses=1]
12805 store %"tango.text.Regex.List!(TNFATransition).List.Element"* null, %"tango.text.Regex.List!(TNFATransition).List.Element"** %tmp1
12806 %tmp3 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %.this_arg, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"**> [#uses=1]
12807 store %"tango.text.Regex.List!(TNFATransition).List.Element"* null, %"tango.text.Regex.List!(TNFATransition).List.Element"** %tmp3
12808 %tmp5 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %.this_arg, i32 0, i32 2 ; <i32*> [#uses=1]
12809 store i32 0, i32* %tmp5
12810 ret void
12811}
12812
12813define weak_odr fastcc void @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List3popMFZv(%"tango.text.Regex.List!(TNFATransition).List"* %.this_arg) {
12814entry:
12815 %tmp1 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %.this_arg, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
12816 %tmp2 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp1 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
12817 %"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]
12818 %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]
12819 %tmp5 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %.this_arg, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"**> [#uses=1]
12820 %tmp6 = load %"tango.text.Regex.List!(TNFATransition).List.Element"** %tmp5 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"*> [#uses=1]
12821 tail call fastcc void %this.remove(%"tango.text.Regex.List!(TNFATransition).List"* %.this_arg, %"tango.text.Regex.List!(TNFATransition).List.Element"* %tmp6)
12822 ret void
12823}
12824
12825define 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 {
12826entry:
12827 %tmp1 = icmp eq %"tango.text.Regex.List!(TNFATransition).List.Element"* %e_arg, null ; <i1> [#uses=1]
12828 br i1 %tmp1, label %if, label %endif
12829
12830if: ; preds = %entry
12831 ret void
12832
12833endif: ; preds = %entry
12834 %tmp3 = getelementptr %"tango.text.Regex.List!(TNFATransition).List.Element"* %e_arg, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"**> [#uses=3]
12835 %tmp4 = load %"tango.text.Regex.List!(TNFATransition).List.Element"** %tmp3 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"*> [#uses=2]
12836 %tmp5 = icmp eq %"tango.text.Regex.List!(TNFATransition).List.Element"* %tmp4, null ; <i1> [#uses=1]
12837 br i1 %tmp5, label %if6, label %else
12838
12839if6: ; preds = %endif
12840 %tmp9 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %.this_arg, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"**> [#uses=1]
12841 %tmp11 = getelementptr %"tango.text.Regex.List!(TNFATransition).List.Element"* %e_arg, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"**> [#uses=1]
12842 %tmp12 = load %"tango.text.Regex.List!(TNFATransition).List.Element"** %tmp11 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"*> [#uses=1]
12843 store %"tango.text.Regex.List!(TNFATransition).List.Element"* %tmp12, %"tango.text.Regex.List!(TNFATransition).List.Element"** %tmp9
12844 br label %endif7
12845
12846else: ; preds = %endif
12847 %tmp16 = getelementptr %"tango.text.Regex.List!(TNFATransition).List.Element"* %tmp4, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"**> [#uses=1]
12848 %tmp18 = getelementptr %"tango.text.Regex.List!(TNFATransition).List.Element"* %e_arg, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"**> [#uses=1]
12849 %tmp19 = load %"tango.text.Regex.List!(TNFATransition).List.Element"** %tmp18 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"*> [#uses=1]
12850 store %"tango.text.Regex.List!(TNFATransition).List.Element"* %tmp19, %"tango.text.Regex.List!(TNFATransition).List.Element"** %tmp16
12851 br label %endif7
12852
12853endif7: ; preds = %else, %if6
12854 %tmp21 = getelementptr %"tango.text.Regex.List!(TNFATransition).List.Element"* %e_arg, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"**> [#uses=1]
12855 %tmp22 = load %"tango.text.Regex.List!(TNFATransition).List.Element"** %tmp21 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"*> [#uses=2]
12856 %tmp23 = icmp eq %"tango.text.Regex.List!(TNFATransition).List.Element"* %tmp22, null ; <i1> [#uses=1]
12857 br i1 %tmp23, label %if24, label %else26
12858
12859if24: ; preds = %endif7
12860 %tmp28 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %.this_arg, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"**> [#uses=1]
12861 %tmp31 = load %"tango.text.Regex.List!(TNFATransition).List.Element"** %tmp3 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"*> [#uses=1]
12862 store %"tango.text.Regex.List!(TNFATransition).List.Element"* %tmp31, %"tango.text.Regex.List!(TNFATransition).List.Element"** %tmp28
12863 br label %endif25
12864
12865else26: ; preds = %endif7
12866 %tmp35 = getelementptr %"tango.text.Regex.List!(TNFATransition).List.Element"* %tmp22, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"**> [#uses=1]
12867 %tmp38 = load %"tango.text.Regex.List!(TNFATransition).List.Element"** %tmp3 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"*> [#uses=1]
12868 store %"tango.text.Regex.List!(TNFATransition).List.Element"* %tmp38, %"tango.text.Regex.List!(TNFATransition).List.Element"** %tmp35
12869 br label %endif25
12870
12871endif25: ; preds = %else26, %if24
12872 %tmp40 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %.this_arg, i32 0, i32 2 ; <i32*> [#uses=2]
12873 %tmp43 = load i32* %tmp40 ; <i32> [#uses=1]
12874 %tmp44 = add i32 %tmp43, -1 ; <i32> [#uses=1]
12875 store i32 %tmp44, i32* %tmp40
12876 ret void
12877}
12878
12879define weak_odr fastcc i32 @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List8elementsMFDFKC5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7ElementZiZi(%"tango.text.Regex.List!(TNFATransition).List"* nocapture %.this_arg, %"int delegate(ref Element)" %dg_arg) {
12880entry:
12881 %e = alloca %"tango.text.Regex.List!(TNFATransition).List.Element"*, align 4 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"**> [#uses=3]
12882 %dg_arg18 = extractvalue %"int delegate(ref Element)" %dg_arg, 0 ; <i8*> [#uses=1]
12883 %dg_arg19 = extractvalue %"int delegate(ref Element)" %dg_arg, 1 ; <i32 (i8*, %"tango.text.Regex.List!(TNFATransition).List.Element"**)*> [#uses=1]
12884 %tmp1 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %.this_arg, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"**> [#uses=1]
12885 br label %forcond
12886
12887forcond: ; preds = %forinc, %entry
12888 %storemerge.in = phi %"tango.text.Regex.List!(TNFATransition).List.Element"** [ %tmp15, %forinc ], [ %tmp1, %entry ] ; <%"tango.text.Regex.List!(TNFATransition).List.Element"**> [#uses=1]
12889 %storemerge = load %"tango.text.Regex.List!(TNFATransition).List.Element"** %storemerge.in ; <%"tango.text.Regex.List!(TNFATransition).List.Element"*> [#uses=2]
12890 store %"tango.text.Regex.List!(TNFATransition).List.Element"* %storemerge, %"tango.text.Regex.List!(TNFATransition).List.Element"** %e
12891 %tmp4 = icmp eq %"tango.text.Regex.List!(TNFATransition).List.Element"* %storemerge, null ; <i1> [#uses=1]
12892 br i1 %tmp4, label %endfor, label %forbody
12893
12894forbody: ; preds = %forcond
12895 %tmp9 = call fastcc i32 %dg_arg19(i8* %dg_arg18, %"tango.text.Regex.List!(TNFATransition).List.Element"** %e) ; <i32> [#uses=2]
12896 %tmp12 = icmp eq i32 %tmp9, 0 ; <i1> [#uses=1]
12897 br i1 %tmp12, label %forinc, label %if
12898
12899if: ; preds = %forbody
12900 ret i32 %tmp9
12901
12902forinc: ; preds = %forbody
12903 %tmp14 = load %"tango.text.Regex.List!(TNFATransition).List.Element"** %e ; <%"tango.text.Regex.List!(TNFATransition).List.Element"*> [#uses=1]
12904 %tmp15 = getelementptr %"tango.text.Regex.List!(TNFATransition).List.Element"* %tmp14, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"**> [#uses=1]
12905 br label %forcond
12906
12907endfor: ; preds = %forcond
12908 ret i32 0
12909}
12910
12911define 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) {
12912entry:
12913 %e = alloca %"tango.text.Regex.List!(TNFATransition).List.Element"*, align 4 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"**> [#uses=3]
12914 %dg_arg18 = extractvalue %"int delegate(ref Element)" %dg_arg, 0 ; <i8*> [#uses=1]
12915 %dg_arg19 = extractvalue %"int delegate(ref Element)" %dg_arg, 1 ; <i32 (i8*, %"tango.text.Regex.List!(TNFATransition).List.Element"**)*> [#uses=1]
12916 %tmp1 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %.this_arg, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"**> [#uses=1]
12917 br label %forcond
12918
12919forcond: ; preds = %forinc, %entry
12920 %storemerge.in = phi %"tango.text.Regex.List!(TNFATransition).List.Element"** [ %tmp15, %forinc ], [ %tmp1, %entry ] ; <%"tango.text.Regex.List!(TNFATransition).List.Element"**> [#uses=1]
12921 %storemerge = load %"tango.text.Regex.List!(TNFATransition).List.Element"** %storemerge.in ; <%"tango.text.Regex.List!(TNFATransition).List.Element"*> [#uses=2]
12922 store %"tango.text.Regex.List!(TNFATransition).List.Element"* %storemerge, %"tango.text.Regex.List!(TNFATransition).List.Element"** %e
12923 %tmp4 = icmp eq %"tango.text.Regex.List!(TNFATransition).List.Element"* %storemerge, null ; <i1> [#uses=1]
12924 br i1 %tmp4, label %endfor, label %forbody
12925
12926forbody: ; preds = %forcond
12927 %tmp9 = call fastcc i32 %dg_arg19(i8* %dg_arg18, %"tango.text.Regex.List!(TNFATransition).List.Element"** %e) ; <i32> [#uses=2]
12928 %tmp12 = icmp eq i32 %tmp9, 0 ; <i1> [#uses=1]
12929 br i1 %tmp12, label %forinc, label %if
12930
12931if: ; preds = %forbody
12932 ret i32 %tmp9
12933
12934forinc: ; preds = %forbody
12935 %tmp14 = load %"tango.text.Regex.List!(TNFATransition).List.Element"** %e ; <%"tango.text.Regex.List!(TNFATransition).List.Element"*> [#uses=1]
12936 %tmp15 = getelementptr %"tango.text.Regex.List!(TNFATransition).List.Element"* %tmp14, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"**> [#uses=1]
12937 br label %forcond
12938
12939endfor: ; preds = %forcond
12940 ret i32 0
12941}
12942
12943define weak_odr fastcc i32 @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7opApplyMFDFKC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZiZi(%"tango.text.Regex.List!(TNFATransition).List"* nocapture %.this_arg, %"int delegate(ref TNFATransition)" %dg_arg) {
12944entry:
12945 %dg_arg20 = extractvalue %"int delegate(ref TNFATransition)" %dg_arg, 0 ; <i8*> [#uses=1]
12946 %dg_arg21 = extractvalue %"int delegate(ref TNFATransition)" %dg_arg, 1 ; <i32 (i8*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"**)*> [#uses=1]
12947 %tmp1 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %.this_arg, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"**> [#uses=1]
12948 br label %forcond
12949
12950forcond: ; preds = %forinc, %entry
12951 %e.0.in = phi %"tango.text.Regex.List!(TNFATransition).List.Element"** [ %tmp1, %entry ], [ %tmp17, %forinc ] ; <%"tango.text.Regex.List!(TNFATransition).List.Element"**> [#uses=1]
12952 %e.0 = load %"tango.text.Regex.List!(TNFATransition).List.Element"** %e.0.in ; <%"tango.text.Regex.List!(TNFATransition).List.Element"*> [#uses=3]
12953 %tmp4 = icmp eq %"tango.text.Regex.List!(TNFATransition).List.Element"* %e.0, null ; <i1> [#uses=1]
12954 br i1 %tmp4, label %endfor, label %forbody
12955
12956forbody: ; preds = %forcond
12957 %tmp10 = getelementptr %"tango.text.Regex.List!(TNFATransition).List.Element"* %e.0, i32 0, i32 2 ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"**> [#uses=1]
12958 %tmp11 = tail call fastcc i32 %dg_arg21(i8* %dg_arg20, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** %tmp10) ; <i32> [#uses=2]
12959 %tmp14 = icmp eq i32 %tmp11, 0 ; <i1> [#uses=1]
12960 br i1 %tmp14, label %forinc, label %if
12961
12962if: ; preds = %forbody
12963 ret i32 %tmp11
12964
12965forinc: ; preds = %forbody
12966 %tmp17 = getelementptr %"tango.text.Regex.List!(TNFATransition).List.Element"* %e.0, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"**> [#uses=1]
12967 br label %forcond
12968
12969endfor: ; preds = %forcond
12970 ret i32 0
12971}
12972
12973define weak_odr fastcc i32 @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List14opApplyReverseMFDFKC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZiZi(%"tango.text.Regex.List!(TNFATransition).List"* nocapture %.this_arg, %"int delegate(ref TNFATransition)" %dg_arg) {
12974entry:
12975 %dg_arg20 = extractvalue %"int delegate(ref TNFATransition)" %dg_arg, 0 ; <i8*> [#uses=1]
12976 %dg_arg21 = extractvalue %"int delegate(ref TNFATransition)" %dg_arg, 1 ; <i32 (i8*, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"**)*> [#uses=1]
12977 %tmp1 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %.this_arg, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"**> [#uses=1]
12978 br label %forcond
12979
12980forcond: ; preds = %forinc, %entry
12981 %e.0.in = phi %"tango.text.Regex.List!(TNFATransition).List.Element"** [ %tmp1, %entry ], [ %tmp17, %forinc ] ; <%"tango.text.Regex.List!(TNFATransition).List.Element"**> [#uses=1]
12982 %e.0 = load %"tango.text.Regex.List!(TNFATransition).List.Element"** %e.0.in ; <%"tango.text.Regex.List!(TNFATransition).List.Element"*> [#uses=3]
12983 %tmp4 = icmp eq %"tango.text.Regex.List!(TNFATransition).List.Element"* %e.0, null ; <i1> [#uses=1]
12984 br i1 %tmp4, label %endfor, label %forbody
12985
12986forbody: ; preds = %forcond
12987 %tmp10 = getelementptr %"tango.text.Regex.List!(TNFATransition).List.Element"* %e.0, i32 0, i32 2 ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"**> [#uses=1]
12988 %tmp11 = tail call fastcc i32 %dg_arg21(i8* %dg_arg20, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** %tmp10) ; <i32> [#uses=2]
12989 %tmp14 = icmp eq i32 %tmp11, 0 ; <i1> [#uses=1]
12990 br i1 %tmp14, label %forinc, label %if
12991
12992if: ; preds = %forbody
12993 ret i32 %tmp11
12994
12995forinc: ; preds = %forbody
12996 %tmp17 = getelementptr %"tango.text.Regex.List!(TNFATransition).List.Element"* %e.0, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFATransition).List.Element"**> [#uses=1]
12997 br label %forcond
12998
12999endfor: ; preds = %forcond
13000 ret i32 0
13001}
13002
13003define 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 {
13004entry:
13005 %tmp1 = getelementptr %"tango.text.Regex.List!(TNFATransition).List.Element"* %.this_arg, i32 0, i32 2 ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"**> [#uses=1]
13006 store %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %v_arg, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** %tmp1
13007 ret %"tango.text.Regex.List!(TNFATransition).List.Element"* %.this_arg
13008}
13009
13010define weak_odr fastcc void @_D5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment8setEntryMFC5tango4text5Regex16__T9TNFAStateTwZ9TNFAStateZv(%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* nocapture %.this_arg, %"tango.text.Regex.TNFAState!(dchar).TNFAState"* %state_arg) {
13011entry:
13012 %.frame = alloca %nest.setEntry, align 8 ; <%nest.setEntry*> [#uses=2]
13013 %state = getelementptr %nest.setEntry* %.frame, i32 0, i32 0 ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"**> [#uses=1]
13014 store %"tango.text.Regex.TNFAState!(dchar).TNFAState"* %state_arg, %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %state, align 8
13015 %tmp3 = getelementptr %"tango.text.Regex.TNFAState!(dchar).TNFAState"* %state_arg, i32 0, i32 5 ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
13016 %tmp4 = load %"tango.text.Regex.List!(TNFATransition).List"** %tmp3 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
13017 %tmp5 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp4, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
13018 %tmp6 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp5 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
13019 %"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]
13020 %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]
13021 %tmp9 = getelementptr %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %.this_arg, i32 0, i32 2 ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
13022 %tmp10 = load %"tango.text.Regex.List!(TNFATransition).List"** %tmp9 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
13023 %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]
13024 %tmp13 = getelementptr %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %.this_arg, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
13025 %tmp14 = load %"tango.text.Regex.List!(TNFATransition).List"** %tmp13 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
13026 %tmp15 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp14, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
13027 %tmp16 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp15 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
13028 %"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]
13029 %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]
13030 %tmp18 = bitcast %nest.setEntry* %.frame to i8* ; <i8*> [#uses=1]
13031 %tmp19 = insertvalue %"int delegate(ref TNFATransition)" undef, i8* %tmp18, 0 ; <%"int delegate(ref TNFATransition)"> [#uses=1]
13032 %.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]
13033 %tmp20 = call fastcc i32 %this.entry_state.opApply(%"tango.text.Regex.List!(TNFATransition).List"* %tmp14, %"int delegate(ref TNFATransition)" %.func) ; <i32> [#uses=0]
13034 ret void
13035}
13036
13037define weak_odr fastcc void @_D5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment7setExitMFC5tango4text5Regex16__T9TNFAStateTwZ9TNFAStateZv(%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* nocapture %.this_arg, %"tango.text.Regex.TNFAState!(dchar).TNFAState"* %state_arg) {
13038entry:
13039 %.frame = alloca %nest.setEntry, align 8 ; <%nest.setEntry*> [#uses=2]
13040 %state = getelementptr %nest.setEntry* %.frame, i32 0, i32 0 ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"**> [#uses=1]
13041 store %"tango.text.Regex.TNFAState!(dchar).TNFAState"* %state_arg, %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %state, align 8
13042 %tmp3 = getelementptr %"tango.text.Regex.TNFAState!(dchar).TNFAState"* %state_arg, i32 0, i32 5 ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
13043 %tmp4 = load %"tango.text.Regex.List!(TNFATransition).List"** %tmp3 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
13044 %tmp5 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp4, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
13045 %tmp6 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp5 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
13046 %"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]
13047 %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]
13048 %tmp9 = getelementptr %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %.this_arg, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
13049 %tmp10 = load %"tango.text.Regex.List!(TNFATransition).List"** %tmp9 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
13050 %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]
13051 %tmp13 = getelementptr %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %.this_arg, i32 0, i32 5 ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
13052 %tmp14 = load %"tango.text.Regex.List!(TNFATransition).List"** %tmp13 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
13053 %tmp15 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp14, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
13054 %tmp16 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp15 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
13055 %"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]
13056 %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]
13057 %tmp18 = bitcast %nest.setEntry* %.frame to i8* ; <i8*> [#uses=1]
13058 %tmp19 = insertvalue %"int delegate(ref TNFATransition)" undef, i8* %tmp18, 0 ; <%"int delegate(ref TNFATransition)"> [#uses=1]
13059 %.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]
13060 %tmp20 = call fastcc i32 %this.exit_state.opApply(%"tango.text.Regex.List!(TNFATransition).List"* %tmp14, %"int delegate(ref TNFATransition)" %.func) ; <i32> [#uses=0]
13061 ret void
13062}
13063
13064define weak_odr fastcc %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* @_D5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment5_ctorMFZC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment(%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %.this_arg) {
13065entry:
13066 %tmp1 = getelementptr %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %.this_arg, i32 0, i32 2 ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
13067 %.newclass_gc_alloc = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7__ClassZ) ; <i8*> [#uses=4]
13068 %.newclass_gc = bitcast i8* %.newclass_gc_alloc to %"tango.text.Regex.List!(TNFATransition).List"* ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
13069 %vtbl = bitcast i8* %.newclass_gc_alloc to %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
13070 store %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__vtblZ, %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %vtbl
13071 %monitor = getelementptr i8* %.newclass_gc_alloc, i32 4 ; <i8*> [#uses=1]
13072 %0 = bitcast i8* %monitor to i8** ; <i8**> [#uses=1]
13073 store i8* null, i8** %0
13074 %tmp2 = getelementptr i8* %.newclass_gc_alloc, i32 8 ; <i8*> [#uses=1]
13075 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)
13076 store %"tango.text.Regex.List!(TNFATransition).List"* %.newclass_gc, %"tango.text.Regex.List!(TNFATransition).List"** %tmp1
13077 %tmp7 = getelementptr %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %.this_arg, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
13078 %.newclass_gc_alloc8 = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7__ClassZ) ; <i8*> [#uses=4]
13079 %.newclass_gc9 = bitcast i8* %.newclass_gc_alloc8 to %"tango.text.Regex.List!(TNFATransition).List"* ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
13080 %vtbl10 = bitcast i8* %.newclass_gc_alloc8 to %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
13081 store %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__vtblZ, %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %vtbl10
13082 %monitor11 = getelementptr i8* %.newclass_gc_alloc8, i32 4 ; <i8*> [#uses=1]
13083 %1 = bitcast i8* %monitor11 to i8** ; <i8**> [#uses=1]
13084 store i8* null, i8** %1
13085 %tmp12 = getelementptr i8* %.newclass_gc_alloc8, i32 8 ; <i8*> [#uses=1]
13086 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)
13087 store %"tango.text.Regex.List!(TNFATransition).List"* %.newclass_gc9, %"tango.text.Regex.List!(TNFATransition).List"** %tmp7
13088 %tmp17 = getelementptr %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %.this_arg, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
13089 %.newclass_gc_alloc18 = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7__ClassZ) ; <i8*> [#uses=4]
13090 %.newclass_gc19 = bitcast i8* %.newclass_gc_alloc18 to %"tango.text.Regex.List!(TNFATransition).List"* ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
13091 %vtbl20 = bitcast i8* %.newclass_gc_alloc18 to %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
13092 store %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__vtblZ, %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %vtbl20
13093 %monitor21 = getelementptr i8* %.newclass_gc_alloc18, i32 4 ; <i8*> [#uses=1]
13094 %2 = bitcast i8* %monitor21 to i8** ; <i8**> [#uses=1]
13095 store i8* null, i8** %2
13096 %tmp22 = getelementptr i8* %.newclass_gc_alloc18, i32 8 ; <i8*> [#uses=1]
13097 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)
13098 store %"tango.text.Regex.List!(TNFATransition).List"* %.newclass_gc19, %"tango.text.Regex.List!(TNFATransition).List"** %tmp17
13099 %tmp27 = getelementptr %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %.this_arg, i32 0, i32 5 ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
13100 %.newclass_gc_alloc28 = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7__ClassZ) ; <i8*> [#uses=4]
13101 %.newclass_gc29 = bitcast i8* %.newclass_gc_alloc28 to %"tango.text.Regex.List!(TNFATransition).List"* ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=1]
13102 %vtbl30 = bitcast i8* %.newclass_gc_alloc28 to %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
13103 store %"tango.text.Regex.List!(TNFATransition).List.__vtbl"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6__vtblZ, %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %vtbl30
13104 %monitor31 = getelementptr i8* %.newclass_gc_alloc28, i32 4 ; <i8*> [#uses=1]
13105 %3 = bitcast i8* %monitor31 to i8** ; <i8**> [#uses=1]
13106 store i8* null, i8** %3
13107 %tmp32 = getelementptr i8* %.newclass_gc_alloc28, i32 8 ; <i8*> [#uses=1]
13108 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)
13109 store %"tango.text.Regex.List!(TNFATransition).List"* %.newclass_gc29, %"tango.text.Regex.List!(TNFATransition).List"** %tmp27
13110 ret %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %.this_arg
13111}
13112
13113define 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) {
13114entry:
13115 %tmp1 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %.this_arg, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=5]
13116 %tmp2 = load %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp1 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=2]
13117 %tmp3 = icmp eq %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp2, null ; <i1> [#uses=1]
13118 br i1 %tmp3, label %if, label %else
13119
13120if: ; preds = %entry
13121 %tmp5 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %.this_arg, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=1]
13122 %.newclass_gc_alloc = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List7Element7__ClassZ) ; <i8*> [#uses=5]
13123 %.newclass_gc = bitcast i8* %.newclass_gc_alloc to %"tango.text.Regex.List!(TNFAFragment).List.Element"* ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=2]
13124 %vtbl = bitcast i8* %.newclass_gc_alloc to %object.ModuleInfo.__vtbl** ; <%object.ModuleInfo.__vtbl**> [#uses=1]
13125 store %object.ModuleInfo.__vtbl* @_D5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List7Element6__vtblZ, %object.ModuleInfo.__vtbl** %vtbl
13126 %monitor = getelementptr i8* %.newclass_gc_alloc, i32 4 ; <i8*> [#uses=1]
13127 %0 = bitcast i8* %monitor to i8** ; <i8**> [#uses=1]
13128 store i8* null, i8** %0
13129 %tmp8 = getelementptr i8* %.newclass_gc_alloc, i32 8 ; <i8*> [#uses=2]
13130 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)
13131 %tmp13 = getelementptr i8* %.newclass_gc_alloc, i32 20 ; <i8*> [#uses=1]
13132 %1 = bitcast i8* %tmp13 to %"tango.text.Regex.List!(TNFAFragment).List"** ; <%"tango.text.Regex.List!(TNFAFragment).List"**> [#uses=1]
13133 store %"tango.text.Regex.List!(TNFAFragment).List"* %.this_arg, %"tango.text.Regex.List!(TNFAFragment).List"** %1
13134 %2 = bitcast i8* %tmp8 to %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"** ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"**> [#uses=1]
13135 store %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %v_arg, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"** %2
13136 store %"tango.text.Regex.List!(TNFAFragment).List.Element"* %.newclass_gc, %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp1
13137 store %"tango.text.Regex.List!(TNFAFragment).List.Element"* %.newclass_gc, %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp5
13138 br label %endif
13139
13140else: ; preds = %entry
13141 %tmp19 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp2, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=1]
13142 %.newclass_gc_alloc20 = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List7Element7__ClassZ) ; <i8*> [#uses=5]
13143 %.newclass_gc21 = bitcast i8* %.newclass_gc_alloc20 to %"tango.text.Regex.List!(TNFAFragment).List.Element"* ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=1]
13144 %vtbl22 = bitcast i8* %.newclass_gc_alloc20 to %object.ModuleInfo.__vtbl** ; <%object.ModuleInfo.__vtbl**> [#uses=1]
13145 store %object.ModuleInfo.__vtbl* @_D5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List7Element6__vtblZ, %object.ModuleInfo.__vtbl** %vtbl22
13146 %monitor23 = getelementptr i8* %.newclass_gc_alloc20, i32 4 ; <i8*> [#uses=1]
13147 %3 = bitcast i8* %monitor23 to i8** ; <i8**> [#uses=1]
13148 store i8* null, i8** %3
13149 %tmp24 = getelementptr i8* %.newclass_gc_alloc20, i32 8 ; <i8*> [#uses=2]
13150 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)
13151 %tmp29 = getelementptr i8* %.newclass_gc_alloc20, i32 20 ; <i8*> [#uses=1]
13152 %4 = bitcast i8* %tmp29 to %"tango.text.Regex.List!(TNFAFragment).List"** ; <%"tango.text.Regex.List!(TNFAFragment).List"**> [#uses=1]
13153 store %"tango.text.Regex.List!(TNFAFragment).List"* %.this_arg, %"tango.text.Regex.List!(TNFAFragment).List"** %4
13154 %5 = bitcast i8* %tmp24 to %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"** ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"**> [#uses=1]
13155 store %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %v_arg, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"** %5
13156 store %"tango.text.Regex.List!(TNFAFragment).List.Element"* %.newclass_gc21, %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp19
13157 %tmp34 = load %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp1 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=2]
13158 %tmp35 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp34, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=1]
13159 %tmp36 = load %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp35 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=1]
13160 %tmp37 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp36, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=1]
13161 store %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp34, %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp37
13162 %tmp45 = load %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp1 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=1]
13163 %tmp46 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp45, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=1]
13164 %tmp47 = load %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp46 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=1]
13165 store %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp47, %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp1
13166 br label %endif
13167
13168endif: ; preds = %else, %if
13169 %tmp49 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %.this_arg, i32 0, i32 2 ; <i32*> [#uses=2]
13170 %tmp52 = load i32* %tmp49 ; <i32> [#uses=1]
13171 %tmp53 = add i32 %tmp52, 1 ; <i32> [#uses=1]
13172 store i32 %tmp53, i32* %tmp49
13173 ret %"tango.text.Regex.List!(TNFAFragment).List"* %.this_arg
13174}
13175
13176define 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) {
13177entry:
13178 %.frame = alloca %34, align 8 ; <%34*> [#uses=5]
13179 %this = getelementptr %34* %.frame, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFAFragment).List"**> [#uses=1]
13180 store %"tango.text.Regex.List!(TNFAFragment).List"* %.this_arg, %"tango.text.Regex.List!(TNFAFragment).List"** %this, align 8
13181 %w = getelementptr %34* %.frame, i32 0, i32 1 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"**> [#uses=1]
13182 store %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %w_arg, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"** %w
13183 %v = getelementptr %34* %.frame, i32 0, i32 2 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"**> [#uses=1]
13184 store %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %v_arg, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"** %v, align 8
13185 %tmp7 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %.this_arg, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"**> [#uses=1]
13186 %tmp8 = load %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"** %tmp7 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"*> [#uses=1]
13187 %"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]
13188 %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]
13189 %tmp10 = bitcast %34* %.frame to i8* ; <i8*> [#uses=1]
13190 %tmp11 = insertvalue %1 undef, i8* %tmp10, 0 ; <%1> [#uses=1]
13191 %.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]
13192 %tmp12 = call fastcc i32 %this.elements(%"tango.text.Regex.List!(TNFAFragment).List"* %.this_arg, %1 %.func) ; <i32> [#uses=1]
13193 %cond = icmp eq i32 %tmp12, 2 ; <i1> [#uses=1]
13194 br i1 %cond, label %case, label %switchend
13195
13196case: ; preds = %entry
13197 %__result = getelementptr %34* %.frame, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFAFragment).List"**> [#uses=1]
13198 %tmp14 = load %"tango.text.Regex.List!(TNFAFragment).List"** %__result ; <%"tango.text.Regex.List!(TNFAFragment).List"*> [#uses=1]
13199 ret %"tango.text.Regex.List!(TNFAFragment).List"* %tmp14
13200
13201switchend: ; preds = %entry
13202 ret %"tango.text.Regex.List!(TNFAFragment).List"* null
13203}
13204
13205define 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) {
13206entry:
13207 %.newclass_gc_alloc = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List7Element7__ClassZ) ; <i8*> [#uses=7]
13208 %.newclass_gc = bitcast i8* %.newclass_gc_alloc to %"tango.text.Regex.List!(TNFAFragment).List.Element"* ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=3]
13209 %vtbl = bitcast i8* %.newclass_gc_alloc to %object.ModuleInfo.__vtbl** ; <%object.ModuleInfo.__vtbl**> [#uses=1]
13210 store %object.ModuleInfo.__vtbl* @_D5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List7Element6__vtblZ, %object.ModuleInfo.__vtbl** %vtbl
13211 %monitor = getelementptr i8* %.newclass_gc_alloc, i32 4 ; <i8*> [#uses=1]
13212 %0 = bitcast i8* %monitor to i8** ; <i8**> [#uses=1]
13213 store i8* null, i8** %0
13214 %tmp1 = getelementptr i8* %.newclass_gc_alloc, i32 8 ; <i8*> [#uses=2]
13215 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)
13216 %tmp6 = getelementptr i8* %.newclass_gc_alloc, i32 20 ; <i8*> [#uses=1]
13217 %1 = bitcast i8* %tmp6 to %"tango.text.Regex.List!(TNFAFragment).List"** ; <%"tango.text.Regex.List!(TNFAFragment).List"**> [#uses=1]
13218 store %"tango.text.Regex.List!(TNFAFragment).List"* %.this_arg, %"tango.text.Regex.List!(TNFAFragment).List"** %1
13219 %2 = bitcast i8* %tmp1 to %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"** ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"**> [#uses=1]
13220 store %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %v_arg, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"** %2
13221 %tmp10 = getelementptr i8* %.newclass_gc_alloc, i32 12 ; <i8*> [#uses=1]
13222 %3 = bitcast i8* %tmp10 to %"tango.text.Regex.List!(TNFAFragment).List.Element"** ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=1]
13223 store %"tango.text.Regex.List!(TNFAFragment).List.Element"* %e_arg, %"tango.text.Regex.List!(TNFAFragment).List.Element"** %3
13224 %tmp13 = getelementptr i8* %.newclass_gc_alloc, i32 16 ; <i8*> [#uses=1]
13225 %4 = bitcast i8* %tmp13 to %"tango.text.Regex.List!(TNFAFragment).List.Element"** ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=1]
13226 %tmp15 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.Element"* %e_arg, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=2]
13227 %tmp16 = load %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp15 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=2]
13228 store %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp16, %"tango.text.Regex.List!(TNFAFragment).List.Element"** %4
13229 %tmp20 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp16, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=1]
13230 store %"tango.text.Regex.List!(TNFAFragment).List.Element"* %.newclass_gc, %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp20
13231 store %"tango.text.Regex.List!(TNFAFragment).List.Element"* %.newclass_gc, %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp15
13232 %tmp26 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %.this_arg, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=2]
13233 %tmp28 = load %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp26 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=1]
13234 %tmp29 = icmp eq %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp28, %e_arg ; <i1> [#uses=1]
13235 br i1 %tmp29, label %if, label %endif
13236
13237if: ; preds = %entry
13238 store %"tango.text.Regex.List!(TNFAFragment).List.Element"* %.newclass_gc, %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp26
13239 br label %endif
13240
13241endif: ; preds = %if, %entry
13242 %tmp34 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %.this_arg, i32 0, i32 2 ; <i32*> [#uses=2]
13243 %tmp37 = load i32* %tmp34 ; <i32> [#uses=1]
13244 %tmp38 = add i32 %tmp37, 1 ; <i32> [#uses=1]
13245 store i32 %tmp38, i32* %tmp34
13246 ret %"tango.text.Regex.List!(TNFAFragment).List"* %.this_arg
13247}
13248
13249define 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) {
13250entry:
13251 %tmp1 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %l_arg, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"**> [#uses=1]
13252 %tmp2 = load %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"** %tmp1 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"*> [#uses=1]
13253 %"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]
13254 %l.empty = load i1 (%"tango.text.Regex.List!(TNFAFragment).List"*)** %"l.empty@vtbl", align 4 ; <i1 (%"tango.text.Regex.List!(TNFAFragment).List"*)*> [#uses=1]
13255 %tmp4 = tail call fastcc i1 %l.empty(%"tango.text.Regex.List!(TNFAFragment).List"* %l_arg) ; <i1> [#uses=1]
13256 br i1 %tmp4, label %if, label %endif
13257
13258if: ; preds = %entry
13259 ret %"tango.text.Regex.List!(TNFAFragment).List"* %.this_arg
13260
13261endif: ; preds = %entry
13262 %tmp7 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %.this_arg, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=3]
13263 %tmp8 = load %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp7 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=2]
13264 %tmp9 = icmp eq %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp8, null ; <i1> [#uses=1]
13265 br i1 %tmp9, label %if10, label %else
13266
13267if10: ; preds = %endif
13268 %tmp13 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %.this_arg, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=1]
13269 %tmp15 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %l_arg, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=1]
13270 %tmp16 = load %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp15 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=1]
13271 store %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp16, %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp13
13272 br label %endif11
13273
13274else: ; preds = %endif
13275 %tmp25 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp8, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=1]
13276 %tmp27 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %l_arg, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=1]
13277 %tmp28 = load %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp27 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=1]
13278 store %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp28, %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp25
13279 %tmp31 = load %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp7 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=2]
13280 %tmp32 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp31, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=1]
13281 %tmp33 = load %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp32 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=1]
13282 %tmp34 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp33, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=1]
13283 store %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp31, %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp34
13284 br label %endif11
13285
13286endif11: ; preds = %else, %if10
13287 %storemerge.in = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %l_arg, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=1]
13288 %storemerge = load %"tango.text.Regex.List!(TNFAFragment).List.Element"** %storemerge.in ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=1]
13289 store %"tango.text.Regex.List!(TNFAFragment).List.Element"* %storemerge, %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp7
13290 %tmp44 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %.this_arg, i32 0, i32 2 ; <i32*> [#uses=2]
13291 %tmp48 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %l_arg, i32 0, i32 2 ; <i32*> [#uses=1]
13292 %tmp49 = load i32* %tmp44 ; <i32> [#uses=1]
13293 %tmp50 = load i32* %tmp48 ; <i32> [#uses=1]
13294 %tmp51 = add i32 %tmp49, %tmp50 ; <i32> [#uses=1]
13295 store i32 %tmp51, i32* %tmp44
13296 ret %"tango.text.Regex.List!(TNFAFragment).List"* %.this_arg
13297}
13298
13299define 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) {
13300entry:
13301 %tmp1 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %.this_arg, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=4]
13302 %tmp2 = load %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp1 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=2]
13303 %tmp3 = icmp eq %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp2, null ; <i1> [#uses=1]
13304 br i1 %tmp3, label %if, label %else
13305
13306if: ; preds = %entry
13307 %tmp7 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %.this_arg, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=1]
13308 %.newclass_gc_alloc = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List7Element7__ClassZ) ; <i8*> [#uses=5]
13309 %.newclass_gc = bitcast i8* %.newclass_gc_alloc to %"tango.text.Regex.List!(TNFAFragment).List.Element"* ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=2]
13310 %vtbl = bitcast i8* %.newclass_gc_alloc to %object.ModuleInfo.__vtbl** ; <%object.ModuleInfo.__vtbl**> [#uses=1]
13311 store %object.ModuleInfo.__vtbl* @_D5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List7Element6__vtblZ, %object.ModuleInfo.__vtbl** %vtbl
13312 %monitor = getelementptr i8* %.newclass_gc_alloc, i32 4 ; <i8*> [#uses=1]
13313 %0 = bitcast i8* %monitor to i8** ; <i8**> [#uses=1]
13314 store i8* null, i8** %0
13315 %tmp8 = getelementptr i8* %.newclass_gc_alloc, i32 8 ; <i8*> [#uses=2]
13316 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)
13317 %tmp13 = getelementptr i8* %.newclass_gc_alloc, i32 20 ; <i8*> [#uses=1]
13318 %1 = bitcast i8* %tmp13 to %"tango.text.Regex.List!(TNFAFragment).List"** ; <%"tango.text.Regex.List!(TNFAFragment).List"**> [#uses=1]
13319 store %"tango.text.Regex.List!(TNFAFragment).List"* %.this_arg, %"tango.text.Regex.List!(TNFAFragment).List"** %1
13320 %2 = bitcast i8* %tmp8 to %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"** ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"**> [#uses=1]
13321 store %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %v_arg, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"** %2
13322 store %"tango.text.Regex.List!(TNFAFragment).List.Element"* %.newclass_gc, %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp7
13323 br label %endif
13324
13325else: ; preds = %entry
13326 %tmp19 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp2, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=1]
13327 %.newclass_gc_alloc20 = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List7Element7__ClassZ) ; <i8*> [#uses=5]
13328 %.newclass_gc21 = bitcast i8* %.newclass_gc_alloc20 to %"tango.text.Regex.List!(TNFAFragment).List.Element"* ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=1]
13329 %vtbl22 = bitcast i8* %.newclass_gc_alloc20 to %object.ModuleInfo.__vtbl** ; <%object.ModuleInfo.__vtbl**> [#uses=1]
13330 store %object.ModuleInfo.__vtbl* @_D5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List7Element6__vtblZ, %object.ModuleInfo.__vtbl** %vtbl22
13331 %monitor23 = getelementptr i8* %.newclass_gc_alloc20, i32 4 ; <i8*> [#uses=1]
13332 %3 = bitcast i8* %monitor23 to i8** ; <i8**> [#uses=1]
13333 store i8* null, i8** %3
13334 %tmp24 = getelementptr i8* %.newclass_gc_alloc20, i32 8 ; <i8*> [#uses=2]
13335 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)
13336 %tmp29 = getelementptr i8* %.newclass_gc_alloc20, i32 20 ; <i8*> [#uses=1]
13337 %4 = bitcast i8* %tmp29 to %"tango.text.Regex.List!(TNFAFragment).List"** ; <%"tango.text.Regex.List!(TNFAFragment).List"**> [#uses=1]
13338 store %"tango.text.Regex.List!(TNFAFragment).List"* %.this_arg, %"tango.text.Regex.List!(TNFAFragment).List"** %4
13339 %5 = bitcast i8* %tmp24 to %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"** ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"**> [#uses=1]
13340 store %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %v_arg, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"** %5
13341 store %"tango.text.Regex.List!(TNFAFragment).List.Element"* %.newclass_gc21, %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp19
13342 %tmp34 = load %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp1 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=2]
13343 %tmp35 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp34, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=1]
13344 %tmp36 = load %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp35 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=1]
13345 %tmp37 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp36, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=1]
13346 store %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp34, %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp37
13347 %tmp45 = load %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp1 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=1]
13348 %tmp46 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp45, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=1]
13349 %tmp47 = load %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp46 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=1]
13350 br label %endif
13351
13352endif: ; preds = %else, %if
13353 %storemerge = phi %"tango.text.Regex.List!(TNFAFragment).List.Element"* [ %.newclass_gc, %if ], [ %tmp47, %else ] ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=1]
13354 store %"tango.text.Regex.List!(TNFAFragment).List.Element"* %storemerge, %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp1
13355 %tmp49 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %.this_arg, i32 0, i32 2 ; <i32*> [#uses=2]
13356 %tmp52 = load i32* %tmp49 ; <i32> [#uses=1]
13357 %tmp53 = add i32 %tmp52, 1 ; <i32> [#uses=1]
13358 store i32 %tmp53, i32* %tmp49
13359 ret %"tango.text.Regex.List!(TNFAFragment).List"* %.this_arg
13360}
13361
13362define 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) {
13363entry:
13364 %.frame = alloca %34, align 8 ; <%34*> [#uses=5]
13365 %this = getelementptr %34* %.frame, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFAFragment).List"**> [#uses=1]
13366 store %"tango.text.Regex.List!(TNFAFragment).List"* %.this_arg, %"tango.text.Regex.List!(TNFAFragment).List"** %this, align 8
13367 %w = getelementptr %34* %.frame, i32 0, i32 1 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"**> [#uses=1]
13368 store %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %w_arg, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"** %w
13369 %v = getelementptr %34* %.frame, i32 0, i32 2 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"**> [#uses=1]
13370 store %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %v_arg, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"** %v, align 8
13371 %tmp7 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %.this_arg, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"**> [#uses=1]
13372 %tmp8 = load %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"** %tmp7 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"*> [#uses=1]
13373 %"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]
13374 %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]
13375 %tmp10 = bitcast %34* %.frame to i8* ; <i8*> [#uses=1]
13376 %tmp11 = insertvalue %1 undef, i8* %tmp10, 0 ; <%1> [#uses=1]
13377 %.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]
13378 %tmp12 = call fastcc i32 %this.elements(%"tango.text.Regex.List!(TNFAFragment).List"* %.this_arg, %1 %.func) ; <i32> [#uses=1]
13379 %cond = icmp eq i32 %tmp12, 2 ; <i1> [#uses=1]
13380 br i1 %cond, label %case, label %switchend
13381
13382case: ; preds = %entry
13383 %__result = getelementptr %34* %.frame, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFAFragment).List"**> [#uses=1]
13384 %tmp14 = load %"tango.text.Regex.List!(TNFAFragment).List"** %__result ; <%"tango.text.Regex.List!(TNFAFragment).List"*> [#uses=1]
13385 ret %"tango.text.Regex.List!(TNFAFragment).List"* %tmp14
13386
13387switchend: ; preds = %entry
13388 ret %"tango.text.Regex.List!(TNFAFragment).List"* null
13389}
13390
13391define 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) {
13392entry:
13393 %.newclass_gc_alloc = tail call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List7Element7__ClassZ) ; <i8*> [#uses=7]
13394 %.newclass_gc = bitcast i8* %.newclass_gc_alloc to %"tango.text.Regex.List!(TNFAFragment).List.Element"* ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=3]
13395 %vtbl = bitcast i8* %.newclass_gc_alloc to %object.ModuleInfo.__vtbl** ; <%object.ModuleInfo.__vtbl**> [#uses=1]
13396 store %object.ModuleInfo.__vtbl* @_D5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List7Element6__vtblZ, %object.ModuleInfo.__vtbl** %vtbl
13397 %monitor = getelementptr i8* %.newclass_gc_alloc, i32 4 ; <i8*> [#uses=1]
13398 %0 = bitcast i8* %monitor to i8** ; <i8**> [#uses=1]
13399 store i8* null, i8** %0
13400 %tmp1 = getelementptr i8* %.newclass_gc_alloc, i32 8 ; <i8*> [#uses=2]
13401 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)
13402 %tmp6 = getelementptr i8* %.newclass_gc_alloc, i32 20 ; <i8*> [#uses=1]
13403 %1 = bitcast i8* %tmp6 to %"tango.text.Regex.List!(TNFAFragment).List"** ; <%"tango.text.Regex.List!(TNFAFragment).List"**> [#uses=1]
13404 store %"tango.text.Regex.List!(TNFAFragment).List"* %.this_arg, %"tango.text.Regex.List!(TNFAFragment).List"** %1
13405 %2 = bitcast i8* %tmp1 to %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"** ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"**> [#uses=1]
13406 store %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %v_arg, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"** %2
13407 %tmp10 = getelementptr i8* %.newclass_gc_alloc, i32 12 ; <i8*> [#uses=1]
13408 %3 = bitcast i8* %tmp10 to %"tango.text.Regex.List!(TNFAFragment).List.Element"** ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=1]
13409 %tmp12 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.Element"* %e_arg, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=2]
13410 %tmp13 = load %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp12 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=2]
13411 store %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp13, %"tango.text.Regex.List!(TNFAFragment).List.Element"** %3
13412 %tmp15 = getelementptr i8* %.newclass_gc_alloc, i32 16 ; <i8*> [#uses=1]
13413 %4 = bitcast i8* %tmp15 to %"tango.text.Regex.List!(TNFAFragment).List.Element"** ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=1]
13414 store %"tango.text.Regex.List!(TNFAFragment).List.Element"* %e_arg, %"tango.text.Regex.List!(TNFAFragment).List.Element"** %4
13415 %tmp20 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp13, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=1]
13416 store %"tango.text.Regex.List!(TNFAFragment).List.Element"* %.newclass_gc, %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp20
13417 store %"tango.text.Regex.List!(TNFAFragment).List.Element"* %.newclass_gc, %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp12
13418 %tmp26 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %.this_arg, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=2]
13419 %tmp28 = load %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp26 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=1]
13420 %tmp29 = icmp eq %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp28, %e_arg ; <i1> [#uses=1]
13421 br i1 %tmp29, label %if, label %endif
13422
13423if: ; preds = %entry
13424 store %"tango.text.Regex.List!(TNFAFragment).List.Element"* %.newclass_gc, %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp26
13425 br label %endif
13426
13427endif: ; preds = %if, %entry
13428 %tmp34 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %.this_arg, i32 0, i32 2 ; <i32*> [#uses=2]
13429 %tmp37 = load i32* %tmp34 ; <i32> [#uses=1]
13430 %tmp38 = add i32 %tmp37, 1 ; <i32> [#uses=1]
13431 store i32 %tmp38, i32* %tmp34
13432 ret %"tango.text.Regex.List!(TNFAFragment).List"* %.this_arg
13433}
13434
13435define 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) {
13436entry:
13437 %tmp1 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %l_arg, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"**> [#uses=1]
13438 %tmp2 = load %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"** %tmp1 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"*> [#uses=1]
13439 %"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]
13440 %l.empty = load i1 (%"tango.text.Regex.List!(TNFAFragment).List"*)** %"l.empty@vtbl", align 4 ; <i1 (%"tango.text.Regex.List!(TNFAFragment).List"*)*> [#uses=1]
13441 %tmp4 = tail call fastcc i1 %l.empty(%"tango.text.Regex.List!(TNFAFragment).List"* %l_arg) ; <i1> [#uses=1]
13442 br i1 %tmp4, label %if, label %endif
13443
13444if: ; preds = %entry
13445 ret %"tango.text.Regex.List!(TNFAFragment).List"* %.this_arg
13446
13447endif: ; preds = %entry
13448 %tmp7 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %.this_arg, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=4]
13449 %tmp8 = load %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp7 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=2]
13450 %tmp9 = icmp eq %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp8, null ; <i1> [#uses=1]
13451 br i1 %tmp9, label %if10, label %else
13452
13453if10: ; preds = %endif
13454 %tmp15 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %l_arg, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=1]
13455 %tmp16 = load %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp15 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=1]
13456 store %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp16, %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp7
13457 %tmp18 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %.this_arg, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=1]
13458 %tmp20 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %l_arg, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=1]
13459 %tmp21 = load %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp20 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=1]
13460 store %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp21, %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp18
13461 br label %endif11
13462
13463else: ; preds = %endif
13464 %tmp25 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp8, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=1]
13465 %tmp27 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %l_arg, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=1]
13466 %tmp28 = load %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp27 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=1]
13467 store %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp28, %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp25
13468 %tmp31 = load %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp7 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=2]
13469 %tmp32 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp31, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=1]
13470 %tmp33 = load %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp32 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=1]
13471 %tmp34 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp33, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=1]
13472 store %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp31, %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp34
13473 %tmp41 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %l_arg, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=1]
13474 %tmp42 = load %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp41 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=1]
13475 store %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp42, %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp7
13476 br label %endif11
13477
13478endif11: ; preds = %else, %if10
13479 %tmp44 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %.this_arg, i32 0, i32 2 ; <i32*> [#uses=2]
13480 %tmp48 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %l_arg, i32 0, i32 2 ; <i32*> [#uses=1]
13481 %tmp49 = load i32* %tmp44 ; <i32> [#uses=1]
13482 %tmp50 = load i32* %tmp48 ; <i32> [#uses=1]
13483 %tmp51 = add i32 %tmp49, %tmp50 ; <i32> [#uses=1]
13484 store i32 %tmp51, i32* %tmp44
13485 ret %"tango.text.Regex.List!(TNFAFragment).List"* %.this_arg
13486}
13487
13488define weak_odr fastcc i32 @_D5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List6lengthMFZk(%"tango.text.Regex.List!(TNFAFragment).List"* nocapture %.this_arg) nounwind readonly {
13489entry:
13490 %tmp1 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %.this_arg, i32 0, i32 2 ; <i32*> [#uses=1]
13491 %tmp2 = load i32* %tmp1 ; <i32> [#uses=1]
13492 ret i32 %tmp2
13493}
13494
13495define weak_odr fastcc i1 @_D5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List5emptyMFZb(%"tango.text.Regex.List!(TNFAFragment).List"* nocapture %.this_arg) nounwind readonly {
13496entry:
13497 %tmp1 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %.this_arg, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=1]
13498 %tmp2 = load %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp1 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=1]
13499 %tmp3 = icmp eq %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp2, null ; <i1> [#uses=1]
13500 ret i1 %tmp3
13501}
13502
13503define weak_odr fastcc void @_D5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List5clearMFZv(%"tango.text.Regex.List!(TNFAFragment).List"* nocapture %.this_arg) nounwind {
13504entry:
13505 %tmp1 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %.this_arg, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=1]
13506 store %"tango.text.Regex.List!(TNFAFragment).List.Element"* null, %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp1
13507 %tmp3 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %.this_arg, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=1]
13508 store %"tango.text.Regex.List!(TNFAFragment).List.Element"* null, %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp3
13509 %tmp5 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %.this_arg, i32 0, i32 2 ; <i32*> [#uses=1]
13510 store i32 0, i32* %tmp5
13511 ret void
13512}
13513
13514define weak_odr fastcc void @_D5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List3popMFZv(%"tango.text.Regex.List!(TNFAFragment).List"* %.this_arg) {
13515entry:
13516 %tmp1 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %.this_arg, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"**> [#uses=1]
13517 %tmp2 = load %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"** %tmp1 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"*> [#uses=1]
13518 %"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]
13519 %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]
13520 %tmp5 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %.this_arg, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=1]
13521 %tmp6 = load %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp5 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=1]
13522 tail call fastcc void %this.remove(%"tango.text.Regex.List!(TNFAFragment).List"* %.this_arg, %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp6)
13523 ret void
13524}
13525
13526define 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 {
13527entry:
13528 %tmp1 = icmp eq %"tango.text.Regex.List!(TNFAFragment).List.Element"* %e_arg, null ; <i1> [#uses=1]
13529 br i1 %tmp1, label %if, label %endif
13530
13531if: ; preds = %entry
13532 ret void
13533
13534endif: ; preds = %entry
13535 %tmp3 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.Element"* %e_arg, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=3]
13536 %tmp4 = load %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp3 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=2]
13537 %tmp5 = icmp eq %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp4, null ; <i1> [#uses=1]
13538 br i1 %tmp5, label %if6, label %else
13539
13540if6: ; preds = %endif
13541 %tmp9 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %.this_arg, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=1]
13542 %tmp11 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.Element"* %e_arg, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=1]
13543 %tmp12 = load %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp11 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=1]
13544 store %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp12, %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp9
13545 br label %endif7
13546
13547else: ; preds = %endif
13548 %tmp16 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp4, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=1]
13549 %tmp18 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.Element"* %e_arg, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=1]
13550 %tmp19 = load %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp18 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=1]
13551 store %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp19, %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp16
13552 br label %endif7
13553
13554endif7: ; preds = %else, %if6
13555 %tmp21 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.Element"* %e_arg, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=1]
13556 %tmp22 = load %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp21 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=2]
13557 %tmp23 = icmp eq %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp22, null ; <i1> [#uses=1]
13558 br i1 %tmp23, label %if24, label %else26
13559
13560if24: ; preds = %endif7
13561 %tmp28 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %.this_arg, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=1]
13562 %tmp31 = load %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp3 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=1]
13563 store %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp31, %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp28
13564 br label %endif25
13565
13566else26: ; preds = %endif7
13567 %tmp35 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp22, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=1]
13568 %tmp38 = load %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp3 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=1]
13569 store %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp38, %"tango.text.Regex.List!(TNFAFragment).List.Element"** %tmp35
13570 br label %endif25
13571
13572endif25: ; preds = %else26, %if24
13573 %tmp40 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %.this_arg, i32 0, i32 2 ; <i32*> [#uses=2]
13574 %tmp43 = load i32* %tmp40 ; <i32> [#uses=1]
13575 %tmp44 = add i32 %tmp43, -1 ; <i32> [#uses=1]
13576 store i32 %tmp44, i32* %tmp40
13577 ret void
13578}
13579
13580define weak_odr fastcc i32 @_D5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List8elementsMFDFKC5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List7ElementZiZi(%"tango.text.Regex.List!(TNFAFragment).List"* nocapture %.this_arg, %1 %dg_arg) {
13581entry:
13582 %e = alloca %"tango.text.Regex.List!(TNFAFragment).List.Element"*, align 4 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=3]
13583 %dg_arg18 = extractvalue %1 %dg_arg, 0 ; <i8*> [#uses=1]
13584 %dg_arg19 = extractvalue %1 %dg_arg, 1 ; <i32 (i8*, %"tango.text.Regex.List!(TNFAFragment).List.Element"**)*> [#uses=1]
13585 %tmp1 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %.this_arg, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=1]
13586 br label %forcond
13587
13588forcond: ; preds = %forinc, %entry
13589 %storemerge.in = phi %"tango.text.Regex.List!(TNFAFragment).List.Element"** [ %tmp15, %forinc ], [ %tmp1, %entry ] ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=1]
13590 %storemerge = load %"tango.text.Regex.List!(TNFAFragment).List.Element"** %storemerge.in ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=2]
13591 store %"tango.text.Regex.List!(TNFAFragment).List.Element"* %storemerge, %"tango.text.Regex.List!(TNFAFragment).List.Element"** %e
13592 %tmp4 = icmp eq %"tango.text.Regex.List!(TNFAFragment).List.Element"* %storemerge, null ; <i1> [#uses=1]
13593 br i1 %tmp4, label %endfor, label %forbody
13594
13595forbody: ; preds = %forcond
13596 %tmp9 = call fastcc i32 %dg_arg19(i8* %dg_arg18, %"tango.text.Regex.List!(TNFAFragment).List.Element"** %e) ; <i32> [#uses=2]
13597 %tmp12 = icmp eq i32 %tmp9, 0 ; <i1> [#uses=1]
13598 br i1 %tmp12, label %forinc, label %if
13599
13600if: ; preds = %forbody
13601 ret i32 %tmp9
13602
13603forinc: ; preds = %forbody
13604 %tmp14 = load %"tango.text.Regex.List!(TNFAFragment).List.Element"** %e ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=1]
13605 %tmp15 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp14, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=1]
13606 br label %forcond
13607
13608endfor: ; preds = %forcond
13609 ret i32 0
13610}
13611
13612define weak_odr fastcc i32 @_D5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List16elements_reverseMFDFKC5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List7ElementZiZi(%"tango.text.Regex.List!(TNFAFragment).List"* nocapture %.this_arg, %1 %dg_arg) {
13613entry:
13614 %e = alloca %"tango.text.Regex.List!(TNFAFragment).List.Element"*, align 4 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=3]
13615 %dg_arg18 = extractvalue %1 %dg_arg, 0 ; <i8*> [#uses=1]
13616 %dg_arg19 = extractvalue %1 %dg_arg, 1 ; <i32 (i8*, %"tango.text.Regex.List!(TNFAFragment).List.Element"**)*> [#uses=1]
13617 %tmp1 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %.this_arg, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=1]
13618 br label %forcond
13619
13620forcond: ; preds = %forinc, %entry
13621 %storemerge.in = phi %"tango.text.Regex.List!(TNFAFragment).List.Element"** [ %tmp15, %forinc ], [ %tmp1, %entry ] ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=1]
13622 %storemerge = load %"tango.text.Regex.List!(TNFAFragment).List.Element"** %storemerge.in ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=2]
13623 store %"tango.text.Regex.List!(TNFAFragment).List.Element"* %storemerge, %"tango.text.Regex.List!(TNFAFragment).List.Element"** %e
13624 %tmp4 = icmp eq %"tango.text.Regex.List!(TNFAFragment).List.Element"* %storemerge, null ; <i1> [#uses=1]
13625 br i1 %tmp4, label %endfor, label %forbody
13626
13627forbody: ; preds = %forcond
13628 %tmp9 = call fastcc i32 %dg_arg19(i8* %dg_arg18, %"tango.text.Regex.List!(TNFAFragment).List.Element"** %e) ; <i32> [#uses=2]
13629 %tmp12 = icmp eq i32 %tmp9, 0 ; <i1> [#uses=1]
13630 br i1 %tmp12, label %forinc, label %if
13631
13632if: ; preds = %forbody
13633 ret i32 %tmp9
13634
13635forinc: ; preds = %forbody
13636 %tmp14 = load %"tango.text.Regex.List!(TNFAFragment).List.Element"** %e ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=1]
13637 %tmp15 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp14, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=1]
13638 br label %forcond
13639
13640endfor: ; preds = %forcond
13641 ret i32 0
13642}
13643
13644define weak_odr fastcc i32 @_D5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List7opApplyMFDFKC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZiZi(%"tango.text.Regex.List!(TNFAFragment).List"* nocapture %.this_arg, %"int delegate(ref TNFAFragment)" %dg_arg) {
13645entry:
13646 %dg_arg20 = extractvalue %"int delegate(ref TNFAFragment)" %dg_arg, 0 ; <i8*> [#uses=1]
13647 %dg_arg21 = extractvalue %"int delegate(ref TNFAFragment)" %dg_arg, 1 ; <i32 (i8*, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"**)*> [#uses=1]
13648 %tmp1 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %.this_arg, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=1]
13649 br label %forcond
13650
13651forcond: ; preds = %forinc, %entry
13652 %e.0.in = phi %"tango.text.Regex.List!(TNFAFragment).List.Element"** [ %tmp1, %entry ], [ %tmp17, %forinc ] ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=1]
13653 %e.0 = load %"tango.text.Regex.List!(TNFAFragment).List.Element"** %e.0.in ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=3]
13654 %tmp4 = icmp eq %"tango.text.Regex.List!(TNFAFragment).List.Element"* %e.0, null ; <i1> [#uses=1]
13655 br i1 %tmp4, label %endfor, label %forbody
13656
13657forbody: ; preds = %forcond
13658 %tmp10 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.Element"* %e.0, i32 0, i32 2 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"**> [#uses=1]
13659 %tmp11 = tail call fastcc i32 %dg_arg21(i8* %dg_arg20, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"** %tmp10) ; <i32> [#uses=2]
13660 %tmp14 = icmp eq i32 %tmp11, 0 ; <i1> [#uses=1]
13661 br i1 %tmp14, label %forinc, label %if
13662
13663if: ; preds = %forbody
13664 ret i32 %tmp11
13665
13666forinc: ; preds = %forbody
13667 %tmp17 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.Element"* %e.0, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=1]
13668 br label %forcond
13669
13670endfor: ; preds = %forcond
13671 ret i32 0
13672}
13673
13674define weak_odr fastcc i32 @_D5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List14opApplyReverseMFDFKC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZiZi(%"tango.text.Regex.List!(TNFAFragment).List"* nocapture %.this_arg, %"int delegate(ref TNFAFragment)" %dg_arg) {
13675entry:
13676 %dg_arg20 = extractvalue %"int delegate(ref TNFAFragment)" %dg_arg, 0 ; <i8*> [#uses=1]
13677 %dg_arg21 = extractvalue %"int delegate(ref TNFAFragment)" %dg_arg, 1 ; <i32 (i8*, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"**)*> [#uses=1]
13678 %tmp1 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %.this_arg, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=1]
13679 br label %forcond
13680
13681forcond: ; preds = %forinc, %entry
13682 %e.0.in = phi %"tango.text.Regex.List!(TNFAFragment).List.Element"** [ %tmp1, %entry ], [ %tmp17, %forinc ] ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=1]
13683 %e.0 = load %"tango.text.Regex.List!(TNFAFragment).List.Element"** %e.0.in ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=3]
13684 %tmp4 = icmp eq %"tango.text.Regex.List!(TNFAFragment).List.Element"* %e.0, null ; <i1> [#uses=1]
13685 br i1 %tmp4, label %endfor, label %forbody
13686
13687forbody: ; preds = %forcond
13688 %tmp10 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.Element"* %e.0, i32 0, i32 2 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"**> [#uses=1]
13689 %tmp11 = tail call fastcc i32 %dg_arg21(i8* %dg_arg20, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"** %tmp10) ; <i32> [#uses=2]
13690 %tmp14 = icmp eq i32 %tmp11, 0 ; <i1> [#uses=1]
13691 br i1 %tmp14, label %forinc, label %if
13692
13693if: ; preds = %forbody
13694 ret i32 %tmp11
13695
13696forinc: ; preds = %forbody
13697 %tmp17 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.Element"* %e.0, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"**> [#uses=1]
13698 br label %forcond
13699
13700endfor: ; preds = %forcond
13701 ret i32 0
13702}
13703
13704define 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 {
13705entry:
13706 %tmp1 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.Element"* %.this_arg, i32 0, i32 2 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"**> [#uses=1]
13707 store %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %v_arg, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"** %tmp1
13708 ret %"tango.text.Regex.List!(TNFAFragment).List.Element"* %.this_arg
13709}
13710
13711define weak_odr fastcc i32 @_D5tango4text4Util21__T13locatePatternTaZ13locatePatternFAaAakZk(%"byte[]" %source_arg, %"byte[]" %match_arg, i32 %start_arg) nounwind readonly {
13712entry:
13713 %source_arg59 = extractvalue %"byte[]" %source_arg, 0 ; <i32> [#uses=3]
13714 %source_arg60 = extractvalue %"byte[]" %source_arg, 1 ; <i8*> [#uses=2]
13715 %match_arg57 = extractvalue %"byte[]" %match_arg, 0 ; <i32> [#uses=5]
13716 %match_arg58 = extractvalue %"byte[]" %match_arg, 1 ; <i8*> [#uses=2]
13717 %tmp5 = sub i32 %source_arg59, %start_arg ; <i32> [#uses=1]
13718 %tmp8 = sub i32 %tmp5, %match_arg57 ; <i32> [#uses=1]
13719 %tmp9 = add i32 %tmp8, 1 ; <i32> [#uses=2]
13720 %tmp12 = icmp eq i32 %match_arg57, 0 ; <i1> [#uses=1]
13721 %tmp16 = icmp ugt i32 %tmp9, %source_arg59 ; <i1> [#uses=1]
13722 %or.cond = or i1 %tmp12, %tmp16 ; <i1> [#uses=1]
13723 br i1 %or.cond, label %endif, label %whilecond
13724
13725whilecond: ; preds = %else40, %entry
13726 %source_arg60.pn = phi i8* [ %p.0, %else40 ], [ %source_arg60, %entry ] ; <i8*> [#uses=4]
13727 %start_arg.pn = phi i32 [ %tmp49, %else40 ], [ %start_arg, %entry ] ; <i32> [#uses=3]
13728 %extent.0 = phi i32 [ %tmp51, %else40 ], [ %tmp9, %entry ] ; <i32> [#uses=5]
13729 %p.0 = getelementptr i8* %source_arg60.pn, i32 %start_arg.pn ; <i8*> [#uses=2]
13730 %tmp18 = icmp eq i32 %extent.0, 0 ; <i1> [#uses=1]
13731 br i1 %tmp18, label %endif, label %whilebody
13732
13733whilebody: ; preds = %whilecond
13734 %tmp23 = load i8* %match_arg58 ; <i8> [#uses=1]
13735 %p.0.sum63 = add i32 %start_arg.pn, -1 ; <i32> [#uses=1]
13736 %tmp2.i = getelementptr i8* %source_arg60.pn, i32 %p.0.sum63 ; <i8*> [#uses=1]
13737 br label %forcond.i
13738
13739forcond.i: ; preds = %forbody.i, %whilebody
13740 %len.0.i = phi i32 [ %extent.0, %whilebody ], [ %tmp4.i, %forbody.i ] ; <i32> [#uses=2]
13741 %p.0.i = phi i8* [ %tmp2.i, %whilebody ], [ %tmp7.i, %forbody.i ] ; <i8*> [#uses=1]
13742 %tmp4.i = add i32 %len.0.i, -1 ; <i32> [#uses=1]
13743 %tmp5.i = icmp eq i32 %len.0.i, 0 ; <i1> [#uses=1]
13744 br i1 %tmp5.i, label %_D5tango4text4Util14__T7indexOfTaZ7indexOfFPaakZk.exit, label %forbody.i
13745
13746forbody.i: ; preds = %forcond.i
13747 %tmp7.i = getelementptr i8* %p.0.i, i32 1 ; <i8*> [#uses=3]
13748 %tmp8.i = load i8* %tmp7.i ; <i8> [#uses=1]
13749 %tmp12.i = icmp eq i8 %tmp8.i, %tmp23 ; <i1> [#uses=1]
13750 br i1 %tmp12.i, label %if.i, label %forcond.i
13751
13752if.i: ; preds = %forbody.i
13753 %tmp15.i = ptrtoint i8* %tmp7.i to i32 ; <i32> [#uses=1]
13754 %tmp16.i = ptrtoint i8* %p.0 to i32 ; <i32> [#uses=1]
13755 %tmp17.i = sub i32 %tmp15.i, %tmp16.i ; <i32> [#uses=1]
13756 br label %_D5tango4text4Util14__T7indexOfTaZ7indexOfFPaakZk.exit
13757
13758_D5tango4text4Util14__T7indexOfTaZ7indexOfFPaakZk.exit: ; preds = %if.i, %forcond.i
13759 %tmp2561 = phi i32 [ %tmp17.i, %if.i ], [ %extent.0, %forcond.i ] ; <i32> [#uses=3]
13760 %tmp27 = icmp eq i32 %tmp2561, %extent.0 ; <i1> [#uses=1]
13761 br i1 %tmp27, label %endif, label %else
13762
13763else: ; preds = %_D5tango4text4Util14__T7indexOfTaZ7indexOfFPaakZk.exit
13764 %p.0.sum = add i32 %start_arg.pn, %tmp2561 ; <i32> [#uses=2]
13765 %tmp32 = getelementptr i8* %source_arg60.pn, i32 %p.0.sum ; <i8*> [#uses=2]
13766 %tmp32.sum = add i32 %p.0.sum, -1 ; <i32> [#uses=1]
13767 %tmp2.i.i = getelementptr i8* %source_arg60.pn, i32 %tmp32.sum ; <i8*> [#uses=1]
13768 br label %forcond.i.i
13769
13770forcond.i.i: ; preds = %forbody.i.i, %else
13771 %len.0.i.i = phi i32 [ %match_arg57, %else ], [ %tmp4.i.i, %forbody.i.i ] ; <i32> [#uses=2]
13772 %s2.0.i.i = phi i8* [ %match_arg58, %else ], [ %tmp11.i.i, %forbody.i.i ] ; <i8*> [#uses=2]
13773 %p.0.i.i = phi i8* [ %tmp2.i.i, %else ], [ %tmp7.i.i, %forbody.i.i ] ; <i8*> [#uses=1]
13774 %tmp4.i.i = add i32 %len.0.i.i, -1 ; <i32> [#uses=1]
13775 %tmp5.i.i = icmp eq i32 %len.0.i.i, 0 ; <i1> [#uses=1]
13776 br i1 %tmp5.i.i, label %_D5tango4text4Util15__T8matchingTaZ8matchingFPaPakZb.exit, label %forbody.i.i
13777
13778forbody.i.i: ; preds = %forcond.i.i
13779 %tmp7.i.i = getelementptr i8* %p.0.i.i, i32 1 ; <i8*> [#uses=3]
13780 %tmp8.i.i = load i8* %tmp7.i.i ; <i8> [#uses=1]
13781 %tmp11.i.i = getelementptr i8* %s2.0.i.i, i32 1 ; <i8*> [#uses=1]
13782 %tmp12.i.i = load i8* %s2.0.i.i ; <i8> [#uses=1]
13783 %tmp14.i.i = icmp eq i8 %tmp8.i.i, %tmp12.i.i ; <i1> [#uses=1]
13784 br i1 %tmp14.i.i, label %forcond.i.i, label %if.i.i
13785
13786if.i.i: ; preds = %forbody.i.i
13787 %tmp17.i.i = ptrtoint i8* %tmp7.i.i to i32 ; <i32> [#uses=1]
13788 %tmp18.i.i = ptrtoint i8* %tmp32 to i32 ; <i32> [#uses=1]
13789 %tmp19.i.i = sub i32 %tmp17.i.i, %tmp18.i.i ; <i32> [#uses=1]
13790 br label %_D5tango4text4Util15__T8matchingTaZ8matchingFPaPakZb.exit
13791
13792_D5tango4text4Util15__T8matchingTaZ8matchingFPaPakZb.exit: ; preds = %if.i.i, %forcond.i.i
13793 %tmp36.i = phi i32 [ %tmp19.i.i, %if.i.i ], [ %match_arg57, %forcond.i.i ] ; <i32> [#uses=1]
13794 %tmp5.i62 = icmp eq i32 %tmp36.i, %match_arg57 ; <i1> [#uses=1]
13795 br i1 %tmp5.i62, label %if38, label %else40
13796
13797if38: ; preds = %_D5tango4text4Util15__T8matchingTaZ8matchingFPaPakZb.exit
13798 %tmp44 = ptrtoint i8* %tmp32 to i32 ; <i32> [#uses=1]
13799 %tmp45 = ptrtoint i8* %source_arg60 to i32 ; <i32> [#uses=1]
13800 %tmp46 = sub i32 %tmp44, %tmp45 ; <i32> [#uses=1]
13801 ret i32 %tmp46
13802
13803else40: ; preds = %_D5tango4text4Util15__T8matchingTaZ8matchingFPaPakZb.exit
13804 %tmp49 = add i32 %tmp2561, 1 ; <i32> [#uses=2]
13805 %tmp51 = sub i32 %extent.0, %tmp49 ; <i32> [#uses=1]
13806 br label %whilecond
13807
13808endif: ; preds = %_D5tango4text4Util14__T7indexOfTaZ7indexOfFPaakZk.exit, %whilecond, %entry
13809 ret i32 %source_arg59
13810}
13811
13812define weak_odr fastcc i32 @_D5tango4text4Util14__T7indexOfTaZ7indexOfFPaakZk(i8* %str_arg, i8 %match_arg, i32 %length_arg) nounwind readonly {
13813entry:
13814 %tmp2 = getelementptr i8* %str_arg, i32 -1 ; <i8*> [#uses=1]
13815 br label %forcond
13816
13817forcond: ; preds = %forbody, %entry
13818 %len.0 = phi i32 [ %length_arg, %entry ], [ %tmp4, %forbody ] ; <i32> [#uses=2]
13819 %p.0 = phi i8* [ %tmp2, %entry ], [ %tmp7, %forbody ] ; <i8*> [#uses=1]
13820 %tmp4 = add i32 %len.0, -1 ; <i32> [#uses=1]
13821 %tmp5 = icmp eq i32 %len.0, 0 ; <i1> [#uses=1]
13822 br i1 %tmp5, label %endfor, label %forbody
13823
13824forbody: ; preds = %forcond
13825 %tmp7 = getelementptr i8* %p.0, i32 1 ; <i8*> [#uses=3]
13826 %tmp8 = load i8* %tmp7 ; <i8> [#uses=1]
13827 %tmp12 = icmp eq i8 %tmp8, %match_arg ; <i1> [#uses=1]
13828 br i1 %tmp12, label %if, label %forcond
13829
13830if: ; preds = %forbody
13831 %tmp15 = ptrtoint i8* %tmp7 to i32 ; <i32> [#uses=1]
13832 %tmp16 = ptrtoint i8* %str_arg to i32 ; <i32> [#uses=1]
13833 %tmp17 = sub i32 %tmp15, %tmp16 ; <i32> [#uses=1]
13834 ret i32 %tmp17
13835
13836endfor: ; preds = %forcond
13837 ret i32 %length_arg
13838}
13839
13840define weak_odr fastcc i1 @_D5tango4text4Util15__T8matchingTaZ8matchingFPaPakZb(i8* %s1_arg, i8* nocapture %s2_arg, i32 %length_arg) nounwind readonly {
13841entry:
13842 %tmp2.i = getelementptr i8* %s1_arg, i32 -1 ; <i8*> [#uses=1]
13843 br label %forcond.i
13844
13845forcond.i: ; preds = %forbody.i, %entry
13846 %len.0.i = phi i32 [ %length_arg, %entry ], [ %tmp4.i, %forbody.i ] ; <i32> [#uses=2]
13847 %s2.0.i = phi i8* [ %s2_arg, %entry ], [ %tmp11.i, %forbody.i ] ; <i8*> [#uses=2]
13848 %p.0.i = phi i8* [ %tmp2.i, %entry ], [ %tmp7.i, %forbody.i ] ; <i8*> [#uses=1]
13849 %tmp4.i = add i32 %len.0.i, -1 ; <i32> [#uses=1]
13850 %tmp5.i = icmp eq i32 %len.0.i, 0 ; <i1> [#uses=1]
13851 br i1 %tmp5.i, label %_D5tango4text4Util15__T8mismatchTaZ8mismatchFPaPakZk.exit, label %forbody.i
13852
13853forbody.i: ; preds = %forcond.i
13854 %tmp7.i = getelementptr i8* %p.0.i, i32 1 ; <i8*> [#uses=3]
13855 %tmp8.i = load i8* %tmp7.i ; <i8> [#uses=1]
13856 %tmp11.i = getelementptr i8* %s2.0.i, i32 1 ; <i8*> [#uses=1]
13857 %tmp12.i = load i8* %s2.0.i ; <i8> [#uses=1]
13858 %tmp14.i = icmp eq i8 %tmp8.i, %tmp12.i ; <i1> [#uses=1]
13859 br i1 %tmp14.i, label %forcond.i, label %if.i
13860
13861if.i: ; preds = %forbody.i
13862 %tmp17.i = ptrtoint i8* %tmp7.i to i32 ; <i32> [#uses=1]
13863 %tmp18.i = ptrtoint i8* %s1_arg to i32 ; <i32> [#uses=1]
13864 %tmp19.i = sub i32 %tmp17.i, %tmp18.i ; <i32> [#uses=1]
13865 br label %_D5tango4text4Util15__T8mismatchTaZ8mismatchFPaPakZk.exit
13866
13867_D5tango4text4Util15__T8mismatchTaZ8mismatchFPaPakZk.exit: ; preds = %if.i, %forcond.i
13868 %tmp36 = phi i32 [ %tmp19.i, %if.i ], [ %length_arg, %forcond.i ] ; <i32> [#uses=1]
13869 %tmp5 = icmp eq i32 %tmp36, %length_arg ; <i1> [#uses=1]
13870 ret i1 %tmp5
13871}
13872
13873define weak_odr fastcc i32 @_D5tango4text4Util15__T8mismatchTaZ8mismatchFPaPakZk(i8* %s1_arg, i8* nocapture %s2_arg, i32 %length_arg) nounwind readonly {
13874entry:
13875 %tmp2 = getelementptr i8* %s1_arg, i32 -1 ; <i8*> [#uses=1]
13876 br label %forcond
13877
13878forcond: ; preds = %forbody, %entry
13879 %len.0 = phi i32 [ %length_arg, %entry ], [ %tmp4, %forbody ] ; <i32> [#uses=2]
13880 %s2.0 = phi i8* [ %s2_arg, %entry ], [ %tmp11, %forbody ] ; <i8*> [#uses=2]
13881 %p.0 = phi i8* [ %tmp2, %entry ], [ %tmp7, %forbody ] ; <i8*> [#uses=1]
13882 %tmp4 = add i32 %len.0, -1 ; <i32> [#uses=1]
13883 %tmp5 = icmp eq i32 %len.0, 0 ; <i1> [#uses=1]
13884 br i1 %tmp5, label %endfor, label %forbody
13885
13886forbody: ; preds = %forcond
13887 %tmp7 = getelementptr i8* %p.0, i32 1 ; <i8*> [#uses=3]
13888 %tmp8 = load i8* %tmp7 ; <i8> [#uses=1]
13889 %tmp11 = getelementptr i8* %s2.0, i32 1 ; <i8*> [#uses=1]
13890 %tmp12 = load i8* %s2.0 ; <i8> [#uses=1]
13891 %tmp14 = icmp eq i8 %tmp8, %tmp12 ; <i1> [#uses=1]
13892 br i1 %tmp14, label %forcond, label %if
13893
13894if: ; preds = %forbody
13895 %tmp17 = ptrtoint i8* %tmp7 to i32 ; <i32> [#uses=1]
13896 %tmp18 = ptrtoint i8* %s1_arg to i32 ; <i32> [#uses=1]
13897 %tmp19 = sub i32 %tmp17, %tmp18 ; <i32> [#uses=1]
13898 ret i32 %tmp19
13899
13900endfor: ; preds = %forcond
13901 ret i32 %length_arg
13902}
13903
13904define weak_odr fastcc i32 @_D5tango4text4Util19__T11locatePriorTaZ11locatePriorFAaakZk(%"byte[]" %source_arg, i8 %match_arg, i32 %start_arg) nounwind readonly {
13905entry:
13906 %source_arg22 = extractvalue %"byte[]" %source_arg, 0 ; <i32> [#uses=3]
13907 %source_arg23 = extractvalue %"byte[]" %source_arg, 1 ; <i8*> [#uses=1]
13908 %tmp2 = icmp ult i32 %source_arg22, %start_arg ; <i1> [#uses=1]
13909 br i1 %tmp2, label %if, label %whilecond
13910
13911if: ; preds = %entry
13912 br label %whilecond
13913
13914whilecond: ; preds = %whilebody, %if, %entry
13915 %start.0 = phi i32 [ %source_arg22, %if ], [ %tmp8, %whilebody ], [ %start_arg, %entry ] ; <i32> [#uses=2]
13916 %tmp6 = icmp eq i32 %start.0, 0 ; <i1> [#uses=1]
13917 br i1 %tmp6, label %endwhile, label %whilebody
13918
13919whilebody: ; preds = %whilecond
13920 %tmp8 = add i32 %start.0, -1 ; <i32> [#uses=3]
13921 %tmp10 = getelementptr i8* %source_arg23, i32 %tmp8 ; <i8*> [#uses=1]
13922 %tmp11 = load i8* %tmp10 ; <i8> [#uses=1]
13923 %tmp15 = icmp eq i8 %tmp11, %match_arg ; <i1> [#uses=1]
13924 br i1 %tmp15, label %if16, label %whilecond
13925
13926if16: ; preds = %whilebody
13927 ret i32 %tmp8
13928
13929endwhile: ; preds = %whilecond
13930 ret i32 %source_arg22
13931}
13932
13933define weak_odr fastcc i32 @_D5tango4text4Util13__T6locateTaZ6locateFAaakZk(%"byte[]" %source_arg, i8 %match_arg, i32 %start_arg) nounwind readonly {
13934entry:
13935 %source_arg16 = extractvalue %"byte[]" %source_arg, 0 ; <i32> [#uses=3]
13936 %source_arg17 = extractvalue %"byte[]" %source_arg, 1 ; <i8*> [#uses=2]
13937 %tmp2 = icmp ult i32 %source_arg16, %start_arg ; <i1> [#uses=1]
13938 %start.0 = select i1 %tmp2, i32 %source_arg16, i32 %start_arg ; <i32> [#uses=4]
13939 %tmp7 = getelementptr i8* %source_arg17, i32 %start.0 ; <i8*> [#uses=1]
13940 %tmp12 = sub i32 %source_arg16, %start.0 ; <i32> [#uses=2]
13941 %tmp7.sum = add i32 %start.0, -1 ; <i32> [#uses=1]
13942 %tmp2.i = getelementptr i8* %source_arg17, i32 %tmp7.sum ; <i8*> [#uses=1]
13943 br label %forcond.i
13944
13945forcond.i: ; preds = %forbody.i, %entry
13946 %len.0.i = phi i32 [ %tmp12, %entry ], [ %tmp4.i, %forbody.i ] ; <i32> [#uses=2]
13947 %p.0.i = phi i8* [ %tmp2.i, %entry ], [ %tmp7.i, %forbody.i ] ; <i8*> [#uses=1]
13948 %tmp4.i = add i32 %len.0.i, -1 ; <i32> [#uses=1]
13949 %tmp5.i = icmp eq i32 %len.0.i, 0 ; <i1> [#uses=1]
13950 br i1 %tmp5.i, label %_D5tango4text4Util14__T7indexOfTaZ7indexOfFPaakZk.exit, label %forbody.i
13951
13952forbody.i: ; preds = %forcond.i
13953 %tmp7.i = getelementptr i8* %p.0.i, i32 1 ; <i8*> [#uses=3]
13954 %tmp8.i = load i8* %tmp7.i ; <i8> [#uses=1]
13955 %tmp12.i = icmp eq i8 %tmp8.i, %match_arg ; <i1> [#uses=1]
13956 br i1 %tmp12.i, label %if.i, label %forcond.i
13957
13958if.i: ; preds = %forbody.i
13959 %tmp15.i = ptrtoint i8* %tmp7.i to i32 ; <i32> [#uses=1]
13960 %tmp16.i = ptrtoint i8* %tmp7 to i32 ; <i32> [#uses=1]
13961 %tmp17.i = sub i32 %tmp15.i, %tmp16.i ; <i32> [#uses=1]
13962 br label %_D5tango4text4Util14__T7indexOfTaZ7indexOfFPaakZk.exit
13963
13964_D5tango4text4Util14__T7indexOfTaZ7indexOfFPaakZk.exit: ; preds = %if.i, %forcond.i
13965 %tmp1318 = phi i32 [ %tmp17.i, %if.i ], [ %tmp12, %forcond.i ] ; <i32> [#uses=1]
13966 %tmp15 = add i32 %tmp1318, %start.0 ; <i32> [#uses=1]
13967 ret i32 %tmp15
13968}
13969
13970define weak_odr fastcc i64 @_D5tango4text7convert7Integer13__T6toLongTaZ6toLongFAakZl(%"byte[]" %digits_arg, i32 %radix_arg) {
13971entry:
13972 %len = alloca i32, align 4 ; <i32*> [#uses=3]
13973 %digits_arg15 = extractvalue %"byte[]" %digits_arg, 0 ; <i32> [#uses=2]
13974 %digits_arg16 = extractvalue %"byte[]" %digits_arg, 1 ; <i8*> [#uses=1]
13975 store i32 0, i32* %len
13976 %insert = insertvalue %"byte[]" undef, i32 %digits_arg15, 0 ; <%"byte[]"> [#uses=1]
13977 %insert14 = insertvalue %"byte[]" %insert, i8* %digits_arg16, 1 ; <%"byte[]"> [#uses=1]
13978 %tmp2 = call fastcc i64 @_D5tango4text7convert7Integer12__T5parseTaZ5parseFAakPkZl(%"byte[]" %insert14, i32 %radix_arg, i32* %len) ; <i64> [#uses=1]
13979 %tmp4 = load i32* %len ; <i32> [#uses=1]
13980 %tmp5 = icmp ult i32 %tmp4, %digits_arg15 ; <i1> [#uses=1]
13981 br i1 %tmp5, label %if, label %endif
13982
13983if: ; preds = %entry
13984 %.newclass_gc_alloc = call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4core9Exception24IllegalArgumentException7__ClassZ) ; <i8*> [#uses=5]
13985 %.newclass_gc = bitcast i8* %.newclass_gc_alloc to %object.Exception* ; <%object.Exception*> [#uses=1]
13986 %vtbl = bitcast i8* %.newclass_gc_alloc to %object.Exception.__vtbl** ; <%object.Exception.__vtbl**> [#uses=1]
13987 store %object.Exception.__vtbl* @_D5tango4core9Exception24IllegalArgumentException6__vtblZ, %object.Exception.__vtbl** %vtbl
13988 %monitor = getelementptr i8* %.newclass_gc_alloc, i32 4 ; <i8*> [#uses=1]
13989 %0 = bitcast i8* %monitor to i8** ; <i8**> [#uses=1]
13990 store i8* null, i8** %0
13991 %tmp6 = getelementptr i8* %.newclass_gc_alloc, i32 8 ; <i8*> [#uses=1]
13992 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)
13993 %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]
13994 %tmp11 = bitcast i8* %.newclass_gc_alloc to %object.Object* ; <%object.Object*> [#uses=1]
13995 call void @_d_throw_exception(%object.Object* %tmp11)
13996 unreachable
13997
13998endif: ; preds = %entry
13999 ret i64 %tmp2
14000}
14001
14002define weak_odr fastcc i64 @_D5tango4text7convert7Integer12__T5parseTaZ5parseFAakPkZl(%"byte[]" %digits_arg, i32 %radix_arg, i32* %ate_arg) nounwind {
14003entry:
14004 %digits_arg26 = extractvalue %"byte[]" %digits_arg, 0 ; <i32> [#uses=3]
14005 %digits_arg27 = extractvalue %"byte[]" %digits_arg, 1 ; <i8*> [#uses=5]
14006 %tmp4.i = icmp eq i32 %digits_arg26, 0 ; <i1> [#uses=1]
14007 br i1 %tmp4.i, label %_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit, label %forcond.i
14008
14009forcond.i: ; preds = %forinc.i, %entry
14010 %sign.1 = phi i1 [ false, %entry ], [ %sign.0, %forinc.i ] ; <i1> [#uses=6]
14011 %len.0.i = phi i32 [ %tmp33.i, %forinc.i ], [ %digits_arg26, %entry ] ; <i32> [#uses=3]
14012 %p.0.i = phi i8* [ %tmp30.i, %forinc.i ], [ %digits_arg27, %entry ] ; <i8*> [#uses=6]
14013 %c.0.in.i = phi i8* [ %tmp30.i, %forinc.i ], [ %digits_arg27, %entry ] ; <i8*> [#uses=1]
14014 %c.0.i = load i8* %c.0.in.i ; <i8> [#uses=2]
14015 %tmp8.i = icmp eq i32 %len.0.i, 0 ; <i1> [#uses=1]
14016 br i1 %tmp8.i, label %endfor.i, label %forbody.i
14017
14018forbody.i: ; preds = %forcond.i
14019 switch i8 %c.0.i, label %endfor.i [
14020 i8 32, label %forinc.i
14021 i8 9, label %forinc.i
14022 i8 45, label %if20.i
14023 i8 43, label %if26.i
14024 ]
14025
14026if20.i: ; preds = %forbody.i
14027 br label %forinc.i
14028
14029if26.i: ; preds = %forbody.i
14030 br label %forinc.i
14031
14032forinc.i: ; preds = %if26.i, %if20.i, %forbody.i, %forbody.i
14033 %sign.0 = phi i1 [ false, %if26.i ], [ true, %if20.i ], [ %sign.1, %forbody.i ], [ %sign.1, %forbody.i ] ; <i1> [#uses=1]
14034 %tmp30.i = getelementptr i8* %p.0.i, i32 1 ; <i8*> [#uses=2]
14035 %tmp33.i = add i32 %len.0.i, -1 ; <i32> [#uses=1]
14036 br label %forcond.i
14037
14038endfor.i: ; preds = %forbody.i, %forcond.i
14039 %tmp37.i = icmp eq i8 %c.0.i, 48 ; <i1> [#uses=1]
14040 %tmp39.i = icmp sgt i32 %len.0.i, 1 ; <i1> [#uses=1]
14041 %or.cond.i = and i1 %tmp37.i, %tmp39.i ; <i1> [#uses=1]
14042 br i1 %or.cond.i, label %if40.i, label %endif41.i
14043
14044if40.i: ; preds = %endfor.i
14045 %tmp43.i = getelementptr i8* %p.0.i, i32 1 ; <i8*> [#uses=2]
14046 %tmp44.i = load i8* %tmp43.i ; <i8> [#uses=1]
14047 %tmp45.i = zext i8 %tmp44.i to i32 ; <i32> [#uses=1]
14048 switch i32 %tmp45.i, label %endif41.i [
14049 i32 120, label %case46.i
14050 i32 88, label %case46.i
14051 i32 98, label %case51.i
14052 i32 66, label %case51.i
14053 i32 111, label %case56.i
14054 i32 79, label %case56.i
14055 ]
14056
14057case46.i: ; preds = %if40.i, %if40.i
14058 %tmp48.i = getelementptr i8* %p.0.i, i32 2 ; <i8*> [#uses=1]
14059 br label %endif41.i
14060
14061case51.i: ; preds = %if40.i, %if40.i
14062 %tmp53.i = getelementptr i8* %p.0.i, i32 2 ; <i8*> [#uses=1]
14063 br label %endif41.i
14064
14065case56.i: ; preds = %if40.i, %if40.i
14066 %tmp58.i = getelementptr i8* %p.0.i, i32 2 ; <i8*> [#uses=1]
14067 br label %endif41.i
14068
14069endif41.i: ; preds = %case56.i, %case51.i, %case46.i, %if40.i, %endfor.i
14070 %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]
14071 %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]
14072 %tmp63.i = icmp eq i32 %r.0.i, 0 ; <i1> [#uses=1]
14073 br i1 %tmp63.i, label %_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit, label %else66.i
14074
14075else66.i: ; preds = %endif41.i
14076 %tmp69.i = icmp eq i32 %r.0.i, %radix_arg ; <i1> [#uses=1]
14077 br i1 %tmp69.i, label %_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit, label %if70.i
14078
14079if70.i: ; preds = %else66.i
14080 %tmp77.i = icmp eq i32 %radix_arg, 0 ; <i1> [#uses=1]
14081 br i1 %tmp77.i, label %_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit, label %if73.i
14082
14083if73.i: ; preds = %if70.i
14084 %tmp79.i = getelementptr i8* %p.2.i, i32 -1 ; <i8*> [#uses=1]
14085 br label %_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit
14086
14087_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit: ; preds = %if73.i, %if70.i, %else66.i, %endif41.i, %entry
14088 %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]
14089 %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]
14090 %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]
14091 %tmp84.i = ptrtoint i8* %p.1.i to i32 ; <i32> [#uses=1]
14092 %tmp85.i = ptrtoint i8* %digits_arg27 to i32 ; <i32> [#uses=1]
14093 %tmp86.i = sub i32 %tmp84.i, %tmp85.i ; <i32> [#uses=3]
14094 %tmp6 = sub i32 %digits_arg26, %tmp86.i ; <i32> [#uses=1]
14095 br label %foreachcond.i
14096
14097foreachcond.i: ; preds = %if55.i, %_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit
14098 %value.0.i = phi i64 [ 0, %_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit ], [ %tmp65.i, %if55.i ] ; <i64> [#uses=3]
14099 %eaten.0.i = phi i32 [ 0, %_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit ], [ %tmp67.i, %if55.i ] ; <i32> [#uses=2]
14100 %foreachkey.0.i = phi i32 [ 0, %_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk.exit ], [ %tmp70.i, %if55.i ] ; <i32> [#uses=3]
14101 %tmp3.i = icmp ult i32 %foreachkey.0.i, %tmp6 ; <i1> [#uses=1]
14102 br i1 %tmp3.i, label %foreachbody.i, label %foreachend.i
14103
14104foreachbody.i: ; preds = %foreachcond.i
14105 %tmp5.sum = add i32 %tmp86.i, %foreachkey.0.i ; <i32> [#uses=1]
14106 %tmp5.i = getelementptr i8* %digits_arg27, i32 %tmp5.sum ; <i8*> [#uses=1]
14107 %tmp6.i = load i8* %tmp5.i ; <i8> [#uses=6]
14108 %tmp6.off84.i = add i8 %tmp6.i, -48 ; <i8> [#uses=1]
14109 %or.cond.i28 = icmp ugt i8 %tmp6.off84.i, 9 ; <i1> [#uses=1]
14110 br i1 %or.cond.i28, label %else.i, label %endif.i
14111
14112else.i: ; preds = %foreachbody.i
14113 %tmp6.off83.i = add i8 %tmp6.i, -97 ; <i8> [#uses=1]
14114 %or.cond81.i = icmp ugt i8 %tmp6.off83.i, 25 ; <i1> [#uses=1]
14115 br i1 %or.cond81.i, label %else24.i, label %if22.i
14116
14117if22.i: ; preds = %else.i
14118 %tmp27.i = add i8 %tmp6.i, -39 ; <i8> [#uses=1]
14119 br label %endif.i
14120
14121else24.i: ; preds = %else.i
14122 %tmp6.off.i = add i8 %tmp6.i, -65 ; <i8> [#uses=1]
14123 %or.cond82.i = icmp ugt i8 %tmp6.off.i, 25 ; <i1> [#uses=1]
14124 br i1 %or.cond82.i, label %foreachend.i, label %if39.i
14125
14126if39.i: ; preds = %else24.i
14127 %tmp44.i29 = add i8 %tmp6.i, -7 ; <i8> [#uses=1]
14128 br label %endif.i
14129
14130endif.i: ; preds = %if39.i, %if22.i, %foreachbody.i
14131 %c.0.i30 = phi i8 [ %tmp27.i, %if22.i ], [ %tmp44.i29, %if39.i ], [ %tmp6.i, %foreachbody.i ] ; <i8> [#uses=1]
14132 %tmp48.i31 = zext i8 %c.0.i30 to i32 ; <i32> [#uses=1]
14133 %tmp49.i = add i32 %tmp48.i31, 208 ; <i32> [#uses=1]
14134 %tmp52.i = and i32 %tmp49.i, 255 ; <i32> [#uses=2]
14135 %tmp54.i = icmp ult i32 %tmp52.i, %radix.0 ; <i1> [#uses=1]
14136 br i1 %tmp54.i, label %if55.i, label %foreachend.i
14137
14138if55.i: ; preds = %endif.i
14139 %tmp59.i = zext i32 %radix.0 to i64 ; <i64> [#uses=1]
14140 %tmp61.i = mul i64 %value.0.i, %tmp59.i ; <i64> [#uses=1]
14141 %tmp64.i = zext i32 %tmp52.i to i64 ; <i64> [#uses=1]
14142 %tmp65.i = add i64 %tmp61.i, %tmp64.i ; <i64> [#uses=1]
14143 %tmp67.i = add i32 %eaten.0.i, 1 ; <i32> [#uses=1]
14144 %tmp70.i = add i32 %foreachkey.0.i, 1 ; <i32> [#uses=1]
14145 br label %foreachcond.i
14146
14147foreachend.i: ; preds = %endif.i, %else24.i, %foreachcond.i
14148 %tmp75.i = icmp eq i32* %ate_arg, null ; <i1> [#uses=1]
14149 br i1 %tmp75.i, label %endif, label %if72.i
14150
14151if72.i: ; preds = %foreachend.i
14152 %tmp19 = add i32 %eaten.0.i, %tmp86.i ; <i32> [#uses=1]
14153 store i32 %tmp19, i32* %ate_arg
14154 br label %endif
14155
14156endif: ; preds = %if72.i, %foreachend.i
14157 %negval = sub i64 0, %value.0.i ; <i64> [#uses=1]
14158 %condtmp.0 = select i1 %sign.2, i64 %negval, i64 %value.0.i ; <i64> [#uses=1]
14159 ret i64 %condtmp.0
14160}
14161
14162define weak_odr fastcc i32 @_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk(%"byte[]" %digits_arg, i1* nocapture %sign_arg, i32* nocapture %radix_arg) nounwind {
14163entry:
14164 %digits_arg88 = extractvalue %"byte[]" %digits_arg, 0 ; <i32> [#uses=2]
14165 %digits_arg89 = extractvalue %"byte[]" %digits_arg, 1 ; <i8*> [#uses=4]
14166 %tmp4 = icmp eq i32 %digits_arg88, 0 ; <i1> [#uses=1]
14167 br i1 %tmp4, label %endif, label %forcond
14168
14169forcond: ; preds = %forinc, %entry
14170 %len.0 = phi i32 [ %tmp33, %forinc ], [ %digits_arg88, %entry ] ; <i32> [#uses=3]
14171 %p.0 = phi i8* [ %tmp30, %forinc ], [ %digits_arg89, %entry ] ; <i8*> [#uses=6]
14172 %c.0.in = phi i8* [ %tmp30, %forinc ], [ %digits_arg89, %entry ] ; <i8*> [#uses=1]
14173 %c.0 = load i8* %c.0.in ; <i8> [#uses=2]
14174 %tmp8 = icmp eq i32 %len.0, 0 ; <i1> [#uses=1]
14175 br i1 %tmp8, label %endfor, label %forbody
14176
14177forbody: ; preds = %forcond
14178 switch i8 %c.0, label %endfor [
14179 i8 32, label %forinc
14180 i8 9, label %forinc
14181 i8 45, label %if20
14182 i8 43, label %if26
14183 ]
14184
14185if20: ; preds = %forbody
14186 store i1 true, i1* %sign_arg
14187 br label %forinc
14188
14189if26: ; preds = %forbody
14190 store i1 false, i1* %sign_arg
14191 br label %forinc
14192
14193forinc: ; preds = %if26, %if20, %forbody, %forbody
14194 %tmp30 = getelementptr i8* %p.0, i32 1 ; <i8*> [#uses=2]
14195 %tmp33 = add i32 %len.0, -1 ; <i32> [#uses=1]
14196 br label %forcond
14197
14198endfor: ; preds = %forbody, %forcond
14199 %tmp34 = load i32* %radix_arg ; <i32> [#uses=4]
14200 %tmp37 = icmp eq i8 %c.0, 48 ; <i1> [#uses=1]
14201 %tmp39 = icmp sgt i32 %len.0, 1 ; <i1> [#uses=1]
14202 %or.cond = and i1 %tmp37, %tmp39 ; <i1> [#uses=1]
14203 br i1 %or.cond, label %if40, label %endif41
14204
14205if40: ; preds = %endfor
14206 %tmp43 = getelementptr i8* %p.0, i32 1 ; <i8*> [#uses=2]
14207 %tmp44 = load i8* %tmp43 ; <i8> [#uses=1]
14208 %tmp45 = zext i8 %tmp44 to i32 ; <i32> [#uses=1]
14209 switch i32 %tmp45, label %endif41 [
14210 i32 120, label %case46
14211 i32 88, label %case46
14212 i32 98, label %case51
14213 i32 66, label %case51
14214 i32 111, label %case56
14215 i32 79, label %case56
14216 ]
14217
14218case46: ; preds = %if40, %if40
14219 %tmp48 = getelementptr i8* %p.0, i32 2 ; <i8*> [#uses=1]
14220 br label %endif41
14221
14222case51: ; preds = %if40, %if40
14223 %tmp53 = getelementptr i8* %p.0, i32 2 ; <i8*> [#uses=1]
14224 br label %endif41
14225
14226case56: ; preds = %if40, %if40
14227 %tmp58 = getelementptr i8* %p.0, i32 2 ; <i8*> [#uses=1]
14228 br label %endif41
14229
14230endif41: ; preds = %case56, %case51, %case46, %if40, %endfor
14231 %r.0 = phi i32 [ %tmp34, %if40 ], [ 8, %case56 ], [ 2, %case51 ], [ 16, %case46 ], [ %tmp34, %endfor ] ; <i32> [#uses=3]
14232 %p.2 = phi i8* [ %tmp43, %if40 ], [ %tmp58, %case56 ], [ %tmp53, %case51 ], [ %tmp48, %case46 ], [ %p.0, %endfor ] ; <i8*> [#uses=4]
14233 %tmp63 = icmp eq i32 %r.0, 0 ; <i1> [#uses=1]
14234 br i1 %tmp63, label %if64, label %else66
14235
14236if64: ; preds = %endif41
14237 store i32 10, i32* %radix_arg
14238 br label %endif
14239
14240else66: ; preds = %endif41
14241 %tmp69 = icmp eq i32 %tmp34, %r.0 ; <i1> [#uses=1]
14242 br i1 %tmp69, label %endif, label %if70
14243
14244if70: ; preds = %else66
14245 %tmp77 = icmp eq i32 %tmp34, 0 ; <i1> [#uses=1]
14246 br i1 %tmp77, label %else75, label %if73
14247
14248if73: ; preds = %if70
14249 %tmp79 = getelementptr i8* %p.2, i32 -1 ; <i8*> [#uses=1]
14250 br label %endif
14251
14252else75: ; preds = %if70
14253 store i32 %r.0, i32* %radix_arg
14254 br label %endif
14255
14256endif: ; preds = %else75, %if73, %else66, %if64, %entry
14257 %p.1 = phi i8* [ %p.2, %if64 ], [ %tmp79, %if73 ], [ %p.2, %else75 ], [ %p.2, %else66 ], [ %digits_arg89, %entry ] ; <i8*> [#uses=1]
14258 %tmp84 = ptrtoint i8* %p.1 to i32 ; <i32> [#uses=1]
14259 %tmp85 = ptrtoint i8* %digits_arg89 to i32 ; <i32> [#uses=1]
14260 %tmp86 = sub i32 %tmp84, %tmp85 ; <i32> [#uses=1]
14261 ret i32 %tmp86
14262}
14263
14264define weak_odr fastcc i64 @_D5tango4text7convert7Integer14__T7convertTaZ7convertFAakPkZm(%"byte[]" %digits_arg, i32 %radix_arg, i32* %ate_arg) nounwind {
14265entry:
14266 %digits_arg79 = extractvalue %"byte[]" %digits_arg, 0 ; <i32> [#uses=1]
14267 %digits_arg80 = extractvalue %"byte[]" %digits_arg, 1 ; <i8*> [#uses=1]
14268 br label %foreachcond
14269
14270foreachcond: ; preds = %if55, %entry
14271 %value.0 = phi i64 [ 0, %entry ], [ %tmp65, %if55 ] ; <i64> [#uses=3]
14272 %eaten.0 = phi i32 [ 0, %entry ], [ %tmp67, %if55 ] ; <i32> [#uses=2]
14273 %foreachkey.0 = phi i32 [ 0, %entry ], [ %tmp70, %if55 ] ; <i32> [#uses=3]
14274 %tmp3 = icmp ult i32 %foreachkey.0, %digits_arg79 ; <i1> [#uses=1]
14275 br i1 %tmp3, label %foreachbody, label %foreachend
14276
14277foreachbody: ; preds = %foreachcond
14278 %tmp5 = getelementptr i8* %digits_arg80, i32 %foreachkey.0 ; <i8*> [#uses=1]
14279 %tmp6 = load i8* %tmp5 ; <i8> [#uses=6]
14280 %tmp6.off84 = add i8 %tmp6, -48 ; <i8> [#uses=1]
14281 %or.cond = icmp ugt i8 %tmp6.off84, 9 ; <i1> [#uses=1]
14282 br i1 %or.cond, label %else, label %endif
14283
14284else: ; preds = %foreachbody
14285 %tmp6.off83 = add i8 %tmp6, -97 ; <i8> [#uses=1]
14286 %or.cond81 = icmp ugt i8 %tmp6.off83, 25 ; <i1> [#uses=1]
14287 br i1 %or.cond81, label %else24, label %if22
14288
14289if22: ; preds = %else
14290 %tmp27 = add i8 %tmp6, -39 ; <i8> [#uses=1]
14291 br label %endif
14292
14293else24: ; preds = %else
14294 %tmp6.off = add i8 %tmp6, -65 ; <i8> [#uses=1]
14295 %or.cond82 = icmp ugt i8 %tmp6.off, 25 ; <i1> [#uses=1]
14296 br i1 %or.cond82, label %foreachend, label %if39
14297
14298if39: ; preds = %else24
14299 %tmp44 = add i8 %tmp6, -7 ; <i8> [#uses=1]
14300 br label %endif
14301
14302endif: ; preds = %if39, %if22, %foreachbody
14303 %c.0 = phi i8 [ %tmp27, %if22 ], [ %tmp44, %if39 ], [ %tmp6, %foreachbody ] ; <i8> [#uses=1]
14304 %tmp48 = zext i8 %c.0 to i32 ; <i32> [#uses=1]
14305 %tmp49 = add i32 %tmp48, 208 ; <i32> [#uses=1]
14306 %tmp52 = and i32 %tmp49, 255 ; <i32> [#uses=2]
14307 %tmp54 = icmp ult i32 %tmp52, %radix_arg ; <i1> [#uses=1]
14308 br i1 %tmp54, label %if55, label %foreachend
14309
14310if55: ; preds = %endif
14311 %tmp59 = zext i32 %radix_arg to i64 ; <i64> [#uses=1]
14312 %tmp61 = mul i64 %value.0, %tmp59 ; <i64> [#uses=1]
14313 %tmp64 = zext i32 %tmp52 to i64 ; <i64> [#uses=1]
14314 %tmp65 = add i64 %tmp61, %tmp64 ; <i64> [#uses=1]
14315 %tmp67 = add i32 %eaten.0, 1 ; <i32> [#uses=1]
14316 %tmp70 = add i32 %foreachkey.0, 1 ; <i32> [#uses=1]
14317 br label %foreachcond
14318
14319foreachend: ; preds = %endif, %else24, %foreachcond
14320 %tmp75 = icmp eq i32* %ate_arg, null ; <i1> [#uses=1]
14321 br i1 %tmp75, label %endif73, label %if72
14322
14323if72: ; preds = %foreachend
14324 store i32 %eaten.0, i32* %ate_arg
14325 ret i64 %value.0
14326
14327endif73: ; preds = %foreachend
14328 ret i64 %value.0
14329}
14330
14331define weak_odr fastcc %"byte[]" @_D5tango4text7convert7Integer13__T6formatTaZ6formatFAalAaZAa(%"byte[]" %dst_arg, i64 %i_arg, %"byte[]" %fmt_arg) {
14332entry:
14333 %fmt_arg41.i = extractvalue %"byte[]" %fmt_arg, 0 ; <i32> [#uses=3]
14334 %fmt_arg42.i = extractvalue %"byte[]" %fmt_arg, 1 ; <i8*> [#uses=2]
14335 %tmp1.i = icmp eq i32 %fmt_arg41.i, 0 ; <i1> [#uses=1]
14336 br i1 %tmp1.i, label %_D5tango4text7convert7Integer13__T6decodeTaZ6decodeFAaKaJaJiZv.exit, label %else.i
14337
14338else.i: ; preds = %entry
14339 %tmp4.i = load i8* %fmt_arg42.i ; <i8> [#uses=2]
14340 %tmp7.i = icmp ugt i32 %fmt_arg41.i, 1 ; <i1> [#uses=1]
14341 br i1 %tmp7.i, label %forcond.i, label %_D5tango4text7convert7Integer13__T6decodeTaZ6decodeFAaKaJaJiZv.exit
14342
14343forcond.i: ; preds = %forinc.i, %else.i
14344 %width.1 = phi i32 [ 0, %else.i ], [ %width.0, %forinc.i ] ; <i32> [#uses=3]
14345 %pre.1 = phi i8 [ -1, %else.i ], [ %pre.0, %forinc.i ] ; <i8> [#uses=2]
14346 %j.0.i = phi i32 [ %tmp38.i, %forinc.i ], [ 1, %else.i ] ; <i32> [#uses=2]
14347 %fmt_arg42.pn.i = phi i8* [ %p.0.i, %forinc.i ], [ %fmt_arg42.i, %else.i ] ; <i8*> [#uses=1]
14348 %p.0.i = getelementptr i8* %fmt_arg42.pn.i, i32 1 ; <i8*> [#uses=2]
14349 %tmp16.i = icmp ult i32 %j.0.i, %fmt_arg41.i ; <i1> [#uses=1]
14350 br i1 %tmp16.i, label %forbody.i, label %_D5tango4text7convert7Integer13__T6decodeTaZ6decodeFAaKaJaJiZv.exit
14351
14352forbody.i: ; preds = %forcond.i
14353 %tmp18.i = load i8* %p.0.i ; <i8> [#uses=3]
14354 %tmp18.i.off = add i8 %tmp18.i, -48 ; <i8> [#uses=1]
14355 %or.cond = icmp ugt i8 %tmp18.i.off, 9 ; <i1> [#uses=1]
14356 br i1 %or.cond, label %forinc.i, label %if25.i
14357
14358if25.i: ; preds = %forbody.i
14359 %tmp29.i = mul i32 %width.1, 10 ; <i32> [#uses=1]
14360 %tmp32.i = zext i8 %tmp18.i to i32 ; <i32> [#uses=1]
14361 %tmp33.i = add i32 %tmp32.i, -48 ; <i32> [#uses=1]
14362 %tmp34.i = add i32 %tmp29.i, %tmp33.i ; <i32> [#uses=1]
14363 br label %forinc.i
14364
14365forinc.i: ; preds = %if25.i, %forbody.i
14366 %width.0 = phi i32 [ %tmp34.i, %if25.i ], [ %width.1, %forbody.i ] ; <i32> [#uses=1]
14367 %pre.0 = phi i8 [ %pre.1, %if25.i ], [ %tmp18.i, %forbody.i ] ; <i8> [#uses=1]
14368 %tmp38.i = add i32 %j.0.i, 1 ; <i32> [#uses=1]
14369 br label %forcond.i
14370
14371_D5tango4text7convert7Integer13__T6decodeTaZ6decodeFAaKaJaJiZv.exit: ; preds = %forcond.i, %else.i, %entry
14372 %width.3 = phi i32 [ 0, %entry ], [ %width.1, %forcond.i ], [ 0, %else.i ] ; <i32> [#uses=1]
14373 %type.0 = phi i8 [ 100, %entry ], [ %tmp4.i, %forcond.i ], [ %tmp4.i, %else.i ] ; <i8> [#uses=1]
14374 %pre.3 = phi i8 [ -1, %entry ], [ %pre.1, %forcond.i ], [ -1, %else.i ] ; <i8> [#uses=1]
14375 %tmp6 = call fastcc %"byte[]" @_D5tango4text7convert7Integer16__T9formatterTaZ9formatterFAalaaiZAa(%"byte[]" %dst_arg, i64 %i_arg, i8 %type.0, i8 %pre.3, i32 %width.3) ; <%"byte[]"> [#uses=1]
14376 ret %"byte[]" %tmp6
14377}
14378
14379define weak_odr fastcc void @_D5tango4text7convert7Integer13__T6decodeTaZ6decodeFAaKaJaJiZv(%"byte[]" %fmt_arg, i8* nocapture %type_arg, i8* nocapture %pre_arg, i32* nocapture %width_arg) nounwind {
14380entry:
14381 %fmt_arg41 = extractvalue %"byte[]" %fmt_arg, 0 ; <i32> [#uses=3]
14382 %fmt_arg42 = extractvalue %"byte[]" %fmt_arg, 1 ; <i8*> [#uses=2]
14383 store i8 -1, i8* %pre_arg
14384 store i32 0, i32* %width_arg
14385 %tmp1 = icmp eq i32 %fmt_arg41, 0 ; <i1> [#uses=1]
14386 br i1 %tmp1, label %if, label %else
14387
14388if: ; preds = %entry
14389 store i8 100, i8* %type_arg
14390 ret void
14391
14392else: ; preds = %entry
14393 %tmp4 = load i8* %fmt_arg42 ; <i8> [#uses=1]
14394 store i8 %tmp4, i8* %type_arg
14395 %tmp7 = icmp ugt i32 %fmt_arg41, 1 ; <i1> [#uses=1]
14396 br i1 %tmp7, label %forcond, label %endif
14397
14398forcond: ; preds = %forinc, %else
14399 %j.0 = phi i32 [ %tmp38, %forinc ], [ 1, %else ] ; <i32> [#uses=2]
14400 %fmt_arg42.pn = phi i8* [ %p.0, %forinc ], [ %fmt_arg42, %else ] ; <i8*> [#uses=1]
14401 %p.0 = getelementptr i8* %fmt_arg42.pn, i32 1 ; <i8*> [#uses=2]
14402 %tmp16 = icmp ult i32 %j.0, %fmt_arg41 ; <i1> [#uses=1]
14403 br i1 %tmp16, label %forbody, label %endif
14404
14405forbody: ; preds = %forcond
14406 %tmp18 = load i8* %p.0 ; <i8> [#uses=3]
14407 %tmp18.off = add i8 %tmp18, -48 ; <i8> [#uses=1]
14408 %or.cond = icmp ugt i8 %tmp18.off, 9 ; <i1> [#uses=1]
14409 br i1 %or.cond, label %else27, label %if25
14410
14411if25: ; preds = %forbody
14412 %tmp28 = load i32* %width_arg ; <i32> [#uses=1]
14413 %tmp29 = mul i32 %tmp28, 10 ; <i32> [#uses=1]
14414 %tmp32 = zext i8 %tmp18 to i32 ; <i32> [#uses=1]
14415 %tmp33 = add i32 %tmp32, -48 ; <i32> [#uses=1]
14416 %tmp34 = add i32 %tmp29, %tmp33 ; <i32> [#uses=1]
14417 store i32 %tmp34, i32* %width_arg
14418 br label %forinc
14419
14420else27: ; preds = %forbody
14421 store i8 %tmp18, i8* %pre_arg
14422 br label %forinc
14423
14424forinc: ; preds = %else27, %if25
14425 %tmp38 = add i32 %j.0, 1 ; <i32> [#uses=1]
14426 br label %forcond
14427
14428endif: ; preds = %forcond, %else
14429 ret void
14430}
14431
14432define weak_odr fastcc %"byte[]" @_D5tango4text7convert7Integer16__T9formatterTaZ9formatterFAalaaiZAa(%"byte[]" %dst_arg, i64 %i_arg, i8 %type_arg, i8 %pre_arg, i32 %width_arg) {
14433entry:
14434 %.nongc_mem182 = alloca [18 x i8], align 1 ; <[18 x i8]*> [#uses=2]
14435 %.nongc_mem182.sub = getelementptr [18 x i8]* %.nongc_mem182, i32 0, i32 0 ; <i8*> [#uses=2]
14436 %dst_arg179 = extractvalue %"byte[]" %dst_arg, 0 ; <i32> [#uses=6]
14437 %dst_arg180 = extractvalue %"byte[]" %dst_arg, 1 ; <i8*> [#uses=2]
14438 %tmp3 = icmp eq i32 %dst_arg179, 0 ; <i1> [#uses=1]
14439 br i1 %tmp3, label %endif, label %if
14440
14441if: ; preds = %entry
14442 %tmp5 = zext i8 %type_arg to i32 ; <i32> [#uses=1]
14443 switch i32 %tmp5, label %default37 [
14444 i32 100, label %case8
14445 i32 68, label %case8
14446 i32 103, label %case8
14447 i32 71, label %case8
14448 i32 117, label %switchend
14449 i32 85, label %switchend
14450 i32 98, label %case28
14451 i32 66, label %case28
14452 i32 111, label %case31
14453 i32 79, label %case31
14454 i32 120, label %case33
14455 i32 88, label %case35
14456 ]
14457
14458case8: ; preds = %if, %if, %if, %if
14459 %tmp10 = icmp slt i64 %i_arg, 0 ; <i1> [#uses=1]
14460 br i1 %tmp10, label %if11, label %else
14461
14462if11: ; preds = %case8
14463 %negval = sub i64 0, %i_arg ; <i64> [#uses=1]
14464 br label %switchend
14465
14466else: ; preds = %case8
14467 %tmp16 = icmp eq i8 %pre_arg, 32 ; <i1> [#uses=1]
14468 br i1 %tmp16, label %switchend, label %else19
14469
14470else19: ; preds = %else
14471 %tmp22 = icmp eq i8 %pre_arg, 43 ; <i1> [#uses=1]
14472 br i1 %tmp22, label %if23, label %switchend
14473
14474if23: ; preds = %else19
14475 br label %switchend
14476
14477case28: ; preds = %if, %if
14478 br label %switchend
14479
14480case31: ; preds = %if, %if
14481 br label %switchend
14482
14483case33: ; preds = %if
14484 br label %switchend
14485
14486case35: ; preds = %if
14487 br label %switchend
14488
14489default37: ; preds = %if
14490 tail call void @llvm.memcpy.i32(i8* %.nongc_mem182.sub, i8* getelementptr ([18 x i8]* @.str263, i32 0, i32 0), i32 17, i32 1)
14491 %tmp38 = getelementptr [18 x i8]* %.nongc_mem182, i32 0, i32 17 ; <i8*> [#uses=1]
14492 store i8 %type_arg, i8* %tmp38
14493 %.gc_mem40 = tail call noalias i8* @_d_newarrayvT(%object.TypeInfo* @_D11TypeInfo_Aa6__initZ, i32 20) ; <i8*> [#uses=3]
14494 tail call void @llvm.memcpy.i32(i8* %.gc_mem40, i8* %.nongc_mem182.sub, i32 18, i32 1)
14495 %tmp41 = getelementptr i8* %.gc_mem40, i32 18 ; <i8*> [#uses=1]
14496 %tmp41181 = bitcast i8* %tmp41 to i16* ; <i16*> [#uses=1]
14497 %tmp = load i16* bitcast ([3 x i8]* @.str264 to i16*), align 2 ; <i16> [#uses=1]
14498 store i16 %tmp, i16* %tmp41181, align 1
14499 %tmp42 = insertvalue %"byte[]" { i32 20, i8* undef }, i8* %.gc_mem40, 1 ; <%"byte[]"> [#uses=1]
14500 ret %"byte[]" %tmp42
14501
14502switchend: ; preds = %case35, %case33, %case31, %case28, %if23, %else19, %else, %if11, %if, %if
14503 %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]
14504 %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]
14505 %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]
14506 %tmp48 = getelementptr [8 x %nest.parseListLine]* @.constarray262, i32 0, i32 %index.1, i32 2 ; <%"byte[]"*> [#uses=1]
14507 %tmp49 = load %"byte[]"* %tmp48 ; <%"byte[]"> [#uses=1]
14508 %tmp49178 = extractvalue %"byte[]" %tmp49, 1 ; <i8*> [#uses=2]
14509 %tmp51 = getelementptr [8 x %nest.parseListLine]* @.constarray262, i32 0, i32 %index.1, i32 0 ; <i32*> [#uses=1]
14510 %tmp52 = load i32* %tmp51 ; <i32> [#uses=3]
14511 %tmp56 = getelementptr i8* %dst_arg180, i32 %dst_arg179 ; <i8*> [#uses=2]
14512 %tmp58 = icmp ugt i64 %i.1, 4294967295 ; <i1> [#uses=1]
14513 br i1 %tmp58, label %dowhile82, label %if59
14514
14515if59: ; preds = %switchend
14516 %tmp63 = trunc i64 %i.1 to i32 ; <i32> [#uses=1]
14517 br label %dowhile
14518
14519dowhile: ; preds = %andand, %if59
14520 %p.0 = phi i8* [ %tmp56, %if59 ], [ %tmp65, %andand ] ; <i8*> [#uses=1]
14521 %v.0 = phi i32 [ %tmp63, %if59 ], [ %tmp75, %andand ] ; <i32> [#uses=2]
14522 %len.0 = phi i32 [ %dst_arg179, %if59 ], [ %tmp78, %andand ] ; <i32> [#uses=3]
14523 %tmp65 = getelementptr i8* %p.0, i32 -1 ; <i8*> [#uses=4]
14524 %tmp68 = urem i32 %v.0, %tmp52 ; <i32> [#uses=1]
14525 %tmp71 = getelementptr i8* %tmp49178, i32 %tmp68 ; <i8*> [#uses=1]
14526 %tmp72 = load i8* %tmp71 ; <i8> [#uses=1]
14527 store i8 %tmp72, i8* %tmp65
14528 %tmp75 = udiv i32 %v.0, %tmp52 ; <i32> [#uses=2]
14529 %tmp76 = icmp eq i32 %tmp75, 0 ; <i1> [#uses=1]
14530 br i1 %tmp76, label %endif60, label %andand
14531
14532andand: ; preds = %dowhile
14533 %tmp78 = add i32 %len.0, -1 ; <i32> [#uses=2]
14534 %tmp79 = icmp eq i32 %len.0, 1 ; <i1> [#uses=1]
14535 br i1 %tmp79, label %endif60, label %dowhile
14536
14537dowhile82: ; preds = %andand100, %switchend
14538 %p.2 = phi i8* [ %tmp86, %andand100 ], [ %tmp56, %switchend ] ; <i8*> [#uses=1]
14539 %v80.0 = phi i64 [ %tmp99, %andand100 ], [ %i.1, %switchend ] ; <i64> [#uses=2]
14540 %len.2 = phi i32 [ %tmp104, %andand100 ], [ %dst_arg179, %switchend ] ; <i32> [#uses=3]
14541 %tmp86 = getelementptr i8* %p.2, i32 -1 ; <i8*> [#uses=4]
14542 %tmp88 = zext i32 %tmp52 to i64 ; <i64> [#uses=2]
14543 %tmp90 = urem i64 %v80.0, %tmp88 ; <i64> [#uses=1]
14544 %tmp91 = trunc i64 %tmp90 to i32 ; <i32> [#uses=1]
14545 %tmp94 = getelementptr i8* %tmp49178, i32 %tmp91 ; <i8*> [#uses=1]
14546 %tmp95 = load i8* %tmp94 ; <i8> [#uses=1]
14547 store i8 %tmp95, i8* %tmp86
14548 %tmp99 = udiv i64 %v80.0, %tmp88 ; <i64> [#uses=2]
14549 %tmp102 = icmp eq i64 %tmp99, 0 ; <i1> [#uses=1]
14550 br i1 %tmp102, label %endif60, label %andand100
14551
14552andand100: ; preds = %dowhile82
14553 %tmp104 = add i32 %len.2, -1 ; <i32> [#uses=2]
14554 %tmp105 = icmp eq i32 %len.2, 1 ; <i1> [#uses=1]
14555 br i1 %tmp105, label %endif60, label %dowhile82
14556
14557endif60: ; preds = %andand100, %dowhile82, %andand, %dowhile
14558 %p.1 = phi i8* [ %tmp65, %andand ], [ %tmp65, %dowhile ], [ %tmp86, %andand100 ], [ %tmp86, %dowhile82 ] ; <i8*> [#uses=1]
14559 %len.1 = phi i32 [ %tmp78, %andand ], [ %len.0, %dowhile ], [ %tmp104, %andand100 ], [ %len.2, %dowhile82 ] ; <i32> [#uses=2]
14560 %tmp109 = icmp eq i8 %pre.0, 35 ; <i1> [#uses=1]
14561 br i1 %tmp109, label %condtrue, label %condend
14562
14563condtrue: ; preds = %endif60
14564 %tmp111 = getelementptr [8 x %nest.parseListLine]* @.constarray262, i32 0, i32 %index.1, i32 1 ; <%"byte[]"*> [#uses=1]
14565 %tmp112 = load %"byte[]"* %tmp111 ; <%"byte[]"> [#uses=1]
14566 br label %condend
14567
14568condend: ; preds = %condtrue, %endif60
14569 %condtmp.0 = phi %"byte[]" [ %tmp112, %condtrue ], [ zeroinitializer, %endif60 ] ; <%"byte[]"> [#uses=2]
14570 %condtmp.0175 = extractvalue %"byte[]" %condtmp.0, 0 ; <i32> [#uses=4]
14571 %condtmp.0176 = extractvalue %"byte[]" %condtmp.0, 1 ; <i8*> [#uses=1]
14572 %tmp117 = icmp ugt i32 %len.1, %condtmp.0175 ; <i1> [#uses=1]
14573 br i1 %tmp117, label %if118, label %endif
14574
14575if118: ; preds = %condend
14576 %tmp123 = add i32 %condtmp.0175, 1 ; <i32> [#uses=1]
14577 %tmp124 = sub i32 %len.1, %tmp123 ; <i32> [#uses=2]
14578 %tmp129 = icmp eq i32 %width_arg, 0 ; <i1> [#uses=1]
14579 br i1 %tmp129, label %endif127, label %if126
14580
14581if126: ; preds = %if118
14582 %tmp133 = sub i32 %dst_arg179, %width_arg ; <i32> [#uses=1]
14583 %tmp136 = sub i32 %tmp133, %condtmp.0175 ; <i32> [#uses=1]
14584 br label %whilecond
14585
14586whilecond: ; preds = %whilebody, %if126
14587 %p.3 = phi i8* [ %p.1, %if126 ], [ %tmp146, %whilebody ] ; <i8*> [#uses=1]
14588 %len.3 = phi i32 [ %tmp124, %if126 ], [ %tmp148, %whilebody ] ; <i32> [#uses=4]
14589 %tmp139 = icmp sgt i32 %len.3, %tmp136 ; <i1> [#uses=1]
14590 %tmp143 = icmp sgt i32 %len.3, 0 ; <i1> [#uses=1]
14591 %or.cond = and i1 %tmp139, %tmp143 ; <i1> [#uses=1]
14592 br i1 %or.cond, label %whilebody, label %endif127
14593
14594whilebody: ; preds = %whilecond
14595 %tmp146 = getelementptr i8* %p.3, i32 -1 ; <i8*> [#uses=2]
14596 store i8 48, i8* %tmp146
14597 %tmp148 = add i32 %len.3, -1 ; <i32> [#uses=1]
14598 br label %whilecond
14599
14600endif127: ; preds = %whilecond, %if118
14601 %len.4 = phi i32 [ %len.3, %whilecond ], [ %tmp124, %if118 ] ; <i32> [#uses=2]
14602 %tmp156 = getelementptr i8* %dst_arg180, i32 %len.4 ; <i8*> [#uses=2]
14603 tail call void @llvm.memcpy.i32(i8* %tmp156, i8* %condtmp.0176, i32 %condtmp.0175, i32 1)
14604 %tmp170 = sub i32 %dst_arg179, %len.4 ; <i32> [#uses=1]
14605 %tmp171 = insertvalue %"byte[]" undef, i32 %tmp170, 0 ; <%"byte[]"> [#uses=1]
14606 %tmp172 = insertvalue %"byte[]" %tmp171, i8* %tmp156, 1 ; <%"byte[]"> [#uses=1]
14607 ret %"byte[]" %tmp172
14608
14609endif: ; preds = %condend, %entry
14610 ret %"byte[]" { i32 24, i8* getelementptr ([25 x i8]* @.str265, i32 0, i32 0) }
14611}
14612
14613define weak_odr fastcc i32 @_D5tango4text7convert7Integer11__T4atoiTaZ4atoiFAaiZk(%"byte[]" %s_arg, i32 %radix_arg) nounwind readonly {
14614entry:
14615 %s_arg23 = extractvalue %"byte[]" %s_arg, 0 ; <i32> [#uses=1]
14616 %s_arg24 = extractvalue %"byte[]" %s_arg, 1 ; <i8*> [#uses=1]
14617 br label %foreachcond
14618
14619foreachcond: ; preds = %if, %entry
14620 %value.0 = phi i32 [ 0, %entry ], [ %tmp19, %if ] ; <i32> [#uses=2]
14621 %foreachkey.0 = phi i32 [ 0, %entry ], [ %tmp21, %if ] ; <i32> [#uses=3]
14622 %tmp3 = icmp ult i32 %foreachkey.0, %s_arg23 ; <i1> [#uses=1]
14623 br i1 %tmp3, label %foreachbody, label %foreachend
14624
14625foreachbody: ; preds = %foreachcond
14626 %tmp5 = getelementptr i8* %s_arg24, i32 %foreachkey.0 ; <i8*> [#uses=1]
14627 %tmp6 = load i8* %tmp5 ; <i8> [#uses=2]
14628 %tmp6.off = add i8 %tmp6, -48 ; <i8> [#uses=1]
14629 %or.cond = icmp ugt i8 %tmp6.off, 9 ; <i1> [#uses=1]
14630 br i1 %or.cond, label %foreachend, label %if
14631
14632if: ; preds = %foreachbody
14633 %tmp15 = mul i32 %value.0, %radix_arg ; <i32> [#uses=1]
14634 %tmp17 = zext i8 %tmp6 to i32 ; <i32> [#uses=1]
14635 %tmp18 = add i32 %tmp17, -48 ; <i32> [#uses=1]
14636 %tmp19 = add i32 %tmp15, %tmp18 ; <i32> [#uses=1]
14637 %tmp21 = add i32 %foreachkey.0, 1 ; <i32> [#uses=1]
14638 br label %foreachcond
14639
14640foreachend: ; preds = %foreachbody, %foreachcond
14641 ret i32 %value.0
14642}
14643
14644define weak_odr fastcc %"char[][]" @_D5tango4text4Util18__T10splitLinesTaZ10splitLinesFAaZAAa(%"byte[]" %src_arg) {
14645entry:
14646 %.frame = alloca %nest.splitLines, align 8 ; <%nest.splitLines*> [#uses=5]
14647 %.rettmp = alloca %"tango.text.Util.LineFruct!(char).LineFruct", align 8 ; <%"tango.text.Util.LineFruct!(char).LineFruct"*> [#uses=3]
14648 %.rettmp8 = alloca %"tango.text.Util.LineFruct!(char).LineFruct", align 8 ; <%"tango.text.Util.LineFruct!(char).LineFruct"*> [#uses=3]
14649 %count = getelementptr %nest.splitLines* %.frame, i32 0, i32 0 ; <i32*> [#uses=3]
14650 %result = getelementptr %nest.splitLines* %.frame, i32 0, i32 1 ; <%"char[][]"*> [#uses=1]
14651 store i32 0, i32* %count, align 8
14652 %src_arg8.i = extractvalue %"byte[]" %src_arg, 0 ; <i32> [#uses=1]
14653 %src_arg9.i = extractvalue %"byte[]" %src_arg, 1 ; <i8*> [#uses=1]
14654 %0 = getelementptr %"tango.text.Util.LineFruct!(char).LineFruct"* %.rettmp, i32 0, i32 0, i32 0 ; <i32*> [#uses=1]
14655 store i32 %src_arg8.i, i32* %0, align 8
14656 %.sret_arg10.1.i = getelementptr %"tango.text.Util.LineFruct!(char).LineFruct"* %.rettmp, i32 0, i32 0, i32 1 ; <i8**> [#uses=1]
14657 store i8* %src_arg9.i, i8** %.sret_arg10.1.i, align 4
14658 %tmp1 = bitcast %nest.splitLines* %.frame to i8* ; <i8*> [#uses=2]
14659 %tmp2 = insertvalue %"int delegate(ref char[])" undef, i8* %tmp1, 0 ; <%"int delegate(ref char[])"> [#uses=1]
14660 %.func = insertvalue %"int delegate(ref char[])" %tmp2, i32 (i8*, %"byte[]"*)* @_D5tango4text4Util18__T10splitLinesTaZ10splitLinesFAaZAAa15__foreachbody41MFKAaZi, 1 ; <%"int delegate(ref char[])"> [#uses=1]
14661 %tmp3 = call fastcc i32 @_D5tango4text4Util16__T9LineFructTaZ9LineFruct7opApplyMFDFKAaZiZi(%"tango.text.Util.LineFruct!(char).LineFruct"* %.rettmp, %"int delegate(ref char[])" %.func) ; <i32> [#uses=0]
14662 %tmp4 = load i32* %count, align 8 ; <i32> [#uses=2]
14663 %.gc_mem = call noalias i8* @_d_newarrayT(%object.TypeInfo* bitcast (%object.TypeInfo_Array* @_D12TypeInfo_AAa6__initZ to %object.TypeInfo*), i32 %tmp4) ; <i8*> [#uses=1]
14664 %.gc_mem5 = bitcast i8* %.gc_mem to %"byte[]"* ; <%"byte[]"*> [#uses=1]
14665 %tmp6 = getelementptr %nest.splitLines* %.frame, i32 0, i32 1, i32 0 ; <i32*> [#uses=1]
14666 store i32 %tmp4, i32* %tmp6
14667 %tmp7 = getelementptr %nest.splitLines* %.frame, i32 0, i32 1, i32 1 ; <%"byte[]"**> [#uses=1]
14668 store %"byte[]"* %.gc_mem5, %"byte[]"** %tmp7
14669 store i32 0, i32* %count, align 8
14670 %src_arg8.i15 = extractvalue %"byte[]" %src_arg, 0 ; <i32> [#uses=1]
14671 %src_arg9.i16 = extractvalue %"byte[]" %src_arg, 1 ; <i8*> [#uses=1]
14672 %1 = getelementptr %"tango.text.Util.LineFruct!(char).LineFruct"* %.rettmp8, i32 0, i32 0, i32 0 ; <i32*> [#uses=1]
14673 store i32 %src_arg8.i15, i32* %1, align 8
14674 %.sret_arg10.1.i17 = getelementptr %"tango.text.Util.LineFruct!(char).LineFruct"* %.rettmp8, i32 0, i32 0, i32 1 ; <i8**> [#uses=1]
14675 store i8* %src_arg9.i16, i8** %.sret_arg10.1.i17, align 4
14676 %tmp11 = insertvalue %"int delegate(ref char[])" undef, i8* %tmp1, 0 ; <%"int delegate(ref char[])"> [#uses=1]
14677 %.func12 = insertvalue %"int delegate(ref char[])" %tmp11, i32 (i8*, %"byte[]"*)* @_D5tango4text4Util18__T10splitLinesTaZ10splitLinesFAaZAAa15__foreachbody42MFKAaZi, 1 ; <%"int delegate(ref char[])"> [#uses=1]
14678 %tmp13 = call fastcc i32 @_D5tango4text4Util16__T9LineFructTaZ9LineFruct7opApplyMFDFKAaZiZi(%"tango.text.Util.LineFruct!(char).LineFruct"* %.rettmp8, %"int delegate(ref char[])" %.func12) ; <i32> [#uses=0]
14679 %tmp14 = load %"char[][]"* %result ; <%"char[][]"> [#uses=1]
14680 ret %"char[][]" %tmp14
14681}
14682
14683define weak_odr fastcc void @_D5tango4text4Util12__T5linesTaZ5linesFAaZS5tango4text4Util16__T9LineFructTaZ9LineFruct(%"tango.text.Util.LineFruct!(char).LineFruct"* noalias nocapture sret %.sret_arg, %"byte[]" %src_arg) nounwind {
14684entry:
14685 %src_arg8 = extractvalue %"byte[]" %src_arg, 0 ; <i32> [#uses=1]
14686 %src_arg9 = extractvalue %"byte[]" %src_arg, 1 ; <i8*> [#uses=1]
14687 %0 = getelementptr %"tango.text.Util.LineFruct!(char).LineFruct"* %.sret_arg, i32 0, i32 0, i32 0 ; <i32*> [#uses=1]
14688 store i32 %src_arg8, i32* %0
14689 %.sret_arg10.1 = getelementptr %"tango.text.Util.LineFruct!(char).LineFruct"* %.sret_arg, i32 0, i32 0, i32 1 ; <i8**> [#uses=1]
14690 store i8* %src_arg9, i8** %.sret_arg10.1, align 4
14691 ret void
14692}
14693
14694define weak_odr fastcc i32 @_D5tango4text4Util16__T9LineFructTaZ9LineFruct7opApplyMFDFKAaZiZi(%"tango.text.Util.LineFruct!(char).LineFruct"* nocapture %.this_arg, %"int delegate(ref char[])" %dg_arg) {
14695entry:
14696 %line = alloca %"byte[]", align 8 ; <%"byte[]"*> [#uses=7]
14697 %dg_arg70 = extractvalue %"int delegate(ref char[])" %dg_arg, 0 ; <i8*> [#uses=2]
14698 %dg_arg71 = extractvalue %"int delegate(ref char[])" %dg_arg, 1 ; <i32 (i8*, %"byte[]"*)*> [#uses=2]
14699 store %"byte[]" zeroinitializer, %"byte[]"* %line, align 8
14700 br label %whilecond
14701
14702whilecond: ; preds = %endif40, %entry
14703 %mark.0 = phi i32 [ 0, %entry ], [ %tmp43, %endif40 ] ; <i32> [#uses=7]
14704 %ret.0 = phi i32 [ 0, %entry ], [ %tmp37, %endif40 ] ; <i32> [#uses=1]
14705 %tmp1 = getelementptr %"tango.text.Util.LineFruct!(char).LineFruct"* %.this_arg, i32 0, i32 0 ; <%"byte[]"*> [#uses=1]
14706 %tmp2 = load %"byte[]"* %tmp1 ; <%"byte[]"> [#uses=2]
14707 %source_arg16.i = extractvalue %"byte[]" %tmp2, 0 ; <i32> [#uses=3]
14708 %source_arg17.i = extractvalue %"byte[]" %tmp2, 1 ; <i8*> [#uses=2]
14709 %tmp2.i = icmp ult i32 %source_arg16.i, %mark.0 ; <i1> [#uses=1]
14710 %start.0.i = select i1 %tmp2.i, i32 %source_arg16.i, i32 %mark.0 ; <i32> [#uses=4]
14711 %tmp7.i = getelementptr i8* %source_arg17.i, i32 %start.0.i ; <i8*> [#uses=1]
14712 %tmp12.i = sub i32 %source_arg16.i, %start.0.i ; <i32> [#uses=2]
14713 %tmp7.sum.i = add i32 %start.0.i, -1 ; <i32> [#uses=1]
14714 %tmp2.i.i = getelementptr i8* %source_arg17.i, i32 %tmp7.sum.i ; <i8*> [#uses=1]
14715 br label %forcond.i.i
14716
14717forcond.i.i: ; preds = %forbody.i.i, %whilecond
14718 %len.0.i.i = phi i32 [ %tmp12.i, %whilecond ], [ %tmp4.i.i, %forbody.i.i ] ; <i32> [#uses=2]
14719 %p.0.i.i = phi i8* [ %tmp2.i.i, %whilecond ], [ %tmp7.i.i, %forbody.i.i ] ; <i8*> [#uses=1]
14720 %tmp4.i.i = add i32 %len.0.i.i, -1 ; <i32> [#uses=1]
14721 %tmp5.i.i = icmp eq i32 %len.0.i.i, 0 ; <i1> [#uses=1]
14722 br i1 %tmp5.i.i, label %_D5tango4text4Util13__T6locateTaZ6locateFAaakZk.exit, label %forbody.i.i
14723
14724forbody.i.i: ; preds = %forcond.i.i
14725 %tmp7.i.i = getelementptr i8* %p.0.i.i, i32 1 ; <i8*> [#uses=3]
14726 %tmp8.i.i = load i8* %tmp7.i.i ; <i8> [#uses=1]
14727 %tmp12.i.i = icmp eq i8 %tmp8.i.i, 10 ; <i1> [#uses=1]
14728 br i1 %tmp12.i.i, label %if.i.i, label %forcond.i.i
14729
14730if.i.i: ; preds = %forbody.i.i
14731 %tmp15.i.i = ptrtoint i8* %tmp7.i.i to i32 ; <i32> [#uses=1]
14732 %tmp16.i.i = ptrtoint i8* %tmp7.i to i32 ; <i32> [#uses=1]
14733 %tmp17.i.i = sub i32 %tmp15.i.i, %tmp16.i.i ; <i32> [#uses=1]
14734 br label %_D5tango4text4Util13__T6locateTaZ6locateFAaakZk.exit
14735
14736_D5tango4text4Util13__T6locateTaZ6locateFAaakZk.exit: ; preds = %if.i.i, %forcond.i.i
14737 %tmp1318.i = phi i32 [ %tmp17.i.i, %if.i.i ], [ %tmp12.i, %forcond.i.i ] ; <i32> [#uses=1]
14738 %tmp15.i = add i32 %tmp1318.i, %start.0.i ; <i32> [#uses=6]
14739 %tmp7 = getelementptr %"tango.text.Util.LineFruct!(char).LineFruct"* %.this_arg, i32 0, i32 0, i32 0 ; <i32*> [#uses=1]
14740 %.len = load i32* %tmp7 ; <i32> [#uses=3]
14741 %tmp8 = icmp ult i32 %tmp15.i, %.len ; <i1> [#uses=1]
14742 br i1 %tmp8, label %whilebody, label %endwhile
14743
14744whilebody: ; preds = %_D5tango4text4Util13__T6locateTaZ6locateFAaakZk.exit
14745 %tmp11 = icmp eq i32 %tmp15.i, 0 ; <i1> [#uses=1]
14746 br i1 %tmp11, label %whilebody.endif_crit_edge, label %andand
14747
14748whilebody.endif_crit_edge: ; preds = %whilebody
14749 %tmp25.pre = getelementptr %"tango.text.Util.LineFruct!(char).LineFruct"* %.this_arg, i32 0, i32 0, i32 1 ; <i8**> [#uses=1]
14750 br label %endif
14751
14752andand: ; preds = %whilebody
14753 %tmp15 = add i32 %tmp15.i, -1 ; <i32> [#uses=2]
14754 %tmp16 = getelementptr %"tango.text.Util.LineFruct!(char).LineFruct"* %.this_arg, i32 0, i32 0, i32 1 ; <i8**> [#uses=2]
14755 %.ptr = load i8** %tmp16 ; <i8*> [#uses=1]
14756 %tmp17 = getelementptr i8* %.ptr, i32 %tmp15 ; <i8*> [#uses=1]
14757 %tmp18 = load i8* %tmp17 ; <i8> [#uses=1]
14758 %tmp20 = icmp eq i8 %tmp18, 13 ; <i1> [#uses=1]
14759 %tmp22.tmp4 = select i1 %tmp20, i32 %tmp15, i32 %tmp15.i ; <i32> [#uses=1]
14760 br label %endif
14761
14762endif: ; preds = %andand, %whilebody.endif_crit_edge
14763 %tmp25.pre-phi = phi i8** [ %tmp25.pre, %whilebody.endif_crit_edge ], [ %tmp16, %andand ] ; <i8**> [#uses=1]
14764 %end.0 = phi i32 [ %tmp15.i, %whilebody.endif_crit_edge ], [ %tmp22.tmp4, %andand ] ; <i32> [#uses=1]
14765 %.ptr26 = load i8** %tmp25.pre-phi ; <i8*> [#uses=1]
14766 %tmp29 = getelementptr i8* %.ptr26, i32 %mark.0 ; <i8*> [#uses=1]
14767 %tmp30 = sub i32 %end.0, %mark.0 ; <i32> [#uses=1]
14768 %tmp31 = getelementptr %"byte[]"* %line, i32 0, i32 0 ; <i32*> [#uses=1]
14769 store i32 %tmp30, i32* %tmp31, align 8
14770 %tmp32 = getelementptr %"byte[]"* %line, i32 0, i32 1 ; <i8**> [#uses=1]
14771 store i8* %tmp29, i8** %tmp32
14772 %tmp37 = call fastcc i32 %dg_arg71(i8* %dg_arg70, %"byte[]"* %line) ; <i32> [#uses=3]
14773 %tmp38 = icmp eq i32 %tmp37, 0 ; <i1> [#uses=1]
14774 br i1 %tmp38, label %endif40, label %if39
14775
14776if39: ; preds = %endif
14777 ret i32 %tmp37
14778
14779endif40: ; preds = %endif
14780 %tmp43 = add i32 %tmp15.i, 1 ; <i32> [#uses=1]
14781 br label %whilecond
14782
14783endwhile: ; preds = %_D5tango4text4Util13__T6locateTaZ6locateFAaakZk.exit
14784 %tmp46 = getelementptr %"tango.text.Util.LineFruct!(char).LineFruct"* %.this_arg, i32 0, i32 0, i32 1 ; <i8**> [#uses=1]
14785 %.ptr47 = load i8** %tmp46 ; <i8*> [#uses=1]
14786 %tmp51 = getelementptr i8* %.ptr47, i32 %mark.0 ; <i8*> [#uses=1]
14787 %tmp52 = sub i32 %.len, %mark.0 ; <i32> [#uses=1]
14788 %tmp53 = getelementptr %"byte[]"* %line, i32 0, i32 0 ; <i32*> [#uses=1]
14789 store i32 %tmp52, i32* %tmp53, align 8
14790 %tmp54 = getelementptr %"byte[]"* %line, i32 0, i32 1 ; <i8**> [#uses=1]
14791 store i8* %tmp51, i8** %tmp54
14792 %tmp60 = icmp ugt i32 %mark.0, %.len ; <i1> [#uses=1]
14793 br i1 %tmp60, label %endif62, label %if61
14794
14795if61: ; preds = %endwhile
14796 %tmp67 = call fastcc i32 %dg_arg71(i8* %dg_arg70, %"byte[]"* %line) ; <i32> [#uses=1]
14797 ret i32 %tmp67
14798
14799endif62: ; preds = %endwhile
14800 ret i32 %ret.0
14801}
14802
14803define weak_odr fastcc %"byte[]" @_D5tango4text4Util13__T6layoutTaZ6layoutFAaAAaXAa(%"byte[]" %output_arg, %"char[][]" %layout_arg) nounwind {
14804entry:
14805 %output_arg100 = extractvalue %"byte[]" %output_arg, 0 ; <i32> [#uses=2]
14806 %output_arg101 = extractvalue %"byte[]" %output_arg, 1 ; <i8*> [#uses=3]
14807 %layout_arg98 = extractvalue %"char[][]" %layout_arg, 0 ; <i32> [#uses=1]
14808 %layout_arg99 = extractvalue %"char[][]" %layout_arg, 1 ; <%"byte[]"*> [#uses=3]
14809 %tmp1 = add i32 %layout_arg98, -1 ; <i32> [#uses=1]
14810 %tmp4 = getelementptr %"byte[]"* %layout_arg99, i32 0, i32 0 ; <i32*> [#uses=1]
14811 %.len5 = load i32* %tmp4 ; <i32> [#uses=1]
14812 %tmp6 = getelementptr %"byte[]"* %layout_arg99, i32 0, i32 1 ; <i8**> [#uses=1]
14813 %.ptr7 = load i8** %tmp6 ; <i8*> [#uses=1]
14814 br label %foreachcond
14815
14816foreachcond: ; preds = %foreachnext, %entry
14817 %foreachkey.0 = phi i32 [ 0, %entry ], [ %tmp87, %foreachnext ] ; <i32> [#uses=3]
14818 %state.2 = phi i1 [ false, %entry ], [ %state.1, %foreachnext ] ; <i1> [#uses=2]
14819 %pos.1 = phi i32 [ 0, %entry ], [ %pos.0, %foreachnext ] ; <i32> [#uses=7]
14820 %tmp9 = icmp ult i32 %foreachkey.0, %.len5 ; <i1> [#uses=1]
14821 br i1 %tmp9, label %foreachbody, label %foreachend
14822
14823foreachbody: ; preds = %foreachcond
14824 %tmp11 = getelementptr i8* %.ptr7, i32 %foreachkey.0 ; <i8*> [#uses=1]
14825 %tmp12 = load i8* %tmp11 ; <i8> [#uses=4]
14826 br i1 %state.2, label %if, label %else
14827
14828if: ; preds = %foreachbody
14829 %tmp12.off = add i8 %tmp12, -48 ; <i8> [#uses=1]
14830 %or.cond = icmp ugt i8 %tmp12.off, 9 ; <i1> [#uses=1]
14831 br i1 %or.cond, label %endif, label %if20
14832
14833if20: ; preds = %if
14834 %tmp23 = zext i8 %tmp12 to i32 ; <i32> [#uses=2]
14835 %tmp24 = add i32 %tmp23, -48 ; <i32> [#uses=1]
14836 %tmp27 = icmp ult i32 %tmp24, %tmp1 ; <i1> [#uses=1]
14837 br i1 %tmp27, label %if28, label %else30
14838
14839if28: ; preds = %if20
14840 %tmp32 = add i32 %tmp23, -47 ; <i32> [#uses=1]
14841 %tmp35 = getelementptr %"byte[]"* %layout_arg99, i32 %tmp32 ; <%"byte[]"*> [#uses=1]
14842 %tmp36 = load %"byte[]"* %tmp35 ; <%"byte[]"> [#uses=2]
14843 %tmp3696 = extractvalue %"byte[]" %tmp36, 0 ; <i32> [#uses=2]
14844 %tmp40 = add i32 %pos.1, %tmp3696 ; <i32> [#uses=2]
14845 %tmp44 = icmp ult i32 %tmp40, %output_arg100 ; <i1> [#uses=1]
14846 br i1 %tmp44, label %if45, label %else47
14847
14848if45: ; preds = %if28
14849 %tmp3697 = extractvalue %"byte[]" %tmp36, 1 ; <i8*> [#uses=1]
14850 %tmp52 = getelementptr i8* %output_arg101, i32 %pos.1 ; <i8*> [#uses=1]
14851 tail call void @llvm.memcpy.i32(i8* %tmp52, i8* %tmp3697, i32 %tmp3696, i32 1)
14852 br label %foreachnext
14853
14854else47: ; preds = %if28
14855 %tmp61 = load %"byte[]"* @_D5tango4text4Util13__T6layoutTaZ6layoutFAaAAaXAa8toosmallAa, align 8 ; <%"byte[]"> [#uses=1]
14856 ret %"byte[]" %tmp61
14857
14858else30: ; preds = %if20
14859 %tmp62 = load %"byte[]"* @_D5tango4text4Util13__T6layoutTaZ6layoutFAaAAaXAa6badargAa, align 8 ; <%"byte[]"> [#uses=1]
14860 ret %"byte[]" %tmp62
14861
14862else: ; preds = %foreachbody
14863 %tmp66 = icmp eq i8 %tmp12, 37 ; <i1> [#uses=1]
14864 br i1 %tmp66, label %foreachnext, label %endif
14865
14866endif: ; preds = %else, %if
14867 %state.0 = phi i1 [ false, %if ], [ %state.2, %else ] ; <i1> [#uses=1]
14868 %tmp73 = icmp ult i32 %pos.1, %output_arg100 ; <i1> [#uses=1]
14869 br i1 %tmp73, label %if74, label %else76
14870
14871if74: ; preds = %endif
14872 %tmp80 = getelementptr i8* %output_arg101, i32 %pos.1 ; <i8*> [#uses=1]
14873 store i8 %tmp12, i8* %tmp80
14874 %tmp83 = add i32 %pos.1, 1 ; <i32> [#uses=1]
14875 br label %foreachnext
14876
14877else76: ; preds = %endif
14878 %tmp84 = load %"byte[]"* @_D5tango4text4Util13__T6layoutTaZ6layoutFAaAAaXAa8toosmallAa, align 8 ; <%"byte[]"> [#uses=1]
14879 ret %"byte[]" %tmp84
14880
14881foreachnext: ; preds = %if74, %else, %if45
14882 %state.1 = phi i1 [ false, %if45 ], [ %state.0, %if74 ], [ true, %else ] ; <i1> [#uses=1]
14883 %pos.0 = phi i32 [ %tmp40, %if45 ], [ %tmp83, %if74 ], [ %pos.1, %else ] ; <i32> [#uses=1]
14884 %tmp87 = add i32 %foreachkey.0, 1 ; <i32> [#uses=1]
14885 br label %foreachcond
14886
14887foreachend: ; preds = %foreachcond
14888 %tmp93 = insertvalue %"byte[]" undef, i32 %pos.1, 0 ; <%"byte[]"> [#uses=1]
14889 %tmp94 = insertvalue %"byte[]" %tmp93, i8* %output_arg101, 1 ; <%"byte[]"> [#uses=1]
14890 ret %"byte[]" %tmp94
14891}
14892
14893define weak_odr fastcc %"byte[]" @_D5tango4text7convert7Integer15__T6formatTaTiZ6formatFAaiAaZAa(%"byte[]" %dst_arg, i32 %i_arg, %"byte[]" %fmt_arg) {
14894entry:
14895 %tmp2 = sext i32 %i_arg to i64 ; <i64> [#uses=1]
14896 %fmt_arg41.i.i = extractvalue %"byte[]" %fmt_arg, 0 ; <i32> [#uses=3]
14897 %fmt_arg42.i.i = extractvalue %"byte[]" %fmt_arg, 1 ; <i8*> [#uses=2]
14898 %tmp1.i.i = icmp eq i32 %fmt_arg41.i.i, 0 ; <i1> [#uses=1]
14899 br i1 %tmp1.i.i, label %_D5tango4text7convert7Integer13__T6formatTaZ6formatFAalAaZAa.exit, label %else.i.i
14900
14901else.i.i: ; preds = %entry
14902 %tmp4.i.i = load i8* %fmt_arg42.i.i ; <i8> [#uses=2]
14903 %tmp7.i.i = icmp ugt i32 %fmt_arg41.i.i, 1 ; <i1> [#uses=1]
14904 br i1 %tmp7.i.i, label %forcond.i.i, label %_D5tango4text7convert7Integer13__T6formatTaZ6formatFAalAaZAa.exit
14905
14906forcond.i.i: ; preds = %forinc.i.i, %else.i.i
14907 %width.1.i = phi i32 [ 0, %else.i.i ], [ %width.0.i, %forinc.i.i ] ; <i32> [#uses=3]
14908 %pre.1.i = phi i8 [ -1, %else.i.i ], [ %pre.0.i, %forinc.i.i ] ; <i8> [#uses=2]
14909 %j.0.i.i = phi i32 [ %tmp38.i.i, %forinc.i.i ], [ 1, %else.i.i ] ; <i32> [#uses=2]
14910 %fmt_arg42.pn.i.i = phi i8* [ %p.0.i.i, %forinc.i.i ], [ %fmt_arg42.i.i, %else.i.i ] ; <i8*> [#uses=1]
14911 %p.0.i.i = getelementptr i8* %fmt_arg42.pn.i.i, i32 1 ; <i8*> [#uses=2]
14912 %tmp16.i.i = icmp ult i32 %j.0.i.i, %fmt_arg41.i.i ; <i1> [#uses=1]
14913 br i1 %tmp16.i.i, label %forbody.i.i, label %_D5tango4text7convert7Integer13__T6formatTaZ6formatFAalAaZAa.exit
14914
14915forbody.i.i: ; preds = %forcond.i.i
14916 %tmp18.i.i = load i8* %p.0.i.i ; <i8> [#uses=3]
14917 %tmp18.i.i.off = add i8 %tmp18.i.i, -48 ; <i8> [#uses=1]
14918 %or.cond = icmp ugt i8 %tmp18.i.i.off, 9 ; <i1> [#uses=1]
14919 br i1 %or.cond, label %forinc.i.i, label %if25.i.i
14920
14921if25.i.i: ; preds = %forbody.i.i
14922 %tmp29.i.i = mul i32 %width.1.i, 10 ; <i32> [#uses=1]
14923 %tmp32.i.i = zext i8 %tmp18.i.i to i32 ; <i32> [#uses=1]
14924 %tmp33.i.i = add i32 %tmp32.i.i, -48 ; <i32> [#uses=1]
14925 %tmp34.i.i = add i32 %tmp29.i.i, %tmp33.i.i ; <i32> [#uses=1]
14926 br label %forinc.i.i
14927
14928forinc.i.i: ; preds = %if25.i.i, %forbody.i.i
14929 %width.0.i = phi i32 [ %tmp34.i.i, %if25.i.i ], [ %width.1.i, %forbody.i.i ] ; <i32> [#uses=1]
14930 %pre.0.i = phi i8 [ %pre.1.i, %if25.i.i ], [ %tmp18.i.i, %forbody.i.i ] ; <i8> [#uses=1]
14931 %tmp38.i.i = add i32 %j.0.i.i, 1 ; <i32> [#uses=1]
14932 br label %forcond.i.i
14933
14934_D5tango4text7convert7Integer13__T6formatTaZ6formatFAalAaZAa.exit: ; preds = %forcond.i.i, %else.i.i, %entry
14935 %width.3.i = phi i32 [ 0, %entry ], [ %width.1.i, %forcond.i.i ], [ 0, %else.i.i ] ; <i32> [#uses=1]
14936 %type.0.i = phi i8 [ 100, %entry ], [ %tmp4.i.i, %forcond.i.i ], [ %tmp4.i.i, %else.i.i ] ; <i8> [#uses=1]
14937 %pre.3.i = phi i8 [ -1, %entry ], [ %pre.1.i, %forcond.i.i ], [ -1, %else.i.i ] ; <i8> [#uses=1]
14938 %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]
14939 ret %"byte[]" %tmp6.i
14940}
14941
14942define weak_odr fastcc i32 @_D5tango4core5Array14__T4findTAaTaZ4findFAaaZk(%"byte[]" %buf_arg, i8 %pat_arg) nounwind readonly {
14943entry:
14944 %buf_arg16.i = extractvalue %"byte[]" %buf_arg, 0 ; <i32> [#uses=2]
14945 %buf_arg17.i = extractvalue %"byte[]" %buf_arg, 1 ; <i8*> [#uses=1]
14946 br label %foreachcond.i
14947
14948foreachcond.i: ; preds = %foreachnext.i, %entry
14949 %pos.0.i = phi i32 [ 0, %entry ], [ %tmp12.i, %foreachnext.i ] ; <i32> [#uses=4]
14950 %tmp3.i = icmp ult i32 %pos.0.i, %buf_arg16.i ; <i1> [#uses=1]
14951 br i1 %tmp3.i, label %foreachbody.i, label %_D5tango4core5Array12__T5find_TaZ2fnFAaaS5tango4core5Array14__T7IsEqualTaZ7IsEqualZk.exit
14952
14953foreachbody.i: ; preds = %foreachcond.i
14954 %tmp5.i = getelementptr i8* %buf_arg17.i, i32 %pos.0.i ; <i8*> [#uses=1]
14955 %tmp6.i = load i8* %tmp5.i ; <i8> [#uses=1]
14956 %tmp4.i.i = icmp eq i8 %tmp6.i, %pat_arg ; <i1> [#uses=1]
14957 br i1 %tmp4.i.i, label %_D5tango4core5Array12__T5find_TaZ2fnFAaaS5tango4core5Array14__T7IsEqualTaZ7IsEqualZk.exit, label %foreachnext.i
14958
14959foreachnext.i: ; preds = %foreachbody.i
14960 %tmp12.i = add i32 %pos.0.i, 1 ; <i32> [#uses=1]
14961 br label %foreachcond.i
14962
14963_D5tango4core5Array12__T5find_TaZ2fnFAaaS5tango4core5Array14__T7IsEqualTaZ7IsEqualZk.exit: ; preds = %foreachbody.i, %foreachcond.i
14964 %tmp23 = phi i32 [ %pos.0.i, %foreachbody.i ], [ %buf_arg16.i, %foreachcond.i ] ; <i32> [#uses=1]
14965 ret i32 %tmp23
14966}
14967
14968define weak_odr fastcc i1 @_D5tango4core5Array14__T7IsEqualTaZ7IsEqual6opCallFaaZb(i8 %p1_arg, i8 %p2_arg) nounwind readnone {
14969entry:
14970 %tmp4 = icmp eq i8 %p1_arg, %p2_arg ; <i1> [#uses=1]
14971 ret i1 %tmp4
14972}
14973
14974define 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 {
14975entry:
14976 %buf_arg16 = extractvalue %"byte[]" %buf_arg, 0 ; <i32> [#uses=2]
14977 %buf_arg17 = extractvalue %"byte[]" %buf_arg, 1 ; <i8*> [#uses=1]
14978 br label %foreachcond
14979
14980foreachcond: ; preds = %foreachnext, %entry
14981 %pos.0 = phi i32 [ 0, %entry ], [ %tmp12, %foreachnext ] ; <i32> [#uses=4]
14982 %tmp3 = icmp ult i32 %pos.0, %buf_arg16 ; <i1> [#uses=1]
14983 br i1 %tmp3, label %foreachbody, label %foreachend
14984
14985foreachbody: ; preds = %foreachcond
14986 %tmp5 = getelementptr i8* %buf_arg17, i32 %pos.0 ; <i8*> [#uses=1]
14987 %tmp6 = load i8* %tmp5 ; <i8> [#uses=1]
14988 %tmp4.i = icmp eq i8 %tmp6, %pat_arg ; <i1> [#uses=1]
14989 br i1 %tmp4.i, label %if, label %foreachnext
14990
14991if: ; preds = %foreachbody
14992 ret i32 %pos.0
14993
14994foreachnext: ; preds = %foreachbody
14995 %tmp12 = add i32 %pos.0, 1 ; <i32> [#uses=1]
14996 br label %foreachcond
14997
14998foreachend: ; preds = %foreachcond
14999 ret i32 %buf_arg16
15000}
15001
15002define 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 {
15003entry:
15004 %buf_arg80 = extractvalue %"byte[]" %buf_arg, 0 ; <i32> [#uses=7]
15005 %buf_arg81 = extractvalue %"byte[]" %buf_arg, 1 ; <i8*> [#uses=2]
15006 %pat_arg78 = extractvalue %"byte[]" %pat_arg, 0 ; <i32> [#uses=5]
15007 %pat_arg79 = extractvalue %"byte[]" %pat_arg, 1 ; <i8*> [#uses=2]
15008 %tmp1 = icmp eq i32 %buf_arg80, 0 ; <i1> [#uses=1]
15009 %tmp4 = icmp eq i32 %pat_arg78, 0 ; <i1> [#uses=1]
15010 %or.cond = or i1 %tmp1, %tmp4 ; <i1> [#uses=1]
15011 %tmp11 = icmp ult i32 %buf_arg80, %pat_arg78 ; <i1> [#uses=1]
15012 %or.cond82 = or i1 %or.cond, %tmp11 ; <i1> [#uses=1]
15013 br i1 %or.cond82, label %if, label %endif
15014
15015if: ; preds = %entry
15016 ret i32 %buf_arg80
15017
15018endif: ; preds = %entry
15019 %tmp19 = sub i32 %buf_arg80, %pat_arg78 ; <i32> [#uses=1]
15020 %tmp20 = add i32 %tmp19, 1 ; <i32> [#uses=1]
15021 br label %forcond
15022
15023forcond: ; preds = %forinc, %endif
15024 %pos.2 = phi i32 [ 0, %endif ], [ %tmp73, %forinc ] ; <i32> [#uses=4]
15025 %tmp23 = icmp ult i32 %pos.2, %tmp20 ; <i1> [#uses=1]
15026 br i1 %tmp23, label %forbody, label %endfor
15027
15028forbody: ; preds = %forcond
15029 %tmp26 = getelementptr i8* %buf_arg81, i32 %pos.2 ; <i8*> [#uses=1]
15030 %tmp27 = load i8* %tmp26 ; <i8> [#uses=1]
15031 %tmp31 = load i8* %pat_arg79 ; <i8> [#uses=1]
15032 %tmp4.i = icmp eq i8 %tmp27, %tmp31 ; <i1> [#uses=1]
15033 br i1 %tmp4.i, label %dowhile, label %forinc
15034
15035dowhile: ; preds = %dowhilecond, %forbody
15036 %pos.0 = phi i32 [ %tmp49, %dowhilecond ], [ %pos.2, %forbody ] ; <i32> [#uses=2]
15037 %mat.0 = phi i32 [ %tmp36, %dowhilecond ], [ 0, %forbody ] ; <i32> [#uses=1]
15038 %tmp36 = add i32 %mat.0, 1 ; <i32> [#uses=4]
15039 %tmp39 = icmp ult i32 %tmp36, %pat_arg78 ; <i1> [#uses=1]
15040 br i1 %tmp39, label %endif41, label %if40
15041
15042if40: ; preds = %dowhile
15043 %tmp45 = sub i32 %pos.0, %pat_arg78 ; <i32> [#uses=1]
15044 %tmp46 = add i32 %tmp45, 1 ; <i32> [#uses=1]
15045 ret i32 %tmp46
15046
15047endif41: ; preds = %dowhile
15048 %tmp49 = add i32 %pos.0, 1 ; <i32> [#uses=4]
15049 %tmp52 = icmp ult i32 %tmp49, %buf_arg80 ; <i1> [#uses=1]
15050 br i1 %tmp52, label %dowhilecond, label %if53
15051
15052if53: ; preds = %endif41
15053 ret i32 %buf_arg80
15054
15055dowhilecond: ; preds = %endif41
15056 %tmp61 = getelementptr i8* %buf_arg81, i32 %tmp49 ; <i8*> [#uses=1]
15057 %tmp62 = load i8* %tmp61 ; <i8> [#uses=1]
15058 %tmp66 = getelementptr i8* %pat_arg79, i32 %tmp36 ; <i8*> [#uses=1]
15059 %tmp67 = load i8* %tmp66 ; <i8> [#uses=1]
15060 %tmp4.i83 = icmp eq i8 %tmp62, %tmp67 ; <i1> [#uses=1]
15061 br i1 %tmp4.i83, label %dowhile, label %enddowhile
15062
15063enddowhile: ; preds = %dowhilecond
15064 %tmp71 = sub i32 %tmp49, %tmp36 ; <i32> [#uses=1]
15065 br label %forinc
15066
15067forinc: ; preds = %enddowhile, %forbody
15068 %pos.1 = phi i32 [ %tmp71, %enddowhile ], [ %pos.2, %forbody ] ; <i32> [#uses=1]
15069 %tmp73 = add i32 %pos.1, 1 ; <i32> [#uses=1]
15070 br label %forcond
15071
15072endfor: ; preds = %forcond
15073 ret i32 %buf_arg80
15074}
15075
15076define weak_odr fastcc i1 @_D5tango4text4Util15__T8containsTaZ8containsFAaaZb(%"byte[]" %source_arg, i8 %match_arg) nounwind readonly {
15077entry:
15078 %source_arg7 = extractvalue %"byte[]" %source_arg, 0 ; <i32> [#uses=3]
15079 %source_arg8 = extractvalue %"byte[]" %source_arg, 1 ; <i8*> [#uses=2]
15080 %tmp2.i = getelementptr i8* %source_arg8, i32 -1 ; <i8*> [#uses=1]
15081 br label %forcond.i
15082
15083forcond.i: ; preds = %forbody.i, %entry
15084 %len.0.i = phi i32 [ %source_arg7, %entry ], [ %tmp4.i, %forbody.i ] ; <i32> [#uses=2]
15085 %p.0.i = phi i8* [ %tmp2.i, %entry ], [ %tmp7.i, %forbody.i ] ; <i8*> [#uses=1]
15086 %tmp4.i = add i32 %len.0.i, -1 ; <i32> [#uses=1]
15087 %tmp5.i = icmp eq i32 %len.0.i, 0 ; <i1> [#uses=1]
15088 br i1 %tmp5.i, label %_D5tango4text4Util14__T7indexOfTaZ7indexOfFPaakZk.exit, label %forbody.i
15089
15090forbody.i: ; preds = %forcond.i
15091 %tmp7.i = getelementptr i8* %p.0.i, i32 1 ; <i8*> [#uses=3]
15092 %tmp8.i = load i8* %tmp7.i ; <i8> [#uses=1]
15093 %tmp12.i = icmp eq i8 %tmp8.i, %match_arg ; <i1> [#uses=1]
15094 br i1 %tmp12.i, label %if.i, label %forcond.i
15095
15096if.i: ; preds = %forbody.i
15097 %tmp15.i = ptrtoint i8* %tmp7.i to i32 ; <i32> [#uses=1]
15098 %tmp16.i = ptrtoint i8* %source_arg8 to i32 ; <i32> [#uses=1]
15099 %tmp17.i = sub i32 %tmp15.i, %tmp16.i ; <i32> [#uses=1]
15100 br label %_D5tango4text4Util14__T7indexOfTaZ7indexOfFPaakZk.exit
15101
15102_D5tango4text4Util14__T7indexOfTaZ7indexOfFPaakZk.exit: ; preds = %if.i, %forcond.i
15103 %tmp39 = phi i32 [ %tmp17.i, %if.i ], [ %source_arg7, %forcond.i ] ; <i32> [#uses=1]
15104 %tmp6 = icmp ne i32 %tmp39, %source_arg7 ; <i1> [#uses=1]
15105 ret i1 %tmp6
15106}
15107
15108define weak_odr fastcc i32 @_D5tango4text7convert9TimeStamp14__T7dostimeTaZ7dostimeFAaKS5tango4time4Time4TimeZi(%"byte[]" %src_arg, %tango.time.Time.Time* nocapture %value_arg) {
15109entry:
15110 %.frame = alloca %nest.dostime, align 8 ; <%nest.dostime*> [#uses=6]
15111 %tod = alloca %tango.time.Time.TimeOfDay, align 4 ; <%tango.time.Time.TimeOfDay*> [#uses=4]
15112 %.rettmp = alloca %tango.time.Time.Time, align 8 ; <%tango.time.Time.Time*> [#uses=2]
15113 %src_arg97 = extractvalue %"byte[]" %src_arg, 1 ; <i8*> [#uses=3]
15114 %date = getelementptr %nest.dostime* %.frame, i32 0, i32 0 ; <%tango.time.Time.Date*> [#uses=1]
15115 %tmp = bitcast %tango.time.Time.TimeOfDay* %tod to i8* ; <i8*> [#uses=1]
15116 call void @llvm.memset.i32(i8* %tmp, i8 0, i32 16, i32 4)
15117 %tmp1 = bitcast %nest.dostime* %.frame to i8* ; <i8*> [#uses=1]
15118 call void @llvm.memset.i32(i8* %tmp1, i8 0, i32 24, i32 8)
15119 %tmp1.i125 = getelementptr %nest.dostime* %.frame, i32 0, i32 0, i32 3 ; <i32*> [#uses=1]
15120 br label %whilecond.i.i
15121
15122whilecond.i.i: ; preds = %whilebody.i.i, %entry
15123 %p.1 = phi i8* [ %src_arg97, %entry ], [ %tmp11.i.i, %whilebody.i.i ] ; <i8*> [#uses=3]
15124 %tmp10.i.i = phi i8* [ %tmp11.i.i, %whilebody.i.i ], [ %src_arg97, %entry ] ; <i8*> [#uses=3]
15125 %value.0.i.i = phi i32 [ 0, %entry ], [ %tmp15.i.i, %whilebody.i.i ] ; <i32> [#uses=3]
15126 %tmp1.i.i = load i8* %tmp10.i.i ; <i8> [#uses=1]
15127 %tmp1.i.off.i = add i8 %tmp1.i.i, -48 ; <i8> [#uses=1]
15128 %or.cond.i = icmp ult i8 %tmp1.i.off.i, 10 ; <i1> [#uses=1]
15129 br i1 %or.cond.i, label %whilebody.i.i, label %_D5tango4text7convert9TimeStamp15__T8parseIntTaZ8parseIntFKPaZi.exit.i
15130
15131whilebody.i.i: ; preds = %whilecond.i.i
15132 %tmp9.i.i = mul i32 %value.0.i.i, 10 ; <i32> [#uses=1]
15133 %tmp11.i.i = getelementptr i8* %tmp10.i.i, i32 1 ; <i8*> [#uses=2]
15134 %tmp12.i.i = load i8* %tmp10.i.i ; <i8> [#uses=1]
15135 %tmp13.i.i = zext i8 %tmp12.i.i to i32 ; <i32> [#uses=1]
15136 %tmp14.i.i = add i32 %tmp9.i.i, %tmp13.i.i ; <i32> [#uses=1]
15137 %tmp15.i.i = add i32 %tmp14.i.i, -48 ; <i32> [#uses=1]
15138 br label %whilecond.i.i
15139
15140_D5tango4text7convert9TimeStamp15__T8parseIntTaZ8parseIntFKPaZi.exit.i: ; preds = %whilecond.i.i
15141 store i32 %value.0.i.i, i32* %tmp1.i125
15142 %tmp3.i126 = icmp eq i32 %value.0.i.i, 0 ; <i1> [#uses=1]
15143 br i1 %tmp3.i126, label %_D5tango4text7convert9TimeStamp14__T7dostimeTaZ7dostimeFAaKS5tango4time4Time4TimeZi2dtMFKPaZb.exit, label %andand.i127
15144
15145andand.i127: ; preds = %_D5tango4text7convert9TimeStamp15__T8parseIntTaZ8parseIntFKPaZi.exit.i
15146 %tmp5.i = getelementptr i8* %p.1, i32 1 ; <i8*> [#uses=3]
15147 %tmp6.i = load i8* %p.1 ; <i8> [#uses=1]
15148 %tmp8.i = icmp eq i8 %tmp6.i, 45 ; <i1> [#uses=1]
15149 br i1 %tmp8.i, label %andand9.i, label %_D5tango4text7convert9TimeStamp14__T7dostimeTaZ7dostimeFAaKS5tango4time4Time4TimeZi2dtMFKPaZb.exit
15150
15151andand9.i: ; preds = %andand.i127
15152 %tmp13.i128 = getelementptr %nest.dostime* %.frame, i32 0, i32 0, i32 1 ; <i32*> [#uses=1]
15153 br label %whilecond.i58.i
15154
15155whilecond.i58.i: ; preds = %whilebody.i65.i, %andand9.i
15156 %p.4 = phi i8* [ %tmp5.i, %andand9.i ], [ %tmp11.i60.i, %whilebody.i65.i ] ; <i8*> [#uses=3]
15157 %tmp10.i54.i = phi i8* [ %tmp11.i60.i, %whilebody.i65.i ], [ %tmp5.i, %andand9.i ] ; <i8*> [#uses=3]
15158 %value.0.i55.i = phi i32 [ 0, %andand9.i ], [ %tmp15.i64.i, %whilebody.i65.i ] ; <i32> [#uses=3]
15159 %tmp1.i56.i = load i8* %tmp10.i54.i ; <i8> [#uses=1]
15160 %tmp1.i56.off.i = add i8 %tmp1.i56.i, -48 ; <i8> [#uses=1]
15161 %or.cond72.i = icmp ult i8 %tmp1.i56.off.i, 10 ; <i1> [#uses=1]
15162 br i1 %or.cond72.i, label %whilebody.i65.i, label %_D5tango4text7convert9TimeStamp15__T8parseIntTaZ8parseIntFKPaZi.exit70.i
15163
15164whilebody.i65.i: ; preds = %whilecond.i58.i
15165 %tmp9.i59.i = mul i32 %value.0.i55.i, 10 ; <i32> [#uses=1]
15166 %tmp11.i60.i = getelementptr i8* %tmp10.i54.i, i32 1 ; <i8*> [#uses=2]
15167 %tmp12.i61.i = load i8* %tmp10.i54.i ; <i8> [#uses=1]
15168 %tmp13.i62.i = zext i8 %tmp12.i61.i to i32 ; <i32> [#uses=1]
15169 %tmp14.i63.i = add i32 %tmp9.i59.i, %tmp13.i62.i ; <i32> [#uses=1]
15170 %tmp15.i64.i = add i32 %tmp14.i63.i, -48 ; <i32> [#uses=1]
15171 br label %whilecond.i58.i
15172
15173_D5tango4text7convert9TimeStamp15__T8parseIntTaZ8parseIntFKPaZi.exit70.i: ; preds = %whilecond.i58.i
15174 store i32 %value.0.i55.i, i32* %tmp13.i128
15175 %tmp15.i129 = icmp eq i32 %value.0.i55.i, 0 ; <i1> [#uses=1]
15176 br i1 %tmp15.i129, label %_D5tango4text7convert9TimeStamp14__T7dostimeTaZ7dostimeFAaKS5tango4time4Time4TimeZi2dtMFKPaZb.exit, label %andand16.i
15177
15178andand16.i: ; preds = %_D5tango4text7convert9TimeStamp15__T8parseIntTaZ8parseIntFKPaZi.exit70.i
15179 %tmp19.i = getelementptr i8* %p.4, i32 1 ; <i8*> [#uses=3]
15180 %tmp20.i = load i8* %p.4 ; <i8> [#uses=1]
15181 %tmp22.i = icmp eq i8 %tmp20.i, 45 ; <i1> [#uses=1]
15182 br i1 %tmp22.i, label %andand23.i, label %_D5tango4text7convert9TimeStamp14__T7dostimeTaZ7dostimeFAaKS5tango4time4Time4TimeZi2dtMFKPaZb.exit
15183
15184andand23.i: ; preds = %andand16.i
15185 %tmp27.i = getelementptr %nest.dostime* %.frame, i32 0, i32 0, i32 2 ; <i32*> [#uses=1]
15186 br label %whilecond.i39.i
15187
15188whilecond.i39.i: ; preds = %whilebody.i46.i, %andand23.i
15189 %p.5 = phi i8* [ %tmp19.i, %andand23.i ], [ %tmp11.i41.i, %whilebody.i46.i ] ; <i8*> [#uses=1]
15190 %tmp10.i35.i = phi i8* [ %tmp11.i41.i, %whilebody.i46.i ], [ %tmp19.i, %andand23.i ] ; <i8*> [#uses=3]
15191 %value.0.i36.i = phi i32 [ 0, %andand23.i ], [ %tmp15.i45.i, %whilebody.i46.i ] ; <i32> [#uses=2]
15192 %tmp1.i37.i = load i8* %tmp10.i35.i ; <i8> [#uses=1]
15193 %tmp1.i37.off.i = add i8 %tmp1.i37.i, -48 ; <i8> [#uses=1]
15194 %or.cond73.i = icmp ult i8 %tmp1.i37.off.i, 10 ; <i1> [#uses=1]
15195 br i1 %or.cond73.i, label %whilebody.i46.i, label %_D5tango4text7convert9TimeStamp15__T8parseIntTaZ8parseIntFKPaZi.exit51.i
15196
15197whilebody.i46.i: ; preds = %whilecond.i39.i
15198 %tmp9.i40.i = mul i32 %value.0.i36.i, 10 ; <i32> [#uses=1]
15199 %tmp11.i41.i = getelementptr i8* %tmp10.i35.i, i32 1 ; <i8*> [#uses=2]
15200 %tmp12.i42.i = load i8* %tmp10.i35.i ; <i8> [#uses=1]
15201 %tmp13.i43.i = zext i8 %tmp12.i42.i to i32 ; <i32> [#uses=1]
15202 %tmp14.i44.i = add i32 %tmp9.i40.i, %tmp13.i43.i ; <i32> [#uses=1]
15203 %tmp15.i45.i = add i32 %tmp14.i44.i, -48 ; <i32> [#uses=1]
15204 br label %whilecond.i39.i
15205
15206_D5tango4text7convert9TimeStamp15__T8parseIntTaZ8parseIntFKPaZi.exit51.i: ; preds = %whilecond.i39.i
15207 store i32 %value.0.i36.i, i32* %tmp27.i, align 8
15208 br label %_D5tango4text7convert9TimeStamp14__T7dostimeTaZ7dostimeFAaKS5tango4time4Time4TimeZi2dtMFKPaZb.exit
15209
15210_D5tango4text7convert9TimeStamp14__T7dostimeTaZ7dostimeFAaKS5tango4time4Time4TimeZi2dtMFKPaZb.exit: ; preds = %_D5tango4text7convert9TimeStamp15__T8parseIntTaZ8parseIntFKPaZi.exit51.i, %andand16.i, %_D5tango4text7convert9TimeStamp15__T8parseIntTaZ8parseIntFKPaZi.exit70.i, %andand.i127, %_D5tango4text7convert9TimeStamp15__T8parseIntTaZ8parseIntFKPaZi.exit.i
15211 %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]
15212 %tmp8 = getelementptr i8* %p.3, i32 1 ; <i8*> [#uses=2]
15213 %tmp9 = load i8* %p.3 ; <i8> [#uses=1]
15214 %tmp11 = icmp eq i8 %tmp9, 32 ; <i1> [#uses=1]
15215 br i1 %tmp11, label %andand12, label %endif
15216
15217andand12: ; preds = %_D5tango4text7convert9TimeStamp14__T7dostimeTaZ7dostimeFAaKS5tango4time4Time4TimeZi2dtMFKPaZb.exit
15218 %tmp14 = getelementptr %tango.time.Time.TimeOfDay* %tod, i32 0, i32 0 ; <i32*> [#uses=2]
15219 br label %whilecond.i
15220
15221whilecond.i: ; preds = %whilebody.i, %andand12
15222 %tmp20 = phi i8* [ %tmp11.i, %whilebody.i ], [ %tmp8, %andand12 ] ; <i8*> [#uses=2]
15223 %tmp10.i = phi i8* [ %tmp11.i, %whilebody.i ], [ %tmp8, %andand12 ] ; <i8*> [#uses=3]
15224 %tmp51 = phi i32 [ 0, %andand12 ], [ %tmp15.i, %whilebody.i ] ; <i32> [#uses=4]
15225 %tmp1.i = load i8* %tmp10.i ; <i8> [#uses=1]
15226 %tmp1.i.off = add i8 %tmp1.i, -48 ; <i8> [#uses=1]
15227 %or.cond = icmp ult i8 %tmp1.i.off, 10 ; <i1> [#uses=1]
15228 br i1 %or.cond, label %whilebody.i, label %_D5tango4text7convert9TimeStamp15__T8parseIntTaZ8parseIntFKPaZi.exit
15229
15230whilebody.i: ; preds = %whilecond.i
15231 %tmp9.i = mul i32 %tmp51, 10 ; <i32> [#uses=1]
15232 %tmp11.i = getelementptr i8* %tmp10.i, i32 1 ; <i8*> [#uses=2]
15233 %tmp12.i = load i8* %tmp10.i ; <i8> [#uses=1]
15234 %tmp13.i = zext i8 %tmp12.i to i32 ; <i32> [#uses=1]
15235 %tmp14.i = add i32 %tmp9.i, %tmp13.i ; <i32> [#uses=1]
15236 %tmp15.i = add i32 %tmp14.i, -48 ; <i32> [#uses=1]
15237 br label %whilecond.i
15238
15239_D5tango4text7convert9TimeStamp15__T8parseIntTaZ8parseIntFKPaZi.exit: ; preds = %whilecond.i
15240 store i32 %tmp51, i32* %tmp14
15241 %tmp16 = icmp eq i32 %tmp51, 0 ; <i1> [#uses=1]
15242 br i1 %tmp16, label %endif, label %andand18
15243
15244andand18: ; preds = %_D5tango4text7convert9TimeStamp15__T8parseIntTaZ8parseIntFKPaZi.exit
15245 %tmp21 = getelementptr i8* %tmp20, i32 1 ; <i8*> [#uses=3]
15246 %tmp22 = load i8* %tmp20 ; <i8> [#uses=1]
15247 %tmp24 = icmp eq i8 %tmp22, 58 ; <i1> [#uses=1]
15248 br i1 %tmp24, label %andand26, label %endif
15249
15250andand26: ; preds = %andand18
15251 %tmp28 = getelementptr %tango.time.Time.TimeOfDay* %tod, i32 0, i32 1 ; <i32*> [#uses=1]
15252 br label %whilecond.i107
15253
15254whilecond.i107: ; preds = %whilebody.i114, %andand26
15255 %p.0 = phi i8* [ %tmp21, %andand26 ], [ %tmp11.i109, %whilebody.i114 ] ; <i8*> [#uses=1]
15256 %tmp34 = phi i8* [ %tmp11.i109, %whilebody.i114 ], [ %tmp21, %andand26 ] ; <i8*> [#uses=1]
15257 %tmp10.i103 = phi i8* [ %tmp11.i109, %whilebody.i114 ], [ %tmp21, %andand26 ] ; <i8*> [#uses=3]
15258 %value.0.i104 = phi i32 [ 0, %andand26 ], [ %tmp15.i113, %whilebody.i114 ] ; <i32> [#uses=3]
15259 %tmp1.i105 = load i8* %tmp10.i103 ; <i8> [#uses=1]
15260 %tmp1.i105.off = add i8 %tmp1.i105, -48 ; <i8> [#uses=1]
15261 %or.cond130 = icmp ult i8 %tmp1.i105.off, 10 ; <i1> [#uses=1]
15262 br i1 %or.cond130, label %whilebody.i114, label %_D5tango4text7convert9TimeStamp15__T8parseIntTaZ8parseIntFKPaZi.exit119
15263
15264whilebody.i114: ; preds = %whilecond.i107
15265 %tmp9.i108 = mul i32 %value.0.i104, 10 ; <i32> [#uses=1]
15266 %tmp11.i109 = getelementptr i8* %tmp10.i103, i32 1 ; <i8*> [#uses=3]
15267 %tmp12.i110 = load i8* %tmp10.i103 ; <i8> [#uses=1]
15268 %tmp13.i111 = zext i8 %tmp12.i110 to i32 ; <i32> [#uses=1]
15269 %tmp14.i112 = add i32 %tmp9.i108, %tmp13.i111 ; <i32> [#uses=1]
15270 %tmp15.i113 = add i32 %tmp14.i112, -48 ; <i32> [#uses=1]
15271 br label %whilecond.i107
15272
15273_D5tango4text7convert9TimeStamp15__T8parseIntTaZ8parseIntFKPaZi.exit119: ; preds = %whilecond.i107
15274 store i32 %value.0.i104, i32* %tmp28
15275 %tmp30 = icmp eq i32 %value.0.i104, 0 ; <i1> [#uses=1]
15276 br i1 %tmp30, label %endif, label %andand32
15277
15278andand32: ; preds = %_D5tango4text7convert9TimeStamp15__T8parseIntTaZ8parseIntFKPaZi.exit119
15279 %tmp35 = load i8* %tmp34 ; <i8> [#uses=1]
15280 switch i8 %tmp35, label %endif [
15281 i8 80, label %if47
15282 i8 65, label %endif48
15283 ]
15284
15285if47: ; preds = %andand32
15286 %tmp52 = add i32 %tmp51, 12 ; <i32> [#uses=1]
15287 store i32 %tmp52, i32* %tmp14
15288 br label %endif48
15289
15290endif48: ; preds = %if47, %andand32
15291 %tmp53 = getelementptr %nest.dostime* %.frame, i32 0, i32 0, i32 2 ; <i32*> [#uses=3]
15292 %tmp54 = load i32* %tmp53, align 8 ; <i32> [#uses=4]
15293 %tmp55 = icmp ult i32 %tmp54, 70 ; <i1> [#uses=1]
15294 br i1 %tmp55, label %if56, label %else
15295
15296if56: ; preds = %endif48
15297 %tmp61 = add i32 %tmp54, 2000 ; <i32> [#uses=1]
15298 store i32 %tmp61, i32* %tmp53, align 8
15299 br label %endif57
15300
15301else: ; preds = %endif48
15302 %tmp64 = icmp ult i32 %tmp54, 100 ; <i1> [#uses=1]
15303 br i1 %tmp64, label %if65, label %endif57
15304
15305if65: ; preds = %else
15306 %tmp70 = add i32 %tmp54, 1900 ; <i32> [#uses=1]
15307 store i32 %tmp70, i32* %tmp53, align 8
15308 br label %endif57
15309
15310endif57: ; preds = %if65, %else, %if56
15311 %0 = load %tango.time.chrono.Gregorian.Gregorian** @_D5tango4time6chrono9Gregorian9Gregorian7genericC5tango4time6chrono9Gregorian9Gregorian ; <%tango.time.chrono.Gregorian.Gregorian*> [#uses=2]
15312 %tmp71 = bitcast %tango.time.chrono.Gregorian.Gregorian* %0 to %tango.time.chrono.Calendar.Calendar* ; <%tango.time.chrono.Calendar.Calendar*> [#uses=1]
15313 %tmp72 = bitcast %tango.time.chrono.Gregorian.Gregorian* %0 to %tango.time.chrono.Calendar.Calendar.__vtbl** ; <%tango.time.chrono.Calendar.Calendar.__vtbl**> [#uses=1]
15314 %tmp73 = load %tango.time.chrono.Calendar.Calendar.__vtbl** %tmp72 ; <%tango.time.chrono.Calendar.Calendar.__vtbl*> [#uses=1]
15315 %"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]
15316 %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]
15317 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)
15318 %tmp7698 = getelementptr %tango.time.Time.Time* %.rettmp, i32 0, i32 0 ; <i64*> [#uses=1]
15319 %tmp100 = load i64* %tmp7698, align 8 ; <i64> [#uses=1]
15320 %1 = getelementptr %tango.time.Time.Time* %value_arg, i32 0, i32 0 ; <i64*> [#uses=1]
15321 store i64 %tmp100, i64* %1
15322 %tmp78 = getelementptr i8* %p.0, i32 2 ; <i8*> [#uses=1]
15323 %tmp81 = ptrtoint i8* %tmp78 to i32 ; <i32> [#uses=1]
15324 %tmp82 = ptrtoint i8* %src_arg97 to i32 ; <i32> [#uses=1]
15325 %tmp83 = sub i32 %tmp81, %tmp82 ; <i32> [#uses=1]
15326 ret i32 %tmp83
15327
15328endif: ; preds = %andand32, %_D5tango4text7convert9TimeStamp15__T8parseIntTaZ8parseIntFKPaZi.exit119, %andand18, %_D5tango4text7convert9TimeStamp15__T8parseIntTaZ8parseIntFKPaZi.exit, %_D5tango4text7convert9TimeStamp14__T7dostimeTaZ7dostimeFAaKS5tango4time4Time4TimeZi2dtMFKPaZb.exit
15329 ret i32 0
15330}
15331
15332define weak_odr fastcc i32 @_D5tango4text7convert9TimeStamp15__T8parseIntTaZ8parseIntFKPaZi(i8** nocapture %p_arg) nounwind {
15333entry:
15334 %tmp.pre = load i8** %p_arg ; <i8*> [#uses=1]
15335 br label %whilecond
15336
15337whilecond: ; preds = %whilebody, %entry
15338 %tmp10 = phi i8* [ %tmp11, %whilebody ], [ %tmp.pre, %entry ] ; <i8*> [#uses=3]
15339 %value.0 = phi i32 [ 0, %entry ], [ %tmp15, %whilebody ] ; <i32> [#uses=3]
15340 %tmp1 = load i8* %tmp10 ; <i8> [#uses=2]
15341 %tmp3 = icmp ult i8 %tmp1, 48 ; <i1> [#uses=1]
15342 br i1 %tmp3, label %endwhile.critedge, label %andand
15343
15344whilebody: ; preds = %andand
15345 %tmp9 = mul i32 %value.0, 10 ; <i32> [#uses=1]
15346 %tmp11 = getelementptr i8* %tmp10, i32 1 ; <i8*> [#uses=2]
15347 store i8* %tmp11, i8** %p_arg
15348 %tmp12 = load i8* %tmp10 ; <i8> [#uses=1]
15349 %tmp13 = zext i8 %tmp12 to i32 ; <i32> [#uses=1]
15350 %tmp14 = add i32 %tmp9, %tmp13 ; <i32> [#uses=1]
15351 %tmp15 = add i32 %tmp14, -48 ; <i32> [#uses=1]
15352 br label %whilecond
15353
15354andand: ; preds = %whilecond
15355 %tmp7 = icmp ult i8 %tmp1, 58 ; <i1> [#uses=1]
15356 br i1 %tmp7, label %whilebody, label %endwhile
15357
15358endwhile.critedge: ; preds = %whilecond
15359 ret i32 %value.0
15360
15361endwhile: ; preds = %andand
15362 ret i32 %value.0
15363}
15364
15365define weak_odr fastcc %"char[][]" @_D5tango4text4Util14__T7delimitTaZ7delimitFAaAaZAAa(%"byte[]" %src_arg, %"byte[]" %set_arg) {
15366entry:
15367 %.frame = alloca %nest.delimit, align 8 ; <%nest.delimit*> [#uses=2]
15368 %.rettmp = alloca %tango.net.ftp.FtpClient.FtpFeature, align 8 ; <%tango.net.ftp.FtpClient.FtpFeature*> [#uses=5]
15369 %result = getelementptr %nest.delimit* %.frame, i32 0, i32 0 ; <%"char[][]"*> [#uses=2]
15370 store %"char[][]" zeroinitializer, %"char[][]"* %result, align 8
15371 %set_arg13.i = extractvalue %"byte[]" %set_arg, 0 ; <i32> [#uses=1]
15372 %set_arg14.i = extractvalue %"byte[]" %set_arg, 1 ; <i8*> [#uses=1]
15373 %src_arg16.i = extractvalue %"byte[]" %src_arg, 0 ; <i32> [#uses=1]
15374 %src_arg17.i = extractvalue %"byte[]" %src_arg, 1 ; <i8*> [#uses=1]
15375 %0 = getelementptr %tango.net.ftp.FtpClient.FtpFeature* %.rettmp, i32 0, i32 0, i32 0 ; <i32*> [#uses=1]
15376 store i32 %src_arg16.i, i32* %0, align 8
15377 %.sret_arg18.1.i = getelementptr %tango.net.ftp.FtpClient.FtpFeature* %.rettmp, i32 0, i32 0, i32 1 ; <i8**> [#uses=1]
15378 store i8* %src_arg17.i, i8** %.sret_arg18.1.i, align 4
15379 %.sret_arg.1.0.i = getelementptr %tango.net.ftp.FtpClient.FtpFeature* %.rettmp, i32 0, i32 1, i32 0 ; <i32*> [#uses=1]
15380 store i32 %set_arg13.i, i32* %.sret_arg.1.0.i, align 8
15381 %.sret_arg.1.1.i = getelementptr %tango.net.ftp.FtpClient.FtpFeature* %.rettmp, i32 0, i32 1, i32 1 ; <i8**> [#uses=1]
15382 store i8* %set_arg14.i, i8** %.sret_arg.1.1.i, align 4
15383 %tmp2 = bitcast %nest.delimit* %.frame to i8* ; <i8*> [#uses=1]
15384 %tmp3 = insertvalue %"int delegate(ref char[])" undef, i8* %tmp2, 0 ; <%"int delegate(ref char[])"> [#uses=1]
15385 %.func = insertvalue %"int delegate(ref char[])" %tmp3, i32 (i8*, %"byte[]"*)* @_D5tango4text4Util14__T7delimitTaZ7delimitFAaAaZAAa15__foreachbody43MFKAaZi, 1 ; <%"int delegate(ref char[])"> [#uses=1]
15386 %tmp4 = call fastcc i32 @_D5tango4text4Util18__T10DelimFructTaZ10DelimFruct7opApplyMFDFKAaZiZi(%tango.net.ftp.FtpClient.FtpFeature* %.rettmp, %"int delegate(ref char[])" %.func) ; <i32> [#uses=0]
15387 %tmp5 = load %"char[][]"* %result, align 8 ; <%"char[][]"> [#uses=1]
15388 ret %"char[][]" %tmp5
15389}
15390
15391define weak_odr fastcc void @_D5tango4text4Util18__T10delimitersTaZ10delimitersFAaAaZS5tango4text4Util18__T10DelimFructTaZ10DelimFruct(%tango.net.ftp.FtpClient.FtpFeature* noalias nocapture sret %.sret_arg, %"byte[]" %src_arg, %"byte[]" %set_arg) nounwind {
15392entry:
15393 %set_arg13 = extractvalue %"byte[]" %set_arg, 0 ; <i32> [#uses=1]
15394 %set_arg14 = extractvalue %"byte[]" %set_arg, 1 ; <i8*> [#uses=1]
15395 %src_arg16 = extractvalue %"byte[]" %src_arg, 0 ; <i32> [#uses=1]
15396 %src_arg17 = extractvalue %"byte[]" %src_arg, 1 ; <i8*> [#uses=1]
15397 %0 = getelementptr %tango.net.ftp.FtpClient.FtpFeature* %.sret_arg, i32 0, i32 0, i32 0 ; <i32*> [#uses=1]
15398 store i32 %src_arg16, i32* %0
15399 %.sret_arg18.1 = getelementptr %tango.net.ftp.FtpClient.FtpFeature* %.sret_arg, i32 0, i32 0, i32 1 ; <i8**> [#uses=1]
15400 store i8* %src_arg17, i8** %.sret_arg18.1, align 4
15401 %.sret_arg.1.0 = getelementptr %tango.net.ftp.FtpClient.FtpFeature* %.sret_arg, i32 0, i32 1, i32 0 ; <i32*> [#uses=1]
15402 store i32 %set_arg13, i32* %.sret_arg.1.0, align 8
15403 %.sret_arg.1.1 = getelementptr %tango.net.ftp.FtpClient.FtpFeature* %.sret_arg, i32 0, i32 1, i32 1 ; <i8**> [#uses=1]
15404 store i8* %set_arg14, i8** %.sret_arg.1.1, align 4
15405 ret void
15406}
15407
15408define weak_odr fastcc i32 @_D5tango4text4Util18__T10DelimFructTaZ10DelimFruct7opApplyMFDFKAaZiZi(%tango.net.ftp.FtpClient.FtpFeature* nocapture %.this_arg, %"int delegate(ref char[])" %dg_arg) {
15409entry:
15410 %token = alloca %"byte[]", align 8 ; <%"byte[]"*> [#uses=10]
15411 %dg_arg115 = extractvalue %"int delegate(ref char[])" %dg_arg, 0 ; <i8*> [#uses=3]
15412 %dg_arg116 = extractvalue %"int delegate(ref char[])" %dg_arg, 1 ; <i32 (i8*, %"byte[]"*)*> [#uses=3]
15413 store %"byte[]" zeroinitializer, %"byte[]"* %token, align 8
15414 %tmp2 = getelementptr %tango.net.ftp.FtpClient.FtpFeature* %.this_arg, i32 0, i32 1, i32 0 ; <i32*> [#uses=1]
15415 %.len = load i32* %tmp2 ; <i32> [#uses=2]
15416 %tmp3 = icmp eq i32 %.len, 1 ; <i1> [#uses=1]
15417 br i1 %tmp3, label %whilecond, label %else
15418
15419whilecond: ; preds = %endif36, %entry
15420 %mark.0 = phi i32 [ 0, %entry ], [ %tmp39, %endif36 ] ; <i32> [#uses=5]
15421 %ret.0 = phi i32 [ 0, %entry ], [ %tmp33, %endif36 ] ; <i32> [#uses=1]
15422 %tmp5 = getelementptr %tango.net.ftp.FtpClient.FtpFeature* %.this_arg, i32 0, i32 0 ; <%"byte[]"*> [#uses=1]
15423 %tmp6 = load %"byte[]"* %tmp5 ; <%"byte[]"> [#uses=2]
15424 %tmp9 = getelementptr %tango.net.ftp.FtpClient.FtpFeature* %.this_arg, i32 0, i32 1, i32 1 ; <i8**> [#uses=1]
15425 %.ptr = load i8** %tmp9 ; <i8*> [#uses=1]
15426 %tmp11 = load i8* %.ptr ; <i8> [#uses=1]
15427 %source_arg16.i = extractvalue %"byte[]" %tmp6, 0 ; <i32> [#uses=3]
15428 %source_arg17.i = extractvalue %"byte[]" %tmp6, 1 ; <i8*> [#uses=2]
15429 %tmp2.i = icmp ult i32 %source_arg16.i, %mark.0 ; <i1> [#uses=1]
15430 %start.0.i = select i1 %tmp2.i, i32 %source_arg16.i, i32 %mark.0 ; <i32> [#uses=4]
15431 %tmp7.i = getelementptr i8* %source_arg17.i, i32 %start.0.i ; <i8*> [#uses=1]
15432 %tmp12.i = sub i32 %source_arg16.i, %start.0.i ; <i32> [#uses=2]
15433 %tmp7.sum.i = add i32 %start.0.i, -1 ; <i32> [#uses=1]
15434 %tmp2.i.i = getelementptr i8* %source_arg17.i, i32 %tmp7.sum.i ; <i8*> [#uses=1]
15435 br label %forcond.i.i
15436
15437forcond.i.i: ; preds = %forbody.i.i, %whilecond
15438 %len.0.i.i = phi i32 [ %tmp12.i, %whilecond ], [ %tmp4.i.i, %forbody.i.i ] ; <i32> [#uses=2]
15439 %p.0.i.i = phi i8* [ %tmp2.i.i, %whilecond ], [ %tmp7.i.i, %forbody.i.i ] ; <i8*> [#uses=1]
15440 %tmp4.i.i = add i32 %len.0.i.i, -1 ; <i32> [#uses=1]
15441 %tmp5.i.i = icmp eq i32 %len.0.i.i, 0 ; <i1> [#uses=1]
15442 br i1 %tmp5.i.i, label %_D5tango4text4Util13__T6locateTaZ6locateFAaakZk.exit, label %forbody.i.i
15443
15444forbody.i.i: ; preds = %forcond.i.i
15445 %tmp7.i.i = getelementptr i8* %p.0.i.i, i32 1 ; <i8*> [#uses=3]
15446 %tmp8.i.i = load i8* %tmp7.i.i ; <i8> [#uses=1]
15447 %tmp12.i.i = icmp eq i8 %tmp8.i.i, %tmp11 ; <i1> [#uses=1]
15448 br i1 %tmp12.i.i, label %if.i.i, label %forcond.i.i
15449
15450if.i.i: ; preds = %forbody.i.i
15451 %tmp15.i.i = ptrtoint i8* %tmp7.i.i to i32 ; <i32> [#uses=1]
15452 %tmp16.i.i = ptrtoint i8* %tmp7.i to i32 ; <i32> [#uses=1]
15453 %tmp17.i.i = sub i32 %tmp15.i.i, %tmp16.i.i ; <i32> [#uses=1]
15454 br label %_D5tango4text4Util13__T6locateTaZ6locateFAaakZk.exit
15455
15456_D5tango4text4Util13__T6locateTaZ6locateFAaakZk.exit: ; preds = %if.i.i, %forcond.i.i
15457 %tmp1318.i = phi i32 [ %tmp17.i.i, %if.i.i ], [ %tmp12.i, %forcond.i.i ] ; <i32> [#uses=1]
15458 %tmp15.i = add i32 %tmp1318.i, %start.0.i ; <i32> [#uses=3]
15459 %tmp16 = getelementptr %tango.net.ftp.FtpClient.FtpFeature* %.this_arg, i32 0, i32 0, i32 0 ; <i32*> [#uses=1]
15460 %.len17 = load i32* %tmp16 ; <i32> [#uses=1]
15461 %tmp18 = icmp ult i32 %tmp15.i, %.len17 ; <i1> [#uses=1]
15462 br i1 %tmp18, label %whilebody, label %endif
15463
15464whilebody: ; preds = %_D5tango4text4Util13__T6locateTaZ6locateFAaakZk.exit
15465 %tmp21 = getelementptr %tango.net.ftp.FtpClient.FtpFeature* %.this_arg, i32 0, i32 0, i32 1 ; <i8**> [#uses=1]
15466 %.ptr22 = load i8** %tmp21 ; <i8*> [#uses=1]
15467 %tmp25 = getelementptr i8* %.ptr22, i32 %mark.0 ; <i8*> [#uses=1]
15468 %tmp26 = sub i32 %tmp15.i, %mark.0 ; <i32> [#uses=1]
15469 %tmp27 = getelementptr %"byte[]"* %token, i32 0, i32 0 ; <i32*> [#uses=1]
15470 store i32 %tmp26, i32* %tmp27, align 8
15471 %tmp28 = getelementptr %"byte[]"* %token, i32 0, i32 1 ; <i8**> [#uses=1]
15472 store i8* %tmp25, i8** %tmp28
15473 %tmp33 = call fastcc i32 %dg_arg116(i8* %dg_arg115, %"byte[]"* %token) ; <i32> [#uses=3]
15474 %tmp34 = icmp eq i32 %tmp33, 0 ; <i1> [#uses=1]
15475 br i1 %tmp34, label %endif36, label %if35
15476
15477if35: ; preds = %whilebody
15478 ret i32 %tmp33
15479
15480endif36: ; preds = %whilebody
15481 %tmp39 = add i32 %tmp15.i, 1 ; <i32> [#uses=1]
15482 br label %whilecond
15483
15484else: ; preds = %entry
15485 %tmp44 = icmp ugt i32 %.len, 1 ; <i1> [#uses=1]
15486 br i1 %tmp44, label %if45, label %endif
15487
15488if45: ; preds = %else
15489 %tmp49 = getelementptr %tango.net.ftp.FtpClient.FtpFeature* %.this_arg, i32 0, i32 0, i32 0 ; <i32*> [#uses=1]
15490 %.len50 = load i32* %tmp49 ; <i32> [#uses=1]
15491 %tmp51 = getelementptr %tango.net.ftp.FtpClient.FtpFeature* %.this_arg, i32 0, i32 0, i32 1 ; <i8**> [#uses=2]
15492 %.ptr52 = load i8** %tmp51 ; <i8*> [#uses=1]
15493 br label %foreachcond
15494
15495foreachcond: ; preds = %endif82, %foreachbody.foreachnext_crit_edge, %if45
15496 %mark.3 = phi i32 [ 0, %if45 ], [ %tmp86, %endif82 ], [ %mark.3, %foreachbody.foreachnext_crit_edge ] ; <i32> [#uses=4]
15497 %ret.3 = phi i32 [ 0, %if45 ], [ %tmp79, %endif82 ], [ %ret.3, %foreachbody.foreachnext_crit_edge ] ; <i32> [#uses=2]
15498 %i.0 = phi i32 [ 0, %if45 ], [ %tmp88.pre, %foreachbody.foreachnext_crit_edge ], [ %tmp86, %endif82 ] ; <i32> [#uses=5]
15499 %tmp54 = icmp ult i32 %i.0, %.len50 ; <i1> [#uses=1]
15500 br i1 %tmp54, label %foreachbody, label %endif
15501
15502foreachbody: ; preds = %foreachcond
15503 %tmp56 = getelementptr i8* %.ptr52, i32 %i.0 ; <i8*> [#uses=1]
15504 %tmp57 = load i8* %tmp56 ; <i8> [#uses=1]
15505 %tmp59 = getelementptr %tango.net.ftp.FtpClient.FtpFeature* %.this_arg, i32 0, i32 1 ; <%"byte[]"*> [#uses=1]
15506 %tmp60 = load %"byte[]"* %tmp59 ; <%"byte[]"> [#uses=2]
15507 %source_arg7.i = extractvalue %"byte[]" %tmp60, 0 ; <i32> [#uses=3]
15508 %source_arg8.i = extractvalue %"byte[]" %tmp60, 1 ; <i8*> [#uses=2]
15509 %tmp2.i.i117 = getelementptr i8* %source_arg8.i, i32 -1 ; <i8*> [#uses=1]
15510 br label %forcond.i.i122
15511
15512forcond.i.i122: ; preds = %forbody.i.i126, %foreachbody
15513 %len.0.i.i118 = phi i32 [ %source_arg7.i, %foreachbody ], [ %tmp4.i.i120, %forbody.i.i126 ] ; <i32> [#uses=2]
15514 %p.0.i.i119 = phi i8* [ %tmp2.i.i117, %foreachbody ], [ %tmp7.i.i123, %forbody.i.i126 ] ; <i8*> [#uses=1]
15515 %tmp4.i.i120 = add i32 %len.0.i.i118, -1 ; <i32> [#uses=1]
15516 %tmp5.i.i121 = icmp eq i32 %len.0.i.i118, 0 ; <i1> [#uses=1]
15517 br i1 %tmp5.i.i121, label %_D5tango4text4Util15__T8containsTaZ8containsFAaaZb.exit, label %forbody.i.i126
15518
15519forbody.i.i126: ; preds = %forcond.i.i122
15520 %tmp7.i.i123 = getelementptr i8* %p.0.i.i119, i32 1 ; <i8*> [#uses=3]
15521 %tmp8.i.i124 = load i8* %tmp7.i.i123 ; <i8> [#uses=1]
15522 %tmp12.i.i125 = icmp eq i8 %tmp8.i.i124, %tmp57 ; <i1> [#uses=1]
15523 br i1 %tmp12.i.i125, label %if.i.i130, label %forcond.i.i122
15524
15525if.i.i130: ; preds = %forbody.i.i126
15526 %tmp15.i.i127 = ptrtoint i8* %tmp7.i.i123 to i32 ; <i32> [#uses=1]
15527 %tmp16.i.i128 = ptrtoint i8* %source_arg8.i to i32 ; <i32> [#uses=1]
15528 %tmp17.i.i129 = sub i32 %tmp15.i.i127, %tmp16.i.i128 ; <i32> [#uses=1]
15529 br label %_D5tango4text4Util15__T8containsTaZ8containsFAaaZb.exit
15530
15531_D5tango4text4Util15__T8containsTaZ8containsFAaaZb.exit: ; preds = %if.i.i130, %forcond.i.i122
15532 %tmp39.i = phi i32 [ %tmp17.i.i129, %if.i.i130 ], [ %source_arg7.i, %forcond.i.i122 ] ; <i32> [#uses=1]
15533 %tmp6.i = icmp eq i32 %tmp39.i, %source_arg7.i ; <i1> [#uses=1]
15534 br i1 %tmp6.i, label %foreachbody.foreachnext_crit_edge, label %if63
15535
15536foreachbody.foreachnext_crit_edge: ; preds = %_D5tango4text4Util15__T8containsTaZ8containsFAaaZb.exit
15537 %tmp88.pre = add i32 %i.0, 1 ; <i32> [#uses=1]
15538 br label %foreachcond
15539
15540if63: ; preds = %_D5tango4text4Util15__T8containsTaZ8containsFAaaZb.exit
15541 %.ptr68 = load i8** %tmp51 ; <i8*> [#uses=1]
15542 %tmp71 = getelementptr i8* %.ptr68, i32 %mark.3 ; <i8*> [#uses=1]
15543 %tmp72 = sub i32 %i.0, %mark.3 ; <i32> [#uses=1]
15544 %tmp73 = getelementptr %"byte[]"* %token, i32 0, i32 0 ; <i32*> [#uses=1]
15545 store i32 %tmp72, i32* %tmp73, align 8
15546 %tmp74 = getelementptr %"byte[]"* %token, i32 0, i32 1 ; <i8**> [#uses=1]
15547 store i8* %tmp71, i8** %tmp74
15548 %tmp79 = call fastcc i32 %dg_arg116(i8* %dg_arg115, %"byte[]"* %token) ; <i32> [#uses=3]
15549 %tmp80 = icmp eq i32 %tmp79, 0 ; <i1> [#uses=1]
15550 br i1 %tmp80, label %endif82, label %if81
15551
15552if81: ; preds = %if63
15553 ret i32 %tmp79
15554
15555endif82: ; preds = %if63
15556 %tmp86 = add i32 %i.0, 1 ; <i32> [#uses=2]
15557 br label %foreachcond
15558
15559endif: ; preds = %foreachcond, %else, %_D5tango4text4Util13__T6locateTaZ6locateFAaakZk.exit
15560 %mark.1 = phi i32 [ %mark.0, %_D5tango4text4Util13__T6locateTaZ6locateFAaakZk.exit ], [ %mark.3, %foreachcond ], [ 0, %else ] ; <i32> [#uses=3]
15561 %ret.1 = phi i32 [ %ret.0, %_D5tango4text4Util13__T6locateTaZ6locateFAaakZk.exit ], [ %ret.3, %foreachcond ], [ 0, %else ] ; <i32> [#uses=1]
15562 %tmp91 = getelementptr %tango.net.ftp.FtpClient.FtpFeature* %.this_arg, i32 0, i32 0, i32 1 ; <i8**> [#uses=1]
15563 %.ptr92 = load i8** %tmp91 ; <i8*> [#uses=1]
15564 %tmp93 = getelementptr %tango.net.ftp.FtpClient.FtpFeature* %.this_arg, i32 0, i32 0, i32 0 ; <i32*> [#uses=1]
15565 %.len94 = load i32* %tmp93 ; <i32> [#uses=2]
15566 %tmp96 = getelementptr i8* %.ptr92, i32 %mark.1 ; <i8*> [#uses=1]
15567 %tmp97 = sub i32 %.len94, %mark.1 ; <i32> [#uses=1]
15568 %tmp98 = getelementptr %"byte[]"* %token, i32 0, i32 0 ; <i32*> [#uses=1]
15569 store i32 %tmp97, i32* %tmp98, align 8
15570 %tmp99 = getelementptr %"byte[]"* %token, i32 0, i32 1 ; <i8**> [#uses=1]
15571 store i8* %tmp96, i8** %tmp99
15572 %tmp105 = icmp ugt i32 %mark.1, %.len94 ; <i1> [#uses=1]
15573 br i1 %tmp105, label %endif107, label %if106
15574
15575if106: ; preds = %endif
15576 %tmp112 = call fastcc i32 %dg_arg116(i8* %dg_arg115, %"byte[]"* %token) ; <i32> [#uses=1]
15577 ret i32 %tmp112
15578
15579endif107: ; preds = %endif
15580 ret i32 %ret.1
15581}
15582
15583define weak_odr fastcc void @_D5tango4text5Regex56__T5StackTE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorZ5Stack4pushMFE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorZv(%"tango.text.Regex.Stack!(Operator).Stack"* nocapture %.this_arg, i32 %v_arg) {
15584entry:
15585 %tmp1 = getelementptr %"tango.text.Regex.Stack!(Operator).Stack"* %.this_arg, i32 0, i32 0 ; <i32*> [#uses=4]
15586 %tmp4 = getelementptr %"tango.text.Regex.Stack!(Operator).Stack"* %.this_arg, i32 0, i32 1, i32 0 ; <i32*> [#uses=2]
15587 %.len = load i32* %tmp4 ; <i32> [#uses=3]
15588 %tmp5 = load i32* %tmp1 ; <i32> [#uses=2]
15589 %tmp6 = icmp ult i32 %tmp5, %.len ; <i1> [#uses=1]
15590 br i1 %tmp6, label %entry.endif_crit_edge, label %if
15591
15592entry.endif_crit_edge: ; preds = %entry
15593 %tmp26.pre = getelementptr %"tango.text.Regex.Stack!(Operator).Stack"* %.this_arg, i32 0, i32 1, i32 1 ; <i32**> [#uses=1]
15594 br label %endif
15595
15596if: ; preds = %entry
15597 %tmp13 = shl i32 %.len, 1 ; <i32> [#uses=1]
15598 %tmp1437 = or i32 %tmp13, 1 ; <i32> [#uses=2]
15599 %tmp17 = getelementptr %"tango.text.Regex.Stack!(Operator).Stack"* %.this_arg, i32 0, i32 1, i32 1 ; <i32**> [#uses=3]
15600 %.ptr = load i32** %tmp17 ; <i32*> [#uses=1]
15601 %tmp18 = bitcast i32* %.ptr to i8* ; <i8*> [#uses=1]
15602 %.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]
15603 %.gc_mem19 = bitcast i8* %.gc_mem to i32* ; <i32*> [#uses=1]
15604 store i32 %tmp1437, i32* %tmp4
15605 store i32* %.gc_mem19, i32** %tmp17
15606 %tmp28.pre = load i32* %tmp1 ; <i32> [#uses=1]
15607 br label %endif
15608
15609endif: ; preds = %if, %entry.endif_crit_edge
15610 %tmp26.pre-phi = phi i32** [ %tmp26.pre, %entry.endif_crit_edge ], [ %tmp17, %if ] ; <i32**> [#uses=1]
15611 %tmp28 = phi i32 [ %tmp5, %entry.endif_crit_edge ], [ %tmp28.pre, %if ] ; <i32> [#uses=1]
15612 %.ptr27 = load i32** %tmp26.pre-phi ; <i32*> [#uses=1]
15613 %tmp29 = getelementptr i32* %.ptr27, i32 %tmp28 ; <i32*> [#uses=1]
15614 store i32 %v_arg, i32* %tmp29
15615 %tmp35 = load i32* %tmp1 ; <i32> [#uses=1]
15616 %tmp36 = add i32 %tmp35, 1 ; <i32> [#uses=1]
15617 store i32 %tmp36, i32* %tmp1
15618 ret void
15619}
15620
15621define weak_odr fastcc void @_D5tango4text5Regex56__T5StackTE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorZ5Stack11opCatAssignMFAE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorZv(%"tango.text.Regex.Stack!(Operator).Stack"* nocapture %.this_arg, %"Act[]" %vs_arg) {
15622entry:
15623 %vs_arg43 = extractvalue %"Act[]" %vs_arg, 0 ; <i32> [#uses=1]
15624 %vs_arg44 = extractvalue %"Act[]" %vs_arg, 1 ; <i32*> [#uses=1]
15625 %tmp1 = getelementptr %"tango.text.Regex.Stack!(Operator).Stack"* %.this_arg, i32 0, i32 0 ; <i32*> [#uses=3]
15626 %tmp3 = load i32* %tmp1 ; <i32> [#uses=2]
15627 %tmp4 = add i32 %tmp3, %vs_arg43 ; <i32> [#uses=4]
15628 %tmp7 = getelementptr %"tango.text.Regex.Stack!(Operator).Stack"* %.this_arg, i32 0, i32 1, i32 0 ; <i32*> [#uses=2]
15629 %.len8 = load i32* %tmp7 ; <i32> [#uses=2]
15630 %tmp10 = icmp ugt i32 %tmp4, %.len8 ; <i1> [#uses=1]
15631 br i1 %tmp10, label %if, label %entry.endif_crit_edge
15632
15633entry.endif_crit_edge: ; preds = %entry
15634 %tmp24.pre = getelementptr %"tango.text.Regex.Stack!(Operator).Stack"* %.this_arg, i32 0, i32 1, i32 1 ; <i32**> [#uses=1]
15635 br label %endif
15636
15637if: ; preds = %entry
15638 %tmp14 = shl i32 %tmp4, 1 ; <i32> [#uses=2]
15639 %tmp17 = getelementptr %"tango.text.Regex.Stack!(Operator).Stack"* %.this_arg, i32 0, i32 1, i32 1 ; <i32**> [#uses=3]
15640 %.ptr = load i32** %tmp17 ; <i32*> [#uses=1]
15641 %tmp18 = bitcast i32* %.ptr to i8* ; <i8*> [#uses=1]
15642 %.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]
15643 %.gc_mem19 = bitcast i8* %.gc_mem to i32* ; <i32*> [#uses=1]
15644 store i32 %tmp14, i32* %tmp7
15645 store i32* %.gc_mem19, i32** %tmp17
15646 %tmp28.pre = load i32* %tmp1 ; <i32> [#uses=1]
15647 br label %endif
15648
15649endif: ; preds = %if, %entry.endif_crit_edge
15650 %tmp24.pre-phi = phi i32** [ %tmp24.pre, %entry.endif_crit_edge ], [ %tmp17, %if ] ; <i32**> [#uses=1]
15651 %tmp28 = phi i32 [ %tmp28.pre, %if ], [ %tmp3, %entry.endif_crit_edge ] ; <i32> [#uses=2]
15652 %.ptr25 = load i32** %tmp24.pre-phi ; <i32*> [#uses=1]
15653 %tmp30 = getelementptr i32* %.ptr25, i32 %tmp28 ; <i32*> [#uses=1]
15654 %tmp31 = sub i32 %tmp4, %tmp28 ; <i32> [#uses=1]
15655 %tmp32 = shl i32 %tmp31, 2 ; <i32> [#uses=1]
15656 %tmp33 = bitcast i32* %tmp30 to i8* ; <i8*> [#uses=1]
15657 %tmp36 = bitcast i32* %vs_arg44 to i8* ; <i8*> [#uses=1]
15658 tail call void @llvm.memcpy.i32(i8* %tmp33, i8* %tmp36, i32 %tmp32, i32 1)
15659 store i32 %tmp4, i32* %tmp1
15660 ret void
15661}
15662
15663define weak_odr fastcc void @_D5tango4text5Regex56__T5StackTE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorZ5Stack3popMFkZv(%"tango.text.Regex.Stack!(Operator).Stack"* nocapture %.this_arg, i32 %num_arg) nounwind {
15664entry:
15665 %tmp1 = getelementptr %"tango.text.Regex.Stack!(Operator).Stack"* %.this_arg, i32 0, i32 0 ; <i32*> [#uses=2]
15666 %tmp4 = load i32* %tmp1 ; <i32> [#uses=1]
15667 %tmp6 = sub i32 %tmp4, %num_arg ; <i32> [#uses=1]
15668 store i32 %tmp6, i32* %tmp1
15669 ret void
15670}
15671
15672define weak_odr fastcc i32 @_D5tango4text5Regex56__T5StackTE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorZ5Stack3popMFZE5tango4text5Regex11__T4TNFATwZ4TNFA8Operator(%"tango.text.Regex.Stack!(Operator).Stack"* nocapture %.this_arg) nounwind {
15673entry:
15674 %tmp3 = getelementptr %"tango.text.Regex.Stack!(Operator).Stack"* %.this_arg, i32 0, i32 0 ; <i32*> [#uses=2]
15675 %tmp6 = load i32* %tmp3 ; <i32> [#uses=1]
15676 %tmp7 = add i32 %tmp6, -1 ; <i32> [#uses=2]
15677 store i32 %tmp7, i32* %tmp3
15678 %tmp8 = getelementptr %"tango.text.Regex.Stack!(Operator).Stack"* %.this_arg, i32 0, i32 1, i32 1 ; <i32**> [#uses=1]
15679 %.ptr = load i32** %tmp8 ; <i32*> [#uses=1]
15680 %tmp9 = getelementptr i32* %.ptr, i32 %tmp7 ; <i32*> [#uses=1]
15681 %tmp10 = load i32* %tmp9 ; <i32> [#uses=1]
15682 ret i32 %tmp10
15683}
15684
15685define weak_odr fastcc i32 @_D5tango4text5Regex56__T5StackTE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorZ5Stack3topMFZE5tango4text5Regex11__T4TNFATwZ4TNFA8Operator(%"tango.text.Regex.Stack!(Operator).Stack"* nocapture %.this_arg) nounwind readonly {
15686entry:
15687 %tmp3 = getelementptr %"tango.text.Regex.Stack!(Operator).Stack"* %.this_arg, i32 0, i32 0 ; <i32*> [#uses=1]
15688 %tmp4 = load i32* %tmp3 ; <i32> [#uses=1]
15689 %tmp5 = add i32 %tmp4, -1 ; <i32> [#uses=1]
15690 %tmp6 = getelementptr %"tango.text.Regex.Stack!(Operator).Stack"* %.this_arg, i32 0, i32 1, i32 1 ; <i32**> [#uses=1]
15691 %.ptr = load i32** %tmp6 ; <i32*> [#uses=1]
15692 %tmp7 = getelementptr i32* %.ptr, i32 %tmp5 ; <i32*> [#uses=1]
15693 %tmp8 = load i32* %tmp7 ; <i32> [#uses=1]
15694 ret i32 %tmp8
15695}
15696
15697define weak_odr fastcc i32* @_D5tango4text5Regex56__T5StackTE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorZ5Stack6topPtrMFZPE5tango4text5Regex11__T4TNFATwZ4TNFA8Operator(%"tango.text.Regex.Stack!(Operator).Stack"* nocapture %.this_arg) nounwind readonly {
15698entry:
15699 %tmp3 = getelementptr %"tango.text.Regex.Stack!(Operator).Stack"* %.this_arg, i32 0, i32 0 ; <i32*> [#uses=1]
15700 %tmp4 = load i32* %tmp3 ; <i32> [#uses=1]
15701 %tmp5 = add i32 %tmp4, -1 ; <i32> [#uses=1]
15702 %tmp6 = getelementptr %"tango.text.Regex.Stack!(Operator).Stack"* %.this_arg, i32 0, i32 1, i32 1 ; <i32**> [#uses=1]
15703 %.ptr = load i32** %tmp6 ; <i32*> [#uses=1]
15704 %tmp7 = getelementptr i32* %.ptr, i32 %tmp5 ; <i32*> [#uses=1]
15705 ret i32* %tmp7
15706}
15707
15708define weak_odr fastcc i1 @_D5tango4text5Regex56__T5StackTE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorZ5Stack5emptyMFZb(%"tango.text.Regex.Stack!(Operator).Stack"* nocapture %.this_arg) nounwind readonly {
15709entry:
15710 %tmp1 = getelementptr %"tango.text.Regex.Stack!(Operator).Stack"* %.this_arg, i32 0, i32 0 ; <i32*> [#uses=1]
15711 %tmp2 = load i32* %tmp1 ; <i32> [#uses=1]
15712 %tmp3 = icmp eq i32 %tmp2, 0 ; <i1> [#uses=1]
15713 ret i1 %tmp3
15714}
15715
15716define weak_odr fastcc void @_D5tango4text5Regex56__T5StackTE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorZ5Stack5clearMFZv(%"tango.text.Regex.Stack!(Operator).Stack"* nocapture %.this_arg) nounwind {
15717entry:
15718 %tmp1 = getelementptr %"tango.text.Regex.Stack!(Operator).Stack"* %.this_arg, i32 0, i32 0 ; <i32*> [#uses=1]
15719 store i32 0, i32* %tmp1
15720 ret void
15721}
15722
15723define weak_odr fastcc i32 @_D5tango4text5Regex56__T5StackTE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorZ5Stack6lengthMFZk(%"tango.text.Regex.Stack!(Operator).Stack"* nocapture %.this_arg) nounwind readonly {
15724entry:
15725 %tmp1 = getelementptr %"tango.text.Regex.Stack!(Operator).Stack"* %.this_arg, i32 0, i32 0 ; <i32*> [#uses=1]
15726 %tmp2 = load i32* %tmp1 ; <i32> [#uses=1]
15727 ret i32 %tmp2
15728}
15729
15730define weak_odr fastcc %"Act[]" @_D5tango4text5Regex56__T5StackTE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorZ5Stack5arrayMFZAE5tango4text5Regex11__T4TNFATwZ4TNFA8Operator(%"tango.text.Regex.Stack!(Operator).Stack"* nocapture %.this_arg) nounwind readonly {
15731entry:
15732 %tmp2 = getelementptr %"tango.text.Regex.Stack!(Operator).Stack"* %.this_arg, i32 0, i32 1, i32 1 ; <i32**> [#uses=1]
15733 %.ptr = load i32** %tmp2 ; <i32*> [#uses=1]
15734 %tmp4 = getelementptr %"tango.text.Regex.Stack!(Operator).Stack"* %.this_arg, i32 0, i32 0 ; <i32*> [#uses=1]
15735 %tmp5 = load i32* %tmp4 ; <i32> [#uses=1]
15736 %tmp8 = insertvalue %"Act[]" undef, i32 %tmp5, 0 ; <%"Act[]"> [#uses=1]
15737 %tmp9 = insertvalue %"Act[]" %tmp8, i32* %.ptr, 1 ; <%"Act[]"> [#uses=1]
15738 ret %"Act[]" %tmp9
15739}
15740
15741define weak_odr fastcc i32 @_D5tango4text5Regex56__T5StackTE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorZ5Stack7opIndexMFkZE5tango4text5Regex11__T4TNFATwZ4TNFA8Operator(%"tango.text.Regex.Stack!(Operator).Stack"* nocapture %.this_arg, i32 %i_arg) nounwind readonly {
15742entry:
15743 %tmp2 = getelementptr %"tango.text.Regex.Stack!(Operator).Stack"* %.this_arg, i32 0, i32 1, i32 1 ; <i32**> [#uses=1]
15744 %.ptr = load i32** %tmp2 ; <i32*> [#uses=1]
15745 %tmp4 = getelementptr i32* %.ptr, i32 %i_arg ; <i32*> [#uses=1]
15746 %tmp5 = load i32* %tmp4 ; <i32> [#uses=1]
15747 ret i32 %tmp5
15748}
15749
15750define 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) {
15751entry:
15752 %tmp3 = getelementptr %"tango.text.Regex.Stack!(Operator).Stack"* %.this_arg, i32 0, i32 0 ; <i32*> [#uses=1]
15753 %tmp4 = load i32* %tmp3 ; <i32> [#uses=1]
15754 %tmp8 = getelementptr %"tango.text.Regex.Stack!(Operator).Stack"* %.this_arg, i32 0, i32 1, i32 0 ; <i32*> [#uses=1]
15755 %.len = load i32* %tmp8 ; <i32> [#uses=1]
15756 %tmp9 = getelementptr %"tango.text.Regex.Stack!(Operator).Stack"* %.this_arg, i32 0, i32 1, i32 1 ; <i32**> [#uses=1]
15757 %.ptr = load i32** %tmp9 ; <i32*> [#uses=1]
15758 %tmp10 = bitcast i32* %.ptr to i8* ; <i8*> [#uses=1]
15759 %tmp11 = insertvalue %"byte[]" undef, i32 %.len, 0 ; <%"byte[]"> [#uses=1]
15760 %tmp12 = insertvalue %"byte[]" %tmp11, i8* %tmp10, 1 ; <%"byte[]"> [#uses=1]
15761 %tmp13 = tail call %"byte[]" @_adDupT(%object.TypeInfo* bitcast (%object.TypeInfo_Array* @_D55TypeInfo_AE5tango4text5Regex11__T4TNFATwZ4TNFA8Operator6__initZ to %object.TypeInfo*), %"byte[]" %tmp12) ; <%"byte[]"> [#uses=2]
15762 %tmp14 = extractvalue %"byte[]" %tmp13, 0 ; <i32> [#uses=1]
15763 %tmp16 = extractvalue %"byte[]" %tmp13, 1 ; <i8*> [#uses=1]
15764 %tmp17 = bitcast i8* %tmp16 to i32* ; <i32*> [#uses=1]
15765 %.sret_arg.0 = getelementptr %"tango.text.Regex.Stack!(Operator).Stack"* %.sret_arg, i32 0, i32 0 ; <i32*> [#uses=1]
15766 store i32 %tmp4, i32* %.sret_arg.0
15767 %.sret_arg.1.0 = getelementptr %"tango.text.Regex.Stack!(Operator).Stack"* %.sret_arg, i32 0, i32 1, i32 0 ; <i32*> [#uses=1]
15768 store i32 %tmp14, i32* %.sret_arg.1.0, align 4
15769 %.sret_arg.1.1 = getelementptr %"tango.text.Regex.Stack!(Operator).Stack"* %.sret_arg, i32 0, i32 1, i32 1 ; <i32**> [#uses=1]
15770 store i32* %tmp17, i32** %.sret_arg.1.1, align 4
15771 ret void
15772}
15773
15774define weak_odr fastcc void @_D5tango4text5Regex12__T5StackTkZ5Stack4pushMFkZv(%"tango.text.Regex.Stack!(Operator).Stack"* nocapture %.this_arg, i32 %v_arg) {
15775entry:
15776 %tmp1 = getelementptr %"tango.text.Regex.Stack!(Operator).Stack"* %.this_arg, i32 0, i32 0 ; <i32*> [#uses=4]
15777 %tmp4 = getelementptr %"tango.text.Regex.Stack!(Operator).Stack"* %.this_arg, i32 0, i32 1, i32 0 ; <i32*> [#uses=2]
15778 %.len = load i32* %tmp4 ; <i32> [#uses=3]
15779 %tmp5 = load i32* %tmp1 ; <i32> [#uses=2]
15780 %tmp6 = icmp ult i32 %tmp5, %.len ; <i1> [#uses=1]
15781 br i1 %tmp6, label %entry.endif_crit_edge, label %if
15782
15783entry.endif_crit_edge: ; preds = %entry
15784 %tmp26.pre = getelementptr %"tango.text.Regex.Stack!(Operator).Stack"* %.this_arg, i32 0, i32 1, i32 1 ; <i32**> [#uses=1]
15785 br label %endif
15786
15787if: ; preds = %entry
15788 %tmp13 = shl i32 %.len, 1 ; <i32> [#uses=1]
15789 %tmp1437 = or i32 %tmp13, 1 ; <i32> [#uses=2]
15790 %tmp17 = getelementptr %"tango.text.Regex.Stack!(Operator).Stack"* %.this_arg, i32 0, i32 1, i32 1 ; <i32**> [#uses=3]
15791 %.ptr = load i32** %tmp17 ; <i32*> [#uses=1]
15792 %tmp18 = bitcast i32* %.ptr to i8* ; <i8*> [#uses=1]
15793 %.gc_mem = tail call i8* @_d_arraysetlengthT(%object.TypeInfo* @_D11TypeInfo_Ak6__initZ, i32 %tmp1437, i32 %.len, i8* %tmp18) ; <i8*> [#uses=1]
15794 %.gc_mem19 = bitcast i8* %.gc_mem to i32* ; <i32*> [#uses=1]
15795 store i32 %tmp1437, i32* %tmp4
15796 store i32* %.gc_mem19, i32** %tmp17
15797 %tmp28.pre = load i32* %tmp1 ; <i32> [#uses=1]
15798 br label %endif
15799
15800endif: ; preds = %if, %entry.endif_crit_edge
15801 %tmp26.pre-phi = phi i32** [ %tmp26.pre, %entry.endif_crit_edge ], [ %tmp17, %if ] ; <i32**> [#uses=1]
15802 %tmp28 = phi i32 [ %tmp5, %entry.endif_crit_edge ], [ %tmp28.pre, %if ] ; <i32> [#uses=1]
15803 %.ptr27 = load i32** %tmp26.pre-phi ; <i32*> [#uses=1]
15804 %tmp29 = getelementptr i32* %.ptr27, i32 %tmp28 ; <i32*> [#uses=1]
15805 store i32 %v_arg, i32* %tmp29
15806 %tmp35 = load i32* %tmp1 ; <i32> [#uses=1]
15807 %tmp36 = add i32 %tmp35, 1 ; <i32> [#uses=1]
15808 store i32 %tmp36, i32* %tmp1
15809 ret void
15810}
15811
15812define weak_odr fastcc void @_D5tango4text5Regex12__T5StackTkZ5Stack11opCatAssignMFAkZv(%"tango.text.Regex.Stack!(Operator).Stack"* nocapture %.this_arg, %"Act[]" %vs_arg) {
15813entry:
15814 %vs_arg43 = extractvalue %"Act[]" %vs_arg, 0 ; <i32> [#uses=1]
15815 %vs_arg44 = extractvalue %"Act[]" %vs_arg, 1 ; <i32*> [#uses=1]
15816 %tmp1 = getelementptr %"tango.text.Regex.Stack!(Operator).Stack"* %.this_arg, i32 0, i32 0 ; <i32*> [#uses=3]
15817 %tmp3 = load i32* %tmp1 ; <i32> [#uses=2]
15818 %tmp4 = add i32 %tmp3, %vs_arg43 ; <i32> [#uses=4]
15819 %tmp7 = getelementptr %"tango.text.Regex.Stack!(Operator).Stack"* %.this_arg, i32 0, i32 1, i32 0 ; <i32*> [#uses=2]
15820 %.len8 = load i32* %tmp7 ; <i32> [#uses=2]
15821 %tmp10 = icmp ugt i32 %tmp4, %.len8 ; <i1> [#uses=1]
15822 br i1 %tmp10, label %if, label %entry.endif_crit_edge
15823
15824entry.endif_crit_edge: ; preds = %entry
15825 %tmp24.pre = getelementptr %"tango.text.Regex.Stack!(Operator).Stack"* %.this_arg, i32 0, i32 1, i32 1 ; <i32**> [#uses=1]
15826 br label %endif
15827
15828if: ; preds = %entry
15829 %tmp14 = shl i32 %tmp4, 1 ; <i32> [#uses=2]
15830 %tmp17 = getelementptr %"tango.text.Regex.Stack!(Operator).Stack"* %.this_arg, i32 0, i32 1, i32 1 ; <i32**> [#uses=3]
15831 %.ptr = load i32** %tmp17 ; <i32*> [#uses=1]
15832 %tmp18 = bitcast i32* %.ptr to i8* ; <i8*> [#uses=1]
15833 %.gc_mem = tail call i8* @_d_arraysetlengthT(%object.TypeInfo* @_D11TypeInfo_Ak6__initZ, i32 %tmp14, i32 %.len8, i8* %tmp18) ; <i8*> [#uses=1]
15834 %.gc_mem19 = bitcast i8* %.gc_mem to i32* ; <i32*> [#uses=1]
15835 store i32 %tmp14, i32* %tmp7
15836 store i32* %.gc_mem19, i32** %tmp17
15837 %tmp28.pre = load i32* %tmp1 ; <i32> [#uses=1]
15838 br label %endif
15839
15840endif: ; preds = %if, %entry.endif_crit_edge
15841 %tmp24.pre-phi = phi i32** [ %tmp24.pre, %entry.endif_crit_edge ], [ %tmp17, %if ] ; <i32**> [#uses=1]
15842 %tmp28 = phi i32 [ %tmp28.pre, %if ], [ %tmp3, %entry.endif_crit_edge ] ; <i32> [#uses=2]
15843 %.ptr25 = load i32** %tmp24.pre-phi ; <i32*> [#uses=1]
15844 %tmp30 = getelementptr i32* %.ptr25, i32 %tmp28 ; <i32*> [#uses=1]
15845 %tmp31 = sub i32 %tmp4, %tmp28 ; <i32> [#uses=1]
15846 %tmp32 = shl i32 %tmp31, 2 ; <i32> [#uses=1]
15847 %tmp33 = bitcast i32* %tmp30 to i8* ; <i8*> [#uses=1]
15848 %tmp36 = bitcast i32* %vs_arg44 to i8* ; <i8*> [#uses=1]
15849 tail call void @llvm.memcpy.i32(i8* %tmp33, i8* %tmp36, i32 %tmp32, i32 1)
15850 store i32 %tmp4, i32* %tmp1
15851 ret void
15852}
15853
15854define weak_odr fastcc void @_D5tango4text5Regex12__T5StackTkZ5Stack3popMFkZv(%"tango.text.Regex.Stack!(Operator).Stack"* nocapture %.this_arg, i32 %num_arg) nounwind {
15855entry:
15856 %tmp1 = getelementptr %"tango.text.Regex.Stack!(Operator).Stack"* %.this_arg, i32 0, i32 0 ; <i32*> [#uses=2]
15857 %tmp4 = load i32* %tmp1 ; <i32> [#uses=1]
15858 %tmp6 = sub i32 %tmp4, %num_arg ; <i32> [#uses=1]
15859 store i32 %tmp6, i32* %tmp1
15860 ret void
15861}
15862
15863define weak_odr fastcc i32 @_D5tango4text5Regex12__T5StackTkZ5Stack3popMFZk(%"tango.text.Regex.Stack!(Operator).Stack"* nocapture %.this_arg) nounwind {
15864entry:
15865 %tmp3 = getelementptr %"tango.text.Regex.Stack!(Operator).Stack"* %.this_arg, i32 0, i32 0 ; <i32*> [#uses=2]
15866 %tmp6 = load i32* %tmp3 ; <i32> [#uses=1]
15867 %tmp7 = add i32 %tmp6, -1 ; <i32> [#uses=2]
15868 store i32 %tmp7, i32* %tmp3
15869 %tmp8 = getelementptr %"tango.text.Regex.Stack!(Operator).Stack"* %.this_arg, i32 0, i32 1, i32 1 ; <i32**> [#uses=1]
15870 %.ptr = load i32** %tmp8 ; <i32*> [#uses=1]
15871 %tmp9 = getelementptr i32* %.ptr, i32 %tmp7 ; <i32*> [#uses=1]
15872 %tmp10 = load i32* %tmp9 ; <i32> [#uses=1]
15873 ret i32 %tmp10
15874}
15875
15876define weak_odr fastcc i32 @_D5tango4text5Regex12__T5StackTkZ5Stack3topMFZk(%"tango.text.Regex.Stack!(Operator).Stack"* nocapture %.this_arg) nounwind readonly {
15877entry:
15878 %tmp3 = getelementptr %"tango.text.Regex.Stack!(Operator).Stack"* %.this_arg, i32 0, i32 0 ; <i32*> [#uses=1]
15879 %tmp4 = load i32* %tmp3 ; <i32> [#uses=1]
15880 %tmp5 = add i32 %tmp4, -1 ; <i32> [#uses=1]
15881 %tmp6 = getelementptr %"tango.text.Regex.Stack!(Operator).Stack"* %.this_arg, i32 0, i32 1, i32 1 ; <i32**> [#uses=1]
15882 %.ptr = load i32** %tmp6 ; <i32*> [#uses=1]
15883 %tmp7 = getelementptr i32* %.ptr, i32 %tmp5 ; <i32*> [#uses=1]
15884 %tmp8 = load i32* %tmp7 ; <i32> [#uses=1]
15885 ret i32 %tmp8
15886}
15887
15888define weak_odr fastcc i32* @_D5tango4text5Regex12__T5StackTkZ5Stack6topPtrMFZPk(%"tango.text.Regex.Stack!(Operator).Stack"* nocapture %.this_arg) nounwind readonly {
15889entry:
15890 %tmp3 = getelementptr %"tango.text.Regex.Stack!(Operator).Stack"* %.this_arg, i32 0, i32 0 ; <i32*> [#uses=1]
15891 %tmp4 = load i32* %tmp3 ; <i32> [#uses=1]
15892 %tmp5 = add i32 %tmp4, -1 ; <i32> [#uses=1]
15893 %tmp6 = getelementptr %"tango.text.Regex.Stack!(Operator).Stack"* %.this_arg, i32 0, i32 1, i32 1 ; <i32**> [#uses=1]
15894 %.ptr = load i32** %tmp6 ; <i32*> [#uses=1]
15895 %tmp7 = getelementptr i32* %.ptr, i32 %tmp5 ; <i32*> [#uses=1]
15896 ret i32* %tmp7
15897}
15898
15899define weak_odr fastcc i1 @_D5tango4text5Regex12__T5StackTkZ5Stack5emptyMFZb(%"tango.text.Regex.Stack!(Operator).Stack"* nocapture %.this_arg) nounwind readonly {
15900entry:
15901 %tmp1 = getelementptr %"tango.text.Regex.Stack!(Operator).Stack"* %.this_arg, i32 0, i32 0 ; <i32*> [#uses=1]
15902 %tmp2 = load i32* %tmp1 ; <i32> [#uses=1]
15903 %tmp3 = icmp eq i32 %tmp2, 0 ; <i1> [#uses=1]
15904 ret i1 %tmp3
15905}
15906
15907define weak_odr fastcc void @_D5tango4text5Regex12__T5StackTkZ5Stack5clearMFZv(%"tango.text.Regex.Stack!(Operator).Stack"* nocapture %.this_arg) nounwind {
15908entry:
15909 %tmp1 = getelementptr %"tango.text.Regex.Stack!(Operator).Stack"* %.this_arg, i32 0, i32 0 ; <i32*> [#uses=1]
15910 store i32 0, i32* %tmp1
15911 ret void
15912}
15913
15914define weak_odr fastcc i32 @_D5tango4text5Regex12__T5StackTkZ5Stack6lengthMFZk(%"tango.text.Regex.Stack!(Operator).Stack"* nocapture %.this_arg) nounwind readonly {
15915entry:
15916 %tmp1 = getelementptr %"tango.text.Regex.Stack!(Operator).Stack"* %.this_arg, i32 0, i32 0 ; <i32*> [#uses=1]
15917 %tmp2 = load i32* %tmp1 ; <i32> [#uses=1]
15918 ret i32 %tmp2
15919}
15920
15921define weak_odr fastcc %"Act[]" @_D5tango4text5Regex12__T5StackTkZ5Stack5arrayMFZAk(%"tango.text.Regex.Stack!(Operator).Stack"* nocapture %.this_arg) nounwind readonly {
15922entry:
15923 %tmp2 = getelementptr %"tango.text.Regex.Stack!(Operator).Stack"* %.this_arg, i32 0, i32 1, i32 1 ; <i32**> [#uses=1]
15924 %.ptr = load i32** %tmp2 ; <i32*> [#uses=1]
15925 %tmp4 = getelementptr %"tango.text.Regex.Stack!(Operator).Stack"* %.this_arg, i32 0, i32 0 ; <i32*> [#uses=1]
15926 %tmp5 = load i32* %tmp4 ; <i32> [#uses=1]
15927 %tmp8 = insertvalue %"Act[]" undef, i32 %tmp5, 0 ; <%"Act[]"> [#uses=1]
15928 %tmp9 = insertvalue %"Act[]" %tmp8, i32* %.ptr, 1 ; <%"Act[]"> [#uses=1]
15929 ret %"Act[]" %tmp9
15930}
15931
15932define weak_odr fastcc i32 @_D5tango4text5Regex12__T5StackTkZ5Stack7opIndexMFkZk(%"tango.text.Regex.Stack!(Operator).Stack"* nocapture %.this_arg, i32 %i_arg) nounwind readonly {
15933entry:
15934 %tmp2 = getelementptr %"tango.text.Regex.Stack!(Operator).Stack"* %.this_arg, i32 0, i32 1, i32 1 ; <i32**> [#uses=1]
15935 %.ptr = load i32** %tmp2 ; <i32*> [#uses=1]
15936 %tmp4 = getelementptr i32* %.ptr, i32 %i_arg ; <i32*> [#uses=1]
15937 %tmp5 = load i32* %tmp4 ; <i32> [#uses=1]
15938 ret i32 %tmp5
15939}
15940
15941define 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) {
15942entry:
15943 %tmp3 = getelementptr %"tango.text.Regex.Stack!(Operator).Stack"* %.this_arg, i32 0, i32 0 ; <i32*> [#uses=1]
15944 %tmp4 = load i32* %tmp3 ; <i32> [#uses=1]
15945 %tmp7 = getelementptr %"tango.text.Regex.Stack!(Operator).Stack"* %.this_arg, i32 0, i32 1 ; <%"Act[]"*> [#uses=1]
15946 %tmp8 = bitcast %"Act[]"* %tmp7 to %"byte[]"* ; <%"byte[]"*> [#uses=1]
15947 %tmp9 = load %"byte[]"* %tmp8 ; <%"byte[]"> [#uses=1]
15948 %tmp10 = tail call %"byte[]" @_adDupT(%object.TypeInfo* @_D11TypeInfo_Ak6__initZ, %"byte[]" %tmp9) ; <%"byte[]"> [#uses=2]
15949 %tmp11 = extractvalue %"byte[]" %tmp10, 0 ; <i32> [#uses=1]
15950 %tmp13 = extractvalue %"byte[]" %tmp10, 1 ; <i8*> [#uses=1]
15951 %tmp14 = bitcast i8* %tmp13 to i32* ; <i32*> [#uses=1]
15952 %.sret_arg.0 = getelementptr %"tango.text.Regex.Stack!(Operator).Stack"* %.sret_arg, i32 0, i32 0 ; <i32*> [#uses=1]
15953 store i32 %tmp4, i32* %.sret_arg.0
15954 %.sret_arg.1.0 = getelementptr %"tango.text.Regex.Stack!(Operator).Stack"* %.sret_arg, i32 0, i32 1, i32 0 ; <i32*> [#uses=1]
15955 store i32 %tmp11, i32* %.sret_arg.1.0, align 4
15956 %.sret_arg.1.1 = getelementptr %"tango.text.Regex.Stack!(Operator).Stack"* %.sret_arg, i32 0, i32 1, i32 1 ; <i32**> [#uses=1]
15957 store i32* %tmp14, i32** %.sret_arg.1.1, align 4
15958 ret void
15959}
15960
15961define weak_odr fastcc void @_D5tango4text5Regex11__T4PairTkZ4Pair6opCallFkkZS5tango4text5Regex11__T4PairTkZ4Pair(%tango.net.Socket.timeval* noalias nocapture sret %.sret_arg, i32 %a_arg, i32 %b_arg) nounwind {
15962entry:
15963 %tmp12 = zext i32 %a_arg to i64 ; <i64> [#uses=1]
15964 %tmp13 = shl i64 %tmp12, 32 ; <i64> [#uses=1]
15965 %tmp10 = zext i32 %b_arg to i64 ; <i64> [#uses=1]
15966 %ins = or i64 %tmp13, %tmp10 ; <i64> [#uses=1]
15967 %0 = bitcast %tango.net.Socket.timeval* %.sret_arg to i64* ; <i64*> [#uses=1]
15968 store i64 %ins, i64* %0
15969 ret void
15970}
15971
15972define 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) {
15973entry:
15974 %tmp1 = getelementptr %"tango.text.Regex.Stack!(Pair!(uint)).Stack"* %.this_arg, i32 0, i32 0 ; <i32*> [#uses=4]
15975 %tmp4 = getelementptr %"tango.text.Regex.Stack!(Pair!(uint)).Stack"* %.this_arg, i32 0, i32 1, i32 0 ; <i32*> [#uses=2]
15976 %.len = load i32* %tmp4 ; <i32> [#uses=3]
15977 %tmp5 = load i32* %tmp1 ; <i32> [#uses=2]
15978 %tmp6 = icmp ult i32 %tmp5, %.len ; <i1> [#uses=1]
15979 br i1 %tmp6, label %entry.endif_crit_edge, label %if
15980
15981entry.endif_crit_edge: ; preds = %entry
15982 %tmp26.pre = getelementptr %"tango.text.Regex.Stack!(Pair!(uint)).Stack"* %.this_arg, i32 0, i32 1, i32 1 ; <%tango.net.Socket.timeval**> [#uses=1]
15983 br label %endif
15984
15985if: ; preds = %entry
15986 %tmp13 = shl i32 %.len, 1 ; <i32> [#uses=1]
15987 %tmp1438 = or i32 %tmp13, 1 ; <i32> [#uses=2]
15988 %tmp17 = getelementptr %"tango.text.Regex.Stack!(Pair!(uint)).Stack"* %.this_arg, i32 0, i32 1, i32 1 ; <%tango.net.Socket.timeval**> [#uses=3]
15989 %.ptr = load %tango.net.Socket.timeval** %tmp17 ; <%tango.net.Socket.timeval*> [#uses=1]
15990 %tmp18 = bitcast %tango.net.Socket.timeval* %.ptr to i8* ; <i8*> [#uses=1]
15991 %.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]
15992 %.gc_mem19 = bitcast i8* %.gc_mem to %tango.net.Socket.timeval* ; <%tango.net.Socket.timeval*> [#uses=1]
15993 store i32 %tmp1438, i32* %tmp4
15994 store %tango.net.Socket.timeval* %.gc_mem19, %tango.net.Socket.timeval** %tmp17
15995 %tmp28.pre = load i32* %tmp1 ; <i32> [#uses=1]
15996 br label %endif
15997
15998endif: ; preds = %if, %entry.endif_crit_edge
15999 %tmp26.pre-phi = phi %tango.net.Socket.timeval** [ %tmp26.pre, %entry.endif_crit_edge ], [ %tmp17, %if ] ; <%tango.net.Socket.timeval**> [#uses=1]
16000 %tmp28 = phi i32 [ %tmp5, %entry.endif_crit_edge ], [ %tmp28.pre, %if ] ; <i32> [#uses=1]
16001 %.ptr27 = load %tango.net.Socket.timeval** %tmp26.pre-phi ; <%tango.net.Socket.timeval*> [#uses=1]
16002 %tmp29 = getelementptr %tango.net.Socket.timeval* %.ptr27, i32 %tmp28 ; <%tango.net.Socket.timeval*> [#uses=1]
16003 %tmp3139 = bitcast %tango.net.Socket.timeval* %v_arg to i64* ; <i64*> [#uses=1]
16004 %tmp3040 = bitcast %tango.net.Socket.timeval* %tmp29 to i64* ; <i64*> [#uses=1]
16005 %tmp = load i64* %tmp3139, align 1 ; <i64> [#uses=1]
16006 store i64 %tmp, i64* %tmp3040, align 1
16007 %tmp36 = load i32* %tmp1 ; <i32> [#uses=1]
16008 %tmp37 = add i32 %tmp36, 1 ; <i32> [#uses=1]
16009 store i32 %tmp37, i32* %tmp1
16010 ret void
16011}
16012
16013define weak_odr fastcc void @_D5tango4text5Regex47__T5StackTS5tango4text5Regex11__T4PairTkZ4PairZ5Stack11opCatAssignMFAS5tango4text5Regex11__T4PairTkZ4PairZv(%"tango.text.Regex.Stack!(Pair!(uint)).Stack"* nocapture %.this_arg, %"CharRange!(dchar)[]" %vs_arg) {
16014entry:
16015 %vs_arg43 = extractvalue %"CharRange!(dchar)[]" %vs_arg, 0 ; <i32> [#uses=1]
16016 %vs_arg44 = extractvalue %"CharRange!(dchar)[]" %vs_arg, 1 ; <%tango.net.Socket.timeval*> [#uses=1]
16017 %tmp1 = getelementptr %"tango.text.Regex.Stack!(Pair!(uint)).Stack"* %.this_arg, i32 0, i32 0 ; <i32*> [#uses=3]
16018 %tmp3 = load i32* %tmp1 ; <i32> [#uses=2]
16019 %tmp4 = add i32 %tmp3, %vs_arg43 ; <i32> [#uses=4]
16020 %tmp7 = getelementptr %"tango.text.Regex.Stack!(Pair!(uint)).Stack"* %.this_arg, i32 0, i32 1, i32 0 ; <i32*> [#uses=2]
16021 %.len8 = load i32* %tmp7 ; <i32> [#uses=2]
16022 %tmp10 = icmp ugt i32 %tmp4, %.len8 ; <i1> [#uses=1]
16023 br i1 %tmp10, label %if, label %entry.endif_crit_edge
16024
16025entry.endif_crit_edge: ; preds = %entry
16026 %tmp24.pre = getelementptr %"tango.text.Regex.Stack!(Pair!(uint)).Stack"* %.this_arg, i32 0, i32 1, i32 1 ; <%tango.net.Socket.timeval**> [#uses=1]
16027 br label %endif
16028
16029if: ; preds = %entry
16030 %tmp14 = shl i32 %tmp4, 1 ; <i32> [#uses=2]
16031 %tmp17 = getelementptr %"tango.text.Regex.Stack!(Pair!(uint)).Stack"* %.this_arg, i32 0, i32 1, i32 1 ; <%tango.net.Socket.timeval**> [#uses=3]
16032 %.ptr = load %tango.net.Socket.timeval** %tmp17 ; <%tango.net.Socket.timeval*> [#uses=1]
16033 %tmp18 = bitcast %tango.net.Socket.timeval* %.ptr to i8* ; <i8*> [#uses=1]
16034 %.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]
16035 %.gc_mem19 = bitcast i8* %.gc_mem to %tango.net.Socket.timeval* ; <%tango.net.Socket.timeval*> [#uses=1]
16036 store i32 %tmp14, i32* %tmp7
16037 store %tango.net.Socket.timeval* %.gc_mem19, %tango.net.Socket.timeval** %tmp17
16038 %tmp28.pre = load i32* %tmp1 ; <i32> [#uses=1]
16039 br label %endif
16040
16041endif: ; preds = %if, %entry.endif_crit_edge
16042 %tmp24.pre-phi = phi %tango.net.Socket.timeval** [ %tmp24.pre, %entry.endif_crit_edge ], [ %tmp17, %if ] ; <%tango.net.Socket.timeval**> [#uses=1]
16043 %tmp28 = phi i32 [ %tmp28.pre, %if ], [ %tmp3, %entry.endif_crit_edge ] ; <i32> [#uses=2]
16044 %.ptr25 = load %tango.net.Socket.timeval** %tmp24.pre-phi ; <%tango.net.Socket.timeval*> [#uses=1]
16045 %tmp30 = getelementptr %tango.net.Socket.timeval* %.ptr25, i32 %tmp28 ; <%tango.net.Socket.timeval*> [#uses=1]
16046 %tmp31 = sub i32 %tmp4, %tmp28 ; <i32> [#uses=1]
16047 %tmp32 = shl i32 %tmp31, 3 ; <i32> [#uses=1]
16048 %tmp33 = bitcast %tango.net.Socket.timeval* %tmp30 to i8* ; <i8*> [#uses=1]
16049 %tmp36 = bitcast %tango.net.Socket.timeval* %vs_arg44 to i8* ; <i8*> [#uses=1]
16050 tail call void @llvm.memcpy.i32(i8* %tmp33, i8* %tmp36, i32 %tmp32, i32 1)
16051 store i32 %tmp4, i32* %tmp1
16052 ret void
16053}
16054
16055define weak_odr fastcc void @_D5tango4text5Regex47__T5StackTS5tango4text5Regex11__T4PairTkZ4PairZ5Stack3popMFkZv(%"tango.text.Regex.Stack!(Pair!(uint)).Stack"* nocapture %.this_arg, i32 %num_arg) nounwind {
16056entry:
16057 %tmp1 = getelementptr %"tango.text.Regex.Stack!(Pair!(uint)).Stack"* %.this_arg, i32 0, i32 0 ; <i32*> [#uses=2]
16058 %tmp4 = load i32* %tmp1 ; <i32> [#uses=1]
16059 %tmp6 = sub i32 %tmp4, %num_arg ; <i32> [#uses=1]
16060 store i32 %tmp6, i32* %tmp1
16061 ret void
16062}
16063
16064define 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 {
16065entry:
16066 %tmp3 = getelementptr %"tango.text.Regex.Stack!(Pair!(uint)).Stack"* %.this_arg, i32 0, i32 0 ; <i32*> [#uses=2]
16067 %tmp6 = load i32* %tmp3 ; <i32> [#uses=1]
16068 %tmp7 = add i32 %tmp6, -1 ; <i32> [#uses=2]
16069 store i32 %tmp7, i32* %tmp3
16070 %tmp8 = getelementptr %"tango.text.Regex.Stack!(Pair!(uint)).Stack"* %.this_arg, i32 0, i32 1, i32 1 ; <%tango.net.Socket.timeval**> [#uses=1]
16071 %.ptr = load %tango.net.Socket.timeval** %tmp8 ; <%tango.net.Socket.timeval*> [#uses=1]
16072 %tmp9 = getelementptr %tango.net.Socket.timeval* %.ptr, i32 %tmp7 ; <%tango.net.Socket.timeval*> [#uses=1]
16073 %tmp1112 = bitcast %tango.net.Socket.timeval* %tmp9 to i64* ; <i64*> [#uses=1]
16074 %tmp1013 = bitcast %tango.net.Socket.timeval* %.sret_arg to i64* ; <i64*> [#uses=1]
16075 %tmp = load i64* %tmp1112, align 1 ; <i64> [#uses=1]
16076 store i64 %tmp, i64* %tmp1013, align 1
16077 ret void
16078}
16079
16080define 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 {
16081entry:
16082 %tmp3 = getelementptr %"tango.text.Regex.Stack!(Pair!(uint)).Stack"* %.this_arg, i32 0, i32 0 ; <i32*> [#uses=1]
16083 %tmp4 = load i32* %tmp3 ; <i32> [#uses=1]
16084 %tmp5 = add i32 %tmp4, -1 ; <i32> [#uses=1]
16085 %tmp6 = getelementptr %"tango.text.Regex.Stack!(Pair!(uint)).Stack"* %.this_arg, i32 0, i32 1, i32 1 ; <%tango.net.Socket.timeval**> [#uses=1]
16086 %.ptr = load %tango.net.Socket.timeval** %tmp6 ; <%tango.net.Socket.timeval*> [#uses=1]
16087 %tmp7 = getelementptr %tango.net.Socket.timeval* %.ptr, i32 %tmp5 ; <%tango.net.Socket.timeval*> [#uses=1]
16088 %tmp910 = bitcast %tango.net.Socket.timeval* %tmp7 to i64* ; <i64*> [#uses=1]
16089 %tmp811 = bitcast %tango.net.Socket.timeval* %.sret_arg to i64* ; <i64*> [#uses=1]
16090 %tmp = load i64* %tmp910, align 1 ; <i64> [#uses=1]
16091 store i64 %tmp, i64* %tmp811, align 1
16092 ret void
16093}
16094
16095define weak_odr fastcc %tango.net.Socket.timeval* @_D5tango4text5Regex47__T5StackTS5tango4text5Regex11__T4PairTkZ4PairZ5Stack6topPtrMFZPS5tango4text5Regex11__T4PairTkZ4Pair(%"tango.text.Regex.Stack!(Pair!(uint)).Stack"* nocapture %.this_arg) nounwind readonly {
16096entry:
16097 %tmp3 = getelementptr %"tango.text.Regex.Stack!(Pair!(uint)).Stack"* %.this_arg, i32 0, i32 0 ; <i32*> [#uses=1]
16098 %tmp4 = load i32* %tmp3 ; <i32> [#uses=1]
16099 %tmp5 = add i32 %tmp4, -1 ; <i32> [#uses=1]
16100 %tmp6 = getelementptr %"tango.text.Regex.Stack!(Pair!(uint)).Stack"* %.this_arg, i32 0, i32 1, i32 1 ; <%tango.net.Socket.timeval**> [#uses=1]
16101 %.ptr = load %tango.net.Socket.timeval** %tmp6 ; <%tango.net.Socket.timeval*> [#uses=1]
16102 %tmp7 = getelementptr %tango.net.Socket.timeval* %.ptr, i32 %tmp5 ; <%tango.net.Socket.timeval*> [#uses=1]
16103 ret %tango.net.Socket.timeval* %tmp7
16104}
16105
16106define weak_odr fastcc i1 @_D5tango4text5Regex47__T5StackTS5tango4text5Regex11__T4PairTkZ4PairZ5Stack5emptyMFZb(%"tango.text.Regex.Stack!(Pair!(uint)).Stack"* nocapture %.this_arg) nounwind readonly {
16107entry:
16108 %tmp1 = getelementptr %"tango.text.Regex.Stack!(Pair!(uint)).Stack"* %.this_arg, i32 0, i32 0 ; <i32*> [#uses=1]
16109 %tmp2 = load i32* %tmp1 ; <i32> [#uses=1]
16110 %tmp3 = icmp eq i32 %tmp2, 0 ; <i1> [#uses=1]
16111 ret i1 %tmp3
16112}
16113
16114define weak_odr fastcc void @_D5tango4text5Regex47__T5StackTS5tango4text5Regex11__T4PairTkZ4PairZ5Stack5clearMFZv(%"tango.text.Regex.Stack!(Pair!(uint)).Stack"* nocapture %.this_arg) nounwind {
16115entry:
16116 %tmp1 = getelementptr %"tango.text.Regex.Stack!(Pair!(uint)).Stack"* %.this_arg, i32 0, i32 0 ; <i32*> [#uses=1]
16117 store i32 0, i32* %tmp1
16118 ret void
16119}
16120
16121define weak_odr fastcc i32 @_D5tango4text5Regex47__T5StackTS5tango4text5Regex11__T4PairTkZ4PairZ5Stack6lengthMFZk(%"tango.text.Regex.Stack!(Pair!(uint)).Stack"* nocapture %.this_arg) nounwind readonly {
16122entry:
16123 %tmp1 = getelementptr %"tango.text.Regex.Stack!(Pair!(uint)).Stack"* %.this_arg, i32 0, i32 0 ; <i32*> [#uses=1]
16124 %tmp2 = load i32* %tmp1 ; <i32> [#uses=1]
16125 ret i32 %tmp2
16126}
16127
16128define weak_odr fastcc %"CharRange!(dchar)[]" @_D5tango4text5Regex47__T5StackTS5tango4text5Regex11__T4PairTkZ4PairZ5Stack5arrayMFZAS5tango4text5Regex11__T4PairTkZ4Pair(%"tango.text.Regex.Stack!(Pair!(uint)).Stack"* nocapture %.this_arg) nounwind readonly {
16129entry:
16130 %tmp2 = getelementptr %"tango.text.Regex.Stack!(Pair!(uint)).Stack"* %.this_arg, i32 0, i32 1, i32 1 ; <%tango.net.Socket.timeval**> [#uses=1]
16131 %.ptr = load %tango.net.Socket.timeval** %tmp2 ; <%tango.net.Socket.timeval*> [#uses=1]
16132 %tmp4 = getelementptr %"tango.text.Regex.Stack!(Pair!(uint)).Stack"* %.this_arg, i32 0, i32 0 ; <i32*> [#uses=1]
16133 %tmp5 = load i32* %tmp4 ; <i32> [#uses=1]
16134 %tmp8 = insertvalue %"CharRange!(dchar)[]" undef, i32 %tmp5, 0 ; <%"CharRange!(dchar)[]"> [#uses=1]
16135 %tmp9 = insertvalue %"CharRange!(dchar)[]" %tmp8, %tango.net.Socket.timeval* %.ptr, 1 ; <%"CharRange!(dchar)[]"> [#uses=1]
16136 ret %"CharRange!(dchar)[]" %tmp9
16137}
16138
16139define 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 {
16140entry:
16141 %tmp2 = getelementptr %"tango.text.Regex.Stack!(Pair!(uint)).Stack"* %.this_arg, i32 0, i32 1, i32 1 ; <%tango.net.Socket.timeval**> [#uses=1]
16142 %.ptr = load %tango.net.Socket.timeval** %tmp2 ; <%tango.net.Socket.timeval*> [#uses=1]
16143 %tmp4 = getelementptr %tango.net.Socket.timeval* %.ptr, i32 %i_arg ; <%tango.net.Socket.timeval*> [#uses=1]
16144 %tmp67 = bitcast %tango.net.Socket.timeval* %tmp4 to i64* ; <i64*> [#uses=1]
16145 %tmp58 = bitcast %tango.net.Socket.timeval* %.sret_arg to i64* ; <i64*> [#uses=1]
16146 %tmp = load i64* %tmp67, align 1 ; <i64> [#uses=1]
16147 store i64 %tmp, i64* %tmp58, align 1
16148 ret void
16149}
16150
16151define 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) {
16152entry:
16153 %tmp3 = getelementptr %"tango.text.Regex.Stack!(Pair!(uint)).Stack"* %.this_arg, i32 0, i32 0 ; <i32*> [#uses=1]
16154 %tmp4 = load i32* %tmp3 ; <i32> [#uses=1]
16155 %tmp7 = getelementptr %"tango.text.Regex.Stack!(Pair!(uint)).Stack"* %.this_arg, i32 0, i32 1 ; <%"CharRange!(dchar)[]"*> [#uses=1]
16156 %tmp8 = bitcast %"CharRange!(dchar)[]"* %tmp7 to %"byte[]"* ; <%"byte[]"*> [#uses=1]
16157 %tmp9 = load %"byte[]"* %tmp8 ; <%"byte[]"> [#uses=1]
16158 %tmp10 = tail call %"byte[]" @_adDupT(%object.TypeInfo* bitcast (%object.TypeInfo_Array* @_D46TypeInfo_AS5tango4text5Regex11__T4PairTkZ4Pair6__initZ to %object.TypeInfo*), %"byte[]" %tmp9) ; <%"byte[]"> [#uses=2]
16159 %tmp11 = extractvalue %"byte[]" %tmp10, 0 ; <i32> [#uses=1]
16160 %tmp13 = extractvalue %"byte[]" %tmp10, 1 ; <i8*> [#uses=1]
16161 %tmp14 = bitcast i8* %tmp13 to %tango.net.Socket.timeval* ; <%tango.net.Socket.timeval*> [#uses=1]
16162 %.sret_arg.0 = getelementptr %"tango.text.Regex.Stack!(Pair!(uint)).Stack"* %.sret_arg, i32 0, i32 0 ; <i32*> [#uses=1]
16163 store i32 %tmp4, i32* %.sret_arg.0
16164 %.sret_arg.1.0 = getelementptr %"tango.text.Regex.Stack!(Pair!(uint)).Stack"* %.sret_arg, i32 0, i32 1, i32 0 ; <i32*> [#uses=1]
16165 store i32 %tmp11, i32* %.sret_arg.1.0, align 4
16166 %.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]
16167 store %tango.net.Socket.timeval* %tmp14, %tango.net.Socket.timeval** %.sret_arg.1.1, align 4
16168 ret void
16169}
16170
16171define 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) {
16172entry:
16173 %tmp1 = getelementptr %"tango.text.Regex.Stack!(TNFATransition).Stack"* %.this_arg, i32 0, i32 0 ; <i32*> [#uses=4]
16174 %tmp4 = getelementptr %"tango.text.Regex.Stack!(TNFATransition).Stack"* %.this_arg, i32 0, i32 1, i32 0 ; <i32*> [#uses=2]
16175 %.len = load i32* %tmp4 ; <i32> [#uses=3]
16176 %tmp5 = load i32* %tmp1 ; <i32> [#uses=2]
16177 %tmp6 = icmp ult i32 %tmp5, %.len ; <i1> [#uses=1]
16178 br i1 %tmp6, label %entry.endif_crit_edge, label %if
16179
16180entry.endif_crit_edge: ; preds = %entry
16181 %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]
16182 br label %endif
16183
16184if: ; preds = %entry
16185 %tmp13 = shl i32 %.len, 1 ; <i32> [#uses=1]
16186 %tmp1437 = or i32 %tmp13, 1 ; <i32> [#uses=2]
16187 %tmp17 = getelementptr %"tango.text.Regex.Stack!(TNFATransition).Stack"* %.this_arg, i32 0, i32 1, i32 1 ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"***> [#uses=3]
16188 %.ptr = load %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*** %tmp17 ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"**> [#uses=1]
16189 %tmp18 = bitcast %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** %.ptr to i8* ; <i8*> [#uses=1]
16190 %.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]
16191 %.gc_mem19 = bitcast i8* %.gc_mem to %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"**> [#uses=1]
16192 store i32 %tmp1437, i32* %tmp4
16193 store %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** %.gc_mem19, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*** %tmp17
16194 %tmp28.pre = load i32* %tmp1 ; <i32> [#uses=1]
16195 br label %endif
16196
16197endif: ; preds = %if, %entry.endif_crit_edge
16198 %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]
16199 %tmp28 = phi i32 [ %tmp5, %entry.endif_crit_edge ], [ %tmp28.pre, %if ] ; <i32> [#uses=1]
16200 %.ptr27 = load %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*** %tmp26.pre-phi ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"**> [#uses=1]
16201 %tmp29 = getelementptr %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** %.ptr27, i32 %tmp28 ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"**> [#uses=1]
16202 store %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %v_arg, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** %tmp29
16203 %tmp35 = load i32* %tmp1 ; <i32> [#uses=1]
16204 %tmp36 = add i32 %tmp35, 1 ; <i32> [#uses=1]
16205 store i32 %tmp36, i32* %tmp1
16206 ret void
16207}
16208
16209define weak_odr fastcc void @_D5tango4text5Regex69__T5StackTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ5Stack11opCatAssignMFAC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZv(%"tango.text.Regex.Stack!(TNFATransition).Stack"* nocapture %.this_arg, %"TNFATransition[]" %vs_arg) {
16210entry:
16211 %vs_arg43 = extractvalue %"TNFATransition[]" %vs_arg, 0 ; <i32> [#uses=1]
16212 %vs_arg44 = extractvalue %"TNFATransition[]" %vs_arg, 1 ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"**> [#uses=1]
16213 %tmp1 = getelementptr %"tango.text.Regex.Stack!(TNFATransition).Stack"* %.this_arg, i32 0, i32 0 ; <i32*> [#uses=3]
16214 %tmp3 = load i32* %tmp1 ; <i32> [#uses=2]
16215 %tmp4 = add i32 %tmp3, %vs_arg43 ; <i32> [#uses=4]
16216 %tmp7 = getelementptr %"tango.text.Regex.Stack!(TNFATransition).Stack"* %.this_arg, i32 0, i32 1, i32 0 ; <i32*> [#uses=2]
16217 %.len8 = load i32* %tmp7 ; <i32> [#uses=2]
16218 %tmp10 = icmp ugt i32 %tmp4, %.len8 ; <i1> [#uses=1]
16219 br i1 %tmp10, label %if, label %entry.endif_crit_edge
16220
16221entry.endif_crit_edge: ; preds = %entry
16222 %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]
16223 br label %endif
16224
16225if: ; preds = %entry
16226 %tmp14 = shl i32 %tmp4, 1 ; <i32> [#uses=2]
16227 %tmp17 = getelementptr %"tango.text.Regex.Stack!(TNFATransition).Stack"* %.this_arg, i32 0, i32 1, i32 1 ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"***> [#uses=3]
16228 %.ptr = load %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*** %tmp17 ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"**> [#uses=1]
16229 %tmp18 = bitcast %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** %.ptr to i8* ; <i8*> [#uses=1]
16230 %.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]
16231 %.gc_mem19 = bitcast i8* %.gc_mem to %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"**> [#uses=1]
16232 store i32 %tmp14, i32* %tmp7
16233 store %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** %.gc_mem19, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*** %tmp17
16234 %tmp28.pre = load i32* %tmp1 ; <i32> [#uses=1]
16235 br label %endif
16236
16237endif: ; preds = %if, %entry.endif_crit_edge
16238 %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]
16239 %tmp28 = phi i32 [ %tmp28.pre, %if ], [ %tmp3, %entry.endif_crit_edge ] ; <i32> [#uses=2]
16240 %.ptr25 = load %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*** %tmp24.pre-phi ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"**> [#uses=1]
16241 %tmp30 = getelementptr %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** %.ptr25, i32 %tmp28 ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"**> [#uses=1]
16242 %tmp31 = sub i32 %tmp4, %tmp28 ; <i32> [#uses=1]
16243 %tmp32 = shl i32 %tmp31, 2 ; <i32> [#uses=1]
16244 %tmp33 = bitcast %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** %tmp30 to i8* ; <i8*> [#uses=1]
16245 %tmp36 = bitcast %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** %vs_arg44 to i8* ; <i8*> [#uses=1]
16246 tail call void @llvm.memcpy.i32(i8* %tmp33, i8* %tmp36, i32 %tmp32, i32 1)
16247 store i32 %tmp4, i32* %tmp1
16248 ret void
16249}
16250
16251define weak_odr fastcc void @_D5tango4text5Regex69__T5StackTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ5Stack3popMFkZv(%"tango.text.Regex.Stack!(TNFATransition).Stack"* nocapture %.this_arg, i32 %num_arg) nounwind {
16252entry:
16253 %tmp1 = getelementptr %"tango.text.Regex.Stack!(TNFATransition).Stack"* %.this_arg, i32 0, i32 0 ; <i32*> [#uses=2]
16254 %tmp4 = load i32* %tmp1 ; <i32> [#uses=1]
16255 %tmp6 = sub i32 %tmp4, %num_arg ; <i32> [#uses=1]
16256 store i32 %tmp6, i32* %tmp1
16257 ret void
16258}
16259
16260define weak_odr fastcc %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* @_D5tango4text5Regex69__T5StackTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ5Stack3popMFZC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransition(%"tango.text.Regex.Stack!(TNFATransition).Stack"* nocapture %.this_arg) nounwind {
16261entry:
16262 %tmp3 = getelementptr %"tango.text.Regex.Stack!(TNFATransition).Stack"* %.this_arg, i32 0, i32 0 ; <i32*> [#uses=2]
16263 %tmp6 = load i32* %tmp3 ; <i32> [#uses=1]
16264 %tmp7 = add i32 %tmp6, -1 ; <i32> [#uses=2]
16265 store i32 %tmp7, i32* %tmp3
16266 %tmp8 = getelementptr %"tango.text.Regex.Stack!(TNFATransition).Stack"* %.this_arg, i32 0, i32 1, i32 1 ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"***> [#uses=1]
16267 %.ptr = load %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*** %tmp8 ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"**> [#uses=1]
16268 %tmp9 = getelementptr %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** %.ptr, i32 %tmp7 ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"**> [#uses=1]
16269 %tmp10 = load %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** %tmp9 ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*> [#uses=1]
16270 ret %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %tmp10
16271}
16272
16273define weak_odr fastcc %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* @_D5tango4text5Regex69__T5StackTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ5Stack3topMFZC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransition(%"tango.text.Regex.Stack!(TNFATransition).Stack"* nocapture %.this_arg) nounwind readonly {
16274entry:
16275 %tmp3 = getelementptr %"tango.text.Regex.Stack!(TNFATransition).Stack"* %.this_arg, i32 0, i32 0 ; <i32*> [#uses=1]
16276 %tmp4 = load i32* %tmp3 ; <i32> [#uses=1]
16277 %tmp5 = add i32 %tmp4, -1 ; <i32> [#uses=1]
16278 %tmp6 = getelementptr %"tango.text.Regex.Stack!(TNFATransition).Stack"* %.this_arg, i32 0, i32 1, i32 1 ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"***> [#uses=1]
16279 %.ptr = load %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*** %tmp6 ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"**> [#uses=1]
16280 %tmp7 = getelementptr %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** %.ptr, i32 %tmp5 ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"**> [#uses=1]
16281 %tmp8 = load %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** %tmp7 ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*> [#uses=1]
16282 ret %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %tmp8
16283}
16284
16285define weak_odr fastcc %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** @_D5tango4text5Regex69__T5StackTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ5Stack6topPtrMFZPC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransition(%"tango.text.Regex.Stack!(TNFATransition).Stack"* nocapture %.this_arg) nounwind readonly {
16286entry:
16287 %tmp3 = getelementptr %"tango.text.Regex.Stack!(TNFATransition).Stack"* %.this_arg, i32 0, i32 0 ; <i32*> [#uses=1]
16288 %tmp4 = load i32* %tmp3 ; <i32> [#uses=1]
16289 %tmp5 = add i32 %tmp4, -1 ; <i32> [#uses=1]
16290 %tmp6 = getelementptr %"tango.text.Regex.Stack!(TNFATransition).Stack"* %.this_arg, i32 0, i32 1, i32 1 ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"***> [#uses=1]
16291 %.ptr = load %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*** %tmp6 ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"**> [#uses=1]
16292 %tmp7 = getelementptr %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** %.ptr, i32 %tmp5 ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"**> [#uses=1]
16293 ret %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** %tmp7
16294}
16295
16296define weak_odr fastcc i1 @_D5tango4text5Regex69__T5StackTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ5Stack5emptyMFZb(%"tango.text.Regex.Stack!(TNFATransition).Stack"* nocapture %.this_arg) nounwind readonly {
16297entry:
16298 %tmp1 = getelementptr %"tango.text.Regex.Stack!(TNFATransition).Stack"* %.this_arg, i32 0, i32 0 ; <i32*> [#uses=1]
16299 %tmp2 = load i32* %tmp1 ; <i32> [#uses=1]
16300 %tmp3 = icmp eq i32 %tmp2, 0 ; <i1> [#uses=1]
16301 ret i1 %tmp3
16302}
16303
16304define weak_odr fastcc void @_D5tango4text5Regex69__T5StackTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ5Stack5clearMFZv(%"tango.text.Regex.Stack!(TNFATransition).Stack"* nocapture %.this_arg) nounwind {
16305entry:
16306 %tmp1 = getelementptr %"tango.text.Regex.Stack!(TNFATransition).Stack"* %.this_arg, i32 0, i32 0 ; <i32*> [#uses=1]
16307 store i32 0, i32* %tmp1
16308 ret void
16309}
16310
16311define weak_odr fastcc i32 @_D5tango4text5Regex69__T5StackTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ5Stack6lengthMFZk(%"tango.text.Regex.Stack!(TNFATransition).Stack"* nocapture %.this_arg) nounwind readonly {
16312entry:
16313 %tmp1 = getelementptr %"tango.text.Regex.Stack!(TNFATransition).Stack"* %.this_arg, i32 0, i32 0 ; <i32*> [#uses=1]
16314 %tmp2 = load i32* %tmp1 ; <i32> [#uses=1]
16315 ret i32 %tmp2
16316}
16317
16318define weak_odr fastcc %"TNFATransition[]" @_D5tango4text5Regex69__T5StackTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ5Stack5arrayMFZAC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransition(%"tango.text.Regex.Stack!(TNFATransition).Stack"* nocapture %.this_arg) nounwind readonly {
16319entry:
16320 %tmp2 = getelementptr %"tango.text.Regex.Stack!(TNFATransition).Stack"* %.this_arg, i32 0, i32 1, i32 1 ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"***> [#uses=1]
16321 %.ptr = load %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*** %tmp2 ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"**> [#uses=1]
16322 %tmp4 = getelementptr %"tango.text.Regex.Stack!(TNFATransition).Stack"* %.this_arg, i32 0, i32 0 ; <i32*> [#uses=1]
16323 %tmp5 = load i32* %tmp4 ; <i32> [#uses=1]
16324 %tmp8 = insertvalue %"TNFATransition[]" undef, i32 %tmp5, 0 ; <%"TNFATransition[]"> [#uses=1]
16325 %tmp9 = insertvalue %"TNFATransition[]" %tmp8, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** %.ptr, 1 ; <%"TNFATransition[]"> [#uses=1]
16326 ret %"TNFATransition[]" %tmp9
16327}
16328
16329define 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 {
16330entry:
16331 %tmp2 = getelementptr %"tango.text.Regex.Stack!(TNFATransition).Stack"* %.this_arg, i32 0, i32 1, i32 1 ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"***> [#uses=1]
16332 %.ptr = load %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*** %tmp2 ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"**> [#uses=1]
16333 %tmp4 = getelementptr %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** %.ptr, i32 %i_arg ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"**> [#uses=1]
16334 %tmp5 = load %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** %tmp4 ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*> [#uses=1]
16335 ret %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %tmp5
16336}
16337
16338define 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) {
16339entry:
16340 %tmp3 = getelementptr %"tango.text.Regex.Stack!(TNFATransition).Stack"* %.this_arg, i32 0, i32 0 ; <i32*> [#uses=1]
16341 %tmp4 = load i32* %tmp3 ; <i32> [#uses=1]
16342 %tmp7 = getelementptr %"tango.text.Regex.Stack!(TNFATransition).Stack"* %.this_arg, i32 0, i32 1 ; <%"TNFATransition[]"*> [#uses=1]
16343 %tmp8 = bitcast %"TNFATransition[]"* %tmp7 to %"byte[]"* ; <%"byte[]"*> [#uses=1]
16344 %tmp9 = load %"byte[]"* %tmp8 ; <%"byte[]"> [#uses=1]
16345 %tmp10 = tail call %"byte[]" @_adDupT(%object.TypeInfo* bitcast (%object.TypeInfo_Array* @_D68TypeInfo_AC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransition6__initZ to %object.TypeInfo*), %"byte[]" %tmp9) ; <%"byte[]"> [#uses=2]
16346 %tmp11 = extractvalue %"byte[]" %tmp10, 0 ; <i32> [#uses=1]
16347 %tmp13 = extractvalue %"byte[]" %tmp10, 1 ; <i8*> [#uses=1]
16348 %tmp14 = bitcast i8* %tmp13 to %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"**> [#uses=1]
16349 %.sret_arg.0 = getelementptr %"tango.text.Regex.Stack!(TNFATransition).Stack"* %.sret_arg, i32 0, i32 0 ; <i32*> [#uses=1]
16350 store i32 %tmp4, i32* %.sret_arg.0
16351 %.sret_arg.1.0 = getelementptr %"tango.text.Regex.Stack!(TNFATransition).Stack"* %.sret_arg, i32 0, i32 1, i32 0 ; <i32*> [#uses=1]
16352 store i32 %tmp11, i32* %.sret_arg.1.0, align 4
16353 %.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]
16354 store %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** %tmp14, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*** %.sret_arg.1.1, align 4
16355 ret void
16356}
16357
16358declare i8* @llvm.eh.exception() nounwind
16359
16360declare i32 @_d_eh_personality(i32, i32, i64, i8*, i8*)
16361
16362declare i32 @llvm.eh.selector.i32(i8*, i8*, ...) nounwind
16363
16364declare void @_d_eh_resume_unwind(i8*)
16365
16366declare noalias i8* @_d_allocmemoryT(%object.TypeInfo*)
16367
16368declare void @llvm.memcpy.i32(i8* nocapture, i8* nocapture, i32, i32) nounwind
16369
16370declare noalias i8* @_d_newarrayiT(%object.TypeInfo*, i32)
16371
16372declare noalias i8* @_d_allocclass(%object.ClassInfo*)
16373
16374declare void @_d_throw_exception(%object.Object*)
16375
16376declare i32 @_adEq(%"byte[]", %"byte[]", %object.TypeInfo*) readonly
16377
16378declare void @_d_delarray(i32, i8*)
16379
16380declare void @_d_delclass(%object.Object*)
16381
16382declare fastcc %tango.net.Socket.IPv4Address* @_D5tango3net6Socket11IPv4Address5_ctorMFAaiZC5tango3net6Socket11IPv4Address(%tango.net.Socket.IPv4Address*, %"byte[]", i32)
16383
16384declare noalias i8* @_d_newarrayvT(%object.TypeInfo*, i32)
16385
16386declare i8* @_d_arraysetlengthiT(%object.TypeInfo*, i32, i32, i8*)
16387
16388declare fastcc void @_D5tango4time5Clock5Clock3nowFZS5tango4time4Time4Time(%tango.time.Time.Time* noalias nocapture sret)
16389
16390declare %object.Object* @_d_dynamic_cast(%object.Object*, %object.ClassInfo*) nounwind readonly
16391
16392declare fastcc void @_D5tango3net6Socket6Socket10initializeMFT5tango3net6Socket8socket_tZv(%tango.net.Socket.Socket*, i32)
16393
16394declare fastcc i32 @_D5tango3net6Socket6Socket6selectFC5tango3net6Socket9SocketSetC5tango3net6Socket9SocketSetC5tango3net6Socket9SocketSetPS5tango3net6Socket7timevalZi(%tango.net.Socket.SocketSet*, %tango.net.Socket.SocketSet*, %tango.net.Socket.SocketSet*, %tango.net.Socket.timeval*)
16395
16396declare void @llvm.memset.i32(i8* nocapture, i8, i32, i32) nounwind
16397
16398declare %object.Object* @_d_toObject(i8*) nounwind readonly
16399
16400declare %"byte[]" @_adDupT(%object.TypeInfo*, %"byte[]")
16401
16402declare i8* @_aaGet(%32* nocapture, %object.TypeInfo*, i32, i8* nocapture)
16403
16404declare fastcc %"byte[]" @_D5tango4text5Ascii7toLowerFAaAaZAa(%"byte[]", %"byte[]")
16405
16406declare i8* @_aaIn(%32* nocapture, %object.TypeInfo*, i8* nocapture) readonly
16407
16408declare i32 @_d_switch_string(%"char[][]", %"byte[]") readonly
16409
16410declare fastcc %"tango.text.convert.Layout.Layout!(char).Layout"* @_D5tango4text7convert6Layout13__T6LayoutTaZ6Layout8instanceFZC5tango4text7convert6Layout13__T6LayoutTaZ6Layout()
16411
16412define weak_odr fastcc i1 @_D5tango4text5Regex11__T4TNFATwZ4TNFA5parseMFbZv7performMFE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorbZb(i8* %.nest_arg, i32 %next_op_arg, i1 %explicit_operator_arg) {
16413entry:
16414 %_argptr_storage = alloca %35, align 8 ; <%35*> [#uses=3]
16415 %_argptr_storage298 = alloca %nest.parseListLine, align 8 ; <%nest.parseListLine*> [#uses=4]
16416 %opStack = getelementptr i8* %.nest_arg, i32 8 ; <i8*> [#uses=1]
16417 %tmp3.i = bitcast i8* %opStack to i32* ; <i32*> [#uses=9]
16418 %tmp4.i = load i32* %tmp3.i ; <i32> [#uses=3]
16419 %tmp5.i = add i32 %tmp4.i, -1 ; <i32> [#uses=2]
16420 %tmp6.i = getelementptr i8* %.nest_arg, i32 16 ; <i8*> [#uses=1]
16421 %0 = bitcast i8* %tmp6.i to i32** ; <i32**> [#uses=2]
16422 %.ptr.i = load i32** %0 ; <i32*> [#uses=3]
16423 %tmp7.i = getelementptr i32* %.ptr.i, i32 %tmp5.i ; <i32*> [#uses=1]
16424 %tmp8.i = load i32* %tmp7.i ; <i32> [#uses=3]
16425 %tmp2 = mul i32 %tmp8.i, 17 ; <i32> [#uses=1]
16426 %tmp5 = add i32 %tmp2, %next_op_arg ; <i32> [#uses=1]
16427 %tmp8 = getelementptr [289 x i32]* @.constarray34, i32 0, i32 %tmp5 ; <i32*> [#uses=1]
16428 %tmp9 = load i32* %tmp8 ; <i32> [#uses=1]
16429 switch i32 %tmp9, label %default286 [
16430 i32 0, label %case
16431 i32 1, label %case30
16432 i32 2, label %case204
16433 i32 3, label %case209
16434 i32 4, label %case284
16435 ]
16436
16437case: ; preds = %entry
16438 %tmp4.i350 = getelementptr i8* %.nest_arg, i32 12 ; <i8*> [#uses=1]
16439 %1 = bitcast i8* %tmp4.i350 to i32* ; <i32*> [#uses=2]
16440 %.len.i = load i32* %1 ; <i32> [#uses=3]
16441 %tmp6.i352 = icmp ult i32 %tmp4.i, %.len.i ; <i1> [#uses=1]
16442 br i1 %tmp6.i352, label %_D5tango4text5Regex56__T5StackTE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorZ5Stack4pushMFE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorZv.exit, label %if.i
16443
16444if.i: ; preds = %case
16445 %tmp13.i = shl i32 %.len.i, 1 ; <i32> [#uses=1]
16446 %tmp1437.i = or i32 %tmp13.i, 1 ; <i32> [#uses=2]
16447 %tmp18.i = bitcast i32* %.ptr.i to i8* ; <i8*> [#uses=1]
16448 %.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]
16449 %.gc_mem19.i = bitcast i8* %.gc_mem.i to i32* ; <i32*> [#uses=2]
16450 store i32 %tmp1437.i, i32* %1
16451 store i32* %.gc_mem19.i, i32** %0
16452 %tmp28.pre.i = load i32* %tmp3.i ; <i32> [#uses=1]
16453 br label %_D5tango4text5Regex56__T5StackTE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorZ5Stack4pushMFE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorZv.exit
16454
16455_D5tango4text5Regex56__T5StackTE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorZ5Stack4pushMFE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorZv.exit: ; preds = %if.i, %case
16456 %.ptr27.i = phi i32* [ %.gc_mem19.i, %if.i ], [ %.ptr.i, %case ] ; <i32*> [#uses=1]
16457 %tmp28.i = phi i32 [ %tmp28.pre.i, %if.i ], [ %tmp4.i, %case ] ; <i32> [#uses=1]
16458 %tmp29.i = getelementptr i32* %.ptr27.i, i32 %tmp28.i ; <i32*> [#uses=1]
16459 store i32 %next_op_arg, i32* %tmp29.i
16460 %tmp35.i = load i32* %tmp3.i ; <i32> [#uses=1]
16461 %tmp36.i = add i32 %tmp35.i, 1 ; <i32> [#uses=1]
16462 store i32 %tmp36.i, i32* %tmp3.i
16463 %tmp14 = icmp eq i32 %next_op_arg, 3 ; <i1> [#uses=1]
16464 br i1 %tmp14, label %if, label %switchend
16465
16466if: ; preds = %_D5tango4text5Regex56__T5StackTE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorZ5Stack4pushMFE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorZv.exit
16467 %tagStack = getelementptr i8* %.nest_arg, i32 20 ; <i8*> [#uses=1]
16468 %this = getelementptr i8* %.nest_arg, i32 64 ; <i8*> [#uses=1]
16469 %2 = bitcast i8* %this to %"tango.text.Regex.TNFA!(dchar).TNFA"** ; <%"tango.text.Regex.TNFA!(dchar).TNFA"**> [#uses=2]
16470 %tmp17 = load %"tango.text.Regex.TNFA!(dchar).TNFA"** %2 ; <%"tango.text.Regex.TNFA!(dchar).TNFA"*> [#uses=1]
16471 %tmp18 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %tmp17, i32 0, i32 6 ; <i32*> [#uses=1]
16472 %tmp19 = load i32* %tmp18 ; <i32> [#uses=1]
16473 %tmp1.i360 = bitcast i8* %tagStack to i32* ; <i32*> [#uses=4]
16474 %tmp4.i361 = getelementptr i8* %.nest_arg, i32 24 ; <i8*> [#uses=1]
16475 %3 = bitcast i8* %tmp4.i361 to i32* ; <i32*> [#uses=2]
16476 %.len.i362 = load i32* %3 ; <i32> [#uses=3]
16477 %tmp5.i363 = load i32* %tmp1.i360 ; <i32> [#uses=2]
16478 %tmp6.i364 = icmp ult i32 %tmp5.i363, %.len.i362 ; <i1> [#uses=1]
16479 br i1 %tmp6.i364, label %entry.endif_crit_edge.i366, label %if.i375
16480
16481entry.endif_crit_edge.i366: ; preds = %if
16482 %tmp26.pre.i365 = getelementptr i8* %.nest_arg, i32 28 ; <i8*> [#uses=1]
16483 %4 = bitcast i8* %tmp26.pre.i365 to i32** ; <i32**> [#uses=1]
16484 %.ptr27.i378.pre = load i32** %4 ; <i32*> [#uses=1]
16485 br label %_D5tango4text5Regex12__T5StackTkZ5Stack4pushMFkZv.exit
16486
16487if.i375: ; preds = %if
16488 %tmp13.i367 = shl i32 %.len.i362, 1 ; <i32> [#uses=1]
16489 %tmp1437.i368 = or i32 %tmp13.i367, 1 ; <i32> [#uses=2]
16490 %tmp17.i369 = getelementptr i8* %.nest_arg, i32 28 ; <i8*> [#uses=1]
16491 %5 = bitcast i8* %tmp17.i369 to i32** ; <i32**> [#uses=2]
16492 %.ptr.i370 = load i32** %5 ; <i32*> [#uses=1]
16493 %tmp18.i371 = bitcast i32* %.ptr.i370 to i8* ; <i8*> [#uses=1]
16494 %.gc_mem.i372 = call i8* @_d_arraysetlengthT(%object.TypeInfo* @_D11TypeInfo_Ak6__initZ, i32 %tmp1437.i368, i32 %.len.i362, i8* %tmp18.i371) ; <i8*> [#uses=1]
16495 %.gc_mem19.i373 = bitcast i8* %.gc_mem.i372 to i32* ; <i32*> [#uses=2]
16496 store i32 %tmp1437.i368, i32* %3
16497 store i32* %.gc_mem19.i373, i32** %5
16498 %tmp28.pre.i374 = load i32* %tmp1.i360 ; <i32> [#uses=1]
16499 br label %_D5tango4text5Regex12__T5StackTkZ5Stack4pushMFkZv.exit
16500
16501_D5tango4text5Regex12__T5StackTkZ5Stack4pushMFkZv.exit: ; preds = %if.i375, %entry.endif_crit_edge.i366
16502 %.ptr27.i378 = phi i32* [ %.ptr27.i378.pre, %entry.endif_crit_edge.i366 ], [ %.gc_mem19.i373, %if.i375 ] ; <i32*> [#uses=1]
16503 %tmp28.i377 = phi i32 [ %tmp5.i363, %entry.endif_crit_edge.i366 ], [ %tmp28.pre.i374, %if.i375 ] ; <i32> [#uses=1]
16504 %tmp29.i379 = getelementptr i32* %.ptr27.i378, i32 %tmp28.i377 ; <i32*> [#uses=1]
16505 store i32 %tmp19, i32* %tmp29.i379
16506 %tmp35.i380 = load i32* %tmp1.i360 ; <i32> [#uses=1]
16507 %tmp36.i381 = add i32 %tmp35.i380, 1 ; <i32> [#uses=1]
16508 store i32 %tmp36.i381, i32* %tmp1.i360
16509 %tmp22 = load %"tango.text.Regex.TNFA!(dchar).TNFA"** %2 ; <%"tango.text.Regex.TNFA!(dchar).TNFA"*> [#uses=1]
16510 %tmp23 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %tmp22, i32 0, i32 6 ; <i32*> [#uses=2]
16511 %tmp28 = load i32* %tmp23 ; <i32> [#uses=1]
16512 %tmp29 = add i32 %tmp28, 2 ; <i32> [#uses=1]
16513 store i32 %tmp29, i32* %tmp23
16514 ret i1 false
16515
16516case30: ; preds = %entry
16517 switch i32 %tmp8.i, label %default163 [
16518 i32 1, label %case37
16519 i32 2, label %case44
16520 i32 5, label %case52
16521 i32 8, label %case60
16522 i32 11, label %case68
16523 i32 6, label %case76
16524 i32 9, label %case84
16525 i32 12, label %case92
16526 i32 7, label %case100
16527 i32 10, label %case108
16528 i32 13, label %case116
16529 i32 15, label %case124
16530 i32 16, label %case142
16531 ]
16532
16533case37: ; preds = %case30
16534 %this39 = getelementptr i8* %.nest_arg, i32 64 ; <i8*> [#uses=1]
16535 %6 = bitcast i8* %this39 to %"tango.text.Regex.TNFA!(dchar).TNFA"** ; <%"tango.text.Regex.TNFA!(dchar).TNFA"**> [#uses=1]
16536 %tmp40 = load %"tango.text.Regex.TNFA!(dchar).TNFA"** %6 ; <%"tango.text.Regex.TNFA!(dchar).TNFA"*> [#uses=1]
16537 %frags = getelementptr i8* %.nest_arg, i32 4 ; <i8*> [#uses=1]
16538 %7 = bitcast i8* %frags to %"tango.text.Regex.List!(TNFAFragment).List"** ; <%"tango.text.Regex.List!(TNFAFragment).List"**> [#uses=1]
16539 %tmp42 = load %"tango.text.Regex.List!(TNFAFragment).List"** %7 ; <%"tango.text.Regex.List!(TNFAFragment).List"*> [#uses=1]
16540 call fastcc void @_D5tango4text5Regex11__T4TNFATwZ4TNFA15constructConcatMFC5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4ListZv(%"tango.text.Regex.TNFA!(dchar).TNFA"* %tmp40, %"tango.text.Regex.List!(TNFAFragment).List"* %tmp42)
16541 br label %switchend33
16542
16543case44: ; preds = %case30
16544 %this46 = getelementptr i8* %.nest_arg, i32 64 ; <i8*> [#uses=1]
16545 %8 = bitcast i8* %this46 to %"tango.text.Regex.TNFA!(dchar).TNFA"** ; <%"tango.text.Regex.TNFA!(dchar).TNFA"**> [#uses=1]
16546 %tmp47 = load %"tango.text.Regex.TNFA!(dchar).TNFA"** %8 ; <%"tango.text.Regex.TNFA!(dchar).TNFA"*> [#uses=1]
16547 %frags49 = getelementptr i8* %.nest_arg, i32 4 ; <i8*> [#uses=1]
16548 %9 = bitcast i8* %frags49 to %"tango.text.Regex.List!(TNFAFragment).List"** ; <%"tango.text.Regex.List!(TNFAFragment).List"**> [#uses=1]
16549 %tmp50 = load %"tango.text.Regex.List!(TNFAFragment).List"** %9 ; <%"tango.text.Regex.List!(TNFAFragment).List"*> [#uses=1]
16550 call fastcc void @_D5tango4text5Regex11__T4TNFATwZ4TNFA15constructAlternMFC5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4ListZv(%"tango.text.Regex.TNFA!(dchar).TNFA"* %tmp47, %"tango.text.Regex.List!(TNFAFragment).List"* %tmp50)
16551 br label %switchend33
16552
16553case52: ; preds = %case30
16554 %this54 = getelementptr i8* %.nest_arg, i32 64 ; <i8*> [#uses=1]
16555 %10 = bitcast i8* %this54 to %"tango.text.Regex.TNFA!(dchar).TNFA"** ; <%"tango.text.Regex.TNFA!(dchar).TNFA"**> [#uses=1]
16556 %tmp55 = load %"tango.text.Regex.TNFA!(dchar).TNFA"** %10 ; <%"tango.text.Regex.TNFA!(dchar).TNFA"*> [#uses=1]
16557 %frags57 = getelementptr i8* %.nest_arg, i32 4 ; <i8*> [#uses=1]
16558 %11 = bitcast i8* %frags57 to %"tango.text.Regex.List!(TNFAFragment).List"** ; <%"tango.text.Regex.List!(TNFAFragment).List"**> [#uses=1]
16559 %tmp58 = load %"tango.text.Regex.List!(TNFAFragment).List"** %11 ; <%"tango.text.Regex.List!(TNFAFragment).List"*> [#uses=1]
16560 call fastcc void @_D5tango4text5Regex11__T4TNFATwZ4TNFA16constructZeroOneMFC5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4ListE5tango4text5Regex13PriorityClassZv(%"tango.text.Regex.TNFA!(dchar).TNFA"* %tmp55, %"tango.text.Regex.List!(TNFAFragment).List"* %tmp58, i32 0)
16561 br label %switchend33
16562
16563case60: ; preds = %case30
16564 %this62 = getelementptr i8* %.nest_arg, i32 64 ; <i8*> [#uses=1]
16565 %12 = bitcast i8* %this62 to %"tango.text.Regex.TNFA!(dchar).TNFA"** ; <%"tango.text.Regex.TNFA!(dchar).TNFA"**> [#uses=1]
16566 %tmp63 = load %"tango.text.Regex.TNFA!(dchar).TNFA"** %12 ; <%"tango.text.Regex.TNFA!(dchar).TNFA"*> [#uses=1]
16567 %frags65 = getelementptr i8* %.nest_arg, i32 4 ; <i8*> [#uses=1]
16568 %13 = bitcast i8* %frags65 to %"tango.text.Regex.List!(TNFAFragment).List"** ; <%"tango.text.Regex.List!(TNFAFragment).List"**> [#uses=1]
16569 %tmp66 = load %"tango.text.Regex.List!(TNFAFragment).List"** %13 ; <%"tango.text.Regex.List!(TNFAFragment).List"*> [#uses=1]
16570 call fastcc void @_D5tango4text5Regex11__T4TNFATwZ4TNFA16constructZeroOneMFC5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4ListE5tango4text5Regex13PriorityClassZv(%"tango.text.Regex.TNFA!(dchar).TNFA"* %tmp63, %"tango.text.Regex.List!(TNFAFragment).List"* %tmp66, i32 2)
16571 br label %switchend33
16572
16573case68: ; preds = %case30
16574 %this70 = getelementptr i8* %.nest_arg, i32 64 ; <i8*> [#uses=1]
16575 %14 = bitcast i8* %this70 to %"tango.text.Regex.TNFA!(dchar).TNFA"** ; <%"tango.text.Regex.TNFA!(dchar).TNFA"**> [#uses=1]
16576 %tmp71 = load %"tango.text.Regex.TNFA!(dchar).TNFA"** %14 ; <%"tango.text.Regex.TNFA!(dchar).TNFA"*> [#uses=1]
16577 %frags73 = getelementptr i8* %.nest_arg, i32 4 ; <i8*> [#uses=1]
16578 %15 = bitcast i8* %frags73 to %"tango.text.Regex.List!(TNFAFragment).List"** ; <%"tango.text.Regex.List!(TNFAFragment).List"**> [#uses=1]
16579 %tmp74 = load %"tango.text.Regex.List!(TNFAFragment).List"** %15 ; <%"tango.text.Regex.List!(TNFAFragment).List"*> [#uses=1]
16580 call fastcc void @_D5tango4text5Regex11__T4TNFATwZ4TNFA16constructZeroOneMFC5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4ListE5tango4text5Regex13PriorityClassZv(%"tango.text.Regex.TNFA!(dchar).TNFA"* %tmp71, %"tango.text.Regex.List!(TNFAFragment).List"* %tmp74, i32 3)
16581 br label %switchend33
16582
16583case76: ; preds = %case30
16584 %this78 = getelementptr i8* %.nest_arg, i32 64 ; <i8*> [#uses=1]
16585 %16 = bitcast i8* %this78 to %"tango.text.Regex.TNFA!(dchar).TNFA"** ; <%"tango.text.Regex.TNFA!(dchar).TNFA"**> [#uses=1]
16586 %tmp79 = load %"tango.text.Regex.TNFA!(dchar).TNFA"** %16 ; <%"tango.text.Regex.TNFA!(dchar).TNFA"*> [#uses=1]
16587 %frags81 = getelementptr i8* %.nest_arg, i32 4 ; <i8*> [#uses=1]
16588 %17 = bitcast i8* %frags81 to %"tango.text.Regex.List!(TNFAFragment).List"** ; <%"tango.text.Regex.List!(TNFAFragment).List"**> [#uses=1]
16589 %tmp82 = load %"tango.text.Regex.List!(TNFAFragment).List"** %17 ; <%"tango.text.Regex.List!(TNFAFragment).List"*> [#uses=1]
16590 call fastcc void @_D5tango4text5Regex11__T4TNFATwZ4TNFA17constructZeroMoreMFC5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4ListE5tango4text5Regex13PriorityClassZv(%"tango.text.Regex.TNFA!(dchar).TNFA"* %tmp79, %"tango.text.Regex.List!(TNFAFragment).List"* %tmp82, i32 0)
16591 br label %switchend33
16592
16593case84: ; preds = %case30
16594 %this86 = getelementptr i8* %.nest_arg, i32 64 ; <i8*> [#uses=1]
16595 %18 = bitcast i8* %this86 to %"tango.text.Regex.TNFA!(dchar).TNFA"** ; <%"tango.text.Regex.TNFA!(dchar).TNFA"**> [#uses=1]
16596 %tmp87 = load %"tango.text.Regex.TNFA!(dchar).TNFA"** %18 ; <%"tango.text.Regex.TNFA!(dchar).TNFA"*> [#uses=1]
16597 %frags89 = getelementptr i8* %.nest_arg, i32 4 ; <i8*> [#uses=1]
16598 %19 = bitcast i8* %frags89 to %"tango.text.Regex.List!(TNFAFragment).List"** ; <%"tango.text.Regex.List!(TNFAFragment).List"**> [#uses=1]
16599 %tmp90 = load %"tango.text.Regex.List!(TNFAFragment).List"** %19 ; <%"tango.text.Regex.List!(TNFAFragment).List"*> [#uses=1]
16600 call fastcc void @_D5tango4text5Regex11__T4TNFATwZ4TNFA17constructZeroMoreMFC5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4ListE5tango4text5Regex13PriorityClassZv(%"tango.text.Regex.TNFA!(dchar).TNFA"* %tmp87, %"tango.text.Regex.List!(TNFAFragment).List"* %tmp90, i32 2)
16601 br label %switchend33
16602
16603case92: ; preds = %case30
16604 %this94 = getelementptr i8* %.nest_arg, i32 64 ; <i8*> [#uses=1]
16605 %20 = bitcast i8* %this94 to %"tango.text.Regex.TNFA!(dchar).TNFA"** ; <%"tango.text.Regex.TNFA!(dchar).TNFA"**> [#uses=1]
16606 %tmp95 = load %"tango.text.Regex.TNFA!(dchar).TNFA"** %20 ; <%"tango.text.Regex.TNFA!(dchar).TNFA"*> [#uses=1]
16607 %frags97 = getelementptr i8* %.nest_arg, i32 4 ; <i8*> [#uses=1]
16608 %21 = bitcast i8* %frags97 to %"tango.text.Regex.List!(TNFAFragment).List"** ; <%"tango.text.Regex.List!(TNFAFragment).List"**> [#uses=1]
16609 %tmp98 = load %"tango.text.Regex.List!(TNFAFragment).List"** %21 ; <%"tango.text.Regex.List!(TNFAFragment).List"*> [#uses=1]
16610 call fastcc void @_D5tango4text5Regex11__T4TNFATwZ4TNFA17constructZeroMoreMFC5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4ListE5tango4text5Regex13PriorityClassZv(%"tango.text.Regex.TNFA!(dchar).TNFA"* %tmp95, %"tango.text.Regex.List!(TNFAFragment).List"* %tmp98, i32 3)
16611 br label %switchend33
16612
16613case100: ; preds = %case30
16614 %this102 = getelementptr i8* %.nest_arg, i32 64 ; <i8*> [#uses=1]
16615 %22 = bitcast i8* %this102 to %"tango.text.Regex.TNFA!(dchar).TNFA"** ; <%"tango.text.Regex.TNFA!(dchar).TNFA"**> [#uses=1]
16616 %tmp103 = load %"tango.text.Regex.TNFA!(dchar).TNFA"** %22 ; <%"tango.text.Regex.TNFA!(dchar).TNFA"*> [#uses=1]
16617 %frags105 = getelementptr i8* %.nest_arg, i32 4 ; <i8*> [#uses=1]
16618 %23 = bitcast i8* %frags105 to %"tango.text.Regex.List!(TNFAFragment).List"** ; <%"tango.text.Regex.List!(TNFAFragment).List"**> [#uses=1]
16619 %tmp106 = load %"tango.text.Regex.List!(TNFAFragment).List"** %23 ; <%"tango.text.Regex.List!(TNFAFragment).List"*> [#uses=1]
16620 call fastcc void @_D5tango4text5Regex11__T4TNFATwZ4TNFA16constructOneMoreMFC5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4ListE5tango4text5Regex13PriorityClassZv(%"tango.text.Regex.TNFA!(dchar).TNFA"* %tmp103, %"tango.text.Regex.List!(TNFAFragment).List"* %tmp106, i32 0)
16621 br label %switchend33
16622
16623case108: ; preds = %case30
16624 %this110 = getelementptr i8* %.nest_arg, i32 64 ; <i8*> [#uses=1]
16625 %24 = bitcast i8* %this110 to %"tango.text.Regex.TNFA!(dchar).TNFA"** ; <%"tango.text.Regex.TNFA!(dchar).TNFA"**> [#uses=1]
16626 %tmp111 = load %"tango.text.Regex.TNFA!(dchar).TNFA"** %24 ; <%"tango.text.Regex.TNFA!(dchar).TNFA"*> [#uses=1]
16627 %frags113 = getelementptr i8* %.nest_arg, i32 4 ; <i8*> [#uses=1]
16628 %25 = bitcast i8* %frags113 to %"tango.text.Regex.List!(TNFAFragment).List"** ; <%"tango.text.Regex.List!(TNFAFragment).List"**> [#uses=1]
16629 %tmp114 = load %"tango.text.Regex.List!(TNFAFragment).List"** %25 ; <%"tango.text.Regex.List!(TNFAFragment).List"*> [#uses=1]
16630 call fastcc void @_D5tango4text5Regex11__T4TNFATwZ4TNFA16constructOneMoreMFC5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4ListE5tango4text5Regex13PriorityClassZv(%"tango.text.Regex.TNFA!(dchar).TNFA"* %tmp111, %"tango.text.Regex.List!(TNFAFragment).List"* %tmp114, i32 2)
16631 br label %switchend33
16632
16633case116: ; preds = %case30
16634 %this118 = getelementptr i8* %.nest_arg, i32 64 ; <i8*> [#uses=1]
16635 %26 = bitcast i8* %this118 to %"tango.text.Regex.TNFA!(dchar).TNFA"** ; <%"tango.text.Regex.TNFA!(dchar).TNFA"**> [#uses=1]
16636 %tmp119 = load %"tango.text.Regex.TNFA!(dchar).TNFA"** %26 ; <%"tango.text.Regex.TNFA!(dchar).TNFA"*> [#uses=1]
16637 %frags121 = getelementptr i8* %.nest_arg, i32 4 ; <i8*> [#uses=1]
16638 %27 = bitcast i8* %frags121 to %"tango.text.Regex.List!(TNFAFragment).List"** ; <%"tango.text.Regex.List!(TNFAFragment).List"**> [#uses=1]
16639 %tmp122 = load %"tango.text.Regex.List!(TNFAFragment).List"** %27 ; <%"tango.text.Regex.List!(TNFAFragment).List"*> [#uses=1]
16640 call fastcc void @_D5tango4text5Regex11__T4TNFATwZ4TNFA16constructOneMoreMFC5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4ListE5tango4text5Regex13PriorityClassZv(%"tango.text.Regex.TNFA!(dchar).TNFA"* %tmp119, %"tango.text.Regex.List!(TNFAFragment).List"* %tmp122, i32 3)
16641 br label %switchend33
16642
16643case124: ; preds = %case30
16644 %occurStack = getelementptr i8* %.nest_arg, i32 32 ; <i8*> [#uses=1]
16645 %tmp3.i389 = bitcast i8* %occurStack to i32* ; <i32*> [#uses=2]
16646 %tmp6.i390 = load i32* %tmp3.i389 ; <i32> [#uses=1]
16647 %tmp7.i391 = add i32 %tmp6.i390, -1 ; <i32> [#uses=2]
16648 store i32 %tmp7.i391, i32* %tmp3.i389
16649 %tmp8.i392 = getelementptr i8* %.nest_arg, i32 40 ; <i8*> [#uses=1]
16650 %28 = bitcast i8* %tmp8.i392 to %tango.net.Socket.timeval** ; <%tango.net.Socket.timeval**> [#uses=1]
16651 %.ptr.i393 = load %tango.net.Socket.timeval** %28 ; <%tango.net.Socket.timeval*> [#uses=1]
16652 %tmp9.i394 = getelementptr %tango.net.Socket.timeval* %.ptr.i393, i32 %tmp7.i391 ; <%tango.net.Socket.timeval*> [#uses=1]
16653 %tmp1112.i = bitcast %tango.net.Socket.timeval* %tmp9.i394 to i64* ; <i64*> [#uses=1]
16654 %tmp.i = load i64* %tmp1112.i, align 1 ; <i64> [#uses=2]
16655 %sroa.store.elt456 = lshr i64 %tmp.i, 32 ; <i64> [#uses=1]
16656 %this129 = getelementptr i8* %.nest_arg, i32 64 ; <i8*> [#uses=1]
16657 %29 = bitcast i8* %this129 to %"tango.text.Regex.TNFA!(dchar).TNFA"** ; <%"tango.text.Regex.TNFA!(dchar).TNFA"**> [#uses=1]
16658 %tmp130 = load %"tango.text.Regex.TNFA!(dchar).TNFA"** %29 ; <%"tango.text.Regex.TNFA!(dchar).TNFA"*> [#uses=1]
16659 %frags132 = getelementptr i8* %.nest_arg, i32 4 ; <i8*> [#uses=1]
16660 %30 = bitcast i8* %frags132 to %"tango.text.Regex.List!(TNFAFragment).List"** ; <%"tango.text.Regex.List!(TNFAFragment).List"**> [#uses=1]
16661 %tmp133 = load %"tango.text.Regex.List!(TNFAFragment).List"** %30 ; <%"tango.text.Regex.List!(TNFAFragment).List"*> [#uses=1]
16662 %tmp347 = trunc i64 %sroa.store.elt456 to i32 ; <i32> [#uses=1]
16663 %tmp344 = trunc i64 %tmp.i to i32 ; <i32> [#uses=1]
16664 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)
16665 br label %switchend33
16666
16667case142: ; preds = %case30
16668 %occurStack145 = getelementptr i8* %.nest_arg, i32 32 ; <i8*> [#uses=1]
16669 %tmp3.i446 = bitcast i8* %occurStack145 to i32* ; <i32*> [#uses=2]
16670 %tmp6.i447 = load i32* %tmp3.i446 ; <i32> [#uses=1]
16671 %tmp7.i448 = add i32 %tmp6.i447, -1 ; <i32> [#uses=2]
16672 store i32 %tmp7.i448, i32* %tmp3.i446
16673 %tmp8.i449 = getelementptr i8* %.nest_arg, i32 40 ; <i8*> [#uses=1]
16674 %31 = bitcast i8* %tmp8.i449 to %tango.net.Socket.timeval** ; <%tango.net.Socket.timeval**> [#uses=1]
16675 %.ptr.i450 = load %tango.net.Socket.timeval** %31 ; <%tango.net.Socket.timeval*> [#uses=1]
16676 %tmp9.i451 = getelementptr %tango.net.Socket.timeval* %.ptr.i450, i32 %tmp7.i448 ; <%tango.net.Socket.timeval*> [#uses=1]
16677 %tmp1112.i452 = bitcast %tango.net.Socket.timeval* %tmp9.i451 to i64* ; <i64*> [#uses=1]
16678 %tmp.i454 = load i64* %tmp1112.i452, align 1 ; <i64> [#uses=2]
16679 %sroa.store.elt = lshr i64 %tmp.i454, 32 ; <i64> [#uses=1]
16680 %this150 = getelementptr i8* %.nest_arg, i32 64 ; <i8*> [#uses=1]
16681 %32 = bitcast i8* %this150 to %"tango.text.Regex.TNFA!(dchar).TNFA"** ; <%"tango.text.Regex.TNFA!(dchar).TNFA"**> [#uses=1]
16682 %tmp151 = load %"tango.text.Regex.TNFA!(dchar).TNFA"** %32 ; <%"tango.text.Regex.TNFA!(dchar).TNFA"*> [#uses=1]
16683 %frags153 = getelementptr i8* %.nest_arg, i32 4 ; <i8*> [#uses=1]
16684 %33 = bitcast i8* %frags153 to %"tango.text.Regex.List!(TNFAFragment).List"** ; <%"tango.text.Regex.List!(TNFAFragment).List"**> [#uses=1]
16685 %tmp154 = load %"tango.text.Regex.List!(TNFAFragment).List"** %33 ; <%"tango.text.Regex.List!(TNFAFragment).List"*> [#uses=1]
16686 %tmp342 = trunc i64 %sroa.store.elt to i32 ; <i32> [#uses=1]
16687 %tmp339 = trunc i64 %tmp.i454 to i32 ; <i32> [#uses=1]
16688 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)
16689 br label %switchend33
16690
16691default163: ; preds = %case30
16692 %.newclass_gc_alloc = call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex15RegExpException7__ClassZ) ; <i8*> [#uses=5]
16693 %.newclass_gc = bitcast i8* %.newclass_gc_alloc to %object.Exception* ; <%object.Exception*> [#uses=1]
16694 %vtbl = bitcast i8* %.newclass_gc_alloc to %object.Exception.__vtbl** ; <%object.Exception.__vtbl**> [#uses=1]
16695 store %object.Exception.__vtbl* @_D5tango4text5Regex15RegExpException6__vtblZ, %object.Exception.__vtbl** %vtbl
16696 %monitor = getelementptr i8* %.newclass_gc_alloc, i32 4 ; <i8*> [#uses=1]
16697 %34 = bitcast i8* %monitor to i8** ; <i8**> [#uses=1]
16698 store i8* null, i8** %34
16699 %tmp164 = getelementptr i8* %.newclass_gc_alloc, i32 8 ; <i8*> [#uses=1]
16700 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)
16701 %this169 = getelementptr i8* %.nest_arg, i32 64 ; <i8*> [#uses=1]
16702 %35 = bitcast i8* %this169 to %"tango.text.Regex.TNFA!(dchar).TNFA"** ; <%"tango.text.Regex.TNFA!(dchar).TNFA"**> [#uses=1]
16703 %tmp170 = load %"tango.text.Regex.TNFA!(dchar).TNFA"** %35 ; <%"tango.text.Regex.TNFA!(dchar).TNFA"*> [#uses=3]
16704 %tmp172 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %tmp170, i32 0, i32 2, i32 1 ; <i32**> [#uses=1]
16705 %.ptr173 = load i32** %tmp172 ; <i32*> [#uses=1]
16706 %tmp177 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %tmp170, i32 0, i32 7 ; <i32*> [#uses=1]
16707 %tmp178 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %tmp170, i32 0, i32 2, i32 0 ; <i32*> [#uses=1]
16708 %.len = load i32* %tmp178 ; <i32> [#uses=1]
16709 %tmp179 = load i32* %tmp177 ; <i32> [#uses=2]
16710 %tmp180 = getelementptr i32* %.ptr173, i32 %tmp179 ; <i32*> [#uses=1]
16711 %tmp181 = sub i32 %.len, %tmp179 ; <i32> [#uses=1]
16712 %tmp182 = insertvalue %"Act[]" undef, i32 %tmp181, 0 ; <%"Act[]"> [#uses=1]
16713 %tmp183 = insertvalue %"Act[]" %tmp182, i32* %tmp180, 1 ; <%"Act[]"> [#uses=1]
16714 %tmp184 = call fastcc %"byte[]" @_D5tango4text7convert3Utf8toStringFAwAaPkZAa(%"Act[]" %tmp183, %"byte[]" zeroinitializer, i32* null) ; <%"byte[]"> [#uses=2]
16715 %.len185 = extractvalue %"byte[]" %tmp184, 0 ; <i32> [#uses=4]
16716 %tmp186 = add i32 %.len185, 27 ; <i32> [#uses=3]
16717 %.nongc_mem = alloca i8, i32 %tmp186, align 1 ; <i8*> [#uses=3]
16718 %.ptr187 = extractvalue %"byte[]" %tmp184, 1 ; <i8*> [#uses=1]
16719 call void @llvm.memcpy.i32(i8* %.nongc_mem, i8* getelementptr ([28 x i8]* @.str211, i32 0, i32 0), i32 27, i32 1)
16720 %tmp188 = getelementptr i8* %.nongc_mem, i32 27 ; <i8*> [#uses=1]
16721 call void @llvm.memcpy.i32(i8* %tmp188, i8* %.ptr187, i32 %.len185, i32 1)
16722 %tmp190 = add i32 %.len185, 28 ; <i32> [#uses=2]
16723 %.nongc_mem459 = alloca i8, i32 %tmp190, align 1 ; <i8*> [#uses=3]
16724 call void @llvm.memcpy.i32(i8* %.nongc_mem459, i8* %.nongc_mem, i32 %tmp186, i32 1)
16725 %tmp193 = getelementptr i8* %.nongc_mem459, i32 %tmp186 ; <i8*> [#uses=1]
16726 store i8 34, i8* %tmp193, align 1
16727 %tmp2.i438 = add i32 %.len185, 36 ; <i32> [#uses=2]
16728 %.gc_mem.i439 = call noalias i8* @_d_newarrayvT(%object.TypeInfo* @_D11TypeInfo_Aa6__initZ, i32 %tmp2.i438) ; <i8*> [#uses=3]
16729 %.gc_mem12.i440 = bitcast i8* %.gc_mem.i439 to i64* ; <i64*> [#uses=1]
16730 %tmp.i441 = load i64* bitcast ([9 x i8]* @.str280 to i64*), align 8 ; <i64> [#uses=1]
16731 store i64 %tmp.i441, i64* %.gc_mem12.i440, align 1
16732 %tmp4.i442 = getelementptr i8* %.gc_mem.i439, i32 8 ; <i8*> [#uses=1]
16733 call void @llvm.memcpy.i32(i8* %tmp4.i442, i8* %.nongc_mem459, i32 %tmp190, i32 1)
16734 %tmp6.i443 = insertvalue %"byte[]" undef, i32 %tmp2.i438, 0 ; <%"byte[]"> [#uses=1]
16735 %tmp7.i444 = insertvalue %"byte[]" %tmp6.i443, i8* %.gc_mem.i439, 1 ; <%"byte[]"> [#uses=1]
16736 %tmp8.i445 = call fastcc %object.Exception* @_D6object9Exception5_ctorMFAaC9ExceptionZC9Exception(%object.Exception* %.newclass_gc, %"byte[]" %tmp7.i444, %object.Exception* null) ; <%object.Exception*> [#uses=0]
16737 %tmp197 = bitcast i8* %.newclass_gc_alloc to %object.Object* ; <%object.Object*> [#uses=1]
16738 call void @_d_throw_exception(%object.Object* %tmp197)
16739 unreachable
16740
16741switchend33: ; preds = %case142, %case124, %case116, %case108, %case100, %case92, %case84, %case76, %case68, %case60, %case52, %case44, %case37
16742 %tmp6.i430 = load i32* %tmp3.i ; <i32> [#uses=1]
16743 %tmp7.i431 = add i32 %tmp6.i430, -1 ; <i32> [#uses=1]
16744 store i32 %tmp7.i431, i32* %tmp3.i
16745 %tmp202 = call fastcc i1 @_D5tango4text5Regex11__T4TNFATwZ4TNFA5parseMFbZv7performMFE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorbZb(i8* %.nest_arg, i32 %next_op_arg, i1 false) ; <i1> [#uses=0]
16746 ret i1 false
16747
16748case204: ; preds = %entry
16749 store i32 %tmp5.i, i32* %tmp3.i
16750 ret i1 false
16751
16752case209: ; preds = %entry
16753 %tmp213 = icmp eq i32 %tmp8.i, 3 ; <i1> [#uses=1]
16754 br i1 %tmp213, label %if214, label %else
16755
16756if214: ; preds = %case209
16757 %tagStack217 = getelementptr i8* %.nest_arg, i32 20 ; <i8*> [#uses=1]
16758 %tmp1.i409 = bitcast i8* %tagStack217 to i32* ; <i32*> [#uses=3]
16759 %tmp2.i410 = load i32* %tmp1.i409 ; <i32> [#uses=2]
16760 %tmp3.i411 = icmp eq i32 %tmp2.i410, 0 ; <i1> [#uses=1]
16761 br i1 %tmp3.i411, label %if219, label %endif220
16762
16763if219: ; preds = %if214
16764 %.newclass_gc_alloc221 = call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex15RegExpException7__ClassZ) ; <i8*> [#uses=5]
16765 %.newclass_gc222 = bitcast i8* %.newclass_gc_alloc221 to %object.Exception* ; <%object.Exception*> [#uses=1]
16766 %vtbl223 = bitcast i8* %.newclass_gc_alloc221 to %object.Exception.__vtbl** ; <%object.Exception.__vtbl**> [#uses=1]
16767 store %object.Exception.__vtbl* @_D5tango4text5Regex15RegExpException6__vtblZ, %object.Exception.__vtbl** %vtbl223
16768 %monitor224 = getelementptr i8* %.newclass_gc_alloc221, i32 4 ; <i8*> [#uses=1]
16769 %36 = bitcast i8* %monitor224 to i8** ; <i8**> [#uses=1]
16770 store i8* null, i8** %36
16771 %tmp225 = getelementptr i8* %.newclass_gc_alloc221, i32 8 ; <i8*> [#uses=1]
16772 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)
16773 %layout = bitcast i8* %.nest_arg to %"tango.text.convert.Layout.Layout!(char).Layout"** ; <%"tango.text.convert.Layout.Layout!(char).Layout"**> [#uses=1]
16774 %tmp230 = load %"tango.text.convert.Layout.Layout!(char).Layout"** %layout ; <%"tango.text.convert.Layout.Layout!(char).Layout"*> [#uses=1]
16775 %tmp231 = getelementptr %35* %_argptr_storage, i32 0, i32 0 ; <i32*> [#uses=1]
16776 %this233 = getelementptr i8* %.nest_arg, i32 64 ; <i8*> [#uses=1]
16777 %37 = bitcast i8* %this233 to %"tango.text.Regex.TNFA!(dchar).TNFA"** ; <%"tango.text.Regex.TNFA!(dchar).TNFA"**> [#uses=1]
16778 %tmp234 = load %"tango.text.Regex.TNFA!(dchar).TNFA"** %37 ; <%"tango.text.Regex.TNFA!(dchar).TNFA"*> [#uses=3]
16779 %tmp235 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %tmp234, i32 0, i32 7 ; <i32*> [#uses=2]
16780 %tmp236 = load i32* %tmp235 ; <i32> [#uses=1]
16781 store i32 %tmp236, i32* %tmp231, align 8
16782 %tmp237 = getelementptr %35* %_argptr_storage, i32 0, i32 1 ; <%"byte[]"*> [#uses=1]
16783 %tmp242 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %tmp234, i32 0, i32 2, i32 1 ; <i32**> [#uses=1]
16784 %.ptr243 = load i32** %tmp242 ; <i32*> [#uses=1]
16785 %tmp248 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %tmp234, i32 0, i32 2, i32 0 ; <i32*> [#uses=1]
16786 %.len249 = load i32* %tmp248 ; <i32> [#uses=1]
16787 %tmp250 = load i32* %tmp235 ; <i32> [#uses=2]
16788 %tmp251 = getelementptr i32* %.ptr243, i32 %tmp250 ; <i32*> [#uses=1]
16789 %tmp252 = sub i32 %.len249, %tmp250 ; <i32> [#uses=1]
16790 %tmp253 = insertvalue %"Act[]" undef, i32 %tmp252, 0 ; <%"Act[]"> [#uses=1]
16791 %tmp254 = insertvalue %"Act[]" %tmp253, i32* %tmp251, 1 ; <%"Act[]"> [#uses=1]
16792 %tmp255 = call fastcc %"byte[]" @_D5tango4text7convert3Utf8toStringFAwAaPkZAa(%"Act[]" %tmp254, %"byte[]" zeroinitializer, i32* null) ; <%"byte[]"> [#uses=1]
16793 store %"byte[]" %tmp255, %"byte[]"* %tmp237
16794 %tmp257 = bitcast %35* %_argptr_storage to i8* ; <i8*> [#uses=1]
16795 %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]
16796 %msg_arg10.i = extractvalue %"byte[]" %tmp4.i408, 0 ; <i32> [#uses=2]
16797 %msg_arg11.i = extractvalue %"byte[]" %tmp4.i408, 1 ; <i8*> [#uses=1]
16798 %tmp2.i = add i32 %msg_arg10.i, 8 ; <i32> [#uses=2]
16799 %.gc_mem.i402 = call noalias i8* @_d_newarrayvT(%object.TypeInfo* @_D11TypeInfo_Aa6__initZ, i32 %tmp2.i) ; <i8*> [#uses=3]
16800 %.gc_mem12.i = bitcast i8* %.gc_mem.i402 to i64* ; <i64*> [#uses=1]
16801 %tmp.i403 = load i64* bitcast ([9 x i8]* @.str280 to i64*), align 8 ; <i64> [#uses=1]
16802 store i64 %tmp.i403, i64* %.gc_mem12.i, align 1
16803 %tmp4.i404 = getelementptr i8* %.gc_mem.i402, i32 8 ; <i8*> [#uses=1]
16804 call void @llvm.memcpy.i32(i8* %tmp4.i404, i8* %msg_arg11.i, i32 %msg_arg10.i, i32 1)
16805 %tmp6.i405 = insertvalue %"byte[]" undef, i32 %tmp2.i, 0 ; <%"byte[]"> [#uses=1]
16806 %tmp7.i406 = insertvalue %"byte[]" %tmp6.i405, i8* %.gc_mem.i402, 1 ; <%"byte[]"> [#uses=1]
16807 %tmp8.i407 = call fastcc %object.Exception* @_D6object9Exception5_ctorMFAaC9ExceptionZC9Exception(%object.Exception* %.newclass_gc222, %"byte[]" %tmp7.i406, %object.Exception* null) ; <%object.Exception*> [#uses=0]
16808 %tmp260 = bitcast i8* %.newclass_gc_alloc221 to %object.Object* ; <%object.Object*> [#uses=1]
16809 call void @_d_throw_exception(%object.Object* %tmp260)
16810 unreachable
16811
16812endif220: ; preds = %if214
16813 %this263 = getelementptr i8* %.nest_arg, i32 64 ; <i8*> [#uses=1]
16814 %38 = bitcast i8* %this263 to %"tango.text.Regex.TNFA!(dchar).TNFA"** ; <%"tango.text.Regex.TNFA!(dchar).TNFA"**> [#uses=1]
16815 %tmp264 = load %"tango.text.Regex.TNFA!(dchar).TNFA"** %38 ; <%"tango.text.Regex.TNFA!(dchar).TNFA"*> [#uses=1]
16816 %frags266 = getelementptr i8* %.nest_arg, i32 4 ; <i8*> [#uses=1]
16817 %39 = bitcast i8* %frags266 to %"tango.text.Regex.List!(TNFAFragment).List"** ; <%"tango.text.Regex.List!(TNFAFragment).List"**> [#uses=1]
16818 %tmp267 = load %"tango.text.Regex.List!(TNFAFragment).List"** %39 ; <%"tango.text.Regex.List!(TNFAFragment).List"*> [#uses=1]
16819 %tmp5.i397 = add i32 %tmp2.i410, -1 ; <i32> [#uses=1]
16820 %tmp6.i398 = getelementptr i8* %.nest_arg, i32 28 ; <i8*> [#uses=1]
16821 %40 = bitcast i8* %tmp6.i398 to i32** ; <i32**> [#uses=1]
16822 %.ptr.i399 = load i32** %40 ; <i32*> [#uses=1]
16823 %tmp7.i400 = getelementptr i32* %.ptr.i399, i32 %tmp5.i397 ; <i32*> [#uses=1]
16824 %tmp8.i401 = load i32* %tmp7.i400 ; <i32> [#uses=1]
16825 call fastcc void @_D5tango4text5Regex11__T4TNFATwZ4TNFA16constructBracketMFC5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4ListkZv(%"tango.text.Regex.TNFA!(dchar).TNFA"* %tmp264, %"tango.text.Regex.List!(TNFAFragment).List"* %tmp267, i32 %tmp8.i401)
16826 %tmp6.i383 = load i32* %tmp1.i409 ; <i32> [#uses=1]
16827 %tmp7.i384 = add i32 %tmp6.i383, -1 ; <i32> [#uses=1]
16828 store i32 %tmp7.i384, i32* %tmp1.i409
16829 br label %endif215
16830
16831else: ; preds = %case209
16832 %this275 = getelementptr i8* %.nest_arg, i32 64 ; <i8*> [#uses=1]
16833 %41 = bitcast i8* %this275 to %"tango.text.Regex.TNFA!(dchar).TNFA"** ; <%"tango.text.Regex.TNFA!(dchar).TNFA"**> [#uses=1]
16834 %tmp276 = load %"tango.text.Regex.TNFA!(dchar).TNFA"** %41 ; <%"tango.text.Regex.TNFA!(dchar).TNFA"*> [#uses=1]
16835 %frags278 = getelementptr i8* %.nest_arg, i32 4 ; <i8*> [#uses=1]
16836 %42 = bitcast i8* %frags278 to %"tango.text.Regex.List!(TNFAFragment).List"** ; <%"tango.text.Regex.List!(TNFAFragment).List"**> [#uses=1]
16837 %tmp279 = load %"tango.text.Regex.List!(TNFAFragment).List"** %42 ; <%"tango.text.Regex.List!(TNFAFragment).List"*> [#uses=1]
16838 call fastcc void @_D5tango4text5Regex11__T4TNFATwZ4TNFA16constructBracketMFC5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4ListkZv(%"tango.text.Regex.TNFA!(dchar).TNFA"* %tmp276, %"tango.text.Regex.List!(TNFAFragment).List"* %tmp279, i32 0)
16839 br label %endif215
16840
16841endif215: ; preds = %else, %endif220
16842 %tmp6.i356 = load i32* %tmp3.i ; <i32> [#uses=1]
16843 %tmp7.i357 = add i32 %tmp6.i356, -1 ; <i32> [#uses=1]
16844 store i32 %tmp7.i357, i32* %tmp3.i
16845 ret i1 false
16846
16847case284: ; preds = %entry
16848 ret i1 true
16849
16850default286: ; preds = %entry
16851 %.newclass_gc_alloc287 = call noalias i8* @_d_allocclass(%object.ClassInfo* @_D5tango4text5Regex15RegExpException7__ClassZ) ; <i8*> [#uses=5]
16852 %.newclass_gc288 = bitcast i8* %.newclass_gc_alloc287 to %object.Exception* ; <%object.Exception*> [#uses=1]
16853 %vtbl289 = bitcast i8* %.newclass_gc_alloc287 to %object.Exception.__vtbl** ; <%object.Exception.__vtbl**> [#uses=1]
16854 store %object.Exception.__vtbl* @_D5tango4text5Regex15RegExpException6__vtblZ, %object.Exception.__vtbl** %vtbl289
16855 %monitor290 = getelementptr i8* %.newclass_gc_alloc287, i32 4 ; <i8*> [#uses=1]
16856 %43 = bitcast i8* %monitor290 to i8** ; <i8**> [#uses=1]
16857 store i8* null, i8** %43
16858 %tmp291 = getelementptr i8* %.newclass_gc_alloc287, i32 8 ; <i8*> [#uses=1]
16859 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)
16860 %layout296 = bitcast i8* %.nest_arg to %"tango.text.convert.Layout.Layout!(char).Layout"** ; <%"tango.text.convert.Layout.Layout!(char).Layout"**> [#uses=1]
16861 %tmp297 = load %"tango.text.convert.Layout.Layout!(char).Layout"** %layout296 ; <%"tango.text.convert.Layout.Layout!(char).Layout"*> [#uses=1]
16862 %tmp299 = getelementptr %nest.parseListLine* %_argptr_storage298, i32 0, i32 0 ; <i32*> [#uses=1]
16863 %this301 = getelementptr i8* %.nest_arg, i32 64 ; <i8*> [#uses=1]
16864 %44 = bitcast i8* %this301 to %"tango.text.Regex.TNFA!(dchar).TNFA"** ; <%"tango.text.Regex.TNFA!(dchar).TNFA"**> [#uses=2]
16865 %tmp302 = load %"tango.text.Regex.TNFA!(dchar).TNFA"** %44 ; <%"tango.text.Regex.TNFA!(dchar).TNFA"*> [#uses=3]
16866 %tmp303 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %tmp302, i32 0, i32 7 ; <i32*> [#uses=2]
16867 %tmp304 = load i32* %tmp303 ; <i32> [#uses=1]
16868 store i32 %tmp304, i32* %tmp299, align 8
16869 %tmp305 = getelementptr %nest.parseListLine* %_argptr_storage298, i32 0, i32 1 ; <%"byte[]"*> [#uses=1]
16870 %tmp310 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %tmp302, i32 0, i32 2, i32 1 ; <i32**> [#uses=1]
16871 %.ptr311 = load i32** %tmp310 ; <i32*> [#uses=1]
16872 %tmp316 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %tmp302, i32 0, i32 2, i32 0 ; <i32*> [#uses=1]
16873 %.len317 = load i32* %tmp316 ; <i32> [#uses=1]
16874 %tmp318 = load i32* %tmp303 ; <i32> [#uses=2]
16875 %tmp319 = getelementptr i32* %.ptr311, i32 %tmp318 ; <i32*> [#uses=1]
16876 %tmp320 = sub i32 %.len317, %tmp318 ; <i32> [#uses=1]
16877 %tmp321 = insertvalue %"Act[]" undef, i32 %tmp320, 0 ; <%"Act[]"> [#uses=1]
16878 %tmp322 = insertvalue %"Act[]" %tmp321, i32* %tmp319, 1 ; <%"Act[]"> [#uses=1]
16879 %tmp323 = call fastcc %"byte[]" @_D5tango4text7convert3Utf8toStringFAwAaPkZAa(%"Act[]" %tmp322, %"byte[]" zeroinitializer, i32* null) ; <%"byte[]"> [#uses=1]
16880 store %"byte[]" %tmp323, %"byte[]"* %tmp305
16881 %tmp324 = getelementptr %nest.parseListLine* %_argptr_storage298, i32 0, i32 2 ; <%"byte[]"*> [#uses=1]
16882 %tmp327 = load %"tango.text.Regex.TNFA!(dchar).TNFA"** %44 ; <%"tango.text.Regex.TNFA!(dchar).TNFA"*> [#uses=1]
16883 %tmp328 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %tmp327, i32 0, i32 2 ; <%"Act[]"*> [#uses=1]
16884 %tmp329 = load %"Act[]"* %tmp328 ; <%"Act[]"> [#uses=1]
16885 %tmp330 = call fastcc %"byte[]" @_D5tango4text7convert3Utf8toStringFAwAaPkZAa(%"Act[]" %tmp329, %"byte[]" zeroinitializer, i32* null) ; <%"byte[]"> [#uses=1]
16886 store %"byte[]" %tmp330, %"byte[]"* %tmp324
16887 %tmp332 = bitcast %nest.parseListLine* %_argptr_storage298 to i8* ; <i8*> [#uses=1]
16888 %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]
16889 %msg_arg10.i419 = extractvalue %"byte[]" %tmp4.i354, 0 ; <i32> [#uses=2]
16890 %msg_arg11.i420 = extractvalue %"byte[]" %tmp4.i354, 1 ; <i8*> [#uses=1]
16891 %tmp2.i421 = add i32 %msg_arg10.i419, 8 ; <i32> [#uses=2]
16892 %.gc_mem.i422 = call noalias i8* @_d_newarrayvT(%object.TypeInfo* @_D11TypeInfo_Aa6__initZ, i32 %tmp2.i421) ; <i8*> [#uses=3]
16893 %.gc_mem12.i423 = bitcast i8* %.gc_mem.i422 to i64* ; <i64*> [#uses=1]
16894 %tmp.i424 = load i64* bitcast ([9 x i8]* @.str280 to i64*), align 8 ; <i64> [#uses=1]
16895 store i64 %tmp.i424, i64* %.gc_mem12.i423, align 1
16896 %tmp4.i425 = getelementptr i8* %.gc_mem.i422, i32 8 ; <i8*> [#uses=1]
16897 call void @llvm.memcpy.i32(i8* %tmp4.i425, i8* %msg_arg11.i420, i32 %msg_arg10.i419, i32 1)
16898 %tmp6.i426 = insertvalue %"byte[]" undef, i32 %tmp2.i421, 0 ; <%"byte[]"> [#uses=1]
16899 %tmp7.i427 = insertvalue %"byte[]" %tmp6.i426, i8* %.gc_mem.i422, 1 ; <%"byte[]"> [#uses=1]
16900 %tmp8.i428 = call fastcc %object.Exception* @_D6object9Exception5_ctorMFAaC9ExceptionZC9Exception(%object.Exception* %.newclass_gc288, %"byte[]" %tmp7.i427, %object.Exception* null) ; <%object.Exception*> [#uses=0]
16901 %tmp335 = bitcast i8* %.newclass_gc_alloc287 to %object.Object* ; <%object.Object*> [#uses=1]
16902 call void @_d_throw_exception(%object.Object* %tmp335)
16903 unreachable
16904
16905switchend: ; preds = %_D5tango4text5Regex56__T5StackTE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorZ5Stack4pushMFE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorZv.exit
16906 ret i1 false
16907}
16908
16909declare fastcc %"byte[]" @_D5tango4text7convert3Utf8toStringFAwAaPkZAa(%"Act[]", %"byte[]", i32*)
16910
16911define weak_odr fastcc i32 @_D5tango4text5Regex11__T4TNFATwZ4TNFA5parseMFbZv15__foreachbody44MFKC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZi(i8* nocapture %.nest_arg, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"** nocapture %__applyArg0_arg) {
16912entry:
16913 %tmp = load %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"** %__applyArg0_arg ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*> [#uses=3]
16914 %tmp2 = getelementptr %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %tmp, i32 0, i32 0 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"**> [#uses=2]
16915 %tmp3 = load %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"** %tmp2 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"*> [#uses=1]
16916 %"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]
16917 %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]
16918 %finish = getelementptr i8* %.nest_arg, i32 44 ; <i8*> [#uses=1]
16919 %0 = bitcast i8* %finish to %"tango.text.Regex.TNFAState!(dchar).TNFAState"** ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"**> [#uses=1]
16920 %tmp6 = load %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %0 ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"*> [#uses=1]
16921 tail call fastcc void %f.setExit(%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %tmp, %"tango.text.Regex.TNFAState!(dchar).TNFAState"* %tmp6)
16922 %tmp9 = load %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"** %tmp2 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment.__vtbl"*> [#uses=1]
16923 %"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]
16924 %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]
16925 %this = getelementptr i8* %.nest_arg, i32 64 ; <i8*> [#uses=1]
16926 %1 = bitcast i8* %this to %"tango.text.Regex.TNFA!(dchar).TNFA"** ; <%"tango.text.Regex.TNFA!(dchar).TNFA"**> [#uses=1]
16927 %tmp12 = load %"tango.text.Regex.TNFA!(dchar).TNFA"** %1 ; <%"tango.text.Regex.TNFA!(dchar).TNFA"*> [#uses=1]
16928 %tmp13 = getelementptr %"tango.text.Regex.TNFA!(dchar).TNFA"* %tmp12, i32 0, i32 4 ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"**> [#uses=1]
16929 %tmp14 = load %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %tmp13 ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"*> [#uses=1]
16930 tail call fastcc void %f.setEntry(%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %tmp, %"tango.text.Regex.TNFAState!(dchar).TNFAState"* %tmp14)
16931 ret i32 0
16932}
16933
16934define weak_odr fastcc i32 @_D5tango4text5Regex11__T4TNFATwZ4TNFA5parseMFbZv15__foreachbody45MFKC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZi(i8* nocapture %.nest_arg, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** nocapture %__applyArg0_arg) {
16935entry:
16936 %tmp = load %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** %__applyArg0_arg ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*> [#uses=1]
16937 %todo = getelementptr i8* %.nest_arg, i32 48 ; <i8*> [#uses=1]
16938 %tmp1.i = bitcast i8* %todo to i32* ; <i32*> [#uses=4]
16939 %tmp4.i = getelementptr i8* %.nest_arg, i32 52 ; <i8*> [#uses=1]
16940 %0 = bitcast i8* %tmp4.i to i32* ; <i32*> [#uses=2]
16941 %.len.i = load i32* %0 ; <i32> [#uses=3]
16942 %tmp5.i = load i32* %tmp1.i ; <i32> [#uses=2]
16943 %tmp6.i = icmp ult i32 %tmp5.i, %.len.i ; <i1> [#uses=1]
16944 br i1 %tmp6.i, label %entry.endif_crit_edge.i, label %if.i
16945
16946entry.endif_crit_edge.i: ; preds = %entry
16947 %tmp26.pre.i = getelementptr i8* %.nest_arg, i32 56 ; <i8*> [#uses=1]
16948 %1 = bitcast i8* %tmp26.pre.i to %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*** ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"***> [#uses=1]
16949 %.ptr27.i.pre = load %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*** %1 ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"**> [#uses=1]
16950 br label %_D5tango4text5Regex69__T5StackTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ5Stack4pushMFC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZv.exit
16951
16952if.i: ; preds = %entry
16953 %tmp13.i = shl i32 %.len.i, 1 ; <i32> [#uses=1]
16954 %tmp1437.i = or i32 %tmp13.i, 1 ; <i32> [#uses=2]
16955 %tmp17.i = getelementptr i8* %.nest_arg, i32 56 ; <i8*> [#uses=1]
16956 %2 = bitcast i8* %tmp17.i to %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*** ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"***> [#uses=2]
16957 %.ptr.i = load %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*** %2 ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"**> [#uses=1]
16958 %tmp18.i = bitcast %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** %.ptr.i to i8* ; <i8*> [#uses=1]
16959 %.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]
16960 %.gc_mem19.i = bitcast i8* %.gc_mem.i to %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"**> [#uses=2]
16961 store i32 %tmp1437.i, i32* %0
16962 store %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** %.gc_mem19.i, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*** %2
16963 %tmp28.pre.i = load i32* %tmp1.i ; <i32> [#uses=1]
16964 br label %_D5tango4text5Regex69__T5StackTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ5Stack4pushMFC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZv.exit
16965
16966_D5tango4text5Regex69__T5StackTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ5Stack4pushMFC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZv.exit: ; preds = %if.i, %entry.endif_crit_edge.i
16967 %.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]
16968 %tmp28.i = phi i32 [ %tmp5.i, %entry.endif_crit_edge.i ], [ %tmp28.pre.i, %if.i ] ; <i32> [#uses=1]
16969 %tmp29.i = getelementptr %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** %.ptr27.i, i32 %tmp28.i ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"**> [#uses=1]
16970 store %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %tmp, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** %tmp29.i
16971 %tmp35.i = load i32* %tmp1.i ; <i32> [#uses=1]
16972 %tmp36.i = add i32 %tmp35.i, 1 ; <i32> [#uses=1]
16973 store i32 %tmp36.i, i32* %tmp1.i
16974 ret i32 0
16975}
16976
16977define weak_odr fastcc i32 @_D5tango4text5Regex11__T4TNFATwZ4TNFA5parseMFbZv15__foreachbody46MFKC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZi(i8* nocapture %.nest_arg, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** nocapture %__applyArg0_arg) nounwind {
16978entry:
16979 %tmp = load %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** %__applyArg0_arg ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*> [#uses=1]
16980 %tmp2 = getelementptr %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %tmp, i32 0, i32 4 ; <i32*> [#uses=1]
16981 %nextPrio = getelementptr i8* %.nest_arg, i32 60 ; <i8*> [#uses=1]
16982 %0 = bitcast i8* %nextPrio to i32* ; <i32*> [#uses=2]
16983 %tmp4 = load i32* %0 ; <i32> [#uses=2]
16984 %tmp5 = add i32 %tmp4, 1 ; <i32> [#uses=1]
16985 store i32 %tmp5, i32* %0
16986 store i32 %tmp4, i32* %tmp2
16987 ret i32 0
16988}
16989
16990declare fastcc i32 @_D5tango4text5Regex6decodeFAwKkZw(%"Act[]", i32*)
16991
16992declare i8* @_d_arraysetlengthT(%object.TypeInfo*, i32, i32, i8*)
16993
16994define weak_odr fastcc i32 @_D5tango4text5Regex11__T4TNFATwZ4TNFA5cloneMFC5tango4text5Regex16__T9TNFAStateTwZ9TNFAStateZC5tango4text5Regex16__T9TNFAStateTwZ9TNFAState15__foreachbody47MFKC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZi(i8* nocapture %.nest_arg, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** nocapture %__applyArg0_arg) {
16995entry:
16996 %tmp = load %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** %__applyArg0_arg ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*> [#uses=1]
16997 %s2 = bitcast i8* %.nest_arg to %"tango.text.Regex.TNFAState!(dchar).TNFAState"** ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"**> [#uses=1]
16998 %tmp2 = load %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %s2 ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"*> [#uses=1]
16999 %tmp3 = getelementptr %"tango.text.Regex.TNFAState!(dchar).TNFAState"* %tmp2, i32 0, i32 5 ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
17000 %tmp4 = load %"tango.text.Regex.List!(TNFATransition).List"** %tmp3 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
17001 %tmp5 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp4, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
17002 %tmp6 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp5 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
17003 %"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]
17004 %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]
17005 %this = getelementptr i8* %.nest_arg, i32 4 ; <i8*> [#uses=1]
17006 %0 = bitcast i8* %this to %"tango.text.Regex.TNFA!(dchar).TNFA"** ; <%"tango.text.Regex.TNFA!(dchar).TNFA"**> [#uses=1]
17007 %tmp9 = load %"tango.text.Regex.TNFA!(dchar).TNFA"** %0 ; <%"tango.text.Regex.TNFA!(dchar).TNFA"*> [#uses=1]
17008 %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]
17009 %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]
17010 ret i32 0
17011}
17012
17013define weak_odr fastcc i32 @_D5tango4text5Regex11__T4TNFATwZ4TNFA5cloneMFC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment15__foreachbody48MFKC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZi(i8* nocapture %.nest_arg, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** nocapture %__applyArg0_arg) {
17014entry:
17015 %tmp = load %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** %__applyArg0_arg ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*> [#uses=1]
17016 %f2 = bitcast i8* %.nest_arg to %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"** ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"**> [#uses=1]
17017 %tmp2 = load %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"** %f2 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*> [#uses=1]
17018 %tmp3 = getelementptr %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %tmp2, i32 0, i32 2 ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
17019 %tmp4 = load %"tango.text.Regex.List!(TNFATransition).List"** %tmp3 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
17020 %tmp5 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp4, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
17021 %tmp6 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp5 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
17022 %"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]
17023 %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]
17024 %this = getelementptr i8* %.nest_arg, i32 4 ; <i8*> [#uses=1]
17025 %0 = bitcast i8* %this to %"tango.text.Regex.TNFA!(dchar).TNFA"** ; <%"tango.text.Regex.TNFA!(dchar).TNFA"**> [#uses=1]
17026 %tmp9 = load %"tango.text.Regex.TNFA!(dchar).TNFA"** %0 ; <%"tango.text.Regex.TNFA!(dchar).TNFA"*> [#uses=1]
17027 %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]
17028 %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]
17029 ret i32 0
17030}
17031
17032define weak_odr fastcc i32 @_D5tango4text5Regex11__T4TNFATwZ4TNFA5cloneMFC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment15__foreachbody49MFKC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZi(i8* nocapture %.nest_arg, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** nocapture %__applyArg0_arg) {
17033entry:
17034 %tmp = load %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** %__applyArg0_arg ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*> [#uses=1]
17035 %f2 = bitcast i8* %.nest_arg to %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"** ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"**> [#uses=1]
17036 %tmp2 = load %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"** %f2 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*> [#uses=1]
17037 %tmp3 = getelementptr %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %tmp2, i32 0, i32 3 ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
17038 %tmp4 = load %"tango.text.Regex.List!(TNFATransition).List"** %tmp3 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
17039 %tmp5 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp4, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
17040 %tmp6 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp5 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
17041 %"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]
17042 %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]
17043 %this = getelementptr i8* %.nest_arg, i32 4 ; <i8*> [#uses=1]
17044 %0 = bitcast i8* %this to %"tango.text.Regex.TNFA!(dchar).TNFA"** ; <%"tango.text.Regex.TNFA!(dchar).TNFA"**> [#uses=1]
17045 %tmp9 = load %"tango.text.Regex.TNFA!(dchar).TNFA"** %0 ; <%"tango.text.Regex.TNFA!(dchar).TNFA"*> [#uses=1]
17046 %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]
17047 %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]
17048 ret i32 0
17049}
17050
17051define weak_odr fastcc i32 @_D5tango4text5Regex11__T4TNFATwZ4TNFA5cloneMFC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment15__foreachbody50MFKC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZi(i8* nocapture %.nest_arg, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** nocapture %__applyArg0_arg) {
17052entry:
17053 %tmp = load %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** %__applyArg0_arg ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*> [#uses=1]
17054 %f2 = bitcast i8* %.nest_arg to %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"** ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"**> [#uses=1]
17055 %tmp2 = load %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"** %f2 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*> [#uses=1]
17056 %tmp3 = getelementptr %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %tmp2, i32 0, i32 4 ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
17057 %tmp4 = load %"tango.text.Regex.List!(TNFATransition).List"** %tmp3 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
17058 %tmp5 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp4, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
17059 %tmp6 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp5 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
17060 %"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]
17061 %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]
17062 %this = getelementptr i8* %.nest_arg, i32 4 ; <i8*> [#uses=1]
17063 %0 = bitcast i8* %this to %"tango.text.Regex.TNFA!(dchar).TNFA"** ; <%"tango.text.Regex.TNFA!(dchar).TNFA"**> [#uses=1]
17064 %tmp9 = load %"tango.text.Regex.TNFA!(dchar).TNFA"** %0 ; <%"tango.text.Regex.TNFA!(dchar).TNFA"*> [#uses=1]
17065 %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]
17066 %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]
17067 ret i32 0
17068}
17069
17070define weak_odr fastcc i32 @_D5tango4text5Regex11__T4TNFATwZ4TNFA5cloneMFC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment15__foreachbody51MFKC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZi(i8* nocapture %.nest_arg, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** nocapture %__applyArg0_arg) {
17071entry:
17072 %tmp = load %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** %__applyArg0_arg ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*> [#uses=1]
17073 %f2 = bitcast i8* %.nest_arg to %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"** ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"**> [#uses=1]
17074 %tmp2 = load %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"** %f2 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*> [#uses=1]
17075 %tmp3 = getelementptr %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %tmp2, i32 0, i32 5 ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
17076 %tmp4 = load %"tango.text.Regex.List!(TNFATransition).List"** %tmp3 ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
17077 %tmp5 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp4, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
17078 %tmp6 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp5 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
17079 %"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]
17080 %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]
17081 %this = getelementptr i8* %.nest_arg, i32 4 ; <i8*> [#uses=1]
17082 %0 = bitcast i8* %this to %"tango.text.Regex.TNFA!(dchar).TNFA"** ; <%"tango.text.Regex.TNFA!(dchar).TNFA"**> [#uses=1]
17083 %tmp9 = load %"tango.text.Regex.TNFA!(dchar).TNFA"** %0 ; <%"tango.text.Regex.TNFA!(dchar).TNFA"*> [#uses=1]
17084 %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]
17085 %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]
17086 ret i32 0
17087}
17088
17089define 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) {
17090entry:
17091 %tmp = load %"tango.text.Regex.List!(TNFATransition).List.Element"** %__applyArg0_arg ; <%"tango.text.Regex.List!(TNFATransition).List.Element"*> [#uses=2]
17092 %tmp2 = getelementptr %"tango.text.Regex.List!(TNFATransition).List.Element"* %tmp, i32 0, i32 2 ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"**> [#uses=1]
17093 %w = getelementptr i8* %.nest_arg, i32 4 ; <i8*> [#uses=1]
17094 %0 = bitcast i8* %w to %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"**> [#uses=1]
17095 %tmp4 = load %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** %tmp2 ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*> [#uses=1]
17096 %tmp5 = load %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** %0 ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*> [#uses=1]
17097 %tmp6 = icmp eq %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %tmp4, %tmp5 ; <i1> [#uses=1]
17098 br i1 %tmp6, label %if, label %endif
17099
17100if: ; preds = %entry
17101 %__result = getelementptr i8* %.nest_arg, i32 12 ; <i8*> [#uses=1]
17102 %1 = bitcast i8* %__result to %"tango.text.Regex.List!(TNFATransition).List"** ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
17103 %this = bitcast i8* %.nest_arg to %"tango.text.Regex.List!(TNFATransition).List"** ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
17104 %tmp9 = load %"tango.text.Regex.List!(TNFATransition).List"** %this ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
17105 %tmp10 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp9, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
17106 %tmp11 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp10 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
17107 %"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]
17108 %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]
17109 %v = getelementptr i8* %.nest_arg, i32 8 ; <i8*> [#uses=1]
17110 %2 = bitcast i8* %v to %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"**> [#uses=1]
17111 %tmp15 = load %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** %2 ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*> [#uses=1]
17112 %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]
17113 store %"tango.text.Regex.List!(TNFATransition).List"* %tmp16, %"tango.text.Regex.List!(TNFATransition).List"** %1
17114 ret i32 2
17115
17116endif: ; preds = %entry
17117 ret i32 0
17118}
17119
17120define 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) {
17121entry:
17122 %tmp = load %"tango.text.Regex.List!(TNFATransition).List.Element"** %__applyArg0_arg ; <%"tango.text.Regex.List!(TNFATransition).List.Element"*> [#uses=2]
17123 %tmp2 = getelementptr %"tango.text.Regex.List!(TNFATransition).List.Element"* %tmp, i32 0, i32 2 ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"**> [#uses=1]
17124 %w = getelementptr i8* %.nest_arg, i32 4 ; <i8*> [#uses=1]
17125 %0 = bitcast i8* %w to %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"**> [#uses=1]
17126 %tmp4 = load %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** %tmp2 ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*> [#uses=1]
17127 %tmp5 = load %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** %0 ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*> [#uses=1]
17128 %tmp6 = icmp eq %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %tmp4, %tmp5 ; <i1> [#uses=1]
17129 br i1 %tmp6, label %if, label %endif
17130
17131if: ; preds = %entry
17132 %__result = getelementptr i8* %.nest_arg, i32 12 ; <i8*> [#uses=1]
17133 %1 = bitcast i8* %__result to %"tango.text.Regex.List!(TNFATransition).List"** ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
17134 %this = bitcast i8* %.nest_arg to %"tango.text.Regex.List!(TNFATransition).List"** ; <%"tango.text.Regex.List!(TNFATransition).List"**> [#uses=1]
17135 %tmp9 = load %"tango.text.Regex.List!(TNFATransition).List"** %this ; <%"tango.text.Regex.List!(TNFATransition).List"*> [#uses=2]
17136 %tmp10 = getelementptr %"tango.text.Regex.List!(TNFATransition).List"* %tmp9, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"**> [#uses=1]
17137 %tmp11 = load %"tango.text.Regex.List!(TNFATransition).List.__vtbl"** %tmp10 ; <%"tango.text.Regex.List!(TNFATransition).List.__vtbl"*> [#uses=1]
17138 %"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]
17139 %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]
17140 %v = getelementptr i8* %.nest_arg, i32 8 ; <i8*> [#uses=1]
17141 %2 = bitcast i8* %v to %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"**> [#uses=1]
17142 %tmp15 = load %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** %2 ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*> [#uses=1]
17143 %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]
17144 store %"tango.text.Regex.List!(TNFATransition).List"* %tmp16, %"tango.text.Regex.List!(TNFATransition).List"** %1
17145 ret i32 2
17146
17147endif: ; preds = %entry
17148 ret i32 0
17149}
17150
17151define weak_odr fastcc i32 @_D5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment8setEntryMFC5tango4text5Regex16__T9TNFAStateTwZ9TNFAStateZv15__foreachbody54MFKC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZi(i8* nocapture %.nest_arg, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** nocapture %__applyArg0_arg) nounwind {
17152entry:
17153 %tmp = load %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** %__applyArg0_arg ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*> [#uses=1]
17154 %tmp2 = getelementptr %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %tmp, i32 0, i32 2 ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"**> [#uses=1]
17155 %state = bitcast i8* %.nest_arg to %"tango.text.Regex.TNFAState!(dchar).TNFAState"** ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"**> [#uses=1]
17156 %tmp4 = load %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %state ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"*> [#uses=1]
17157 store %"tango.text.Regex.TNFAState!(dchar).TNFAState"* %tmp4, %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %tmp2
17158 ret i32 0
17159}
17160
17161define weak_odr fastcc i32 @_D5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment7setExitMFC5tango4text5Regex16__T9TNFAStateTwZ9TNFAStateZv15__foreachbody55MFKC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZi(i8* nocapture %.nest_arg, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** nocapture %__applyArg0_arg) nounwind {
17162entry:
17163 %tmp = load %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** %__applyArg0_arg ; <%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"*> [#uses=1]
17164 %tmp2 = getelementptr %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %tmp, i32 0, i32 2 ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"**> [#uses=1]
17165 %state = bitcast i8* %.nest_arg to %"tango.text.Regex.TNFAState!(dchar).TNFAState"** ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"**> [#uses=1]
17166 %tmp4 = load %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %state ; <%"tango.text.Regex.TNFAState!(dchar).TNFAState"*> [#uses=1]
17167 store %"tango.text.Regex.TNFAState!(dchar).TNFAState"* %tmp4, %"tango.text.Regex.TNFAState!(dchar).TNFAState"** %tmp2
17168 ret i32 0
17169}
17170
17171define 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) {
17172entry:
17173 %tmp = load %"tango.text.Regex.List!(TNFAFragment).List.Element"** %__applyArg0_arg ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=2]
17174 %tmp2 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp, i32 0, i32 2 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"**> [#uses=1]
17175 %w = getelementptr i8* %.nest_arg, i32 4 ; <i8*> [#uses=1]
17176 %0 = bitcast i8* %w to %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"** ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"**> [#uses=1]
17177 %tmp4 = load %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"** %tmp2 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*> [#uses=1]
17178 %tmp5 = load %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"** %0 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*> [#uses=1]
17179 %tmp6 = icmp eq %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %tmp4, %tmp5 ; <i1> [#uses=1]
17180 br i1 %tmp6, label %if, label %endif
17181
17182if: ; preds = %entry
17183 %__result = getelementptr i8* %.nest_arg, i32 12 ; <i8*> [#uses=1]
17184 %1 = bitcast i8* %__result to %"tango.text.Regex.List!(TNFAFragment).List"** ; <%"tango.text.Regex.List!(TNFAFragment).List"**> [#uses=1]
17185 %this = bitcast i8* %.nest_arg to %"tango.text.Regex.List!(TNFAFragment).List"** ; <%"tango.text.Regex.List!(TNFAFragment).List"**> [#uses=1]
17186 %tmp9 = load %"tango.text.Regex.List!(TNFAFragment).List"** %this ; <%"tango.text.Regex.List!(TNFAFragment).List"*> [#uses=2]
17187 %tmp10 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %tmp9, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"**> [#uses=1]
17188 %tmp11 = load %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"** %tmp10 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"*> [#uses=1]
17189 %"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]
17190 %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]
17191 %v = getelementptr i8* %.nest_arg, i32 8 ; <i8*> [#uses=1]
17192 %2 = bitcast i8* %v to %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"** ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"**> [#uses=1]
17193 %tmp15 = load %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"** %2 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*> [#uses=1]
17194 %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]
17195 store %"tango.text.Regex.List!(TNFAFragment).List"* %tmp16, %"tango.text.Regex.List!(TNFAFragment).List"** %1
17196 ret i32 2
17197
17198endif: ; preds = %entry
17199 ret i32 0
17200}
17201
17202define 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) {
17203entry:
17204 %tmp = load %"tango.text.Regex.List!(TNFAFragment).List.Element"** %__applyArg0_arg ; <%"tango.text.Regex.List!(TNFAFragment).List.Element"*> [#uses=2]
17205 %tmp2 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List.Element"* %tmp, i32 0, i32 2 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"**> [#uses=1]
17206 %w = getelementptr i8* %.nest_arg, i32 4 ; <i8*> [#uses=1]
17207 %0 = bitcast i8* %w to %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"** ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"**> [#uses=1]
17208 %tmp4 = load %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"** %tmp2 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*> [#uses=1]
17209 %tmp5 = load %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"** %0 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*> [#uses=1]
17210 %tmp6 = icmp eq %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %tmp4, %tmp5 ; <i1> [#uses=1]
17211 br i1 %tmp6, label %if, label %endif
17212
17213if: ; preds = %entry
17214 %__result = getelementptr i8* %.nest_arg, i32 12 ; <i8*> [#uses=1]
17215 %1 = bitcast i8* %__result to %"tango.text.Regex.List!(TNFAFragment).List"** ; <%"tango.text.Regex.List!(TNFAFragment).List"**> [#uses=1]
17216 %this = bitcast i8* %.nest_arg to %"tango.text.Regex.List!(TNFAFragment).List"** ; <%"tango.text.Regex.List!(TNFAFragment).List"**> [#uses=1]
17217 %tmp9 = load %"tango.text.Regex.List!(TNFAFragment).List"** %this ; <%"tango.text.Regex.List!(TNFAFragment).List"*> [#uses=2]
17218 %tmp10 = getelementptr %"tango.text.Regex.List!(TNFAFragment).List"* %tmp9, i32 0, i32 0 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"**> [#uses=1]
17219 %tmp11 = load %"tango.text.Regex.List!(TNFAFragment).List.__vtbl"** %tmp10 ; <%"tango.text.Regex.List!(TNFAFragment).List.__vtbl"*> [#uses=1]
17220 %"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]
17221 %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]
17222 %v = getelementptr i8* %.nest_arg, i32 8 ; <i8*> [#uses=1]
17223 %2 = bitcast i8* %v to %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"** ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"**> [#uses=1]
17224 %tmp15 = load %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"** %2 ; <%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"*> [#uses=1]
17225 %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]
17226 store %"tango.text.Regex.List!(TNFAFragment).List"* %tmp16, %"tango.text.Regex.List!(TNFAFragment).List"** %1
17227 ret i32 2
17228
17229endif: ; preds = %entry
17230 ret i32 0
17231}
17232
17233define weak_odr fastcc i32 @_D5tango4text4Util18__T10splitLinesTaZ10splitLinesFAaZAAa15__foreachbody41MFKAaZi(i8* nocapture %.nest_arg, %"byte[]"* nocapture %__applyArg0_arg) nounwind {
17234entry:
17235 %count = bitcast i8* %.nest_arg to i32* ; <i32*> [#uses=2]
17236 %tmp4 = load i32* %count ; <i32> [#uses=1]
17237 %tmp5 = add i32 %tmp4, 1 ; <i32> [#uses=1]
17238 store i32 %tmp5, i32* %count
17239 ret i32 0
17240}
17241
17242declare noalias i8* @_d_newarrayT(%object.TypeInfo*, i32)
17243
17244define weak_odr fastcc i32 @_D5tango4text4Util18__T10splitLinesTaZ10splitLinesFAaZAAa15__foreachbody42MFKAaZi(i8* nocapture %.nest_arg, %"byte[]"* nocapture %__applyArg0_arg) nounwind {
17245entry:
17246 %tmp = load %"byte[]"* %__applyArg0_arg ; <%"byte[]"> [#uses=1]
17247 %count = bitcast i8* %.nest_arg to i32* ; <i32*> [#uses=2]
17248 %tmp3 = load i32* %count ; <i32> [#uses=2]
17249 %tmp4 = add i32 %tmp3, 1 ; <i32> [#uses=1]
17250 store i32 %tmp4, i32* %count
17251 %tmp5 = getelementptr i8* %.nest_arg, i32 8 ; <i8*> [#uses=1]
17252 %0 = bitcast i8* %tmp5 to %"byte[]"** ; <%"byte[]"**> [#uses=1]
17253 %.ptr = load %"byte[]"** %0 ; <%"byte[]"*> [#uses=1]
17254 %tmp6 = getelementptr %"byte[]"* %.ptr, i32 %tmp3 ; <%"byte[]"*> [#uses=1]
17255 store %"byte[]" %tmp, %"byte[]"* %tmp6
17256 ret i32 0
17257}
17258
17259define weak_odr fastcc i1 @_D5tango4text7convert9TimeStamp14__T7dostimeTaZ7dostimeFAaKS5tango4time4Time4TimeZi2dtMFKPaZb(i8* nocapture %.nest_arg, i8** nocapture %p_arg) nounwind {
17260entry:
17261 %tmp1 = getelementptr i8* %.nest_arg, i32 12 ; <i8*> [#uses=1]
17262 %0 = bitcast i8* %tmp1 to i32* ; <i32*> [#uses=1]
17263 %tmp.pre.i = load i8** %p_arg ; <i8*> [#uses=1]
17264 br label %whilecond.i
17265
17266whilecond.i: ; preds = %whilebody.i, %entry
17267 %tmp10.i = phi i8* [ %tmp11.i, %whilebody.i ], [ %tmp.pre.i, %entry ] ; <i8*> [#uses=3]
17268 %value.0.i = phi i32 [ 0, %entry ], [ %tmp15.i, %whilebody.i ] ; <i32> [#uses=3]
17269 %tmp1.i = load i8* %tmp10.i ; <i8> [#uses=1]
17270 %tmp1.i.off = add i8 %tmp1.i, -48 ; <i8> [#uses=1]
17271 %or.cond = icmp ult i8 %tmp1.i.off, 10 ; <i1> [#uses=1]
17272 br i1 %or.cond, label %whilebody.i, label %_D5tango4text7convert9TimeStamp15__T8parseIntTaZ8parseIntFKPaZi.exit
17273
17274whilebody.i: ; preds = %whilecond.i
17275 %tmp9.i = mul i32 %value.0.i, 10 ; <i32> [#uses=1]
17276 %tmp11.i = getelementptr i8* %tmp10.i, i32 1 ; <i8*> [#uses=2]
17277 store i8* %tmp11.i, i8** %p_arg
17278 %tmp12.i = load i8* %tmp10.i ; <i8> [#uses=1]
17279 %tmp13.i = zext i8 %tmp12.i to i32 ; <i32> [#uses=1]
17280 %tmp14.i = add i32 %tmp9.i, %tmp13.i ; <i32> [#uses=1]
17281 %tmp15.i = add i32 %tmp14.i, -48 ; <i32> [#uses=1]
17282 br label %whilecond.i
17283
17284_D5tango4text7convert9TimeStamp15__T8parseIntTaZ8parseIntFKPaZi.exit: ; preds = %whilecond.i
17285 store i32 %value.0.i, i32* %0
17286 %tmp3 = icmp eq i32 %value.0.i, 0 ; <i1> [#uses=1]
17287 br i1 %tmp3, label %andandend10, label %andand
17288
17289andand: ; preds = %_D5tango4text7convert9TimeStamp15__T8parseIntTaZ8parseIntFKPaZi.exit
17290 %tmp4 = load i8** %p_arg ; <i8*> [#uses=2]
17291 %tmp5 = getelementptr i8* %tmp4, i32 1 ; <i8*> [#uses=2]
17292 store i8* %tmp5, i8** %p_arg
17293 %tmp6 = load i8* %tmp4 ; <i8> [#uses=1]
17294 %tmp8 = icmp eq i8 %tmp6, 45 ; <i1> [#uses=1]
17295 br i1 %tmp8, label %andand9, label %andandend10
17296
17297andand9: ; preds = %andand
17298 %tmp13 = getelementptr i8* %.nest_arg, i32 4 ; <i8*> [#uses=1]
17299 %1 = bitcast i8* %tmp13 to i32* ; <i32*> [#uses=1]
17300 br label %whilecond.i58
17301
17302whilecond.i58: ; preds = %whilebody.i65, %andand9
17303 %tmp10.i54 = phi i8* [ %tmp11.i60, %whilebody.i65 ], [ %tmp5, %andand9 ] ; <i8*> [#uses=3]
17304 %value.0.i55 = phi i32 [ 0, %andand9 ], [ %tmp15.i64, %whilebody.i65 ] ; <i32> [#uses=3]
17305 %tmp1.i56 = load i8* %tmp10.i54 ; <i8> [#uses=1]
17306 %tmp1.i56.off = add i8 %tmp1.i56, -48 ; <i8> [#uses=1]
17307 %or.cond72 = icmp ult i8 %tmp1.i56.off, 10 ; <i1> [#uses=1]
17308 br i1 %or.cond72, label %whilebody.i65, label %_D5tango4text7convert9TimeStamp15__T8parseIntTaZ8parseIntFKPaZi.exit70
17309
17310whilebody.i65: ; preds = %whilecond.i58
17311 %tmp9.i59 = mul i32 %value.0.i55, 10 ; <i32> [#uses=1]
17312 %tmp11.i60 = getelementptr i8* %tmp10.i54, i32 1 ; <i8*> [#uses=2]
17313 store i8* %tmp11.i60, i8** %p_arg
17314 %tmp12.i61 = load i8* %tmp10.i54 ; <i8> [#uses=1]
17315 %tmp13.i62 = zext i8 %tmp12.i61 to i32 ; <i32> [#uses=1]
17316 %tmp14.i63 = add i32 %tmp9.i59, %tmp13.i62 ; <i32> [#uses=1]
17317 %tmp15.i64 = add i32 %tmp14.i63, -48 ; <i32> [#uses=1]
17318 br label %whilecond.i58
17319
17320_D5tango4text7convert9TimeStamp15__T8parseIntTaZ8parseIntFKPaZi.exit70: ; preds = %whilecond.i58
17321 store i32 %value.0.i55, i32* %1
17322 %tmp15 = icmp eq i32 %value.0.i55, 0 ; <i1> [#uses=1]
17323 br i1 %tmp15, label %andandend10, label %andand16
17324
17325andand16: ; preds = %_D5tango4text7convert9TimeStamp15__T8parseIntTaZ8parseIntFKPaZi.exit70
17326 %tmp18 = load i8** %p_arg ; <i8*> [#uses=2]
17327 %tmp19 = getelementptr i8* %tmp18, i32 1 ; <i8*> [#uses=2]
17328 store i8* %tmp19, i8** %p_arg
17329 %tmp20 = load i8* %tmp18 ; <i8> [#uses=1]
17330 %tmp22 = icmp eq i8 %tmp20, 45 ; <i1> [#uses=1]
17331 br i1 %tmp22, label %andand23, label %andandend10
17332
17333andand23: ; preds = %andand16
17334 %tmp27 = getelementptr i8* %.nest_arg, i32 8 ; <i8*> [#uses=1]
17335 %2 = bitcast i8* %tmp27 to i32* ; <i32*> [#uses=1]
17336 br label %whilecond.i39
17337
17338whilecond.i39: ; preds = %whilebody.i46, %andand23
17339 %tmp10.i35 = phi i8* [ %tmp11.i41, %whilebody.i46 ], [ %tmp19, %andand23 ] ; <i8*> [#uses=3]
17340 %value.0.i36 = phi i32 [ 0, %andand23 ], [ %tmp15.i45, %whilebody.i46 ] ; <i32> [#uses=3]
17341 %tmp1.i37 = load i8* %tmp10.i35 ; <i8> [#uses=1]
17342 %tmp1.i37.off = add i8 %tmp1.i37, -48 ; <i8> [#uses=1]
17343 %or.cond73 = icmp ult i8 %tmp1.i37.off, 10 ; <i1> [#uses=1]
17344 br i1 %or.cond73, label %whilebody.i46, label %_D5tango4text7convert9TimeStamp15__T8parseIntTaZ8parseIntFKPaZi.exit51
17345
17346whilebody.i46: ; preds = %whilecond.i39
17347 %tmp9.i40 = mul i32 %value.0.i36, 10 ; <i32> [#uses=1]
17348 %tmp11.i41 = getelementptr i8* %tmp10.i35, i32 1 ; <i8*> [#uses=2]
17349 store i8* %tmp11.i41, i8** %p_arg
17350 %tmp12.i42 = load i8* %tmp10.i35 ; <i8> [#uses=1]
17351 %tmp13.i43 = zext i8 %tmp12.i42 to i32 ; <i32> [#uses=1]
17352 %tmp14.i44 = add i32 %tmp9.i40, %tmp13.i43 ; <i32> [#uses=1]
17353 %tmp15.i45 = add i32 %tmp14.i44, -48 ; <i32> [#uses=1]
17354 br label %whilecond.i39
17355
17356_D5tango4text7convert9TimeStamp15__T8parseIntTaZ8parseIntFKPaZi.exit51: ; preds = %whilecond.i39
17357 store i32 %value.0.i36, i32* %2
17358 %tmp29 = icmp ne i32 %value.0.i36, 0 ; <i1> [#uses=1]
17359 ret i1 %tmp29
17360
17361andandend10: ; preds = %andand16, %_D5tango4text7convert9TimeStamp15__T8parseIntTaZ8parseIntFKPaZi.exit70, %andand, %_D5tango4text7convert9TimeStamp15__T8parseIntTaZ8parseIntFKPaZi.exit
17362 ret i1 false
17363}
17364
17365define weak_odr fastcc i32 @_D5tango4text4Util14__T7delimitTaZ7delimitFAaAaZAAa15__foreachbody43MFKAaZi(i8* nocapture %.nest_arg, %"byte[]"* nocapture %__applyArg0_arg) {
17366entry:
17367 %tmp = load %"byte[]"* %__applyArg0_arg ; <%"byte[]"> [#uses=1]
17368 %tmp2 = bitcast i8* %.nest_arg to i32* ; <i32*> [#uses=2]
17369 %.len = load i32* %tmp2 ; <i32> [#uses=3]
17370 %tmp3 = add i32 %.len, 1 ; <i32> [#uses=2]
17371 %tmp6 = getelementptr i8* %.nest_arg, i32 4 ; <i8*> [#uses=1]
17372 %0 = bitcast i8* %tmp6 to %"byte[]"** ; <%"byte[]"**> [#uses=2]
17373 %.ptr = load %"byte[]"** %0 ; <%"byte[]"*> [#uses=1]
17374 %tmp7 = bitcast %"byte[]"* %.ptr to i8* ; <i8*> [#uses=1]
17375 %.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]
17376 %.gc_mem8 = bitcast i8* %.gc_mem to %"byte[]"* ; <%"byte[]"*> [#uses=2]
17377 %tmp9 = getelementptr %"byte[]"* %.gc_mem8, i32 %.len ; <%"byte[]"*> [#uses=1]
17378 store %"byte[]" %tmp, %"byte[]"* %tmp9
17379 store i32 %tmp3, i32* %tmp2
17380 store %"byte[]"* %.gc_mem8, %"byte[]"** %0
17381 ret i32 0
17382}
17383
17384declare fastcc %"tango.text.Regex.RegExpT!(char).RegExpT"* @_D5tango4text5Regex14__T7RegExpTTaZ7RegExpT5_ctorMFAabbbZC5tango4text5Regex14__T7RegExpTTaZ7RegExpT(%"tango.text.Regex.RegExpT!(char).RegExpT"*, %"byte[]", i1, i1, i1)
17385
17386declare fastcc %"byte[]" @_D5tango4text7convert6Layout13__T6LayoutTaZ6Layout7convertMFAC8TypeInfoPvAaZAa(%"tango.text.convert.Layout.Layout!(char).Layout"*, %"TypeInfo[]", i8*, %"byte[]")
17387
17388declare i32 @strncasecmp(i8*, i8*, i32)
17389
17390define internal void @_D5tango3net3ftp9FtpClient16__moduleinfoCtorZ() nounwind {
17391moduleinfoCtorEntry:
17392 %current = load %ModuleReference** @_Dmodule_ref ; <%ModuleReference*> [#uses=1]
17393 store %ModuleReference* %current, %ModuleReference** getelementptr (%ModuleReference* @_D5tango3net3ftp9FtpClient11__moduleRefZ, i32 0, i32 0), align 8
17394 store %ModuleReference* @_D5tango3net3ftp9FtpClient11__moduleRefZ, %ModuleReference** @_Dmodule_ref
17395 ret void
17396}