diff -r 568e9a533cf0 -r a6a57181b1bd src/mem/mem_checker.cc --- a/src/mem/mem_checker.cc Tue Feb 03 20:05:56 2015 +0000 +++ b/src/mem/mem_checker.cc Tue Feb 03 20:06:08 2015 +0000 @@ -195,6 +195,17 @@ } // Record non-matching, but possible value _lastExpectedData.push_back(last_obs.data); + } else { + // We have not seen any valid observation, and the only writes + // observed are overlapping, so anything (in particular the + // initialisation value) goes + // NOTE: We can overlap with multiple write clusters, here + if (!writeClusters.empty() && wc_overlap) { + // ensure that all write clusters really overlap this read + assert(writeClusters.begin()->start < complete && + writeClusters.rbegin()->complete > start); + return true; + } } if (_lastExpectedData.empty()) {