[MIParser] Set RegClassOrRegBank during instruction parsing
[llvm-complete.git] / test / CodeGen / PowerPC / remove-implicit-use.mir
blob28faace491173c783289fbc58f1e610eac9aaf94
1 # RUN: llc -mtriple=powerpc64le-unknown-unknown -start-after=ppc-mi-peepholes \ 
2 # RUN: -stop-before=ppc-expand-isel -verify-machineinstrs %s -o - | FileCheck %s
3 --- |
4   ; ModuleID = 'a.ll'
5   source_filename = "a.c"   
6   target datalayout = "e-m:e-i64:64-n32:64"
7   target triple = "powerpc64le-unknown-linux-gnu"
9   ; Function Attrs: norecurse nounwind readnone
10   define signext i32 @test(i32 signext %a, i32 signext %b, i32 signext %c) local_unnamed_addr #0 {
11   entry:
12     %cmp = icmp sgt i32 %a, %b
13     %add = add nsw i32 %c, %b
14     %cond = select i1 %cmp, i32 %a, i32 %add
15     ret i32 %cond
16   }
18   
19   !llvm.module.flags = !{!0, !1}
20   !llvm.ident = !{!2}
21   
22   !0 = !{i32 1, !"wchar_size", i32 4}
23   !1 = !{i32 7, !"PIC Level", i32 2}
24   !2 = !{!"clang version 8.0.0 (trunk 347251)"}
26 ...
27 ---
28 name:            test
29 alignment:       16
30 exposesReturnsTwice: false
31 legalized:       false
32 regBankSelected: false
33 selected:        false
34 failedISel:      false
35 tracksRegLiveness: true
36 hasWinCFI:       false
37 registers:       []
38 liveins:         
39   - { reg: '$x3', virtual-reg: '' }
40   - { reg: '$x4', virtual-reg: '' }
41   - { reg: '$x5', virtual-reg: '' }
42 frameInfo:       
43   isFrameAddressTaken: false
44   isReturnAddressTaken: false
45   hasStackMap:     false
46   hasPatchPoint:   false
47   stackSize:       0
48   offsetAdjustment: 0
49   maxAlignment:    0
50   adjustsStack:    false
51   hasCalls:        false
52   stackProtector:  ''
53   maxCallFrameSize: 0
54   cvBytesOfCalleeSavedRegisters: 0
55   hasOpaqueSPAdjustment: false
56   hasVAStart:      false
57   hasMustTailInVarArgFunc: false
58   localFrameSize:  0
59   savePoint:       ''
60   restorePoint:    ''
61 fixedStack:      []
62 stack:           []
63 constants:       []
64 body:             |
65   bb.0.entry:
66     liveins: $x3, $x5
68     renamable $r4 = LI 0
69     renamable $r5 = nsw ADD4 killed renamable $r5, renamable $r5, implicit $x5
70     renamable $cr0 = CMPW renamable $r3, killed renamable $r4, implicit $x4
71     ; CHECK: ADD4
72     ; CHECK-NOT: implicit $x4
73     renamable $r3 = ISEL killed renamable $r3, killed renamable $r5, killed renamable $cr0gt, implicit $cr0, implicit $x3
74     renamable $x3 = EXTSW_32_64 killed renamable $r3
75     BLR8 implicit $lr8, implicit $rm, implicit killed $x3
77 ...