isra
ist das Suffix, das dem Funktionsnamen hinzugefügt wird, wenngcc
option-fipa-sra
Compiler-Optimierung ausgeführt wird.
Von gcc-Handbuch :
%Vor%Interprozedural skalaren Ersatz von Aggregaten, Entfernung von unbenutzten durchführen Parameter und Ersetzung von Parametern, die durch übergebene Parameter übergeben werden nach Wert.
Aktiviert auf den Ebenen
-O2
,-O3
und-Os
.
Alle Funktionen, die unter dieser Option optimiert sind, haben isra
an ihren Namen angehängt. Ich habe in gcc
code gegraben und die Funktion gefunden, die den String angehängt hat.
Hier ist Argument 2, const char *suffix
, "isra"
und notieren Sie am unteren Rand des Funktionsmakros ASM_FORMAT_PRIVATE_NAME
, das clone_fn_id_num++
als drittes Argument benötigt. Dies ist die beliebige Zahl nach "isra"
. Dies wird durch den Namen der Funktionen erklärt, die unter dieser Compileroption geklont werden (oder kann ein globaler Zähler sein, der alle geklonten Funktionen verfolgt).
Wenn Sie mehr wissen möchten, suchen Sie in der Datei modify_function
nach gcc/tree-sra.c
, was wiederum cgraph_function_versioning()
aufruft, das "isra"
als letztes Argument übergibt.
Tags und Links linux-kernel