brintos

brintos / llvm-project-archived public Read only

0
0
Text · 3.7 KiB · adaf54c Raw
103 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc < %s -global-isel -mtriple=arm64-linux-gnu -global-isel-abort=1 | FileCheck %s3target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128"4target triple = "arm64-apple-ios9.0.0"5 6; Check we don't fall back due to hitting a DBG_VALUE with a deleted vreg.7 8%0 = type { %1, %3, %5, %8, i8, i32, i8, i64, [4096 x %9], i64, i64, [4096 x %11], i64, i64, %13, %21, ptr, %35, i64, [504 x i8] }9%1 = type { [32 x %2] }10%2 = type { i32, i32 }11%3 = type { [32 x %4] }12%4 = type { i64, i64 }13%5 = type { [32 x %6] }14%6 = type { %7, %7 }15%7 = type { i8, [64 x i8] }16%8 = type { [1024 x %7], %7 }17%9 = type { ptr, i64 }18%10 = type { ptr, ptr, i8, i8 }19%11 = type { ptr, ptr }20%12 = type { i64, i64 }21%13 = type { %14 }22%14 = type { ptr, %17, %19 }23%15 = type { ptr }24%16 = type <{ %15, ptr, ptr, i8, [7 x i8] }>25%17 = type { %18 }26%18 = type { %15 }27%19 = type { %20 }28%20 = type { i64 }29%21 = type { %22 }30%22 = type <{ %23, %30, %32, %33, [4 x i8] }>31%23 = type { %24 }32%24 = type { %25, %27 }33%25 = type { ptr }34%26 = type { ptr }35%27 = type { %28 }36%28 = type { %29 }37%29 = type { %20 }38%30 = type { %31 }39%31 = type { %26 }40%32 = type { %20 }41%33 = type { %34 }42%34 = type { float }43%35 = type { [1024 x i64] }44 45@global = external hidden global %0, align 51246 47define void @baz(ptr %arg) !dbg !6 {48; CHECK-LABEL: baz:49; CHECK:       .Lfunc_begin0:50; CHECK-NEXT:    .cfi_startproc51; CHECK-NEXT:  // %bb.0: // %bb52; CHECK-NEXT:    //DEBUG_VALUE: baz:3 <- undef53; CHECK-NEXT:    .file 1 "/" "tmp.ll"54; CHECK-NEXT:    .loc 1 4 1 prologue_end // tmp.ll:4:155; CHECK-NEXT:    lsl x8, x0, #456; CHECK-NEXT:    adrp x9, global+20275257; CHECK-NEXT:    add x9, x9, :lo12:global+20275258; CHECK-NEXT:    and x8, x8, #0x1ff059; CHECK-NEXT:    .loc 1 5 1 // tmp.ll:5:160; CHECK-NEXT:    str xzr, [x9, x8]61; CHECK-NEXT:    .loc 1 6 1 // tmp.ll:6:162; CHECK-NEXT:    ret63; CHECK-NEXT:  .Ltmp0:64bb:65  %tmp = ptrtoint ptr %arg to i64, !dbg !1466  %tmp1 = shl i64 %tmp, 1, !dbg !1567  %tmp2 = and i64 %tmp1, 1022, !dbg !1668  call void @llvm.dbg.value(metadata i64 %tmp2, metadata !12, metadata !DIExpression()), !dbg !1669  %tmp3 = getelementptr inbounds %0, ptr @global, i64 0, i32 17, i32 0, i64 %tmp2, !dbg !1770  store i64 0, ptr %tmp3, align 16, !dbg !1871  ret void, !dbg !1972}73 74; Function Attrs: nofree nosync nounwind readnone speculatable willreturn75declare void @llvm.dbg.value(metadata, metadata, metadata) #176 77attributes #1 = { nofree nosync nounwind readnone speculatable willreturn }78 79!llvm.module.flags = !{!0}80!llvm.dbg.cu = !{!1}81!llvm.debugify = !{!4, !5}82 83!0 = !{i32 2, !"Debug Info Version", i32 3}84!1 = distinct !DICompileUnit(language: DW_LANG_C, file: !2, producer: "debugify", isOptimized: true, runtimeVersion: 0, emissionKind: FullDebug, enums: !3)85!2 = !DIFile(filename: "tmp.ll", directory: "/")86!3 = !{}87!4 = !{i32 6}88!5 = !{i32 4}89!6 = distinct !DISubprogram(name: "baz", linkageName: "baz", scope: null, file: !2, line: 1, type: !7, scopeLine: 1, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !1, retainedNodes: !8)90!7 = !DISubroutineType(types: !3)91!8 = !{!9, !11, !12, !13}92!9 = !DILocalVariable(name: "1", scope: !6, file: !2, line: 1, type: !10)93!10 = !DIBasicType(name: "ty64", size: 64, encoding: DW_ATE_unsigned)94!11 = !DILocalVariable(name: "2", scope: !6, file: !2, line: 2, type: !10)95!12 = !DILocalVariable(name: "3", scope: !6, file: !2, line: 3, type: !10)96!13 = !DILocalVariable(name: "4", scope: !6, file: !2, line: 4, type: !10)97!14 = !DILocation(line: 1, column: 1, scope: !6)98!15 = !DILocation(line: 2, column: 1, scope: !6)99!16 = !DILocation(line: 3, column: 1, scope: !6)100!17 = !DILocation(line: 4, column: 1, scope: !6)101!18 = !DILocation(line: 5, column: 1, scope: !6)102!19 = !DILocation(line: 6, column: 1, scope: !6)103