mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-10-31 07:52:55 +01:00
d1e9ff0d6c
reachable uses, but there still might be uses in dead blocks. Use the standard solution of replacing all the uses with undef. This is a rare case because it's very sensitive to phase ordering in SimplifyCFG. llvm-svn: 127299
32 lines
1006 B
LLVM
32 lines
1006 B
LLVM
; RUN: opt < %s -simplifycfg -S | FileCheck %s
|
|
; PR9420
|
|
|
|
; Note that the crash in PR9420 test is sensitive to the ordering of
|
|
; the transformations done by SimplifyCFG, so this test is likely to rot
|
|
; quickly.
|
|
|
|
define noalias i8* @func_29() nounwind {
|
|
; CHECK: entry:
|
|
; CHECK-NEXT: unreachable
|
|
entry:
|
|
br label %for.cond
|
|
|
|
for.cond: ; preds = %for.inc38, %entry
|
|
%p_34.addr.0 = phi i16 [ 1, %entry ], [ %conv40, %for.inc38 ]
|
|
br label %for.cond1
|
|
|
|
for.cond1: ; preds = %for.inc29, %for.cond
|
|
%p_32.addr.0 = phi i1 [ true, %for.cond ], [ true, %for.inc29 ]
|
|
br i1 %p_32.addr.0, label %for.body8, label %for.inc38
|
|
|
|
for.body8: ; preds = %for.cond1
|
|
unreachable
|
|
|
|
for.inc29: ; preds = %for.cond17
|
|
br label %for.cond1
|
|
|
|
for.inc38: ; preds = %for.end32
|
|
%conv40 = add i16 %p_34.addr.0, 1
|
|
br label %for.cond
|
|
}
|