Displaying 5 results from an estimated 5 matches for "mri_must".
2017 Oct 10
4
Expose aliasing information in getModRefInfo (or viceversa?)
...ith a, you can
>> actually clone foo here, change it to be pass-by-value, and promote the
>> argument inside of it (if you wanted to).
>>
>> So you can use this info to, for example, do interprocedural promotion.
>>
>>
>>> 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?
>>>
>>
>> Yes.
>>
>
> I didn't mean to pick on the example, sorry if that's how it came through.
>
> Since the consensus is to expose the Must info in Mod...
2017 Oct 10
2
Expose aliasing information in getModRefInfo (or viceversa?)
...not only can you move foo with a, you can
> actually clone foo here, change it to be pass-by-value, and promote the
> argument inside of it (if you wanted to).
>
> So you can use this info to, for example, do interprocedural promotion.
>
>
>> 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?
>>
>
> Yes.
>
I didn't mean to pick on the example, sorry if that's how it came through.
Since the consensus is to expose the Must info in ModRefInfo, I'm trying to
figure out...
2017 Nov 28
1
Expose aliasing information in getModRefInfo (or viceversa?)
...> ’t know enough about this specific code to help with this respect.
>>
>>
>>
>> My concern was with the users of getModReg(). In your new proposal,
>> doing & on the result of getModRef() may yield unexpected results.
>>
>> E.g., “getModRef() & MRI_MustMod != 0” doesn’t imply that the
>> instruction will write because the result might have been MRI_Mod (=
>> NoModRef | MustMod).
>>
>> As long as this fact is properly document, I’m good :) (btw, thanks for
>> fixing the documentation of the old MRI_* values; it was re...
2017 Oct 10
2
Expose aliasing information in getModRefInfo (or viceversa?)
...s of a set of things, we could do the same
If we determine it's a must-alias of the live on entry def, etc
If I understand correctly, the necessary info for fp in this example is:
isMustAlias (CallSite argument a, 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 m...
2017 Oct 10
2
Expose aliasing information in getModRefInfo (or viceversa?)
...s.
>>>> e.g.:
>>>> ModRefInfo getModRefInfo (LoadInst *LI, MemoryLocation Loc) {
>>>> return getModRefInfoAlias (LI, Loc, false).MRI;
>>>> }
>>>>
>>>> (b) From talking offline with George, introducing a MRI_MustMod in
>>>> ModRefInfo.
>>>>
>>>>
>>>> Open question: How to handle callsites.
>>>>
>>>>
>>>> In terms of whether this is worth doing, as a preliminary timing test I
>>>> timed the llvm bootstrap build wi...