|
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