Структура Blk
Версия от 08:43, 26 марта 2018; Alexander (обсуждение | вклад) (Новая страница: «Структура <code>Blk</code> - структура, хранящая информацию о базовом блоке. ===Основные поля:=== <…»)
Структура Blk
- структура, хранящая информацию о базовом блоке.
Основные поля:
Ins *ins
- массив инструкций, входящих в этот блок.
uint nins
- количество инструкций в блоке.
Blk *s1, Blk *s2
- указатели на последующие блоки (по ходу программы). Если s1 == null
и s2 == null
, то это значит, что блок находится около exit.
Blk *link
- указатель на следующий блок (вычисленный, вовсе не обязательно следующий по ходу программы!). Если s1 == null && s2 == null
, то совсем необязательно, что link == null
.
Blk *pred
- массив указателей на предшествующие (по ходу программы) блоки.
uint npred
- количество указателей в массиве.
Blk *idom
- указатель на непосредственный доминатор.