1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
|
/* file generated by oo2c -- do not edit */
#include "__oo2c.h"
#include "__libc.h"
#include "CopyPropagation.d"
static _ModId _mid;
void CopyPropagation__Propagate(Data__Region reg) {
register int i0, i1, i2, i3;
i0 = (int)reg + 56;
i2 = (int)*(void**)i0;
i0 = i2 == 0;
if (i0) goto l3;
l0:
i3 = *(int*)(i2-4);
i1 = _type_test(i3, &Data__RegionDesc_td.td, 5);
i0 = i2 + 36;
i0 = (int)*(void**)i0;
if (i1) goto l1;
i1 = i2 + 44;
i1 = *(short int*)i1;
i1 = i1 != 18;
if (i1) goto l2;
i1 = i2 + 28;
i1 = (int)*(void**)i1;
i3 = (int)((_Type)i3)->tbprocs[1];
i1 = (int)*(void**)i1;
((void(*)(Data__Usable, Data__Usable))i3)((Data__Usable)i2, (Data__Usable)i1);
Data__InstructionDesc_Delete((Data__Instruction)i2);
goto l2;
l1:
CopyPropagation__Propagate((Data__Region)i2);
l2:
i3 = i0 != 0;
if (!(i3)) goto l3;
i2 = i0;
goto l0;
l3:
;
}
void CopyPropagation_init(void) {
_mid = _register_module(&CopyPropagation_md.md, NULL);
}
|