Cleanup/remove some parts of the lifetime region handling code in memdep and GVN,
[oota-llvm.git] / test / Transforms / GVN / 2008-07-02-Unreachable.ll
1 ; RUN: opt < %s -gvn -S | grep {ret i8 \[%\]tmp3}
2 ; PR2503
3
4 @g_3 = external global i8               ; <i8*> [#uses=2]
5
6 define i8 @func_1() nounwind  {
7 entry:
8         br i1 false, label %ifelse, label %ifthen
9
10 ifthen:         ; preds = %entry
11         br label %ifend
12
13 ifelse:         ; preds = %entry
14         %tmp3 = load i8* @g_3           ; <i8> [#uses=0]
15         br label %forcond.thread
16
17 forcond.thread:         ; preds = %ifelse
18         br label %afterfor
19
20 forcond:                ; preds = %forinc
21         br i1 false, label %afterfor, label %forbody
22
23 forbody:                ; preds = %forcond
24         br label %forinc
25
26 forinc:         ; preds = %forbody
27         br label %forcond
28
29 afterfor:               ; preds = %forcond, %forcond.thread
30         %tmp10 = load i8* @g_3          ; <i8> [#uses=0]
31         ret i8 %tmp10
32
33 ifend:          ; preds = %afterfor, %ifthen
34         ret i8 0
35 }