69 lines · plain
1# This test should not crash when generating call-site information. 2# It was created to make sure that if isCopyLikeInstr in TargetInstrInfo.h 3# returns an undef Dest Reg or Src Reg, we don't try to get a SubReg for it.4 5# RUN: llc --mtriple=arm64e-apple-ios -start-before=aarch64-asm-printer %s -filetype=obj -o /dev/null --emit-call-site-info 6--- |7 %struct.rtyuio = type { i8 }8 define noundef i32 @aserty(ptr noundef %0, ptr noundef %1) local_unnamed_addr #0 !dbg !23 {9 ret i32 010 }11 define void @asdfgh(ptr noundef %0, ptr noundef %1, i8 noundef zeroext %2) local_unnamed_addr #0 !dbg !53 {12 %4 = alloca ptr13 %5 = call ptr @llvm.stackguard()14 %6 = alloca %struct.rtyuio15 %7 = icmp eq ptr %1, null16 br i1 %7, label %10, label %817 %9 = tail call i8 @polkiokl(ptr noundef %0) #618 br label %1019 ret void20 }21 declare i8 @polkiokl(ptr noundef) local_unnamed_addr #222 !llvm.module.flags = !{!2, !8}23 !llvm.dbg.cu = !{!9}24 !2 = !{i32 2, !"Debug Info Version", i32 3}25 !8 = !{i32 7, !"frame-pointer", i32 1}26 !9 = distinct !DICompileUnit(language: DW_LANG_C_plus_plus_11, file: !10, emissionKind: FullDebug, sysroot: "/")27 !10 = !DIFile(filename: "a.cpp", directory: "/")28 !23 = distinct !DISubprogram(type: !27, flags: DIFlagPrototyped | DIFlagAllCallsDescribed, unit: !9, retainedNodes: !46)29 !24 = distinct !DICompositeType(tag: DW_TAG_class_type, identifier: "yshscbshhdvcm")30 !27 = !DISubroutineType(types: !28)31 !28 = !{}32 !30 = !DIDerivedType(tag: DW_TAG_typedef, baseType: !33)33 !33 = distinct !DICompositeType(tag: DW_TAG_structure_type, identifier: "tyruwyeuiwiybabd")34 !36 = !DISubroutineType(types: !37)35 !37 = !{}36 !46 = !{}37 !47 = !DILocalVariable(scope: !23, type: !48, flags: DIFlagArtificial | DIFlagObjectPointer)38 !48 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !24, size: 64)39 !49 = !DILocalVariable(scope: !23, type: !30)40 !50 = !DILocation(scope: !23)41 !51 = !DILocation(scope: !23)42 !53 = distinct !DISubprogram(type: !36, unit: !9, retainedNodes: !54)43 !54 = !{}44name: aserty45stack:46 - { id: 0, name: '', type: spill-slot, offset: -8, size: 8, alignment: 8, 47 debug-info-variable: '', debug-info-expression: '', debug-info-location: '' }48 - { id: 1, name: '', type: spill-slot, offset: -16, size: 8, alignment: 8, 49 debug-info-variable: '', debug-info-expression: '', debug-info-location: '' }50callSites:51 - { bb: 0, offset: 9, fwdArgRegs: 52 - { arg: 2, reg: '$w2' } }53body: |54 bb.0 (%ir-block.2):55 DBG_VALUE $x0, $noreg, !47, !DIExpression(), debug-location !5056 DBG_VALUE $x1, $noreg, !49, !DIExpression(), debug-location !5057 frame-setup PACIBSP implicit-def $lr, implicit killed $lr, implicit $sp58 early-clobber $sp = frame-setup STPXpre $fp, killed $lr, $sp, -2 :: (store (s64) into %stack.1), (store (s64) into %stack.0)59 $fp = frame-setup ADDXri $sp, 0, 060 frame-setup CFI_INSTRUCTION def_cfa $w29, 1661 frame-setup CFI_INSTRUCTION offset $w30, -862 frame-setup CFI_INSTRUCTION offset $w29, -1663 $x2 = ORRXrs $xzr, undef $noreg, 0, implicit $wzr, debug-location !5164 BL @asdfgh, csr_darwin_aarch64_aapcs, implicit-def dead $lr, implicit $sp, implicit killed $x0, implicit killed $x1, implicit killed $w2, implicit-def $sp, debug-location !5165...66name: asdfgh67body: |68 bb.2 (%ir-block.10):69