[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[dotgnu-pnet-commits] pnet ChangeLog codegen/cg_logical.tc
From: |
Klaus Treichel |
Subject: |
[dotgnu-pnet-commits] pnet ChangeLog codegen/cg_logical.tc |
Date: |
Sat, 12 Jul 2008 11:38:34 +0000 |
CVSROOT: /cvsroot/dotgnu-pnet
Module name: pnet
Changes by: Klaus Treichel <ktreichel> 08/07/12 11:38:33
Modified files:
. : ChangeLog
codegen : cg_logical.tc
Log message:
Change the code generated for a logical not to a branchless solution.
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/pnet/ChangeLog?cvsroot=dotgnu-pnet&r1=1.3541&r2=1.3542
http://cvs.savannah.gnu.org/viewcvs/pnet/codegen/cg_logical.tc?cvsroot=dotgnu-pnet&r1=1.4&r2=1.5
Patches:
Index: ChangeLog
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnet/ChangeLog,v
retrieving revision 1.3541
retrieving revision 1.3542
diff -u -b -r1.3541 -r1.3542
--- ChangeLog 10 Jul 2008 08:24:19 -0000 1.3541
+++ ChangeLog 12 Jul 2008 11:38:33 -0000 1.3542
@@ -1,3 +1,9 @@
+2008-07-12 Klaus Treichel <address@hidden>
+
+ * codegen/cg_logical.tc (ILNode_GenValue(ILNode_LogicalNot)): Change the
+ code generated for a logical NOT from solution with branches to a simple
+ GenValue(expr); ldc.i4.1: xor;.
+
2008-07-10 Klaus Treichel <address@hidden>
* support/pt_defs.h (_ILSemaphoreWait): Retry sem_wait in the case the
Index: codegen/cg_logical.tc
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnet/codegen/cg_logical.tc,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -b -r1.4 -r1.5
--- codegen/cg_logical.tc 10 May 2002 02:39:02 -0000 1.4
+++ codegen/cg_logical.tc 12 Jul 2008 11:38:33 -0000 1.5
@@ -49,15 +49,11 @@
*/
ILNode_GenValue(ILNode_LogicalNot)
{
- ILLabel label1 = ILLabel_Undefined;
- ILLabel label2 = ILLabel_Undefined;
- ILNode_GenThen(node->expr, info, &label1);
+ ILNode_GenValue(node->expr, info);
ILGenSimple(info, IL_OP_LDC_I4_1);
- ILGenJump(info, IL_OP_BR, &label2);
- ILGenLabel(info, &label1);
- ILGenSimple(info, IL_OP_LDC_I4_0);
- ILGenLabel(info, &label2);
ILGenAdjust(info, 1);
+ ILGenSimple(info, IL_OP_XOR);
+ ILGenAdjust(info, -1);
return ILMachineType_Boolean;
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [dotgnu-pnet-commits] pnet ChangeLog codegen/cg_logical.tc,
Klaus Treichel <=