1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-25 12:12:47 +01:00
llvm-mirror/test/MC/AArch64/jump-table.s
Francis Visoiu Mistrih 30264d4391 [CodeGen] Unify MBB reference format in both MIR and debug output
As part of the unification of the debug format and the MIR format, print
MBB references as '%bb.5'.

The MIR printer prints the IR name of a MBB only for block definitions.

* find . \( -name "*.mir" -o -name "*.cpp" -o -name "*.h" -o -name "*.ll" \) -type f -print0 | xargs -0 sed -i '' -E 's/BB#" << ([a-zA-Z0-9_]+)->getNumber\(\)/" << printMBBReference(*\1)/g'
* find . \( -name "*.mir" -o -name "*.cpp" -o -name "*.h" -o -name "*.ll" \) -type f -print0 | xargs -0 sed -i '' -E 's/BB#" << ([a-zA-Z0-9_]+)\.getNumber\(\)/" << printMBBReference(\1)/g'
* find . \( -name "*.txt" -o -name "*.s" -o -name "*.mir" -o -name "*.cpp" -o -name "*.h" -o -name "*.ll" \) -type f -print0 | xargs -0 sed -i '' -E 's/BB#([0-9]+)/%bb.\1/g'
* grep -nr 'BB#' and fix

Differential Revision: https://reviews.llvm.org/D40422

llvm-svn: 319665
2017-12-04 17:18:51 +00:00

60 lines
1.4 KiB
ArmAsm

// RUN: llvm-mc < %s -triple=aarch64-none-linux-gnu -filetype=obj | llvm-readobj -r | FileCheck %s
.file "<stdin>"
.text
.globl test_jumptable
.type test_jumptable,@function
test_jumptable: // @test_jumptable
.cfi_startproc
// %bb.0:
ubfx w1, w0, #0, #32
cmp w0, #4
b.hi .LBB0_3
// %bb.1:
adrp x0, .LJTI0_0
add x0, x0, #:lo12:.LJTI0_0
ldr x0, [x0, x1, lsl #3]
br x0
.LBB0_2: // %lbl1
movz x0, #1
ret
.LBB0_3: // %def
mov x0, xzr
ret
.LBB0_4: // %lbl2
movz x0, #2
ret
.LBB0_5: // %lbl3
movz x0, #4
ret
.LBB0_6: // %lbl4
movz x0, #8
ret
.Ltmp0:
.size test_jumptable, .Ltmp0-test_jumptable
.cfi_endproc
.section .rodata,"a",@progbits
.align 3
.LJTI0_0:
.xword .LBB0_2
.xword .LBB0_4
.xword .LBB0_5
.xword .LBB0_3
.xword .LBB0_6
// First make sure we get a page/lo12 pair in .text to pick up the jump-table
// CHECK: Relocations [
// CHECK: Section ({{[0-9]+}}) .rela.text {
// CHECK-NEXT: 0x{{[0-9,A-F]+}} R_AARCH64_ADR_PREL_PG_HI21 .rodata
// CHECK-NEXT: 0x{{[0-9,A-F]+}} R_AARCH64_ADD_ABS_LO12_NC .rodata
// CHECK: }
// Also check the targets in .rodata are relocated
// CHECK: Section ({{[0-9]+}}) .rela.rodata {
// CHECK-NEXT: 0x{{[0-9,A-F]+}} R_AARCH64_ABS64 .text
// CHECK: }
// CHECK: ]