Displaying 4 results from an estimated 4 matches for "mri_ref".
2017 Oct 10
4
Expose aliasing information in getModRefInfo (or viceversa?)
...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 how to add it in...
2017 Oct 10
2
Expose aliasing information in getModRefInfo (or viceversa?)
...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 how to add it in a way that makes sense to me.
The way I...
2017 Nov 28
1
Expose aliasing information in getModRefInfo (or viceversa?)
...d what is the default to test against.
>>
>> So talking offline is Sanjoy, we reached a slightly different conclusion
>> which makes more sense to me.
>>
>>
>>
>> Current patch has:
>>
>> enum ModRefInfo {
>> MRI_NoModRef = 0,
>> MRI_Ref = 1,
>> MRI_Mod = 2,
>> MRI_ModRef = MRI_Ref | MRI_Mod,
>> MRI_Must = 4,
>>
>> MRI_MustRef = MRI_Ref | MRI_Must,
>>
>> MRI_MustMod = MRI_Mod | MRI_Must,
>>
>> MRI_MustModRef = MRI_ModRef | MRI_Must
>> };
>>
>>
>&...
2017 Oct 10
2
Expose aliasing information in getModRefInfo (or viceversa?)
...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 may be missing something here, I don't want to dive into the wrong
implementation.
On Tue, Oct 10, 2017...