1 ; NOTE: Assertions have been autogenerated by update_test_checks.py 2 ; RUN: opt < %s -instcombine -S | FileCheck %s 3 4 @x = weak global i32 0 5 6 define void @self_assign_1() { 7 ; CHECK-LABEL: @self_assign_1( 8 ; CHECK-NEXT: entry: 9 ; CHECK-NEXT: [[TMP:%.*]] = load volatile i32, i32* @x, align 4 10 ; CHECK-NEXT: store volatile i32 [[TMP]], i32* @x, align 4 11 ; CHECK-NEXT: br label %return 12 ; CHECK: return: 13 ; CHECK-NEXT: ret void 14 ; 15 entry: 16 %tmp = load volatile i32, i32* @x 17 store volatile i32 %tmp, i32* @x 18 br label %return 19 20 return: 21 ret void 22 } 23