fix PR4963: folding insertvalue would sometimes turn a packed struct into
[llvm/avr.git] / test / Transforms / GVN / pre-basic-add.ll
blobc13099fe73491d5a0fa78578a55afd4e88310cac
1 ; RUN: opt < %s -gvn -enable-pre -S | grep {.pre}
3 @H = common global i32 0                ; <i32*> [#uses=2]
4 @G = common global i32 0                ; <i32*> [#uses=1]
6 define i32 @test() nounwind {
7 entry:
8         %0 = load 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
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
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
23 return:         ; preds = %bb1
24         ret i32 0
27 declare i32 @foo(...)