15         assert(a->
type != ABot);
    19         if (c->
type == CAddr) {
    50     if (ap.
type == ASym && aq.
type == ASym) {
    61     if ((ap.
type == ACon && aq.
type == ACon)
    63         assert(ap.
type == ACon || ap.
type == AUnk);
    74     if (ap.
type == AUnk && aq.
type != ALoc)
    76     if (aq.
type == AUnk && ap.
type != ALoc)
    98     assert(rtype(r) <= 
RType);
    99     if (rtype(r) == 
RTmp) {
   115     for (n=0; n<fn->
nblk; ++n) {
   118             assert(rtype(p->
to) == 
RTmp);
   120             assert(a->
type == ABot);
   126         for (i=b->
ins; i<&b->ins[b->
nins]; ++i) {
   128             if (!req(i->
to, 
R)) {
   129                 assert(rtype(i->
to) == 
RTmp);
   131                 assert(a->
type == ABot);
   132                 if (Oalloc <= i->op && i->
op <= 
Oalloc1) {
   144                 getalias(a, i->
arg[0], fn);
   147                 getalias(&a0, i->
arg[0], fn);
   148                 getalias(&a1, i->
arg[1], fn);
   149                 if (a0.
type == ACon) {
   153                 else if (a1.
type == ACon) {
   158             if (req(i->
to, 
R) || a->
type == AUnk) {
 
int escapes(Ref r, Fn *fn)
Структура, хранящая информацию об инструкциях. 
Con * con
Массив используемых функцией констант 
Структура, хранящая описание переменных (более подробное описание переменной ищите в Tmp)...
Tmp * tmp
Массив используемых функцией переменных 
Непосредственно информация о базовом блоке. 
uint nblk
Количество блоков в функции 
Blk ** rpo
Ссылка на массив блоков, пронумерованных в порядке Reverse-Post Order, заполняется функцией fillrpo...
int alias(Ref p, int sp, Ref q, int sq, int *delta, Fn *fn)
Структура, хранящая в себе информацию о функции