blob: 176162d3863632fbc4f12acc102351b0d4a2290b [file] [log] [blame]
Dan Gohman18800922009-09-11 18:01:28 +00001; RUN: opt < %s -instcombine -S | grep {volatile load} | count 2
Chris Lattner9233c122008-04-29 17:13:43 +00002; PR2262
3target 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"
4target triple = "i386-apple-darwin8"
5@g_1 = internal global i32 0 ; <i32*> [#uses=3]
Chris Lattner9233c122008-04-29 17:13:43 +00006
Chris Lattner53bcf362008-04-29 17:25:32 +00007define i32 @main(i32 %i) nounwind {
Chris Lattner9233c122008-04-29 17:13:43 +00008entry:
Chris Lattner53bcf362008-04-29 17:25:32 +00009 %tmp93 = icmp slt i32 %i, 10 ; <i1> [#uses=0]
Chris Lattner9233c122008-04-29 17:13:43 +000010 %tmp34 = volatile load i32* @g_1, align 4 ; <i32> [#uses=1]
Chris Lattner53bcf362008-04-29 17:25:32 +000011 br i1 %tmp93, label %bb11, label %bb
Chris Lattner9233c122008-04-29 17:13:43 +000012
13bb: ; preds = %bb, %entry
Chris Lattner9233c122008-04-29 17:13:43 +000014 %tmp3 = volatile load i32* @g_1, align 4 ; <i32> [#uses=1]
Chris Lattner53bcf362008-04-29 17:25:32 +000015 br label %bb11
Chris Lattner9233c122008-04-29 17:13:43 +000016
17bb11: ; preds = %bb
Chris Lattner53bcf362008-04-29 17:25:32 +000018 %tmp4 = phi i32 [ %tmp34, %entry ], [ %tmp3, %bb ] ; <i32> [#uses=1]
19 ret i32 %tmp4
Chris Lattner9233c122008-04-29 17:13:43 +000020}
21