1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 03:02:36 +01:00
llvm-mirror/test/Transforms/SimplifyCFG/PR25267.ll
David Majnemer 1956090ed0 [SimplifyCFG] Don't use-after-free an SSA value
SimplifyTerminatorOnSelect didn't consider the possibility that the
condition might be related to one of PHI nodes.

This fixes PR25267.

llvm-svn: 250922
2015-10-21 18:22:24 +00:00

25 lines
445 B
LLVM

; RUN: opt < %s -simplifycfg -S | FileCheck %s
define void @f() {
entry:
br label %for.cond
for.cond:
%phi = phi i1 [ false, %entry ], [ true, %for.body ]
%select = select i1 %phi, i32 1, i32 2
br label %for.body
for.body:
switch i32 %select, label %for.cond [
i32 1, label %return
i32 2, label %for.body
]
return:
ret void
}
; CHECK-LABEL: define void @f(
; CHECK: br label %[[LABEL:.*]]
; CHECK: br label %[[LABEL]]