Valgrind использует промежуточное представление кода, чтобы дать нам двоичный код инструмента, так что нам не нужно иметь дело с конструкциями уровня языка программирования. В процессе преобразования двоичного кода в код промежуточного представления Valgrind (IR), он показывает использование регистров для операций, таких как добавления и т. Д. Есть 1024 из них, которые используются. То, что я не получаю, является другим типом регистров, называемых временными регистрами, представленными как tX
, где X - некоторое число. Таким образом, я могу видеть это:В чем разница между регистрами и временными регистрами?
t28 = Add32(t26,0xFFFFFFFC:I32)
t4 = LDle:I32(t28)
t
означает временный регистр. Насколько я вижу, они, похоже, очень похожи на обычные регистры, но я не могу понять, как они отличаются. Может ли кто-нибудь сказать мне, что такое временный регистр и как он отличается от обычного регистра?
У меня, вероятно, отсутствует что-то очевидное здесь, но я не вижу в этом примере ни «R», ни «T» ...? – 2010-12-10 05:21:17
@ Лоуренс: Исправил мой вопрос. Спасибо, что указали это. – Legend 2010-12-10 06:04:03