codea: not-optimierung passte nicht ganz
authorBernhard Urban <lewurm@gmail.com>
Mon, 17 May 2010 11:49:52 +0000 (13:49 +0200)
committerBernhard Urban <lewurm@gmail.com>
Mon, 17 May 2010 12:05:57 +0000 (14:05 +0200)
remember: (return x) != (return !!x) in C

codea/code.bfe

index a3e1c192b51a77d940eaade26948366288546228..708bbe7eb6e059d8934d92960e1523cee1675c52 100644 (file)
@@ -120,7 +120,7 @@ expr: O_FIELD(expr) # 1 # printf("\t//field(expr)\n"); KIDREG2PARM(0); printf("\
 expr: O_FIELD(imm) # 1 # printf("\t//field(imm)\n"); printf("\tmovq %d, %%%s\n", KID_VAL(0) + (bnode->soffset * 8), BN_REG);
 
 
-nexpr: O_EQ(expr,O_NULL) # 0 #
+nexpr: O_EQ(expr,O_NULL) # 0 # gen_eqless(bnode, "ne", 1, 0);
 
 
 imm: O_ADD(imm,imm)  # 0 # BN_VAL = KID_VAL(0) + KID_VAL(1);