@@ -899,6 +899,24 @@ class MemoryLocation extends FinalMemoryLocation {
899
899
MemoryLocation ( ) { not useOverlapWithBusyDef ( this ) }
900
900
}
901
901
902
+ bindingset [ fun]
903
+ pragma [ inline_late]
904
+ private MemoryLocation getUnknownMemoryLocation ( IRFunction fun , boolean isMayAccess ) {
905
+ result = TUnknownMemoryLocation ( fun , isMayAccess )
906
+ }
907
+
908
+ bindingset [ fun]
909
+ pragma [ inline_late]
910
+ private MemoryLocation getAllAliasedMemory ( IRFunction fun , boolean isMayAccess ) {
911
+ result = TAllAliasedMemory ( fun , isMayAccess )
912
+ }
913
+
914
+ bindingset [ fun]
915
+ pragma [ inline_late]
916
+ private MemoryLocation getAllNonLocalMemory ( IRFunction fun , boolean isMayAccess ) {
917
+ result = TAllNonLocalMemory ( fun , isMayAccess )
918
+ }
919
+
902
920
MemoryLocation getResultMemoryLocation ( Instruction instr ) {
903
921
not canReuseSsaForOldResult ( instr ) and
904
922
exists ( MemoryAccessKind kind , boolean isMayAccess |
@@ -926,7 +944,7 @@ MemoryLocation getResultMemoryLocation(Instruction instr) {
926
944
// And otherwise we assign it a memory location that groups all the relevant memory locations into one.
927
945
result = getGroupedMemoryLocation ( var , unbindBool ( isMayAccess ) , false )
928
946
)
929
- else result = TUnknownMemoryLocation ( instr .getEnclosingIRFunction ( ) , isMayAccess )
947
+ else result = getUnknownMemoryLocation ( instr .getEnclosingIRFunction ( ) , isMayAccess )
930
948
)
931
949
or
932
950
kind instanceof EntireAllocationMemoryAccess and
@@ -935,10 +953,10 @@ MemoryLocation getResultMemoryLocation(Instruction instr) {
935
953
unbindBool ( isMayAccess ) )
936
954
or
937
955
kind instanceof EscapedMemoryAccess and
938
- result = TAllAliasedMemory ( instr .getEnclosingIRFunction ( ) , isMayAccess )
956
+ result = getAllAliasedMemory ( instr .getEnclosingIRFunction ( ) , isMayAccess )
939
957
or
940
958
kind instanceof NonLocalMemoryAccess and
941
- result = TAllNonLocalMemory ( instr .getEnclosingIRFunction ( ) , isMayAccess )
959
+ result = getAllNonLocalMemory ( instr .getEnclosingIRFunction ( ) , isMayAccess )
942
960
)
943
961
)
944
962
}
0 commit comments