• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# RUN: llc -mtriple=x86_64-- -verify-machineinstrs -run-pass block-placement -o - %s | FileCheck %s
2# Check the conditional jump in bb.1 is changed to unconditional after block placement swaps bb.2 and bb.3.
3
4--- |
5  @a = external global i16
6  @b = external global i32
7
8  declare void @dummy1()
9  declare void @dummy2()
10  declare void @dummy3()
11
12  ; Function Attrs: nounwind
13  define void @f2() {
14    br i1 undef, label %bb1, label %bb3
15
16  bb1:
17    call void @dummy1()
18    call void @dummy1()
19    call void @dummy1()
20    br i1 undef, label %bb2, label %bb2
21
22  bb2:
23    call void @dummy2()
24    call void @dummy2()
25    call void @dummy2()
26    br label %bb4
27
28  bb3:
29    call void @dummy3()
30    call void @dummy3()
31    call void @dummy3()
32    br label %bb2
33
34  bb4:
35    ret void
36  }
37
38
39...
40---
41# CHECK-LABEL: name: f2
42# CHECK: bb.1:
43# CHECK: JMP_1 %bb.2
44# CHECK: bb.3:
45# CHECK: bb.2:
46name:            f2
47body:             |
48  bb.0 (%ir-block.0):
49    successors: %bb.1(50), %bb.3(50)
50
51    JNE_1 %bb.1, implicit $eflags
52    JMP_1 %bb.3
53  bb.1:
54    successors: %bb.2(100)
55
56    CALL64pcrel32 @dummy1, csr_64, implicit $rsp, implicit-def $rsp
57    CALL64pcrel32 @dummy1, csr_64, implicit $rsp, implicit-def $rsp
58    CALL64pcrel32 @dummy1, csr_64, implicit $rsp, implicit-def $rsp
59    JNE_1 %bb.2, implicit $eflags
60
61  bb.2:
62    successors: %bb.4(100)
63
64    CALL64pcrel32 @dummy2, csr_64, implicit $rsp, implicit-def $rsp
65    CALL64pcrel32 @dummy2, csr_64, implicit $rsp, implicit-def $rsp
66    CALL64pcrel32 @dummy2, csr_64, implicit $rsp, implicit-def $rsp
67    JMP_1 %bb.4
68
69  bb.3:
70    successors: %bb.2(100)
71    CALL64pcrel32 @dummy3, csr_64, implicit $rsp, implicit-def $rsp
72    CALL64pcrel32 @dummy3, csr_64, implicit $rsp, implicit-def $rsp
73    CALL64pcrel32 @dummy3, csr_64, implicit $rsp, implicit-def $rsp
74    JMP_1 %bb.2
75
76  bb.4:
77    RETQ
78
79...
80