Dat3M
Dat3M copied to clipboard
Deferring memory creation
Right now, we construct the whole memory representation during parsing.
Problem: We lose all information of when memory gets allocated. A particular use case is Escape Analysis which could be used to convert memory allocations to register allocations. Currently, all C-benchmarks that use CAS introduce an unnecessary memory allocation. These all could be replaced by our custom DAT3M_CAS.
Solution: We should have Malloc
events that get created during parsing. These Malloc
events may be considered as Skips
in terms of semantics. The memory should get created after the compilation step by scanning for all Malloc
events in all threads.