Durante la creazione di profili di un programma compilato con gcc, ho notato funzioni come foo.isra.3
. Cosa indica isra
? Ho notato che una delle funzioni viene chiamata solo in alcuni punti e uno degli argomenti viene sempre specificato come valore letterale. Forse significa che è una variante della funzione ottimizzata per determinati argomenti?Cosa significa "isra" per la funzione GCC?
11
A
risposta
16
Secondo un commento su this bug report (e simili commenti che ho potuto trovare):
ISRA è il nome della variabile che viene creato da IPA SRA ...
IPA SRA è un optimization option:
-fipa-sra
Eseguire la sostituzione scalare interprocedurale degli aggregati, la rimozione dei parametri non utilizzati e la sostituzione dei parametri passati per riferimento tramite i parametri passati per valore.
Abilitato a livelli -O2, -O3 e -Os.
Quindi molto probabilmente, è una versione di una funzione con tali ottimizzazioni.
Nel caso che hai menzionato, è possibile che stia sostituendo un pass-by-reference con un pass-by-value poiché sa che non ha senso passare un letterale per riferimento.
Problemi correlati
- 1. Che cosa significa la funzione GCC suffisso .constprop significa?
- 2. Che cosa significa la funzione "sottofunzione ($$)"?
- 3. Cosa significa la funzione dir() di Python?
- 4. cosa significa! Funzione in Javascript significa?
- 5. vuoto funzione Javascript? Cosa significa?
- 6. Perché GCC genera mov% eax,% eax e cosa significa?
- 7. Che cosa significa questo errore GCC "... relocation truncated to fit ..."?
- 8. fputs (_ ("")) cosa significa la sottolineatura?
- 9. Che cosa significa esattamente la funzione google.setOnLoadCallback (inizializza)?
- 10. Che cosa significa una funzione senza corpo?
- 11. Che cosa significa "WINAPI" nella funzione principale?
- 12. Che cosa significa la funzione "test.begin()" in CasperJS?
- 13. Che cosa significa la funzione EMBED nei controlli Excel?
- 14. Cosa significa% Stand P in assembly inline gcc
- 15. Cosa significa `rc` per i valori restituiti dalla funzione?
- 16. Cosa significa `* &` in una dichiarazione di funzione?
- 17. Cosa significa (+ var) significa
- 18. Cosa significa Field.Index.NOT_ANALYZED_NO_NORMS significa
- 19. javascript: cosa significa/* @ @ */significa?
- 20. Cosa significa la PSR-0?
- 21. Cosa significa la versione MR?
- 22. Cosa significa = ~ significa in Perl
- 23. Che cosa significa per una funzione hash essere incrementale?
- 24. Cosa significa '::' significa?
- 25. Cosa significa la f in setf?
- 26. Cosa significa "^ @" nel file?
- 27. Cosa significa: significa?
- 28. Cosa significa/#!/Significa nell'URL?
- 29. Cosa significa || = significa?
- 30. Cosa significa require ('../') significa?