Missing ConstExprEvaluator when linking SwiftClangImporterTests

I'm getting linker error when linking SwiftClangImporterTests:

Undefined symbols for architecture arm64:
  "swift::ConstExprEvaluator::ConstExprEvaluator(swift::SymbolicValueAllocator&, unsigned int, bool)", referenced from:
      BridgedConstExprFunctionState::create() in libswiftSIL.a[63](SILBridging.cpp.o)
  "swift::ConstExprEvaluator::~ConstExprEvaluator()", referenced from:
      BridgedConstExprFunctionState::deinitialize() in libswiftSIL.a[63](SILBridging.cpp.o)
  "swift::ConstExprFunctionState::getConstantValue(swift::SILValue)", referenced from:
      BridgedConstExprFunctionState::isConstantValue(BridgedValue) in libswiftSIL.a[63](SILBridging.cpp.o)
  "swift::ConstExprFunctionState::ConstExprFunctionState(swift::ConstExprEvaluator&, swift::SILFunction*, swift::SubstitutionMap, unsigned int&, bool)", referenced from:
      BridgedConstExprFunctionState::create() in libswiftSIL.a[63](SILBridging.cpp.o)
ld: symbol(s) not found for architecture arm64

My build-script wrapper:

"$(dirname $0)/swift/utils/build-script" \
  --skip-build-benchmarks \
  --skip-ios \
  --skip-watchos \
  --skip-tvos \
  --skip-xros \
  --release --debug-swift --debug-swift-stdlib \
  --skip-early-swift-driver \
  --bootstrapping=hosttools \
  --extra-cmake-options " -DSWIFT_ENABLE_EXPERIMENTAL_STRING_PROCESSING=FALSE" \
  --extra-cmake-options " -DSWIFT_ENABLE_EXPERIMENTAL_DISTRIBUTED=TRUE" \
  --extra-cmake-options " -DSWIFT_ENABLE_EXPERIMENTAL_DIFFERENTIABLE_PROGRAMMING=FALSE" \
  --extra-cmake-options " -DSWIFT_PATH_TO_SWIFT_SYNTAX_SOURCE=$(dirname $0)/swift-syntax" \
  --force-optimized-typechecker \
  --reconfigure \
  --swift-darwin-supported-archs "$(uname -m)" \
  --test --validation-test

Missing symbols are implemented in lib/SILOptimizer/Utils/ConstExpr.cpp, and libSILOptimizer is indeed not linked into SwiftClangImporterTests, so I'm not sure how this is supposed to work. Does anyone else experience this? Any troubleshooting tips?