diff options
author | Hans Wennborg <hans@hanshq.net> | 2019-06-17 07:47:28 +0000 |
---|---|---|
committer | Hans Wennborg <hans@hanshq.net> | 2019-06-17 07:47:28 +0000 |
commit | a9e5d2f35dd2efac5b6447aee8135f1db87f3b31 (patch) | |
tree | e5747e6bccde7fa0743ca6ab9b0db60b783f102a /llvm/test/CodeGen/AArch64/max-jump-table.ll | |
parent | DWARF: Avoid storing DIERefs in long-lived containers (diff) | |
download | llvm-project-a9e5d2f35dd2efac5b6447aee8135f1db87f3b31.tar.gz llvm-project-a9e5d2f35dd2efac5b6447aee8135f1db87f3b31.tar.bz2 llvm-project-a9e5d2f35dd2efac5b6447aee8135f1db87f3b31.zip |
Re-commit r357452 (take 3): "SimplifyCFG SinkCommonCodeFromPredecessors: Also sink function calls without used results (PR41259)"
Third time's the charm.
This was reverted in r363220 due to being suspected of an internal benchmark
regression and a test failure, none of which turned out to be caused by this.
llvm-svn: 363529
Diffstat (limited to 'llvm/test/CodeGen/AArch64/max-jump-table.ll')
-rw-r--r-- | llvm/test/CodeGen/AArch64/max-jump-table.ll | 48 |
1 files changed, 24 insertions, 24 deletions
diff --git a/llvm/test/CodeGen/AArch64/max-jump-table.ll b/llvm/test/CodeGen/AArch64/max-jump-table.ll index 44dde7b1cd06..f309efe95b5b 100644 --- a/llvm/test/CodeGen/AArch64/max-jump-table.ll +++ b/llvm/test/CodeGen/AArch64/max-jump-table.ll @@ -4,7 +4,7 @@ ; RUN: llc %s -O2 -print-machineinstrs -mtriple=aarch64-linux-gnu -jump-table-density=40 -mcpu=exynos-m1 -o /dev/null 2> %t; FileCheck %s --check-prefixes=CHECK,CHECKM1 < %t ; RUN: llc %s -O2 -print-machineinstrs -mtriple=aarch64-linux-gnu -jump-table-density=40 -mcpu=exynos-m3 -o /dev/null 2> %t; FileCheck %s --check-prefixes=CHECK,CHECKM3 < %t -declare void @ext(i32) +declare void @ext(i32, i32) define i32 @jt1(i32 %a, i32 %b) { entry: @@ -45,23 +45,23 @@ entry: ; CHECKM3-NEXT: %jump-table.0: ; CHECKM3-NOT: %jump-table.1: -bb1: tail call void @ext(i32 0) br label %return -bb2: tail call void @ext(i32 2) br label %return -bb3: tail call void @ext(i32 4) br label %return -bb4: tail call void @ext(i32 6) br label %return -bb5: tail call void @ext(i32 8) br label %return -bb6: tail call void @ext(i32 10) br label %return -bb7: tail call void @ext(i32 12) br label %return -bb8: tail call void @ext(i32 14) br label %return -bb9: tail call void @ext(i32 16) br label %return -bb10: tail call void @ext(i32 18) br label %return -bb11: tail call void @ext(i32 20) br label %return -bb12: tail call void @ext(i32 22) br label %return -bb13: tail call void @ext(i32 24) br label %return -bb14: tail call void @ext(i32 26) br label %return -bb15: tail call void @ext(i32 28) br label %return -bb16: tail call void @ext(i32 30) br label %return -bb17: tail call void @ext(i32 32) br label %return +bb1: tail call void @ext(i32 1, i32 0) br label %return +bb2: tail call void @ext(i32 2, i32 2) br label %return +bb3: tail call void @ext(i32 3, i32 4) br label %return +bb4: tail call void @ext(i32 4, i32 6) br label %return +bb5: tail call void @ext(i32 5, i32 8) br label %return +bb6: tail call void @ext(i32 6, i32 10) br label %return +bb7: tail call void @ext(i32 7, i32 12) br label %return +bb8: tail call void @ext(i32 8, i32 14) br label %return +bb9: tail call void @ext(i32 9, i32 16) br label %return +bb10: tail call void @ext(i32 1, i32 18) br label %return +bb11: tail call void @ext(i32 2, i32 20) br label %return +bb12: tail call void @ext(i32 3, i32 22) br label %return +bb13: tail call void @ext(i32 4, i32 24) br label %return +bb14: tail call void @ext(i32 5, i32 26) br label %return +bb15: tail call void @ext(i32 6, i32 28) br label %return +bb16: tail call void @ext(i32 7, i32 30) br label %return +bb17: tail call void @ext(i32 8, i32 32) br label %return return: ret i32 %b } @@ -91,11 +91,11 @@ entry: ; CHECKM3-NOT: %jump-table.1 ; CHECK-DAG: End machine code for function jt2. -bb1: tail call void @ext(i32 1) br label %return -bb2: tail call void @ext(i32 2) br label %return -bb3: tail call void @ext(i32 3) br label %return -bb4: tail call void @ext(i32 4) br label %return -bb5: tail call void @ext(i32 5) br label %return -bb6: tail call void @ext(i32 6) br label %return +bb1: tail call void @ext(i32 6, i32 1) br label %return +bb2: tail call void @ext(i32 5, i32 2) br label %return +bb3: tail call void @ext(i32 4, i32 3) br label %return +bb4: tail call void @ext(i32 3, i32 4) br label %return +bb5: tail call void @ext(i32 2, i32 5) br label %return +bb6: tail call void @ext(i32 1, i32 6) br label %return return: ret void } |