This allows to do something like:
constexpr int func(int x) { return __builtin_constant_p(x) ? compute_constexpr(x) : compute_runtime(x); }
This kind of code is accepted by GCC since GCC 4.8.
The problem was that EvaluateBuiltinConstantP was discarding the EvalInfo and its frames. So just keep the EvalInfo