[InstCombine] Signed saturation patterns
[llvm-complete.git] / test / Transforms / NewGVN / 2008-07-02-Unreachable.ll
blob797cf574f01314eaec15bc15d95b4ed0d12d70e2
1 ; RUN: opt < %s -basicaa -newgvn -S | FileCheck %s
2 ; PR2503
4 @g_3 = external global i8               ; <i8*> [#uses=2]
6 define i8 @func_1(i32 %x, i32 %y) nounwind  {
7 entry:
8   %A = alloca i8
9     %cmp = icmp eq i32 %x, %y
10         br i1 %cmp, label %ifelse, label %ifthen
12 ifthen:         ; preds = %entry
13         br label %ifend
15 ifelse:         ; preds = %entry
16         %tmp3 = load i8, i8* @g_3               ; <i8> [#uses=0]
17         store i8 %tmp3, i8* %A
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, i8* @g_3              ; <i8> [#uses=0]
31         ret i8 %tmp10
32 ; CHECK: ret i8 %tmp3
34 ifend:          ; preds = %afterfor, %ifthen
35         ret i8 0