| ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --check-globals | |
| ; RUN: opt -S -passes=globalopt < %s | FileCheck %s | |
| @b = internal global ptr null | |
| @c = internal global [2 x ptr] zeroinitializer | |
| declare void @llvm.memcpy.p0.p0.i64(ptr noalias nocapture writeonly, ptr noalias nocapture readonly, i64, i1 immarg) | |
| ;. | |
| ; CHECK: @b = internal unnamed_addr global ptr null | |
| ; CHECK: @c = internal unnamed_addr constant [2 x ptr] zeroinitializer | |
| ;. | |
| define void @test() { | |
| ; CHECK-LABEL: @test( | |
| ; 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) | |
| ; CHECK-NEXT: ret void | |
| ; | |
| 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) | |
| ret void | |
| } | |
| ;. | |
| ; CHECK: attributes #[[ATTR0:[0-9]+]] = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) } | |
| ;. |