Skip to content

Instantly share code, notes, and snippets.

@michaelwoerister
Last active October 14, 2016 18:08
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save michaelwoerister/8dba37e51a4dc17413229770081d2c76 to your computer and use it in GitHub Desktop.
Save michaelwoerister/8dba37e51a4dc17413229770081d2c76 to your computer and use it in GitHub Desktop.
; ModuleID = './bugpoint-reduced-instructions.bc'
source_filename = "bugpoint-output-b1d2082.bc"
target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"
%closure.189.3.10 = type { i64*, %"sys::ext::net::UnixDatagram.2.9"**, { i8*, i64 }* }
%"sys::ext::net::UnixDatagram.2.9" = type { %"sys::net::Socket.1.8" }
%"sys::net::Socket.1.8" = type { %"sys::fd::FileDesc.0.7" }
%"sys::fd::FileDesc.0.7" = type { i32 }
%"6.libc::sockaddr.4.11" = type { i16, [14 x i8] }
%"7.unwind::_Unwind_Exception.5.12" = type { i64, void (i32, %"7.unwind::_Unwind_Exception.5.12"*)*, [6 x i64] }
%"7.unwind::_Unwind_Context.6.13" = type {}
; Function Attrs: inlinehint uwtable
define internal i32 @"_ZN3std3sys3ext3net12UnixDatagram9recv_from28_$u7b$$u7b$closure$u7d$$u7d$17h72cdd51aa537d10aE"(%closure.189.3.10* noalias nocapture dereferenceable(24), %"6.libc::sockaddr.4.11"*, i32*) unnamed_addr #0 !dbg !313 {
entry-block:
%arg0 = alloca %closure.189.3.10
%3 = bitcast %closure.189.3.10* %arg0 to i8*
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %3, i8* undef, i64 24, i32 8, i1 false)
call void @llvm.dbg.declare(metadata %closure.189.3.10* %arg0, metadata !359, metadata !367), !dbg !368
%4 = getelementptr inbounds %closure.189.3.10, %closure.189.3.10* %arg0, i32 0, i32 2, !dbg !369
%5 = load { i8*, i64 }*, { i8*, i64 }** %4, !dbg !369, !nonnull !311
ret i32 0
}
; Function Attrs: nounwind
declare i64 @recvfrom(i32, i8*, i64, i32, %"6.libc::sockaddr.4.11"*, i32*) unnamed_addr #1
; Function Attrs: uwtable
declare dereferenceable(4) i32* @"_ZN77_$LT$std..sys..net..Socket$u20$as$u20$std..sys_common..AsInner$LT$i32$GT$$GT$8as_inner17h156d100abcf0c611E"(%"sys::net::Socket.1.8"* noalias readonly dereferenceable(4)) unnamed_addr #2
; Function Attrs: inlinehint uwtable
declare i8* @"_ZN11collections5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$10as_mut_ptr17h698ddba8bc9abfc0E"(i8* nonnull, i64) unnamed_addr #0
; Function Attrs: inlinehint uwtable
declare i64 @"_ZN11collections5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$3len17h960427f0cc6f4c8cE"(i8* noalias nonnull readonly, i64) unnamed_addr #0
; Function Attrs: nounwind readnone
declare void @llvm.dbg.declare(metadata, metadata, metadata) #3
; Function Attrs: argmemonly nounwind
declare void @llvm.lifetime.start(i64, i8* nocapture) #4
; Function Attrs: nounwind
declare void @llvm.assume(i1) #5
; Function Attrs: argmemonly nounwind
declare void @llvm.lifetime.end(i64, i8* nocapture) #4
; Function Attrs: nounwind
declare i32 @rust_eh_personality(i32, i32, i64, %"7.unwind::_Unwind_Exception.5.12"*, %"7.unwind::_Unwind_Context.6.13"*) unnamed_addr #1
; Function Attrs: argmemonly nounwind
declare void @llvm.memcpy.p0i8.p0i8.i64(i8* nocapture writeonly, i8* nocapture readonly, i64, i32, i1) #4
attributes #0 = { inlinehint uwtable "no-frame-pointer-elim"="true" }
attributes #1 = { nounwind "no-frame-pointer-elim"="true" }
attributes #2 = { uwtable "no-frame-pointer-elim"="true" }
attributes #3 = { nounwind readnone }
attributes #4 = { argmemonly nounwind }
attributes #5 = { nounwind }
!llvm.dbg.cu = !{!0}
!llvm.module.flags = !{!312}
!0 = distinct !DICompileUnit(language: DW_LANG_Rust, file: !1, producer: "rustc version 1.14.0-dev (8d5b523eb 2016-10-13)", isOptimized: true, runtimeVersion: 0, emissionKind: FullDebug, enums: !2, globals: !311)
!1 = !DIFile(filename: "./src/libstd/lib.rs", directory: "/home/mw/rust")
!2 = !{!3, !11, !17, !24, !26, !35, !36, !43, !45, !52, !59, !66, !67, !73, !74, !76, !81, !102, !110, !118, !127, !134, !139, !145, !150, !159, !168, !172, !179, !186, !192, !198, !205, !210, !219, !223, !229, !230, !234, !242, !246, !249, !255, !260, !264, !273, !278, !281, !295, !303, !307, !308}
!3 = !DICompositeType(tag: DW_TAG_enumeration_type, name: "Option", scope: !5, file: !4, baseType: !7, size: 64, align: 64, elements: !8)
!4 = !DIFile(filename: "<unknown>", directory: "")
!5 = !DINamespace(name: "option", scope: !6, file: !4)
!6 = !DINamespace(name: "core", scope: null, file: !4)
!7 = !DIBasicType(name: "u64", size: 64, align: 64, encoding: DW_ATE_unsigned)
!8 = !{!9, !10}
!9 = !DIEnumerator(name: "None", value: 0)
!10 = !DIEnumerator(name: "Some", value: 1)
!11 = !DICompositeType(tag: DW_TAG_enumeration_type, name: "Result", scope: !12, file: !4, baseType: !13, size: 8, align: 8, elements: !14)
!12 = !DINamespace(name: "result", scope: !6, file: !4)
!13 = !DIBasicType(name: "u8", size: 8, align: 8, encoding: DW_ATE_unsigned)
!14 = !{!15, !16}
!15 = !DIEnumerator(name: "Ok", value: 0)
!16 = !DIEnumerator(name: "Err", value: 1)
!17 = !DICompositeType(tag: DW_TAG_enumeration_type, name: "IntErrorKind", scope: !18, file: !4, baseType: !13, size: 8, align: 8, elements: !19)
!18 = !DINamespace(name: "num", scope: !6, file: !4)
!19 = !{!20, !21, !22, !23}
!20 = !DIEnumerator(name: "Empty", value: 0)
!21 = !DIEnumerator(name: "InvalidDigit", value: 1)
!22 = !DIEnumerator(name: "Overflow", value: 2)
!23 = !DIEnumerator(name: "Underflow", value: 3)
!24 = !DICompositeType(tag: DW_TAG_enumeration_type, name: "Result", scope: !12, file: !4, baseType: !25, size: 32, align: 32, elements: !14)
!25 = !DIBasicType(name: "u32", size: 32, align: 32, encoding: DW_ATE_unsigned)
!26 = !DICompositeType(tag: DW_TAG_enumeration_type, name: "SocketAddr", scope: !27, file: !4, baseType: !25, size: 32, align: 32, elements: !32)
!27 = !DINamespace(name: "addr", scope: !29, file: !28, line: 30)
!28 = !DIFile(filename: "/home/mw/rust/src/libstd/net/mod.rs", directory: "/home/mw/rust")
!29 = !DINamespace(name: "net", scope: !31, file: !30, line: 446)
!30 = !DIFile(filename: "/home/mw/rust/src/libstd/lib.rs", directory: "/home/mw/rust")
!31 = !DINamespace(name: "std", scope: null, file: !4)
!32 = !{!33, !34}
!33 = !DIEnumerator(name: "V4", value: 0)
!34 = !DIEnumerator(name: "V6", value: 1)
!35 = !DICompositeType(tag: DW_TAG_enumeration_type, name: "Result", scope: !12, file: !4, baseType: !7, size: 64, align: 64, elements: !14)
!36 = !DICompositeType(tag: DW_TAG_enumeration_type, name: "SearchStep", scope: !37, file: !4, baseType: !7, size: 64, align: 64, elements: !39)
!37 = !DINamespace(name: "pattern", scope: !38, file: !4)
!38 = !DINamespace(name: "str", scope: !6, file: !4)
!39 = !{!40, !41, !42}
!40 = !DIEnumerator(name: "Match", value: 0)
!41 = !DIEnumerator(name: "Reject", value: 1)
!42 = !DIEnumerator(name: "Done", value: 2)
!43 = !DICompositeType(tag: DW_TAG_enumeration_type, name: "Option", scope: !5, file: !4, baseType: !44, size: 16, align: 16, elements: !8)
!44 = !DIBasicType(name: "u16", size: 16, align: 16, encoding: DW_ATE_unsigned)
!45 = !DICompositeType(tag: DW_TAG_enumeration_type, name: "EscapeDefaultState", scope: !46, file: !4, baseType: !25, size: 32, align: 32, elements: !47)
!46 = !DINamespace(name: "char", scope: !6, file: !4)
!47 = !{!48, !49, !50, !51}
!48 = !DIEnumerator(name: "Done", value: 0)
!49 = !DIEnumerator(name: "Char", value: 1)
!50 = !DIEnumerator(name: "Backslash", value: 2)
!51 = !DIEnumerator(name: "Unicode", value: 3)
!52 = !DICompositeType(tag: DW_TAG_enumeration_type, name: "EscapeUnicodeState", scope: !46, file: !4, baseType: !13, size: 8, align: 8, elements: !53)
!53 = !{!48, !54, !55, !56, !57, !58}
!54 = !DIEnumerator(name: "RightBrace", value: 1)
!55 = !DIEnumerator(name: "Value", value: 2)
!56 = !DIEnumerator(name: "LeftBrace", value: 3)
!57 = !DIEnumerator(name: "Type", value: 4)
!58 = !DIEnumerator(name: "Backslash", value: 5)
!59 = !DICompositeType(tag: DW_TAG_enumeration_type, name: "Maybe", scope: !60, file: !4, baseType: !13, size: 8, align: 8, elements: !63)
!60 = !DINamespace(name: "stdio", scope: !62, file: !61, line: 290)
!61 = !DIFile(filename: "/home/mw/rust/src/libstd/io/mod.rs", directory: "/home/mw/rust")
!62 = !DINamespace(name: "io", scope: !31, file: !30, line: 445)
!63 = !{!64, !65}
!64 = !DIEnumerator(name: "Real", value: 0)
!65 = !DIEnumerator(name: "Fake", value: 1)
!66 = !DICompositeType(tag: DW_TAG_enumeration_type, name: "Option", scope: !5, file: !4, baseType: !13, size: 8, align: 8, elements: !8)
!67 = !DICompositeType(tag: DW_TAG_enumeration_type, name: "BorrowState", scope: !68, file: !4, baseType: !13, size: 8, align: 8, elements: !69)
!68 = !DINamespace(name: "cell", scope: !6, file: !4)
!69 = !{!70, !71, !72}
!70 = !DIEnumerator(name: "Reading", value: 0)
!71 = !DIEnumerator(name: "Writing", value: 1)
!72 = !DIEnumerator(name: "Unused", value: 2)
!73 = !DICompositeType(tag: DW_TAG_enumeration_type, name: "Option", scope: !5, file: !4, baseType: !25, size: 32, align: 32, elements: !8)
!74 = !DICompositeType(tag: DW_TAG_enumeration_type, name: "IpAddr", scope: !75, file: !4, baseType: !25, size: 32, align: 32, elements: !32)
!75 = !DINamespace(name: "ip", scope: !29, file: !28, line: 29)
!76 = !DICompositeType(tag: DW_TAG_enumeration_type, name: "Repr", scope: !77, file: !4, baseType: !25, size: 32, align: 32, elements: !78)
!77 = !DINamespace(name: "error", scope: !62, file: !61, line: 286)
!78 = !{!79, !80}
!79 = !DIEnumerator(name: "Os", value: 0)
!80 = !DIEnumerator(name: "Custom", value: 1)
!81 = !DICompositeType(tag: DW_TAG_enumeration_type, name: "ErrorKind", scope: !77, file: !4, baseType: !13, size: 8, align: 8, elements: !82)
!82 = !{!83, !84, !85, !86, !87, !88, !89, !90, !91, !92, !93, !94, !95, !96, !97, !98, !99, !100, !101}
!83 = !DIEnumerator(name: "NotFound", value: 0)
!84 = !DIEnumerator(name: "PermissionDenied", value: 1)
!85 = !DIEnumerator(name: "ConnectionRefused", value: 2)
!86 = !DIEnumerator(name: "ConnectionReset", value: 3)
!87 = !DIEnumerator(name: "ConnectionAborted", value: 4)
!88 = !DIEnumerator(name: "NotConnected", value: 5)
!89 = !DIEnumerator(name: "AddrInUse", value: 6)
!90 = !DIEnumerator(name: "AddrNotAvailable", value: 7)
!91 = !DIEnumerator(name: "BrokenPipe", value: 8)
!92 = !DIEnumerator(name: "AlreadyExists", value: 9)
!93 = !DIEnumerator(name: "WouldBlock", value: 10)
!94 = !DIEnumerator(name: "InvalidInput", value: 11)
!95 = !DIEnumerator(name: "InvalidData", value: 12)
!96 = !DIEnumerator(name: "TimedOut", value: 13)
!97 = !DIEnumerator(name: "WriteZero", value: 14)
!98 = !DIEnumerator(name: "Interrupted", value: 15)
!99 = !DIEnumerator(name: "Other", value: 16)
!100 = !DIEnumerator(name: "UnexpectedEof", value: 17)
!101 = !DIEnumerator(name: "__Nonexhaustive", value: 18)
!102 = !DICompositeType(tag: DW_TAG_enumeration_type, name: "Component", scope: !103, file: !4, baseType: !7, size: 64, align: 64, elements: !104)
!103 = !DINamespace(name: "path", scope: !31, file: !30, line: 449)
!104 = !{!105, !106, !107, !108, !109}
!105 = !DIEnumerator(name: "Prefix", value: 0)
!106 = !DIEnumerator(name: "RootDir", value: 1)
!107 = !DIEnumerator(name: "CurDir", value: 2)
!108 = !DIEnumerator(name: "ParentDir", value: 3)
!109 = !DIEnumerator(name: "Normal", value: 4)
!110 = !DICompositeType(tag: DW_TAG_enumeration_type, name: "Prefix", scope: !103, file: !4, baseType: !13, size: 8, align: 8, elements: !111)
!111 = !{!112, !113, !114, !115, !116, !117}
!112 = !DIEnumerator(name: "Verbatim", value: 0)
!113 = !DIEnumerator(name: "VerbatimUNC", value: 1)
!114 = !DIEnumerator(name: "VerbatimDisk", value: 2)
!115 = !DIEnumerator(name: "DeviceNS", value: 3)
!116 = !DIEnumerator(name: "UNC", value: 4)
!117 = !DIEnumerator(name: "Disk", value: 5)
!118 = !DICompositeType(tag: DW_TAG_enumeration_type, name: "Flavor", scope: !119, file: !4, baseType: !7, size: 64, align: 64, elements: !122)
!119 = !DINamespace(name: "mpsc", scope: !121, file: !120, line: 38)
!120 = !DIFile(filename: "/home/mw/rust/src/libstd/sync/mod.rs", directory: "/home/mw/rust")
!121 = !DINamespace(name: "sync", scope: !31, file: !30, line: 451)
!122 = !{!123, !124, !125, !126}
!123 = !DIEnumerator(name: "Oneshot", value: 0)
!124 = !DIEnumerator(name: "Stream", value: 1)
!125 = !DIEnumerator(name: "Shared", value: 2)
!126 = !DIEnumerator(name: "Sync", value: 3)
!127 = !DICompositeType(tag: DW_TAG_enumeration_type, name: "MyUpgrade", scope: !128, file: !4, baseType: !7, size: 64, align: 64, elements: !130)
!128 = !DINamespace(name: "oneshot", scope: !119, file: !129, line: 282)
!129 = !DIFile(filename: "/home/mw/rust/src/libstd/sync/mpsc/mod.rs", directory: "/home/mw/rust")
!130 = !{!131, !132, !133}
!131 = !DIEnumerator(name: "NothingSent", value: 0)
!132 = !DIEnumerator(name: "SendUsed", value: 1)
!133 = !DIEnumerator(name: "GoUp", value: 2)
!134 = !DICompositeType(tag: DW_TAG_enumeration_type, name: "Message", scope: !135, file: !4, baseType: !7, size: 64, align: 64, elements: !136)
!135 = !DINamespace(name: "stream", scope: !119, file: !129, line: 285)
!136 = !{!137, !138}
!137 = !DIEnumerator(name: "Data", value: 0)
!138 = !DIEnumerator(name: "GoUp", value: 1)
!139 = !DICompositeType(tag: DW_TAG_enumeration_type, name: "Blocker", scope: !140, file: !4, baseType: !7, size: 64, align: 64, elements: !141)
!140 = !DINamespace(name: "sync", scope: !119, file: !129, line: 286)
!141 = !{!142, !143, !144}
!142 = !DIEnumerator(name: "BlockedSender", value: 0)
!143 = !DIEnumerator(name: "BlockedReceiver", value: 1)
!144 = !DIEnumerator(name: "NoneBlocked", value: 2)
!145 = !DICompositeType(tag: DW_TAG_enumeration_type, name: "State", scope: !103, file: !4, baseType: !13, size: 8, align: 8, elements: !146)
!146 = !{!105, !147, !148, !149}
!147 = !DIEnumerator(name: "StartDir", value: 1)
!148 = !DIEnumerator(name: "Body", value: 2)
!149 = !DIEnumerator(name: "Done", value: 3)
!150 = !DICompositeType(tag: DW_TAG_enumeration_type, name: "Stdio", scope: !151, file: !4, baseType: !25, size: 32, align: 32, elements: !154)
!151 = !DINamespace(name: "process", scope: !153, file: !152, line: 49)
!152 = !DIFile(filename: "/home/mw/rust/src/libstd/sys/unix/mod.rs", directory: "/home/mw/rust")
!153 = !DINamespace(name: "sys", scope: !31, file: !30, line: 459)
!154 = !{!155, !156, !157, !158}
!155 = !DIEnumerator(name: "Inherit", value: 0)
!156 = !DIEnumerator(name: "Null", value: 1)
!157 = !DIEnumerator(name: "MakePipe", value: 2)
!158 = !DIEnumerator(name: "Fd", value: 3)
!159 = !DICompositeType(tag: DW_TAG_enumeration_type, name: "Entry", scope: !160, file: !4, baseType: !7, size: 64, align: 64, elements: !165)
!160 = !DINamespace(name: "map", scope: !162, file: !161, line: 15)
!161 = !DIFile(filename: "/home/mw/rust/src/libstd/collections/hash/mod.rs", directory: "/home/mw/rust")
!162 = !DINamespace(name: "hash", scope: !164, file: !163, line: 428)
!163 = !DIFile(filename: "/home/mw/rust/src/libstd/collections/mod.rs", directory: "/home/mw/rust")
!164 = !DINamespace(name: "collections", scope: !31, file: !30, line: 441)
!165 = !{!166, !167}
!166 = !DIEnumerator(name: "Occupied", value: 0)
!167 = !DIEnumerator(name: "Vacant", value: 1)
!168 = !DICompositeType(tag: DW_TAG_enumeration_type, name: "VacantEntryState", scope: !160, file: !4, baseType: !7, size: 64, align: 64, elements: !169)
!169 = !{!170, !171}
!170 = !DIEnumerator(name: "NeqElem", value: 0)
!171 = !DIEnumerator(name: "NoElem", value: 1)
!172 = !DICompositeType(tag: DW_TAG_enumeration_type, name: "OsRngInner", scope: !173, file: !4, baseType: !25, size: 32, align: 32, elements: !176)
!173 = !DINamespace(name: "imp", scope: !175, file: !174, line: 31)
!174 = !DIFile(filename: "/home/mw/rust/src/libstd/sys/unix/rand.rs", directory: "/home/mw/rust")
!175 = !DINamespace(name: "rand", scope: !153, file: !152, line: 50)
!176 = !{!177, !178}
!177 = !DIEnumerator(name: "OsGetrandomRng", value: 0)
!178 = !DIEnumerator(name: "OsReaderRng", value: 1)
!179 = !DICompositeType(tag: DW_TAG_enumeration_type, name: "Position", scope: !180, file: !4, baseType: !7, size: 64, align: 64, elements: !183)
!180 = !DINamespace(name: "v1", scope: !181, file: !4)
!181 = !DINamespace(name: "rt", scope: !182, file: !4)
!182 = !DINamespace(name: "fmt", scope: !6, file: !4)
!183 = !{!184, !185}
!184 = !DIEnumerator(name: "Next", value: 0)
!185 = !DIEnumerator(name: "At", value: 1)
!186 = !DICompositeType(tag: DW_TAG_enumeration_type, name: "Alignment", scope: !180, file: !4, baseType: !13, size: 8, align: 8, elements: !187)
!187 = !{!188, !189, !190, !191}
!188 = !DIEnumerator(name: "Left", value: 0)
!189 = !DIEnumerator(name: "Right", value: 1)
!190 = !DIEnumerator(name: "Center", value: 2)
!191 = !DIEnumerator(name: "Unknown", value: 3)
!192 = !DICompositeType(tag: DW_TAG_enumeration_type, name: "Count", scope: !180, file: !4, baseType: !7, size: 64, align: 64, elements: !193)
!193 = !{!194, !195, !196, !197}
!194 = !DIEnumerator(name: "Is", value: 0)
!195 = !DIEnumerator(name: "Param", value: 1)
!196 = !DIEnumerator(name: "NextParam", value: 2)
!197 = !DIEnumerator(name: "Implied", value: 3)
!198 = !DICompositeType(tag: DW_TAG_enumeration_type, name: "Ordering", scope: !199, file: !4, baseType: !200, size: 8, align: 8, elements: !201)
!199 = !DINamespace(name: "cmp", scope: !6, file: !4)
!200 = !DIBasicType(name: "i8", size: 8, align: 8, encoding: DW_ATE_signed)
!201 = !{!202, !203, !204}
!202 = !DIEnumerator(name: "Less", value: -1)
!203 = !DIEnumerator(name: "Equal", value: 0)
!204 = !DIEnumerator(name: "Greater", value: 1)
!205 = !DICompositeType(tag: DW_TAG_enumeration_type, name: "c_void", scope: !206, file: !4, baseType: !13, size: 8, align: 8, elements: !207)
!206 = !DINamespace(name: "libc", scope: null, file: !4)
!207 = !{!208, !209}
!208 = !DIEnumerator(name: "__variant1", value: 0)
!209 = !DIEnumerator(name: "__variant2", value: 1)
!210 = !DICompositeType(tag: DW_TAG_enumeration_type, name: "Ordering", scope: !211, file: !4, baseType: !13, size: 8, align: 8, elements: !213)
!211 = !DINamespace(name: "atomic", scope: !212, file: !4)
!212 = !DINamespace(name: "sync", scope: !6, file: !4)
!213 = !{!214, !215, !216, !217, !218}
!214 = !DIEnumerator(name: "Relaxed", value: 0)
!215 = !DIEnumerator(name: "Release", value: 1)
!216 = !DIEnumerator(name: "Acquire", value: 2)
!217 = !DIEnumerator(name: "AcqRel", value: 3)
!218 = !DIEnumerator(name: "SeqCst", value: 4)
!219 = !DICompositeType(tag: DW_TAG_enumeration_type, name: "ChildStdio", scope: !151, file: !4, baseType: !25, size: 32, align: 32, elements: !220)
!220 = !{!155, !221, !222}
!221 = !DIEnumerator(name: "Explicit", value: 1)
!222 = !DIEnumerator(name: "Owned", value: 2)
!223 = !DICompositeType(tag: DW_TAG_enumeration_type, name: "Cow", scope: !224, file: !4, baseType: !7, size: 64, align: 64, elements: !226)
!224 = !DINamespace(name: "borrow", scope: !225, file: !4)
!225 = !DINamespace(name: "collections", scope: null, file: !4)
!226 = !{!227, !228}
!227 = !DIEnumerator(name: "Borrowed", value: 0)
!228 = !DIEnumerator(name: "Owned", value: 1)
!229 = !DICompositeType(tag: DW_TAG_enumeration_type, name: "Result", scope: !12, file: !4, baseType: !44, size: 16, align: 16, elements: !14)
!230 = !DICompositeType(tag: DW_TAG_enumeration_type, name: "FloatErrorKind", scope: !231, file: !4, baseType: !13, size: 8, align: 8, elements: !232)
!231 = !DINamespace(name: "dec2flt", scope: !18, file: !4)
!232 = !{!20, !233}
!233 = !DIEnumerator(name: "Invalid", value: 1)
!234 = !DICompositeType(tag: DW_TAG_enumeration_type, name: "LocalKeyState", scope: !235, file: !4, baseType: !13, size: 8, align: 8, elements: !238)
!235 = !DINamespace(name: "local", scope: !237, file: !236, line: 179)
!236 = !DIFile(filename: "/home/mw/rust/src/libstd/thread/mod.rs", directory: "/home/mw/rust")
!237 = !DINamespace(name: "thread", scope: !31, file: !30, line: 439)
!238 = !{!239, !240, !241}
!239 = !DIEnumerator(name: "Uninitialized", value: 0)
!240 = !DIEnumerator(name: "Valid", value: 1)
!241 = !DIEnumerator(name: "Destroyed", value: 2)
!242 = !DICompositeType(tag: DW_TAG_enumeration_type, name: "BucketState", scope: !243, file: !4, baseType: !7, size: 64, align: 64, elements: !244)
!243 = !DINamespace(name: "table", scope: !162, file: !161, line: 14)
!244 = !{!20, !245}
!245 = !DIEnumerator(name: "Full", value: 1)
!246 = !DICompositeType(tag: DW_TAG_enumeration_type, name: "InternalEntry", scope: !160, file: !4, baseType: !7, size: 64, align: 64, elements: !247)
!247 = !{!166, !167, !248}
!248 = !DIEnumerator(name: "TableIsEmpty", value: 2)
!249 = !DICompositeType(tag: DW_TAG_enumeration_type, name: "ChainState", scope: !250, file: !4, baseType: !13, size: 8, align: 8, elements: !251)
!250 = !DINamespace(name: "iter", scope: !6, file: !4)
!251 = !{!252, !253, !254}
!252 = !DIEnumerator(name: "Both", value: 0)
!253 = !DIEnumerator(name: "Front", value: 1)
!254 = !DIEnumerator(name: "Back", value: 2)
!255 = !DICompositeType(tag: DW_TAG_enumeration_type, name: "SeekFrom", scope: !62, file: !4, baseType: !7, size: 64, align: 64, elements: !256)
!256 = !{!257, !258, !259}
!257 = !DIEnumerator(name: "Start", value: 0)
!258 = !DIEnumerator(name: "End", value: 1)
!259 = !DIEnumerator(name: "Current", value: 2)
!260 = !DICompositeType(tag: DW_TAG_enumeration_type, name: "CharsError", scope: !62, file: !4, baseType: !7, size: 64, align: 64, elements: !261)
!261 = !{!262, !263}
!262 = !DIEnumerator(name: "NotUtf8", value: 0)
!263 = !DIEnumerator(name: "Other", value: 1)
!264 = !DICompositeType(tag: DW_TAG_enumeration_type, name: "Ipv6MulticastScope", scope: !75, file: !4, baseType: !13, size: 8, align: 8, elements: !265)
!265 = !{!266, !267, !268, !269, !270, !271, !272}
!266 = !DIEnumerator(name: "InterfaceLocal", value: 0)
!267 = !DIEnumerator(name: "LinkLocal", value: 1)
!268 = !DIEnumerator(name: "RealmLocal", value: 2)
!269 = !DIEnumerator(name: "AdminLocal", value: 3)
!270 = !DIEnumerator(name: "SiteLocal", value: 4)
!271 = !DIEnumerator(name: "OrganizationLocal", value: 5)
!272 = !DIEnumerator(name: "Global", value: 6)
!273 = !DICompositeType(tag: DW_TAG_enumeration_type, name: "Shutdown", scope: !29, file: !4, baseType: !13, size: 8, align: 8, elements: !274)
!274 = !{!275, !276, !277}
!275 = !DIEnumerator(name: "Read", value: 0)
!276 = !DIEnumerator(name: "Write", value: 1)
!277 = !DIEnumerator(name: "Both", value: 2)
!278 = !DICompositeType(tag: DW_TAG_enumeration_type, name: "TryRecvError", scope: !119, file: !4, baseType: !13, size: 8, align: 8, elements: !279)
!279 = !{!20, !280}
!280 = !DIEnumerator(name: "Disconnected", value: 1)
!281 = !DICompositeType(tag: DW_TAG_enumeration_type, name: "_Unwind_Reason_Code", scope: !282, file: !4, baseType: !25, size: 32, align: 32, elements: !284)
!282 = !DINamespace(name: "libunwind", scope: !283, file: !4)
!283 = !DINamespace(name: "unwind", scope: null, file: !4)
!284 = !{!285, !286, !287, !288, !289, !290, !291, !292, !293, !294}
!285 = !DIEnumerator(name: "_URC_NO_REASON", value: 0)
!286 = !DIEnumerator(name: "_URC_FOREIGN_EXCEPTION_CAUGHT", value: 1)
!287 = !DIEnumerator(name: "_URC_FATAL_PHASE2_ERROR", value: 2)
!288 = !DIEnumerator(name: "_URC_FATAL_PHASE1_ERROR", value: 3)
!289 = !DIEnumerator(name: "_URC_NORMAL_STOP", value: 4)
!290 = !DIEnumerator(name: "_URC_END_OF_STACK", value: 5)
!291 = !DIEnumerator(name: "_URC_HANDLER_FOUND", value: 6)
!292 = !DIEnumerator(name: "_URC_INSTALL_CONTEXT", value: 7)
!293 = !DIEnumerator(name: "_URC_CONTINUE_UNWIND", value: 8)
!294 = !DIEnumerator(name: "_URC_FAILURE", value: 9)
!295 = !DICompositeType(tag: DW_TAG_enumeration_type, name: "AddressKind", scope: !296, file: !4, baseType: !7, size: 64, align: 64, elements: !299)
!296 = !DINamespace(name: "net", scope: !298, file: !297, line: 38)
!297 = !DIFile(filename: "/home/mw/rust/src/libstd/sys/unix/ext/mod.rs", directory: "/home/mw/rust")
!298 = !DINamespace(name: "ext", scope: !153, file: !152, line: 39)
!299 = !{!300, !301, !302}
!300 = !DIEnumerator(name: "Unnamed", value: 0)
!301 = !DIEnumerator(name: "Pathname", value: 1)
!302 = !DIEnumerator(name: "Abstract", value: 2)
!303 = !DICompositeType(tag: DW_TAG_enumeration_type, name: "Hook", scope: !304, file: !4, baseType: !7, size: 64, align: 64, elements: !305)
!304 = !DINamespace(name: "panicking", scope: !31, file: !30, line: 464)
!305 = !{!306, !80}
!306 = !DIEnumerator(name: "Default", value: 0)
!307 = !DICompositeType(tag: DW_TAG_enumeration_type, name: "Failure", scope: !140, file: !4, baseType: !13, size: 8, align: 8, elements: !279)
!308 = !DICompositeType(tag: DW_TAG_enumeration_type, name: "RecvTimeoutError", scope: !119, file: !4, baseType: !13, size: 8, align: 8, elements: !309)
!309 = !{!310, !280}
!310 = !DIEnumerator(name: "Timeout", value: 0)
!311 = !{}
!312 = !{i32 2, !"Debug Info Version", i32 3}
!313 = distinct !DISubprogram(name: "{{closure}}", linkageName: "_ZN3std3sys3ext3net8{{impl}}9recv_from11{{closure}}E", scope: !315, file: !314, line: 663, type: !317, isLocal: true, isDefinition: true, scopeLine: 663, flags: DIFlagPrototyped, isOptimized: true, unit: !0, templateParams: !311, variables: !358)
!314 = !DIFile(filename: "/home/mw/rust/src/libstd/sys/unix/ext/net.rs", directory: "/home/mw/rust")
!315 = !DINamespace(name: "recv_from", scope: !316, file: !314, line: 661)
!316 = !DINamespace(name: "{{impl}}", scope: !296, file: !314, line: 581)
!317 = !DISubroutineType(types: !318)
!318 = !{!319, !320, !347, !357}
!319 = !DIBasicType(name: "i32", size: 32, align: 32, encoding: DW_ATE_signed)
!320 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "closure", file: !4, size: 192, align: 64, elements: !321, identifier: "{closure {&mut{isize}}{&{&{struct std/1f208bcc856bc78538f3acffe70f43ccfa99f3d764e398ff4d5e50ba22e5f546/26e3}}}{&mut{&mut{[]{u8}}}}}")
!321 = !{!322, !325, !339}
!322 = !DIDerivedType(tag: DW_TAG_member, name: "__0", scope: !320, file: !4, baseType: !323, size: 64, align: 64)
!323 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "&mut isize", baseType: !324, size: 64, align: 64)
!324 = !DIBasicType(name: "isize", size: 64, align: 64, encoding: DW_ATE_signed)
!325 = !DIDerivedType(tag: DW_TAG_member, name: "__1", scope: !320, file: !4, baseType: !326, size: 64, align: 64, offset: 64)
!326 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "&&std::sys::ext::net::UnixDatagram", baseType: !327, size: 64, align: 64)
!327 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "&std::sys::ext::net::UnixDatagram", baseType: !328, size: 64, align: 64)
!328 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "UnixDatagram", scope: !296, file: !4, size: 32, align: 32, elements: !329, identifier: "{struct std/1f208bcc856bc78538f3acffe70f43ccfa99f3d764e398ff4d5e50ba22e5f546/26e3}")
!329 = !{!330}
!330 = !DIDerivedType(tag: DW_TAG_member, name: "__0", scope: !328, file: !4, baseType: !331, size: 32, align: 32)
!331 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "Socket", scope: !332, file: !4, size: 32, align: 32, elements: !333, identifier: "{struct std/1f208bcc856bc78538f3acffe70f43ccfa99f3d764e398ff4d5e50ba22e5f546/28ee}")
!332 = !DINamespace(name: "net", scope: !153, file: !152, line: 44)
!333 = !{!334}
!334 = !DIDerivedType(tag: DW_TAG_member, name: "__0", scope: !331, file: !4, baseType: !335, size: 32, align: 32)
!335 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "FileDesc", scope: !336, file: !4, size: 32, align: 32, elements: !337, identifier: "{struct std/1f208bcc856bc78538f3acffe70f43ccfa99f3d764e398ff4d5e50ba22e5f546/2754}")
!336 = !DINamespace(name: "fd", scope: !153, file: !152, line: 40)
!337 = !{!338}
!338 = !DIDerivedType(tag: DW_TAG_member, name: "fd", scope: !335, file: !4, baseType: !319, size: 32, align: 32)
!339 = !DIDerivedType(tag: DW_TAG_member, name: "__2", scope: !320, file: !4, baseType: !340, size: 64, align: 64, offset: 128)
!340 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "&mut &mut [u8]", baseType: !341, size: 64, align: 64)
!341 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "&mut [u8]", file: !4, size: 128, align: 64, elements: !342, identifier: "{&mut{[]{u8}}}")
!342 = !{!343, !345}
!343 = !DIDerivedType(tag: DW_TAG_member, name: "data_ptr", scope: !341, file: !4, baseType: !344, size: 64, align: 64)
!344 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "*const u8", baseType: !13, size: 64, align: 64)
!345 = !DIDerivedType(tag: DW_TAG_member, name: "length", scope: !341, file: !4, baseType: !346, size: 64, align: 64, offset: 64)
!346 = !DIBasicType(name: "usize", size: 64, align: 64, encoding: DW_ATE_unsigned)
!347 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "*mut libc::unix::notbsd::sockaddr", baseType: !348, size: 64, align: 64)
!348 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "sockaddr", scope: !349, file: !4, size: 128, align: 16, elements: !351, identifier: "{struct libc/1f208bcc856bc78538f3acffe70f43ccfa99f3d764e398ff4d5e50ba22e5f546/76d}")
!349 = !DINamespace(name: "notbsd", scope: !350, file: !4)
!350 = !DINamespace(name: "unix", scope: !206, file: !4)
!351 = !{!352, !353}
!352 = !DIDerivedType(tag: DW_TAG_member, name: "sa_family", scope: !348, file: !4, baseType: !44, size: 16, align: 16)
!353 = !DIDerivedType(tag: DW_TAG_member, name: "sa_data", scope: !348, file: !4, baseType: !354, size: 112, align: 8, offset: 16)
!354 = !DICompositeType(tag: DW_TAG_array_type, baseType: !200, size: 112, align: 8, elements: !355)
!355 = !{!356}
!356 = !DISubrange(count: 14)
!357 = !DIDerivedType(tag: DW_TAG_pointer_type, name: "*mut u32", baseType: !25, size: 64, align: 64)
!358 = !{!359, !360, !361, !362, !363, !364, !366}
!359 = !DILocalVariable(name: "count", scope: !313, file: !30, line: 1, type: !324)
!360 = !DILocalVariable(name: "self", scope: !313, file: !30, line: 1, type: !327)
!361 = !DILocalVariable(name: "buf", scope: !313, file: !30, line: 1, type: !341)
!362 = !DILocalVariable(name: "addr", arg: 2, scope: !313, file: !30, line: 1, type: !347)
!363 = !DILocalVariable(name: "len", arg: 3, scope: !313, file: !30, line: 1, type: !357)
!364 = !DILocalVariable(name: "addr", scope: !365, file: !314, line: 663, type: !347)
!365 = distinct !DILexicalBlock(scope: !313, file: !314, line: 663, column: 47)
!366 = !DILocalVariable(name: "len", scope: !365, file: !314, line: 663, type: !357)
!367 = !DIExpression(DW_OP_deref)
!368 = !DILocation(line: 1, scope: !313)
!369 = !DILocation(line: 666, scope: !365)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment