1db561064SNikita Popov; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --check-globals 2*0676acb6SBjorn Pettersson; RUN: opt -S -passes=globalopt < %s | FileCheck %s 3db561064SNikita Popov 4db561064SNikita Popov@b = internal global ptr null 5db561064SNikita Popov@c = internal global [2 x ptr] zeroinitializer 6db561064SNikita Popov 7db561064SNikita Popovdeclare void @llvm.memcpy.p0.p0.i64(ptr noalias nocapture writeonly, ptr noalias nocapture readonly, i64, i1 immarg) 8db561064SNikita Popov 9db561064SNikita Popov;. 10db561064SNikita Popov; CHECK: @[[B:[a-zA-Z0-9_$"\\.-]+]] = internal unnamed_addr global ptr null 11db561064SNikita Popov; CHECK: @[[C:[a-zA-Z0-9_$"\\.-]+]] = internal unnamed_addr constant [2 x ptr] zeroinitializer 12db561064SNikita Popov;. 13db561064SNikita Popovdefine void @test() { 14db561064SNikita Popov; CHECK-LABEL: @test( 15db561064SNikita Popov; CHECK-NEXT: call void @llvm.memcpy.p0.p0.i64(ptr @b, ptr getelementptr inbounds ([2 x ptr], ptr @c, i64 0, i64 1), i64 8, i1 false) 16db561064SNikita Popov; CHECK-NEXT: ret void 17db561064SNikita Popov; 18db561064SNikita Popov call void @llvm.memcpy.p0.p0.i64(ptr @b, ptr getelementptr inbounds ([2 x ptr], ptr @c, i64 0, i64 1), i64 8, i1 false) 19db561064SNikita Popov ret void 20db561064SNikita Popov} 21db561064SNikita Popov;. 22304f1d59SNikita Popov; CHECK: attributes #[[ATTR0:[0-9]+]] = { nocallback nofree nounwind willreturn memory(argmem: readwrite) } 23db561064SNikita Popov;. 24