Displaying 2 results from an estimated 2 matches for "hasmemoryus".
Did you mean:
hasmemoryuse
2018 Oct 02
2
Reordering of load/stores using MemorySSA
...(M0) // corresponding to `store 10, p`
Reordering these two nodes does not break syntactic dependency,
hence additional flow-sensitive analysis is needed to check whether
reordering is valid.
To my understanding, GVNHoist seems to do that:
Memory operations in basic blocks are checked by
GVNHoist::hasMemoryUse().
If USE nodes of MemorySSA also have left-hand side, we can correctly
represent this kind of reorderability IMHO.
For the example above:
U1 = USE(M0) // corresponding to `v = load q`
M1 = DEF(M0, U1) // corresponding to `store 10, p`
Now there is a syntactic dependency between M1 and U1, he...
2018 Oct 02
0
Reordering of load/stores using MemorySSA
...is different due to aliasing.
>>
>> > hence additional flow-sensitive analysis is needed to check whether reordering is valid.
>>
>> > To my understanding, GVNHoist seems to do that:
>> > Memory operations in basic blocks are checked by
>> > GVNHoist::hasMemoryUse().
>> >
>> Correct.
>>
>> >
>> > If USE nodes of MemorySSA also have left-hand side, we can correctly
>> > represent this kind of reorderability IMHO.
>> >
>> > For the example above:
>> >
>> > U1 = USE(M0) // corr...