traduccion meaning berserk clang clang++

meaning - Equivalente de-tree-vectorizer-verbose para clang



llvm 3.7 0 (2)

La pregunta es acerca de cómo hacer que la información de impresión de clang sobre qué bucles (u otras partes del código) se han vectorizado. GCC tiene un -ftree-vectorizer-verbose=6 línea de comando llamado -ftree-vectorizer-verbose=6 para hacer esto, pero no pude encontrar nada similar para clang . ¿Es compatible clang esta o mi única opción es echar un vistazo en el desmontaje?


Mirando a través del código fuente de clang, hay un par de pases de vectorización en Transforms / Vectorize:

  • BBVectorize
  • LoopVectorize
  • SLPVectorizar

Los últimos tres no parecen tener ningún argumento que imprima cosas. Pero dentro de BBVectorize hay un par de opciones para imprimir cosas cuando se crea el debug de clang:

  • bb-vectorize-debug-instruction-exam: cuando la depuración está habilitada, genera información sobre el proceso de examen de instrucciones
  • bb-vectorize-debug-candidato-selection - Cuando la depuración está habilitada, la información de salida sobre el proceso de selección de candidatos
  • bb-vectorize-debug-pair-selection - Cuando la depuración está habilitada, la información de salida sobre el proceso de selección de pares
  • bb-vectorize-debug-cycle-check - Cuando la depuración está habilitada, la información de salida sobre el proceso de verificación de ciclo
  • bb-vectorize-debug-print-after-every-pair -Cuando se habilita la depuración, volcar el bloque básico después de fusionar cada par

Eso parece que se trata de eso.


clang tiene las siguientes opciones para imprimir diagnósticos relacionados con la vectorización:

-Rpass=loop-vectorize identifies loops that were successfully vectorized. -Rpass-missed=loop-vectorize identifies loops that failed vectorization and indicates if vectorization was specified. -Rpass-analysis=loop-vectorize identifies the statements that caused vectorization to fail.

Fuente: http://llvm.org/docs/Vectorizers.html