CodeQL / Analyze (actions) (push) Canceled after 0s
CodeQL / Analyze (python) (push) Canceled after 0s
pre-commit / pre-commit (push) Canceled after 0s
Multi-Arch CI / setup (push) Canceled after 0s
Publish build_manylinux_x86_64 images / publish_build_manylinux_x86_64 (push) Canceled after 0s
Setup (Multi-Arch) / setup (push) Canceled after 0s
Multi-Arch CI / Linux::${{ fromJSON(needs.setup.outputs.linux_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubi10 image / publish_no_rocm_image_ubi10 (push) Canceled after 0s
Multi-Arch CI / Windows::${{ fromJSON(needs.setup.outputs.windows_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Multi-Arch CI / Manifest Diff (push) Canceled after 0s
TheRock Manifest Diff Report / Generate Manifest Diff Report (push) Canceled after 0s
Multi-Arch CI / CI Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_ocl_rt images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_rocgdb images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Unit Tests / Unit Tests :: ubuntu-24.04 (push) Canceled after 0s
Unit Tests / Unit Tests :: windows-2022 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_media (push) Canceled after 0s
Unit Tests / Unit Tests Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_openmpi (push) Canceled after 0s
313 lines
18 KiB
YAML
313 lines
18 KiB
YAML
# This test case has been reduced from one of the files from nullstone benchmark.
|
|
# It verifies that no stalls are being missed when compiling with '-g'.
|
|
|
|
# REQUIRES: asserts
|
|
# RUN: llc -march=hexagon -mcpu=hexagonv73 -run-pass=global-sched -debug-only=global_sched %s -o /dev/null 2>&1 | FileCheck %s
|
|
|
|
# CHECK: bb.3:
|
|
# CHECK: Could not move packetized instr.
|
|
# CHECK-NEXT: Not a single candidate fit.
|
|
# CHECK: Home iterator moved to new BB(2)
|
|
# CHECH-NOT: Want to move dependent op: S4_storeirif_io
|
|
|
|
--- |
|
|
|
|
%struct._Dnk_filet = type { i16, i8, i32, ptr, ptr, ptr, ptr, ptr, ptr, ptr, [2 x i32], ptr, ptr, ptr, %struct._Mbstatet, ptr, [8 x i8], i8 }
|
|
%struct._Mbstatet = type { i32, i16, i16 }
|
|
|
|
@datafileptr = external dso_local local_unnamed_addr global ptr, align 4
|
|
@_Stderr = external dso_local global %struct._Dnk_filet, align 4
|
|
@.str = private unnamed_addr constant [49 x i8] c"ERROR: File=%s, Line=%d, Data file is not open.\0A\00", align 1, !dbg !0
|
|
@.str.1 = private unnamed_addr constant [6 x i8] c"fem.c\00", align 1, !dbg !7
|
|
@.str.2 = private unnamed_addr constant [28 x i8] c"%s=\09\09File=%s, Line=%d, %s.\0A\00", align 1, !dbg !12
|
|
@.str.3 = private unnamed_addr constant [6 x i8] c"error\00", align 1, !dbg !17
|
|
@.str.4 = private unnamed_addr constant [56 x i8] c"ERROR: File=%s, Line=%d, Unable to write to data file.\0A\00", align 1, !dbg !19
|
|
|
|
; Function Attrs: noreturn nounwind
|
|
define dso_local void @fatal_error_message(ptr noundef %filename, i32 noundef %line, ptr noundef %message) local_unnamed_addr #0 !dbg !31 {
|
|
entry:
|
|
call void @llvm.dbg.value(metadata ptr %filename, metadata !37, metadata !DIExpression()), !dbg !41
|
|
call void @llvm.dbg.value(metadata i32 %line, metadata !38, metadata !DIExpression()), !dbg !41
|
|
call void @llvm.dbg.value(metadata ptr %message, metadata !39, metadata !DIExpression()), !dbg !41
|
|
call void @llvm.dbg.value(metadata i32 0, metadata !40, metadata !DIExpression()), !dbg !41
|
|
%0 = load ptr, ptr @datafileptr, align 4, !dbg !42, !tbaa !44
|
|
%cmp = icmp eq ptr %0, null, !dbg !48
|
|
br i1 %cmp, label %if.end5.sink.split, label %if.end, !dbg !49
|
|
|
|
if.end: ; preds = %entry
|
|
%call1 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef nonnull %0, ptr noundef nonnull @.str.2, ptr noundef nonnull @.str.3, ptr noundef %filename, i32 noundef %line, ptr noundef %message) #4, !dbg !50
|
|
call void @llvm.dbg.value(metadata i32 %call1, metadata !40, metadata !DIExpression()), !dbg !41
|
|
%cmp2 = icmp eq i32 %call1, -1, !dbg !51
|
|
br i1 %cmp2, label %if.end5.sink.split, label %if.end5, !dbg !53
|
|
|
|
if.end5.sink.split: ; preds = %if.end, %entry
|
|
%.sink = phi i32 [ 30, %entry ], [ 37, %if.end ]
|
|
%.str.sink = phi ptr [ @.str, %entry ], [ @.str.4, %if.end ]
|
|
%call = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef nonnull @_Stderr, ptr noundef nonnull %.str.sink, ptr noundef nonnull @.str.1, i32 noundef %.sink) #4, !dbg !41
|
|
br label %if.end5, !dbg !54
|
|
|
|
if.end5: ; preds = %if.end5.sink.split, %if.end
|
|
tail call void @exit(i32 noundef 1) #5, !dbg !54
|
|
unreachable, !dbg !54
|
|
}
|
|
|
|
; Function Attrs: nofree nounwind
|
|
declare !dbg !55 dso_local noundef i32 @fprintf(ptr nocapture noundef, ptr nocapture noundef readonly, ...) local_unnamed_addr #1
|
|
|
|
; Function Attrs: noreturn
|
|
declare !dbg !104 dso_local void @exit(i32 noundef) local_unnamed_addr #2
|
|
|
|
; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)
|
|
declare void @llvm.dbg.value(metadata, metadata, metadata) #3
|
|
|
|
attributes #0 = { noreturn nounwind "frame-pointer"="all" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="hexagonv73" "target-features"="+v73,-long-calls" }
|
|
attributes #1 = { nofree nounwind "frame-pointer"="all" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="hexagonv73" "target-features"="+v73,-long-calls" }
|
|
attributes #2 = { noreturn "frame-pointer"="all" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="hexagonv73" "target-features"="+v73,-long-calls" }
|
|
attributes #3 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) }
|
|
attributes #4 = { nounwind }
|
|
attributes #5 = { noreturn nounwind }
|
|
|
|
!llvm.dbg.cu = !{!24}
|
|
!llvm.module.flags = !{!26, !27, !28, !29}
|
|
|
|
!0 = !DIGlobalVariableExpression(var: !1, expr: !DIExpression())
|
|
!1 = distinct !DIGlobalVariable(scope: null, file: !2, line: 29, type: !3, isLocal: true, isDefinition: true)
|
|
!2 = !DIFile(filename: "fem.c", directory: "/tmp/build/v66/benchmark/nullstone/nullstone")
|
|
!3 = !DICompositeType(tag: DW_TAG_array_type, baseType: !4, size: 392, elements: !5)
|
|
!4 = !DIBasicType(name: "char", size: 8, encoding: DW_ATE_unsigned_char)
|
|
!5 = !{!6}
|
|
!6 = !DISubrange(count: 49)
|
|
!7 = !DIGlobalVariableExpression(var: !8, expr: !DIExpression())
|
|
!8 = distinct !DIGlobalVariable(scope: null, file: !2, line: 30, type: !9, isLocal: true, isDefinition: true)
|
|
!9 = !DICompositeType(tag: DW_TAG_array_type, baseType: !4, size: 48, elements: !10)
|
|
!10 = !{!11}
|
|
!11 = !DISubrange(count: 6)
|
|
!12 = !DIGlobalVariableExpression(var: !13, expr: !DIExpression())
|
|
!13 = distinct !DIGlobalVariable(scope: null, file: !2, line: 33, type: !14, isLocal: true, isDefinition: true)
|
|
!14 = !DICompositeType(tag: DW_TAG_array_type, baseType: !4, size: 224, elements: !15)
|
|
!15 = !{!16}
|
|
!16 = !DISubrange(count: 28)
|
|
!17 = !DIGlobalVariableExpression(var: !18, expr: !DIExpression())
|
|
!18 = distinct !DIGlobalVariable(scope: null, file: !2, line: 34, type: !9, isLocal: true, isDefinition: true)
|
|
!19 = !DIGlobalVariableExpression(var: !20, expr: !DIExpression())
|
|
!20 = distinct !DIGlobalVariable(scope: null, file: !2, line: 36, type: !21, isLocal: true, isDefinition: true)
|
|
!21 = !DICompositeType(tag: DW_TAG_array_type, baseType: !4, size: 448, elements: !22)
|
|
!22 = !{!23}
|
|
!23 = !DISubrange(count: 56)
|
|
!24 = distinct !DICompileUnit(language: DW_LANG_C11, file: !2, producer: "clang", isOptimized: true, runtimeVersion: 0, emissionKind: FullDebug, globals: !25, splitDebugInlining: false, debugInfoForProfiling: true, nameTableKind: None)
|
|
!25 = !{!0, !7, !12, !17, !19}
|
|
!26 = !{i32 7, !"Dwarf Version", i32 4}
|
|
!27 = !{i32 2, !"Debug Info Version", i32 3}
|
|
!28 = !{i32 1, !"wchar_size", i32 4}
|
|
!29 = !{i32 7, !"frame-pointer", i32 2}
|
|
!31 = distinct !DISubprogram(name: "fatal_error_message", scope: !2, file: !2, line: 24, type: !32, scopeLine: 25, flags: DIFlagPrototyped | DIFlagAllCallsDescribed, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !24, retainedNodes: !36)
|
|
!32 = !DISubroutineType(types: !33)
|
|
!33 = !{null, !34, !35, !34}
|
|
!34 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !4, size: 32)
|
|
!35 = !DIBasicType(name: "int", size: 32, encoding: DW_ATE_signed)
|
|
!36 = !{!37, !38, !39, !40}
|
|
!37 = !DILocalVariable(name: "filename", arg: 1, scope: !31, file: !2, line: 24, type: !34)
|
|
!38 = !DILocalVariable(name: "line", arg: 2, scope: !31, file: !2, line: 24, type: !35)
|
|
!39 = !DILocalVariable(name: "message", arg: 3, scope: !31, file: !2, line: 24, type: !34)
|
|
!40 = !DILocalVariable(name: "status", scope: !31, file: !2, line: 26, type: !35)
|
|
!41 = !DILocation(line: 0, scope: !31)
|
|
!42 = !DILocation(line: 28, column: 7, scope: !43)
|
|
!43 = distinct !DILexicalBlock(scope: !31, file: !2, line: 28, column: 7)
|
|
!44 = !{!45, !45, i64 0}
|
|
!45 = !{!"any pointer", !46, i64 0}
|
|
!46 = !{!"omnipotent char", !47, i64 0}
|
|
!47 = !{!"Simple C/C++ TBAA"}
|
|
!48 = !DILocation(line: 28, column: 19, scope: !43)
|
|
!49 = !DILocation(line: 28, column: 7, scope: !31)
|
|
!50 = !DILocation(line: 32, column: 14, scope: !43)
|
|
!51 = !DILocation(line: 35, column: 14, scope: !52)
|
|
!52 = distinct !DILexicalBlock(scope: !31, file: !2, line: 35, column: 7)
|
|
!53 = !DILocation(line: 35, column: 7, scope: !31)
|
|
!54 = !DILocation(line: 38, column: 3, scope: !31)
|
|
!55 = !DISubprogram(name: "fprintf", scope: !56, file: !56, line: 129, type: !57, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized, retainedNodes: !103)
|
|
!56 = !DIFile(filename: "stdio.h", directory: "/test")
|
|
!57 = !DISubroutineType(types: !58)
|
|
!58 = !{!35, !59, !101, null}
|
|
!59 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !60, size: 32)
|
|
!60 = !DIDerivedType(tag: DW_TAG_typedef, name: "FILE", file: !56, line: 107, baseType: !61)
|
|
!61 = !DIDerivedType(tag: DW_TAG_typedef, name: "_Filet", file: !56, line: 104, baseType: !62)
|
|
!62 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "_Dnk_filet", file: !56, line: 85, size: 640, elements: !63)
|
|
!63 = !{!64, !66, !68, !69, !71, !72, !73, !74, !75, !76, !80, !84, !85, !86, !87, !95, !96, !100}
|
|
!64 = !DIDerivedType(tag: DW_TAG_member, name: "_Mode", scope: !62, file: !56, line: 87, baseType: !65, size: 16)
|
|
!65 = !DIBasicType(name: "unsigned short", size: 16, encoding: DW_ATE_unsigned)
|
|
!66 = !DIDerivedType(tag: DW_TAG_member, name: "_Idx", scope: !62, file: !56, line: 88, baseType: !67, size: 8, offset: 16)
|
|
!67 = !DIBasicType(name: "unsigned char", size: 8, encoding: DW_ATE_unsigned_char)
|
|
!68 = !DIDerivedType(tag: DW_TAG_member, name: "_Handle", scope: !62, file: !56, line: 89, baseType: !35, size: 32, offset: 32)
|
|
!69 = !DIDerivedType(tag: DW_TAG_member, name: "_Buf", scope: !62, file: !56, line: 91, baseType: !70, size: 32, offset: 64)
|
|
!70 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !67, size: 32)
|
|
!71 = !DIDerivedType(tag: DW_TAG_member, name: "_Bend", scope: !62, file: !56, line: 91, baseType: !70, size: 32, offset: 96)
|
|
!72 = !DIDerivedType(tag: DW_TAG_member, name: "_Next", scope: !62, file: !56, line: 91, baseType: !70, size: 32, offset: 128)
|
|
!73 = !DIDerivedType(tag: DW_TAG_member, name: "_Rend", scope: !62, file: !56, line: 92, baseType: !70, size: 32, offset: 160)
|
|
!74 = !DIDerivedType(tag: DW_TAG_member, name: "_Wend", scope: !62, file: !56, line: 92, baseType: !70, size: 32, offset: 192)
|
|
!75 = !DIDerivedType(tag: DW_TAG_member, name: "_Rback", scope: !62, file: !56, line: 92, baseType: !70, size: 32, offset: 224)
|
|
!76 = !DIDerivedType(tag: DW_TAG_member, name: "_WRback", scope: !62, file: !56, line: 94, baseType: !77, size: 32, offset: 256)
|
|
!77 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !78, size: 32)
|
|
!78 = !DIDerivedType(tag: DW_TAG_typedef, name: "_Wchart", file: !79, line: 851, baseType: !35)
|
|
!79 = !DIFile(filename: "yvals.h", directory: "/test")
|
|
!80 = !DIDerivedType(tag: DW_TAG_member, name: "_WBack", scope: !62, file: !56, line: 94, baseType: !81, size: 64, offset: 288)
|
|
!81 = !DICompositeType(tag: DW_TAG_array_type, baseType: !78, size: 64, elements: !82)
|
|
!82 = !{!83}
|
|
!83 = !DISubrange(count: 2)
|
|
!84 = !DIDerivedType(tag: DW_TAG_member, name: "_Rsave", scope: !62, file: !56, line: 95, baseType: !70, size: 32, offset: 352)
|
|
!85 = !DIDerivedType(tag: DW_TAG_member, name: "_WRend", scope: !62, file: !56, line: 95, baseType: !70, size: 32, offset: 384)
|
|
!86 = !DIDerivedType(tag: DW_TAG_member, name: "_WWend", scope: !62, file: !56, line: 95, baseType: !70, size: 32, offset: 416)
|
|
!87 = !DIDerivedType(tag: DW_TAG_member, name: "_Wstate", scope: !62, file: !56, line: 97, baseType: !88, size: 64, offset: 448)
|
|
!88 = !DIDerivedType(tag: DW_TAG_typedef, name: "_Mbstatet", file: !56, line: 64, baseType: !89)
|
|
!89 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "_Mbstatet", file: !56, line: 60, size: 64, elements: !90)
|
|
!90 = !{!91, !93, !94}
|
|
!91 = !DIDerivedType(tag: DW_TAG_member, name: "_Wchar", scope: !89, file: !56, line: 62, baseType: !92, size: 32)
|
|
!92 = !DIBasicType(name: "unsigned long", size: 32, encoding: DW_ATE_unsigned)
|
|
!93 = !DIDerivedType(tag: DW_TAG_member, name: "_Byte", scope: !89, file: !56, line: 63, baseType: !65, size: 16, offset: 32)
|
|
!94 = !DIDerivedType(tag: DW_TAG_member, name: "_State", scope: !89, file: !56, line: 63, baseType: !65, size: 16, offset: 48)
|
|
!95 = !DIDerivedType(tag: DW_TAG_member, name: "_Tmpnam", scope: !62, file: !56, line: 98, baseType: !34, size: 32, offset: 512)
|
|
!96 = !DIDerivedType(tag: DW_TAG_member, name: "_Back", scope: !62, file: !56, line: 99, baseType: !97, size: 64, offset: 544)
|
|
!97 = !DICompositeType(tag: DW_TAG_array_type, baseType: !67, size: 64, elements: !98)
|
|
!98 = !{!99}
|
|
!99 = !DISubrange(count: 8)
|
|
!100 = !DIDerivedType(tag: DW_TAG_member, name: "_Cbuf", scope: !62, file: !56, line: 99, baseType: !67, size: 8, offset: 608)
|
|
!101 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !102, size: 32)
|
|
!102 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !4)
|
|
!103 = !{}
|
|
!104 = !DISubprogram(name: "exit", scope: !105, file: !105, line: 82, type: !106, flags: DIFlagPrototyped | DIFlagNoReturn, spFlags: DISPFlagOptimized, retainedNodes: !103)
|
|
!105 = !DIFile(filename: "stdlib.h", directory: "/test")
|
|
!106 = !DISubroutineType(types: !107)
|
|
!107 = !{null, !35}
|
|
|
|
...
|
|
---
|
|
name: fatal_error_message
|
|
alignment: 16
|
|
exposesReturnsTwice: false
|
|
legalized: false
|
|
regBankSelected: false
|
|
selected: false
|
|
failedISel: false
|
|
tracksRegLiveness: true
|
|
hasWinCFI: false
|
|
callsEHReturn: false
|
|
callsUnwindInit: false
|
|
hasEHContTarget: false
|
|
hasEHScopes: false
|
|
hasEHFunclets: false
|
|
isOutlined: false
|
|
debugInstrRef: false
|
|
failsVerification: true
|
|
tracksDebugUserValues: true
|
|
registers: []
|
|
liveins:
|
|
- { reg: '$r0', virtual-reg: '' }
|
|
- { reg: '$r1', virtual-reg: '' }
|
|
- { reg: '$r2', virtual-reg: '' }
|
|
frameInfo:
|
|
isFrameAddressTaken: false
|
|
isReturnAddressTaken: false
|
|
hasStackMap: false
|
|
hasPatchPoint: false
|
|
stackSize: 16
|
|
offsetAdjustment: 0
|
|
maxAlignment: 4
|
|
adjustsStack: true
|
|
hasCalls: true
|
|
stackProtector: ''
|
|
functionContext: ''
|
|
maxCallFrameSize: 16
|
|
cvBytesOfCalleeSavedRegisters: 0
|
|
hasOpaqueSPAdjustment: false
|
|
hasVAStart: false
|
|
hasMustTailInVarArgFunc: false
|
|
hasTailCall: false
|
|
localFrameSize: 0
|
|
savePoint: []
|
|
restorePoint: []
|
|
fixedStack: []
|
|
stack: []
|
|
callSites: []
|
|
debugValueSubstitutions: []
|
|
constants: []
|
|
machineFunctionInfo: {}
|
|
body: |
|
|
bb.0.entry:
|
|
successors: %bb.1(0x40000000), %bb.2(0x40000000)
|
|
liveins: $r0, $r1, $r2
|
|
|
|
DBG_VALUE $r0, $noreg, !37, !DIExpression(), debug-location !41
|
|
DBG_VALUE $r1, $noreg, !38, !DIExpression(), debug-location !41
|
|
DBG_VALUE $r2, $noreg, !39, !DIExpression(), debug-location !41
|
|
BUNDLE implicit-def $r3, implicit-def $r29, implicit-def $r30, implicit killed $gp, implicit killed $r29, implicit killed $framekey, implicit killed $framelimit, implicit $r30, implicit killed $r31, debug-location !42 {
|
|
renamable $r3 = L2_loadrigp @datafileptr, implicit killed $gp, debug-location !42 :: (dereferenceable load (s32) from @datafileptr, !tbaa !44)
|
|
$r29 = frame-setup S2_allocframe killed $r29, 16, implicit-def $r30, implicit killed $framekey, implicit killed $framelimit, implicit $r30, implicit killed $r31, debug-location !42 :: (store (s32) into stack)
|
|
}
|
|
DBG_VALUE 0, $noreg, !40, !DIExpression(), debug-location !41
|
|
DBG_VALUE $r0, $noreg, !37, !DIExpression(), debug-location !41
|
|
BUNDLE implicit-def dead $p0, implicit-def $pc, implicit $r3, debug-location !48 {
|
|
renamable $p0 = C2_cmpeqi renamable $r3, 0, debug-location !48
|
|
J2_jumpfnewpt internal killed renamable $p0, %bb.2, implicit-def $pc, debug-location !49
|
|
}
|
|
|
|
bb.1:
|
|
successors: %bb.4(0x80000000)
|
|
|
|
BUNDLE implicit-def $r1, implicit-def $r2, implicit-def $pc {
|
|
renamable $r1 = A2_tfrsi @.str
|
|
renamable $r2 = A2_tfrsi 30
|
|
J2_jump %bb.4, implicit-def $pc
|
|
}
|
|
|
|
bb.2.if.end:
|
|
successors: %bb.3(0x40000000), %bb.5(0x40000000)
|
|
liveins: $r0, $r1, $r2, $r3
|
|
|
|
DBG_VALUE $r4, $noreg, !37, !DIExpression(), debug-location !41
|
|
BUNDLE implicit-def $r4, implicit-def $d0, implicit-def $r0, implicit-def $r1, implicit killed $r0, implicit $r29, implicit killed $r1, implicit killed $r3, debug-location !41 {
|
|
$r4 = A2_tfr killed $r0
|
|
S2_storeri_io $r29, 8, killed renamable $r1, debug-location !50 :: (store (s32) into stack + 8)
|
|
$d0 = A4_combineir @.str.2, killed $r3, debug-location !50
|
|
}
|
|
BUNDLE implicit $r29, implicit killed $r2, implicit killed $r4, debug-location !50 {
|
|
S2_storeri_io $r29, 12, killed renamable $r2, debug-location !50 :: (store (s32) into stack + 12)
|
|
S2_storeri_io $r29, 4, killed renamable $r4, debug-location !50 :: (store (s32) into stack + 4)
|
|
}
|
|
DBG_VALUE $r0, $noreg, !40, !DIExpression(), debug-location !41
|
|
BUNDLE implicit-def $pc, implicit-def $r31, implicit-def $r29, implicit-def $r0, implicit $r29, implicit $r0, implicit $r1, debug-location !50 {
|
|
S4_storeiri_io $r29, 0, @.str.3, debug-location !50 :: (store (s32) into stack)
|
|
J2_call @fprintf, hexagoncsr, implicit-def $pc, implicit-def $r31, implicit $r29, implicit $r0, implicit $r1, implicit-def $r29, implicit-def $r0, debug-location !50
|
|
}
|
|
BUNDLE implicit-def dead $p0, implicit-def $pc, implicit killed $r0, debug-location !51 {
|
|
renamable $p0 = C2_cmpeqi killed renamable $r0, -1, debug-location !51
|
|
J2_jumpfnewpt internal killed renamable $p0, %bb.5, implicit-def $pc, debug-location !53
|
|
}
|
|
|
|
bb.3:
|
|
successors: %bb.4(0x80000000)
|
|
|
|
BUNDLE implicit-def $r1, implicit-def $r2 {
|
|
renamable $r1 = A2_tfrsi @.str.4
|
|
renamable $r2 = A2_tfrsi 37
|
|
}
|
|
|
|
bb.4.if.end5.sink.split:
|
|
successors: %bb.5(0x80000000)
|
|
liveins: $r1, $r2
|
|
|
|
BUNDLE implicit-def $r0, implicit $r29, implicit killed $r2, debug-location !41 {
|
|
$r0 = A2_tfrsi @_Stderr, debug-location !41
|
|
S2_storeri_io $r29, 4, killed renamable $r2, debug-location !41 :: (store (s32) into stack + 4)
|
|
}
|
|
BUNDLE implicit-def $pc, implicit-def $r31, implicit-def $r29, implicit-def $r0, implicit $r29, implicit $r0, implicit $r1, debug-location !41 {
|
|
S4_storeiri_io $r29, 0, @.str.1, debug-location !41 :: (store (s32) into stack)
|
|
J2_call @fprintf, hexagoncsr, implicit-def $pc, implicit-def $r31, implicit $r29, implicit $r0, implicit $r1, implicit-def $r29, implicit-def $r0, debug-location !41
|
|
}
|
|
|
|
bb.5.if.end5:
|
|
BUNDLE implicit-def $r0, implicit-def $r29, debug-location !54 {
|
|
$r0 = A2_tfrsi 1, debug-location !54
|
|
PS_call_nr @exit, hexagoncsr, implicit internal $r0, implicit-def $r29, debug-location !54
|
|
}
|
|
|
|
...
|