Bump version to 19.1.0-rc3
[llvm-project.git] / llvm / test / Transforms / GlobalOpt / pr51879.ll
blob007713e6d2ae970c070ef461edcac4d1730235a0
1 ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --check-globals
2 ; RUN: opt -S -passes=globalopt < %s | FileCheck %s
4 %type = type { { ptr } }
6 @g = internal global %type zeroinitializer
7 @g2 = external global ptr
9 @llvm.global_ctors = appending global [1 x { i32, ptr, ptr }] [{ i32, ptr, ptr } { i32 65535, ptr @ctor, ptr null }]
12 ; CHECK: @[[G:[a-zA-Z0-9_$"\\.-]+]] = internal global [[TYPE:%.*]] { { ptr } { ptr @g2 } }
13 ; CHECK: @[[G2:[a-zA-Z0-9_$"\\.-]+]] = external global ptr
14 ; CHECK: @[[LLVM_GLOBAL_CTORS:[a-zA-Z0-9_$"\\.-]+]] = appending global [0 x { i32, ptr, ptr }] zeroinitializer
16 define internal void @ctor() {
17   store i64 0, ptr @g, align 8
18   store ptr @g2, ptr @g, align 8
19   ret void
22 define ptr @test() {
23 ; CHECK-LABEL: @test(
24 ; CHECK-NEXT:    ret ptr @g
26   ret ptr @g