Clang++ PGO: пустой.profraw
Я прошу помощи по проблеме с Clang Profile Guided Optimization. Я использую clang++-3.7, но проблема все еще присутствует с clang++-3.6.
Если я пытаюсь сделать PGO с фиктивным кодом, все в порядке:
clang ++ -o test -fprofile-instr-generate dummy.cpp
Но с большим проектом есть некоторые проблемы. Я использую make-файл и скрипт для автоматизации процесса, но это поток операций:
clang ++ -c --std = C++ 0x -O3 -flto -fprofile-instr-generate src / foo1.cpp -o obj / foo1.o
clang ++ -c --std = C++ 0x -O3 -flto -fprofile-instr-generate src / foo2.cpp -o obj / foo2.o
clang ++ -c --std = C++0x -O3 -flto -fprofile-instr-generate src/foo3.cpp -o obj/foo3.o
clang ++ -O3 -flto -fprofile-instr-generate obj / foo1.o obj / foo2.o obj / foo3.o -o foobar.out
Может ли кто-нибудь помочь мне, пытаясь понять, в чем проблема? Заранее спасибо!
1 ответ
Решение
Решаемые. Проблема была в том, что профили генерировались только в случае нормального выхода (return или exit), в то время как в моем коде основное заканчивалось на _exit.