search for: doesaccessargpointees

Displaying 10 results from an estimated 10 matches for "doesaccessargpointees".

2011 Sep 10
2
[LLVMdev] readnone
Nick Lewycky wrote: > I was sure that I remember "opt -functionattrs" being taught to do this, > but I just tried it out and it doesn't. This is a missed optz'n > opportunity, testcase: > > @x = constant i32 0 > define void @foo() { > load i32* @x > ret void > } > > is only marked readonly when it should be readnone. Could
2011 Sep 10
0
[LLVMdev] readnone
Thanks for the answer Nick. Now you got me on a chase through FunctionAttrs.cpp trying to find out what analysis passes "... which answers no to everything", means. :-) Garrison On Sep 10, 2011, at 13:52, Nick Lewycky wrote: > Nick Lewycky wrote: >> I was sure that I remember "opt -functionattrs" being taught to do this, >> but I just tried it out and it
2017 Oct 10
2
Expose aliasing information in getModRefInfo (or viceversa?)
...are calls checking for equality to MRI_Ref or MRI_Mod (not &), so adding the occasional Must bit seems bad. So I guess my question is, what's the right approach here? I feel like I'm not on the right path. > In getModRefInfo(CS, Loc), the MRI_Must bit would then be set if >> doesAccessArgPointees and ArgAlias == MustAlias for all Args, which seems >> correct. >> > > > alias == MustAlias for Loc, not for all args. > (IE It it returns a singular result about Loc, not a result about all args) > > To get the set answer for all args, we'd have to query further....
2017 Oct 10
2
Expose aliasing information in getModRefInfo (or viceversa?)
...Value a) && getModRefBehavior(CallSite)== onlyReadsMemory. So adding a MRI_MustMod is insufficient? Are we instead looking to set a MRI_Must bit, disjunct of MRI_Mod, and test for MRI_Ref&MRI_Must or MRI_Mod&MRI_Must? In getModRefInfo(CS, Loc), the MRI_Must bit would then be set if doesAccessArgPointees and ArgAlias == MustAlias for all Args, which seems correct. I may be missing something here, I don't want to dive into the wrong implementation. On Tue, Oct 10, 2017 at 9:16 AM, Alina Sbirlea <alina.sbirlea at gmail.com> wrote: > I should have clarified, by 2 calls meant getModRe...
2017 Oct 10
4
Expose aliasing information in getModRefInfo (or viceversa?)
...the equality checks with mask checks. > Ok, thank you! > > > -Hal > > So I guess my question is, what's the right approach here? I feel like I'm > not on the right path. > > >> In getModRefInfo(CS, Loc), the MRI_Must bit would then be set if >>> doesAccessArgPointees and ArgAlias == MustAlias for all Args, which seems >>> correct. >>> >> >> >> alias == MustAlias for Loc, not for all args. >> (IE It it returns a singular result about Loc, not a result about all >> args) >> >> To get the set answer for a...
2016 Aug 29
2
GVN / Alias Analysis issue with llvm.masked.scatter/gather intrinsics
this is definitely a bug in AA. 225 for (auto I = CS2.arg_begin(), E = CS2.arg_end(); I != E; ++I) { 226 const Value *Arg = *I; 227 if (!Arg->getType()->isPointerTy()) -> 228 continue; 229 unsigned CS2ArgIdx = std::distance(CS2.arg_begin(), I); 230 auto CS2ArgLoc = MemoryLocation::getForArgument(CS2, CS2ArgIdx, TLI);
2016 Aug 29
2
GVN / Alias Analysis issue with llvm.masked.scatter/gather intrinsics
...------ next part -------------- diff --git a/lib/Analysis/AliasAnalysis.cpp b/lib/Analysis/AliasAnalysis.cpp index f931b6f..ee51067 100644 --- a/lib/Analysis/AliasAnalysis.cpp +++ b/lib/Analysis/AliasAnalysis.cpp @@ -155,7 +155,7 @@ ModRefInfo AAResults::getModRefInfo(ImmutableCallSite CS, if (doesAccessArgPointees(MRB)) { for (auto AI = CS.arg_begin(), AE = CS.arg_end(); AI != AE; ++AI) { const Value *Arg = *AI; - if (!Arg->getType()->isPointerTy()) + if (!Arg->getType()->isPtrOrPtrVectorTy()) continue; unsigned ArgIdx = std::distance(CS.arg_begin...
2017 Nov 28
1
Expose aliasing information in getModRefInfo (or viceversa?)
...;> >> >> >> -Hal >> >> So I guess my question is, what's the right approach here? I feel like >> I'm not on the right path. >> >> >> >> >> >> In getModRefInfo(CS, Loc), the MRI_Must bit would then be set if >> doesAccessArgPointees and ArgAlias == MustAlias for all Args, which seems >> correct. >> >> >> >> >> >> alias == MustAlias for Loc, not for all args. >> >> (IE It it returns a singular result about Loc, not a result about all >> args) >> >> >>...
2017 Oct 10
2
Expose aliasing information in getModRefInfo (or viceversa?)
Yes, this is odd. On my clang.bc Without: 2.2967 ( 53.8%) 0.0242 ( 26.4%) 2.3210 ( 53.2%) 2.3227 ( 53.2%) Memory SSA 2.3364 ( 53.7%) 0.0246 ( 25.7%) 2.3610 ( 53.1%) 2.3636 ( 53.1%) Memory SSA 2.3353 ( 54.0%) 0.0258 ( 27.0%) 2.3611 ( 53.4%) 2.3632 ( 53.3%) Memory SSA With two getModRefInfo calls: 3.0302 ( 58.8%) 0.0328 ( 29.9%) 3.0630 ( 58.2%) 3.0858 ( 58.2%)
2015 Dec 03
3
Function attributes for LibFunc and its impact on GlobalsAA
----- Original Message ----- > From: "James Molloy via llvm-dev" <llvm-dev at lists.llvm.org> > To: "Vaivaswatha Nagaraj" <vn at compilertree.com> > Cc: "LLVM Dev" <llvm-dev at lists.llvm.org> > Sent: Thursday, December 3, 2015 4:41:46 AM > Subject: Re: [llvm-dev] Function attributes for LibFunc and its impact on GlobalsAA > >