Получить символические утверждения в отчете векторизации GCC - PullRequest
0 голосов
/ 23 сентября 2018

Я использую следующие флаги для получения отчета о векторизации от g++ во время компиляции:

-O3 -march=native -mtune=native -g -fopt-info-vec-all=<filename>

Отчет помог мне ускорить многие места в моем коде, но теперь я застрял, пытаясьчтобы найти утверждения, которые GCC считает возможными с указателями.

Сообщения в сгенерированном файле часто выглядят так:

my_file.h:78:35: note: versioning for alias required: can't determine dependence between MEM[(const struct lookup_table *)this_61(D) + 512B].x0_ and MEM[(double &)_219]
 93709 consider run-time aliasing test between MEM[(const struct lookup_table *)this_61(D) + 512B].x0_ and MEM[(double &)_219]
...
my_file.h:78:35: note: bad data dependence.

Хотя я знаю, что такое lookup_table::x0_, я пытаюсьнайти _219 в моем коде.Это очень помогло бы, если бы был способ разобрать (или символизировать) такие имена.Или найдите область, в которой GCC не может утверждать независимость обеих областей памяти.

Возможно ли это?

...