; RUN: opt -passes=gvn-hoist -S < %s | FileCheck %s | |
; CHECK: store | |
; CHECK-NOT: store | |
target datalayout = "e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64" | |
define void @f(ptr %p, i1 %arg) { | |
entry: | |
switch i4 undef, label %if.then30 [ | |
i4 4, label %if.end | |
i4 0, label %if.end | |
] | |
if.end: | |
br label %if.end19 | |
if.end19: | |
br i1 %arg, label %e, label %e.thread | |
e.thread: | |
store i8 0, ptr %p, align 4 | |
br label %if.then30 | |
if.then30: | |
call void @g() | |
unreachable | |
e: | |
store i8 0, ptr %p, align 4 | |
unreachable | |
} | |
declare void @g() |