Técnicamente, -fdump-tree-optimized
no vuelque una representación C, sino una representación textual parcial del código Gimple utilizado dentro de GCC (Gimple es la representación interna de instrucciones intermedias, en la que operan la mayoría de las pasadas de optimización independientes de destino de GCC) .
Pero icc
es un compilador propietario (una caja negra), por lo que desde el punto de vista de su proveedor, no es interesante (para Intel) mostrar cómo funciona icc
.
GCC tiene la capacidad de mostrar sus representaciones internas, porque es un software libre. Los compiladores propietarios no quieren mostrar cómo funcionan.
Si esta es una clase, quizás puedas probar también LLVM. (Pero no sé cómo se vuelcan las representaciones internas en el interior).
Y más importante aún, si se trata de una clase, puede sugerir a su alumno que use GCC 4.6 desarrollar un complemento o una extensión GCC MELT para explorar y experimentar optimizaciones. MELT es un lenguaje de dominio de alto nivel específico para extender GCC y proporciona muchas funciones para facilitar tales tareas.
Si se trata de una aplicación "real" que no sea la diversión personal, está mucho mejor (en términos de rendimiento y tiempo de desarrollo) utilizando una biblioteca existente que implementa General Matrix Multiply, como GNU Scientific Library u otra implementación de la biblioteca BLAS – TJD
Nopes, esto es parte de un proyecto de clase que enseña optimizaciones del compilador y temas similares. – jitihsk