brintos

brintos / llvm-project-archived public Read only

0
0
Text · 8.1 KiB · ad7273a Raw
199 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py UTC_ARGS: --version 52# RUN: llc -mtriple=riscv64 -x mir -run-pass=prologepilog  -verify-machineinstrs < %s \3# RUN:  | FileCheck %s -check-prefixes=RV64I4# RUN: llc -mtriple=riscv32 -x mir -run-pass=prologepilog  -verify-machineinstrs < %s \5# RUN:  | FileCheck %s -check-prefixes=RV32I6--- |7  ; Function Attrs: uwtable8  define void @no_reserved_call_frame(i64 %n) #0 {9  entry:10    %v = alloca i32, i64 %n, align 411    call void @callee_stack_args(ptr %v, [518 x i64] poison)12    ret void13  }14 15  declare void @callee_stack_args(ptr, [518 x i64]) #116 17  attributes #0 = { uwtable "frame-pointer"="none" "probe-stack"="inline-asm" "target-features"="+m" }18  attributes #1 = { "target-features"="+m" }19...20---21name:            no_reserved_call_frame22alignment:       423exposesReturnsTwice: false24legalized:       false25regBankSelected: false26selected:        false27failedISel:      false28tracksRegLiveness: true29hasWinCFI:       false30noPhis:          true31isSSA:           false32noVRegs:         true33hasFakeUses:     false34callsEHReturn:   false35callsUnwindInit: false36hasEHContTarget: false37hasEHScopes:     false38hasEHFunclets:   false39isOutlined:      false40debugInstrRef:   false41failsVerification: false42tracksDebugUserValues: true43registers:       []44liveins:45  - { reg: '$x10', virtual-reg: '' }46frameInfo:47  isFrameAddressTaken: false48  isReturnAddressTaken: false49  hasStackMap:     false50  hasPatchPoint:   false51  stackSize:       052  offsetAdjustment: 053  maxAlignment:    854  adjustsStack:    true55  hasCalls:        true56  stackProtector:  ''57  functionContext: ''58  maxCallFrameSize: 429496729559  cvBytesOfCalleeSavedRegisters: 060  hasOpaqueSPAdjustment: false61  hasVAStart:      false62  hasMustTailInVarArgFunc: false63  hasTailCall:     false64  isCalleeSavedInfoValid: false65  localFrameSize:  066  savePoint:       []67  restorePoint:    []68fixedStack:      []69stack:70  - { id: 0, name: v, type: variable-sized, offset: 0, alignment: 1, stack-id: default,71      callee-saved-register: '', callee-saved-restored: true, local-offset: 0,72      debug-info-variable: '', debug-info-expression: '', debug-info-location: '' }73entry_values:    []74callSites:       []75debugValueSubstitutions: []76constants:       []77machineFunctionInfo:78  varArgsFrameIndex: 079  varArgsSaveSize: 080body:             |81  ; RV64I-LABEL: name: no_reserved_call_frame82  ; RV64I: bb.0.entry:83  ; RV64I-NEXT:   successors: %bb.1(0x80000000)84  ; RV64I-NEXT:   liveins: $x10, $x185  ; RV64I-NEXT: {{  $}}86  ; RV64I-NEXT:   $x2 = frame-setup ADDI $x2, -1687  ; RV64I-NEXT:   frame-setup CFI_INSTRUCTION def_cfa_offset 1688  ; RV64I-NEXT:   frame-setup SD killed $x1, $x2, 8 :: (store (s64) into %stack.1)89  ; RV64I-NEXT:   frame-setup SD killed $x8, $x2, 0 :: (store (s64) into %stack.2)90  ; RV64I-NEXT:   frame-setup CFI_INSTRUCTION offset $x1, -891  ; RV64I-NEXT:   frame-setup CFI_INSTRUCTION offset $x8, -1692  ; RV64I-NEXT:   $x8 = frame-setup ADDI $x2, 1693  ; RV64I-NEXT:   frame-setup CFI_INSTRUCTION def_cfa $x8, 094  ; RV64I-NEXT:   renamable $x10 = SLLI killed renamable $x10, 295  ; RV64I-NEXT:   renamable $x10 = nuw ADDI killed renamable $x10, 1596  ; RV64I-NEXT:   renamable $x10 = ANDI killed renamable $x10, -1697  ; RV64I-NEXT:   renamable $x10 = SUB $x2, killed renamable $x1098  ; RV64I-NEXT:   renamable $x11 = LUI 199  ; RV64I-NEXT: {{  $}}100  ; RV64I-NEXT: bb.1.entry:101  ; RV64I-NEXT:   successors: %bb.2(0x40000000), %bb.1(0x40000000)102  ; RV64I-NEXT:   liveins: $x10, $x11103  ; RV64I-NEXT: {{  $}}104  ; RV64I-NEXT:   $x2 = SUB $x2, renamable $x11105  ; RV64I-NEXT:   SD $x0, $x2, 0106  ; RV64I-NEXT:   BLT renamable $x10, $x2, %bb.1107  ; RV64I-NEXT: {{  $}}108  ; RV64I-NEXT: bb.2.entry:109  ; RV64I-NEXT:   liveins: $x10110  ; RV64I-NEXT: {{  $}}111  ; RV64I-NEXT:   $x2 = ADDI renamable $x10, 0112  ; RV64I-NEXT:   $x11 = LUI 1113  ; RV64I-NEXT:   $x2 = SUB $x2, killed $x11114  ; RV64I-NEXT:   PseudoCALL target-flags(riscv-call) @callee_stack_args, csr_ilp32_lp64, implicit-def dead $x1, implicit $x10, implicit undef $x11, implicit undef $x12, implicit undef $x13, implicit undef $x14, implicit undef $x15, implicit undef $x16, implicit undef $x17, implicit-def $x2115  ; RV64I-NEXT:   $x10 = LUI 1116  ; RV64I-NEXT:   $x2 = ADD $x2, killed $x10117  ; RV64I-NEXT:   $x2 = frame-destroy ADDI $x8, -16118  ; RV64I-NEXT:   frame-destroy CFI_INSTRUCTION def_cfa $x2, 16119  ; RV64I-NEXT:   $x1 = frame-destroy LD $x2, 8 :: (load (s64) from %stack.1)120  ; RV64I-NEXT:   $x8 = frame-destroy LD $x2, 0 :: (load (s64) from %stack.2)121  ; RV64I-NEXT:   frame-destroy CFI_INSTRUCTION restore $x1122  ; RV64I-NEXT:   frame-destroy CFI_INSTRUCTION restore $x8123  ; RV64I-NEXT:   $x2 = frame-destroy ADDI $x2, 16124  ; RV64I-NEXT:   frame-destroy CFI_INSTRUCTION def_cfa_offset 0125  ; RV64I-NEXT:   PseudoRET126  ;127  ; RV32I-LABEL: name: no_reserved_call_frame128  ; RV32I: bb.0.entry:129  ; RV32I-NEXT:   successors: %bb.1(0x80000000)130  ; RV32I-NEXT:   liveins: $x10, $x1131  ; RV32I-NEXT: {{  $}}132  ; RV32I-NEXT:   $x2 = frame-setup ADDI $x2, -16133  ; RV32I-NEXT:   frame-setup CFI_INSTRUCTION def_cfa_offset 16134  ; RV32I-NEXT:   frame-setup SW killed $x1, $x2, 12 :: (store (s32) into %stack.1)135  ; RV32I-NEXT:   frame-setup SW killed $x8, $x2, 8 :: (store (s32) into %stack.2)136  ; RV32I-NEXT:   frame-setup CFI_INSTRUCTION offset $x1, -4137  ; RV32I-NEXT:   frame-setup CFI_INSTRUCTION offset $x8, -8138  ; RV32I-NEXT:   $x8 = frame-setup ADDI $x2, 16139  ; RV32I-NEXT:   frame-setup CFI_INSTRUCTION def_cfa $x8, 0140  ; RV32I-NEXT:   renamable $x10 = SLLI killed renamable $x10, 2141  ; RV32I-NEXT:   renamable $x10 = nuw ADDI killed renamable $x10, 15142  ; RV32I-NEXT:   renamable $x10 = ANDI killed renamable $x10, -16143  ; RV32I-NEXT:   renamable $x10 = SUB $x2, killed renamable $x10144  ; RV32I-NEXT:   renamable $x11 = LUI 1145  ; RV32I-NEXT: {{  $}}146  ; RV32I-NEXT: bb.1.entry:147  ; RV32I-NEXT:   successors: %bb.2(0x40000000), %bb.1(0x40000000)148  ; RV32I-NEXT:   liveins: $x10, $x11149  ; RV32I-NEXT: {{  $}}150  ; RV32I-NEXT:   $x2 = SUB $x2, renamable $x11151  ; RV32I-NEXT:   SD $x0, $x2, 0152  ; RV32I-NEXT:   BLT renamable $x10, $x2, %bb.1153  ; RV32I-NEXT: {{  $}}154  ; RV32I-NEXT: bb.2.entry:155  ; RV32I-NEXT:   liveins: $x10156  ; RV32I-NEXT: {{  $}}157  ; RV32I-NEXT:   $x2 = ADDI renamable $x10, 0158  ; RV32I-NEXT:   $x11 = LUI 1159  ; RV32I-NEXT:   $x2 = SUB $x2, killed $x11160  ; RV32I-NEXT:   PseudoCALL target-flags(riscv-call) @callee_stack_args, csr_ilp32_lp64, implicit-def dead $x1, implicit $x10, implicit undef $x11, implicit undef $x12, implicit undef $x13, implicit undef $x14, implicit undef $x15, implicit undef $x16, implicit undef $x17, implicit-def $x2161  ; RV32I-NEXT:   $x10 = LUI 1162  ; RV32I-NEXT:   $x2 = ADD $x2, killed $x10163  ; RV32I-NEXT:   $x2 = frame-destroy ADDI $x8, -16164  ; RV32I-NEXT:   frame-destroy CFI_INSTRUCTION def_cfa $x2, 16165  ; RV32I-NEXT:   $x1 = frame-destroy LW $x2, 12 :: (load (s32) from %stack.1)166  ; RV32I-NEXT:   $x8 = frame-destroy LW $x2, 8 :: (load (s32) from %stack.2)167  ; RV32I-NEXT:   frame-destroy CFI_INSTRUCTION restore $x1168  ; RV32I-NEXT:   frame-destroy CFI_INSTRUCTION restore $x8169  ; RV32I-NEXT:   $x2 = frame-destroy ADDI $x2, 16170  ; RV32I-NEXT:   frame-destroy CFI_INSTRUCTION def_cfa_offset 0171  ; RV32I-NEXT:   PseudoRET172  bb.0.entry:173    successors: %bb.1(0x80000000)174    liveins: $x10175 176    renamable $x10 = SLLI killed renamable $x10, 2177    renamable $x10 = nuw ADDI killed renamable $x10, 15178    renamable $x10 = ANDI killed renamable $x10, -16179    renamable $x10 = SUB $x2, killed renamable $x10180    renamable $x11 = LUI 1181 182  bb.1.entry:183    successors: %bb.2(0x40000000), %bb.1(0x40000000)184    liveins: $x10, $x11185 186    $x2 = SUB $x2, renamable $x11187    SD $x0, $x2, 0188    BLT renamable $x10, $x2, %bb.1189 190  bb.2.entry:191    liveins: $x10192 193    $x2 = ADDI renamable $x10, 0194    ADJCALLSTACKDOWN 4088, 0, implicit-def dead $x2, implicit $x2195    PseudoCALL target-flags(riscv-call) @callee_stack_args, csr_ilp32_lp64, implicit-def dead $x1, implicit $x10, implicit undef $x11, implicit undef $x12, implicit undef $x13, implicit undef $x14, implicit undef $x15, implicit undef $x16, implicit undef $x17, implicit-def $x2196    ADJCALLSTACKUP 4088, 0, implicit-def dead $x2, implicit $x2197    PseudoRET198...199