mem-cache: Remove "inline" from a method in one of the prefetchers.
The function was defined in a .cc file but marked as inline. gcc seems to often figure out what it should do, but in clang it doesn't export the function (since it's marked as inline), and during linking external references, which don't have a local copy since it's not defined in the .hh file, will fail. This failure looks particularly odd because the funciton is virtual, and so the failure is reported as being unable to compose the vtable in places where the object is constructed, relatively obscure code which is generated by the build system and obscured by templates from an external code base (pybind11). Change-Id: Ib51aefbf9005e4ca8dfebef32c5def472175f115 Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/37436 Reviewed-by: Nikos Nikoleris <nikos.nikoleris@arm.com> Reviewed-by: Daniel Carvalho <odanrc@yahoo.com.br> Reviewed-by: Bobby R. Bruce <bbruce@ucdavis.edu> Maintainer: Nikos Nikoleris <nikos.nikoleris@arm.com> Tested-by: kokoro <noreply+kokoro@google.com>
This commit is contained in:
2
src/mem/cache/prefetch/stride.cc
vendored
2
src/mem/cache/prefetch/stride.cc
vendored
@@ -187,7 +187,7 @@ Stride::calculatePrefetch(const PrefetchInfo &pfi,
|
||||
}
|
||||
}
|
||||
|
||||
inline uint32_t
|
||||
uint32_t
|
||||
StridePrefetcherHashedSetAssociative::extractSet(const Addr pc) const
|
||||
{
|
||||
const Addr hash1 = pc >> 1;
|
||||
|
||||
Reference in New Issue
Block a user