Guest User

Untitled

a guest
Jul 7th, 2021
404
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
LLVM 4.19 KB | None | 0 0
  1. ; ModuleID = 'LLVMDialectModule'
  2. source_filename = "LLVMDialectModule"
  3. target datalayout = "e-m:w-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
  4. target triple = "x86_64-pc-windows-msvc"
  5.  
  6. @s_1527308668175860714 = internal constant [14 x i8] c"Animal moved \00"
  7. @s_624197182241681794 = internal constant [3 x i8] c"m.\00"
  8. @frmt_11120820245497078329 = internal constant [4 x i8] c"%s\0A\00"
  9.  
  10. declare i8* @malloc(i64)
  11.  
  12. declare void @free(i8*)
  13.  
  14. declare i32 @printf(i8*, ...)
  15.  
  16. declare i8* @strcat(i8*, i8*)
  17.  
  18. declare i8* @strcpy(i8*, i8*)
  19.  
  20. declare i64 @strlen(i8*)
  21.  
  22. declare i8* @_itoa(i32, i8*, i32, ...)
  23.  
  24. define void @Animal.move({}* %0, { i32, i1 } %1) !dbg !3 {
  25.   %3 = alloca {}*, align 8, !dbg !7
  26.   store {}* %0, {}** %3, align 8, !dbg !7
  27.   %4 = alloca { i32, i1 }, align 8, !dbg !9
  28.   %5 = extractvalue { i32, i1 } %1, 1, !dbg !9
  29.   br i1 %5, label %7, label %6, !dbg !9
  30.  
  31. 6:                                                ; preds = %2
  32.   br label %7, !dbg !9
  33.  
  34. 7:                                                ; preds = %6, %2
  35.   %8 = phi { i32, i1 } [ { i32 0, i1 true }, %6 ], [ %1, %2 ]
  36.   store { i32, i1 } %8, { i32, i1 }* %4, align 4, !dbg !9
  37.   %9 = load { i32, i1 }, { i32, i1 }* %4, align 4, !dbg !9
  38.   %10 = extractvalue { i32, i1 } %9, 0, !dbg !10
  39.   %11 = alloca i8, i32 50, align 1, !dbg !10
  40.   %12 = call i8* (i32, i8*, i32, ...) @_itoa(i32 %10, i8* %11, i32 10), !dbg !10
  41.   %13 = call i64 @strlen(i8* getelementptr inbounds ([14 x i8], [14 x i8]* @s_1527308668175860714, i64 0, i64 0)), !dbg !10
  42.   %14 = add i64 1, %13, !dbg !10
  43.   %15 = call i64 @strlen(i8* %12), !dbg !10
  44.   %16 = add i64 %14, %15, !dbg !10
  45.   %17 = call i64 @strlen(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @s_624197182241681794, i64 0, i64 0)), !dbg !10
  46.   %18 = add i64 %16, %17, !dbg !10
  47.   %19 = alloca i8, i64 %18, align 1, !dbg !10
  48.   %20 = call i8* @strcpy(i8* %19, i8* getelementptr inbounds ([14 x i8], [14 x i8]* @s_1527308668175860714, i64 0, i64 0)), !dbg !10
  49.   %21 = call i8* @strcat(i8* %20, i8* %12), !dbg !10
  50.   %22 = call i8* @strcat(i8* %21, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @s_624197182241681794, i64 0, i64 0)), !dbg !10
  51.   %23 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @frmt_11120820245497078329, i64 0, i64 0), i8* %22), !dbg !11
  52.   br label %24, !dbg !7
  53.  
  54. 24:                                               ; preds = %7
  55.   ret void, !dbg !7
  56. }
  57.  
  58. define void @main() !dbg !12 {
  59.   %1 = call i8* @malloc(i64 0), !dbg !13
  60.   %2 = bitcast i8* %1 to {}*, !dbg !13
  61.   call void @Animal.move({}* %2, { i32, i1 } { i32 10, i1 true }), !dbg !15
  62.   %3 = alloca {}, align 8, !dbg !16
  63.   call void @Animal.move({}* %3, { i32, i1 } { i32 11, i1 true }), !dbg !17
  64.   br label %4, !dbg !18
  65.  
  66. 4:                                                ; preds = %0
  67.   ret void, !dbg !18
  68. }
  69.  
  70. !llvm.dbg.cu = !{!0}
  71. !llvm.module.flags = !{!2}
  72.  
  73. !0 = distinct !DICompileUnit(language: DW_LANG_C, file: !1, producer: "mlir", isOptimized: true, runtimeVersion: 0, emissionKind: FullDebug)
  74. !1 = !DIFile(filename: "LLVMDialectModule", directory: "/")
  75. !2 = !{i32 2, !"Debug Info Version", i32 3}
  76. !3 = distinct !DISubprogram(name: "Animal.move", linkageName: "Animal.move", scope: null, file: !4, line: 1, type: !5, scopeLine: 1, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !0, retainedNodes: !6)
  77. !4 = !DIFile(filename: "1.ts", directory: "C:\\temp")
  78. !5 = !DISubroutineType(types: !6)
  79. !6 = !{}
  80. !7 = !DILocation(line: 1, column: 15, scope: !8)
  81. !8 = !DILexicalBlockFile(scope: !3, file: !4, discriminator: 0)
  82. !9 = !DILocation(line: 2, column: 10, scope: !8)
  83. !10 = !DILocation(line: 3, column: 15, scope: !8)
  84. !11 = !DILocation(line: 2, column: 33, scope: !8)
  85. !12 = distinct !DISubprogram(name: "main", linkageName: "main", scope: null, file: !4, line: 5, type: !5, scopeLine: 5, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !0, retainedNodes: !6)
  86. !13 = !DILocation(line: 8, column: 16, scope: !14)
  87. !14 = !DILexicalBlockFile(scope: !12, file: !4, discriminator: 0)
  88. !15 = !DILocation(line: 8, column: 30, scope: !14)
  89. !16 = !DILocation(line: 11, column: 17, scope: !14)
  90. !17 = !DILocation(line: 11, column: 27, scope: !14)
  91. !18 = !DILocation(line: 5, column: 2, scope: !14)
  92.  
  93.  
Advertisement
Add Comment
Please, Sign In to add comment