When removing a function from the function set and adding it to deferred, we
[llvm.git] / test / Transforms / GVN / 2008-07-02-Unreachable.ll
blobbe69cfc0319ce355aa9ee3a6538c347015a8b07f
1 ; RUN: opt < %s -basicaa -gvn -S | grep {ret i8 \[%\]tmp3}
2 ; PR2503
4 @g_3 = external global i8               ; <i8*> [#uses=2]
6 define i8 @func_1() nounwind  {
7 entry:
8         br i1 false, label %ifelse, label %ifthen
10 ifthen:         ; preds = %entry
11         br label %ifend
13 ifelse:         ; preds = %entry
14         %tmp3 = load i8* @g_3           ; <i8> [#uses=0]
15         br label %forcond.thread
17 forcond.thread:         ; preds = %ifelse
18         br label %afterfor
20 forcond:                ; preds = %forinc
21         br i1 false, label %afterfor, label %forbody
23 forbody:                ; preds = %forcond
24         br label %forinc
26 forinc:         ; preds = %forbody
27         br label %forcond
29 afterfor:               ; preds = %forcond, %forcond.thread
30         %tmp10 = load i8* @g_3          ; <i8> [#uses=0]
31         ret i8 %tmp10
33 ifend:          ; preds = %afterfor, %ifthen
34         ret i8 0