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
>
>