A method and apparatus for optimizing the compilation of computer program
by exposing parallelism are disclosed. The computer program contains steps
which involve index expressions. The program also involves function calls.
An index path in the program is identified by noting the steps involving
index expressions. A non-hierarchical representation of the index path,
including operations in the function calls is created and interrogated
with questions relating to memory accesses. The results of the
interrogation are stored in or back annotated to a question data
structure. The method and apparatus preferably involve the use of a signal
flow graph which is completed using the information in the question data
structure.
Un metodo e un apparecchio per l'ottimizzazione della compilazione del programma destinato all'elaboratore esponendo il parallelismo sono rilevati. Il programma destinato all'elaboratore contiene i punti che coinvolgono le espressioni di indice. Il programma inoltre coinvolge le chiamate di funzione. Un percorso di indice nel programma è identificato notando i punti che coinvolgono le espressioni di indice. Una rappresentazione non-gerarchica del percorso di indice, compreso i funzionamenti nelle chiamate di funzione è generata e consultata con le domande concernente gli accessi di memoria. I risultati dell'interrogazione sono immagazzinati dentro o indietro sono annotati ad una struttura di dati di domanda. Il metodo e gli apparecchi coinvolgono preferibilmente l'uso di un grafico di flusso del segnale che è completato usando le informazioni nella struttura di dati di domanda.