pci = hTabFirstItem(pic14MnemonicsHash, &key);
while(pci) {
- fprintf( stderr, "element %d key %d, mnem %s\n",i++,key,pci->mnemonic);
+ DFPRINTF((stderr, "element %d key %d, mnem %s\n",i++,key,pci->mnemonic));
pci = hTabNextItem(pic14MnemonicsHash, &key);
}
void pcode_test(void)
{
- printf("pcode is alive!\n");
+ DFPRINTF((stderr,"pcode is alive!\n"));
//initMnemonics();
if(!pb)
return;
- /* Find all of the registers used in this pBlock */
+ /* Find all of the registers used in this pBlock
+ * by looking at each instruction and examining it's
+ * operands
+ */
for(pc = pb->pcHead; pc; pc = pc->next) {
+
+ /* Is this an instruction with operands? */
if(pc->type == PC_OPCODE && PCI(pc)->pcop) {
+
if(PCI(pc)->pcop->type == PO_GPR_TEMP) {
/* Loop through all of the registers declared so far in
if(PCI(pc)->pcop->type == PO_GPR_REGISTER) {
if(PCOR(PCI(pc)->pcop)->r) {
pic14_allocWithIdx (PCOR(PCI(pc)->pcop)->r->rIdx);
- fprintf(stderr,"found register in pblock: reg 0x%x\n",PCOR(PCI(pc)->pcop)->r->rIdx);
+ DFPRINTF((stderr,"found register in pblock: reg 0x%x\n",PCOR(PCI(pc)->pcop)->r->rIdx));
} else {
if(PCI(pc)->pcop->name)
fprintf(stderr,"ERROR: %s is a NULL register\n",PCI(pc)->pcop->name );
if(!pb || !peepOptimizing)
return 0;
- fprintf(stderr," Optimizing pBlock: %c\n",getpBlock_dbName(pb));
+ DFPRINTF((stderr," Optimizing pBlock: %c\n",getpBlock_dbName(pb)));
for(pc = pb->pcHead; pc; pc = pc->next)
matches += pCodePeepMatchRule(pc);
if(matches)
- fprintf(stderr," Optimizing pBlock: %c - matches=%d\n",getpBlock_dbName(pb),matches);
+ DFPRINTF((stderr," Optimizing pBlock: %c - matches=%d\n",getpBlock_dbName(pb),matches));
return matches;
}
* So, unlink the pCode label from it's pCode chain
* and destroy the label */
- fprintf(stderr," !!! REMOVED A LABEL !!! key = %d\n", pcl->key);
+ DFPRINTF((stderr," !!! REMOVED A LABEL !!! key = %d\n", pcl->key));
if(pc->type == PC_LABEL) {
unlinkPC(pc);
if(!the_pFile)
return;
- fprintf(stderr," Optimizing pCode\n");
+ DFPRINTF((stderr," Optimizing pCode\n"));
do {
for(pb = the_pFile->pbHead; pb; pb = pb->next) {
i = 0;
do {
- fprintf(stderr," Analyzing pCode: PASS #%d\n",i+1);
+ DFPRINTF((stderr," Analyzing pCode: PASS #%d\n",i+1));
/* First, merge the labels with the instructions */
for(pb = the_pFile->pbHead; pb; pb = pb->next) {
if('*' == dbName || getpBlock_dbName(pb) == dbName) {
- fprintf(stderr," analyze and merging block %c\n",dbName);
+ DFPRINTF((stderr," analyze and merging block %c\n",dbName));
pBlockMergeLabels(pb);
AnalyzepBlock(pb);
}
}
-
+#ifdef PCODE_DEBUG
pBlockStats(stderr,pb); // debug
+#endif
// Mark the registers in this block as used.
regs *r1,*r2, *newreg;
- fprintf(stderr,"comparing registers\n");
+ DFPRINTF((stderr,"comparing registers\n"));
r1 = setFirstItem(registersInCallPath);
while(r1) {
if(!newreg) {
- fprintf(stderr,"Bummer, no more registers.\n");
+ DFPRINTF((stderr,"Bummer, no more registers.\n"));
exit(1);
}
- fprintf(stderr,"Cool found register collision nIdx=%d moving to %d\n",
- r1->rIdx, newreg->rIdx);
+ DFPRINTF((stderr,"Cool found register collision nIdx=%d moving to %d\n",
+ r1->rIdx, newreg->rIdx));
r2->rIdx = newreg->rIdx;
//if(r2->name) free(r2->name);
if(newreg->name)
// MarkUsedRegisters(pb->registers);
registers = unionSets(pb->registers, registersInCallPath, THROW_NONE);
-
+#ifdef PCODE_DEBUG
if(registers)
- fprintf(stderr,"returning regs\n");
+ DFPRINTF((stderr,"returning regs\n"));
else
- fprintf(stderr,"not returning regs\n");
+ DFPRINTF((stderr,"not returning regs\n"));
- fprintf(stderr,"pBlock after register optim.\n");
+ DFPRINTF((stderr,"pBlock after register optim.\n"));
pBlockStats(stderr,pb); // debug
-
+#endif
return registers;
}
fprintf(of, "\npBlock statistics\n");
for(pb = the_pFile->pbHead; pb; pb = pb->next )
- pBlockStats(stderr,pb);
+ pBlockStats(of,pb);
{
parsedPattern *p = pp;
- fprintf(stderr,"altpat_label with ID = %d\n",p->pct[1].tok.n);
+ DFPRINTF((stderr,"altpat_label with ID = %d\n",p->pct[1].tok.n));
return newpCodeLabel(-p->pct[1].tok.n);
}
{
parsedPattern *p = pp;
- fprintf(stderr,"altpat_comment = %s\n",p->pct[0].tok.s);
+ DFPRINTF((stderr,"altpat_comment = %s\n",p->pct[0].tok.s));
return newpCodeCharP(p->pct[0].tok.s);
}
pCodeInstruction *pci=NULL;
- fprintf(stderr,"altpat_mnem0 %s\n", p->pct[0].tok.s);
+ DFPRINTF((stderr,"altpat_mnem0 %s\n", p->pct[0].tok.s));
opcode = getpCode(p->pct[0].tok.s,0);
if(opcode < 0) {
{
parsedPattern *p = pp;
- fprintf(stderr,"altpat_mnem0a wild mnem # %d\n", p[0].pct[1].tok.n);
+ DFPRINTF((stderr,"altpat_mnem0a wild mnem # %d\n", p[0].pct[1].tok.n));
/* Save the index of the maximum wildcard mnemonic */
pCodeInstruction *pci=NULL;
pCodeOp *pcosubtype;
- fprintf(stderr,"altpat_mnem1 %s var %s\n", p->pct[0].tok.s,p[1].pct[0].tok.s);
+ DFPRINTF((stderr,"altpat_mnem1 %s var %s\n", p->pct[0].tok.s,p[1].pct[0].tok.s));
opcode = getpCode(p->pct[0].tok.s,0);
if(opcode < 0) {
pCodeInstruction *pci=NULL;
pCodeOp *pcosubtype;
- fprintf(stderr,"altpat_mnem1a %s var %d\n", p->pct[0].tok.s,p[1].pct[1].tok.n);
+ DFPRINTF((stderr,"altpat_mnem1a %s var %d\n", p->pct[0].tok.s,p[1].pct[1].tok.n));
opcode = getpCode(p->pct[0].tok.s,0);
if(opcode < 0) {
pCodeInstruction *pci=NULL;
- fprintf(stderr,"altpat_mnem1b %s var %d\n", p->pct[0].tok.s,p[1].pct[0].tok.n);
+ DFPRINTF((stderr,"altpat_mnem1b %s var %d\n", p->pct[0].tok.s,p[1].pct[0].tok.n));
opcode = getpCode(p->pct[0].tok.s,0);
if(opcode < 0) {
dest = cvt_extract_destination(&p[3]);
- fprintf(stderr,"altpat_mnem2 %s var %s destination %s(%d)\n",
+ DFPRINTF((stderr,"altpat_mnem2 %s var %s destination %s(%d)\n",
p->pct[0].tok.s,
p[1].pct[0].tok.s,
p[3].pct[0].tok.s,
- dest);
+ dest));
opcode = getpCode(p->pct[0].tok.s,dest);
dest = cvt_extract_destination(&p[3]);
- fprintf(stderr,"altpat_mnem2a %s var %d destination %s(%d)\n",
+ DFPRINTF((stderr,"altpat_mnem2a %s var %d destination %s(%d)\n",
p->pct[0].tok.s,
p[1].pct[1].tok.n,
p[3].pct[0].tok.s,
- dest);
+ dest));
opcode = getpCode(p->pct[0].tok.s,dest);
void dump1Token(pCodeTokens tt)
{
-
+#ifdef PCODE_DEBUG
switch(tt) {
case PCT_SPACE:
fprintf(stderr, " space ");
fprintf(stderr, " null ");
}
+#endif
}
if(!pct || !pat || !*pat)
return 0;
- //fprintf(stderr,"comparing against:\n");
+ //DFPRINTF((stderr,"comparing against:\n"));
while(i < max_tokens) {
if(*pat == 0){
- //fprintf(stderr,"matched\n");
+ //DFPRINTF((stderr,"matched\n"));
return (i+1);
}
- //dump1Token(*pat); fprintf(stderr,"\n");
+ //dump1Token(*pat); DFPRINTF((stderr,"\n"));
if(pct->tt != *pat)
return 0;
while(i < max_tokens) {
if(*pct == 0) {
- //fprintf(stderr,"matched\n");
+ //DFPRINTF((stderr,"matched\n"));
return i;
}
- //dump1Token(*pat); fprintf(stderr,"\n");
+ //dump1Token(*pat); DFPRINTF((stderr,"\n"));
if( !pat || !pat->pcp )
return 0;
if (pat->pcp->pt != *pct)
return 0;
- //fprintf(stderr," pct=%d\n",*pct);
+ //DFPRINTF((stderr," pct=%d\n",*pct));
pct++;
pat++;
i++;
for(i=0; i<=tokIdx; i++)
dump1Token(tokArr[i].tt);
-
+#ifdef PCODE_DEBUG
fputc('\n',stderr);
-
+#endif
{
int lparsedPatIdx=0;
int lpcpIdx;
switch(pcpArr[lpcpIdx].pt) {
case PCP_LABEL:
if(state == PS_START){
- fprintf(stderr," label\n");
+ DFPRINTF((stderr," label\n"));
state = PS_HAVE_LABEL;
} else
- fprintf(stderr," bad state (%d) for label\n",state);
+ DFPRINTF((stderr," bad state (%d) for label\n",state));
break;
case PCP_STR:
- fprintf(stderr," %s is",tokArr[ltokIdx].tok.s);
+ DFPRINTF((stderr," %s is",tokArr[ltokIdx].tok.s));
switch(state) {
case PS_START:
case PS_HAVE_LABEL:
- fprintf(stderr," mnem\n");
+ DFPRINTF((stderr," mnem\n"));
cPmnem = tokArr[ltokIdx].tok.s;
state = PS_HAVE_MNEM;
break;
case PS_HAVE_MNEM:
- fprintf(stderr," 1st operand\n");
+ DFPRINTF((stderr," 1st operand\n"));
cP1stop = tokArr[ltokIdx].tok.s;
//pco1 = newpCodeOp(NULL,PO_GPR_REGISTER);
state = PS_HAVE_1OPERAND;
break;
case PS_HAVE_1OPERAND:
- fprintf(stderr," error expecting comma\n");
+ DFPRINTF((stderr," error expecting comma\n"));
break;
case PS_HAVE_COMMA:
- fprintf(stderr," 2 operands\n");
+ DFPRINTF((stderr," 2 operands\n"));
cP2ndop = tokArr[ltokIdx].tok.s;
break;
case PS_HAVE_2OPERANDS:
switch(state) {
case PS_START:
case PS_HAVE_LABEL:
- fprintf(stderr," wild mnem\n");
+ DFPRINTF((stderr," wild mnem\n"));
state = PS_HAVE_MNEM;
break;
case PS_HAVE_MNEM:
- fprintf(stderr," 1st operand is wild\n");
+ DFPRINTF((stderr," 1st operand is wild\n"));
state = PS_HAVE_1OPERAND;
break;
case PS_HAVE_1OPERAND:
- fprintf(stderr," error expecting comma\n");
+ DFPRINTF((stderr," error expecting comma\n"));
break;
case PS_HAVE_COMMA:
- fprintf(stderr," 2nd operand is wild\n");
+ DFPRINTF((stderr," 2nd operand is wild\n"));
break;
case PS_HAVE_2OPERANDS:
break;
fprintf(stderr," ERROR number\n");
break;
case PS_HAVE_MNEM:
- fprintf(stderr," 1st operand is a number\n");
+ DFPRINTF((stderr," 1st operand is a number\n"));
state = PS_HAVE_1OPERAND;
break;
case PS_HAVE_1OPERAND:
fprintf(stderr," error expecting comma\n");
break;
case PS_HAVE_COMMA:
- fprintf(stderr," 2nd operand is a number\n");
+ DFPRINTF((stderr," 2nd operand is a number\n"));
break;
case PS_HAVE_2OPERANDS:
break;
break;
case PCP_COMMA:
if(state == PS_HAVE_1OPERAND){
- fprintf(stderr," got a comma\n");
+ DFPRINTF((stderr," got a comma\n"));
state = PS_HAVE_COMMA;
} else
fprintf(stderr," unexpected comma\n");
//dump1Token(tokArr[ltokIdx].tt);
if(advTokIdx(<okIdx, strlen(pcpArr[lpcpIdx].tokens) ) ) {
- fprintf(stderr," reached end \n");
+ DFPRINTF((stderr," reached end \n"));
matching = 0;
//return;
}
while(j<=lparsedPatIdx && k<ALTPATTERNS);
/*
- fprintf(stderr,"\nConverting parsed line to pCode:\n\n");
+ DFPRINTF((stderr,"\nConverting parsed line to pCode:\n\n"));
j = 0;
do {
if(parsedPatArr[j].pcp && parsedPatArr[j].pcp->f )
parsedPatArr[j].pcp->f(&parsedPatArr[j]);
- fprintf(stderr," %d",parsedPatArr[j].pcp->pt);
+ DFPRINTF((stderr," %d",parsedPatArr[j].pcp->pt));
j++;
}
while(j<lparsedPatIdx);
*/
- fprintf(stderr,"\n");
+ DFPRINTF((stderr,"\n"));
}
for( ; ln; ln = ln->next) {
- //fprintf(stderr,"%s\n",ln->line);
+ //DFPRINTF((stderr,"%s\n",ln->line));
tokenizeLineNode(ln->line);
parseTokens();
if(!cond)
return;
- //fprintf(stderr,"\nCondition: %s\n",cond);
+ //DFPRINTF((stderr,"\nCondition: %s\n",cond));
/* brute force compares for now */
if(STRCASECMP(cond, "NZ") == 0) {
- //fprintf(stderr,"found NZ\n");
+ //DFPRINTF((stderr,"found NZ\n"));
curPeep->postFalseCond = PCC_Z;
}
for (pr = rules; pr; pr = pr->next) {
- //fprintf(stderr,"\nRule:\n\n");
+ //DFPRINTF((stderr,"\nRule:\n\n"));
pcps = Safe_calloc(1,sizeof(pCodePeepSnippets));
curPeep = pcps->peep = Safe_calloc(1,sizeof(pCodePeep));
/* Convert the target block */
peepRuleBlock2pCodeBlock(pr->match);
- //fprintf(stderr,"finished target, here it is in pcode form:\n");
+ //DFPRINTF((stderr,"finished target, here it is in pcode form:\n"));
//printpBlock(stderr, curBlock);
- //fprintf(stderr,"target with labels merged:\n");
+ //DFPRINTF((stderr,"target with labels merged:\n"));
pBlockMergeLabels(curBlock);
+#ifdef PCODE_DEBUG
printpBlock(stderr, curBlock);
+#endif
- //fprintf(stderr,"\nReplaced by:\n");
+ //DFPRINTF((stderr,"\nReplaced by:\n"));
curPeep->replace = curBlock = newpCodeChain(NULL, 'W', NULL);
/* Convert the replace block */
peepRuleBlock2pCodeBlock(pr->replace);
- //fprintf(stderr,"finished replace block, here it is in pcode form:\n");
+ //DFPRINTF((stderr,"finished replace block, here it is in pcode form:\n"));
//printpBlock(stderr, curBlock);
- //fprintf(stderr,"replace with labels merged:\n");
+ //DFPRINTF((stderr,"replace with labels merged:\n"));
pBlockMergeLabels(curBlock);
//printpBlock(stderr, curBlock);
pcl = pcd->label->pc;
labindex = -PCL(pcl)->key;
- //fprintf(stderr,"label id = %d (labindex = %d)\n",PCL(pcl)->key,labindex);
+ //DFPRINTF((stderr,"label id = %d (labindex = %d)\n",PCL(pcl)->key,labindex));
if(peepBlock->vars[labindex] == NULL) {
// First time to encounter this label
peepBlock->vars[labindex] = PCL(pcs->label->pc)->label;
- //fprintf(stderr,"first time for a label: %d %s\n",labindex, peepBlock->vars[labindex]);
+ //DFPRINTF((stderr,"first time for a label: %d %s\n",labindex, peepBlock->vars[labindex]));
} else {
if(strcmp(peepBlock->vars[labindex],PCL(pcs->label->pc)->label) != 0) {
- // fprintf(stderr,"labels don't match\n");
+ // DFPRINTF((stderr,"labels don't match\n"));
return 0;
}
- //fprintf(stderr,"matched a label\n");
+ //DFPRINTF((stderr,"matched a label\n"));
}
} else {
- // fprintf(stderr,"destination doesn't have a label\n");
+ // DFPRINTF((stderr,"destination doesn't have a label\n"));
if(pcs->label)
return 0;
return 0;
/*
- fprintf(stderr,"%s comparing\n",__FUNCTION__);
+ DFPRINTF((stderr,"%s comparing\n",__FUNCTION__));
pcs->print(stderr,pcs);
pcd->print(stderr,pcd);
*/
if (PCI(pcd)->pcop->type == PO_WILD) {
index = PCOW(PCI(pcd)->pcop)->id;
- //fprintf(stderr,"destination is wild\n");
+ //DFPRINTF((stderr,"destination is wild\n"));
#ifdef DEBUG_PCODEPEEP
if (index > peepBlock->nops) {
- fprintf(stderr,"%s - variables exceeded\n",__FUNCTION__);
+ DFPRINTF((stderr,"%s - variables exceeded\n",__FUNCTION__));
exit(1);
}
#endif
if(peepBlock->vars[index])
return (strcmp(peepBlock->vars[index],n) == 0);
else {
- // fprintf(stderr,"first time for a variable: %d, %s\n",index,n);
+ // DFPRINTF((stderr,"first time for a variable: %d, %s\n",index,n));
peepBlock->vars[index] = n;
return 1;
}
index = PCW(pcd)->id;
- // fprintf(stderr,"%s comparing wild cards\n",__FUNCTION__);
+ // DFPRINTF((stderr,"%s comparing wild cards\n",__FUNCTION__));
//pcs->print(stderr,pcs);
//pcd->print(stderr,pcd);
int i = (strcmp(peepBlock->vars[index],PCI(pcs)->pcop->name) == 0);
/*
if(i)
- fprintf(stderr," (matched)\n");
+ DFPRINTF((stderr," (matched)\n"));
else {
- fprintf(stderr," (no match: wild card operand mismatch\n");
- fprintf(stderr," peepblock= %s, pcodeop= %s\n",
+ DFPRINTF((stderr," (no match: wild card operand mismatch\n"));
+ DFPRINTF((stderr," peepblock= %s, pcodeop= %s\n"),
peepBlock->vars[index],
PCI(pcs)->pcop->name);
}
pcs = findNextInstruction(pcs->next);
if(pcs) {
- //fprintf(stderr," (next to match)\n");
+ //DFPRINTF((stderr," (next to match)\n"));
//pcs->print(stderr,pcs);
} else if(pcd->next) {
/* oops, we ran out of code, but there's more to the rule */
switch(pcop->type) {
case PO_CRY:
case PO_BIT:
- //fprintf(stderr,"pCodeOpCopy bit\n");
+ //DFPRINTF((stderr,"pCodeOpCopy bit\n"));
pcopnew = Safe_calloc(1,sizeof(pCodeOpBit) );
PCOB(pcopnew)->bit = PCOB(pcop)->bit;
PCOB(pcopnew)->inBitSpace = PCOB(pcop)->inBitSpace;
case PO_WILD:
/* Here we expand the wild card into the appropriate type: */
/* By recursively calling pCodeOpCopy */
- //fprintf(stderr,"pCodeOpCopy wild\n");
+ //DFPRINTF((stderr,"pCodeOpCopy wild\n"));
if(PCOW(pcop)->matched)
pcopnew = pCodeOpCopy(PCOW(pcop)->matched);
else {
// Probably a label
pcopnew = pCodeOpCopy(PCOW(pcop)->subtype);
pcopnew->name = Safe_strdup(PCOW(pcop)->pcp->vars[PCOW(pcop)->id]);
- //fprintf(stderr,"copied a wild op named %s\n",pcopnew->name);
+ //DFPRINTF((stderr,"copied a wild op named %s\n",pcopnew->name));
}
return pcopnew;
break;
case PO_LABEL:
- //fprintf(stderr,"pCodeOpCopy label\n");
+ //DFPRINTF((stderr,"pCodeOpCopy label\n"));
pcopnew = Safe_calloc(1,sizeof(pCodeOpLabel) );
PCOLAB(pcopnew)->key = PCOLAB(pcop)->key;
break;
case PO_LITERAL:
case PO_IMMEDIATE:
- //fprintf(stderr,"pCodeOpCopy lit\n");
+ //DFPRINTF((stderr,"pCodeOpCopy lit\n"));
pcopnew = Safe_calloc(1,sizeof(pCodeOpLit) );
PCOL(pcopnew)->lit = PCOL(pcop)->lit;
break;
case PO_GPR_BIT:
case PO_FSR:
case PO_INDF:
- //fprintf(stderr,"pCodeOpCopy GPR register\n");
+ //DFPRINTF((stderr,"pCodeOpCopy GPR register\n"));
pcopnew = Safe_calloc(1,sizeof(pCodeOpReg) );
PCOR(pcopnew)->r = PCOR(pcop)->r;
PCOR(pcopnew)->rIdx = PCOR(pcop)->rIdx;
- fprintf(stderr," register index %d\n", PCOR(pcop)->r->rIdx);
+ DFPRINTF((stderr," register index %d\n", PCOR(pcop)->r->rIdx));
break;
case PO_DIR:
- //fprintf(stderr,"pCodeOpCopy PO_DIR\n");
+ //DFPRINTF((stderr,"pCodeOpCopy PO_DIR\n"));
case PO_SFR_REGISTER:
case PO_STR:
case PO_NONE:
case PO_PCL:
case PO_PCLATH:
- //fprintf(stderr,"pCodeOpCopy register type %d\n", pcop->type);
+ //DFPRINTF((stderr,"pCodeOpCopy register type %d\n", pcop->type));
pcopnew = Safe_calloc(1,sizeof(pCodeOp) );
}
while(f && f!=t) {
- fprintf(stderr,"delete pCode:\n");
+ DFPRINTF((stderr,"delete pCode:\n"));
pc = f->next;
f->print(stderr,f);
//f->delete(f); this dumps core...
pcin = findNextInstruction(pcin->next);
pct = pct->next;
//debug:
- //fprintf(stderr," matched\n");
+ //DFPRINTF((stderr," matched\n"));
if(!pcin)
- fprintf(stderr," end of code\n");
+ DFPRINTF((stderr," end of code\n"));
if(!pct)
- fprintf(stderr," end of rule\n");
+ DFPRINTF((stderr," end of rule\n"));
}
if(matched) {
* following the point just past where we have matched depend on
* the `postFalseCond' as input then we abort the match
*/
- fprintf(stderr," matched rule so far, now checking conditions\n");
+ DFPRINTF((stderr," matched rule so far, now checking conditions\n"));
if (pcin && peepBlock->postFalseCond &&
(pCodeSearchCondition(pcin,peepBlock->postFalseCond) > 0) )
matched = 0;
/* We matched a rule! Now we have to go through and remove the
inefficient code with the optimized version */
-
- fprintf(stderr, "Found a pcode peep match:\nRule:\n");
+#ifdef PCODE_DEBUG
+ DFPRINTF((stderr, "Found a pcode peep match:\nRule:\n"));
printpCodeString(stderr,peepBlock->target->pcHead,10);
- fprintf(stderr,"first thing matched\n");
+ DFPRINTF((stderr,"first thing matched\n"));
pc->print(stderr,pc);
+#endif
if(pcin) {
- fprintf(stderr,"last thing matched\n");
+ DFPRINTF((stderr,"last thing matched\n"));
pcin->print(stderr,pcin);
}
* Is it wild? */
if(PCI(pcr)->pcop->type == PO_WILD) {
int index = PCOW(PCI(pcr)->pcop)->id;
- //fprintf(stderr,"copying wildopcode\n");
+ //DFPRINTF((stderr,"copying wildopcode\n"));
if(peepBlock->wildpCodeOps[index])
pcop = pCodeOpCopy(peepBlock->wildpCodeOps[index]);
else
- fprintf(stderr,"error, wildopcode in replace but not source?\n");
+ DFPRINTF((stderr,"error, wildopcode in replace but not source?\n"));
} else
pcop = pCodeOpCopy(PCI(pcr)->pcop);
}
- //fprintf(stderr,"inserting pCode\n");
+ //DFPRINTF((stderr,"inserting pCode\n"));
pCodeInsertAfter(pc, newpCode(PCI(pcr)->op,pcop));
} else if (pcr->type == PC_WILD) {
pCodeInsertAfter(pc,peepBlock->wildpCodes[PCW(pcr)->id]);