xref: /llvm-project/bolt/test/X86/sctc-bug4.test (revision ca06b610841c849eb1db43ad057310c8f7eea81e)
1## Check that fallthrough blocks are handled properly and Offset annotation is
2## set for conditional tail calls.
3
4RUN: %clang %cflags %S/Inputs/sctc_bug4.s -o %t
5RUN: llvm-bolt %t -o %t.null --enable-bat \
6RUN:   -funcs=test_func -print-sctc -sequential-disassembly 2>&1 | FileCheck %s
7
8CHECK:      .Ltmp2 (3 instructions, align : 1)
9CHECK-NEXT:   Input offset: 0x24
10CHECK-NEXT:   Predecessors: .LFT1
11CHECK-NEXT:     00000024: 	cmpq	$0x20, %rsi
12CHECK-NEXT:     00000028: 	ja	dummy # TAILCALL # Offset: 53 # CTCTakenCount: 0
13CHECK-NEXT:     0000002a: 	jmp .Ltmp4
14CHECK-NEXT:   Successors: .Ltmp4
15
16CHECK:      .Ltmp1 (2 instructions, align : 1)
17CHECK-NEXT:   Input offset: 0x2c
18CHECK-NEXT:   Predecessors: .LFT0
19CHECK-NEXT:     0000002c: 	xorq	%r11, %rax
20CHECK-NEXT:     0000002f: 	retq
21
22CHECK:      .Ltmp4 (4 instructions, align : 1)
23CHECK-NEXT:  Input offset: 0x3a
24CHECK-NEXT:  Predecessors: .Ltmp2
25