xref: /llvm-project/llvm/test/Transforms/GlobalOpt/pr52994.ll (revision d586bd5ca231a6022f439d4c6e43cfeeb53eb1d6)
1787f86e6SNikita Popov; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --check-globals
20676acb6SBjorn Pettersson; RUN: opt -S -passes=globalopt < %s | FileCheck %s
3787f86e6SNikita Popov
4787f86e6SNikita Popov; Check that aggregate stores work correctly.
5787f86e6SNikita Popov
6*d586bd5cSNikita Popov@llvm.global_ctors = appending global [1 x { i32, ptr, ptr }] [{ i32, ptr, ptr } { i32 65535, ptr @ctor, ptr null }]
7787f86e6SNikita Popov
8787f86e6SNikita Popov@g = global { i64, i64 } poison
9787f86e6SNikita Popov
10787f86e6SNikita Popov;.
11*d586bd5cSNikita Popov; CHECK: @[[LLVM_GLOBAL_CTORS:[a-zA-Z0-9_$"\\.-]+]] = appending global [0 x { i32, ptr, ptr }] zeroinitializer
12787f86e6SNikita Popov; CHECK: @[[G:[a-zA-Z0-9_$"\\.-]+]] = local_unnamed_addr global { i64, i64 } { i64 1, i64 2 }
13787f86e6SNikita Popov;.
14787f86e6SNikita Popovdefine internal void @ctor() {
15*d586bd5cSNikita Popov  store { i64, i64 } { i64 1, i64 2 }, ptr @g
16787f86e6SNikita Popov  ret void
17787f86e6SNikita Popov}
18