Dan Gohman | 15be1e3 | 2009-07-13 22:30:31 +0000 | [diff] [blame^] | 1 | ; RUN: llvm-as < %s | llc |
| 2 | ; PR4534 |
| 3 | |
| 4 | ; ModuleID = 'tango.net.ftp.FtpClient.bc' |
| 5 | target datalayout = "E-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64-f128:64:128" |
| 6 | target 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 | |
| 631 | define fastcc noalias %tango.net.ftp.FtpClient.FtpAddress* @_D5tango3net3ftp9FtpClient10FtpAddress6opCallFAaZPS5tango3net3ftp9FtpClient10FtpAddress(%"byte[]" %str_arg) { |
| 632 | entry: |
| 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 | |
| 639 | if: ; preds = %entry |
| 640 | ret %tango.net.ftp.FtpClient.FtpAddress* null |
| 641 | |
| 642 | try: ; 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 | |
| 646 | postinvoke: ; 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 | |
| 653 | whilecond.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 | |
| 661 | whilebody.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 | |
| 666 | forcond.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 | |
| 673 | forbody.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 | |
| 679 | if.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 | |
| 690 | else.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 | |
| 697 | forcond.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 | |
| 705 | forbody.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 | |
| 713 | if.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 | |
| 720 | if38.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 | |
| 726 | else40.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 | |
| 736 | if10: ; 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 | |
| 741 | endif11: ; 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 | |
| 747 | if.i236: ; preds = %endif11 |
| 748 | br label %whilecond.i239 |
| 749 | |
| 750 | whilecond.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 | |
| 755 | whilebody.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 | |
| 767 | if26: ; 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 | |
| 774 | forcond.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 | |
| 781 | forbody.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 | |
| 787 | if.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 | |
| 799 | if52: ; 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 | |
| 816 | else: ; 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 | |
| 823 | endif27: ; 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 | |
| 829 | if.i198: ; preds = %endif27 |
| 830 | br label %whilecond.i201 |
| 831 | |
| 832 | whilecond.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 | |
| 837 | whilebody.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 | |
| 849 | if85: ; 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 | |
| 861 | if.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 | |
| 877 | tmp2.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 | |
| 892 | endif86: ; 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 | |
| 897 | forcond.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 | |
| 904 | forbody.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 | |
| 910 | if.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 | |
| 921 | if116: ; 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 | |
| 933 | endif117: ; 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 | |
| 943 | landingpad: ; 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 | |
| 949 | catch: ; preds = %landingpad |
| 950 | ret %tango.net.ftp.FtpClient.FtpAddress* null |
| 951 | |
| 952 | switchdefault: ; preds = %landingpad |
| 953 | tail call void @_d_eh_resume_unwind(i8* %10) |
| 954 | unreachable |
| 955 | } |
| 956 | |
| 957 | declare fastcc %"byte[]" @_D6object6Object8toStringMFZAa(%object.Object*) |
| 958 | |
| 959 | declare fastcc i32 @_D6object6Object6toHashMFZk(%object.Object*) |
| 960 | |
| 961 | declare fastcc i32 @_D6object6Object5opCmpMFC6ObjectZi(%object.Object*, %object.Object*) |
| 962 | |
| 963 | declare fastcc i32 @_D6object6Object8opEqualsMFC6ObjectZi(%object.Object*, %object.Object*) |
| 964 | |
| 965 | declare fastcc %object.Exception* @_D6object9Exception5_ctorMFAaC9ExceptionZC9Exception(%object.Exception*, %"byte[]", %object.Exception*) |
| 966 | |
| 967 | declare fastcc void @_D6object9Exception8writeOutMFDFAaZvZv(%object.Exception*, %"void delegate(char[])") |
| 968 | |
| 969 | define fastcc %"byte[]" @_D5tango3net3ftp9FtpClient12FtpException8toStringMFZAa(%tango.net.ftp.FtpClient.FtpException* nocapture %.this_arg) { |
| 970 | entry: |
| 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 | |
| 988 | define fastcc %tango.net.ftp.FtpClient.FtpException* @_D5tango3net3ftp9FtpClient12FtpException5_ctorMFAaG3aZC5tango3net3ftp9FtpClient12FtpException(%tango.net.ftp.FtpClient.FtpException* %.this_arg, %"byte[]" %message_arg, [3 x i8]* nocapture %code_arg) { |
| 989 | entry: |
| 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 | |
| 998 | define fastcc %tango.net.ftp.FtpClient.FtpException* @_D5tango3net3ftp9FtpClient12FtpException5_ctorMFS5tango3net3ftp9FtpClient11FtpResponseZC5tango3net3ftp9FtpClient12FtpException(%tango.net.ftp.FtpClient.FtpException* %.this_arg, %tango.net.ftp.FtpClient.FtpResponse* nocapture byval %r_arg) { |
| 999 | entry: |
| 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 | |
| 1010 | declare fastcc void @_D5tango3net3ftp6Telnet6Telnet8sendlineMFAvZv(%tango.net.ftp.Telnet.Telnet*, %"byte[]") |
| 1011 | |
| 1012 | declare fastcc void @_D5tango3net3ftp6Telnet6Telnet8sendDataMFAvZv(%tango.net.ftp.Telnet.Telnet*, %"byte[]") |
| 1013 | |
| 1014 | declare fastcc %"byte[]" @_D5tango3net3ftp6Telnet6Telnet8readLineMFZAa(%tango.net.ftp.Telnet.Telnet*) |
| 1015 | |
| 1016 | declare fastcc %tango.net.SocketConduit.SocketConduit* @_D5tango3net3ftp6Telnet6Telnet19findAvailableServerMFAaiZC5tango3net13SocketConduit13SocketConduit(%tango.net.ftp.Telnet.Telnet*, %"byte[]", i32) |
| 1017 | |
| 1018 | declare fastcc void @_D5tango4time4Time8TimeSpan10fromMillisFlZS5tango4time4Time8TimeSpan(%tango.time.Time.Time* noalias nocapture sret, i64) |
| 1019 | |
| 1020 | define fastcc void @_D5tango3net3ftp9FtpClient13FTPConnection9exceptionMFAaZv(%tango.net.ftp.FtpClient.FTPConnection* nocapture %.this_arg, %"byte[]" %message_arg) noreturn { |
| 1021 | entry: |
| 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 | |
| 1039 | define fastcc void @_D5tango3net3ftp9FtpClient13FTPConnection7timeoutMFZS5tango4time4Time8TimeSpan(%tango.time.Time.Time* noalias nocapture sret %.sret_arg, %tango.net.ftp.FtpClient.FTPConnection* nocapture %.this_arg) nounwind { |
| 1040 | entry: |
| 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 | |
| 1048 | define fastcc void @_D5tango3net3ftp9FtpClient13FTPConnection7timeoutMFS5tango4time4Time8TimeSpanZv(%tango.net.ftp.FtpClient.FTPConnection* nocapture %.this_arg, %tango.time.Time.Time* nocapture byval %t_arg) nounwind { |
| 1049 | entry: |
| 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 | |
| 1057 | define fastcc void @_D5tango3net3ftp9FtpClient13FTPConnection12shutdownTimeMFZS5tango4time4Time8TimeSpan(%tango.time.Time.Time* noalias nocapture sret %.sret_arg, %tango.net.ftp.FtpClient.FTPConnection* nocapture %.this_arg) nounwind { |
| 1058 | entry: |
| 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 | |
| 1067 | define fastcc %"FtpFeature[]" @_D5tango3net3ftp9FtpClient13FTPConnection17supportedFeaturesMFZAS5tango3net3ftp9FtpClient10FtpFeature(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg) { |
| 1068 | entry: |
| 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 | |
| 1078 | if: ; 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 | |
| 1083 | endif: ; 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 | |
| 1094 | define fastcc void @_D5tango3net3ftp9FtpClient13FTPConnection9exceptionMFS5tango3net3ftp9FtpClient11FtpResponseZv(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %tango.net.ftp.FtpClient.FtpResponse* nocapture byval %fr_arg) { |
| 1095 | entry: |
| 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 | |
| 1106 | define fastcc void @_D5tango3net3ftp9FtpClient13FTPConnection7connectMFS5tango3net3ftp9FtpClient10FtpAddressZv(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %tango.net.ftp.FtpClient.FtpAddress* nocapture byval %fad_arg) { |
| 1107 | entry: |
| 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 | |
| 1124 | define fastcc void @_D5tango3net3ftp9FtpClient13FTPConnection7connectMFAaAaAakZv(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" %hostname_arg, %"byte[]" %username_arg, %"byte[]" %password_arg, i32 %port_arg) { |
| 1125 | entry: |
| 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 | |
| 1139 | if: ; 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 | |
| 1148 | endif: ; 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 | |
| 1162 | postinvoke: ; preds = %endif |
| 1163 | %tmp26 = icmp eq i32 %username_arg100, 0 ; <i1> [#uses=1] |
| 1164 | br i1 %tmp26, label %if27, label %endif28 |
| 1165 | |
| 1166 | if27: ; preds = %postinvoke |
| 1167 | ret void |
| 1168 | |
| 1169 | endif28: ; 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 | |
| 1181 | postinvoke37: ; 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 | |
| 1188 | postinvoke45: ; 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 | |
| 1196 | postinvoke51: ; preds = %postinvoke45 |
| 1197 | %tmp53 = icmp eq i32 %tmp52, 0 ; <i1> [#uses=1] |
| 1198 | br i1 %tmp53, label %endif55, label %if54 |
| 1199 | |
| 1200 | if54: ; 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 | |
| 1210 | postinvoke66: ; 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 | |
| 1217 | postinvoke74: ; 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 | |
| 1222 | endif55: ; 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 | |
| 1227 | postinvoke80: ; preds = %endif55 |
| 1228 | %tmp82 = icmp eq i32 %tmp81, 0 ; <i1> [#uses=1] |
| 1229 | br i1 %tmp82, label %andand, label %endtrycatch |
| 1230 | |
| 1231 | andand: ; 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 | |
| 1236 | postinvoke87: ; preds = %andand |
| 1237 | %tmp89 = icmp eq i32 %tmp88, 0 ; <i1> [#uses=1] |
| 1238 | br i1 %tmp89, label %if91, label %endtrycatch |
| 1239 | |
| 1240 | if91: ; 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 | |
| 1247 | landingpad: ; 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 | |
| 1253 | catch: ; 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 | |
| 1262 | switchdefault: ; preds = %landingpad |
| 1263 | call void @_d_eh_resume_unwind(i8* %0) |
| 1264 | unreachable |
| 1265 | |
| 1266 | endtrycatch: ; preds = %if91, %postinvoke87, %postinvoke80 |
| 1267 | ret void |
| 1268 | } |
| 1269 | |
| 1270 | define fastcc void @_D5tango3net3ftp9FtpClient13FTPConnection5closeMFZv(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg) { |
| 1271 | entry: |
| 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 | |
| 1278 | if: ; 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 | |
| 1286 | endif: ; 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 | |
| 1292 | try: ; 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 | |
| 1300 | postinvoke: ; 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 | |
| 1307 | landingpad: ; 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 | |
| 1313 | switchdefault: ; preds = %landingpad |
| 1314 | call void @_d_eh_resume_unwind(i8* %0) |
| 1315 | unreachable |
| 1316 | |
| 1317 | endtrycatch: ; 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 | |
| 1339 | endif16: ; preds = %endif |
| 1340 | ret void |
| 1341 | } |
| 1342 | |
| 1343 | define fastcc void @_D5tango3net3ftp9FtpClient13FTPConnection10setPassiveMFZv(%tango.net.ftp.FtpClient.FTPConnection* nocapture %.this_arg) { |
| 1344 | entry: |
| 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 | |
| 1360 | define fastcc void @_D5tango3net3ftp9FtpClient13FTPConnection9setActiveMFAatAatZv(%tango.net.ftp.FtpClient.FTPConnection* nocapture %.this_arg, %"byte[]" %ip_arg, i16 zeroext %port_arg, %"byte[]" %listen_ip_arg, i16 zeroext %listen_port_arg) { |
| 1361 | entry: |
| 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 | |
| 1397 | if26: ; 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 | |
| 1408 | else: ; 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 | |
| 1419 | define fastcc void @_D5tango3net3ftp9FtpClient13FTPConnection2cdMFAaZv(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" %dir_arg) { |
| 1420 | entry: |
| 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 | |
| 1438 | define fastcc void @_D5tango3net3ftp9FtpClient13FTPConnection4cdupMFZv(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg) { |
| 1439 | entry: |
| 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 | |
| 1459 | oror: ; 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 | |
| 1465 | if.critedge: ; preds = %entry |
| 1466 | ret void |
| 1467 | |
| 1468 | if: ; preds = %oror |
| 1469 | ret void |
| 1470 | |
| 1471 | else: ; 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 | |
| 1479 | define fastcc %"byte[]" @_D5tango3net3ftp9FtpClient13FTPConnection3cwdMFZAa(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg) { |
| 1480 | entry: |
| 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 | |
| 1502 | define fastcc void @_D5tango3net3ftp9FtpClient13FTPConnection5chmodMFAaiZv(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" %path_arg, i32 %mode_arg) { |
| 1503 | entry: |
| 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 | |
| 1524 | case8.i: ; preds = %entry, %entry, %entry, %entry |
| 1525 | br i1 undef, label %if11.i, label %switchend.i |
| 1526 | |
| 1527 | if11.i: ; preds = %case8.i |
| 1528 | br label %switchend.i |
| 1529 | |
| 1530 | case28.i: ; preds = %entry, %entry |
| 1531 | br label %switchend.i |
| 1532 | |
| 1533 | case31.i: ; preds = %entry, %entry |
| 1534 | br label %switchend.i |
| 1535 | |
| 1536 | case33.i: ; preds = %entry |
| 1537 | br label %switchend.i |
| 1538 | |
| 1539 | case35.i: ; preds = %entry |
| 1540 | br label %switchend.i |
| 1541 | |
| 1542 | default37.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 | |
| 1554 | switchend.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 | |
| 1565 | if59.i: ; preds = %switchend.i |
| 1566 | br label %dowhile.i |
| 1567 | |
| 1568 | dowhile.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 | |
| 1581 | andand.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 | |
| 1586 | dowhile82.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 | |
| 1601 | andand100.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 | |
| 1606 | endif60.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 | |
| 1611 | condtrue.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 | |
| 1616 | condend.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 | |
| 1622 | endif127.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 | |
| 1648 | define fastcc void @_D5tango3net3ftp9FtpClient13FTPConnection3delMFAaZv(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" %path_arg) { |
| 1649 | entry: |
| 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 | |
| 1673 | if: ; 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 | |
| 1680 | endif: ; preds = %entry |
| 1681 | ret void |
| 1682 | } |
| 1683 | |
| 1684 | define fastcc void @_D5tango3net3ftp9FtpClient13FTPConnection2rmMFAaZv(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" %path_arg) { |
| 1685 | entry: |
| 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 | |
| 1703 | define fastcc void @_D5tango3net3ftp9FtpClient13FTPConnection6renameMFAaAaZv(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" %old_path_arg, %"byte[]" %new_path_arg) { |
| 1704 | entry: |
| 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 | |
| 1735 | define fastcc i32 @_D5tango3net3ftp9FtpClient13FTPConnection5existMFAaZi(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" %file_arg) { |
| 1736 | entry: |
| 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 | |
| 1745 | postinvoke: ; 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 | |
| 1754 | if18: ; preds = %postinvoke |
| 1755 | ret i32 1 |
| 1756 | |
| 1757 | oror27: ; 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 | |
| 1762 | if33.critedge: ; preds = %postinvoke |
| 1763 | ret i32 2 |
| 1764 | |
| 1765 | if33.critedge37: ; preds = %postinvoke |
| 1766 | ret i32 2 |
| 1767 | |
| 1768 | landingpad: ; 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 | |
| 1774 | catch: ; 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 | |
| 1780 | switchdefault: ; preds = %landingpad |
| 1781 | call void @_d_eh_resume_unwind(i8* %0) |
| 1782 | unreachable |
| 1783 | } |
| 1784 | |
| 1785 | define fastcc i32 @_D5tango3net3ftp9FtpClient13FTPConnection4sizeMFAaE5tango3net3ftp9FtpClient9FtpFormatZk(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" %path_arg, i32 %format_arg) { |
| 1786 | entry: |
| 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 | |
| 1811 | whilecond: ; 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 | |
| 1816 | whilebody: ; 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 | |
| 1823 | endif: ; preds = %whilebody |
| 1824 | %tmp39 = add i32 %end_pos.0, 1 ; <i32> [#uses=1] |
| 1825 | br label %whilecond |
| 1826 | |
| 1827 | endwhile: ; 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 | |
| 1831 | forcond.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 | |
| 1840 | forbody.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 | |
| 1848 | if20.i.i: ; preds = %forbody.i.i |
| 1849 | br label %forinc.i.i |
| 1850 | |
| 1851 | if26.i.i: ; preds = %forbody.i.i |
| 1852 | br label %forinc.i.i |
| 1853 | |
| 1854 | forinc.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 | |
| 1860 | endfor.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 | |
| 1866 | if40.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 | |
| 1879 | case46.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 | |
| 1883 | case51.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 | |
| 1887 | case56.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 | |
| 1891 | endif41.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 | |
| 1897 | if70.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 | |
| 1910 | foreachcond.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 | |
| 1916 | foreachbody.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 | |
| 1924 | else.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 | |
| 1929 | if22.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 | |
| 1933 | else24.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 | |
| 1938 | if39.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 | |
| 1942 | endif.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 | |
| 1950 | if55.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 | |
| 1965 | define fastcc void @_D5tango3net3ftp9FtpClient13FTPConnection4typeMFE5tango3net3ftp9FtpClient9FtpFormatZv(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 %format_arg) { |
| 1966 | entry: |
| 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 | |
| 1977 | if: ; 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 | |
| 1984 | else: ; 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 | |
| 1991 | endif: ; 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 | |
| 1999 | define fastcc void @_D5tango3net3ftp9FtpClient13FTPConnection8modifiedMFAaZS5tango4time4Time4Time(%tango.time.Time.Time* noalias nocapture sret %.sret_arg, %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" %file_arg) { |
| 2000 | entry: |
| 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 | |
| 2033 | define fastcc void @_D5tango3net3ftp9FtpClient13FTPConnection12parseTimevalMFAaZS5tango4time4Time4Time(%tango.time.Time.Time* noalias nocapture sret %.sret_arg, %tango.net.ftp.FtpClient.FTPConnection* nocapture %.this_arg, %"byte[]" %timeval_arg) { |
| 2034 | entry: |
| 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 | |
| 2041 | if: ; 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 | |
| 2058 | endif: ; 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 | |
| 2067 | foreachcond.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 | |
| 2073 | foreachbody.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 | |
| 2080 | if.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 | |
| 2088 | foreachcond.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 | |
| 2094 | foreachbody.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 | |
| 2102 | if.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 | |
| 2110 | foreachcond.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 | |
| 2116 | foreachbody.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 | |
| 2124 | if.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 | |
| 2132 | foreachcond.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 | |
| 2138 | foreachbody.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 | |
| 2146 | if.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 | |
| 2154 | foreachcond.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 | |
| 2160 | foreachbody.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 | |
| 2168 | if.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 | |
| 2176 | foreachcond.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 | |
| 2182 | foreachbody.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 | |
| 2190 | if.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 | |
| 2207 | define fastcc void @_D5tango3net3ftp9FtpClient13FTPConnection4noopMFZv(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg) { |
| 2208 | entry: |
| 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 | |
| 2222 | define fastcc %"byte[]" @_D5tango3net3ftp9FtpClient13FTPConnection5mkdirMFAaZAa(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" %path_arg) { |
| 2223 | entry: |
| 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 | |
| 2249 | define fastcc void @_D5tango3net3ftp9FtpClient13FTPConnection11getFeaturesMFZv(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg) { |
| 2250 | entry: |
| 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 | |
| 2273 | if: ; 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 | |
| 2284 | else: ; 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 | |
| 2331 | forcond: ; 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 | |
| 2336 | forbody: ; 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 | |
| 2344 | forcond.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 | |
| 2351 | forbody.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 | |
| 2357 | if.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 | |
| 2378 | if75: ; 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 | |
| 2390 | forinc: ; preds = %if75, %_D5tango4text4Util13__T6locateTaZ6locateFAaakZk.exit |
| 2391 | %tmp103 = add i32 %i.0, 1 ; <i32> [#uses=1] |
| 2392 | br label %forcond |
| 2393 | |
| 2394 | endfor: ; 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 | |
| 2400 | define fastcc void @_D5tango3net3ftp9FtpClient13FTPConnection11sendCommandMFAaAAaXv(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" %command_arg, %"char[][]" %parameters_arg) { |
| 2401 | entry: |
| 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 | |
| 2408 | foreachcond: ; 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 | |
| 2415 | foreachbody: ; 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 | |
| 2432 | foreachend: ; 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 | |
| 2450 | define fastcc void @_D5tango3net3ftp9FtpClient13FTPConnection12readResponseMFAaZS5tango3net3ftp9FtpClient11FtpResponse(%tango.net.ftp.FtpClient.FtpResponse* noalias nocapture sret %.sret_arg, %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" %expected_code_arg) { |
| 2451 | entry: |
| 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 | |
| 2471 | if: ; 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 | |
| 2478 | endif: ; 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 | |
| 2484 | define fastcc void @_D5tango3net3ftp9FtpClient13FTPConnection12readResponseMFZS5tango3net3ftp9FtpClient11FtpResponse(%tango.net.ftp.FtpClient.FtpResponse* noalias nocapture sret %.sret_arg, %tango.net.ftp.FtpClient.FTPConnection* %.this_arg) { |
| 2485 | entry: |
| 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 | |
| 2502 | whilecond: ; 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 | |
| 2509 | whilebody: ; 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 | |
| 2523 | if: ; preds = %whilebody |
| 2524 | %tmp20 = icmp ult i32 %tmp14168, 4 ; <i1> [#uses=1] |
| 2525 | br i1 %tmp20, label %if21, label %endif22 |
| 2526 | |
| 2527 | if21: ; 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 | |
| 2531 | endif22: ; 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 | |
| 2540 | else: ; 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 | |
| 2552 | andand: ; 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 | |
| 2559 | if63: ; 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 | |
| 2570 | else65: ; preds = %andand, %else |
| 2571 | %tmp87 = icmp ugt i32 %tmp14168, 2 ; <i1> [#uses=1] |
| 2572 | br i1 %tmp87, label %andand88, label %else99 |
| 2573 | |
| 2574 | andand88: ; 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 | |
| 2579 | if97: ; 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 | |
| 2590 | else99: ; 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 | |
| 2599 | endif: ; preds = %else99, %if97, %if63, %endif22 |
| 2600 | %tmp138 = icmp ult i32 %tmp14168, 4 ; <i1> [#uses=1] |
| 2601 | br i1 %tmp138, label %whilecond, label %andand139 |
| 2602 | |
| 2603 | andand139: ; 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 | |
| 2610 | andand153: ; 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 | |
| 2616 | endwhile: ; 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 | |
| 2622 | define fastcc %"byte[]" @_D5tango3net3ftp9FtpClient13FTPConnection8parse257MFS5tango3net3ftp9FtpClient11FtpResponseZAa(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %tango.net.ftp.FtpClient.FtpResponse* byval %response_arg) { |
| 2623 | entry: |
| 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 | |
| 2631 | if: ; 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 | |
| 2639 | whilecond: ; 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 | |
| 2646 | whilebody: ; 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 | |
| 2654 | if24: ; 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 | |
| 2659 | endif33: ; 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 | |
| 2665 | if43: ; 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 | |
| 2670 | else: ; 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 | |
| 2675 | endif25: ; 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 | |
| 2681 | endwhile: ; 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 | |
| 2688 | define fastcc %tango.net.SocketConduit.SocketConduit* @_D5tango3net3ftp9FtpClient13FTPConnection13getDataSocketMFZC5tango3net13SocketConduit13SocketConduit(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg) { |
| 2689 | entry: |
| 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 | |
| 2706 | if: ; 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 | |
| 2714 | endif: ; 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 | |
| 2722 | endif.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 | |
| 2726 | default15: ; 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 | |
| 2734 | case: ; 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 | |
| 2742 | case25: ; 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 | |
| 2801 | if61: ; 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 | |
| 2833 | else: ; 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 | |
| 2879 | if59.i: ; preds = %else |
| 2880 | br label %dowhile.i |
| 2881 | |
| 2882 | dowhile.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 | |
| 2895 | andand.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 | |
| 2900 | dowhile82.i: ; preds = %andand100.i, %else |
| 2901 | br i1 undef, label %condtrue.i, label %andand100.i |
| 2902 | |
| 2903 | andand100.i: ; preds = %dowhile82.i |
| 2904 | br i1 undef, label %condtrue.i, label %dowhile82.i |
| 2905 | |
| 2906 | condtrue.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 | |
| 2913 | if118.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 | |
| 2934 | if59.i431: ; preds = %_D5tango4text7convert7Integer16__T9formatterTaZ9formatterFAalaaiZAa.exit |
| 2935 | br label %dowhile.i441 |
| 2936 | |
| 2937 | dowhile.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 | |
| 2950 | andand.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 | |
| 2955 | dowhile82.i456: ; preds = %andand100.i459, %_D5tango4text7convert7Integer16__T9formatterTaZ9formatterFAalaaiZAa.exit |
| 2956 | br i1 undef, label %condtrue.i466, label %andand100.i459 |
| 2957 | |
| 2958 | andand100.i459: ; preds = %dowhile82.i456 |
| 2959 | br i1 undef, label %condtrue.i466, label %dowhile82.i456 |
| 2960 | |
| 2961 | condtrue.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 | |
| 2968 | if118.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 | |
| 2990 | if59.i506: ; preds = %_D5tango4text7convert7Integer16__T9formatterTaZ9formatterFAalaaiZAa.exit482 |
| 2991 | br label %dowhile.i516 |
| 2992 | |
| 2993 | dowhile.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 | |
| 3006 | andand.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 | |
| 3011 | dowhile82.i531: ; preds = %andand100.i534, %_D5tango4text7convert7Integer16__T9formatterTaZ9formatterFAalaaiZAa.exit482 |
| 3012 | br i1 undef, label %condtrue.i541, label %andand100.i534 |
| 3013 | |
| 3014 | andand100.i534: ; preds = %dowhile82.i531 |
| 3015 | br i1 undef, label %condtrue.i541, label %dowhile82.i531 |
| 3016 | |
| 3017 | condtrue.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 | |
| 3024 | if118.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 | |
| 3046 | if59.i581: ; preds = %_D5tango4text7convert7Integer16__T9formatterTaZ9formatterFAalaaiZAa.exit557 |
| 3047 | br label %dowhile.i591 |
| 3048 | |
| 3049 | dowhile.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 | |
| 3062 | andand.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 | |
| 3067 | dowhile82.i606: ; preds = %andand100.i609, %_D5tango4text7convert7Integer16__T9formatterTaZ9formatterFAalaaiZAa.exit557 |
| 3068 | br i1 undef, label %condtrue.i616, label %andand100.i609 |
| 3069 | |
| 3070 | andand100.i609: ; preds = %dowhile82.i606 |
| 3071 | br i1 undef, label %condtrue.i616, label %dowhile82.i606 |
| 3072 | |
| 3073 | condtrue.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 | |
| 3080 | if118.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 | |
| 3102 | if59.i731: ; preds = %_D5tango4text7convert7Integer16__T9formatterTaZ9formatterFAalaaiZAa.exit632 |
| 3103 | br label %dowhile.i741 |
| 3104 | |
| 3105 | dowhile.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 | |
| 3118 | andand.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 | |
| 3123 | dowhile82.i756: ; preds = %andand100.i759, %_D5tango4text7convert7Integer16__T9formatterTaZ9formatterFAalaaiZAa.exit632 |
| 3124 | br i1 undef, label %condtrue.i766, label %andand100.i759 |
| 3125 | |
| 3126 | andand100.i759: ; preds = %dowhile82.i756 |
| 3127 | br i1 undef, label %condtrue.i766, label %dowhile82.i756 |
| 3128 | |
| 3129 | condtrue.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 | |
| 3136 | if118.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 | |
| 3158 | if59.i656: ; preds = %_D5tango4text7convert7Integer16__T9formatterTaZ9formatterFAalaaiZAa.exit782 |
| 3159 | br label %dowhile.i666 |
| 3160 | |
| 3161 | dowhile.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 | |
| 3174 | andand.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 | |
| 3179 | dowhile82.i681: ; preds = %andand100.i684, %_D5tango4text7convert7Integer16__T9formatterTaZ9formatterFAalaaiZAa.exit782 |
| 3180 | br i1 undef, label %condtrue.i691, label %andand100.i684 |
| 3181 | |
| 3182 | andand100.i684: ; preds = %dowhile82.i681 |
| 3183 | br i1 undef, label %condtrue.i691, label %dowhile82.i681 |
| 3184 | |
| 3185 | condtrue.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 | |
| 3192 | if118.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 | |
| 3223 | define fastcc %tango.net.SocketConduit.SocketConduit* @_D5tango3net3ftp9FtpClient13FTPConnection14connectPassiveMFZC5tango3net13SocketConduit13SocketConduit(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg) { |
| 3224 | entry: |
| 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 | |
| 3236 | if: ; 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 | |
| 3271 | forcond.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 | |
| 3280 | forbody.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 | |
| 3288 | if20.i.i: ; preds = %forbody.i.i |
| 3289 | br label %forinc.i.i |
| 3290 | |
| 3291 | if26.i.i: ; preds = %forbody.i.i |
| 3292 | br label %forinc.i.i |
| 3293 | |
| 3294 | forinc.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 | |
| 3300 | endfor.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 | |
| 3306 | if40.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 | |
| 3319 | case46.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 | |
| 3323 | case51.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 | |
| 3327 | case56.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 | |
| 3331 | endif41.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 | |
| 3337 | if70.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 | |
| 3350 | foreachcond.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 | |
| 3356 | foreachbody.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 | |
| 3364 | else.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 | |
| 3369 | if22.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 | |
| 3373 | else24.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 | |
| 3378 | if39.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 | |
| 3382 | endif.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 | |
| 3390 | if55.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 | |
| 3419 | else: ; 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 | |
| 3428 | if54: ; 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 | |
| 3453 | foreachcond.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 | |
| 3458 | foreachbody.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 | |
| 3464 | foreachnext.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 | |
| 3475 | if88: ; 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 | |
| 3492 | endif89: ; 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 | |
| 3522 | forcond.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 | |
| 3531 | forbody.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 | |
| 3539 | if20.i.i562: ; preds = %forbody.i.i561 |
| 3540 | br label %forinc.i.i567 |
| 3541 | |
| 3542 | if26.i.i563: ; preds = %forbody.i.i561 |
| 3543 | br label %forinc.i.i567 |
| 3544 | |
| 3545 | forinc.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 | |
| 3551 | endfor.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 | |
| 3557 | if40.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 | |
| 3570 | case46.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 | |
| 3574 | case51.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 | |
| 3578 | case56.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 | |
| 3582 | endif41.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 | |
| 3588 | if70.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 | |
| 3601 | foreachcond.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 | |
| 3607 | foreachbody.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 | |
| 3615 | else.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 | |
| 3620 | if22.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 | |
| 3624 | else24.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 | |
| 3629 | if39.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 | |
| 3633 | endif.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 | |
| 3641 | if55.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 | |
| 3670 | else56: ; 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 | |
| 3695 | foreachcond.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 | |
| 3700 | foreachbody.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 | |
| 3706 | foreachnext.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 | |
| 3717 | if183: ; 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 | |
| 3734 | endif184: ; 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 | |
| 3798 | forcond.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 | |
| 3807 | forbody.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 | |
| 3815 | if20.i.i475: ; preds = %forbody.i.i474 |
| 3816 | br label %forinc.i.i480 |
| 3817 | |
| 3818 | if26.i.i476: ; preds = %forbody.i.i474 |
| 3819 | br label %forinc.i.i480 |
| 3820 | |
| 3821 | forinc.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 | |
| 3827 | endfor.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 | |
| 3833 | if40.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 | |
| 3846 | case46.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 | |
| 3850 | case51.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 | |
| 3854 | case56.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 | |
| 3858 | endif41.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 | |
| 3864 | if70.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 | |
| 3877 | foreachcond.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 | |
| 3883 | foreachbody.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 | |
| 3891 | else.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 | |
| 3896 | if22.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 | |
| 3900 | else24.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 | |
| 3905 | if39.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 | |
| 3909 | endif.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 | |
| 3917 | if55.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 | |
| 3938 | condtrue: ; 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 | |
| 3948 | forcond.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 | |
| 3957 | forbody.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 | |
| 3965 | if20.i.i386: ; preds = %forbody.i.i385 |
| 3966 | br label %forinc.i.i391 |
| 3967 | |
| 3968 | if26.i.i387: ; preds = %forbody.i.i385 |
| 3969 | br label %forinc.i.i391 |
| 3970 | |
| 3971 | forinc.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 | |
| 3977 | endfor.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 | |
| 3983 | if40.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 | |
| 3996 | case46.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 | |
| 4000 | case51.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 | |
| 4004 | case56.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 | |
| 4008 | endif41.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 | |
| 4014 | if70.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 | |
| 4027 | foreachcond.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 | |
| 4033 | foreachbody.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 | |
| 4041 | else.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 | |
| 4046 | if22.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 | |
| 4050 | else24.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 | |
| 4055 | if39.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 | |
| 4059 | endif.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 | |
| 4067 | if55.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 | |
| 4081 | condend: ; 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 | |
| 4099 | try: ; 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 | |
| 4104 | postinvoke: ; 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 | |
| 4147 | postinvoke319: ; 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 | |
| 4152 | landingpad: ; 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 | |
| 4161 | define fastcc i1 @_D5tango3net3ftp9FtpClient13FTPConnection11isSupportedMFAaZb(%tango.net.ftp.FtpClient.FTPConnection* nocapture %.this_arg, %"byte[]" %command_arg) { |
| 4162 | entry: |
| 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 | |
| 4168 | if: ; preds = %entry |
| 4169 | ret i1 true |
| 4170 | |
| 4171 | endif: ; 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 | |
| 4176 | foreachcond: ; 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 | |
| 4181 | foreachbody: ; 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 | |
| 4197 | if20: ; preds = %foreachbody |
| 4198 | ret i1 true |
| 4199 | |
| 4200 | foreachnext: ; preds = %foreachbody |
| 4201 | %tmp24 = add i32 %foreachkey.0, 1 ; <i32> [#uses=1] |
| 4202 | br label %foreachcond |
| 4203 | |
| 4204 | foreachend: ; preds = %foreachcond |
| 4205 | ret i1 false |
| 4206 | } |
| 4207 | |
| 4208 | define fastcc i1 @_D5tango3net3ftp9FtpClient13FTPConnection12is_supportedMFAaZb(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" %command_arg) { |
| 4209 | entry: |
| 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 | |
| 4215 | if: ; preds = %entry |
| 4216 | ret i1 false |
| 4217 | |
| 4218 | endif: ; 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 | |
| 4227 | define fastcc void @_D5tango3net3ftp9FtpClient13FTPConnection17prepareDataSocketMFKC5tango3net13SocketConduit13SocketConduitZv(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %tango.net.SocketConduit.SocketConduit** nocapture %data_arg) { |
| 4228 | entry: |
| 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 | |
| 4241 | default4: ; 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 | |
| 4249 | case: ; 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 | |
| 4273 | postinvoke: ; 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 | |
| 4281 | postinvoke21: ; 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 | |
| 4289 | whilebody: ; 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 | |
| 4296 | postinvoke26: ; 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 | |
| 4303 | postinvoke34: ; 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 | |
| 4315 | postinvoke43: ; 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 | |
| 4319 | postinvoke45: ; 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 | |
| 4326 | postinvoke54: ; 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 | |
| 4347 | endif: ; 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 | |
| 4356 | postinvoke67: ; 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 | |
| 4364 | endwhile: ; 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 | |
| 4369 | if77: ; 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 | |
| 4373 | postinvoke79: ; 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 | |
| 4392 | postinvoke91: ; preds = %_D5tango3net3ftp9FtpClient12FtpException5_ctorMFAaG3aZC5tango3net3ftp9FtpClient12FtpException.exit |
| 4393 | unreachable |
| 4394 | |
| 4395 | endif78: ; 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 | |
| 4404 | postinvoke98: ; 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 | |
| 4412 | postinvoke103: ; 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 | |
| 4421 | postinvoke109: ; 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 | |
| 4430 | postinvoke116: ; 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 | |
| 4439 | landingpad: ; 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 | |
| 4447 | switchend: ; preds = %entry |
| 4448 | ret void |
| 4449 | } |
| 4450 | |
| 4451 | define fastcc void @_D5tango3net3ftp9FtpClient13FTPConnection17finishDataCommandMFC5tango3net13SocketConduit13SocketConduitZv(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %tango.net.SocketConduit.SocketConduit* %data_arg) { |
| 4452 | entry: |
| 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 | |
| 4479 | oror: ; 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 | |
| 4485 | if: ; 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 | |
| 4492 | endif: ; preds = %oror, %entry |
| 4493 | ret void |
| 4494 | } |
| 4495 | |
| 4496 | define fastcc %tango.net.SocketConduit.SocketConduit* @_D5tango3net3ftp9FtpClient13FTPConnection18processDataCommandMFAaAAaXC5tango3net13SocketConduit13SocketConduit(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" %command_arg, %"char[][]" %parameters_arg) { |
| 4497 | entry: |
| 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 | |
| 4513 | postinvoke: ; 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 | |
| 4520 | postinvoke18: ; 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 | |
| 4528 | postinvoke24: ; preds = %postinvoke18 |
| 4529 | %tmp26 = icmp eq i32 %tmp25, 0 ; <i1> [#uses=1] |
| 4530 | br i1 %tmp26, label %andand, label %endif |
| 4531 | |
| 4532 | andand: ; 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 | |
| 4537 | postinvoke31: ; preds = %andand |
| 4538 | %tmp33 = icmp eq i32 %tmp32, 0 ; <i1> [#uses=1] |
| 4539 | br i1 %tmp33, label %if, label %endif |
| 4540 | |
| 4541 | if: ; 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 | |
| 4548 | endif: ; 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 | |
| 4555 | postinvoke44: ; preds = %endif |
| 4556 | %tmp45 = load %tango.net.SocketConduit.SocketConduit** %data ; <%tango.net.SocketConduit.SocketConduit*> [#uses=1] |
| 4557 | ret %tango.net.SocketConduit.SocketConduit* %tmp45 |
| 4558 | |
| 4559 | landingpad: ; 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 | |
| 4565 | catch: ; 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 | |
| 4577 | switchdefault: ; preds = %landingpad |
| 4578 | call void @_d_eh_resume_unwind(i8* %0) |
| 4579 | unreachable |
| 4580 | } |
| 4581 | |
| 4582 | define fastcc %"FtpFileInfo[]" @_D5tango3net3ftp9FtpClient13FTPConnection2lsMFAaZAS5tango3net3ftp9FtpClient11FtpFileInfo(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" %path_arg) { |
| 4583 | entry: |
| 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 | |
| 4598 | if: ; 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 | |
| 4605 | if7: ; 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 | |
| 4614 | else: ; 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 | |
| 4618 | landingpad: ; 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 | |
| 4624 | switchdefault: ; preds = %landingpad |
| 4625 | call void @_d_eh_resume_unwind(i8* %0) |
| 4626 | unreachable |
| 4627 | |
| 4628 | endif: ; 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 | |
| 4633 | if27: ; 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 | |
| 4705 | foreachcond: ; 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 | |
| 4712 | foreachbody: ; 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 | |
| 4719 | try74: ; 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 | |
| 4729 | postinvoke102: ; 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 | |
| 4751 | if109: ; 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 | |
| 4757 | postinvoke119: ; 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 | |
| 4779 | landingpad75: ; 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 | |
| 4785 | catch77: ; 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 | |
| 4794 | catch77.landingpad55_crit_edge: ; preds = %catch77 |
| 4795 | %.tmp.pre = bitcast %"byte[]"* %tmp53190 to i8* ; <i8*> [#uses=1] |
| 4796 | br label %landingpad55 |
| 4797 | |
| 4798 | postinvoke83: ; 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 | |
| 4803 | switchdefault90: ; 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 | |
| 4808 | postinvoke96: ; preds = %switchdefault90 |
| 4809 | call void @_d_eh_resume_unwind(i8* %10) |
| 4810 | unreachable |
| 4811 | |
| 4812 | foreachnext: ; 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 | |
| 4818 | foreachend: ; 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 | |
| 4825 | landingpad55: ; 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 | |
| 4833 | else29: ; 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 | |
| 4843 | define fastcc void @_D5tango3net3ftp9FtpClient13FTPConnection10readStreamMFC5tango3net13SocketConduit13SocketConduitC5tango2io5model8IConduit12OutputStreamDFkZvZv(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %tango.net.SocketConduit.SocketConduit* %data_arg, %tango.io.model.IConduit.OutputStream* %stream_arg, %"void delegate(uint pos)" %progress_arg) { |
| 4844 | entry: |
| 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 | |
| 4878 | postinvoke: ; 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 | |
| 4886 | postinvoke12: ; 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 | |
| 4895 | whilecond: ; 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 | |
| 4902 | whilebody: ; 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 | |
| 4909 | postinvoke18: ; 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 | |
| 4916 | postinvoke26: ; 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 | |
| 4927 | postinvoke35: ; 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 | |
| 4931 | postinvoke37: ; 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 | |
| 4938 | postinvoke46: ; 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 | |
| 4959 | endif: ; 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 | |
| 4966 | postinvoke59: ; 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 | |
| 4975 | postinvoke66: ; preds = %postinvoke59 |
| 4976 | switch i32 %tmp67, label %endif76 [ |
| 4977 | i32 -1, label %if125 |
| 4978 | i32 0, label %if75 |
| 4979 | ] |
| 4980 | |
| 4981 | if75: ; 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 | |
| 4986 | endif76: ; 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 | |
| 4999 | postinvoke92: ; 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 | |
| 5006 | if102: ; preds = %postinvoke92 |
| 5007 | invoke fastcc void %progress_arg145(i8* %progress_arg144, i32 %tmp96) |
| 5008 | to label %endif103 unwind label %landingpad |
| 5009 | |
| 5010 | endif103: ; preds = %if102, %postinvoke92 |
| 5011 | invoke fastcc void @_D5tango4time5Clock5Clock3nowFZS5tango4time4Time4Time(%tango.time.Time.Time* noalias nocapture sret %.rettmp110) |
| 5012 | to label %postinvoke111 unwind label %landingpad |
| 5013 | |
| 5014 | postinvoke111: ; 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 | |
| 5021 | postinvoke120: ; 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 | |
| 5028 | if125: ; 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 | |
| 5032 | postinvoke127: ; 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 | |
| 5051 | postinvoke139: ; preds = %_D5tango3net3ftp9FtpClient12FtpException5_ctorMFAaG3aZC5tango3net3ftp9FtpClient12FtpException.exit |
| 5052 | unreachable |
| 5053 | |
| 5054 | landingpad: ; 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 | |
| 5063 | define fastcc void @_D5tango3net3ftp9FtpClient13FTPConnection10sendStreamMFC5tango3net13SocketConduit13SocketConduitC5tango2io5model8IConduit11InputStreamDFkZvZv(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %tango.net.SocketConduit.SocketConduit* %data_arg, %tango.io.model.IConduit.InputStream* %stream_arg, %"void delegate(uint pos)" %progress_arg) { |
| 5064 | entry: |
| 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 | |
| 5098 | postinvoke: ; 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 | |
| 5106 | postinvoke12: ; 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 | |
| 5116 | whilecond: ; 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 | |
| 5124 | whilebody: ; 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 | |
| 5131 | andand: ; preds = %whilecond |
| 5132 | invoke fastcc void @_D5tango4time5Clock5Clock3nowFZS5tango4time4Time4Time(%tango.time.Time.Time* noalias nocapture sret %.rettmp18) |
| 5133 | to label %postinvoke19 unwind label %landingpad |
| 5134 | |
| 5135 | postinvoke19: ; 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 | |
| 5141 | postinvoke27: ; 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 | |
| 5152 | postinvoke36: ; 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 | |
| 5156 | postinvoke38: ; 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 | |
| 5163 | postinvoke47: ; 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 | |
| 5184 | endif: ; 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 | |
| 5188 | if58: ; 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 | |
| 5200 | postinvoke70: ; 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 | |
| 5206 | endif59: ; 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 | |
| 5216 | postinvoke81: ; 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 | |
| 5228 | postinvoke93: ; preds = %postinvoke81 |
| 5229 | %tmp96 = icmp eq i32 %tmp94, -1 ; <i1> [#uses=1] |
| 5230 | br i1 %tmp96, label %endwhile, label %endif98 |
| 5231 | |
| 5232 | endif98: ; 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 | |
| 5240 | if111: ; preds = %endif98 |
| 5241 | invoke fastcc void %progress_arg158(i8* %progress_arg157, i32 %tmp105) |
| 5242 | to label %endif112 unwind label %landingpad |
| 5243 | |
| 5244 | endif112: ; preds = %if111, %endif98 |
| 5245 | %tmp120 = icmp eq i32 %tmp94, 0 ; <i1> [#uses=1] |
| 5246 | br i1 %tmp120, label %whilecond, label %if121 |
| 5247 | |
| 5248 | if121: ; preds = %endif112 |
| 5249 | invoke fastcc void @_D5tango4time5Clock5Clock3nowFZS5tango4time4Time4Time(%tango.time.Time.Time* noalias nocapture sret %.rettmp123) |
| 5250 | to label %postinvoke124 unwind label %landingpad |
| 5251 | |
| 5252 | postinvoke124: ; 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 | |
| 5259 | postinvoke133: ; 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 | |
| 5267 | endwhile: ; 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 | |
| 5271 | if138: ; 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 | |
| 5275 | postinvoke140: ; 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 | |
| 5294 | postinvoke152: ; preds = %_D5tango3net3ftp9FtpClient12FtpException5_ctorMFAaG3aZC5tango3net3ftp9FtpClient12FtpException.exit |
| 5295 | unreachable |
| 5296 | |
| 5297 | finally: ; 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 | |
| 5302 | landingpad: ; 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 | |
| 5311 | define fastcc %"FtpFileInfo[]" @_D5tango3net3ftp9FtpClient13FTPConnection15sendListCommandMFAaZAS5tango3net3ftp9FtpClient11FtpFileInfo(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" %path_arg) { |
| 5312 | entry: |
| 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 | |
| 5326 | if: ; 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 | |
| 5336 | else: ; 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 | |
| 5340 | endif: ; 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 | |
| 5413 | foreachcond: ; 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 | |
| 5420 | foreachbody: ; 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 | |
| 5428 | endif59: ; preds = %foreachbody |
| 5429 | %tmp2.i.i = getelementptr i8* %tmp54158, i32 -1 ; <i8*> [#uses=1] |
| 5430 | br label %forcond.i.i |
| 5431 | |
| 5432 | forcond.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 | |
| 5439 | forbody.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 | |
| 5445 | if.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 | |
| 5456 | if.i: ; preds = %_D5tango4text4Util13__T6locateTaZ6locateFAaakZk.exit |
| 5457 | br label %whilecond.i |
| 5458 | |
| 5459 | whilecond.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 | |
| 5464 | whilebody.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 | |
| 5476 | endif67: ; 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 | |
| 5485 | postinvoke74: ; 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 | |
| 5507 | if81: ; 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 | |
| 5513 | postinvoke91: ; 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 | |
| 5535 | foreachnext: ; 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 | |
| 5541 | foreachend: ; 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 | |
| 5548 | landingpad: ; 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 | |
| 5557 | define fastcc void @_D5tango3net3ftp9FtpClient13FTPConnection13parseListLineMFAaZS5tango3net3ftp9FtpClient11FtpFileInfo(%tango.net.ftp.FtpClient.FtpFileInfo* noalias nocapture sret %.sret_arg, %tango.net.ftp.FtpClient.FTPConnection* nocapture %.this_arg, %"byte[]" %line_arg) { |
| 5558 | entry: |
| 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 | |
| 5570 | forcond.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 | |
| 5577 | forbody.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 | |
| 5583 | if.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 | |
| 5597 | case: ; preds = %_D5tango4text4Util15__T8containsTaZ8containsFAaaZb.exit |
| 5598 | %tmp9 = icmp ult i32 %line_arg830, 20 ; <i1> [#uses=1] |
| 5599 | br i1 %tmp9, label %if, label %endif |
| 5600 | |
| 5601 | if: ; 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 | |
| 5606 | endif: ; preds = %case |
| 5607 | switch i8 %tmp5, label %else29 [ |
| 5608 | i8 100, label %if18 |
| 5609 | i8 108, label %if27 |
| 5610 | ] |
| 5611 | |
| 5612 | if18: ; 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 | |
| 5617 | if27: ; 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 | |
| 5622 | else29: ; 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 | |
| 5627 | if37: ; preds = %else29 |
| 5628 | store i32 1, i32* %tmp40, align 8 |
| 5629 | br label %endif19 |
| 5630 | |
| 5631 | else39: ; preds = %else29 |
| 5632 | store i32 0, i32* %tmp40, align 8 |
| 5633 | br label %endif19 |
| 5634 | |
| 5635 | endif19: ; 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 | |
| 5641 | forcond.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 | |
| 5647 | forbody.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 | |
| 5656 | if.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 | |
| 5663 | if49.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 | |
| 5670 | if82.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 | |
| 5677 | forinc.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 | |
| 5681 | forcond.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 | |
| 5687 | forbody.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 | |
| 5696 | if.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 | |
| 5703 | if49.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 | |
| 5710 | if82.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 | |
| 5717 | forinc.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 | |
| 5721 | forcond.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 | |
| 5727 | forbody.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 | |
| 5736 | if.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 | |
| 5743 | if49.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 | |
| 5750 | if82.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 | |
| 5757 | forinc.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 | |
| 5773 | whilecond.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 | |
| 5779 | whilebody.i372: ; preds = %andand.i378 |
| 5780 | %tmp18.i371.c = add i32 %tmp3.i368, 1 ; <i32> [#uses=2] |
| 5781 | br label %whilecond.i370 |
| 5782 | |
| 5783 | andand.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 | |
| 5789 | whilecond22.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 | |
| 5795 | whilebody23.i385: ; preds = %andand33.i391 |
| 5796 | %tmp50.i384 = add i32 %tmp49.i381, 1 ; <i32> [#uses=2] |
| 5797 | br label %whilecond22.i383 |
| 5798 | |
| 5799 | andand33.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 | |
| 5805 | whilecond54.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 | |
| 5811 | whilebody55.i401: ; preds = %andand65.i407 |
| 5812 | %tmp82.i400 = add i32 %tmp81.i394, 1 ; <i32> [#uses=2] |
| 5813 | br label %whilecond54.i396 |
| 5814 | |
| 5815 | andand65.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 | |
| 5821 | whilecond.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 | |
| 5826 | whilebody.i717: ; preds = %andand.i721 |
| 5827 | %tmp18.i.c829 = add i32 %.frame.0.0, 1 ; <i32> [#uses=1] |
| 5828 | br label %whilecond.i716 |
| 5829 | |
| 5830 | andand.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 | |
| 5836 | whilecond22.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 | |
| 5842 | whilebody23.i726: ; preds = %andand33.i731 |
| 5843 | %tmp50.i725 = add i32 %tmp49.i722, 1 ; <i32> [#uses=2] |
| 5844 | br label %whilecond22.i724 |
| 5845 | |
| 5846 | andand33.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 | |
| 5852 | whilecond54.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 | |
| 5858 | whilebody55.i736: ; preds = %andand65.i740 |
| 5859 | %tmp82.i735 = add i32 %tmp81.i732, 1 ; <i32> [#uses=2] |
| 5860 | br label %whilecond54.i734 |
| 5861 | |
| 5862 | andand65.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 | |
| 5868 | whilecond.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 | |
| 5873 | whilebody.i752: ; preds = %andand.i758 |
| 5874 | %tmp18.i751.c = add i32 %.frame.0.3, 1 ; <i32> [#uses=1] |
| 5875 | br label %whilecond.i750 |
| 5876 | |
| 5877 | andand.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 | |
| 5883 | whilecond22.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 | |
| 5889 | whilebody23.i763: ; preds = %andand33.i769 |
| 5890 | %tmp50.i762 = add i32 %tmp49.i759, 1 ; <i32> [#uses=2] |
| 5891 | br label %whilecond22.i761 |
| 5892 | |
| 5893 | andand33.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 | |
| 5899 | whilecond54.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 | |
| 5905 | whilebody55.i775: ; preds = %andand65.i780 |
| 5906 | %tmp82.i774 = add i32 %tmp81.i770, 1 ; <i32> [#uses=2] |
| 5907 | br label %whilecond54.i773 |
| 5908 | |
| 5909 | andand65.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 | |
| 5920 | whilecond.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 | |
| 5925 | whilebody.i794: ; preds = %andand.i800 |
| 5926 | %tmp18.i793.c = add i32 %.frame.0.6, 1 ; <i32> [#uses=1] |
| 5927 | br label %whilecond.i792 |
| 5928 | |
| 5929 | andand.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 | |
| 5935 | whilecond22.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 | |
| 5941 | whilebody23.i805: ; preds = %andand33.i811 |
| 5942 | %tmp50.i804 = add i32 %tmp49.i801, 1 ; <i32> [#uses=2] |
| 5943 | br label %whilecond22.i803 |
| 5944 | |
| 5945 | andand33.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 | |
| 5951 | whilecond54.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 | |
| 5957 | whilebody55.i817: ; preds = %andand65.i822 |
| 5958 | %tmp82.i816 = add i32 %tmp81.i812, 1 ; <i32> [#uses=2] |
| 5959 | br label %whilecond54.i815 |
| 5960 | |
| 5961 | andand65.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 | |
| 5973 | forcond.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 | |
| 5980 | forbody.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 | |
| 5986 | if.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 | |
| 5992 | if65: ; 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 | |
| 5997 | forcond.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 | |
| 6006 | forbody.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 | |
| 6014 | if20.i.i541: ; preds = %forbody.i.i540 |
| 6015 | br label %forinc.i.i546 |
| 6016 | |
| 6017 | if26.i.i542: ; preds = %forbody.i.i540 |
| 6018 | br label %forinc.i.i546 |
| 6019 | |
| 6020 | forinc.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 | |
| 6026 | endfor.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 | |
| 6032 | if40.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 | |
| 6045 | case46.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 | |
| 6049 | case51.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 | |
| 6053 | case56.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 | |
| 6057 | endif41.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 | |
| 6063 | if70.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 | |
| 6076 | foreachcond.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 | |
| 6082 | foreachbody.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 | |
| 6091 | else.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 | |
| 6096 | if22.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 | |
| 6100 | else24.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 | |
| 6105 | if39.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 | |
| 6109 | endif.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 | |
| 6117 | if55.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 | |
| 6131 | else67: ; 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 | |
| 6136 | forcond.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 | |
| 6144 | forbody.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 | |
| 6152 | if20.i.i456: ; preds = %forbody.i.i455 |
| 6153 | br label %forinc.i.i461 |
| 6154 | |
| 6155 | if26.i.i457: ; preds = %forbody.i.i455 |
| 6156 | br label %forinc.i.i461 |
| 6157 | |
| 6158 | forinc.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 | |
| 6165 | endfor.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 | |
| 6171 | if40.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 | |
| 6184 | case46.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 | |
| 6188 | case51.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 | |
| 6192 | case56.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 | |
| 6196 | endif41.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 | |
| 6202 | if70.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 | |
| 6215 | foreachcond.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 | |
| 6221 | foreachbody.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 | |
| 6230 | else.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 | |
| 6235 | if22.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 | |
| 6239 | else24.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 | |
| 6244 | if39.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 | |
| 6248 | endif.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 | |
| 6256 | if55.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 | |
| 6270 | endif66: ; 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 | |
| 6277 | if80: ; 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 | |
| 6282 | endif81: ; 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 | |
| 6295 | if100: ; 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 | |
| 6304 | whilecond.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 | |
| 6312 | whilebody.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 | |
| 6317 | forcond.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 | |
| 6324 | forbody.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 | |
| 6330 | if.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 | |
| 6341 | else.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 | |
| 6348 | forcond.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 | |
| 6356 | forbody.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 | |
| 6364 | if.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 | |
| 6371 | if38.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 | |
| 6377 | else40.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 | |
| 6388 | if110: ; 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 | |
| 6411 | case145: ; preds = %_D5tango4text4Util15__T8containsTaZ8containsFAaaZb.exit |
| 6412 | %tmp148 = icmp ult i32 %line_arg830, 18 ; <i1> [#uses=1] |
| 6413 | br i1 %tmp148, label %if149, label %endif150 |
| 6414 | |
| 6415 | if149: ; 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 | |
| 6420 | endif150: ; 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 | |
| 6439 | if161: ; 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 | |
| 6444 | endif162: ; 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 | |
| 6454 | if174: ; 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 | |
| 6460 | endif175: ; 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 | |
| 6470 | whilecond.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 | |
| 6475 | whilebody.i: ; preds = %andand.i |
| 6476 | %tmp18.i.c = add i32 %tmp3.i, 1 ; <i32> [#uses=1] |
| 6477 | br label %whilecond.i |
| 6478 | |
| 6479 | andand.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 | |
| 6485 | whilecond22.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 | |
| 6491 | whilebody23.i: ; preds = %andand33.i |
| 6492 | %tmp50.i = add i32 %tmp49.i, 1 ; <i32> [#uses=2] |
| 6493 | br label %whilecond22.i |
| 6494 | |
| 6495 | andand33.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 | |
| 6501 | whilecond54.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 | |
| 6507 | whilebody55.i: ; preds = %andand65.i |
| 6508 | %tmp82.i = add i32 %tmp81.i, 1 ; <i32> [#uses=2] |
| 6509 | br label %whilecond54.i |
| 6510 | |
| 6511 | andand65.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 | |
| 6524 | if204: ; 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 | |
| 6529 | else206: ; 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 | |
| 6534 | forcond.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 | |
| 6542 | forbody.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 | |
| 6550 | if20.i.i: ; preds = %forbody.i.i279 |
| 6551 | br label %forinc.i.i |
| 6552 | |
| 6553 | if26.i.i: ; preds = %forbody.i.i279 |
| 6554 | br label %forinc.i.i |
| 6555 | |
| 6556 | forinc.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 | |
| 6563 | endfor.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 | |
| 6569 | if40.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 | |
| 6582 | case46.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 | |
| 6586 | case51.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 | |
| 6590 | case56.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 | |
| 6594 | endif41.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 | |
| 6600 | if70.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 | |
| 6613 | foreachcond.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 | |
| 6619 | foreachbody.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 | |
| 6628 | else.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 | |
| 6633 | if22.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 | |
| 6637 | else24.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 | |
| 6642 | if39.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 | |
| 6646 | endif.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 | |
| 6654 | if55.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 | |
| 6670 | endif193: ; 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 | |
| 6679 | default223: ; 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 | |
| 6696 | switchend: ; 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 | |
| 6707 | if240: ; 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 | |
| 6712 | else242: ; 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 | |
| 6719 | if254: ; 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 | |
| 6724 | endif241: ; 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 | |
| 6730 | define fastcc void @_D5tango3net3ftp9FtpClient13FTPConnection13parseMlstLineMFAaZS5tango3net3ftp9FtpClient11FtpFileInfo(%tango.net.ftp.FtpClient.FtpFileInfo* noalias nocapture sret %.sret_arg, %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" %line_arg) { |
| 6731 | entry: |
| 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 | |
| 6754 | whilecond: ; 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 | |
| 6759 | andand: ; 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 | |
| 6766 | endwhile: ; 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 | |
| 6771 | if: ; 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 | |
| 6788 | endif: ; 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 | |
| 6798 | if33: ; 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 | |
| 6819 | foreachcond: ; 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 | |
| 6824 | foreachbody: ; 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 | |
| 6832 | forcond.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 | |
| 6839 | forbody.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 | |
| 6845 | if.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 | |
| 6856 | endif60: ; 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 | |
| 6875 | foreachnext: ; preds = %endif60, %_D5tango4text4Util13__T6locateTaZ6locateFAaakZk.exit |
| 6876 | %tmp85 = add i32 %foreachkey.0, 1 ; <i32> [#uses=1] |
| 6877 | br label %foreachcond |
| 6878 | |
| 6879 | foreachend: ; 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 | |
| 6889 | if92: ; 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 | |
| 6904 | case: ; 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 | |
| 6909 | case106: ; 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 | |
| 6914 | case109: ; 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 | |
| 6919 | case112: ; 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 | |
| 6924 | default115: ; 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 | |
| 6929 | endif93: ; 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 | |
| 6936 | if124: ; 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 | |
| 6948 | forcond.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 | |
| 6957 | forbody.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 | |
| 6965 | if20.i.i: ; preds = %forbody.i.i234 |
| 6966 | br label %forinc.i.i |
| 6967 | |
| 6968 | if26.i.i: ; preds = %forbody.i.i234 |
| 6969 | br label %forinc.i.i |
| 6970 | |
| 6971 | forinc.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 | |
| 6977 | endfor.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 | |
| 6983 | if40.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 | |
| 6996 | case46.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 | |
| 7000 | case51.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 | |
| 7004 | case56.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 | |
| 7008 | endif41.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 | |
| 7014 | if70.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 | |
| 7027 | foreachcond.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 | |
| 7033 | foreachbody.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 | |
| 7041 | else.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 | |
| 7046 | if22.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 | |
| 7050 | else24.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 | |
| 7055 | if39.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 | |
| 7059 | endif.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 | |
| 7067 | if55.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 | |
| 7081 | endif125: ; 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 | |
| 7088 | if144: ; 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 | |
| 7098 | endif145: ; 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 | |
| 7105 | if163: ; 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 | |
| 7122 | endif164: ; 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 | |
| 7129 | if188: ; 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 | |
| 7146 | endif34: ; 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 | |
| 7152 | define fastcc void @_D5tango3net3ftp9FtpClient13FTPConnection11getFileInfoMFAaZS5tango3net3ftp9FtpClient11FtpFileInfo(%tango.net.ftp.FtpClient.FtpFileInfo* noalias nocapture sret %.sret_arg, %tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" %path_arg) { |
| 7153 | entry: |
| 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 | |
| 7163 | if: ; 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 | |
| 7170 | else: ; 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 | |
| 7182 | if22: ; 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 | |
| 7199 | foreachcond: ; 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 | |
| 7204 | foreachbody: ; 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 | |
| 7210 | if48: ; 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 | |
| 7247 | foreachnext: ; preds = %foreachbody |
| 7248 | %tmp54 = add i32 %foreachkey.0, 1 ; <i32> [#uses=1] |
| 7249 | br label %foreachcond |
| 7250 | |
| 7251 | endif34: ; 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 | |
| 7258 | define fastcc void @_D5tango3net3ftp9FtpClient13FTPConnection3putMFAaAaDFkZvE5tango3net3ftp9FtpClient9FtpFormatZv(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" %path_arg, %"byte[]" %local_file_arg, %"void delegate(uint pos)" %progress_arg, i32 %format_arg) { |
| 7259 | entry: |
| 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 | |
| 7282 | if: ; 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 | |
| 7290 | postinvoke: ; preds = %if |
| 7291 | store i32 0, i32* %tmp13 |
| 7292 | br label %endif |
| 7293 | |
| 7294 | endif: ; 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 | |
| 7303 | finally: ; 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 | |
| 7314 | landingpad: ; 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 | |
| 7329 | define fastcc void @_D5tango3net3ftp9FtpClient13FTPConnection3putMFAaC5tango2io5model8IConduit11InputStreamDFkZvE5tango3net3ftp9FtpClient9FtpFormatZv(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" %path_arg, %tango.io.model.IConduit.InputStream* %stream_arg, %"void delegate(uint pos)" %progress_arg, i32 %format_arg) { |
| 7330 | entry: |
| 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 | |
| 7347 | if: ; 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 | |
| 7354 | endif: ; 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 | |
| 7362 | define fastcc void @_D5tango3net3ftp9FtpClient13FTPConnection6appendMFAaC5tango2io5model8IConduit11InputStreamDFkZvE5tango3net3ftp9FtpClient9FtpFormatZv(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" %path_arg, %tango.io.model.IConduit.InputStream* %stream_arg, %"void delegate(uint pos)" %progress_arg, i32 %format_arg) { |
| 7363 | entry: |
| 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 | |
| 7388 | define fastcc void @_D5tango3net3ftp9FtpClient13FTPConnection11restartSeekMFkZv(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i32 %offset_arg) { |
| 7389 | entry: |
| 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 | |
| 7406 | dowhile.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 | |
| 7419 | andand.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 | |
| 7424 | condtrue.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 | |
| 7431 | if118.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 | |
| 7456 | define fastcc void @_D5tango3net3ftp9FtpClient13FTPConnection8allocateMFlZv(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, i64 %bytes_arg) { |
| 7457 | entry: |
| 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 | |
| 7483 | if59.i: ; preds = %entry |
| 7484 | %tmp63.i = trunc i64 %i.1.i to i32 ; <i32> [#uses=1] |
| 7485 | br label %dowhile.i |
| 7486 | |
| 7487 | dowhile.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 | |
| 7500 | andand.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 | |
| 7505 | dowhile82.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 | |
| 7520 | andand100.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 | |
| 7525 | condtrue.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 | |
| 7533 | if118.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 | |
| 7561 | andand: ; 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 | |
| 7567 | if: ; 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 | |
| 7574 | endif: ; preds = %andand, %_D5tango4text7convert7Integer16__T9formatterTaZ9formatterFAalaaiZAa.exit |
| 7575 | ret void |
| 7576 | } |
| 7577 | |
| 7578 | define fastcc void @_D5tango3net3ftp9FtpClient13FTPConnection3getMFAaAaDFkZvE5tango3net3ftp9FtpClient9FtpFormatZv(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" %path_arg, %"byte[]" %local_file_arg, %"void delegate(uint pos)" %progress_arg, i32 %format_arg) { |
| 7579 | entry: |
| 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 | |
| 7596 | if: ; 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 | |
| 7606 | else: ; 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 | |
| 7623 | try: ; 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 | |
| 7633 | finally: ; 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 | |
| 7644 | landingpad: ; 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 | |
| 7659 | define fastcc void @_D5tango3net3ftp9FtpClient13FTPConnection10enableUTF8MFZv(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg) { |
| 7660 | entry: |
| 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 | |
| 7674 | define fastcc void @_D5tango3net3ftp9FtpClient13FTPConnection3getMFAaC5tango2io5model8IConduit12OutputStreamDFkZvE5tango3net3ftp9FtpClient9FtpFormatZv(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" %path_arg, %tango.io.model.IConduit.OutputStream* %stream_arg, %"void delegate(uint pos)" %progress_arg, i32 %format_arg) { |
| 7675 | entry: |
| 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 | |
| 7700 | define fastcc %tango.io.model.IConduit.InputStream* @_D5tango3net3ftp9FtpClient13FTPConnection5inputMFAaZC5tango2io5model8IConduit11InputStream(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" %path_arg) { |
| 7701 | entry: |
| 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 | |
| 7720 | define fastcc %tango.io.model.IConduit.OutputStream* @_D5tango3net3ftp9FtpClient13FTPConnection6outputMFAaZC5tango2io5model8IConduit12OutputStream(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" %path_arg) { |
| 7721 | entry: |
| 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 | |
| 7740 | define fastcc %tango.net.ftp.FtpClient.FTPConnection* @_D5tango3net3ftp9FtpClient13FTPConnection5_ctorMFZC5tango3net3ftp9FtpClient13FTPConnection(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg) nounwind readnone { |
| 7741 | entry: |
| 7742 | ret %tango.net.ftp.FtpClient.FTPConnection* %.this_arg |
| 7743 | } |
| 7744 | |
| 7745 | define fastcc %tango.net.ftp.FtpClient.FTPConnection* @_D5tango3net3ftp9FtpClient13FTPConnection5_ctorMFAaAaAakZC5tango3net3ftp9FtpClient13FTPConnection(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %"byte[]" %hostname_arg, %"byte[]" %username_arg, %"byte[]" %password_arg, i32 %port_arg) { |
| 7746 | entry: |
| 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 | |
| 7755 | define fastcc %tango.net.ftp.FtpClient.FTPConnection* @_D5tango3net3ftp9FtpClient13FTPConnection5_ctorMFS5tango3net3ftp9FtpClient10FtpAddressZC5tango3net3ftp9FtpClient13FTPConnection(%tango.net.ftp.FtpClient.FTPConnection* %.this_arg, %tango.net.ftp.FtpClient.FtpAddress* byval %fad_arg) { |
| 7756 | entry: |
| 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 | |
| 7765 | define weak_odr fastcc i32 @_D5tango4text5Regex11__T4TNFATwZ4TNFA8tagCountMFZk(%"tango.text.Regex.TNFA!(dchar).TNFA"* nocapture %.this_arg) nounwind readonly { |
| 7766 | entry: |
| 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 | |
| 7773 | define weak_odr fastcc void @_D5tango4text5Regex11__T4TNFATwZ4TNFA5parseMFbZv(%"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i1 %unanchored_arg) { |
| 7774 | entry: |
| 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 | |
| 7823 | entry.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 | |
| 7828 | if.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 | |
| 7851 | if: ; 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 | |
| 7865 | whilecond: ; preds = %endif532, %default515, %endif436, %endif370, %case350, %case338, %case322, %case310, %case296, %case284, %case272, %case260, %case248, %endif181, %endif165, %endif148, %endif131, %else120, %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit896, %else99, %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit847, %else85, %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit822, %else71, %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit797, %case61, %else, %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit741, %case, %if, %_D5tango4text5Regex56__T5StackTE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorZ5Stack4pushMFE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorZv.exit |
| 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 | |
| 7879 | whilebody: ; 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 | |
| 7902 | case: ; 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 | |
| 7907 | case31: ; preds = %whilebody |
| 7908 | br i1 %implicit_concat.0, label %if33, label %endif34 |
| 7909 | |
| 7910 | if33: ; 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 | |
| 7915 | endif34: ; 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 | |
| 7922 | if.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 | |
| 7929 | if40: ; 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 | |
| 7936 | if.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 | |
| 7950 | else: ; 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 | |
| 7958 | case61: ; 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 | |
| 7963 | case65: ; 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 | |
| 7970 | if.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 | |
| 7977 | if69: ; 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 | |
| 7984 | if.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 | |
| 7995 | else71: ; 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 | |
| 8000 | case79: ; 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 | |
| 8007 | if.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 | |
| 8014 | if83: ; 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 | |
| 8021 | if.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 | |
| 8032 | else85: ; 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 | |
| 8037 | case93: ; 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 | |
| 8044 | if.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 | |
| 8051 | if97: ; 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 | |
| 8058 | if.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 | |
| 8069 | else99: ; 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 | |
| 8074 | case107: ; 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 | |
| 8090 | entry.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 | |
| 8095 | if.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 | |
| 8127 | if.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 | |
| 8134 | if118: ; 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 | |
| 8141 | if.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 | |
| 8152 | else120: ; 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 | |
| 8157 | case128: ; 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 | |
| 8161 | if130: ; 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 | |
| 8166 | endif131: ; 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 | |
| 8176 | case145: ; 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 | |
| 8180 | if147: ; 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 | |
| 8185 | endif148: ; 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 | |
| 8195 | case162: ; preds = %whilebody |
| 8196 | br i1 %implicit_concat.0, label %if164, label %endif165 |
| 8197 | |
| 8198 | if164: ; 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 | |
| 8203 | endif165: ; 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 | |
| 8213 | case178: ; preds = %whilebody |
| 8214 | br i1 %implicit_concat.0, label %if180, label %endif181 |
| 8215 | |
| 8216 | if180: ; 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 | |
| 8221 | endif181: ; 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 | |
| 8231 | case194: ; 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 | |
| 8238 | if.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 | |
| 8252 | case214: ; 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 | |
| 8259 | if.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 | |
| 8273 | case236: ; 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 | |
| 8281 | if.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 | |
| 8291 | if240: ; 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 | |
| 8296 | endif241: ; 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 | |
| 8311 | case248: ; 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 | |
| 8321 | case260: ; 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 | |
| 8331 | case272: ; 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 | |
| 8341 | case284: ; 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 | |
| 8351 | case296: ; 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 | |
| 8379 | case310: ; 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 | |
| 8389 | case322: ; 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 | |
| 8417 | case338: ; 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 | |
| 8427 | case350: ; 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 | |
| 8455 | case366: ; preds = %endif241 |
| 8456 | %tmp368 = icmp eq i32 %pred_type.2, 0 ; <i1> [#uses=1] |
| 8457 | br i1 %tmp368, label %endif370, label %if369 |
| 8458 | |
| 8459 | if369: ; 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 | |
| 8482 | endif370: ; 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 | |
| 8537 | case432: ; preds = %endif241 |
| 8538 | %tmp434 = icmp eq i32 %pred_type.2, 0 ; <i1> [#uses=1] |
| 8539 | br i1 %tmp434, label %endif436, label %if435 |
| 8540 | |
| 8541 | if435: ; 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 | |
| 8564 | endif436: ; 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 | |
| 8619 | default515: ; 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 | |
| 8629 | default529: ; 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 | |
| 8634 | if531: ; 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 | |
| 8639 | endif532: ; 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 | |
| 8649 | endwhile: ; preds = %whilecond |
| 8650 | br i1 %unanchored_arg, label %if547, label %whilecond567 |
| 8651 | |
| 8652 | if547: ; 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 | |
| 8657 | if552: ; preds = %if547 |
| 8658 | %tmp555 = call fastcc i1 @_D5tango4text5Regex11__T4TNFATwZ4TNFA5parseMFbZv7performMFE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorbZb(i8* %tmp549, i32 1, i1 false) ; <i1> [#uses=0] |
| 8659 | br label %endif553 |
| 8660 | |
| 8661 | endif553: ; 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 | |
| 8672 | whilecond567: ; 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 | |
| 8677 | endwhile569: ; 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 | |
| 8765 | foreachcond: ; 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 | |
| 8770 | foreachbody: ; 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 | |
| 8785 | foreachend: ; 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 | |
| 8790 | whilecond608: ; 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 | |
| 8799 | whilebody609: ; preds = %oror, %whilecond608 |
| 8800 | %tmp617 = load i1* %tmp613 ; <i1> [#uses=1] |
| 8801 | br i1 %tmp617, label %endif619, label %if618 |
| 8802 | |
| 8803 | oror: ; preds = %whilecond608 |
| 8804 | %tmp614 = load i1* %tmp613 ; <i1> [#uses=1] |
| 8805 | br i1 %tmp614, label %endwhile610, label %whilebody609 |
| 8806 | |
| 8807 | if618: ; 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 | |
| 8821 | endif619: ; 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 | |
| 8826 | endif634: ; 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 | |
| 8845 | endwhile610: ; preds = %endif619, %oror |
| 8846 | store i32 0, i32* %nextPrio |
| 8847 | br label %foreachcond653 |
| 8848 | |
| 8849 | foreachcond653: ; 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 | |
| 8854 | foreachbody654: ; 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 | |
| 8867 | foreachend656: ; preds = %foreachcond653 |
| 8868 | ret void |
| 8869 | } |
| 8870 | |
| 8871 | define weak_odr fastcc %"tango.text.Regex.TNFA!(dchar).TNFA"* @_D5tango4text5Regex11__T4TNFATwZ4TNFA5_ctorMFAwZC5tango4text5Regex11__T4TNFATwZ4TNFA(%"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, %"Act[]" %regex_arg) { |
| 8872 | entry: |
| 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 | |
| 8891 | define weak_odr fastcc i32 @_D5tango4text5Regex11__T4TNFATwZ4TNFA11peekPatternMFZw(%"tango.text.Regex.TNFA!(dchar).TNFA"* nocapture %.this_arg) { |
| 8892 | entry: |
| 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 | |
| 8902 | if: ; 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 | |
| 8908 | endif: ; preds = %entry |
| 8909 | ret i32 0 |
| 8910 | } |
| 8911 | |
| 8912 | define weak_odr fastcc i32 @_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw(%"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg) { |
| 8913 | entry: |
| 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 | |
| 8923 | if: ; 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 | |
| 8929 | endif: ; preds = %entry |
| 8930 | ret i32 0 |
| 8931 | } |
| 8932 | |
| 8933 | define weak_odr fastcc i1 @_D5tango4text5Regex11__T4TNFATwZ4TNFA12endOfPatternMFZb(%"tango.text.Regex.TNFA!(dchar).TNFA"* nocapture %.this_arg) nounwind readonly { |
| 8934 | entry: |
| 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 | |
| 8943 | define weak_odr fastcc %"tango.text.Regex.TNFAState!(dchar).TNFAState"* @_D5tango4text5Regex11__T4TNFATwZ4TNFA8addStateMFZC5tango4text5Regex16__T9TNFAStateTwZ9TNFAState(%"tango.text.Regex.TNFA!(dchar).TNFA"* nocapture %.this_arg) { |
| 8944 | entry: |
| 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 | |
| 8984 | define weak_odr fastcc %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* @_D5tango4text5Regex11__T4TNFATwZ4TNFA13addTransitionMFE5tango4text5Regex13PriorityClassZC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransition(%"tango.text.Regex.TNFA!(dchar).TNFA"* nocapture %.this_arg, i32 %pc_arg) { |
| 8985 | entry: |
| 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 | |
| 9008 | define weak_odr fastcc i32 @_D5tango4text5Regex11__T4TNFATwZ4TNFA11parseNumberMFZk(%"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg) { |
| 9009 | entry: |
| 9010 | %tmp.i = alloca i32, align 4 ; <i32*> [#uses=2] |
| 9011 | br label %whilecond |
| 9012 | |
| 9013 | whilecond: ; 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 | |
| 9022 | whilebody: ; 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 | |
| 9031 | endif: ; 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 | |
| 9041 | if.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 | |
| 9047 | endwhile: ; preds = %whilebody, %whilecond |
| 9048 | ret i32 %res.0 |
| 9049 | } |
| 9050 | |
| 9051 | define weak_odr fastcc void @_D5tango4text5Regex11__T4TNFATwZ4TNFA15parseOccurCountMFJkJkZv(%"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32* nocapture %minOccur_arg, i32* nocapture %maxOccur_arg) { |
| 9052 | entry: |
| 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 | |
| 9062 | whilecond.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 | |
| 9071 | whilebody.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 | |
| 9080 | endif.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 | |
| 9090 | if.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 | |
| 9103 | if.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 | |
| 9110 | if: ; 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 | |
| 9118 | if.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 | |
| 9129 | endif: ; 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 | |
| 9136 | if.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 | |
| 9143 | if11: ; 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 | |
| 9189 | endif12: ; 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 | |
| 9197 | if.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 | |
| 9203 | whilecond.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 | |
| 9210 | whilebody.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 | |
| 9219 | endif.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 | |
| 9228 | if.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 | |
| 9241 | if.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 | |
| 9248 | if49: ; 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 | |
| 9293 | endif50: ; 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 | |
| 9300 | if.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 | |
| 9311 | andand: ; 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 | |
| 9316 | if95: ; 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 | |
| 9361 | endif96: ; preds = %andand, %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit |
| 9362 | ret void |
| 9363 | } |
| 9364 | |
| 9365 | define weak_odr fastcc %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* @_D5tango4text5Regex11__T4TNFATwZ4TNFA5cloneMFC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransition(%"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %t_arg) { |
| 9366 | entry: |
| 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 | |
| 9372 | if: ; preds = %entry |
| 9373 | ret %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* null |
| 9374 | |
| 9375 | endif: ; 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 | |
| 9384 | if11: ; 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 | |
| 9389 | endif12: ; 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 | |
| 9439 | define weak_odr fastcc %"tango.text.Regex.TNFAState!(dchar).TNFAState"* @_D5tango4text5Regex11__T4TNFATwZ4TNFA5cloneMFC5tango4text5Regex16__T9TNFAStateTwZ9TNFAStateZC5tango4text5Regex16__T9TNFAStateTwZ9TNFAState(%"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, %"tango.text.Regex.TNFAState!(dchar).TNFAState"* %s_arg) { |
| 9440 | entry: |
| 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 | |
| 9450 | if: ; preds = %entry |
| 9451 | ret %"tango.text.Regex.TNFAState!(dchar).TNFAState"* null |
| 9452 | |
| 9453 | endif: ; 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 | |
| 9462 | if13: ; 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 | |
| 9467 | endif14: ; 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 | |
| 9539 | define weak_odr fastcc %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* @_D5tango4text5Regex11__T4TNFATwZ4TNFA5cloneMFC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment(%"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %f_arg) { |
| 9540 | entry: |
| 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 | |
| 9548 | if: ; preds = %entry |
| 9549 | ret %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* null |
| 9550 | |
| 9551 | endif: ; 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 | |
| 9654 | define weak_odr fastcc %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* @_D5tango4text5Regex11__T4TNFATwZ4TNFA19constructSingleCharMFwE5tango4text5Regex16__T9PredicateTwZ9Predicate4TypeZC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment(%"tango.text.Regex.TNFA!(dchar).TNFA"* nocapture %.this_arg, i32 %c_arg, i32 %type_arg) { |
| 9655 | entry: |
| 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 | |
| 9765 | define weak_odr fastcc %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* @_D5tango4text5Regex11__T4TNFATwZ4TNFA14constructCharsMFAwE5tango4text5Regex16__T9PredicateTwZ9Predicate4TypeZC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment(%"tango.text.Regex.TNFA!(dchar).TNFA"* nocapture %.this_arg, %"Act[]" %chars_arg, i32 %type_arg) { |
| 9766 | entry: |
| 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 | |
| 9774 | forcond: ; 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 | |
| 9779 | forbody: ; 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 | |
| 9801 | endfor: ; 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 | |
| 9806 | define weak_odr fastcc %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* @_D5tango4text5Regex11__T4TNFATwZ4TNFA14constructCharsMFS5tango4text5Regex16__T9CharClassTwZ9CharClassE5tango4text5Regex16__T9PredicateTwZ9Predicate4TypeZC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment(%"tango.text.Regex.TNFA!(dchar).TNFA"* nocapture %.this_arg, %"tango.text.Regex.CharClass!(dchar).CharClass"* nocapture byval %charclass_arg, i32 %type_arg) { |
| 9807 | entry: |
| 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 | |
| 9920 | define weak_odr fastcc %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* @_D5tango4text5Regex11__T4TNFATwZ4TNFA18constructCharClassMFE5tango4text5Regex16__T9PredicateTwZ9Predicate4TypeZC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment(%"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, i32 %type_arg) { |
| 9921 | entry: |
| 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 | |
| 9953 | if.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 | |
| 9960 | if: ; 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 | |
| 9968 | if.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 | |
| 9974 | forcond: ; 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 | |
| 9984 | andand: ; 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 | |
| 9992 | forbody: ; 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 | |
| 10000 | if.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 | |
| 10013 | case: ; preds = %_D5tango4text5Regex11__T4TNFATwZ4TNFA11readPatternMFZw.exit417 |
| 10014 | br i1 %first_char.0, label %if19, label %endif20 |
| 10015 | |
| 10016 | if19: ; 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 | |
| 10037 | endif20: ; preds = %case |
| 10038 | br i1 %have_range_start.1, label %else, label %if25 |
| 10039 | |
| 10040 | if25: ; 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 | |
| 10079 | else: ; 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 | |
| 10085 | oror: ; 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 | |
| 10093 | if51: ; 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 | |
| 10132 | else53: ; 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 | |
| 10139 | if.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 | |
| 10172 | case89: ; 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 | |
| 10178 | if92: ; 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 | |
| 10217 | endif93: ; 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 | |
| 10228 | case127: ; preds = %endif93 |
| 10229 | br label %default135 |
| 10230 | |
| 10231 | case129: ; preds = %endif93 |
| 10232 | br label %default135 |
| 10233 | |
| 10234 | case131: ; preds = %endif93 |
| 10235 | br label %default135 |
| 10236 | |
| 10237 | default135: ; 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 | |
| 10241 | if137: ; 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 | |
| 10262 | endfor: ; 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 | |
| 10268 | if146: ; 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 | |
| 10276 | endif147: ; preds = %if146, %endfor |
| 10277 | %tmp151 = icmp eq i32 %last.1, 65535 ; <i1> [#uses=1] |
| 10278 | br i1 %tmp151, label %endif153, label %if152 |
| 10279 | |
| 10280 | if152: ; 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 | |
| 10301 | endif153: ; preds = %if152, %endif147 |
| 10302 | br i1 %negated.0, label %if159, label %else161 |
| 10303 | |
| 10304 | if159: ; 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 | |
| 10350 | else161: ; 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 | |
| 10356 | endif160: ; 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 | |
| 10429 | define weak_odr fastcc void @_D5tango4text5Regex11__T4TNFATwZ4TNFA16constructBracketMFC5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4ListkZv(%"tango.text.Regex.TNFA!(dchar).TNFA"* nocapture %.this_arg, %"tango.text.Regex.List!(TNFAFragment).List"* %frags_arg, i32 %tag_arg) { |
| 10430 | entry: |
| 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 | |
| 10564 | if: ; 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 | |
| 10574 | endif: ; 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 | |
| 10663 | define weak_odr fastcc void @_D5tango4text5Regex11__T4TNFATwZ4TNFA16constructOneMoreMFC5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4ListE5tango4text5Regex13PriorityClassZv(%"tango.text.Regex.TNFA!(dchar).TNFA"* nocapture %.this_arg, %"tango.text.Regex.List!(TNFAFragment).List"* %frags_arg, i32 %prioClass_arg) { |
| 10664 | entry: |
| 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 | |
| 10672 | if: ; 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 | |
| 10719 | endif: ; 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 | |
| 10921 | define weak_odr fastcc void @_D5tango4text5Regex11__T4TNFATwZ4TNFA17constructZeroMoreMFC5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4ListE5tango4text5Regex13PriorityClassZv(%"tango.text.Regex.TNFA!(dchar).TNFA"* nocapture %.this_arg, %"tango.text.Regex.List!(TNFAFragment).List"* %frags_arg, i32 %prioClass_arg) { |
| 10922 | entry: |
| 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 | |
| 10930 | if: ; 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 | |
| 10977 | endif: ; 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 | |
| 11228 | define weak_odr fastcc void @_D5tango4text5Regex11__T4TNFATwZ4TNFA16constructZeroOneMFC5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4ListE5tango4text5Regex13PriorityClassZv(%"tango.text.Regex.TNFA!(dchar).TNFA"* nocapture %.this_arg, %"tango.text.Regex.List!(TNFAFragment).List"* %frags_arg, i32 %prioClass_arg) { |
| 11229 | entry: |
| 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 | |
| 11237 | if: ; 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 | |
| 11284 | endif: ; 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 | |
| 11482 | define weak_odr fastcc void @_D5tango4text5Regex11__T4TNFATwZ4TNFA14constructOccurMFC5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4ListkkE5tango4text5Regex13PriorityClassZv(%"tango.text.Regex.TNFA!(dchar).TNFA"* %.this_arg, %"tango.text.Regex.List!(TNFAFragment).List"* %frags_arg, i32 %minOccur_arg, i32 %maxOccur_arg, i32 %prioClass_arg) { |
| 11483 | entry: |
| 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 | |
| 11491 | if: ; 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 | |
| 11538 | endif: ; 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 | |
| 11597 | forcond: ; 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 | |
| 11603 | forbody: ; 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 | |
| 11612 | if55: ; 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 | |
| 11661 | else: ; 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 | |
| 11670 | endif56: ; preds = %else, %if55 |
| 11671 | %tmp81 = add i32 %i.0, 1 ; <i32> [#uses=1] |
| 11672 | br label %forcond |
| 11673 | |
| 11674 | endfor: ; preds = %forcond |
| 11675 | %tmp83 = icmp eq i32 %maxOccur_arg, 0 ; <i1> [#uses=1] |
| 11676 | br i1 %tmp83, label %if84, label %forcond166 |
| 11677 | |
| 11678 | if84: ; 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 | |
| 11798 | if145: ; 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 | |
| 11806 | else147: ; 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 | |
| 11813 | forcond166: ; 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 | |
| 11819 | forbody167: ; 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 | |
| 11828 | if180: ; 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 | |
| 11832 | endif181: ; 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 | |
| 11873 | if223: ; 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 | |
| 11922 | else225: ; 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 | |
| 11930 | endif224: ; preds = %else225, %if223 |
| 11931 | %tmp254 = add i32 %i170.0, 1 ; <i32> [#uses=1] |
| 11932 | br label %forcond166 |
| 11933 | |
| 11934 | endfor169: ; 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 | |
| 11952 | define weak_odr fastcc void @_D5tango4text5Regex11__T4TNFATwZ4TNFA15constructAlternMFC5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4ListZv(%"tango.text.Regex.TNFA!(dchar).TNFA"* nocapture %.this_arg, %"tango.text.Regex.List!(TNFAFragment).List"* %frags_arg) { |
| 11953 | entry: |
| 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 | |
| 11961 | oror: ; 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 | |
| 11969 | if: ; 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 | |
| 12016 | endif: ; 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 | |
| 12159 | define weak_odr fastcc void @_D5tango4text5Regex11__T4TNFATwZ4TNFA15constructConcatMFC5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4ListZv(%"tango.text.Regex.TNFA!(dchar).TNFA"* nocapture %.this_arg, %"tango.text.Regex.List!(TNFAFragment).List"* %frags_arg) { |
| 12160 | entry: |
| 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 | |
| 12168 | oror: ; 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 | |
| 12176 | if: ; 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 | |
| 12223 | endif: ; 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 | |
| 12379 | declare fastcc %"byte[]" @_D5tango4text5Regex16__T9CharRangeTwZ9CharRange8toStringMFZAa(%tango.net.Socket.timeval*) |
| 12380 | |
| 12381 | declare fastcc i32 @_D5tango4text5Regex16__T9CharRangeTwZ9CharRange8opEqualsMFPS5tango4text5Regex16__T9CharRangeTwZ9CharRangeZi(%tango.net.Socket.timeval* nocapture, %tango.net.Socket.timeval* nocapture) nounwind readonly |
| 12382 | |
| 12383 | declare fastcc i32 @_D5tango4text5Regex16__T9CharRangeTwZ9CharRange5opCmpMFPS5tango4text5Regex16__T9CharRangeTwZ9CharRangeZi(%tango.net.Socket.timeval* nocapture, %tango.net.Socket.timeval* nocapture) nounwind readonly |
| 12384 | |
| 12385 | declare fastcc void @_D5tango4text5Regex16__T9CharClassTwZ9CharClass6negateMFZv(%"tango.text.Regex.CharClass!(dchar).CharClass"*) |
| 12386 | |
| 12387 | declare fastcc void @_D5tango4text5Regex16__T9CharClassTwZ9CharClass8optimizeMFZv(%"tango.text.Regex.CharClass!(dchar).CharClass"*) |
| 12388 | |
| 12389 | define weak_odr fastcc %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* @_D5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransition5_ctorMFE5tango4text5Regex13PriorityClassZC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransition(%"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %.this_arg, i32 %pc_arg) nounwind { |
| 12390 | entry: |
| 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 | |
| 12396 | define weak_odr fastcc %"tango.text.Regex.TNFAState!(dchar).TNFAState"* @_D5tango4text5Regex16__T9TNFAStateTwZ9TNFAState5_ctorMFZC5tango4text5Regex16__T9TNFAStateTwZ9TNFAState(%"tango.text.Regex.TNFAState!(dchar).TNFAState"* %.this_arg) { |
| 12397 | entry: |
| 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 | |
| 12412 | define weak_odr fastcc %"tango.text.Regex.List!(TNFATransition).List"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List11opCatAssignMFC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZC5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List(%"tango.text.Regex.List!(TNFATransition).List"* %.this_arg, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %v_arg) { |
| 12413 | entry: |
| 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 | |
| 12419 | if: ; 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 | |
| 12439 | else: ; 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 | |
| 12467 | endif: ; 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 | |
| 12475 | define weak_odr fastcc %"tango.text.Regex.List!(TNFATransition).List"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List11insertAfterMFC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZC5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List(%"tango.text.Regex.List!(TNFATransition).List"* %.this_arg, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %w_arg, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %v_arg) { |
| 12476 | entry: |
| 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 | |
| 12495 | case: ; 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 | |
| 12500 | switchend: ; preds = %entry |
| 12501 | ret %"tango.text.Regex.List!(TNFATransition).List"* null |
| 12502 | } |
| 12503 | |
| 12504 | define weak_odr fastcc %"tango.text.Regex.List!(TNFATransition).List"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List11insertAfterMFC5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7ElementC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZC5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List(%"tango.text.Regex.List!(TNFATransition).List"* %.this_arg, %"tango.text.Regex.List!(TNFATransition).List.Element"* %e_arg, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %v_arg) { |
| 12505 | entry: |
| 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 | |
| 12536 | if: ; 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 | |
| 12540 | endif: ; 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 | |
| 12548 | define weak_odr fastcc %"tango.text.Regex.List!(TNFATransition).List"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List11opCatAssignMFC5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4ListZC5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List(%"tango.text.Regex.List!(TNFATransition).List"* %.this_arg, %"tango.text.Regex.List!(TNFATransition).List"* %l_arg) { |
| 12549 | entry: |
| 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 | |
| 12557 | if: ; preds = %entry |
| 12558 | ret %"tango.text.Regex.List!(TNFATransition).List"* %.this_arg |
| 12559 | |
| 12560 | endif: ; 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 | |
| 12566 | if10: ; 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 | |
| 12573 | else: ; 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 | |
| 12585 | endif11: ; 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 | |
| 12598 | define weak_odr fastcc %"tango.text.Regex.List!(TNFATransition).List"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List9pushFrontMFC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZC5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List(%"tango.text.Regex.List!(TNFATransition).List"* %.this_arg, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %v_arg) { |
| 12599 | entry: |
| 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 | |
| 12605 | if: ; 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 | |
| 12624 | else: ; 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 | |
| 12651 | endif: ; 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 | |
| 12661 | define weak_odr fastcc %"tango.text.Regex.List!(TNFATransition).List"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List12insertBeforeMFC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZC5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List(%"tango.text.Regex.List!(TNFATransition).List"* %.this_arg, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %w_arg, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %v_arg) { |
| 12662 | entry: |
| 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 | |
| 12681 | case: ; 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 | |
| 12686 | switchend: ; preds = %entry |
| 12687 | ret %"tango.text.Regex.List!(TNFATransition).List"* null |
| 12688 | } |
| 12689 | |
| 12690 | define weak_odr fastcc %"tango.text.Regex.List!(TNFATransition).List"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List12insertBeforeMFC5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7ElementC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZC5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List(%"tango.text.Regex.List!(TNFATransition).List"* %.this_arg, %"tango.text.Regex.List!(TNFATransition).List.Element"* %e_arg, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %v_arg) { |
| 12691 | entry: |
| 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 | |
| 12722 | if: ; 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 | |
| 12726 | endif: ; 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 | |
| 12734 | define weak_odr fastcc %"tango.text.Regex.List!(TNFATransition).List"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List9pushFrontMFC5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4ListZC5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List(%"tango.text.Regex.List!(TNFATransition).List"* %.this_arg, %"tango.text.Regex.List!(TNFATransition).List"* %l_arg) { |
| 12735 | entry: |
| 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 | |
| 12743 | if: ; preds = %entry |
| 12744 | ret %"tango.text.Regex.List!(TNFATransition).List"* %.this_arg |
| 12745 | |
| 12746 | endif: ; 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 | |
| 12752 | if10: ; 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 | |
| 12762 | else: ; 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 | |
| 12777 | endif11: ; 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 | |
| 12787 | define weak_odr fastcc i32 @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6lengthMFZk(%"tango.text.Regex.List!(TNFATransition).List"* nocapture %.this_arg) nounwind readonly { |
| 12788 | entry: |
| 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 | |
| 12794 | define weak_odr fastcc i1 @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List5emptyMFZb(%"tango.text.Regex.List!(TNFATransition).List"* nocapture %.this_arg) nounwind readonly { |
| 12795 | entry: |
| 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 | |
| 12802 | define weak_odr fastcc void @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List5clearMFZv(%"tango.text.Regex.List!(TNFATransition).List"* nocapture %.this_arg) nounwind { |
| 12803 | entry: |
| 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 | |
| 12813 | define weak_odr fastcc void @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List3popMFZv(%"tango.text.Regex.List!(TNFATransition).List"* %.this_arg) { |
| 12814 | entry: |
| 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 | |
| 12825 | define weak_odr fastcc void @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List6removeMFC5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7ElementZv(%"tango.text.Regex.List!(TNFATransition).List"* nocapture %.this_arg, %"tango.text.Regex.List!(TNFATransition).List.Element"* %e_arg) nounwind { |
| 12826 | entry: |
| 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 | |
| 12830 | if: ; preds = %entry |
| 12831 | ret void |
| 12832 | |
| 12833 | endif: ; 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 | |
| 12839 | if6: ; 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 | |
| 12846 | else: ; 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 | |
| 12853 | endif7: ; 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 | |
| 12859 | if24: ; 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 | |
| 12865 | else26: ; 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 | |
| 12871 | endif25: ; 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 | |
| 12879 | define weak_odr fastcc i32 @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List8elementsMFDFKC5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7ElementZiZi(%"tango.text.Regex.List!(TNFATransition).List"* nocapture %.this_arg, %"int delegate(ref Element)" %dg_arg) { |
| 12880 | entry: |
| 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 | |
| 12887 | forcond: ; 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 | |
| 12894 | forbody: ; 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 | |
| 12899 | if: ; preds = %forbody |
| 12900 | ret i32 %tmp9 |
| 12901 | |
| 12902 | forinc: ; 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 | |
| 12907 | endfor: ; preds = %forcond |
| 12908 | ret i32 0 |
| 12909 | } |
| 12910 | |
| 12911 | define weak_odr fastcc i32 @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List16elements_reverseMFDFKC5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7ElementZiZi(%"tango.text.Regex.List!(TNFATransition).List"* nocapture %.this_arg, %"int delegate(ref Element)" %dg_arg) { |
| 12912 | entry: |
| 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 | |
| 12919 | forcond: ; 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 | |
| 12926 | forbody: ; 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 | |
| 12931 | if: ; preds = %forbody |
| 12932 | ret i32 %tmp9 |
| 12933 | |
| 12934 | forinc: ; 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 | |
| 12939 | endfor: ; preds = %forcond |
| 12940 | ret i32 0 |
| 12941 | } |
| 12942 | |
| 12943 | define weak_odr fastcc i32 @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7opApplyMFDFKC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZiZi(%"tango.text.Regex.List!(TNFATransition).List"* nocapture %.this_arg, %"int delegate(ref TNFATransition)" %dg_arg) { |
| 12944 | entry: |
| 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 | |
| 12950 | forcond: ; 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 | |
| 12956 | forbody: ; 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 | |
| 12962 | if: ; preds = %forbody |
| 12963 | ret i32 %tmp11 |
| 12964 | |
| 12965 | forinc: ; 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 | |
| 12969 | endfor: ; preds = %forcond |
| 12970 | ret i32 0 |
| 12971 | } |
| 12972 | |
| 12973 | define weak_odr fastcc i32 @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List14opApplyReverseMFDFKC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZiZi(%"tango.text.Regex.List!(TNFATransition).List"* nocapture %.this_arg, %"int delegate(ref TNFATransition)" %dg_arg) { |
| 12974 | entry: |
| 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 | |
| 12980 | forcond: ; 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 | |
| 12986 | forbody: ; 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 | |
| 12992 | if: ; preds = %forbody |
| 12993 | ret i32 %tmp11 |
| 12994 | |
| 12995 | forinc: ; 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 | |
| 12999 | endfor: ; preds = %forcond |
| 13000 | ret i32 0 |
| 13001 | } |
| 13002 | |
| 13003 | define weak_odr fastcc %"tango.text.Regex.List!(TNFATransition).List.Element"* @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7Element5_ctorMFC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZC5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7Element(%"tango.text.Regex.List!(TNFATransition).List.Element"* %.this_arg, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %v_arg) nounwind { |
| 13004 | entry: |
| 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 | |
| 13010 | define weak_odr fastcc void @_D5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment8setEntryMFC5tango4text5Regex16__T9TNFAStateTwZ9TNFAStateZv(%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* nocapture %.this_arg, %"tango.text.Regex.TNFAState!(dchar).TNFAState"* %state_arg) { |
| 13011 | entry: |
| 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 | |
| 13037 | define weak_odr fastcc void @_D5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment7setExitMFC5tango4text5Regex16__T9TNFAStateTwZ9TNFAStateZv(%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* nocapture %.this_arg, %"tango.text.Regex.TNFAState!(dchar).TNFAState"* %state_arg) { |
| 13038 | entry: |
| 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 | |
| 13064 | define weak_odr fastcc %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* @_D5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment5_ctorMFZC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment(%"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %.this_arg) { |
| 13065 | entry: |
| 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 | |
| 13113 | define weak_odr fastcc %"tango.text.Regex.List!(TNFAFragment).List"* @_D5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List11opCatAssignMFC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZC5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List(%"tango.text.Regex.List!(TNFAFragment).List"* %.this_arg, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %v_arg) { |
| 13114 | entry: |
| 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 | |
| 13120 | if: ; 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 | |
| 13140 | else: ; 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 | |
| 13168 | endif: ; 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 | |
| 13176 | define weak_odr fastcc %"tango.text.Regex.List!(TNFAFragment).List"* @_D5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List11insertAfterMFC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZC5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List(%"tango.text.Regex.List!(TNFAFragment).List"* %.this_arg, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %w_arg, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %v_arg) { |
| 13177 | entry: |
| 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 | |
| 13196 | case: ; 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 | |
| 13201 | switchend: ; preds = %entry |
| 13202 | ret %"tango.text.Regex.List!(TNFAFragment).List"* null |
| 13203 | } |
| 13204 | |
| 13205 | define weak_odr fastcc %"tango.text.Regex.List!(TNFAFragment).List"* @_D5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List11insertAfterMFC5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List7ElementC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZC5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List(%"tango.text.Regex.List!(TNFAFragment).List"* %.this_arg, %"tango.text.Regex.List!(TNFAFragment).List.Element"* %e_arg, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %v_arg) { |
| 13206 | entry: |
| 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 | |
| 13237 | if: ; 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 | |
| 13241 | endif: ; 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 | |
| 13249 | define weak_odr fastcc %"tango.text.Regex.List!(TNFAFragment).List"* @_D5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List11opCatAssignMFC5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4ListZC5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List(%"tango.text.Regex.List!(TNFAFragment).List"* %.this_arg, %"tango.text.Regex.List!(TNFAFragment).List"* %l_arg) { |
| 13250 | entry: |
| 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 | |
| 13258 | if: ; preds = %entry |
| 13259 | ret %"tango.text.Regex.List!(TNFAFragment).List"* %.this_arg |
| 13260 | |
| 13261 | endif: ; 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 | |
| 13267 | if10: ; 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 | |
| 13274 | else: ; 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 | |
| 13286 | endif11: ; 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 | |
| 13299 | define weak_odr fastcc %"tango.text.Regex.List!(TNFAFragment).List"* @_D5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List9pushFrontMFC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZC5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List(%"tango.text.Regex.List!(TNFAFragment).List"* %.this_arg, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %v_arg) { |
| 13300 | entry: |
| 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 | |
| 13306 | if: ; 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 | |
| 13325 | else: ; 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 | |
| 13352 | endif: ; 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 | |
| 13362 | define weak_odr fastcc %"tango.text.Regex.List!(TNFAFragment).List"* @_D5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List12insertBeforeMFC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZC5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List(%"tango.text.Regex.List!(TNFAFragment).List"* %.this_arg, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %w_arg, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %v_arg) { |
| 13363 | entry: |
| 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 | |
| 13382 | case: ; 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 | |
| 13387 | switchend: ; preds = %entry |
| 13388 | ret %"tango.text.Regex.List!(TNFAFragment).List"* null |
| 13389 | } |
| 13390 | |
| 13391 | define weak_odr fastcc %"tango.text.Regex.List!(TNFAFragment).List"* @_D5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List12insertBeforeMFC5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List7ElementC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZC5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List(%"tango.text.Regex.List!(TNFAFragment).List"* %.this_arg, %"tango.text.Regex.List!(TNFAFragment).List.Element"* %e_arg, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %v_arg) { |
| 13392 | entry: |
| 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 | |
| 13423 | if: ; 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 | |
| 13427 | endif: ; 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 | |
| 13435 | define weak_odr fastcc %"tango.text.Regex.List!(TNFAFragment).List"* @_D5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List9pushFrontMFC5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4ListZC5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List(%"tango.text.Regex.List!(TNFAFragment).List"* %.this_arg, %"tango.text.Regex.List!(TNFAFragment).List"* %l_arg) { |
| 13436 | entry: |
| 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 | |
| 13444 | if: ; preds = %entry |
| 13445 | ret %"tango.text.Regex.List!(TNFAFragment).List"* %.this_arg |
| 13446 | |
| 13447 | endif: ; 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 | |
| 13453 | if10: ; 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 | |
| 13463 | else: ; 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 | |
| 13478 | endif11: ; 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 | |
| 13488 | define weak_odr fastcc i32 @_D5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List6lengthMFZk(%"tango.text.Regex.List!(TNFAFragment).List"* nocapture %.this_arg) nounwind readonly { |
| 13489 | entry: |
| 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 | |
| 13495 | define weak_odr fastcc i1 @_D5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List5emptyMFZb(%"tango.text.Regex.List!(TNFAFragment).List"* nocapture %.this_arg) nounwind readonly { |
| 13496 | entry: |
| 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 | |
| 13503 | define weak_odr fastcc void @_D5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List5clearMFZv(%"tango.text.Regex.List!(TNFAFragment).List"* nocapture %.this_arg) nounwind { |
| 13504 | entry: |
| 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 | |
| 13514 | define weak_odr fastcc void @_D5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List3popMFZv(%"tango.text.Regex.List!(TNFAFragment).List"* %.this_arg) { |
| 13515 | entry: |
| 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 | |
| 13526 | define weak_odr fastcc void @_D5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List6removeMFC5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List7ElementZv(%"tango.text.Regex.List!(TNFAFragment).List"* nocapture %.this_arg, %"tango.text.Regex.List!(TNFAFragment).List.Element"* %e_arg) nounwind { |
| 13527 | entry: |
| 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 | |
| 13531 | if: ; preds = %entry |
| 13532 | ret void |
| 13533 | |
| 13534 | endif: ; 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 | |
| 13540 | if6: ; 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 | |
| 13547 | else: ; 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 | |
| 13554 | endif7: ; 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 | |
| 13560 | if24: ; 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 | |
| 13566 | else26: ; 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 | |
| 13572 | endif25: ; 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 | |
| 13580 | define weak_odr fastcc i32 @_D5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List8elementsMFDFKC5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List7ElementZiZi(%"tango.text.Regex.List!(TNFAFragment).List"* nocapture %.this_arg, %1 %dg_arg) { |
| 13581 | entry: |
| 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 | |
| 13588 | forcond: ; 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 | |
| 13595 | forbody: ; 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 | |
| 13600 | if: ; preds = %forbody |
| 13601 | ret i32 %tmp9 |
| 13602 | |
| 13603 | forinc: ; 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 | |
| 13608 | endfor: ; preds = %forcond |
| 13609 | ret i32 0 |
| 13610 | } |
| 13611 | |
| 13612 | define weak_odr fastcc i32 @_D5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List16elements_reverseMFDFKC5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List7ElementZiZi(%"tango.text.Regex.List!(TNFAFragment).List"* nocapture %.this_arg, %1 %dg_arg) { |
| 13613 | entry: |
| 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 | |
| 13620 | forcond: ; 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 | |
| 13627 | forbody: ; 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 | |
| 13632 | if: ; preds = %forbody |
| 13633 | ret i32 %tmp9 |
| 13634 | |
| 13635 | forinc: ; 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 | |
| 13640 | endfor: ; preds = %forcond |
| 13641 | ret i32 0 |
| 13642 | } |
| 13643 | |
| 13644 | define weak_odr fastcc i32 @_D5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List7opApplyMFDFKC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZiZi(%"tango.text.Regex.List!(TNFAFragment).List"* nocapture %.this_arg, %"int delegate(ref TNFAFragment)" %dg_arg) { |
| 13645 | entry: |
| 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 | |
| 13651 | forcond: ; 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 | |
| 13657 | forbody: ; 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 | |
| 13663 | if: ; preds = %forbody |
| 13664 | ret i32 %tmp11 |
| 13665 | |
| 13666 | forinc: ; 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 | |
| 13670 | endfor: ; preds = %forcond |
| 13671 | ret i32 0 |
| 13672 | } |
| 13673 | |
| 13674 | define weak_odr fastcc i32 @_D5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List14opApplyReverseMFDFKC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZiZi(%"tango.text.Regex.List!(TNFAFragment).List"* nocapture %.this_arg, %"int delegate(ref TNFAFragment)" %dg_arg) { |
| 13675 | entry: |
| 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 | |
| 13681 | forcond: ; 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 | |
| 13687 | forbody: ; 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 | |
| 13693 | if: ; preds = %forbody |
| 13694 | ret i32 %tmp11 |
| 13695 | |
| 13696 | forinc: ; 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 | |
| 13700 | endfor: ; preds = %forcond |
| 13701 | ret i32 0 |
| 13702 | } |
| 13703 | |
| 13704 | define weak_odr fastcc %"tango.text.Regex.List!(TNFAFragment).List.Element"* @_D5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List7Element5_ctorMFC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZC5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List7Element(%"tango.text.Regex.List!(TNFAFragment).List.Element"* %.this_arg, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"* %v_arg) nounwind { |
| 13705 | entry: |
| 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 | |
| 13711 | define weak_odr fastcc i32 @_D5tango4text4Util21__T13locatePatternTaZ13locatePatternFAaAakZk(%"byte[]" %source_arg, %"byte[]" %match_arg, i32 %start_arg) nounwind readonly { |
| 13712 | entry: |
| 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 | |
| 13725 | whilecond: ; 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 | |
| 13733 | whilebody: ; 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 | |
| 13739 | forcond.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 | |
| 13746 | forbody.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 | |
| 13752 | if.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 | |
| 13763 | else: ; 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 | |
| 13770 | forcond.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 | |
| 13778 | forbody.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 | |
| 13786 | if.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 | |
| 13797 | if38: ; 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 | |
| 13803 | else40: ; 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 | |
| 13808 | endif: ; preds = %_D5tango4text4Util14__T7indexOfTaZ7indexOfFPaakZk.exit, %whilecond, %entry |
| 13809 | ret i32 %source_arg59 |
| 13810 | } |
| 13811 | |
| 13812 | define weak_odr fastcc i32 @_D5tango4text4Util14__T7indexOfTaZ7indexOfFPaakZk(i8* %str_arg, i8 %match_arg, i32 %length_arg) nounwind readonly { |
| 13813 | entry: |
| 13814 | %tmp2 = getelementptr i8* %str_arg, i32 -1 ; <i8*> [#uses=1] |
| 13815 | br label %forcond |
| 13816 | |
| 13817 | forcond: ; 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 | |
| 13824 | forbody: ; 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 | |
| 13830 | if: ; 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 | |
| 13836 | endfor: ; preds = %forcond |
| 13837 | ret i32 %length_arg |
| 13838 | } |
| 13839 | |
| 13840 | define weak_odr fastcc i1 @_D5tango4text4Util15__T8matchingTaZ8matchingFPaPakZb(i8* %s1_arg, i8* nocapture %s2_arg, i32 %length_arg) nounwind readonly { |
| 13841 | entry: |
| 13842 | %tmp2.i = getelementptr i8* %s1_arg, i32 -1 ; <i8*> [#uses=1] |
| 13843 | br label %forcond.i |
| 13844 | |
| 13845 | forcond.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 | |
| 13853 | forbody.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 | |
| 13861 | if.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 | |
| 13873 | define weak_odr fastcc i32 @_D5tango4text4Util15__T8mismatchTaZ8mismatchFPaPakZk(i8* %s1_arg, i8* nocapture %s2_arg, i32 %length_arg) nounwind readonly { |
| 13874 | entry: |
| 13875 | %tmp2 = getelementptr i8* %s1_arg, i32 -1 ; <i8*> [#uses=1] |
| 13876 | br label %forcond |
| 13877 | |
| 13878 | forcond: ; 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 | |
| 13886 | forbody: ; 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 | |
| 13894 | if: ; 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 | |
| 13900 | endfor: ; preds = %forcond |
| 13901 | ret i32 %length_arg |
| 13902 | } |
| 13903 | |
| 13904 | define weak_odr fastcc i32 @_D5tango4text4Util19__T11locatePriorTaZ11locatePriorFAaakZk(%"byte[]" %source_arg, i8 %match_arg, i32 %start_arg) nounwind readonly { |
| 13905 | entry: |
| 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 | |
| 13911 | if: ; preds = %entry |
| 13912 | br label %whilecond |
| 13913 | |
| 13914 | whilecond: ; 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 | |
| 13919 | whilebody: ; 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 | |
| 13926 | if16: ; preds = %whilebody |
| 13927 | ret i32 %tmp8 |
| 13928 | |
| 13929 | endwhile: ; preds = %whilecond |
| 13930 | ret i32 %source_arg22 |
| 13931 | } |
| 13932 | |
| 13933 | define weak_odr fastcc i32 @_D5tango4text4Util13__T6locateTaZ6locateFAaakZk(%"byte[]" %source_arg, i8 %match_arg, i32 %start_arg) nounwind readonly { |
| 13934 | entry: |
| 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 | |
| 13945 | forcond.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 | |
| 13952 | forbody.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 | |
| 13958 | if.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 | |
| 13970 | define weak_odr fastcc i64 @_D5tango4text7convert7Integer13__T6toLongTaZ6toLongFAakZl(%"byte[]" %digits_arg, i32 %radix_arg) { |
| 13971 | entry: |
| 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 | |
| 13983 | if: ; 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 | |
| 13998 | endif: ; preds = %entry |
| 13999 | ret i64 %tmp2 |
| 14000 | } |
| 14001 | |
| 14002 | define weak_odr fastcc i64 @_D5tango4text7convert7Integer12__T5parseTaZ5parseFAakPkZl(%"byte[]" %digits_arg, i32 %radix_arg, i32* %ate_arg) nounwind { |
| 14003 | entry: |
| 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 | |
| 14009 | forcond.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 | |
| 14018 | forbody.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 | |
| 14026 | if20.i: ; preds = %forbody.i |
| 14027 | br label %forinc.i |
| 14028 | |
| 14029 | if26.i: ; preds = %forbody.i |
| 14030 | br label %forinc.i |
| 14031 | |
| 14032 | forinc.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 | |
| 14038 | endfor.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 | |
| 14044 | if40.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 | |
| 14057 | case46.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 | |
| 14061 | case51.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 | |
| 14065 | case56.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 | |
| 14069 | endif41.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 | |
| 14075 | else66.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 | |
| 14079 | if70.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 | |
| 14083 | if73.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 | |
| 14097 | foreachcond.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 | |
| 14104 | foreachbody.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 | |
| 14112 | else.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 | |
| 14117 | if22.i: ; preds = %else.i |
| 14118 | %tmp27.i = add i8 %tmp6.i, -39 ; <i8> [#uses=1] |
| 14119 | br label %endif.i |
| 14120 | |
| 14121 | else24.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 | |
| 14126 | if39.i: ; preds = %else24.i |
| 14127 | %tmp44.i29 = add i8 %tmp6.i, -7 ; <i8> [#uses=1] |
| 14128 | br label %endif.i |
| 14129 | |
| 14130 | endif.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 | |
| 14138 | if55.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 | |
| 14147 | foreachend.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 | |
| 14151 | if72.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 | |
| 14156 | endif: ; 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 | |
| 14162 | define weak_odr fastcc i32 @_D5tango4text7convert7Integer11__T4trimTaZ4trimFAaKbKkZk(%"byte[]" %digits_arg, i1* nocapture %sign_arg, i32* nocapture %radix_arg) nounwind { |
| 14163 | entry: |
| 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 | |
| 14169 | forcond: ; 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 | |
| 14177 | forbody: ; 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 | |
| 14185 | if20: ; preds = %forbody |
| 14186 | store i1 true, i1* %sign_arg |
| 14187 | br label %forinc |
| 14188 | |
| 14189 | if26: ; preds = %forbody |
| 14190 | store i1 false, i1* %sign_arg |
| 14191 | br label %forinc |
| 14192 | |
| 14193 | forinc: ; 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 | |
| 14198 | endfor: ; 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 | |
| 14205 | if40: ; 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 | |
| 14218 | case46: ; preds = %if40, %if40 |
| 14219 | %tmp48 = getelementptr i8* %p.0, i32 2 ; <i8*> [#uses=1] |
| 14220 | br label %endif41 |
| 14221 | |
| 14222 | case51: ; preds = %if40, %if40 |
| 14223 | %tmp53 = getelementptr i8* %p.0, i32 2 ; <i8*> [#uses=1] |
| 14224 | br label %endif41 |
| 14225 | |
| 14226 | case56: ; preds = %if40, %if40 |
| 14227 | %tmp58 = getelementptr i8* %p.0, i32 2 ; <i8*> [#uses=1] |
| 14228 | br label %endif41 |
| 14229 | |
| 14230 | endif41: ; 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 | |
| 14236 | if64: ; preds = %endif41 |
| 14237 | store i32 10, i32* %radix_arg |
| 14238 | br label %endif |
| 14239 | |
| 14240 | else66: ; preds = %endif41 |
| 14241 | %tmp69 = icmp eq i32 %tmp34, %r.0 ; <i1> [#uses=1] |
| 14242 | br i1 %tmp69, label %endif, label %if70 |
| 14243 | |
| 14244 | if70: ; preds = %else66 |
| 14245 | %tmp77 = icmp eq i32 %tmp34, 0 ; <i1> [#uses=1] |
| 14246 | br i1 %tmp77, label %else75, label %if73 |
| 14247 | |
| 14248 | if73: ; preds = %if70 |
| 14249 | %tmp79 = getelementptr i8* %p.2, i32 -1 ; <i8*> [#uses=1] |
| 14250 | br label %endif |
| 14251 | |
| 14252 | else75: ; preds = %if70 |
| 14253 | store i32 %r.0, i32* %radix_arg |
| 14254 | br label %endif |
| 14255 | |
| 14256 | endif: ; 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 | |
| 14264 | define weak_odr fastcc i64 @_D5tango4text7convert7Integer14__T7convertTaZ7convertFAakPkZm(%"byte[]" %digits_arg, i32 %radix_arg, i32* %ate_arg) nounwind { |
| 14265 | entry: |
| 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 | |
| 14270 | foreachcond: ; 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 | |
| 14277 | foreachbody: ; 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 | |
| 14284 | else: ; 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 | |
| 14289 | if22: ; preds = %else |
| 14290 | %tmp27 = add i8 %tmp6, -39 ; <i8> [#uses=1] |
| 14291 | br label %endif |
| 14292 | |
| 14293 | else24: ; 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 | |
| 14298 | if39: ; preds = %else24 |
| 14299 | %tmp44 = add i8 %tmp6, -7 ; <i8> [#uses=1] |
| 14300 | br label %endif |
| 14301 | |
| 14302 | endif: ; 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 | |
| 14310 | if55: ; 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 | |
| 14319 | foreachend: ; preds = %endif, %else24, %foreachcond |
| 14320 | %tmp75 = icmp eq i32* %ate_arg, null ; <i1> [#uses=1] |
| 14321 | br i1 %tmp75, label %endif73, label %if72 |
| 14322 | |
| 14323 | if72: ; preds = %foreachend |
| 14324 | store i32 %eaten.0, i32* %ate_arg |
| 14325 | ret i64 %value.0 |
| 14326 | |
| 14327 | endif73: ; preds = %foreachend |
| 14328 | ret i64 %value.0 |
| 14329 | } |
| 14330 | |
| 14331 | define weak_odr fastcc %"byte[]" @_D5tango4text7convert7Integer13__T6formatTaZ6formatFAalAaZAa(%"byte[]" %dst_arg, i64 %i_arg, %"byte[]" %fmt_arg) { |
| 14332 | entry: |
| 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 | |
| 14338 | else.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 | |
| 14343 | forcond.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 | |
| 14352 | forbody.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 | |
| 14358 | if25.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 | |
| 14365 | forinc.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 | |
| 14379 | define weak_odr fastcc void @_D5tango4text7convert7Integer13__T6decodeTaZ6decodeFAaKaJaJiZv(%"byte[]" %fmt_arg, i8* nocapture %type_arg, i8* nocapture %pre_arg, i32* nocapture %width_arg) nounwind { |
| 14380 | entry: |
| 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 | |
| 14388 | if: ; preds = %entry |
| 14389 | store i8 100, i8* %type_arg |
| 14390 | ret void |
| 14391 | |
| 14392 | else: ; 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 | |
| 14398 | forcond: ; 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 | |
| 14405 | forbody: ; 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 | |
| 14411 | if25: ; 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 | |
| 14420 | else27: ; preds = %forbody |
| 14421 | store i8 %tmp18, i8* %pre_arg |
| 14422 | br label %forinc |
| 14423 | |
| 14424 | forinc: ; preds = %else27, %if25 |
| 14425 | %tmp38 = add i32 %j.0, 1 ; <i32> [#uses=1] |
| 14426 | br label %forcond |
| 14427 | |
| 14428 | endif: ; preds = %forcond, %else |
| 14429 | ret void |
| 14430 | } |
| 14431 | |
| 14432 | define weak_odr fastcc %"byte[]" @_D5tango4text7convert7Integer16__T9formatterTaZ9formatterFAalaaiZAa(%"byte[]" %dst_arg, i64 %i_arg, i8 %type_arg, i8 %pre_arg, i32 %width_arg) { |
| 14433 | entry: |
| 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 | |
| 14441 | if: ; 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 | |
| 14458 | case8: ; 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 | |
| 14462 | if11: ; preds = %case8 |
| 14463 | %negval = sub i64 0, %i_arg ; <i64> [#uses=1] |
| 14464 | br label %switchend |
| 14465 | |
| 14466 | else: ; preds = %case8 |
| 14467 | %tmp16 = icmp eq i8 %pre_arg, 32 ; <i1> [#uses=1] |
| 14468 | br i1 %tmp16, label %switchend, label %else19 |
| 14469 | |
| 14470 | else19: ; preds = %else |
| 14471 | %tmp22 = icmp eq i8 %pre_arg, 43 ; <i1> [#uses=1] |
| 14472 | br i1 %tmp22, label %if23, label %switchend |
| 14473 | |
| 14474 | if23: ; preds = %else19 |
| 14475 | br label %switchend |
| 14476 | |
| 14477 | case28: ; preds = %if, %if |
| 14478 | br label %switchend |
| 14479 | |
| 14480 | case31: ; preds = %if, %if |
| 14481 | br label %switchend |
| 14482 | |
| 14483 | case33: ; preds = %if |
| 14484 | br label %switchend |
| 14485 | |
| 14486 | case35: ; preds = %if |
| 14487 | br label %switchend |
| 14488 | |
| 14489 | default37: ; 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 | |
| 14502 | switchend: ; 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 | |
| 14515 | if59: ; preds = %switchend |
| 14516 | %tmp63 = trunc i64 %i.1 to i32 ; <i32> [#uses=1] |
| 14517 | br label %dowhile |
| 14518 | |
| 14519 | dowhile: ; 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 | |
| 14532 | andand: ; 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 | |
| 14537 | dowhile82: ; 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 | |
| 14552 | andand100: ; 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 | |
| 14557 | endif60: ; 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 | |
| 14563 | condtrue: ; 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 | |
| 14568 | condend: ; 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 | |
| 14575 | if118: ; 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 | |
| 14581 | if126: ; 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 | |
| 14586 | whilecond: ; 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 | |
| 14594 | whilebody: ; 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 | |
| 14600 | endif127: ; 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 | |
| 14609 | endif: ; preds = %condend, %entry |
| 14610 | ret %"byte[]" { i32 24, i8* getelementptr ([25 x i8]* @.str265, i32 0, i32 0) } |
| 14611 | } |
| 14612 | |
| 14613 | define weak_odr fastcc i32 @_D5tango4text7convert7Integer11__T4atoiTaZ4atoiFAaiZk(%"byte[]" %s_arg, i32 %radix_arg) nounwind readonly { |
| 14614 | entry: |
| 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 | |
| 14619 | foreachcond: ; 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 | |
| 14625 | foreachbody: ; 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 | |
| 14632 | if: ; 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 | |
| 14640 | foreachend: ; preds = %foreachbody, %foreachcond |
| 14641 | ret i32 %value.0 |
| 14642 | } |
| 14643 | |
| 14644 | define weak_odr fastcc %"char[][]" @_D5tango4text4Util18__T10splitLinesTaZ10splitLinesFAaZAAa(%"byte[]" %src_arg) { |
| 14645 | entry: |
| 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 | |
| 14683 | define weak_odr fastcc void @_D5tango4text4Util12__T5linesTaZ5linesFAaZS5tango4text4Util16__T9LineFructTaZ9LineFruct(%"tango.text.Util.LineFruct!(char).LineFruct"* noalias nocapture sret %.sret_arg, %"byte[]" %src_arg) nounwind { |
| 14684 | entry: |
| 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 | |
| 14694 | define weak_odr fastcc i32 @_D5tango4text4Util16__T9LineFructTaZ9LineFruct7opApplyMFDFKAaZiZi(%"tango.text.Util.LineFruct!(char).LineFruct"* nocapture %.this_arg, %"int delegate(ref char[])" %dg_arg) { |
| 14695 | entry: |
| 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 | |
| 14702 | whilecond: ; 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 | |
| 14717 | forcond.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 | |
| 14724 | forbody.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 | |
| 14730 | if.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 | |
| 14744 | whilebody: ; 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 | |
| 14748 | whilebody.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 | |
| 14752 | andand: ; 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 | |
| 14762 | endif: ; 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 | |
| 14776 | if39: ; preds = %endif |
| 14777 | ret i32 %tmp37 |
| 14778 | |
| 14779 | endif40: ; preds = %endif |
| 14780 | %tmp43 = add i32 %tmp15.i, 1 ; <i32> [#uses=1] |
| 14781 | br label %whilecond |
| 14782 | |
| 14783 | endwhile: ; 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 | |
| 14795 | if61: ; preds = %endwhile |
| 14796 | %tmp67 = call fastcc i32 %dg_arg71(i8* %dg_arg70, %"byte[]"* %line) ; <i32> [#uses=1] |
| 14797 | ret i32 %tmp67 |
| 14798 | |
| 14799 | endif62: ; preds = %endwhile |
| 14800 | ret i32 %ret.0 |
| 14801 | } |
| 14802 | |
| 14803 | define weak_odr fastcc %"byte[]" @_D5tango4text4Util13__T6layoutTaZ6layoutFAaAAaXAa(%"byte[]" %output_arg, %"char[][]" %layout_arg) nounwind { |
| 14804 | entry: |
| 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 | |
| 14816 | foreachcond: ; 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 | |
| 14823 | foreachbody: ; 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 | |
| 14828 | if: ; 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 | |
| 14833 | if20: ; 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 | |
| 14839 | if28: ; 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 | |
| 14848 | if45: ; 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 | |
| 14854 | else47: ; preds = %if28 |
| 14855 | %tmp61 = load %"byte[]"* @_D5tango4text4Util13__T6layoutTaZ6layoutFAaAAaXAa8toosmallAa, align 8 ; <%"byte[]"> [#uses=1] |
| 14856 | ret %"byte[]" %tmp61 |
| 14857 | |
| 14858 | else30: ; preds = %if20 |
| 14859 | %tmp62 = load %"byte[]"* @_D5tango4text4Util13__T6layoutTaZ6layoutFAaAAaXAa6badargAa, align 8 ; <%"byte[]"> [#uses=1] |
| 14860 | ret %"byte[]" %tmp62 |
| 14861 | |
| 14862 | else: ; preds = %foreachbody |
| 14863 | %tmp66 = icmp eq i8 %tmp12, 37 ; <i1> [#uses=1] |
| 14864 | br i1 %tmp66, label %foreachnext, label %endif |
| 14865 | |
| 14866 | endif: ; 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 | |
| 14871 | if74: ; 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 | |
| 14877 | else76: ; preds = %endif |
| 14878 | %tmp84 = load %"byte[]"* @_D5tango4text4Util13__T6layoutTaZ6layoutFAaAAaXAa8toosmallAa, align 8 ; <%"byte[]"> [#uses=1] |
| 14879 | ret %"byte[]" %tmp84 |
| 14880 | |
| 14881 | foreachnext: ; 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 | |
| 14887 | foreachend: ; 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 | |
| 14893 | define weak_odr fastcc %"byte[]" @_D5tango4text7convert7Integer15__T6formatTaTiZ6formatFAaiAaZAa(%"byte[]" %dst_arg, i32 %i_arg, %"byte[]" %fmt_arg) { |
| 14894 | entry: |
| 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 | |
| 14901 | else.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 | |
| 14906 | forcond.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 | |
| 14915 | forbody.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 | |
| 14921 | if25.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 | |
| 14928 | forinc.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 | |
| 14942 | define weak_odr fastcc i32 @_D5tango4core5Array14__T4findTAaTaZ4findFAaaZk(%"byte[]" %buf_arg, i8 %pat_arg) nounwind readonly { |
| 14943 | entry: |
| 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 | |
| 14948 | foreachcond.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 | |
| 14953 | foreachbody.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 | |
| 14959 | foreachnext.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 | |
| 14968 | define weak_odr fastcc i1 @_D5tango4core5Array14__T7IsEqualTaZ7IsEqual6opCallFaaZb(i8 %p1_arg, i8 %p2_arg) nounwind readnone { |
| 14969 | entry: |
| 14970 | %tmp4 = icmp eq i8 %p1_arg, %p2_arg ; <i1> [#uses=1] |
| 14971 | ret i1 %tmp4 |
| 14972 | } |
| 14973 | |
| 14974 | define weak_odr fastcc i32 @_D5tango4core5Array12__T5find_TaZ2fnFAaaS5tango4core5Array14__T7IsEqualTaZ7IsEqualZk(%"byte[]" %buf_arg, i8 %pat_arg, %"tango.core.Array.IsEqual!(char).IsEqual"* nocapture byval %pred_arg) nounwind readonly { |
| 14975 | entry: |
| 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 | |
| 14980 | foreachcond: ; 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 | |
| 14985 | foreachbody: ; 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 | |
| 14991 | if: ; preds = %foreachbody |
| 14992 | ret i32 %pos.0 |
| 14993 | |
| 14994 | foreachnext: ; preds = %foreachbody |
| 14995 | %tmp12 = add i32 %pos.0, 1 ; <i32> [#uses=1] |
| 14996 | br label %foreachcond |
| 14997 | |
| 14998 | foreachend: ; preds = %foreachcond |
| 14999 | ret i32 %buf_arg16 |
| 15000 | } |
| 15001 | |
| 15002 | define weak_odr fastcc i32 @_D5tango4core5Array12__T5find_TaZ2fnFAaAaS5tango4core5Array14__T7IsEqualTaZ7IsEqualZk(%"byte[]" %buf_arg, %"byte[]" %pat_arg, %"tango.core.Array.IsEqual!(char).IsEqual"* nocapture byval %pred_arg) nounwind readonly { |
| 15003 | entry: |
| 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 | |
| 15015 | if: ; preds = %entry |
| 15016 | ret i32 %buf_arg80 |
| 15017 | |
| 15018 | endif: ; 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 | |
| 15023 | forcond: ; 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 | |
| 15028 | forbody: ; 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 | |
| 15035 | dowhile: ; 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 | |
| 15042 | if40: ; 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 | |
| 15047 | endif41: ; 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 | |
| 15052 | if53: ; preds = %endif41 |
| 15053 | ret i32 %buf_arg80 |
| 15054 | |
| 15055 | dowhilecond: ; 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 | |
| 15063 | enddowhile: ; preds = %dowhilecond |
| 15064 | %tmp71 = sub i32 %tmp49, %tmp36 ; <i32> [#uses=1] |
| 15065 | br label %forinc |
| 15066 | |
| 15067 | forinc: ; 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 | |
| 15072 | endfor: ; preds = %forcond |
| 15073 | ret i32 %buf_arg80 |
| 15074 | } |
| 15075 | |
| 15076 | define weak_odr fastcc i1 @_D5tango4text4Util15__T8containsTaZ8containsFAaaZb(%"byte[]" %source_arg, i8 %match_arg) nounwind readonly { |
| 15077 | entry: |
| 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 | |
| 15083 | forcond.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 | |
| 15090 | forbody.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 | |
| 15096 | if.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 | |
| 15108 | define weak_odr fastcc i32 @_D5tango4text7convert9TimeStamp14__T7dostimeTaZ7dostimeFAaKS5tango4time4Time4TimeZi(%"byte[]" %src_arg, %tango.time.Time.Time* nocapture %value_arg) { |
| 15109 | entry: |
| 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 | |
| 15122 | whilecond.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 | |
| 15131 | whilebody.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 | |
| 15145 | andand.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 | |
| 15151 | andand9.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 | |
| 15155 | whilecond.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 | |
| 15164 | whilebody.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 | |
| 15178 | andand16.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 | |
| 15184 | andand23.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 | |
| 15188 | whilecond.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 | |
| 15197 | whilebody.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 | |
| 15217 | andand12: ; 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 | |
| 15221 | whilecond.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 | |
| 15230 | whilebody.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 | |
| 15244 | andand18: ; 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 | |
| 15250 | andand26: ; preds = %andand18 |
| 15251 | %tmp28 = getelementptr %tango.time.Time.TimeOfDay* %tod, i32 0, i32 1 ; <i32*> [#uses=1] |
| 15252 | br label %whilecond.i107 |
| 15253 | |
| 15254 | whilecond.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 | |
| 15264 | whilebody.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 | |
| 15278 | andand32: ; 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 | |
| 15285 | if47: ; preds = %andand32 |
| 15286 | %tmp52 = add i32 %tmp51, 12 ; <i32> [#uses=1] |
| 15287 | store i32 %tmp52, i32* %tmp14 |
| 15288 | br label %endif48 |
| 15289 | |
| 15290 | endif48: ; 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 | |
| 15296 | if56: ; preds = %endif48 |
| 15297 | %tmp61 = add i32 %tmp54, 2000 ; <i32> [#uses=1] |
| 15298 | store i32 %tmp61, i32* %tmp53, align 8 |
| 15299 | br label %endif57 |
| 15300 | |
| 15301 | else: ; preds = %endif48 |
| 15302 | %tmp64 = icmp ult i32 %tmp54, 100 ; <i1> [#uses=1] |
| 15303 | br i1 %tmp64, label %if65, label %endif57 |
| 15304 | |
| 15305 | if65: ; preds = %else |
| 15306 | %tmp70 = add i32 %tmp54, 1900 ; <i32> [#uses=1] |
| 15307 | store i32 %tmp70, i32* %tmp53, align 8 |
| 15308 | br label %endif57 |
| 15309 | |
| 15310 | endif57: ; 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 | |
| 15328 | endif: ; preds = %andand32, %_D5tango4text7convert9TimeStamp15__T8parseIntTaZ8parseIntFKPaZi.exit119, %andand18, %_D5tango4text7convert9TimeStamp15__T8parseIntTaZ8parseIntFKPaZi.exit, %_D5tango4text7convert9TimeStamp14__T7dostimeTaZ7dostimeFAaKS5tango4time4Time4TimeZi2dtMFKPaZb.exit |
| 15329 | ret i32 0 |
| 15330 | } |
| 15331 | |
| 15332 | define weak_odr fastcc i32 @_D5tango4text7convert9TimeStamp15__T8parseIntTaZ8parseIntFKPaZi(i8** nocapture %p_arg) nounwind { |
| 15333 | entry: |
| 15334 | %tmp.pre = load i8** %p_arg ; <i8*> [#uses=1] |
| 15335 | br label %whilecond |
| 15336 | |
| 15337 | whilecond: ; 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 | |
| 15344 | whilebody: ; 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 | |
| 15354 | andand: ; preds = %whilecond |
| 15355 | %tmp7 = icmp ult i8 %tmp1, 58 ; <i1> [#uses=1] |
| 15356 | br i1 %tmp7, label %whilebody, label %endwhile |
| 15357 | |
| 15358 | endwhile.critedge: ; preds = %whilecond |
| 15359 | ret i32 %value.0 |
| 15360 | |
| 15361 | endwhile: ; preds = %andand |
| 15362 | ret i32 %value.0 |
| 15363 | } |
| 15364 | |
| 15365 | define weak_odr fastcc %"char[][]" @_D5tango4text4Util14__T7delimitTaZ7delimitFAaAaZAAa(%"byte[]" %src_arg, %"byte[]" %set_arg) { |
| 15366 | entry: |
| 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 | |
| 15391 | define weak_odr fastcc void @_D5tango4text4Util18__T10delimitersTaZ10delimitersFAaAaZS5tango4text4Util18__T10DelimFructTaZ10DelimFruct(%tango.net.ftp.FtpClient.FtpFeature* noalias nocapture sret %.sret_arg, %"byte[]" %src_arg, %"byte[]" %set_arg) nounwind { |
| 15392 | entry: |
| 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 | |
| 15408 | define weak_odr fastcc i32 @_D5tango4text4Util18__T10DelimFructTaZ10DelimFruct7opApplyMFDFKAaZiZi(%tango.net.ftp.FtpClient.FtpFeature* nocapture %.this_arg, %"int delegate(ref char[])" %dg_arg) { |
| 15409 | entry: |
| 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 | |
| 15419 | whilecond: ; 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 | |
| 15437 | forcond.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 | |
| 15444 | forbody.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 | |
| 15450 | if.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 | |
| 15464 | whilebody: ; 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 | |
| 15477 | if35: ; preds = %whilebody |
| 15478 | ret i32 %tmp33 |
| 15479 | |
| 15480 | endif36: ; preds = %whilebody |
| 15481 | %tmp39 = add i32 %tmp15.i, 1 ; <i32> [#uses=1] |
| 15482 | br label %whilecond |
| 15483 | |
| 15484 | else: ; preds = %entry |
| 15485 | %tmp44 = icmp ugt i32 %.len, 1 ; <i1> [#uses=1] |
| 15486 | br i1 %tmp44, label %if45, label %endif |
| 15487 | |
| 15488 | if45: ; 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 | |
| 15495 | foreachcond: ; 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 | |
| 15502 | foreachbody: ; 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 | |
| 15512 | forcond.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 | |
| 15519 | forbody.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 | |
| 15525 | if.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 | |
| 15536 | foreachbody.foreachnext_crit_edge: ; preds = %_D5tango4text4Util15__T8containsTaZ8containsFAaaZb.exit |
| 15537 | %tmp88.pre = add i32 %i.0, 1 ; <i32> [#uses=1] |
| 15538 | br label %foreachcond |
| 15539 | |
| 15540 | if63: ; 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 | |
| 15552 | if81: ; preds = %if63 |
| 15553 | ret i32 %tmp79 |
| 15554 | |
| 15555 | endif82: ; preds = %if63 |
| 15556 | %tmp86 = add i32 %i.0, 1 ; <i32> [#uses=2] |
| 15557 | br label %foreachcond |
| 15558 | |
| 15559 | endif: ; 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 | |
| 15575 | if106: ; preds = %endif |
| 15576 | %tmp112 = call fastcc i32 %dg_arg116(i8* %dg_arg115, %"byte[]"* %token) ; <i32> [#uses=1] |
| 15577 | ret i32 %tmp112 |
| 15578 | |
| 15579 | endif107: ; preds = %endif |
| 15580 | ret i32 %ret.1 |
| 15581 | } |
| 15582 | |
| 15583 | define weak_odr fastcc void @_D5tango4text5Regex56__T5StackTE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorZ5Stack4pushMFE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorZv(%"tango.text.Regex.Stack!(Operator).Stack"* nocapture %.this_arg, i32 %v_arg) { |
| 15584 | entry: |
| 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 | |
| 15592 | entry.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 | |
| 15596 | if: ; 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 | |
| 15609 | endif: ; 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 | |
| 15621 | define weak_odr fastcc void @_D5tango4text5Regex56__T5StackTE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorZ5Stack11opCatAssignMFAE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorZv(%"tango.text.Regex.Stack!(Operator).Stack"* nocapture %.this_arg, %"Act[]" %vs_arg) { |
| 15622 | entry: |
| 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 | |
| 15633 | entry.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 | |
| 15637 | if: ; 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 | |
| 15649 | endif: ; 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 | |
| 15663 | define weak_odr fastcc void @_D5tango4text5Regex56__T5StackTE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorZ5Stack3popMFkZv(%"tango.text.Regex.Stack!(Operator).Stack"* nocapture %.this_arg, i32 %num_arg) nounwind { |
| 15664 | entry: |
| 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 | |
| 15672 | define weak_odr fastcc i32 @_D5tango4text5Regex56__T5StackTE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorZ5Stack3popMFZE5tango4text5Regex11__T4TNFATwZ4TNFA8Operator(%"tango.text.Regex.Stack!(Operator).Stack"* nocapture %.this_arg) nounwind { |
| 15673 | entry: |
| 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 | |
| 15685 | define weak_odr fastcc i32 @_D5tango4text5Regex56__T5StackTE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorZ5Stack3topMFZE5tango4text5Regex11__T4TNFATwZ4TNFA8Operator(%"tango.text.Regex.Stack!(Operator).Stack"* nocapture %.this_arg) nounwind readonly { |
| 15686 | entry: |
| 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 | |
| 15697 | define weak_odr fastcc i32* @_D5tango4text5Regex56__T5StackTE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorZ5Stack6topPtrMFZPE5tango4text5Regex11__T4TNFATwZ4TNFA8Operator(%"tango.text.Regex.Stack!(Operator).Stack"* nocapture %.this_arg) nounwind readonly { |
| 15698 | entry: |
| 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 | |
| 15708 | define weak_odr fastcc i1 @_D5tango4text5Regex56__T5StackTE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorZ5Stack5emptyMFZb(%"tango.text.Regex.Stack!(Operator).Stack"* nocapture %.this_arg) nounwind readonly { |
| 15709 | entry: |
| 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 | |
| 15716 | define weak_odr fastcc void @_D5tango4text5Regex56__T5StackTE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorZ5Stack5clearMFZv(%"tango.text.Regex.Stack!(Operator).Stack"* nocapture %.this_arg) nounwind { |
| 15717 | entry: |
| 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 | |
| 15723 | define weak_odr fastcc i32 @_D5tango4text5Regex56__T5StackTE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorZ5Stack6lengthMFZk(%"tango.text.Regex.Stack!(Operator).Stack"* nocapture %.this_arg) nounwind readonly { |
| 15724 | entry: |
| 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 | |
| 15730 | define weak_odr fastcc %"Act[]" @_D5tango4text5Regex56__T5StackTE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorZ5Stack5arrayMFZAE5tango4text5Regex11__T4TNFATwZ4TNFA8Operator(%"tango.text.Regex.Stack!(Operator).Stack"* nocapture %.this_arg) nounwind readonly { |
| 15731 | entry: |
| 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 | |
| 15741 | define weak_odr fastcc i32 @_D5tango4text5Regex56__T5StackTE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorZ5Stack7opIndexMFkZE5tango4text5Regex11__T4TNFATwZ4TNFA8Operator(%"tango.text.Regex.Stack!(Operator).Stack"* nocapture %.this_arg, i32 %i_arg) nounwind readonly { |
| 15742 | entry: |
| 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 | |
| 15750 | define weak_odr fastcc void @_D5tango4text5Regex56__T5StackTE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorZ5Stack3dupMFZS5tango4text5Regex56__T5StackTE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorZ5Stack(%"tango.text.Regex.Stack!(Operator).Stack"* noalias nocapture sret %.sret_arg, %"tango.text.Regex.Stack!(Operator).Stack"* nocapture %.this_arg) { |
| 15751 | entry: |
| 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 | |
| 15774 | define weak_odr fastcc void @_D5tango4text5Regex12__T5StackTkZ5Stack4pushMFkZv(%"tango.text.Regex.Stack!(Operator).Stack"* nocapture %.this_arg, i32 %v_arg) { |
| 15775 | entry: |
| 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 | |
| 15783 | entry.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 | |
| 15787 | if: ; 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 | |
| 15800 | endif: ; 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 | |
| 15812 | define weak_odr fastcc void @_D5tango4text5Regex12__T5StackTkZ5Stack11opCatAssignMFAkZv(%"tango.text.Regex.Stack!(Operator).Stack"* nocapture %.this_arg, %"Act[]" %vs_arg) { |
| 15813 | entry: |
| 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 | |
| 15824 | entry.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 | |
| 15828 | if: ; 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 | |
| 15840 | endif: ; 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 | |
| 15854 | define weak_odr fastcc void @_D5tango4text5Regex12__T5StackTkZ5Stack3popMFkZv(%"tango.text.Regex.Stack!(Operator).Stack"* nocapture %.this_arg, i32 %num_arg) nounwind { |
| 15855 | entry: |
| 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 | |
| 15863 | define weak_odr fastcc i32 @_D5tango4text5Regex12__T5StackTkZ5Stack3popMFZk(%"tango.text.Regex.Stack!(Operator).Stack"* nocapture %.this_arg) nounwind { |
| 15864 | entry: |
| 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 | |
| 15876 | define weak_odr fastcc i32 @_D5tango4text5Regex12__T5StackTkZ5Stack3topMFZk(%"tango.text.Regex.Stack!(Operator).Stack"* nocapture %.this_arg) nounwind readonly { |
| 15877 | entry: |
| 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 | |
| 15888 | define weak_odr fastcc i32* @_D5tango4text5Regex12__T5StackTkZ5Stack6topPtrMFZPk(%"tango.text.Regex.Stack!(Operator).Stack"* nocapture %.this_arg) nounwind readonly { |
| 15889 | entry: |
| 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 | |
| 15899 | define weak_odr fastcc i1 @_D5tango4text5Regex12__T5StackTkZ5Stack5emptyMFZb(%"tango.text.Regex.Stack!(Operator).Stack"* nocapture %.this_arg) nounwind readonly { |
| 15900 | entry: |
| 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 | |
| 15907 | define weak_odr fastcc void @_D5tango4text5Regex12__T5StackTkZ5Stack5clearMFZv(%"tango.text.Regex.Stack!(Operator).Stack"* nocapture %.this_arg) nounwind { |
| 15908 | entry: |
| 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 | |
| 15914 | define weak_odr fastcc i32 @_D5tango4text5Regex12__T5StackTkZ5Stack6lengthMFZk(%"tango.text.Regex.Stack!(Operator).Stack"* nocapture %.this_arg) nounwind readonly { |
| 15915 | entry: |
| 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 | |
| 15921 | define weak_odr fastcc %"Act[]" @_D5tango4text5Regex12__T5StackTkZ5Stack5arrayMFZAk(%"tango.text.Regex.Stack!(Operator).Stack"* nocapture %.this_arg) nounwind readonly { |
| 15922 | entry: |
| 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 | |
| 15932 | define weak_odr fastcc i32 @_D5tango4text5Regex12__T5StackTkZ5Stack7opIndexMFkZk(%"tango.text.Regex.Stack!(Operator).Stack"* nocapture %.this_arg, i32 %i_arg) nounwind readonly { |
| 15933 | entry: |
| 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 | |
| 15941 | define weak_odr fastcc void @_D5tango4text5Regex12__T5StackTkZ5Stack3dupMFZS5tango4text5Regex12__T5StackTkZ5Stack(%"tango.text.Regex.Stack!(Operator).Stack"* noalias nocapture sret %.sret_arg, %"tango.text.Regex.Stack!(Operator).Stack"* nocapture %.this_arg) { |
| 15942 | entry: |
| 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 | |
| 15961 | define weak_odr fastcc void @_D5tango4text5Regex11__T4PairTkZ4Pair6opCallFkkZS5tango4text5Regex11__T4PairTkZ4Pair(%tango.net.Socket.timeval* noalias nocapture sret %.sret_arg, i32 %a_arg, i32 %b_arg) nounwind { |
| 15962 | entry: |
| 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 | |
| 15972 | define weak_odr fastcc void @_D5tango4text5Regex47__T5StackTS5tango4text5Regex11__T4PairTkZ4PairZ5Stack4pushMFS5tango4text5Regex11__T4PairTkZ4PairZv(%"tango.text.Regex.Stack!(Pair!(uint)).Stack"* nocapture %.this_arg, %tango.net.Socket.timeval* nocapture byval %v_arg) { |
| 15973 | entry: |
| 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 | |
| 15981 | entry.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 | |
| 15985 | if: ; 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 | |
| 15998 | endif: ; 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 | |
| 16013 | define weak_odr fastcc void @_D5tango4text5Regex47__T5StackTS5tango4text5Regex11__T4PairTkZ4PairZ5Stack11opCatAssignMFAS5tango4text5Regex11__T4PairTkZ4PairZv(%"tango.text.Regex.Stack!(Pair!(uint)).Stack"* nocapture %.this_arg, %"CharRange!(dchar)[]" %vs_arg) { |
| 16014 | entry: |
| 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 | |
| 16025 | entry.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 | |
| 16029 | if: ; 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 | |
| 16041 | endif: ; 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 | |
| 16055 | define weak_odr fastcc void @_D5tango4text5Regex47__T5StackTS5tango4text5Regex11__T4PairTkZ4PairZ5Stack3popMFkZv(%"tango.text.Regex.Stack!(Pair!(uint)).Stack"* nocapture %.this_arg, i32 %num_arg) nounwind { |
| 16056 | entry: |
| 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 | |
| 16064 | define weak_odr fastcc void @_D5tango4text5Regex47__T5StackTS5tango4text5Regex11__T4PairTkZ4PairZ5Stack3popMFZS5tango4text5Regex11__T4PairTkZ4Pair(%tango.net.Socket.timeval* noalias nocapture sret %.sret_arg, %"tango.text.Regex.Stack!(Pair!(uint)).Stack"* nocapture %.this_arg) nounwind { |
| 16065 | entry: |
| 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 | |
| 16080 | define weak_odr fastcc void @_D5tango4text5Regex47__T5StackTS5tango4text5Regex11__T4PairTkZ4PairZ5Stack3topMFZS5tango4text5Regex11__T4PairTkZ4Pair(%tango.net.Socket.timeval* noalias nocapture sret %.sret_arg, %"tango.text.Regex.Stack!(Pair!(uint)).Stack"* nocapture %.this_arg) nounwind { |
| 16081 | entry: |
| 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 | |
| 16095 | define weak_odr fastcc %tango.net.Socket.timeval* @_D5tango4text5Regex47__T5StackTS5tango4text5Regex11__T4PairTkZ4PairZ5Stack6topPtrMFZPS5tango4text5Regex11__T4PairTkZ4Pair(%"tango.text.Regex.Stack!(Pair!(uint)).Stack"* nocapture %.this_arg) nounwind readonly { |
| 16096 | entry: |
| 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 | |
| 16106 | define weak_odr fastcc i1 @_D5tango4text5Regex47__T5StackTS5tango4text5Regex11__T4PairTkZ4PairZ5Stack5emptyMFZb(%"tango.text.Regex.Stack!(Pair!(uint)).Stack"* nocapture %.this_arg) nounwind readonly { |
| 16107 | entry: |
| 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 | |
| 16114 | define weak_odr fastcc void @_D5tango4text5Regex47__T5StackTS5tango4text5Regex11__T4PairTkZ4PairZ5Stack5clearMFZv(%"tango.text.Regex.Stack!(Pair!(uint)).Stack"* nocapture %.this_arg) nounwind { |
| 16115 | entry: |
| 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 | |
| 16121 | define weak_odr fastcc i32 @_D5tango4text5Regex47__T5StackTS5tango4text5Regex11__T4PairTkZ4PairZ5Stack6lengthMFZk(%"tango.text.Regex.Stack!(Pair!(uint)).Stack"* nocapture %.this_arg) nounwind readonly { |
| 16122 | entry: |
| 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 | |
| 16128 | define weak_odr fastcc %"CharRange!(dchar)[]" @_D5tango4text5Regex47__T5StackTS5tango4text5Regex11__T4PairTkZ4PairZ5Stack5arrayMFZAS5tango4text5Regex11__T4PairTkZ4Pair(%"tango.text.Regex.Stack!(Pair!(uint)).Stack"* nocapture %.this_arg) nounwind readonly { |
| 16129 | entry: |
| 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 | |
| 16139 | define weak_odr fastcc void @_D5tango4text5Regex47__T5StackTS5tango4text5Regex11__T4PairTkZ4PairZ5Stack7opIndexMFkZS5tango4text5Regex11__T4PairTkZ4Pair(%tango.net.Socket.timeval* noalias nocapture sret %.sret_arg, %"tango.text.Regex.Stack!(Pair!(uint)).Stack"* nocapture %.this_arg, i32 %i_arg) nounwind { |
| 16140 | entry: |
| 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 | |
| 16151 | define weak_odr fastcc void @_D5tango4text5Regex47__T5StackTS5tango4text5Regex11__T4PairTkZ4PairZ5Stack3dupMFZS5tango4text5Regex47__T5StackTS5tango4text5Regex11__T4PairTkZ4PairZ5Stack(%"tango.text.Regex.Stack!(Pair!(uint)).Stack"* noalias nocapture sret %.sret_arg, %"tango.text.Regex.Stack!(Pair!(uint)).Stack"* nocapture %.this_arg) { |
| 16152 | entry: |
| 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 | |
| 16171 | define weak_odr fastcc void @_D5tango4text5Regex69__T5StackTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ5Stack4pushMFC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZv(%"tango.text.Regex.Stack!(TNFATransition).Stack"* nocapture %.this_arg, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* %v_arg) { |
| 16172 | entry: |
| 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 | |
| 16180 | entry.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 | |
| 16184 | if: ; 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 | |
| 16197 | endif: ; 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 | |
| 16209 | define weak_odr fastcc void @_D5tango4text5Regex69__T5StackTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ5Stack11opCatAssignMFAC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZv(%"tango.text.Regex.Stack!(TNFATransition).Stack"* nocapture %.this_arg, %"TNFATransition[]" %vs_arg) { |
| 16210 | entry: |
| 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 | |
| 16221 | entry.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 | |
| 16225 | if: ; 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 | |
| 16237 | endif: ; 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 | |
| 16251 | define weak_odr fastcc void @_D5tango4text5Regex69__T5StackTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ5Stack3popMFkZv(%"tango.text.Regex.Stack!(TNFATransition).Stack"* nocapture %.this_arg, i32 %num_arg) nounwind { |
| 16252 | entry: |
| 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 | |
| 16260 | define weak_odr fastcc %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* @_D5tango4text5Regex69__T5StackTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ5Stack3popMFZC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransition(%"tango.text.Regex.Stack!(TNFATransition).Stack"* nocapture %.this_arg) nounwind { |
| 16261 | entry: |
| 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 | |
| 16273 | define weak_odr fastcc %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* @_D5tango4text5Regex69__T5StackTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ5Stack3topMFZC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransition(%"tango.text.Regex.Stack!(TNFATransition).Stack"* nocapture %.this_arg) nounwind readonly { |
| 16274 | entry: |
| 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 | |
| 16285 | define weak_odr fastcc %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** @_D5tango4text5Regex69__T5StackTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ5Stack6topPtrMFZPC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransition(%"tango.text.Regex.Stack!(TNFATransition).Stack"* nocapture %.this_arg) nounwind readonly { |
| 16286 | entry: |
| 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 | |
| 16296 | define weak_odr fastcc i1 @_D5tango4text5Regex69__T5StackTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ5Stack5emptyMFZb(%"tango.text.Regex.Stack!(TNFATransition).Stack"* nocapture %.this_arg) nounwind readonly { |
| 16297 | entry: |
| 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 | |
| 16304 | define weak_odr fastcc void @_D5tango4text5Regex69__T5StackTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ5Stack5clearMFZv(%"tango.text.Regex.Stack!(TNFATransition).Stack"* nocapture %.this_arg) nounwind { |
| 16305 | entry: |
| 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 | |
| 16311 | define weak_odr fastcc i32 @_D5tango4text5Regex69__T5StackTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ5Stack6lengthMFZk(%"tango.text.Regex.Stack!(TNFATransition).Stack"* nocapture %.this_arg) nounwind readonly { |
| 16312 | entry: |
| 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 | |
| 16318 | define weak_odr fastcc %"TNFATransition[]" @_D5tango4text5Regex69__T5StackTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ5Stack5arrayMFZAC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransition(%"tango.text.Regex.Stack!(TNFATransition).Stack"* nocapture %.this_arg) nounwind readonly { |
| 16319 | entry: |
| 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 | |
| 16329 | define weak_odr fastcc %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"* @_D5tango4text5Regex69__T5StackTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ5Stack7opIndexMFkZC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransition(%"tango.text.Regex.Stack!(TNFATransition).Stack"* nocapture %.this_arg, i32 %i_arg) nounwind readonly { |
| 16330 | entry: |
| 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 | |
| 16338 | define weak_odr fastcc void @_D5tango4text5Regex69__T5StackTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ5Stack3dupMFZS5tango4text5Regex69__T5StackTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ5Stack(%"tango.text.Regex.Stack!(TNFATransition).Stack"* noalias nocapture sret %.sret_arg, %"tango.text.Regex.Stack!(TNFATransition).Stack"* nocapture %.this_arg) { |
| 16339 | entry: |
| 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 | |
| 16358 | declare i8* @llvm.eh.exception() nounwind |
| 16359 | |
| 16360 | declare i32 @_d_eh_personality(i32, i32, i64, i8*, i8*) |
| 16361 | |
| 16362 | declare i32 @llvm.eh.selector.i32(i8*, i8*, ...) nounwind |
| 16363 | |
| 16364 | declare void @_d_eh_resume_unwind(i8*) |
| 16365 | |
| 16366 | declare noalias i8* @_d_allocmemoryT(%object.TypeInfo*) |
| 16367 | |
| 16368 | declare void @llvm.memcpy.i32(i8* nocapture, i8* nocapture, i32, i32) nounwind |
| 16369 | |
| 16370 | declare noalias i8* @_d_newarrayiT(%object.TypeInfo*, i32) |
| 16371 | |
| 16372 | declare noalias i8* @_d_allocclass(%object.ClassInfo*) |
| 16373 | |
| 16374 | declare void @_d_throw_exception(%object.Object*) |
| 16375 | |
| 16376 | declare i32 @_adEq(%"byte[]", %"byte[]", %object.TypeInfo*) readonly |
| 16377 | |
| 16378 | declare void @_d_delarray(i32, i8*) |
| 16379 | |
| 16380 | declare void @_d_delclass(%object.Object*) |
| 16381 | |
| 16382 | declare fastcc %tango.net.Socket.IPv4Address* @_D5tango3net6Socket11IPv4Address5_ctorMFAaiZC5tango3net6Socket11IPv4Address(%tango.net.Socket.IPv4Address*, %"byte[]", i32) |
| 16383 | |
| 16384 | declare noalias i8* @_d_newarrayvT(%object.TypeInfo*, i32) |
| 16385 | |
| 16386 | declare i8* @_d_arraysetlengthiT(%object.TypeInfo*, i32, i32, i8*) |
| 16387 | |
| 16388 | declare fastcc void @_D5tango4time5Clock5Clock3nowFZS5tango4time4Time4Time(%tango.time.Time.Time* noalias nocapture sret) |
| 16389 | |
| 16390 | declare %object.Object* @_d_dynamic_cast(%object.Object*, %object.ClassInfo*) nounwind readonly |
| 16391 | |
| 16392 | declare fastcc void @_D5tango3net6Socket6Socket10initializeMFT5tango3net6Socket8socket_tZv(%tango.net.Socket.Socket*, i32) |
| 16393 | |
| 16394 | declare fastcc i32 @_D5tango3net6Socket6Socket6selectFC5tango3net6Socket9SocketSetC5tango3net6Socket9SocketSetC5tango3net6Socket9SocketSetPS5tango3net6Socket7timevalZi(%tango.net.Socket.SocketSet*, %tango.net.Socket.SocketSet*, %tango.net.Socket.SocketSet*, %tango.net.Socket.timeval*) |
| 16395 | |
| 16396 | declare void @llvm.memset.i32(i8* nocapture, i8, i32, i32) nounwind |
| 16397 | |
| 16398 | declare %object.Object* @_d_toObject(i8*) nounwind readonly |
| 16399 | |
| 16400 | declare %"byte[]" @_adDupT(%object.TypeInfo*, %"byte[]") |
| 16401 | |
| 16402 | declare i8* @_aaGet(%32* nocapture, %object.TypeInfo*, i32, i8* nocapture) |
| 16403 | |
| 16404 | declare fastcc %"byte[]" @_D5tango4text5Ascii7toLowerFAaAaZAa(%"byte[]", %"byte[]") |
| 16405 | |
| 16406 | declare i8* @_aaIn(%32* nocapture, %object.TypeInfo*, i8* nocapture) readonly |
| 16407 | |
| 16408 | declare i32 @_d_switch_string(%"char[][]", %"byte[]") readonly |
| 16409 | |
| 16410 | declare fastcc %"tango.text.convert.Layout.Layout!(char).Layout"* @_D5tango4text7convert6Layout13__T6LayoutTaZ6Layout8instanceFZC5tango4text7convert6Layout13__T6LayoutTaZ6Layout() |
| 16411 | |
| 16412 | define weak_odr fastcc i1 @_D5tango4text5Regex11__T4TNFATwZ4TNFA5parseMFbZv7performMFE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorbZb(i8* %.nest_arg, i32 %next_op_arg, i1 %explicit_operator_arg) { |
| 16413 | entry: |
| 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 | |
| 16437 | case: ; 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 | |
| 16444 | if.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 | |
| 16466 | if: ; 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 | |
| 16481 | entry.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 | |
| 16487 | if.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 | |
| 16516 | case30: ; 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 | |
| 16533 | case37: ; 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 | |
| 16543 | case44: ; 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 | |
| 16553 | case52: ; 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 | |
| 16563 | case60: ; 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 | |
| 16573 | case68: ; 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 | |
| 16583 | case76: ; 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 | |
| 16593 | case84: ; 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 | |
| 16603 | case92: ; 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 | |
| 16613 | case100: ; 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 | |
| 16623 | case108: ; 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 | |
| 16633 | case116: ; 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 | |
| 16643 | case124: ; 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 | |
| 16667 | case142: ; 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 | |
| 16691 | default163: ; 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 | |
| 16741 | switchend33: ; 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 | |
| 16748 | case204: ; preds = %entry |
| 16749 | store i32 %tmp5.i, i32* %tmp3.i |
| 16750 | ret i1 false |
| 16751 | |
| 16752 | case209: ; preds = %entry |
| 16753 | %tmp213 = icmp eq i32 %tmp8.i, 3 ; <i1> [#uses=1] |
| 16754 | br i1 %tmp213, label %if214, label %else |
| 16755 | |
| 16756 | if214: ; 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 | |
| 16763 | if219: ; 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 | |
| 16812 | endif220: ; 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 | |
| 16831 | else: ; 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 | |
| 16841 | endif215: ; 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 | |
| 16847 | case284: ; preds = %entry |
| 16848 | ret i1 true |
| 16849 | |
| 16850 | default286: ; 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 | |
| 16905 | switchend: ; preds = %_D5tango4text5Regex56__T5StackTE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorZ5Stack4pushMFE5tango4text5Regex11__T4TNFATwZ4TNFA8OperatorZv.exit |
| 16906 | ret i1 false |
| 16907 | } |
| 16908 | |
| 16909 | declare fastcc %"byte[]" @_D5tango4text7convert3Utf8toStringFAwAaPkZAa(%"Act[]", %"byte[]", i32*) |
| 16910 | |
| 16911 | define weak_odr fastcc i32 @_D5tango4text5Regex11__T4TNFATwZ4TNFA5parseMFbZv15__foreachbody44MFKC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZi(i8* nocapture %.nest_arg, %"tango.text.Regex.TNFAFragment!(dchar).TNFAFragment"** nocapture %__applyArg0_arg) { |
| 16912 | entry: |
| 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 | |
| 16934 | define weak_odr fastcc i32 @_D5tango4text5Regex11__T4TNFATwZ4TNFA5parseMFbZv15__foreachbody45MFKC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZi(i8* nocapture %.nest_arg, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** nocapture %__applyArg0_arg) { |
| 16935 | entry: |
| 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 | |
| 16946 | entry.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 | |
| 16952 | if.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 | |
| 16977 | define weak_odr fastcc i32 @_D5tango4text5Regex11__T4TNFATwZ4TNFA5parseMFbZv15__foreachbody46MFKC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZi(i8* nocapture %.nest_arg, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** nocapture %__applyArg0_arg) nounwind { |
| 16978 | entry: |
| 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 | |
| 16990 | declare fastcc i32 @_D5tango4text5Regex6decodeFAwKkZw(%"Act[]", i32*) |
| 16991 | |
| 16992 | declare i8* @_d_arraysetlengthT(%object.TypeInfo*, i32, i32, i8*) |
| 16993 | |
| 16994 | define weak_odr fastcc i32 @_D5tango4text5Regex11__T4TNFATwZ4TNFA5cloneMFC5tango4text5Regex16__T9TNFAStateTwZ9TNFAStateZC5tango4text5Regex16__T9TNFAStateTwZ9TNFAState15__foreachbody47MFKC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZi(i8* nocapture %.nest_arg, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** nocapture %__applyArg0_arg) { |
| 16995 | entry: |
| 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 | |
| 17013 | define weak_odr fastcc i32 @_D5tango4text5Regex11__T4TNFATwZ4TNFA5cloneMFC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment15__foreachbody48MFKC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZi(i8* nocapture %.nest_arg, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** nocapture %__applyArg0_arg) { |
| 17014 | entry: |
| 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 | |
| 17032 | define weak_odr fastcc i32 @_D5tango4text5Regex11__T4TNFATwZ4TNFA5cloneMFC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment15__foreachbody49MFKC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZi(i8* nocapture %.nest_arg, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** nocapture %__applyArg0_arg) { |
| 17033 | entry: |
| 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 | |
| 17051 | define weak_odr fastcc i32 @_D5tango4text5Regex11__T4TNFATwZ4TNFA5cloneMFC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment15__foreachbody50MFKC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZi(i8* nocapture %.nest_arg, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** nocapture %__applyArg0_arg) { |
| 17052 | entry: |
| 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 | |
| 17070 | define weak_odr fastcc i32 @_D5tango4text5Regex11__T4TNFATwZ4TNFA5cloneMFC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment15__foreachbody51MFKC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZi(i8* nocapture %.nest_arg, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** nocapture %__applyArg0_arg) { |
| 17071 | entry: |
| 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 | |
| 17089 | define weak_odr fastcc i32 @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List11insertAfterMFC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZC5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List15__foreachbody52MFKC5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7ElementZi(i8* nocapture %.nest_arg, %"tango.text.Regex.List!(TNFATransition).List.Element"** nocapture %__applyArg0_arg) { |
| 17090 | entry: |
| 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 | |
| 17100 | if: ; 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 | |
| 17116 | endif: ; preds = %entry |
| 17117 | ret i32 0 |
| 17118 | } |
| 17119 | |
| 17120 | define weak_odr fastcc i32 @_D5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List12insertBeforeMFC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZC5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List15__foreachbody53MFKC5tango4text5Regex68__T4ListTC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZ4List7ElementZi(i8* nocapture %.nest_arg, %"tango.text.Regex.List!(TNFATransition).List.Element"** nocapture %__applyArg0_arg) { |
| 17121 | entry: |
| 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 | |
| 17131 | if: ; 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 | |
| 17147 | endif: ; preds = %entry |
| 17148 | ret i32 0 |
| 17149 | } |
| 17150 | |
| 17151 | define weak_odr fastcc i32 @_D5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment8setEntryMFC5tango4text5Regex16__T9TNFAStateTwZ9TNFAStateZv15__foreachbody54MFKC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZi(i8* nocapture %.nest_arg, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** nocapture %__applyArg0_arg) nounwind { |
| 17152 | entry: |
| 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 | |
| 17161 | define weak_odr fastcc i32 @_D5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragment7setExitMFC5tango4text5Regex16__T9TNFAStateTwZ9TNFAStateZv15__foreachbody55MFKC5tango4text5Regex22__T14TNFATransitionTwZ14TNFATransitionZi(i8* nocapture %.nest_arg, %"tango.text.Regex.TNFATransition!(dchar).TNFATransition"** nocapture %__applyArg0_arg) nounwind { |
| 17162 | entry: |
| 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 | |
| 17171 | define weak_odr fastcc i32 @_D5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List11insertAfterMFC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZC5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List15__foreachbody56MFKC5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List7ElementZi(i8* nocapture %.nest_arg, %"tango.text.Regex.List!(TNFAFragment).List.Element"** nocapture %__applyArg0_arg) { |
| 17172 | entry: |
| 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 | |
| 17182 | if: ; 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 | |
| 17198 | endif: ; preds = %entry |
| 17199 | ret i32 0 |
| 17200 | } |
| 17201 | |
| 17202 | define weak_odr fastcc i32 @_D5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List12insertBeforeMFC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZC5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List15__foreachbody57MFKC5tango4text5Regex64__T4ListTC5tango4text5Regex20__T12TNFAFragmentTwZ12TNFAFragmentZ4List7ElementZi(i8* nocapture %.nest_arg, %"tango.text.Regex.List!(TNFAFragment).List.Element"** nocapture %__applyArg0_arg) { |
| 17203 | entry: |
| 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 | |
| 17213 | if: ; 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 | |
| 17229 | endif: ; preds = %entry |
| 17230 | ret i32 0 |
| 17231 | } |
| 17232 | |
| 17233 | define weak_odr fastcc i32 @_D5tango4text4Util18__T10splitLinesTaZ10splitLinesFAaZAAa15__foreachbody41MFKAaZi(i8* nocapture %.nest_arg, %"byte[]"* nocapture %__applyArg0_arg) nounwind { |
| 17234 | entry: |
| 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 | |
| 17242 | declare noalias i8* @_d_newarrayT(%object.TypeInfo*, i32) |
| 17243 | |
| 17244 | define weak_odr fastcc i32 @_D5tango4text4Util18__T10splitLinesTaZ10splitLinesFAaZAAa15__foreachbody42MFKAaZi(i8* nocapture %.nest_arg, %"byte[]"* nocapture %__applyArg0_arg) nounwind { |
| 17245 | entry: |
| 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 | |
| 17259 | define weak_odr fastcc i1 @_D5tango4text7convert9TimeStamp14__T7dostimeTaZ7dostimeFAaKS5tango4time4Time4TimeZi2dtMFKPaZb(i8* nocapture %.nest_arg, i8** nocapture %p_arg) nounwind { |
| 17260 | entry: |
| 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 | |
| 17266 | whilecond.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 | |
| 17274 | whilebody.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 | |
| 17289 | andand: ; 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 | |
| 17297 | andand9: ; 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 | |
| 17302 | whilecond.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 | |
| 17310 | whilebody.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 | |
| 17325 | andand16: ; 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 | |
| 17333 | andand23: ; 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 | |
| 17338 | whilecond.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 | |
| 17346 | whilebody.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 | |
| 17361 | andandend10: ; preds = %andand16, %_D5tango4text7convert9TimeStamp15__T8parseIntTaZ8parseIntFKPaZi.exit70, %andand, %_D5tango4text7convert9TimeStamp15__T8parseIntTaZ8parseIntFKPaZi.exit |
| 17362 | ret i1 false |
| 17363 | } |
| 17364 | |
| 17365 | define weak_odr fastcc i32 @_D5tango4text4Util14__T7delimitTaZ7delimitFAaAaZAAa15__foreachbody43MFKAaZi(i8* nocapture %.nest_arg, %"byte[]"* nocapture %__applyArg0_arg) { |
| 17366 | entry: |
| 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 | |
| 17384 | declare fastcc %"tango.text.Regex.RegExpT!(char).RegExpT"* @_D5tango4text5Regex14__T7RegExpTTaZ7RegExpT5_ctorMFAabbbZC5tango4text5Regex14__T7RegExpTTaZ7RegExpT(%"tango.text.Regex.RegExpT!(char).RegExpT"*, %"byte[]", i1, i1, i1) |
| 17385 | |
| 17386 | declare fastcc %"byte[]" @_D5tango4text7convert6Layout13__T6LayoutTaZ6Layout7convertMFAC8TypeInfoPvAaZAa(%"tango.text.convert.Layout.Layout!(char).Layout"*, %"TypeInfo[]", i8*, %"byte[]") |
| 17387 | |
| 17388 | declare i32 @strncasecmp(i8*, i8*, i32) |
| 17389 | |
| 17390 | define internal void @_D5tango3net3ftp9FtpClient16__moduleinfoCtorZ() nounwind { |
| 17391 | moduleinfoCtorEntry: |
| 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 | } |