TempleOSCDV4.05.ISO

This commit is contained in:
Terry A. Davis authored and minexew committed 2018-09-08 21:47:13 +02:00
1 parent d1856315e0
commit 6fe38d2d9d
118 files changed
+4559 -5069

No files matched your search

+9 -10
View File
@@ -18,16 +18,16 @@ U0 OptSetNOP1(CIntermediateCode *tempi)
{
tempi->ic_code=IC_NOP1;
tempi->ic_flags=0;
tempi->a1.type=TY_NULL+tempi->a1.type&RT_MASK;
tempi->r.type =TY_NULL+tempi->r.type &RT_MASK;
tempi->a1.type=MDF_NULL+tempi->a1.type.raw_type;
tempi->r.type =MDF_NULL+tempi->r.type.raw_type;
}
U0 OptSetNOP2(CIntermediateCode *tempi,I64 stk_delta=1)
{
tempi->ic_code=IC_NOP2;
tempi->ic_data=stk_delta;
tempi->a1.type=TY_NULL+tempi->a1.type&RT_MASK;
tempi->r.type =TY_NULL+tempi->r.type &RT_MASK;
tempi->a1.type=MDF_NULL+tempi->a1.type.raw_type;
tempi->r.type =MDF_NULL+tempi->r.type.raw_type;
}
CIntermediateCode *OptFree(CIntermediateCode *tempi)
@@ -168,7 +168,7 @@ fb_here2:
return FBO1_NOT_CONST;
}
}
*is_unsigned=tempc1->raw_type&1 || tempc2->raw_type&1;
*is_unsigned=tempc1->raw_type&RTF_UNSIGNED || tempc2->raw_type&RTF_UNSIGNED;
if (tempi1->ic_code==IC_IMM_I64 && tempi2->ic_code==IC_IMM_I64 &&
!(tempi->ic_flags&(ICF_PUSH_CMP|ICF_POP_CMP))) {
tempi->ic_flags|=tempi1->ic_flags|tempi2->ic_flags;
@@ -193,8 +193,7 @@ Bool OptFixupBinaryOp2(CIntermediateCode **tempi1,CIntermediateCode **tempi2)
return FALSE;
}
Bool OptFixupUnaryOp(CIntermediateCode *tempi,
CIntermediateCode *tempi1,
Bool OptFixupUnaryOp(CIntermediateCode *tempi, CIntermediateCode *tempi1,
Bool *is_unsigned)
{
CHashClass *tempc,*tempc1;
@@ -217,7 +216,7 @@ Bool OptFixupUnaryOp(CIntermediateCode *tempi,
} else
return FBO1_NOT_CONST;
}
*is_unsigned=tempc1->raw_type&1;
*is_unsigned=tempc1->raw_type&RTF_UNSIGNED;
if (tempi1->ic_code==IC_IMM_I64) {
tempi->ic_flags|=tempi1->ic_flags;
OptSetNOP1(tempi1);
@@ -305,7 +304,7 @@ CIntermediateCode *OptBrZero(CCmpCtrl *cc,CIntermediateCode *tempi)
!(tempi->ic_flags&ICF_USE_F64)) {
tempi->ic_code+=IC_BR_EQU_EQU2-IC_BR_EQU_EQU;
tempi->ic_flags&=~ICF_PUSH_CMP;
tempii=tempi->next; //IC_PUSH_CMP instruction
tempii=tempi->next; //IC_PUSH_CMP inst
while (tempii->ic_code!=IC_PUSH_CMP)
tempii=tempii->next;
tempii->t.a1t=tempi;
@@ -432,7 +431,7 @@ CIntermediateCode *OptBrNotZero(CCmpCtrl *cc,CIntermediateCode *tempi)
!(tempi->ic_flags&ICF_USE_F64)) {
tempi->ic_code+=IC_BR_EQU_EQU2-IC_BR_EQU_EQU;
tempi->ic_flags&=~ICF_PUSH_CMP;
tempii=tempi->next; //IC_PUSH_CMP instruction
tempii=tempi->next; //IC_PUSH_CMP inst
while (tempii->ic_code!=IC_PUSH_CMP)
tempii=tempii->next;
tempii->t.a1t=tempi;