1fcf74900SNikita 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 3fcf74900SNikita Popov 4*d586bd5cSNikita Popov%type = type { { ptr } } 5fcf74900SNikita Popov 6fcf74900SNikita Popov@g = internal global %type zeroinitializer 7*d586bd5cSNikita Popov@g2 = external global ptr 8fcf74900SNikita Popov 9*d586bd5cSNikita Popov@llvm.global_ctors = appending global [1 x { i32, ptr, ptr }] [{ i32, ptr, ptr } { i32 65535, ptr @ctor, ptr null }] 10fcf74900SNikita Popov 11fcf74900SNikita Popov;. 12*d586bd5cSNikita Popov; CHECK: @[[G:[a-zA-Z0-9_$"\\.-]+]] = internal global [[TYPE:%.*]] { { ptr } { ptr @g2 } } 13*d586bd5cSNikita Popov; CHECK: @[[G2:[a-zA-Z0-9_$"\\.-]+]] = external global ptr 14*d586bd5cSNikita Popov; CHECK: @[[LLVM_GLOBAL_CTORS:[a-zA-Z0-9_$"\\.-]+]] = appending global [0 x { i32, ptr, ptr }] zeroinitializer 15fcf74900SNikita Popov;. 16fcf74900SNikita Popovdefine internal void @ctor() { 17*d586bd5cSNikita Popov store i64 0, ptr @g, align 8 18*d586bd5cSNikita Popov store ptr @g2, ptr @g, align 8 19fcf74900SNikita Popov ret void 20fcf74900SNikita Popov} 21fcf74900SNikita Popov 22*d586bd5cSNikita Popovdefine ptr @test() { 23fcf74900SNikita Popov; CHECK-LABEL: @test( 24*d586bd5cSNikita Popov; CHECK-NEXT: ret ptr @g 25fcf74900SNikita Popov; 26*d586bd5cSNikita Popov ret ptr @g 27fcf74900SNikita Popov} 28