; RUN: opt < %s -instcombine -S | grep {volatile store} ; RUN: opt < %s -instcombine -S | grep {volatile load} @x = weak global i32 0 ; [#uses=2] define void @self_assign_1() { entry: %tmp = volatile load i32* @x ; [#uses=1] volatile store i32 %tmp, i32* @x br label %return return: ; preds = %entry ret void }