Run DCE after a LoopFlatten test to reduce spurious output [nfc]
[llvm-project.git] / llvm / test / DebugInfo / MIR / InstrRef / x86-lea-fixup-2.mir
blob5e088d3f460072716af37c09dd93354c57652ffa
1 # RUN: llc -run-pass x86-fixup-LEAs -mtriple=i386 -verify-machineinstrs -mcpu=corei7-avx -o - %s | FileCheck %s
3 # Test that several LEA => ADD transforms get substitutions applied to them,
4 # for corner cases that we can only hit with -mtriple=i386.
5 ---
6 name:            test2add_32
7 # CHECK: name: test2add_32
8 alignment:       16
9 tracksRegLiveness: true
10 debugInstrRef: true
11 liveins:
12   - { reg: '$eax' }
13   - { reg: '$ebp' }
14 # CHECK:       debugValueSubstitutions:
15 # CHECK-NAME:  - { srcinst: 1, srcop: 0, dstinst: 2, dstop: 0, subreg: 0 }
16 body:             |
17   bb.0:
18     liveins: $eax, $ebp
20     ; CHECK: $eax = ADD32ri {{.*}} debug-instr-number 2
21     $eax = LEA32r killed $eax, 1, killed $ebp, -5, $noreg, debug-instr-number 1
22     RET64 $eax
24 ...
25 ---
26 name:            testleais_ebp_32
27 # CHECK-LABEL: name: testleais_ebp_32
28 alignment:       16
29 tracksRegLiveness: true
30 debugInstrRef: true
31 liveins:
32   - { reg: '$eax' }
33   - { reg: '$ebx' }
34   - { reg: '$ebp' }
35 # CHECK:       debugValueSubstitutions:
36 # CHECK-NEXT:  - { srcinst: 1, srcop: 0, dstinst: 2, dstop: 0, subreg: 0 }
37 body:             |
38   bb.0:
39     liveins: $eax, $ebp, $ebx
41     ; CHECK: $ebx = LEA32r $noreg, 2, $ebp, 0, $noreg, debug-instr-number 2
42     $ebx = LEA32r killed $ebp, 1, $ebp, 0, $noreg, debug-instr-number 1
43     RET64 $ebx
45 ...
46 ---
47 name:            testleabid_ebp_leaisd_32
48 # CHECK-LABEL: name: testleabid_ebp_leaisd_32
49 alignment:       16
50 tracksRegLiveness: true
51 debugInstrRef: true
52 liveins:
53   - { reg: '$ebx' }
54   - { reg: '$ebp' }
55 # CHECK:       debugValueSubstitutions:
56 # CHECK-NEXT:  - { srcinst: 1, srcop: 0, dstinst: 2, dstop: 0, subreg: 0 }
57 body:             |
58   bb.0:
59     liveins: $eax, $ebp, $ebx
61     ; CHECK: $ebx = LEA32r $noreg, 2, $ebp, 5, $noreg, debug-instr-number 2
62     $ebx = LEA32r $ebp, 1, $ebp, 5, $noreg, debug-instr-number 1
63     RET64 $ebx
65 ...