Я пытаюсь использовать FDO с Bazel 3.1:
$ echo $CC
clang
$ bazel --version
bazel 3.1.0
$ bazel build -c opt --fdo_instrument /tmp/fdo/profile.profraw :benchmark
$ bazel-bin/benchmark
$ bazel build -c opt --fdo_optimize /tmp/fdo/profile.profraw :benchmark
Но последняя команда выдает ошибку:
ОШИБКА: / usr / local / google / home / haberman / .cache / bazel / _bazel_haberman / 17449526a2508fe9f4def2619c761b7e / external / local_config_cc / BUILD: 47: 1: в правиле cc_toolchain_suite @local_config_cc //: инструментальная цепочка * доступно * это преобразование профиля *: не требуется - для профиля 100 1008 *
С эта проблема на GitHub Я вижу, что эта ошибка связана с попыткой использовать FDO с g cc. Но выше вы можете видеть, что у меня CC
установлено на clang
. (Я также запустил bazel clean --expunge
, чтобы убедиться, что переменная окружения CC
«берет».)
Я также проверил, что у меня установлен llvm-profdata
и он находится на моем пути:
$ which llvm-profdata
/usr/bin/llvm-profdata
Почему это не работает? Что мне нужно сделать, чтобы FDO работал с Базелем?