Taints the non-acquire RMW's store address with the load part
[oota-llvm.git] / test / Transforms / GVN / 2008-12-12-RLE-Crash.ll
1 ; RUN: opt < %s -gvn | llvm-dis
2 target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64-f80:128:128"
3 target triple = "i386-apple-darwin7"
4
5 define i32 @main(i32 %argc, i8** %argv) nounwind {
6 entry:
7         br label %bb84
8
9 bb41:           ; preds = %bb82
10         %tmp = load i8, i8* %opt.0, align 1             ; <i8> [#uses=0]
11         %tmp1 = getelementptr i8, i8* %opt.0, i32 1             ; <i8*> [#uses=2]
12         switch i32 0, label %bb81 [
13                 i32 102, label %bb82
14                 i32 110, label %bb79
15                 i32 118, label %bb80
16         ]
17
18 bb79:           ; preds = %bb41
19         br label %bb82
20
21 bb80:           ; preds = %bb41
22         ret i32 0
23
24 bb81:           ; preds = %bb41
25         ret i32 1
26
27 bb82:           ; preds = %bb84, %bb79, %bb41
28         %opt.0 = phi i8* [ %tmp3, %bb84 ], [ %tmp1, %bb79 ], [ %tmp1, %bb41 ]           ; <i8*> [#uses=3]
29         %tmp2 = load i8, i8* %opt.0, align 1            ; <i8> [#uses=0]
30         br i1 false, label %bb84, label %bb41
31
32 bb84:           ; preds = %bb82, %entry
33         %tmp3 = getelementptr i8, i8* null, i32 1               ; <i8*> [#uses=1]
34         br label %bb82
35 }