Files
clang-p2996/llvm/test/Transforms/SimpleLoopUnswitch/pr37888.ll
Nikita Popov e11354c0a4 [Tests] Remove explicit -enable-mssa-loop-dependency options (NFC)
This is enabled by default. Drop explicit uses in preparation for
removing the option.

Also drop RUN lines that are now the same (typically modulo a
-verify-memoryssa option).
2021-08-14 21:21:07 +02:00

39 lines
945 B
LLVM

; RUN: opt -simple-loop-unswitch -verify-memoryssa -loop-deletion -S < %s | FileCheck %s
;
; Check that when we do unswitching where we re-enqueue the loop to be processed
; again, but manage to delete the loop before ever getting to iterate on it, it
; doesn't crash the legacy pass manager.
target triple = "x86_64-unknown-linux-gnu"
define void @pr37888() {
; CHECK-LABEL: define void @pr37888()
entry:
%tobool = icmp ne i16 undef, 0
br label %for.body
; CHECK: %[[TOBOOL:.*]] = icmp ne
; CHECK-NEXT: br i1 %[[TOBOOL]], label %if.then, label %[[ENTRY_SPLIT:.*]]
;
; CHECK: [[ENTRY_SPLIT]]:
; CHECK-NEXT: br label %for.end
for.body:
br i1 %tobool, label %if.then, label %if.end
if.then:
unreachable
; CHECK: if.then:
; CHECK-NEXT: unreachable
if.end:
br label %for.inc
for.inc:
br i1 undef, label %for.body, label %for.end
for.end:
ret void
; CHECK: for.end:
; CHECK-NEXT: ret void
}