| ; test for issue (https://github.com/llvm/llvm-project/issues/219629) | |
| ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 6 | |
| ; RUN: opt -passes=globalopt -S < %s | FileCheck %s | |
| @self_ref = global ptr @self_ref | |
| @stored_once = internal global ptr null | |
| define void @foo() { | |
| ; CHECK-LABEL: define void @foo() local_unnamed_addr { | |
| ; CHECK-NEXT: [[ENTRY:.*:]] | |
| ; CHECK-NEXT: br label %[[LOOP:.*]] | |
| ; CHECK: [[LOOP]]: | |
| ; CHECK-NEXT: store ptr @self_ref, ptr @self_ref, align 8 | |
| ; CHECK-NEXT: br label %[[LOOP]] | |
| ; | |
| entry: | |
| store ptr @self_ref, ptr @stored_once | |
| br label %loop | |
| loop: | |
| %v = load ptr, ptr @stored_once | |
| store ptr %v, ptr %v | |
| br label %loop | |
| } |