Я хотел бы знать, существуют ли какие-либо инструменты, которые могут построить график зависимости данных, начиная с фрагмента кода сборки?
Моя цель: начать с набора инструкций по сборке (получаемых в результатескомпилировал код C с использованием GCC / LLVM), построил график зависимости, который помог бы проанализировать, как каждая переменная вносит свой вклад в конечный результат.
Какие-либо предложения о том, что я мог бы узнать, чтобы достичь этого? Могут ли существующие компиляторы выводить что-то подобное или промежуточное представление, которое я могу преобразовать графически?
Например, если мы рассмотрим простое добавление D = (A + B)*C
, такое как следующее:
load R1, Address_of_A
load R2, Address_of_B
load R3, Address_of_C
add R4, R1, R2
mul R5, R4, R3
store R5, Address_of_D
Результатможет быть что-то вроде:
A ----
(+)------
B ---- |--------
(*)----> D
C ----------------------