|
5 | 5 |
|
6 | 6 | ; RUN: tpde-llc --target=x86_64 %s | %objdump | FileCheck %s -check-prefixes=X64 |
7 | 7 | ; RUN: tpde-llc --target=aarch64 %s | %objdump | FileCheck %s -check-prefixes=ARM64 |
| 8 | +; XFAIL: llvm19.1 |
| 9 | +; XFAIL: llvm20.1 |
8 | 10 |
|
9 | 11 |
|
10 | 12 | define ptr @alloca_empty() { |
@@ -806,7 +808,8 @@ define void @alloca_4k() { |
806 | 808 | ; ARM64-NEXT: stp x29, x30, [sp] |
807 | 809 | ; ARM64-NEXT: mov x29, sp |
808 | 810 | ; ARM64-NEXT: add x0, x29, #0xa0 |
809 | | -; ARM64-NEXT: bl 0x480 <alloca_4k+0x10> |
| 811 | +; ARM64-NEXT: <L0>: |
| 812 | +; ARM64-NEXT: bl <L0> |
810 | 813 | ; ARM64-NEXT: R_AARCH64_CALL26 take_ptr |
811 | 814 | ; ARM64-NEXT: ldp x29, x30, [sp] |
812 | 815 | ; ARM64-NEXT: add sp, sp, #0x2, lsl #12 // =0x2000 |
@@ -836,7 +839,8 @@ define void @dyn_alloca_4k() { |
836 | 839 | ; ARM64-NEXT: mov x29, sp |
837 | 840 | ; ARM64-NEXT: sub x0, sp, #0x1, lsl #12 // =0x1000 |
838 | 841 | ; ARM64-NEXT: mov sp, x0 |
839 | | -; ARM64-NEXT: bl 0x4a0 <dyn_alloca_4k+0x10> |
| 842 | +; ARM64-NEXT: <L0>: |
| 843 | +; ARM64-NEXT: bl <L0> |
840 | 844 | ; ARM64-NEXT: R_AARCH64_CALL26 take_ptr |
841 | 845 | ; ARM64-NEXT: mov sp, x29 |
842 | 846 | ; ARM64-NEXT: ldp x29, x30, [sp], #0xa0 |
@@ -866,7 +870,8 @@ define void @alloca_32k() { |
866 | 870 | ; ARM64-NEXT: stp x29, x30, [sp] |
867 | 871 | ; ARM64-NEXT: mov x29, sp |
868 | 872 | ; ARM64-NEXT: add x0, x29, #0xa0 |
869 | | -; ARM64-NEXT: bl 0x4c0 <alloca_32k+0x10> |
| 873 | +; ARM64-NEXT: <L0>: |
| 874 | +; ARM64-NEXT: bl <L0> |
870 | 875 | ; ARM64-NEXT: R_AARCH64_CALL26 take_ptr |
871 | 876 | ; ARM64-NEXT: ldp x29, x30, [sp] |
872 | 877 | ; ARM64-NEXT: add sp, sp, #0x9, lsl #12 // =0x9000 |
@@ -896,7 +901,8 @@ define void @dyn_alloca_32k() { |
896 | 901 | ; ARM64-NEXT: mov x29, sp |
897 | 902 | ; ARM64-NEXT: sub x0, sp, #0x8, lsl #12 // =0x8000 |
898 | 903 | ; ARM64-NEXT: mov sp, x0 |
899 | | -; ARM64-NEXT: bl 0x4e0 <dyn_alloca_32k+0x10> |
| 904 | +; ARM64-NEXT: <L0>: |
| 905 | +; ARM64-NEXT: bl <L0> |
900 | 906 | ; ARM64-NEXT: R_AARCH64_CALL26 take_ptr |
901 | 907 | ; ARM64-NEXT: mov sp, x29 |
902 | 908 | ; ARM64-NEXT: ldp x29, x30, [sp], #0xa0 |
@@ -929,7 +935,8 @@ define void @dyn_alloca_33k() { |
929 | 935 | ; ARM64-NEXT: sub x0, sp, #0x8, lsl #12 // =0x8000 |
930 | 936 | ; ARM64-NEXT: sub x0, x0, #0x400 |
931 | 937 | ; ARM64-NEXT: mov sp, x0 |
932 | | -; ARM64-NEXT: bl 0x504 <dyn_alloca_33k+0x14> |
| 938 | +; ARM64-NEXT: <L0>: |
| 939 | +; ARM64-NEXT: bl <L0> |
933 | 940 | ; ARM64-NEXT: R_AARCH64_CALL26 take_ptr |
934 | 941 | ; ARM64-NEXT: mov sp, x29 |
935 | 942 | ; ARM64-NEXT: ldp x29, x30, [sp], #0xa0 |
@@ -960,7 +967,8 @@ define void @alloca_16M() { |
960 | 967 | ; ARM64-NEXT: mov x16, #0x1000000 // =16777216 |
961 | 968 | ; ARM64-NEXT: sub x0, sp, x16 |
962 | 969 | ; ARM64-NEXT: mov sp, x0 |
963 | | -; ARM64-NEXT: bl 0x534 <alloca_16M+0x14> |
| 970 | +; ARM64-NEXT: <L0>: |
| 971 | +; ARM64-NEXT: bl <L0> |
964 | 972 | ; ARM64-NEXT: R_AARCH64_CALL26 take_ptr |
965 | 973 | ; ARM64-NEXT: mov sp, x29 |
966 | 974 | ; ARM64-NEXT: ldp x29, x30, [sp], #0xa0 |
@@ -991,7 +999,8 @@ define void @dyn_alloca_16M() { |
991 | 999 | ; ARM64-NEXT: mov x16, #0x1000000 // =16777216 |
992 | 1000 | ; ARM64-NEXT: sub x0, sp, x16 |
993 | 1001 | ; ARM64-NEXT: mov sp, x0 |
994 | | -; ARM64-NEXT: bl 0x564 <dyn_alloca_16M+0x14> |
| 1002 | +; ARM64-NEXT: <L0>: |
| 1003 | +; ARM64-NEXT: bl <L0> |
995 | 1004 | ; ARM64-NEXT: R_AARCH64_CALL26 take_ptr |
996 | 1005 | ; ARM64-NEXT: mov sp, x29 |
997 | 1006 | ; ARM64-NEXT: ldp x29, x30, [sp], #0xa0 |
@@ -1257,7 +1266,8 @@ define void @f2(ptr %0, ptr %1, ptr %2, ptr %3, ptr %4, ptr %5, ptr %6, ptr %7, |
1257 | 1266 | ; ARM64-NEXT: str x8, [sp, #0x100] |
1258 | 1267 | ; ARM64-NEXT: str x28, [sp, #0x108] |
1259 | 1268 | ; ARM64-NEXT: str x30, [sp, #0x110] |
1260 | | -; ARM64-NEXT: bl 0x750 <f2+0x1d0> |
| 1269 | +; ARM64-NEXT: <L0>: |
| 1270 | +; ARM64-NEXT: bl <L0> |
1261 | 1271 | ; ARM64-NEXT: R_AARCH64_CALL26 f1 |
1262 | 1272 | ; ARM64-NEXT: add sp, sp, #0x120 |
1263 | 1273 | ; ARM64-NEXT: ldp x19, x20, [sp, #0x10] |
@@ -1461,6 +1471,7 @@ define void @alloca_manyregs(i32 %0, ptr %1, ptr %2, ptr %3, i64 %4, i32 %5, ptr |
1461 | 1471 | ; ARM64-NEXT: mov w8, #0x0 // =0 |
1462 | 1472 | ; ARM64-NEXT: add x16, x29, #0x40, lsl #12 // =0x40000 |
1463 | 1473 | ; ARM64-NEXT: str w8, [x16, #0x898] |
| 1474 | +; ARM64-NEXT: <L0>: |
1464 | 1475 | ; ARM64-NEXT: add x0, x29, #0x40, lsl #12 // =0x40000 |
1465 | 1476 | ; ARM64-NEXT: ldr x0, [x0, #0x7f8] |
1466 | 1477 | ; ARM64-NEXT: add x1, x29, #0x40, lsl #12 // =0x40000 |
@@ -1553,7 +1564,7 @@ define void @alloca_manyregs(i32 %0, ptr %1, ptr %2, ptr %3, i64 %4, i32 %5, ptr |
1553 | 1564 | ; ARM64-NEXT: orr w30, w30, w0 |
1554 | 1565 | ; ARM64-NEXT: add x16, x29, #0x40, lsl #12 // =0x40000 |
1555 | 1566 | ; ARM64-NEXT: str w14, [x16, #0x898] |
1556 | | -; ARM64-NEXT: b 0x8d4 <alloca_manyregs+0x154> |
| 1567 | +; ARM64-NEXT: b <L0> |
1557 | 1568 | %23 = alloca [66000 x i32], align 4 |
1558 | 1569 | br label %24 |
1559 | 1570 |
|
|
0 commit comments