Ищу профайлер для clang-выхлопа или ман, как этот чёртов clang настроить, чтобы он выдавал правильный выхлоп для gprof, к примеру.
по AMD CodeAnalyst запускать не пробовал?
А llvm-prof не работает разве?
шындовс версия требует pdb, а у меня clang скомпилирован mingw. Хотелось бы вариант без студии.
охренеть, теперь осталось научиться для него генерировать lvmprof.out файл
реквестую историю успеха по результатам
Хм, у меня и gprof работает нормально. "clang++.exe" pr.cpp -pgЗапускаешь программу — потом gprof и он хавает out нормально.
Думаю тоже самое надо сделать и для llvm-prof, но у меня не удалось запустить pr.bc потому, что он не нашёл каких-то библиотек
По мануалу советуют использовать profile.pl из репозитория llvm/utils/profile.plТам поменялmy $libdir = `llvm-config --libdir`;chomp $libdir;на my $libdir = "c:/pf/llvm/lib";my $LibProfPath = $libdir . "/libprofile_rt.so";наmy $LibProfPath = $libdir . "/libprofile_rt.a";закинул profile.pl поближе к clang++.exeДалее сгенерировал биткод программы:clang++ -std=c++11 -O3 -emit-llvm zip2.cpp -c -o zip2.bcа потом подсунул профайлеру:profile.pl zip2.bcпосле запуска всё зависло... неполная история успеха
может ты как-то по-оособенному компилировал шланг, что там стала поддерживаться -pg ? "3.2" из транка, скомпилированный мингвой по умолчанию не умеет этого параметра
чаще из транка компиляй, чо. стэйбл релизы для лохов.
Да вроде тоже транк..clang version 3.2 (trunk 159086)Target: i686-pc-mingw32Thread model: posixНичего особенного не делал, собрал шмейком
по AMD CodeAnalyst запускать не пробовал?
А llvm-prof не работает разве?
шындовс версия требует pdb, а у меня clang скомпилирован mingw. Хотелось бы вариант без студии.
охренеть, теперь осталось научиться для него генерировать lvmprof.out файл
реквестую историю успеха по результатам
Хм, у меня и gprof работает нормально.
"clang++.exe" pr.cpp -pg
Запускаешь программу — потом gprof и он хавает out нормально.
Думаю тоже самое надо сделать и для llvm-prof, но у меня не удалось запустить pr.bc потому, что он не нашёл каких-то библиотек
По мануалу советуют использовать profile.pl из репозитория llvm/utils/profile.pl
Там поменял
my $libdir = `llvm-config --libdir`;
chomp $libdir;
на my $libdir = "c:/pf/llvm/lib";
my $LibProfPath = $libdir . "/libprofile_rt.so";
на
my $LibProfPath = $libdir . "/libprofile_rt.a";
закинул profile.pl поближе к clang++.exe
Далее сгенерировал биткод программы:
clang++ -std=c++11 -O3 -emit-llvm zip2.cpp -c -o zip2.bc
а потом подсунул профайлеру:
profile.pl zip2.bc
после запуска всё зависло... неполная история успеха
может ты как-то по-оособенному компилировал шланг, что там стала поддерживаться -pg ? "3.2" из транка, скомпилированный мингвой по умолчанию не умеет этого параметра
чаще из транка компиляй, чо. стэйбл релизы для лохов.
Да вроде тоже транк..
clang version 3.2 (trunk 159086)
Target: i686-pc-mingw32
Thread model: posix
Ничего особенного не делал, собрал шмейком