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.