https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85747
--- Comment #4 from Antony Polukhin <antoshkka at gmail dot com> --- (In reply to Marc Glisse from comment #2) > (In reply to Antony Polukhin from comment #0) > > Could the compiler detect that `a[7]` holds values known at compile time and > > force the constexpr on `sort(a + 0, a + 7);`? > > There has to be a limit. If I write a program that computes the trillion's > decimal of pi, this is a constant, do you expect the compiler to evaluate > the whole program and compile it to just return cst? We are moving into a > realm where we would want to mix compilation and execution, sort of JIT. > For smaller functions, some heuristics could be used to try compile-time > evaluation, but sorting an array of size 7 already seems large to me. Does providing some kind of -Oon-the-fly switch solves the issue with JIT compile times while still allows more optimizations for the traditional non JIT -O2 builds?