combine-alias-scope-metadata.ll 893 B

123456789101112131415161718192021222324
  1. ; RUN: opt < %s -S -basicaa -memcpyopt | FileCheck %s
  2. target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
  3. define void @test(i8* noalias dereferenceable(1) %in, i8* noalias dereferenceable(1) %out) {
  4. %tmp = alloca i8
  5. %tmp2 = alloca i8
  6. ; CHECK: call void @llvm.memcpy.p0i8.p0i8.i64(i8* %out, i8* %in, i64 1, i32 8, i1 false)
  7. call void @llvm.memcpy.p0i8.p0i8.i64(i8* %tmp, i8* %in, i64 1, i32 8, i1 false), !alias.scope !4
  8. call void @llvm.memcpy.p0i8.p0i8.i64(i8* %tmp2, i8* %tmp, i64 1, i32 8, i1 false), !alias.scope !5
  9. call void @llvm.memcpy.p0i8.p0i8.i64(i8* %out, i8* %tmp2, i64 1, i32 8, i1 false), !noalias !6
  10. ret void
  11. }
  12. declare void @llvm.memcpy.p0i8.p0i8.i64(i8*, i8*, i64, i32, i1)
  13. !0 = !{!0}
  14. !1 = distinct !{!1, !0, !"in"}
  15. !2 = distinct !{!2, !0, !"tmp"}
  16. !3 = distinct !{!3, !0, !"tmp2"}
  17. !4 = distinct !{!1, !2}
  18. !5 = distinct !{!2, !3}
  19. !6 = distinct !{!1, !2}