Autovectorization in GCC Dorit Naishlos******@il. Vectorization in GCC - Talk Layout Background: GCC HRL and GCC Vectorization Background The GCC Vectorizer Developing a vectorizer in GCC Status & Results Future Work Working with an Open munity Concluding Remarks 2 GCC – piler Collection Open SourceDownload from gcc. Multi-platform million lines of code, 15 years of development How does it work cvs mailing list: gcc-******@gcc. mittee, maintainers Who’s involved Volunteers Linux distributors Apple, IBM – HRL (Haifa Research Lab) 3 middle-end generic trees back-end RTL generic trees gimple trees into SSA SSA optimizations out of SSA gimple trees generic trees GCC Passes machine description C front-end Java front-end C++ front-end parse trees int i, a[16], b[16] for (i=0; i < 16; i++) a[i] = a[i] + b[i]; int i; int , , ; i = 0; L1: if (i < 16) break; = a[i ]; = b[i ]; = + ; a[i] = ; i = i + 1; goto L1; L2: int i_0, i_1, i_2; int , , ; i_0 = 0; L1: i_1 = PHI<i_0, i_2> if (i_1 < 16) break; = a[i_1 ]; = b[i_1 ]; = + ; a[i_1] = ; i_2 = i_1 + 1; goto L1; L2: GIMPLE: SSA 4 front-end parse trees middle-end generic trees back-end RTL generic trees gimple trees into SSA SSA optimizations out of SSA gimple trees generic trees misc opts loop opts vectorization loop opts misc opts loop optimizations GCC Passes GCC 5 GCC Passes The Haifa GCC team: Leehod Baruch Revital Eres Olga Golovanevsky Mustafa Hagog Razya Ladelsky Victor Leikehman Dorit Naishlos Mircea Namolaru Ira Rosen Ayal Zaks front-end parse trees middle-end generic trees back-end RTL machine description Fortran 95 front-end IPO CP Aliasing Data layout Vectorization Loop unrolling Scheduler Modulo Scheduling Power4 6 Vectorization in GCC - Talk Layout Background: GCC HRL and GCC Vectorization Background The GCC Vectorizer Developing a
Autovectorization in GCC 来自淘豆网m.daumloan.com转载请标明出处.