From ca7473f5d05ef9f447cfe1c5e8c821de2d07e46c Mon Sep 17 00:00:00 2001 From: Bjorn Steinbrink Date: Fri, 10 Jul 2015 22:30:17 +0000 Subject: [PATCH] [InstCombine] Actually combine AA metadata when replacing one load with another Fixes PR24083 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@241955 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp | 2 -- test/Transforms/InstCombine/load-combine-metadata.ll | 6 ++---- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp b/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp index 1a7a2b183fb..e3179dbeece 100644 --- a/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp +++ b/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp @@ -762,8 +762,6 @@ Instruction *InstCombiner::visitLoadInst(LoadInst &LI) { LLVMContext::MD_nonnull, }; combineMetadata(NLI, &LI, KnownIDs); - if (AATags) - NLI->setAAMetadata(AATags); }; return ReplaceInstUsesWith( diff --git a/test/Transforms/InstCombine/load-combine-metadata.ll b/test/Transforms/InstCombine/load-combine-metadata.ll index d67f83c1ebc..9b9c1fe607b 100644 --- a/test/Transforms/InstCombine/load-combine-metadata.ll +++ b/test/Transforms/InstCombine/load-combine-metadata.ll @@ -3,17 +3,15 @@ target datalayout = "e-m:e-p:64:64:64-i64:64-f80:128-n8:16:32:64-S128" ; CHECK-LABEL: @test_load_load_combine_metadata( -; Check that range metadata is combined and AA metadata is preserved +; Check that range and AA metadata is combined ; CHECK: %[[V:.*]] = load i32, i32* %0 ; CHECK-SAME: !tbaa !{{[0-9]+}} ; CHECK-SAME: !range ![[RANGE:[0-9]+]] -; CHECK-SAME: !alias.scope !{{[0-9]+}} -; CHECK-SAME: !noalias !{{[0-9]+}} ; CHECK: store i32 %[[V]], i32* %1 ; CHECK: store i32 %[[V]], i32* %2 define void @test_load_load_combine_metadata(i32*, i32*, i32*) { %a = load i32, i32* %0, !tbaa !8, !range !0, !alias.scope !5, !noalias !6 - %b = load i32, i32* %0, !range !1 + %b = load i32, i32* %0, !tbaa !8, !range !1 store i32 %a, i32* %1 store i32 %b, i32* %2 ret void -- 2.34.1