|
1 |
| - |
2 |
| - |
3 | 1 | ; The llc commands override two options
|
4 | 2 | ; - 'aarch64-enable-atomic-cfg-tidy' to false to turn off simplifycfg pass,
|
5 | 3 | ; which can simplify away switch instructions before isel lowers switch instructions.
|
|
37 | 35 | ; RUN: -aarch64-enable-atomic-cfg-tidy=false -aarch64-min-jump-table-entries=2 \
|
38 | 36 | ; RUN: %s -o - 2>&1 | FileCheck %s --check-prefixes=FUNCLESS,JT
|
39 | 37 |
|
40 |
| -; In function @foo, the 2 switch instructions to jt0.* and jt1.* are placed in |
41 |
| -; hot-prefixed sections, and the 2 switch instructions to jt2.* and jt3.* are |
42 |
| -; placed in cold-prefixed sections. |
| 38 | +; A function's section prefix is used for all jump tables of this function. |
| 39 | +; @foo is hot so its jump table data section has a hot prefix. |
43 | 40 | ; NUM: .section .rodata.hot.,"a",@progbits,unique,2
|
44 | 41 | ; FUNC: .section .rodata.hot.foo,"a",@progbits
|
45 | 42 | ; FUNCLESS: .section .rodata.hot.,"a",@progbits
|
|
51 | 48 | ; JT: .LJTI0_1:
|
52 | 49 | ; JT: .LJTI0_3:
|
53 | 50 |
|
54 |
| -; @func_without_profile simulates the functions without profile information |
55 |
| -; (e.g., not instrumented or not profiled), its jump tables are placed in |
56 |
| -; sections without hot or unlikely prefixes. |
57 |
| -; NUM: .section .rodata,"a",@progbits,unique,5 |
| 51 | +; func_without_profile doesn't have profiles, so its jumptable doesn't have |
| 52 | +; hotness-based prefix. |
| 53 | +; NUM: .section .rodata,"a",@progbits,unique, |
58 | 54 | ; FUNC: .section .rodata.func_without_profile,"a",@progbits
|
59 | 55 | ; FUNCLESS: .section .rodata,"a",@progbits
|
60 | 56 | ; JT: .LJTI1_0:
|
|
0 commit comments