Я расширяю LLVM для экспериментов. Поэтому я хочу отслеживать использование переменной и ее зависимости.Алгоритмы для возврата к использованию и зависимостей переменной
Например, после нахождения условной ветви, вызванной сопоставлением двух операндов, я хочу отменить все применения этой переменной и определить все ее зависимости (какие переменные используются для вычисления операнда условия). Для меня это выглядит как рекурсивный backtrack.
Существуют ли специальные алгоритмы, специализированные для этой проблемы?
С какого состояния? Источник? ИК? АСТ? Структура данных информации - это алгоритмы предварительной и последующей ходьбы и т. Д. И т. Д. –
Промежуточное представление. –
ОК, я не знаком с библиотекой, классами или функциями C++, но это может быть вашей лучшей надеждой. Мой внешний компилятор испускает LLVM-IR, поэтому я выполняю зависимости переменных во время семантического анализа (используя post-walks и т. Д.), Извините –