diff options
| author | Fedor Sergeev <fedor.sergeev@azul.com> | 2018-12-11 19:05:35 +0000 |
|---|---|---|
| committer | Fedor Sergeev <fedor.sergeev@azul.com> | 2018-12-11 19:05:35 +0000 |
| commit | a1d95c3fc426f1fc54758866d8a0e8718a82a745 (patch) | |
| tree | b74bc92ef0ca2ebbd6bee333fde390a3c362635c /llvm/test/Other/loop-deletion-printer.ll | |
| parent | 8876dac50aafa5a265c1fb1a9d4e38f97b83dfb6 (diff) | |
| download | bcm5719-llvm-a1d95c3fc426f1fc54758866d8a0e8718a82a745.tar.gz bcm5719-llvm-a1d95c3fc426f1fc54758866d8a0e8718a82a745.zip | |
[NewPM] fixing asserts on deleted loop in -print-after-all
IR-printing AfterPass instrumentation might be called on a loop
that has just been invalidated. We should skip printing it to
avoid spurious asserts.
Reviewed By: chandlerc, philip.pfaffe
Differential Revision: https://reviews.llvm.org/D54740
llvm-svn: 348887
Diffstat (limited to 'llvm/test/Other/loop-deletion-printer.ll')
| -rw-r--r-- | llvm/test/Other/loop-deletion-printer.ll | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/llvm/test/Other/loop-deletion-printer.ll b/llvm/test/Other/loop-deletion-printer.ll new file mode 100644 index 00000000000..d344568506c --- /dev/null +++ b/llvm/test/Other/loop-deletion-printer.ll @@ -0,0 +1,24 @@ +; Make sure that Loop which was invalidated by loop-deletion +; does not lead to problems for -print-after-all and is just skipped. +; +; RUN: opt < %s -disable-output \ +; RUN: -passes=loop-instsimplify -print-after-all 2>&1 | FileCheck %s -check-prefix=SIMPLIFY +; RUN: opt < %s -disable-output \ +; RUN: -passes=loop-deletion,loop-instsimplify -print-after-all 2>&1 | FileCheck %s -check-prefix=DELETED +; +; SIMPLIFY: IR Dump {{.*}} LoopInstSimplifyPass +; DELETED-NOT: IR Dump {{.*}}LoopInstSimplifyPass +; DELETED-NOT: IR Dump {{.*}}LoopDeletionPass + +define void @deleteme() { +entry: + br label %loop +loop: + %iv = phi i32 [ 0, %entry ], [ %iv.next, %loop ] + %iv.next = add i32 %iv, 1 + %check = icmp ult i32 %iv.next, 3 + br i1 %check, label %loop, label %exit +exit: + ret void +} + |

