Not sure this is the best section of the forum to post these questions so I’m happy for them to be moved if there’s a better location!
I have a couple of beginner questions relating to how constexpr works in Clang/LLVM if someone is able to answer I’d greatly appreciate that.
Is the purpose of the Evaluator/s inside of ExprConstant.cpp largely to verify that something doesn’t violate constexpr rules and the result is discarded?
The CodeGen for constexpr inside of CGExprConstant.cpp seems to only handle certain cases (arrays/structs/unions), are cases like compile time computations (such as those found in some of the algorithms from the standard library e.g. transform/reduce etc.) handled by optimization passes?