Core: Preserve explicit stack allocation limits on RVV
ConfigureVectorization.h's RVV block rewrites EIGEN_STACK_ALLOCATION_LIMIT unconditionally, so it discards whatever the caller set rather than only Eigen's own default. Found while fixing the same defect in the SVE block in !2938 (merged).
nomalloc, bdcsvd, jacobisvd, diagonalview and diagonalmatrices all set 0 to switch the check off. On an RVV build that becomes 196608, which re-enables alloca underneath the very tests written to catch it — they keep passing while covering nothing. exceptions sets 100000000 and has it lowered instead. In user code the effect has the same shape as the SVE one: a cap chosen to bound stack use is silently raised, so a fixed-size object the caller wanted rejected compiles, and internal buffers move from the heap back to alloca.
Guarding on EIGEN_STACK_ALLOCATION_LIMIT_WAS_DEFAULTED — the marker Macros.h sets when it supplied the value — leaves the tier values and every build that does not define the macro unchanged.
Stacked on !2938 (merged), which introduces that marker. Merge it first; the diff against master includes its four commits.
Test
The invariant belongs to no single backend, so it moves out of the SVE-only test into a new, always registered stack_allocation_limit. It is on the smoke list, since a smoketest-only pipeline otherwise never builds it and the assertion is a build-time check. It defines the limit to 1 — below anything a backend could derive, so it can never pass vacuously — and covers both the macro and the ei_declare_aligned_stack_constructed_variable path, which re-reads it at each use rather than through a saved constant.
Verification
Passes on AArch64 NEON and on SVE at 128 bits, and fails to compile at the parent of the SVE guard it generalizes:
test/stack_allocation_limit.cpp:21:44: error: static assertion failed:
an explicit EIGEN_STACK_ALLOCATION_LIMIT must surviveNo RVV toolchain was available to me, so the RVV half is unverified beyond the preprocessor logic. The riscv64 smoketest job is the first real check, and it is one of the jobs allowed to fail, so it is worth reading rather than trusting.