Podczas profilowania programu skompilowanego za pomocą gcc zauważyłem funkcje takie jak foo.isra.3
. Co oznacza isra
? Zauważam, że jedna z funkcji jest wywoływana tylko w kilku miejscach, a jeden z argumentów jest zawsze podawany jako wartość literalna. Może to znaczy, że jest to wariant funkcji zoptymalizowanej pod kątem określonych argumentów?Co oznacza przyrostek funkcji GCC "isra"?
11
A
Odpowiedz
16
Według komentarzu this bug report (i podobnych uwag mogę znaleźć):
ISRA jest nazwą zmiennej, która zostanie stworzona przez IPA SRA ...
IPA SRA jest optimization option:
-fipa-sra
Wykonaj międzyprocesorową zamianę skalarną agregatów, usunięcie nieużywanych parametrów i zastąpienie parametrów przekazywanych przez odniesienie parametrami przekazywanymi przez wartość.
Włączone na poziomach -O2, -O3 i -Os.
Najprawdopodobniej jest to wersja funkcji z tymi optymalizacjami.
W przypadku, o którym wspomniałeś, możliwe jest, że zastępuje on referencję wartością przekażnika, ponieważ wie, że nie ma sensu przekazywać literału przez odniesienie.
Powiązane problemy
- 1. Co oznacza przyrostek #DEN znaczy od wartości zmiennej
- 2. Co oznacza skrót gcc bez multilib?
- 3. Co oznacza% c w kodowaniu wbudowanego GCC?
- 4. Co oznacza -> po prototypie funkcji?
- 5. Co oznacza nazwa funkcji MySQL "ELT"?
- 6. Co oznacza (interaktywne) w funkcji Emacs Lisp?
- 7. Co oznacza const po podpisie funkcji/metody?
- 8. Co oznacza nazwa funkcji otaczającej nawiasy kwadratowe?
- 9. Co oznacza (+ var) oznacza
- 10. Co oznacza ta deklaracja funkcji dziwnej funkcji w C?
- 11. Co znaczy: co oznacza?
- 12. Co oznacza = *?
- 13. Co oznacza "::"?
- 14. Co oznacza xmlns = "" dokładnie oznacza
- 15. co oznacza „$ &” oznacza w Ruby
- 16. Co oznacza: * w C++?
- 17. Konflikt nazwy funkcji GCC
- 18. Co oznacza "#elif bez wyrażenia"?
- 19. zachowanie funkcji gcc -finline?
- 20. Co naprawdę robi gcc -D_REENTRANT?
- 21. Co "&" oznacza tutaj w PHP?
- 22. Co właściwie oznacza ten sret?
- 23. Co oznacza operator. = W PHP?
- 24. Co oznacza "+ nowy" w JavaScript?
- 25. co jest wykorzystanie "-wa, opcje" w gcc
- 26. Co oznacza ["ciąg"] .pakiet ("H *")?
- 27. Julia co oznacza bezimienna wartość w nagłówku funkcji?
- 28. Co oznacza "cdecl = zero" (umieszczone po deklaracji funkcji)?
- 29. W języku C++ co oznacza tylda "~" przed nazwą funkcji?
- 30. Co oznacza "CALLBACK" w deklaracji funkcji API systemu Windows?