aboutsummaryrefslogtreecommitdiffhomepage
path: root/Eigen
diff options
context:
space:
mode:
authorGravatar Gael Guennebaud <g.gael@free.fr>2011-04-07 18:49:45 +0200
committerGravatar Gael Guennebaud <g.gael@free.fr>2011-04-07 18:49:45 +0200
commit0c146bee1b5981eb99a747e3176daea6c0a287ff (patch)
tree7e6062bec3c9fdcf9dc27648685adcca9886c26d /Eigen
parenteae5a6bb094243f80495955a3d1c551160c6f818 (diff)
enforce no inlining of the GEBP product kernel: this is a big
function that makes no sense to inline, though GCC was thinking the opposite. This even slighlty improve the perf. And as a side effect this workaround a weird GCC-4.4 linking bug (see "Problem with g++-4.4 -O2 and Eigen3" in the ML)
Diffstat (limited to 'Eigen')
-rw-r--r--Eigen/src/Core/products/GeneralBlockPanelKernel.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/Eigen/src/Core/products/GeneralBlockPanelKernel.h b/Eigen/src/Core/products/GeneralBlockPanelKernel.h
index 2116dcc74..c530d75dc 100644
--- a/Eigen/src/Core/products/GeneralBlockPanelKernel.h
+++ b/Eigen/src/Core/products/GeneralBlockPanelKernel.h
@@ -536,7 +536,7 @@ struct gebp_kernel
ResPacketSize = Traits::ResPacketSize
};
- EIGEN_FLATTEN_ATTRIB
+ EIGEN_DONT_INLINE EIGEN_FLATTEN_ATTRIB
void operator()(ResScalar* res, Index resStride, const LhsScalar* blockA, const RhsScalar* blockB, Index rows, Index depth, Index cols, ResScalar alpha,
Index strideA=-1, Index strideB=-1, Index offsetA=0, Index offsetB=0, RhsScalar* unpackedB = 0)
{