From: Adam Nemet Date: Mon, 7 Mar 2016 17:49:10 +0000 (+0000) Subject: [ScopedNoAliasAA] Make test basic.ll less confusing X-Git-Tag: llvmorg-3.9.0-rc1~12348 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=4896c7a82afc1fc586db170f86f6ca57e61286e8;p=platform%2Fupstream%2Fllvm.git [ScopedNoAliasAA] Make test basic.ll less confusing Summary: This testcase had me confused. It made me believe that you can use alias scopes and alias scopes list interchangeably with alias.scope and noalias. Both langref and the other testcase use scope lists so I went looking. Turns out using scope directly only happens to work by chance. When ScopedNoAliasAAResult::mayAliasInScopes traverses this as a scope list: !1 = !{!1, !0, !"some scope"} , the first entry is in fact a scope but only because the scope is happened to be defined self-referentially to make it unique globally. The remaining elements in the tuple (!0, !"some scope") are considered as scopes but AliasScopeNode::getDomain will just bail on those without any error. This change avoids this ambiguity in the test but I've also been wondering if we should issue some sort of a diagnostics. Reviewers: dexonsmith, hfinkel Subscribers: mssimpso, llvm-commits Differential Revision: http://reviews.llvm.org/D16670 llvm-svn: 262841 --- diff --git a/llvm/test/Analysis/ScopedNoAliasAA/basic.ll b/llvm/test/Analysis/ScopedNoAliasAA/basic.ll index 5b2a6d6..69e088e 100644 --- a/llvm/test/Analysis/ScopedNoAliasAA/basic.ll +++ b/llvm/test/Analysis/ScopedNoAliasAA/basic.ll @@ -6,9 +6,9 @@ target triple = "x86_64-unknown-linux-gnu" define void @foo1(float* nocapture %a, float* nocapture readonly %c) #0 { entry: ; CHECK-LABEL: Function: foo1 - %0 = load float, float* %c, align 4, !alias.scope !1 + %0 = load float, float* %c, align 4, !alias.scope !2 %arrayidx.i = getelementptr inbounds float, float* %a, i64 5 - store float %0, float* %arrayidx.i, align 4, !noalias !1 + store float %0, float* %arrayidx.i, align 4, !noalias !2 %1 = load float, float* %c, align 4 %arrayidx = getelementptr inbounds float, float* %a, i64 7 store float %1, float* %arrayidx, align 4 @@ -25,4 +25,4 @@ attributes #0 = { nounwind uwtable } !0 = !{!0, !"some domain"} !1 = !{!1, !0, !"some scope"} - +!2 = !{!1}