Revert r354244 "[DAGCombiner] Eliminate dead stores to stack."
[llvm-complete.git] / test / CodeGen / Mips / indirect-jump-hazard / guards-verify-call.mir
blob9298d9418dafd81f5d8939f485f1a38d9bf136ab
1 # RUN: not llc -mtriple=mips-mti-linux-gnu -mcpu=mips32r2 %s \
2 # RUN:         -start-after=expand-isel-pseudos -stop-after=expand-isel-pseudos \
3 # RUN:         -verify-machineinstrs -mattr=+use-indirect-jump-hazard -o - 2>&1 \
4 # RUN:   | FileCheck %s
6 # Test that calls are checked when using indirect jumps guards (hazard variant).
8 # CHECK: Bad machine code: invalid instruction when using jump guards!
9 --- |
10   define i32 @fooTail(i32 (i32)* nocapture %f1) {
11   entry:
12     %0 = tail call i32 %f1(i32 14)
13     ret i32 %0
14   }
15 ...
16 ---
17 name:            fooTail
18 alignment:       2
19 exposesReturnsTwice: false
20 legalized:       false
21 regBankSelected: false
22 selected:        false
23 tracksRegLiveness: true
24 registers:
25   - { id: 0, class: gpr32, preferred-register: '' }
26   - { id: 1, class: gpr32, preferred-register: '' }
27 liveins:
28   - { reg: '$a0', virtual-reg: '%0' }
29 frameInfo:
30   isFrameAddressTaken: false
31   isReturnAddressTaken: false
32   hasStackMap:     false
33   hasPatchPoint:   false
34   stackSize:       0
35   offsetAdjustment: 0
36   maxAlignment:    1
37   adjustsStack:    false
38   hasCalls:        false
39   stackProtector:  ''
40   maxCallFrameSize: 4294967295
41   hasOpaqueSPAdjustment: false
42   hasVAStart:      false
43   hasMustTailInVarArgFunc: false
44   savePoint:       ''
45   restorePoint:    ''
46 fixedStack:
47 stack:
48 constants:
49 body:             |
50   bb.0.entry:
51     liveins: $a0
53     %0:gpr32 = COPY $a0
54     %1:gpr32 = ADDiu $zero, 14
55     $a0 = COPY %1
56     TAILCALLREG %0, csr_o32, implicit-def dead $at, implicit $a0
58 ...