60 lines
4.1 KiB
YAML
60 lines
4.1 KiB
YAML
# RUN: llc %s -start-after=arm-mve-vpt-opts -stop-after=arm-prera-ldst-opt -o - | FileCheck %s
|
|
# CHECK: %5:rgpr = t2MOVCCr %3, killed %4, 0 /* CC::eq */, $cpsr, debug-location !15
|
|
# CHECK-NEXT: DBG_VALUE 0, $noreg, !10, !DIExpression(), debug-location !15
|
|
# CHECK-NEXT: DBG_VALUE $noreg, $noreg, !10, !DIExpression(), debug-location !15
|
|
# CHECK-NEXT: DBG_VALUE $noreg, $noreg, !10, !DIExpression(), debug-location !15
|
|
# CHECK-NEXT: %0:rgpr = t2LDRi12 %5, 0, 14 /* CC::al */, $noreg, debug-location !15 :: (load (s32) from %ir..backtrace_user.ctl_default, align 8)
|
|
# CHECK-NEXT: %6:rgpr = t2LDRi12 %5, 4, 14 /* CC::al */, $noreg, debug-location !15 :: (load (s32) from %ir.btc_user_copy)
|
|
# CHECK-NEXT: DBG_VALUE %6, $noreg, !10, !DIExpression(), debug-location !15
|
|
# CHECK-NEXT: %2:gpr = t2LDRi12 %5, 8, 14 /* CC::al */, $noreg, debug-location !15 :: (load (s32) from %ir.btc_user_copy_context, align 8)
|
|
# CHECK-NEXT: %7:rgpr = t2ANDrr %6, %0, 14 /* CC::al */, $noreg, def $cpsr
|
|
# CHECK-NEXT: DBG_VALUE %2, $noreg, !10, !DIExpression(), debug-location !15
|
|
--- |
|
|
target triple = "thumbv7k-apple-watchos8.0.0"
|
|
%struct.backtrace_control = type {}
|
|
@backtrace_user.ctl_default = internal unnamed_addr constant %struct.backtrace_control zeroinitializer, !dbg !0
|
|
define i32 @backtrace_user(ptr nocapture noundef writeonly %bt, i32 noundef %max_frames, ptr noundef readonly %ctl_in, ptr nocapture noundef readnone %info_out) local_unnamed_addr #0 !dbg !2 {entry:
|
|
%tobool.not = icmp eq ptr %ctl_in, null, !dbg !95
|
|
%.backtrace_user.ctl_default = select i1 %tobool.not, ptr @backtrace_user.ctl_default, ptr %ctl_in, !dbg !95
|
|
%btc_user_copy = getelementptr inbounds %struct.backtrace_control, ptr %.backtrace_user.ctl_default, !dbg !95
|
|
%btc_user_copy_context = getelementptr inbounds %struct.backtrace_control, ptr %.backtrace_user.ctl_default, !dbg !95
|
|
ret i32 undef, !dbg !95
|
|
}
|
|
!llvm.module.flags = !{!88,
|
|
!93}
|
|
!llvm.dbg.cu = !{!32}
|
|
!0 = !DIGlobalVariableExpression(var: !1, expr: !DIExpression())
|
|
!1 = distinct !DIGlobalVariable(type: !11, isDefinition: true)
|
|
!2 = distinct !DISubprogram(unit: !32, retainedNodes: !38)
|
|
!3 = !DIFile(filename: "backtrace.pp.c", directory: "/Users/shubham/Development/Delta")
|
|
!8 = !DIDerivedType(tag: DW_TAG_typedef, baseType: !11, size: 32)
|
|
!11 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !12)
|
|
!12 = distinct !DICompositeType(tag: DW_TAG_structure_type, size: 32)
|
|
!22 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !31, size: 32)
|
|
!31 = !DICompositeType(tag: DW_TAG_structure_type, flags: DIFlagFwdDecl)
|
|
!32 = distinct !DICompileUnit(language: DW_LANG_C11, file: !33, sdk: "MacOSX13.0.sdk")
|
|
!33 = !DIFile(filename: "/Users/shubham/Development/Delta/backtrace.pp.c", directory: "/Users/shubham/Development/Delta")
|
|
!38 = !{!60, !85}
|
|
!60 = !DILocalVariable(scope: !2, type: !22)
|
|
!85 = !DILabel(scope: !2, name: "out", file: !3, line: 102)
|
|
!88 = !{i32 2, !"Debug Info Version", i32 3}
|
|
!93 = !{i32 7, !"frame-pointer", i32 1}
|
|
!95 = !DILocation(line: 5, column: 10, scope: !2)
|
|
name: backtrace_user
|
|
registers:
|
|
- {id: 0, class: rgpr, }
|
|
- {id: 1, class: gpr, }
|
|
- {id: 2, class: gpr, }
|
|
body: |
|
|
bb.0.entry:
|
|
%10:rgpr = COPY $r2
|
|
%13:rgpr = t2MOV_ga_pcrel target-flags(arm-nonlazy) @backtrace_user.ctl_default, debug-location !95
|
|
%15:rgpr = t2MOVCCr %10, killed %13, 0 /* CC::eq */, $cpsr, debug-location !95
|
|
DBG_VALUE 0, $noreg, !60, !DIExpression(), debug-location !95
|
|
%0:rgpr = t2LDRi12 %15, 0, 14 /* CC::al */, $noreg, debug-location !95 :: (load (s32) from %ir..backtrace_user.ctl_default, align 8)
|
|
DBG_VALUE %0, $noreg, !60, !DIExpression(), debug-location !95
|
|
%16:rgpr = t2LDRi12 %15, 4, 14 /* CC::al */, $noreg, debug-location !95 :: (load (s32) from %ir.btc_user_copy)
|
|
DBG_VALUE %16, $noreg, !60, !DIExpression(), debug-location !95
|
|
%2:gpr = t2LDRi12 %15, 8, 14 /* CC::al */, $noreg, debug-location !95 :: (load (s32) from %ir.btc_user_copy_context, align 8)
|
|
%31:rgpr = t2ANDrr %16, %0, 14 /* CC::al */, $noreg, def $cpsr
|
|
DBG_VALUE %2, $noreg, !60, !DIExpression(), debug-location !95
|