fa4e2e3abded05ebac9f17e60485844a9ff33d3a
[oota-llvm.git] / test / Transforms / GVN / pre-basic-add.ll
1 ; RUN: opt < %s -gvn -enable-pre -S | grep ".pre"
2
3 @H = common global i32 0                ; <i32*> [#uses=2]
4 @G = common global i32 0                ; <i32*> [#uses=1]
5
6 define i32 @test() nounwind {
7 entry:
8         %0 = load i32, i32* @H, align 4         ; <i32> [#uses=2]
9         %1 = call i32 (...) @foo() nounwind             ; <i32> [#uses=1]
10         %2 = icmp ne i32 %1, 0          ; <i1> [#uses=1]
11         br i1 %2, label %bb, label %bb1
12
13 bb:             ; preds = %entry
14         %3 = add i32 %0, 42             ; <i32> [#uses=1]
15         store i32 %3, i32* @G, align 4
16         br label %bb1
17
18 bb1:            ; preds = %bb, %entry
19         %4 = add i32 %0, 42             ; <i32> [#uses=1]
20         store i32 %4, i32* @H, align 4
21         br label %return
22
23 return:         ; preds = %bb1
24         ret i32 0
25 }
26
27 declare i32 @foo(...)