Al leer el manual de gcc, veo una familia de -ftree-***
opciones de optimización. ¿Cuál es el propósito de estas opciones? ¿Qué son estos "árboles"?¿Cuál es el propósito de la familia "tree - ***" de las opciones de optimización de GCC?
Respuesta
Son pases optimizadores que funcionan en los árboles (SSA) dentro del compilador, en lugar de en el nivel RTL (registrar lenguaje de transferencia).
Para una visión general de qué se trata, consulte la documentación de funcionamiento interno del CCG: http://gcc.gnu.org/onlinedocs/gccint/
Para una introducción acerca de la SSA, ver http://en.wikipedia.org/wiki/Static_single_assignment_form
Gracias. Tengo la sensación de que estoy abriendo una lata de gusanos (no soy un compilador), pero ¿pueden explicar un poco sobre estos árboles de SSA? ¿Cuál es la diferencia entre "dentro del compilador" y "en el nivel de RTL"? – ysap
@ysap: ver http://www.redhat.com/magazine/002dec04/features/gcc/figs/tree-ssa-phases.png de http://www.redhat.com/magazine/002dec04/features/gcc/para obtener una descripción general de los pasos de compilación de gcc – Christoph
@ysap: este es un tema extenso. Además de los buenos enlaces publicados por Christoph, vea los enlaces que agregué en mi edición. – janneb
- 1. gcc -O4 indicador de optimización
- 2. ¿Cuál es el propósito de las directivas #line de perl?
- 3. ¿Cuál es el propósito de __cxa_pure_virtual?
- 4. ¿Cuál es el propósito de las categorías de intención?
- 5. ¿Cuál es el propósito de la bandera AI_V4MAPPED en getaddrinfo?
- 6. GCC SSE código de optimización
- 7. ¿Cuál es el propósito de los punteros de objetos comprimidos?
- 8. ¿Cuál es el propósito de las clases parciales?
- 9. Indicadores de optimización múltiple de GCC
- 10. ¿Cuál es el propósito de las interfaces en php?
- 11. ¿Cuál es el propósito de 'Class.forName ("MY_JDBC_DRIVER")'?
- 12. ¿Cuál es el propósito de Active Records?
- 13. ¿Cuál es el propósito de precompiledApp.config?
- 14. ¿Cuál es el propósito de las vistas en SQL?
- 15. ¿Cuál es el propósito de Rake?
- 16. ¿Cuál es el propósito de 'var'?
- 17. Opciones de GCC para la optimización en la arquitectura de CPU dada
- 18. ¿Cuál es el propósito de "Container c = getContentPane();" en Swing?
- 19. ¿Cuál es el propósito de `qt_noop`
- 20. ¿Cuál es el propósito de layout.xml?
- 21. ¿Cuál es el propósito de requestWindowFeature()?
- 22. ¿Cuál es el propósito de Mage_Core_Block_Template_Facade
- 23. ¿Cuál es el propósito de config.assets.precompile?
- 24. ¿Cuál es el propósito de String.IsInterned?
- 25. ¿Cuál es el propósito de IntentSender?
- 26. ¿Cuál es el propósito de utilizar NSOrderedSame?
- 27. ¿Cuál es el propósito de git-mv?
- 28. ¿Cuál es el propósito de Membership.ValidateUser()
- 29. ¿Cuál es el propósito de Ext.require
- 30. WPF: ¿Cuál es el propósito de App.xaml?
Me imagino que se refiere al árbol de sintaxis abstracta que representa su programa. –