C++: Avoid outputting a cartesian product in AliasedSSA's getOverlap.

This commit is contained in:
Geoffrey White
2024-08-14 10:53:25 +01:00
parent c0a69f197d
commit 7430fde8c6

View File

@@ -688,6 +688,11 @@ private Overlap getExtentOverlap(MemoryLocation0 def, MemoryLocation0 use) {
(
// EntireAllocationMemoryLocation exactly overlaps itself.
use instanceof EntireAllocationMemoryLocation and
(
def.getAnAllocation() = use.getAnAllocation() or
not exists(def.getAnAllocation()) or
not exists(def.getAnAllocation())
) and
result instanceof MustExactlyOverlap
or
not use instanceof EntireAllocationMemoryLocation and