139 lines · plain
1# RUN: llc -mtriple=riscv64 -run-pass none %s -o - | FileCheck %s2 3--- |4 ; ModuleID = 'foo.ll'5 source_filename = "foo.ll"6 target datalayout = "e-m:e-p:64:64-i64:64-i128:128-n64-S128"7 target triple = "riscv64"8 9 define void @foo(i32 %0, ...) {10 ret void11 }12 13...14---15name: foo16alignment: 417exposesReturnsTwice: false18legalized: false19regBankSelected: false20selected: false21failedISel: false22tracksRegLiveness: true23hasWinCFI: false24failsVerification: false25tracksDebugUserValues: false26registers:27 - { id: 0, class: gpr, preferred-register: '' }28 - { id: 1, class: gpr, preferred-register: '' }29 - { id: 2, class: gpr, preferred-register: '' }30 - { id: 3, class: gpr, preferred-register: '' }31 - { id: 4, class: gpr, preferred-register: '' }32 - { id: 5, class: gpr, preferred-register: '' }33 - { id: 6, class: gpr, preferred-register: '' }34 - { id: 7, class: gpr, preferred-register: '' }35liveins:36 - { reg: '$x11', virtual-reg: '%1' }37 - { reg: '$x12', virtual-reg: '%2' }38 - { reg: '$x13', virtual-reg: '%3' }39 - { reg: '$x14', virtual-reg: '%4' }40 - { reg: '$x15', virtual-reg: '%5' }41 - { reg: '$x16', virtual-reg: '%6' }42 - { reg: '$x17', virtual-reg: '%7' }43frameInfo:44 isFrameAddressTaken: false45 isReturnAddressTaken: false46 hasStackMap: false47 hasPatchPoint: false48 stackSize: 049 offsetAdjustment: 050 maxAlignment: 151 adjustsStack: false52 hasCalls: false53 stackProtector: ''54 maxCallFrameSize: 429496729555 cvBytesOfCalleeSavedRegisters: 056 hasOpaqueSPAdjustment: false57 hasVAStart: false58 hasMustTailInVarArgFunc: false59 hasTailCall: false60 localFrameSize: 061 savePoint: []62 restorePoint: []63fixedStack:64 - { id: 0, type: default, offset: -8, size: 8, alignment: 8, stack-id: default,65 isImmutable: true, isAliased: false, callee-saved-register: '', callee-saved-restored: true,66 debug-info-variable: '', debug-info-expression: '', debug-info-location: '' }67 - { id: 1, type: default, offset: -16, size: 8, alignment: 16, stack-id: default,68 isImmutable: true, isAliased: false, callee-saved-register: '', callee-saved-restored: true,69 debug-info-variable: '', debug-info-expression: '', debug-info-location: '' }70 - { id: 2, type: default, offset: -24, size: 8, alignment: 8, stack-id: default,71 isImmutable: true, isAliased: false, callee-saved-register: '', callee-saved-restored: true,72 debug-info-variable: '', debug-info-expression: '', debug-info-location: '' }73 - { id: 3, type: default, offset: -32, size: 8, alignment: 16, stack-id: default,74 isImmutable: true, isAliased: false, callee-saved-register: '', callee-saved-restored: true,75 debug-info-variable: '', debug-info-expression: '', debug-info-location: '' }76 - { id: 4, type: default, offset: -40, size: 8, alignment: 8, stack-id: default,77 isImmutable: true, isAliased: false, callee-saved-register: '', callee-saved-restored: true,78 debug-info-variable: '', debug-info-expression: '', debug-info-location: '' }79 - { id: 5, type: default, offset: -48, size: 8, alignment: 16, stack-id: default,80 isImmutable: true, isAliased: false, callee-saved-register: '', callee-saved-restored: true,81 debug-info-variable: '', debug-info-expression: '', debug-info-location: '' }82 - { id: 6, type: default, offset: -56, size: 8, alignment: 8, stack-id: default,83 isImmutable: true, isAliased: false, callee-saved-register: '', callee-saved-restored: true,84 debug-info-variable: '', debug-info-expression: '', debug-info-location: '' }85 - { id: 7, type: default, offset: -64, size: 8, alignment: 16, stack-id: default,86 isImmutable: true, isAliased: false, callee-saved-register: '', callee-saved-restored: true,87 debug-info-variable: '', debug-info-expression: '', debug-info-location: '' }88 - { id: 8, type: default, offset: -56, size: 8, alignment: 8, stack-id: default,89 isImmutable: true, isAliased: false, callee-saved-register: '', callee-saved-restored: true,90 debug-info-variable: '', debug-info-expression: '', debug-info-location: '' }91stack: []92callSites: []93debugValueSubstitutions: []94constants: []95machineFunctionInfo:96 varArgsFrameIndex: -197 varArgsSaveSize: 6498body: |99 bb.0 (%ir-block.1):100 liveins: $x11, $x12, $x13, $x14, $x15, $x16, $x17101 ; CHECK-LABEL: name: foo102 ; CHECK: machineFunctionInfo:103 ; CHECK-NEXT: varArgsFrameIndex: -1104 ; CHECK-NEXT: varArgsSaveSize: 64105 ; CHECK: liveins: $x11, $x12, $x13, $x14, $x15, $x16, $x17106 ; CHECK-NEXT: {{ $}}107 ; CHECK-NEXT: [[COPY:%[0-9]+]]:gpr = COPY $x17108 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:gpr = COPY $x16109 ; CHECK-NEXT: [[COPY2:%[0-9]+]]:gpr = COPY $x15110 ; CHECK-NEXT: [[COPY3:%[0-9]+]]:gpr = COPY $x14111 ; CHECK-NEXT: [[COPY4:%[0-9]+]]:gpr = COPY $x13112 ; CHECK-NEXT: [[COPY5:%[0-9]+]]:gpr = COPY $x12113 ; CHECK-NEXT: [[COPY6:%[0-9]+]]:gpr = COPY $x11114 ; CHECK-NEXT: SD [[COPY]], %fixed-stack.8, 0 :: (store (s64))115 ; CHECK-NEXT: SD [[COPY1]], %fixed-stack.7, 0 :: (store (s64) into %fixed-stack.7, align 16)116 ; CHECK-NEXT: SD [[COPY2]], %fixed-stack.6, 0 :: (store (s64))117 ; CHECK-NEXT: SD [[COPY3]], %fixed-stack.5, 0 :: (store (s64) into %fixed-stack.5, align 16)118 ; CHECK-NEXT: SD [[COPY4]], %fixed-stack.4, 0 :: (store (s64))119 ; CHECK-NEXT: SD [[COPY5]], %fixed-stack.3, 0 :: (store (s64) into %fixed-stack.3, align 16)120 ; CHECK-NEXT: SD [[COPY6]], %fixed-stack.2, 0 :: (store (s64))121 ; CHECK-NEXT: PseudoRET122 %7:gpr = COPY $x17123 %6:gpr = COPY $x16124 %5:gpr = COPY $x15125 %4:gpr = COPY $x14126 %3:gpr = COPY $x13127 %2:gpr = COPY $x12128 %1:gpr = COPY $x11129 SD %7, %fixed-stack.0, 0 :: (store (s64))130 SD %6, %fixed-stack.1, 0 :: (store (s64) into %fixed-stack.1, align 16)131 SD %5, %fixed-stack.2, 0 :: (store (s64))132 SD %4, %fixed-stack.3, 0 :: (store (s64) into %fixed-stack.3, align 16)133 SD %3, %fixed-stack.4, 0 :: (store (s64))134 SD %2, %fixed-stack.5, 0 :: (store (s64) into %fixed-stack.5, align 16)135 SD %1, %fixed-stack.6, 0 :: (store (s64))136 PseudoRET137 138...139