QBE
Структура Blk

Непосредственно информация о базовом блоке. Подробнее...

#include <all.h>

Граф связей класса Blk:

Поля данных

Phiphi
 
Insins
 
uint nins
 
struct {
   short   type
 
   Ref   arg
 
jmp
 
Blks1
 
Blks2
 
Blklink
 
uint id
 
uint visit
 
Blkidom
 
Blkdom
 
Blkdlink
 
Blk ** fron
 
uint nfron
 
Blk ** pred
 
uint npred
 
BSet in [1]
 
BSet out [1]
 
BSet gen [1]
 
int nlive [2]
 
int loop
 
char name [NString]
 

Подробное описание

Непосредственно информация о базовом блоке.

См. определение в файле all.h строка 254

Поля

◆ arg

Ref Blk::arg

См. определение в файле all.h строка 260

◆ dlink

Blk * Blk::dlink

См. определение в файле all.h строка 270

Используется в filldom() и ssa().

◆ dom

Blk* Blk::dom

См. определение в файле all.h строка 270

Используется в filldom() и ssa().

◆ fron

Blk** Blk::fron

См. определение в файле all.h строка 271

◆ gen

BSet Blk::gen[1]

См. определение в файле all.h строка 276

Используется в filllive().

◆ id

uint Blk::id

См. определение в файле all.h строка 266

Используется в fillrpo(), loopiter() и sdom().

◆ idom

Blk* Blk::idom

Указатель на непосредственный доминатор.

См. определение в файле all.h строка 269

Используется в filldom(), fillfron() и sdom().

◆ in

BSet Blk::in[1]

См. определение в файле all.h строка 276

Используется в filllive() и liveon().

◆ ins

Ins* Blk::ins

Массив инструкций, входящих в этот блок.

См. определение в файле all.h строка 256

Используется в memopt() и printfn().

◆ jmp

struct { ... } Blk::jmp

Используется в simpljmp().

◆ link

Blk* Blk::link

Указатель на следующий вычисленный блок (не обязательно следующий по ходу программы).

См. определение в файле all.h строка 264

Используется в copy(), filldom(), fillfron(), filllive(), fillloop(), fillpreds(), fillrpo(), loopiter(), printfn(), simpljmp(), ssa() и ssacheck().

◆ loop

int Blk::loop

См. определение в файле all.h строка 278

Используется в fillloop() и multloop().

◆ name

char Blk::name[NString]

См. определение в файле all.h строка 279

Используется в printfn() и ssa().

◆ nfron

uint Blk::nfron

См. определение в файле all.h строка 272

Используется в fillfron().

◆ nins

uint Blk::nins

Количество инструкций в блоке.

См. определение в файле all.h строка 257

Используется в memopt(), printfn() и simpljmp().

◆ nlive

int Blk::nlive[2]

См. определение в файле all.h строка 277

◆ npred

uint Blk::npred

Количество предшествующих (по ходу программы) блоков.

См. определение в файле all.h строка 275

Используется в edgedel(), filldom(), fillpreds() и loopiter().

◆ out

BSet Blk::out[1]

См. определение в файле all.h строка 276

Используется в filllive().

◆ phi

Phi* Blk::phi

См. определение в файле all.h строка 255

Используется в copy(), edgedel(), fillalias(), liveon(), printfn(), simpljmp() и ssacheck().

◆ pred

Blk** Blk::pred

Массив указателей на предшествующие (по ходу программы) блоки.

См. определение в файле all.h строка 274

Используется в edgedel(), filldom(), fillpreds() и loopiter().

◆ s1

Blk* Blk::s1

Указатель на последующие блоки (по ходу программы).

См. определение в файле all.h строка 262

Используется в edgedel(), fillfron(), filllive() и fillpreds().

◆ s2

Blk* Blk::s2

Указатель на последующие блоки (по ходу программы).

См. определение в файле all.h строка 263

Используется в edgedel(), filllive() и fillpreds().

◆ type

short Blk::type

См. определение в файле all.h строка 259

Используется в simpljmp().

◆ visit

uint Blk::visit

См. определение в файле all.h строка 267

Используется в loopiter().


Объявления и описания членов структуры находятся в файле: