1 // RUN
: %clang
%cflags
-o
%t %s
2 // RUN
: llvm-bolt
--print-cfg
--print-only
=_start
-o
/dev
/null
%t \
14 // CHECK-LABEL
: Binary Function
"_start" after building cfg
{
16 /// The local label is used for
%pcrel_lo as well as
a jump target so
a new
17 /// basic block should start there.
18 // CHECK-LABEL
: {{^
}}.LBB00
20 // CHECK-LABEL
: {{^
}}.Ltmp0
21 // CHECK
: auipc t0
, %pcrel_hi
(d
) # Label: .Ltmp1
22 // CHECK-NEXT
: ld t0
, %pcrel_lo
(.Ltmp1)(t0)
23 // CHECK-NEXT
: j
.Ltmp0
26 auipc t0
, %pcrel_hi
(d
)
27 ld t0
, %pcrel_lo
(1b)(t0
)
30 /// The local label is used only for
%pcrel_lo so no new basic block should
32 // CHECK-LABEL
: {{^
}}.LFT0
34 // CHECK-NEXT
: auipc t0
, %pcrel_hi
(d
) # Label: .Ltmp2
35 // CHECK-NEXT
: ld t0
, %pcrel_lo
(.Ltmp2)(t0)
39 auipc t0
, %pcrel_hi
(d
)
40 ld t0
, %pcrel_lo
(1b)(t0
)
42 .size _start, .-_start