1 # Check that jump table detection does not fail on a false
2 # reference to a jump table.
4 # REQUIRES: system-linux
6 # RUN: llvm-mc -filetype=obj -triple x86_64-unknown-unknown \
8 # RUN: %clang %cflags %t.o -o %t.exe -Wl,-q
10 # RUN: llvm-bolt %t.exe --print-cfg \
11 # RUN: --print-only=inc_dup -o %t.out | FileCheck %s
29 .type inc_dup, @function
34 .cfi_def_cfa_offset 16
37 .cfi_def_cfa_register 6
44 # Control flow confusing for JT detection
45 # CHECK: leaq "JUMP_TABLE{{.*}}"(%rip), %rdx
48 # CHECK: leaq {{.*}}(%rip), %rdx
52 movslq
(%rdx
,%rax
,4), %rax
54 # CHECK: jmpq *%rax # UNKNOWN CONTROL FLOW
106 .size inc_dup, .-inc_dup
109 .type main, @function
114 .cfi_def_cfa_offset 16
117 .cfi_def_cfa_register 6
131 .ident "GCC: (GNU) 6.3.0"
132 .section .note.GNU-stack,"",@progbits