C++/C#: Sync

This commit is contained in:
Robert Marsh
2020-01-16 07:16:57 -08:00
parent 1b5d33023e
commit c942da524c
2 changed files with 16 additions and 4 deletions

View File

@@ -573,13 +573,19 @@ module DefUse {
// An odd offset corresponds to the `Chi` instruction.
defOffset = oldOffset * 2 + 1 and
result = Chi(oldInstr) and
hasNonPhiDefinition(_, defLocation, defBlock, defOffset) and
(
defLocation = Alias::getResultMemoryLocation(oldInstr) or
defLocation = Alias::getResultMemoryLocation(oldInstr).getVirtualVariable()
) and
actualDefLocation = defLocation.getVirtualVariable()
or
// An even offset corresponds to the original instruction.
defOffset = oldOffset * 2 and
result = getNewInstruction(oldInstr) and
hasNonPhiDefinition(_, defLocation, defBlock, defOffset) and
(
defLocation = Alias::getResultMemoryLocation(oldInstr) or
defLocation = Alias::getResultMemoryLocation(oldInstr).getVirtualVariable()
) and
actualDefLocation = defLocation
)
or

View File

@@ -573,13 +573,19 @@ module DefUse {
// An odd offset corresponds to the `Chi` instruction.
defOffset = oldOffset * 2 + 1 and
result = Chi(oldInstr) and
hasNonPhiDefinition(_, defLocation, defBlock, defOffset) and
(
defLocation = Alias::getResultMemoryLocation(oldInstr) or
defLocation = Alias::getResultMemoryLocation(oldInstr).getVirtualVariable()
) and
actualDefLocation = defLocation.getVirtualVariable()
or
// An even offset corresponds to the original instruction.
defOffset = oldOffset * 2 and
result = getNewInstruction(oldInstr) and
hasNonPhiDefinition(_, defLocation, defBlock, defOffset) and
(
defLocation = Alias::getResultMemoryLocation(oldInstr) or
defLocation = Alias::getResultMemoryLocation(oldInstr).getVirtualVariable()
) and
actualDefLocation = defLocation
)
or