TempleOSCDV4.04.ISO

This commit is contained in:
Terry A. Davis authored and minexew committed 2018-09-08 21:47:07 +02:00
1 parent 0f1a4a5d65
commit d1856315e0
67 files changed
+722 -697

No files matched your search

+15 -15
View File
@@ -63,7 +63,7 @@ U0 OptPass3(CCmpCtrl *cc,COptReg *reg_offsets)
} else
tempil1=tempil2=&cmp.ic_nop;
tempc=tempi->ic_class;
nobound_switch (intermediate_code_table[code].arg_cnt) {
switch [intermediate_code_table[code].arg_cnt] {
case IS_V_ARG:
ps->ptr-=tempi->ic_data>>3;
break;
@@ -76,7 +76,7 @@ U0 OptPass3(CCmpCtrl *cc,COptReg *reg_offsets)
else
tempc2=tempi->t.a2c;
tempi->a2.type=TY_STK+CmpRawType(tempc2);
tempi->a2.type_pointed=CmpRawTypePointed(tempc2);
tempi->a2.type_pointed_to=CmpRawTypePointed(tempc2);
tempi->ic_flags|=ICF_A2_WAS_STK;
case IS_1_ARG:
tempi1=PrsPop(ps);
@@ -87,19 +87,19 @@ U0 OptPass3(CCmpCtrl *cc,COptReg *reg_offsets)
else
tempc1=tempi->t.a1c;
tempi->a1.type=TY_STK+CmpRawType(tempc1);
tempi->a1.type_pointed=CmpRawTypePointed(tempc1);
tempi->a1.type_pointed_to=CmpRawTypePointed(tempc1);
tempi->ic_flags|=ICF_A1_WAS_STK;
break;
case IS_0_ARG: //nobound_switch
case IS_0_ARG: //nobound switch
break;
}
if (intermediate_code_table[code].result_cnt) {
tempi->r.type=TY_STK+CmpRawType(tempc);
tempi->r.type_pointed=CmpRawTypePointed(tempc);
tempi->r.type_pointed_to=CmpRawTypePointed(tempc);
tempi->ic_flags|=ICF_R_WAS_STK;
PrsPush(ps,tempi);
}
nobound_switch (code) {
switch [code] {
case IC_IMM_F64:
tempi->ic_flags&=~ICF_R_TO_F64;
if (tempi->ic_flags&ICF_R_TO_INT) {
@@ -121,13 +121,13 @@ U0 OptPass3(CCmpCtrl *cc,COptReg *reg_offsets)
tempi->a1.reg=REG_RBP;
break;
case IC_DEREF:
tempi->a1.type_pointed=tempi->r.type&RT_MASK;
tempi->a1.type_pointed_to=tempi->r.type&RT_MASK;
if (tempi1->ic_code==IC_LEA) {
tempi->ic_flags|=tempi1->ic_flags;
tempi->a1.reg=tempi1->a1.reg;
tempi->a1.disp=tempi1->a1.disp;
tempi->a1.type=TY_DISP+tempi->r.type&RT_MASK;
tempi->a1.type_pointed=tempi->r.type_pointed;
tempi->a1.type_pointed_to=tempi->r.type_pointed_to;
tempi->ic_code=IC_MOV;
OptFree(tempi1);
if (tempi->a1.reg==REG_RBP)
@@ -143,7 +143,7 @@ U0 OptPass3(CCmpCtrl *cc,COptReg *reg_offsets)
tempi->a1.reg=tempil2->a1.reg;
tempi->a1.disp=tempi->ic_data;
tempi->a1.type=TY_DISP+tempi->r.type&RT_MASK;
tempi->a1.type_pointed=tempi->r.type_pointed;
tempi->a1.type_pointed_to=tempi->r.type_pointed_to;
tempi->ic_code=IC_MOV;
OptFree(tempil2);
OptFree(tempil1);
@@ -154,7 +154,7 @@ U0 OptPass3(CCmpCtrl *cc,COptReg *reg_offsets)
case IC__MM:
case IC_PP_:
case IC_MM_:
tempi->r.type_pointed=CmpRawTypePointed(tempi->t.a1c);
tempi->r.type_pointed_to=CmpRawTypePointed(tempi->t.a1c);
case IC_DEREF_PP:
case IC_DEREF_MM:
if (tempi1->ic_code==IC_LEA &&
@@ -166,7 +166,7 @@ U0 OptPass3(CCmpCtrl *cc,COptReg *reg_offsets)
mv[i].score++;
break;
}
tempi->a1.type_pointed=tempi->r.type&RT_MASK;
tempi->a1.type_pointed_to=tempi->r.type&RT_MASK;
break;
case IC_MUL:
case IC_DIV:
@@ -186,7 +186,7 @@ U0 OptPass3(CCmpCtrl *cc,COptReg *reg_offsets)
tempi->t.a1c=tempi->t.a2c;
tempi->ic_data=tempi1->ic_data;
tempi->ic_code=IC_ADD_CONST;
tempi->a1.type_pointed=tempi->r.type&RT_MASK;
tempi->a1.type_pointed_to=tempi->r.type&RT_MASK;
tempi->a2.type=TY_NULL;
OptFree(tempi1);
if (tempil2->ic_code==IC_REG &&
@@ -250,8 +250,8 @@ U0 OptPass3(CCmpCtrl *cc,COptReg *reg_offsets)
mv[i].score++;
break;
}
tempi->a1.type_pointed=tempi->r.type&RT_MASK;
tempi->r.type_pointed=CmpRawTypePointed(tempi->t.a1c);
tempi->a1.type_pointed_to=tempi->r.type&RT_MASK;
tempi->r.type_pointed_to=CmpRawTypePointed(tempi->t.a1c);
break;
case IC_RETURN_VAL:
case IC_RETURN_VAL2:
@@ -375,7 +375,7 @@ U0 OptPass3(CCmpCtrl *cc,COptReg *reg_offsets)
mv[i].score++;
break;
}
tempi->a1.type_pointed=CmpRawType(tempc);
tempi->a1.type_pointed_to=CmpRawType(tempc);
goto here1;
case IC_BR_LESS:
case IC_BR_GREATER_EQU: