27 #ifndef OPM_VALGRIND_HPP 28 #define OPM_VALGRIND_HPP 31 #include <valgrind/memcheck.h> 34 #include <opm/common/utility/gpuDecorators.hpp> 44 #if !defined NDEBUG && HAVE_VALGRIND && !OPM_IS_INSIDE_DEVICE_FUNCTION 45 return RUNNING_ON_VALGRIND;
78 #if !defined NDEBUG && HAVE_VALGRIND && !OPM_IS_INSIDE_DEVICE_FUNCTION 79 auto tmp = VALGRIND_CHECK_MEM_IS_DEFINED(&
value,
sizeof(T));
111 #if !defined NDEBUG && HAVE_VALGRIND && !OPM_IS_INSIDE_DEVICE_FUNCTION 112 auto tmp = VALGRIND_CHECK_MEM_IS_ADDRESSABLE(&
value,
sizeof(T));
146 [[maybe_unused]]
int size)
148 #if !defined NDEBUG && HAVE_VALGRIND && !OPM_IS_INSIDE_DEVICE_FUNCTION 149 auto tmp = VALGRIND_CHECK_MEM_IS_DEFINED(
value, size*
sizeof(T));
176 #if !defined NDEBUG && HAVE_VALGRIND && !OPM_IS_INSIDE_DEVICE_FUNCTION 177 VALGRIND_MAKE_MEM_UNDEFINED(&
value,
sizeof(T));
201 [[maybe_unused]]
int size)
203 #if !defined NDEBUG && HAVE_VALGRIND && !OPM_IS_INSIDE_DEVICE_FUNCTION 204 VALGRIND_MAKE_MEM_UNDEFINED(
value, size*
sizeof(T));
227 #if !defined NDEBUG && HAVE_VALGRIND && !OPM_IS_INSIDE_DEVICE_FUNCTION 228 VALGRIND_MAKE_MEM_DEFINED(&
value,
sizeof(T));
252 [[maybe_unused]]
int n)
254 #if !defined NDEBUG && HAVE_VALGRIND && !OPM_IS_INSIDE_DEVICE_FUNCTION 255 VALGRIND_MAKE_MEM_DEFINED(
value, n*
sizeof(T));
278 #if !defined NDEBUG && HAVE_VALGRIND && !OPM_IS_INSIDE_DEVICE_FUNCTION 279 VALGRIND_MAKE_MEM_NOACCESS(&
value,
sizeof(T));
301 [[maybe_unused]]
int size)
303 #if !defined NDEBUG && HAVE_VALGRIND && !OPM_IS_INSIDE_DEVICE_FUNCTION 304 VALGRIND_MAKE_MEM_NOACCESS(
value, size*
sizeof(T));
OPM_HOST_DEVICE void SetNoAccess([[maybe_unused]] const T &value)
Make valgrind complain if an object's memory is accessed.
Definition: Valgrind.hpp:276
OPM_HOST_DEVICE void SetUndefined([[maybe_unused]] const T &value)
Make the memory on which an object resides undefined in valgrind runs.
Definition: Valgrind.hpp:174
OPM_HOST_DEVICE bool CheckDefined([[maybe_unused]] const T &value)
Make valgrind complain if any of the memory occupied by an object is undefined.
Definition: Valgrind.hpp:76
This class implements a small container which holds the transmissibility mulitpliers for all the face...
Definition: Exceptions.hpp:30
OPM_HOST_DEVICE bool IsRunning()
Returns whether the program is running under Valgrind or not.
Definition: Valgrind.hpp:42
OPM_HOST_DEVICE void SetDefined([[maybe_unused]] const T &value)
Make the memory on which an object resides defined.
Definition: Valgrind.hpp:225
OPM_HOST_DEVICE bool CheckAddressable([[maybe_unused]] const T &value)
Make valgrind complain if any of the memory occupied by an object is not addressable.
Definition: Valgrind.hpp:108