From 229db815721f5589dfc039b74d11c93237028dcf Mon Sep 17 00:00:00 2001 From: Eugene Zhulenev Date: Tue, 25 Jun 2019 15:41:37 -0700 Subject: Optimize evaluation strategy for TensorSlicingOp and TensorChippingOp --- unsupported/Eigen/CXX11/src/Tensor/TensorMorphing.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'unsupported/Eigen/CXX11/src/Tensor/TensorMorphing.h') diff --git a/unsupported/Eigen/CXX11/src/Tensor/TensorMorphing.h b/unsupported/Eigen/CXX11/src/Tensor/TensorMorphing.h index 69a59906b..5352c8f7b 100644 --- a/unsupported/Eigen/CXX11/src/Tensor/TensorMorphing.h +++ b/unsupported/Eigen/CXX11/src/Tensor/TensorMorphing.h @@ -577,7 +577,9 @@ struct TensorEvaluator, Devi EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE bool evalSubExprsIfNeeded(CoeffReturnType* data) { m_impl.evalSubExprsIfNeeded(NULL); - if (!NumTraits::type>::RequireInitialization && data && m_impl.data()) { + if (!NumTraits::type>::RequireInitialization + && data && m_impl.data() + && !BlockAccess) { Index contiguous_values = 1; if (static_cast(Layout) == static_cast(ColMajor)) { for (int i = 0; i < NumDims; ++i) { -- cgit v1.2.3