mirror of
https://gitlab.com/libeigen/eigen.git
synced 2025-01-24 14:45:14 +08:00
40d1e2f8c7
Presently, igammac_impl::Run calls igamma_impl::Run, which in turn calls igammac_impl::Run. This isn't actually mutual recursion; the calls are guarded such that we never get into a loop. Nonetheless, it's a stretch for clang to prove this. As a result, clang emits a recursive call in both igammac_impl::Run and igamma_impl::Run. That this is suboptimal code is bad enough, but it's particularly bad when compiling for CUDA/nvptx. nvptx allows recursion, but only begrudgingly: If you have recursive calls in a kernel, it's on you to manually specify the kernel's stack size. Otherwise, ptxas will dump a warning, make a guess, and who knows if it's right. This change explicitly eliminates the mutual recursion in igammac_impl::Run and igamma_impl::Run. |
||
---|---|---|
bench | ||
blas | ||
cmake | ||
debug | ||
demos | ||
doc | ||
Eigen | ||
failtest | ||
lapack | ||
scripts | ||
test | ||
unsupported | ||
.hgeol | ||
.hgignore | ||
CMakeLists.txt | ||
COPYING.BSD | ||
COPYING.GPL | ||
COPYING.LGPL | ||
COPYING.MINPACK | ||
COPYING.MPL2 | ||
COPYING.README | ||
CTestConfig.cmake | ||
CTestCustom.cmake.in | ||
eigen3.pc.in | ||
INSTALL | ||
README.md | ||
signature_of_eigen3_matrix_library |
Eigen is a C++ template library for linear algebra: matrices, vectors, numerical solvers, and related algorithms.
For more information go to http://eigen.tuxfamily.org/.