summaryrefslogtreecommitdiffstats
path: root/src/opt/lpk
diff options
context:
space:
mode:
authorAlan Mishchenko <alanmi@berkeley.edu>2008-07-02 08:01:00 -0700
committerAlan Mishchenko <alanmi@berkeley.edu>2008-07-02 08:01:00 -0700
commit303baf27cf34c2a57db97c4c567fd744241fa14b (patch)
treed6235cca48e7bdfe5884e517058c7791e66bb806 /src/opt/lpk
parentfa67e3c19e27c011517b91182eb3929412aaf402 (diff)
downloadabc-303baf27cf34c2a57db97c4c567fd744241fa14b.tar.gz
abc-303baf27cf34c2a57db97c4c567fd744241fa14b.tar.bz2
abc-303baf27cf34c2a57db97c4c567fd744241fa14b.zip
Version abc80702
Diffstat (limited to 'src/opt/lpk')
-rw-r--r--src/opt/lpk/lpkAbcDec.c1
-rw-r--r--src/opt/lpk/lpkAbcDsd.c6
-rw-r--r--src/opt/lpk/lpkCore.c8
-rw-r--r--src/opt/lpk/lpkCut.c31
-rw-r--r--src/opt/lpk/lpkMap.c2
-rw-r--r--src/opt/lpk/lpkMulti.c25
6 files changed, 45 insertions, 28 deletions
diff --git a/src/opt/lpk/lpkAbcDec.c b/src/opt/lpk/lpkAbcDec.c
index aa2d4bc0..c06f0bf1 100644
--- a/src/opt/lpk/lpkAbcDec.c
+++ b/src/opt/lpk/lpkAbcDec.c
@@ -143,7 +143,6 @@ Abc_Obj_t * Lpk_Implement( Lpk_Man_t * pMan, Abc_Ntk_t * pNtk, Vec_Ptr_t * vLeav
***********************************************************************/
int Lpk_Decompose_rec( Lpk_Man_t * pMan, Lpk_Fun_t * p )
{
- static Lpk_Res_t Res0, * pRes0 = &Res0;
Lpk_Res_t * pResMux, * pResDsd;
Lpk_Fun_t * p2;
int clk;
diff --git a/src/opt/lpk/lpkAbcDsd.c b/src/opt/lpk/lpkAbcDsd.c
index f4095914..46d9179a 100644
--- a/src/opt/lpk/lpkAbcDsd.c
+++ b/src/opt/lpk/lpkAbcDsd.c
@@ -43,7 +43,11 @@
***********************************************************************/
int Lpk_FunComputeMinSuppSizeVar( Lpk_Fun_t * p, unsigned ** ppTruths, int nTruths, unsigned ** ppCofs, unsigned uNonDecSupp )
{
- int i, Var, VarBest, nSuppSize0, nSuppSize1, nSuppTotalMin, nSuppTotalCur, nSuppMaxMin, nSuppMaxCur;
+ int i, Var, VarBest, nSuppSize0, nSuppSize1;
+ int nSuppTotalMin = -1; // Suppress "might be used uninitialized"
+ int nSuppTotalCur;
+ int nSuppMaxMin = -1; // Suppress "might be used uninitialized"
+ int nSuppMaxCur;
assert( nTruths > 0 );
VarBest = -1;
Lpk_SuppForEachVar( p->uSupp, Var )
diff --git a/src/opt/lpk/lpkCore.c b/src/opt/lpk/lpkCore.c
index 4eb64aa2..78356d81 100644
--- a/src/opt/lpk/lpkCore.c
+++ b/src/opt/lpk/lpkCore.c
@@ -100,7 +100,7 @@ int Lpk_NodeHasChanged( Lpk_Man_t * p, int iNode )
Vec_PtrForEachEntry( vNodes, pTemp, i )
{
// check if the node has changed
- pTemp = Abc_NtkObj( p->pNtk, (int)pTemp );
+ pTemp = Abc_NtkObj( p->pNtk, (int)(PORT_PTRUINT_T)pTemp );
if ( pTemp == NULL )
return 1;
// check if the number of fanouts has changed
@@ -233,7 +233,7 @@ p->timeMap += clock() - clk;
***********************************************************************/
int Lpk_ResynthesizeNode( Lpk_Man_t * p )
{
- static int Count = 0;
+// static int Count = 0;
Kit_DsdNtk_t * pDsdNtk;
Lpk_Cut_t * pCut;
unsigned * pTruth;
@@ -361,7 +361,7 @@ void Lpk_ComputeSupports( Lpk_Man_t * p, Lpk_Cut_t * pCut, unsigned * pTruth )
***********************************************************************/
int Lpk_ResynthesizeNodeNew( Lpk_Man_t * p )
{
- static int Count = 0;
+// static int Count = 0;
Abc_Obj_t * pObjNew, * pLeaf;
Lpk_Cut_t * pCut;
unsigned * pTruth;
@@ -497,7 +497,7 @@ p->timeEval += clock() - clk;
***********************************************************************/
int Lpk_Resynthesize( Abc_Ntk_t * pNtk, Lpk_Par_t * pPars )
{
- ProgressBar * pProgress;
+ ProgressBar * pProgress = NULL; // Suppress "might be used uninitialized"
Lpk_Man_t * p;
Abc_Obj_t * pObj;
double Delta;
diff --git a/src/opt/lpk/lpkCut.c b/src/opt/lpk/lpkCut.c
index facd330b..a2f46b09 100644
--- a/src/opt/lpk/lpkCut.c
+++ b/src/opt/lpk/lpkCut.c
@@ -46,7 +46,7 @@ CloudNode * Lpk_CutTruthBdd_rec( CloudManager * dd, Hop_Man_t * pMan, Hop_Obj_t
assert( !Hop_IsComplement(pObj) );
if ( pObj->pData )
{
- assert( ((unsigned)pObj->pData) & 0xffff0000 );
+ assert( ((unsigned)(PORT_PTRUINT_T)pObj->pData) & 0xffff0000 );
return pObj->pData;
}
// get the plan for a new truth table
@@ -84,8 +84,8 @@ CloudNode * Lpk_CutTruthBdd( Lpk_Man_t * p, Lpk_Cut_t * pCut )
Hop_Man_t * pManHop = p->pNtk->pManFunc;
Hop_Obj_t * pObjHop;
Abc_Obj_t * pObj, * pFanin;
- CloudNode * pTruth;
- int i, k, iCount = 0;
+ CloudNode * pTruth = NULL; // Suppress "might be used uninitialized"
+ int i, k;
// return NULL;
// Lpk_NodePrintCut( p, pCut );
@@ -103,7 +103,7 @@ CloudNode * Lpk_CutTruthBdd( Lpk_Man_t * p, Lpk_Cut_t * pCut )
// set the initial truth tables at the fanins
Abc_ObjForEachFanin( pObj, pFanin, k )
{
- assert( ((unsigned)pFanin->pCopy) & 0xffff0000 );
+ assert( ((unsigned)(PORT_PTRUINT_T)pFanin->pCopy) & 0xffff0000 );
Hop_ManPi( pManHop, k )->pData = pFanin->pCopy;
}
// compute the truth table of internal nodes
@@ -138,7 +138,7 @@ unsigned * Lpk_CutTruth_rec( Hop_Man_t * pMan, Hop_Obj_t * pObj, int nVars, Vec_
assert( !Hop_IsComplement(pObj) );
if ( pObj->pData )
{
- assert( ((unsigned)pObj->pData) & 0xffff0000 );
+ assert( ((unsigned)(PORT_PTRUINT_T)pObj->pData) & 0xffff0000 );
return pObj->pData;
}
// get the plan for a new truth table
@@ -173,8 +173,9 @@ unsigned * Lpk_CutTruth( Lpk_Man_t * p, Lpk_Cut_t * pCut, int fInv )
{
Hop_Man_t * pManHop = p->pNtk->pManFunc;
Hop_Obj_t * pObjHop;
- Abc_Obj_t * pObj, * pFanin;
- unsigned * pTruth;
+ Abc_Obj_t * pObj = NULL; // Suppress "might be used uninitialized"
+ Abc_Obj_t * pFanin;
+ unsigned * pTruth = NULL; // Suppress "might be used uninitialized"
int i, k, iCount = 0;
// Lpk_NodePrintCut( p, pCut );
assert( pCut->nNodes > 0 );
@@ -193,7 +194,7 @@ unsigned * Lpk_CutTruth( Lpk_Man_t * p, Lpk_Cut_t * pCut, int fInv )
// set the initial truth tables at the fanins
Abc_ObjForEachFanin( pObj, pFanin, k )
{
- assert( ((unsigned)pFanin->pCopy) & 0xffff0000 );
+ assert( ((unsigned)(PORT_PTRUINT_T)pFanin->pCopy) & 0xffff0000 );
Hop_ManPi( pManHop, k )->pData = pFanin->pCopy;
}
// compute the truth table of internal nodes
@@ -208,7 +209,7 @@ unsigned * Lpk_CutTruth( Lpk_Man_t * p, Lpk_Cut_t * pCut, int fInv )
if ( fInv == 0 )
{
pTruth = Vec_PtrEntry( p->vTtNodes, iCount++ );
- Kit_TruthCopy( pTruth, (unsigned *)pObj->pCopy, pCut->nLeaves );
+ Kit_TruthCopy( pTruth, (unsigned *)(PORT_PTRUINT_T)pObj->pCopy, pCut->nLeaves );
}
assert( iCount <= Vec_PtrSize(p->vTtNodes) );
return pTruth;
@@ -243,14 +244,14 @@ void Lpk_NodeRecordImpact( Lpk_Man_t * p )
if ( pNode->fMarkC )
continue;
pNode->fMarkC = 1;
- Vec_PtrPush( vNodes, (void *)pNode->Id );
- Vec_PtrPush( vNodes, (void *)Abc_ObjFanoutNum(pNode) );
+ Vec_PtrPush( vNodes, (void *)(PORT_PTRUINT_T)pNode->Id );
+ Vec_PtrPush( vNodes, (void *)(PORT_PTRUINT_T)Abc_ObjFanoutNum(pNode) );
}
}
// clear the marks
Vec_PtrForEachEntry( vNodes, pNode, i )
{
- pNode = Abc_NtkObj( p->pNtk, (int)pNode );
+ pNode = Abc_NtkObj( p->pNtk, (int)(PORT_PTRUINT_T)pNode );
pNode->fMarkC = 0;
i++;
}
@@ -280,7 +281,7 @@ int Lpk_NodeCutsCheckDsd( Lpk_Man_t * p, Lpk_Cut_t * pCut )
{
assert( pObj->fMarkA == 0 );
pObj->fMarkA = 1;
- pObj->pCopy = (void *)i;
+ pObj->pCopy = (void *)(PORT_PTRUINT_T)i;
}
// ref leaves pointed from the internal nodes
nCands = 0;
@@ -289,7 +290,7 @@ int Lpk_NodeCutsCheckDsd( Lpk_Man_t * p, Lpk_Cut_t * pCut )
fLeavesOnly = 1;
Abc_ObjForEachFanin( pObj, pFanin, k )
if ( pFanin->fMarkA )
- p->pRefs[(int)pFanin->pCopy]++;
+ p->pRefs[(int)(PORT_PTRUINT_T)pFanin->pCopy]++;
else
fLeavesOnly = 0;
if ( fLeavesOnly )
@@ -303,7 +304,7 @@ int Lpk_NodeCutsCheckDsd( Lpk_Man_t * p, Lpk_Cut_t * pCut )
Abc_ObjForEachFanin( pObj, pFanin, k )
{
assert( pFanin->fMarkA == 1 );
- if ( p->pRefs[(int)pFanin->pCopy] > 1 )
+ if ( p->pRefs[(int)(PORT_PTRUINT_T)pFanin->pCopy] > 1 )
break;
}
if ( k == Abc_ObjFaninNum(pObj) )
diff --git a/src/opt/lpk/lpkMap.c b/src/opt/lpk/lpkMap.c
index 698aeea1..f959f8f9 100644
--- a/src/opt/lpk/lpkMap.c
+++ b/src/opt/lpk/lpkMap.c
@@ -41,7 +41,7 @@
***********************************************************************/
If_Obj_t * Lpk_MapPrimeInternal( If_Man_t * pIfMan, Kit_Graph_t * pGraph )
{
- Kit_Node_t * pNode;
+ Kit_Node_t * pNode = NULL; // Suppress "might be used uninitialized"
If_Obj_t * pAnd0, * pAnd1;
int i;
// check for constant function
diff --git a/src/opt/lpk/lpkMulti.c b/src/opt/lpk/lpkMulti.c
index 82cf3578..3d2093e7 100644
--- a/src/opt/lpk/lpkMulti.c
+++ b/src/opt/lpk/lpkMulti.c
@@ -343,14 +343,31 @@ If_Obj_t * Lpk_MapTreeMulti_rec( Lpk_Man_t * p, Kit_DsdNtk_t ** ppNtks, int * pi
***********************************************************************/
If_Obj_t * Lpk_MapTreeMulti( Lpk_Man_t * p, unsigned * pTruth, int nVars, If_Obj_t ** ppLeaves )
{
- static Counter = 0;
+ static int Counter = 0;
If_Obj_t * pResult;
Kit_DsdNtk_t * ppNtks[8] = {0}, * pTemp;
Kit_DsdObj_t * pRoot;
int piCofVar[4], pPrios[16], pFreqs[16] = {0}, piLits[16];
int i, k, nCBars, nSize, nMemSize;
unsigned * ppCofs[4][8], uSupport;
- char pTable[16][16] = {0};
+ char pTable[16][16] = {
+ {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
+ {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
+ {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
+ {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
+ {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
+ {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
+ {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
+ {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
+ {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
+ {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
+ {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
+ {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
+ {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
+ {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
+ {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
+ {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}
+ };
int fVerbose = p->pPars->fVeryVerbose;
Counter++;
@@ -422,10 +439,6 @@ If_Obj_t * Lpk_MapTreeMulti( Lpk_Man_t * p, unsigned * pTruth, int nVars, If_Obj
if ( fVerbose )
printf( "After restructuring with priority:\n" );
- if ( Counter == 1 )
- {
- int x = 0;
- }
// transform all networks according to the variable order
for ( i = 0; i < nSize; i++ )
{