search for: hasmemoryuse

Displaying 2 results from an estimated 2 matches for "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, hen...
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) // corre...