From bacb77f162e7b7030beb2616988219895a56df79 Mon Sep 17 00:00:00 2001 From: Matt Arsenault Date: Wed, 14 Aug 2024 16:51:08 +0400 Subject: [PATCH] Local: Handle noalias.addrspace in copyMetadataForLoad --- llvm/lib/Transforms/Utils/Local.cpp | 1 + llvm/test/Transforms/InstCombine/loadstore-metadata.ll | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/llvm/lib/Transforms/Utils/Local.cpp b/llvm/lib/Transforms/Utils/Local.cpp index 6d7c710020c3e..95f0d099aacb5 100644 --- a/llvm/lib/Transforms/Utils/Local.cpp +++ b/llvm/lib/Transforms/Utils/Local.cpp @@ -3460,6 +3460,7 @@ void llvm::copyMetadataForLoad(LoadInst &Dest, const LoadInst &Source) { case LLVMContext::MD_mem_parallel_loop_access: case LLVMContext::MD_access_group: case LLVMContext::MD_noundef: + case LLVMContext::MD_noalias_addrspace: // All of these directly apply. Dest.setMetadata(ID, N); break; diff --git a/llvm/test/Transforms/InstCombine/loadstore-metadata.ll b/llvm/test/Transforms/InstCombine/loadstore-metadata.ll index 5a977882504ce..859c9b892f156 100644 --- a/llvm/test/Transforms/InstCombine/loadstore-metadata.ll +++ b/llvm/test/Transforms/InstCombine/loadstore-metadata.ll @@ -177,7 +177,7 @@ define i32 @test_load_cast_combine_noalias_addrspace(ptr %ptr) { ; Ensure (cast (load (...))) -> (load (cast (...))) preserves TBAA. ; CHECK-LABEL: @test_load_cast_combine_noalias_addrspace( ; CHECK-NEXT: entry: -; CHECK-NEXT: [[L1:%.*]] = load i32, ptr [[PTR:%.*]], align 4 +; CHECK-NEXT: [[L1:%.*]] = load i32, ptr [[PTR:%.*]], align 4, !noalias.addrspace [[META10:![0-9]+]] ; CHECK-NEXT: ret i32 [[L1]] ; entry: