Valgrind utilise une représentation de code intermédiaire pour nous permettre d'instrumenter le code binaire afin que nous n'ayons pas à traiter de constructions au niveau du langage de programmation. Dans le processus de conversion du code binaire en code de représentation intermédiaire (IR) de Valgrind, il montre l'utilisation de registres pour les opérations comme les additions, etc. Il y en a 1024 qui sont utilisés. Ce que je ne reçois pas est un autre type de registres appelés registres temporaires représentés comme tX
où X est un nombre. Ainsi, je peux voir ceci:Quelle est la différence entre les registres et les registres temporaires?
t28 = Add32(t26,0xFFFFFFFC:I32)
t4 = LDle:I32(t28)
t
ce qui signifie un registre temporaire. Autant que je peux voir, ils semblent se comporter très semblable aux registres réguliers mais ne réussissent pas à comprendre comment ils sont différents. Quelqu'un peut-il me dire ce qu'est un registre temporaire et en quoi est-il différent d'un registre régulier?
Je manque probablement quelque chose d'évident ici, mais je ne vois ni R ni T dans cet exemple ...? –
@Laurence: Correction de ma question. Merci de l'avoir signalé. – Legend