[RISCV] Support postRA vsetvl insertion pass (#70549)
[llvm-project.git] / llvm / test / CodeGen / RISCV / rvv / addi-rvv-stack-object.mir
blob080a89e41f0d54eab67d9ee75c4efcefa2767923
1 # RUN: llc -mtriple=riscv64 -mattr=+v -run-pass prologepilog %s -o - | FileCheck %s
2 --- |
3   declare void @extern(ptr) #0
4   
5   define void @addi_rvv_stack_object() #0 {
6     %local0 = alloca <vscale x 16 x i8>, align 16
7     call void @extern(ptr %local0)
8     ret void
9   }
10   
11   attributes #0 = { "target-features"="+v" }
13 ...
14 ---
15 name:            addi_rvv_stack_object
16 alignment:       4
17 frameInfo:
18   isFrameAddressTaken: false
19   isReturnAddressTaken: false
20   hasStackMap:     false
21   hasPatchPoint:   false
22   stackSize:       0
23   offsetAdjustment: 0
24   maxAlignment:    16
25   adjustsStack:    true
26   hasCalls:        true
27   stackProtector:  ''
28   functionContext: ''
29   maxCallFrameSize: 4294967295
30   cvBytesOfCalleeSavedRegisters: 0
31   hasOpaqueSPAdjustment: false
32   hasVAStart:      false
33   hasMustTailInVarArgFunc: false
34   hasTailCall:     false
35   localFrameSize:  0
36   savePoint:       ''
37   restorePoint:    ''
38 fixedStack:      []
39 stack:
40   - { id: 0, name: local0, type: default, offset: 0, size: 16, alignment: 16, 
41       stack-id: scalable-vector, callee-saved-register: '', callee-saved-restored: true, 
42       debug-info-variable: '', debug-info-expression: '', debug-info-location: '' }
43 # CHECK: - { id: 2, name: '', type: default, offset: -16, size: 8, alignment: 8,
44 # CHECK:     stack-id: default, callee-saved-register: '', callee-saved-restored: true,
45 # CHECK:     debug-info-variable: '', debug-info-expression: '', debug-info-location: '' }
46 callSites:       []
47 debugValueSubstitutions: []
48 constants:       []
49 machineFunctionInfo:
50   varArgsFrameIndex: 0
51   varArgsSaveSize: 0
52 body:             |
53   bb.0 (%ir-block.0):
54     ADJCALLSTACKDOWN 0, 0, implicit-def dead $x2, implicit $x2
55     $x10 = ADDI %stack.0.local0, 0
56     PseudoCALL target-flags(riscv-call) @extern, csr_ilp32d_lp64d, implicit-def dead $x1, implicit killed $x10, implicit-def $x2
57     ADJCALLSTACKUP 0, 0, implicit-def dead $x2, implicit $x2
58     PseudoRET
60 ...