Skip to content

Commit 6785108

Browse files
committed
[X86] Autogenerate checks in leaFixup32.mir and leaFixup64.mir. NFC
llvm-svn: 373878
1 parent 2c4f078 commit 6785108

File tree

2 files changed

+294
-156
lines changed

2 files changed

+294
-156
lines changed

llvm/test/CodeGen/X86/leaFixup32.mir

Lines changed: 101 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
12
# RUN: llc -run-pass x86-fixup-LEAs -mtriple=i386 -verify-machineinstrs -mcpu=corei7-avx -o - %s | FileCheck %s
23
--- |
34
; ModuleID = 'test/CodeGen/X86/fixup-lea.ll'
@@ -40,13 +41,13 @@
4041
define i32 @test1lea_ebp_32() {
4142
ret i32 0
4243
}
43-
44+
4445
;test2addi32_32: 3 operands LEA32r that can be replaced with 2 add instructions where ADD32ri32
4546
; is chosen
4647
define i32 @test2addi32_32() {
4748
ret i32 0
4849
}
49-
50+
5051
;test1mov1add_ebp_32: 2 operands LEA32r that can be replaced with 1 add 1 mov instructions
5152
; where the base is rbp/r13/ebp register
5253
define i32 @test1mov1add_ebp_32() {
@@ -64,7 +65,7 @@
6465
define i32 @testleaadd_ebp_index2_32() {
6566
ret i32 0
6667
}
67-
68+
6869
;test_skip_opt_32: 3 operands LEA32r that can not be replaced with 2 instructions
6970
define i32 @test_skip_opt_32() {
7071
ret i32 0
@@ -84,10 +85,10 @@ legalized: false
8485
regBankSelected: false
8586
selected: false
8687
tracksRegLiveness: true
87-
liveins:
88+
liveins:
8889
- { reg: '$eax' }
8990
- { reg: '$ebp' }
90-
frameInfo:
91+
frameInfo:
9192
isFrameAddressTaken: false
9293
isReturnAddressTaken: false
9394
hasStackMap: false
@@ -104,9 +105,12 @@ frameInfo:
104105
body: |
105106
bb.0 (%ir-block.0):
106107
liveins: $eax, $ebp
107-
; CHECK: $eax = ADD32rr $eax, $ebp
108-
; CHECK: $eax = ADD32ri8 $eax, -5
109-
108+
109+
; CHECK-LABEL: name: test2add_32
110+
; CHECK: liveins: $eax, $ebp
111+
; CHECK: $eax = ADD32rr $eax, $ebp, implicit-def $eflags
112+
; CHECK: $eax = ADD32ri8 $eax, -5, implicit-def $eflags
113+
; CHECK: RETQ $eax
110114
$eax = LEA32r killed $eax, 1, killed $ebp, -5, $noreg
111115
RETQ $eax
112116
@@ -119,10 +123,10 @@ legalized: false
119123
regBankSelected: false
120124
selected: false
121125
tracksRegLiveness: true
122-
liveins:
126+
liveins:
123127
- { reg: '$eax' }
124128
- { reg: '$ebp' }
125-
frameInfo:
129+
frameInfo:
126130
isFrameAddressTaken: false
127131
isReturnAddressTaken: false
128132
hasStackMap: false
@@ -139,9 +143,12 @@ frameInfo:
139143
body: |
140144
bb.0 (%ir-block.0):
141145
liveins: $eax, $ebp
142-
; CHECK: $ebp = ADD32rr $ebp, $eax
143-
; CHECK: $ebp = ADD32ri8 $ebp, -5
144-
146+
147+
; CHECK-LABEL: name: test2add_ebp_32
148+
; CHECK: liveins: $eax, $ebp
149+
; CHECK: $ebp = ADD32rr $ebp, $eax, implicit-def $eflags
150+
; CHECK: $ebp = ADD32ri8 $ebp, -5, implicit-def $eflags
151+
; CHECK: RETQ $ebp
145152
$ebp = LEA32r killed $ebp, 1, killed $eax, -5, $noreg
146153
RETQ $ebp
147154
@@ -154,10 +161,10 @@ legalized: false
154161
regBankSelected: false
155162
selected: false
156163
tracksRegLiveness: true
157-
liveins:
164+
liveins:
158165
- { reg: '$eax' }
159166
- { reg: '$ebp' }
160-
frameInfo:
167+
frameInfo:
161168
isFrameAddressTaken: false
162169
isReturnAddressTaken: false
163170
hasStackMap: false
@@ -174,8 +181,11 @@ frameInfo:
174181
body: |
175182
bb.0 (%ir-block.0):
176183
liveins: $eax, $ebp
177-
; CHECK: $ebp = ADD32rr $ebp, $eax
178-
184+
185+
; CHECK-LABEL: name: test1add_ebp_32
186+
; CHECK: liveins: $eax, $ebp
187+
; CHECK: $ebp = ADD32rr $ebp, $eax, implicit-def $eflags
188+
; CHECK: RETQ $ebp
179189
$ebp = LEA32r killed $ebp, 1, killed $eax, 0, $noreg
180190
RETQ $ebp
181191
@@ -188,11 +198,11 @@ legalized: false
188198
regBankSelected: false
189199
selected: false
190200
tracksRegLiveness: true
191-
liveins:
201+
liveins:
192202
- { reg: '$eax' }
193203
- { reg: '$ebp' }
194204
- { reg: '$ebx' }
195-
frameInfo:
205+
frameInfo:
196206
isFrameAddressTaken: false
197207
isReturnAddressTaken: false
198208
hasStackMap: false
@@ -209,9 +219,12 @@ frameInfo:
209219
body: |
210220
bb.0 (%ir-block.0):
211221
liveins: $eax, $ebp, $esi
212-
; CHECK: $ebx = LEA32r killed $eax, 1, killed $ebp, 0
213-
; CHECK: $ebx = ADD32ri8 $ebx, -5
214-
222+
223+
; CHECK-LABEL: name: testleaadd_32
224+
; CHECK: liveins: $eax, $ebp, $esi
225+
; CHECK: $ebx = LEA32r killed $eax, 1, killed $ebp, 0, $noreg
226+
; CHECK: $ebx = ADD32ri8 $ebx, -5, implicit-def $eflags
227+
; CHECK: RETQ $ebx
215228
$ebx = LEA32r killed $eax, 1, killed $ebp, -5, $noreg
216229
RETQ $ebx
217230
@@ -224,11 +237,11 @@ legalized: false
224237
regBankSelected: false
225238
selected: false
226239
tracksRegLiveness: true
227-
liveins:
240+
liveins:
228241
- { reg: '$eax' }
229242
- { reg: '$ebp' }
230243
- { reg: '$ebx' }
231-
frameInfo:
244+
frameInfo:
232245
isFrameAddressTaken: false
233246
isReturnAddressTaken: false
234247
hasStackMap: false
@@ -245,9 +258,12 @@ frameInfo:
245258
body: |
246259
bb.0 (%ir-block.0):
247260
liveins: $eax, $ebp
261+
262+
; CHECK-LABEL: name: testleaadd_ebp_32
263+
; CHECK: liveins: $eax, $ebp
248264
; CHECK: $ebx = LEA32r killed $eax, 1, killed $ebp, 0, $noreg
249-
; CHECK: $ebx = ADD32ri8 $ebx, -5
250-
265+
; CHECK: $ebx = ADD32ri8 $ebx, -5, implicit-def $eflags
266+
; CHECK: RETQ $ebx
251267
$ebx = LEA32r killed $ebp, 1, killed $eax, -5, $noreg
252268
RETQ $ebx
253269
@@ -260,11 +276,11 @@ legalized: false
260276
regBankSelected: false
261277
selected: false
262278
tracksRegLiveness: true
263-
liveins:
279+
liveins:
264280
- { reg: '$eax' }
265281
- { reg: '$ebp' }
266282
- { reg: '$ebx' }
267-
frameInfo:
283+
frameInfo:
268284
isFrameAddressTaken: false
269285
isReturnAddressTaken: false
270286
hasStackMap: false
@@ -281,8 +297,11 @@ frameInfo:
281297
body: |
282298
bb.0 (%ir-block.0):
283299
liveins: $eax, $ebp
300+
301+
; CHECK-LABEL: name: test1lea_ebp_32
302+
; CHECK: liveins: $eax, $ebp
284303
; CHECK: $ebx = LEA32r killed $eax, 1, killed $ebp, 0, $noreg
285-
304+
; CHECK: RETQ $ebx
286305
$ebx = LEA32r killed $ebp, 1, killed $eax, 0, $noreg
287306
RETQ $ebx
288307
@@ -295,10 +314,10 @@ legalized: false
295314
regBankSelected: false
296315
selected: false
297316
tracksRegLiveness: true
298-
liveins:
317+
liveins:
299318
- { reg: '$eax' }
300319
- { reg: '$ebp' }
301-
frameInfo:
320+
frameInfo:
302321
isFrameAddressTaken: false
303322
isReturnAddressTaken: false
304323
hasStackMap: false
@@ -315,9 +334,12 @@ frameInfo:
315334
body: |
316335
bb.0 (%ir-block.0):
317336
liveins: $eax, $ebp
318-
; CHECK: $eax = ADD32rr $eax, $ebp
319-
; CHECK: $eax = ADD32ri $eax, 129
320-
337+
338+
; CHECK-LABEL: name: test2addi32_32
339+
; CHECK: liveins: $eax, $ebp
340+
; CHECK: $eax = ADD32rr $eax, $ebp, implicit-def $eflags
341+
; CHECK: $eax = ADD32ri $eax, 129, implicit-def $eflags
342+
; CHECK: RETQ $eax
321343
$eax = LEA32r killed $eax, 1, killed $ebp, 129, $noreg
322344
RETQ $eax
323345
@@ -330,11 +352,11 @@ legalized: false
330352
regBankSelected: false
331353
selected: false
332354
tracksRegLiveness: true
333-
liveins:
355+
liveins:
334356
- { reg: '$eax' }
335357
- { reg: '$ebx' }
336358
- { reg: '$ebp' }
337-
frameInfo:
359+
frameInfo:
338360
isFrameAddressTaken: false
339361
isReturnAddressTaken: false
340362
hasStackMap: false
@@ -351,9 +373,13 @@ frameInfo:
351373
body: |
352374
bb.0 (%ir-block.0):
353375
liveins: $eax, $ebp, $ebx
354-
; CHECK: $ebx = MOV32rr $ebp
355-
; CHECK: $ebx = ADD32rr $ebx, $ebp
356-
376+
377+
; CHECK-LABEL: name: test1mov1add_ebp_32
378+
; CHECK: liveins: $eax, $ebp, $ebx
379+
; CHECK: $ebx = MOV32rr $ebp
380+
; CHECK: $ebx = ADD32rr $ebx, $ebp, implicit-def $eflags
381+
; CHECK: $ebx = LEA32r killed $ebp, 1, $ebp, 0, $noreg
382+
; CHECK: RETQ $ebx
357383
$ebx = LEA32r killed $ebp, 1, $ebp, 0, $noreg
358384
RETQ $ebx
359385
@@ -366,10 +392,10 @@ legalized: false
366392
regBankSelected: false
367393
selected: false
368394
tracksRegLiveness: true
369-
liveins:
395+
liveins:
370396
- { reg: '$ebx' }
371397
- { reg: '$ebp' }
372-
frameInfo:
398+
frameInfo:
373399
isFrameAddressTaken: false
374400
isReturnAddressTaken: false
375401
hasStackMap: false
@@ -386,9 +412,12 @@ frameInfo:
386412
body: |
387413
bb.0 (%ir-block.0):
388414
liveins: $eax, $ebp, $ebx
415+
416+
; CHECK-LABEL: name: testleaadd_ebp_index_32
417+
; CHECK: liveins: $eax, $ebp, $ebx
389418
; CHECK: $ebx = LEA32r $noreg, 1, $ebp, 5, $noreg
390-
; CHECK: $ebx = ADD32rr $ebx, $ebp
391-
419+
; CHECK: $ebx = ADD32rr $ebx, $ebp, implicit-def $eflags
420+
; CHECK: RETQ $ebx
392421
$ebx = LEA32r $ebp, 1, $ebp, 5, $noreg
393422
RETQ $ebx
394423
@@ -401,10 +430,10 @@ legalized: false
401430
regBankSelected: false
402431
selected: false
403432
tracksRegLiveness: true
404-
liveins:
433+
liveins:
405434
- { reg: '$ebx' }
406435
- { reg: '$ebp' }
407-
frameInfo:
436+
frameInfo:
408437
isFrameAddressTaken: false
409438
isReturnAddressTaken: false
410439
hasStackMap: false
@@ -421,9 +450,12 @@ frameInfo:
421450
body: |
422451
bb.0 (%ir-block.0):
423452
liveins: $eax, $ebp, $ebx
453+
454+
; CHECK-LABEL: name: testleaadd_ebp_index2_32
455+
; CHECK: liveins: $eax, $ebp, $ebx
424456
; CHECK: $ebx = LEA32r $noreg, 4, $ebp, 5, $noreg
425-
; CHECK: $ebx = ADD32rr $ebx, $ebp
426-
457+
; CHECK: $ebx = ADD32rr $ebx, $ebp, implicit-def $eflags
458+
; CHECK: RETQ $ebx
427459
$ebx = LEA32r $ebp, 4, $ebp, 5, $noreg
428460
RETQ $ebx
429461
@@ -436,10 +468,10 @@ legalized: false
436468
regBankSelected: false
437469
selected: false
438470
tracksRegLiveness: true
439-
liveins:
471+
liveins:
440472
- { reg: '$ebx' }
441473
- { reg: '$ebp' }
442-
frameInfo:
474+
frameInfo:
443475
isFrameAddressTaken: false
444476
isReturnAddressTaken: false
445477
hasStackMap: false
@@ -456,8 +488,11 @@ frameInfo:
456488
body: |
457489
bb.0 (%ir-block.0):
458490
liveins: $eax, $ebp, $ebx
491+
492+
; CHECK-LABEL: name: test_skip_opt_32
493+
; CHECK: liveins: $eax, $ebp, $ebx
459494
; CHECK: $ebp = LEA32r killed $ebp, 4, killed $ebp, 0, $noreg
460-
495+
; CHECK: RETQ $ebp
461496
$ebp = LEA32r killed $ebp, 4, killed $ebp, 0, $noreg
462497
RETQ $ebp
463498
@@ -470,10 +505,10 @@ legalized: false
470505
regBankSelected: false
471506
selected: false
472507
tracksRegLiveness: true
473-
liveins:
508+
liveins:
474509
- { reg: '$ebp' }
475510
- { reg: '$eax' }
476-
frameInfo:
511+
frameInfo:
477512
isFrameAddressTaken: false
478513
isReturnAddressTaken: false
479514
hasStackMap: false
@@ -488,12 +523,22 @@ frameInfo:
488523
hasVAStart: false
489524
hasMustTailInVarArgFunc: false
490525
body: |
526+
; CHECK-LABEL: name: test_skip_eflags_32
527+
; CHECK: bb.0 (%ir-block.0):
528+
; CHECK: successors: %bb.1(0x80000000)
529+
; CHECK: liveins: $eax, $ebp, $ebx
530+
; CHECK: CMP32rr $eax, killed $ebx, implicit-def $eflags
531+
; CHECK: $ebx = LEA32r killed $eax, 4, killed $eax, 5, $noreg
532+
; CHECK: JCC_1 %bb.1, 4, implicit $eflags
533+
; CHECK: RETQ $ebx
534+
; CHECK: bb.1:
535+
; CHECK: liveins: $eax, $ebp, $ebx
536+
; CHECK: $ebp = LEA32r killed $ebx, 4, killed $ebx, 0, $noreg
537+
; CHECK: $ebp = ADD32ri8 $ebp, 5, implicit-def $eflags
538+
; CHECK: RETQ $ebp
491539
bb.0 (%ir-block.0):
492540
liveins: $eax, $ebp, $ebx
493-
; CHECK: $ebx = LEA32r killed $eax, 4, killed $eax, 5, $noreg
494-
; CHECK: $ebp = LEA32r killed $ebx, 4, killed $ebx, 0, $noreg
495-
; CHECK: $ebp = ADD32ri8 $ebp, 5
496-
541+
497542
CMP32rr $eax, killed $ebx, implicit-def $eflags
498543
$ebx = LEA32r killed $eax, 4, killed $eax, 5, $noreg
499544
JCC_1 %bb.1, 4, implicit $eflags

0 commit comments

Comments
 (0)