mirror of https://github.com/YosysHQ/abc.git
Compiler warnings.
This commit is contained in:
parent
1d9d6814ee
commit
a3a6002b3d
|
|
@ -34,13 +34,14 @@ ABC_NAMESPACE_IMPL_START
|
|||
#define BAL_CUT_MAX 8
|
||||
#define BAL_SUPER 50
|
||||
#define BAL_NO_LEAF 31
|
||||
#define BAL_NO_FUNC 134217727 // (1<<27)-1
|
||||
|
||||
typedef struct Bal_Cut_t_ Bal_Cut_t;
|
||||
struct Bal_Cut_t_
|
||||
{
|
||||
word Sign; // signature
|
||||
int Delay; // delay
|
||||
unsigned iFunc : 27; // function
|
||||
unsigned iFunc : 27; // function (BAL_NO_FUNC)
|
||||
unsigned nLeaves : 5; // leaf number (Bal_NO_LEAF)
|
||||
int pLeaves[BAL_LEAF_MAX]; // leaves
|
||||
};
|
||||
|
|
@ -235,7 +236,7 @@ static inline int Bal_CutMergeOrder( Bal_Cut_t * pCut0, Bal_Cut_t * pCut1, Bal_C
|
|||
pC[i] = pC0[i];
|
||||
}
|
||||
pCut->nLeaves = nLutSize;
|
||||
pCut->iFunc = -1;
|
||||
pCut->iFunc = BAL_NO_FUNC;
|
||||
pCut->Sign = pCut0->Sign | pCut1->Sign;
|
||||
pCut->Delay = Abc_MaxInt( pCut0->Delay, pCut1->Delay );
|
||||
return 1;
|
||||
|
|
@ -268,7 +269,7 @@ FlushCut0:
|
|||
while ( i < nSize0 )
|
||||
pC[c++] = pC0[i++];
|
||||
pCut->nLeaves = c;
|
||||
pCut->iFunc = -1;
|
||||
pCut->iFunc = BAL_NO_FUNC;
|
||||
pCut->Sign = pCut0->Sign | pCut1->Sign;
|
||||
pCut->Delay = Abc_MaxInt( pCut0->Delay, pCut1->Delay );
|
||||
return 1;
|
||||
|
|
@ -278,7 +279,7 @@ FlushCut1:
|
|||
while ( k < nSize1 )
|
||||
pC[c++] = pC1[k++];
|
||||
pCut->nLeaves = c;
|
||||
pCut->iFunc = -1;
|
||||
pCut->iFunc = BAL_NO_FUNC;
|
||||
pCut->Sign = pCut0->Sign | pCut1->Sign;
|
||||
pCut->Delay = Abc_MaxInt( pCut0->Delay, pCut1->Delay );
|
||||
return 1;
|
||||
|
|
@ -303,7 +304,7 @@ static inline int Bal_CutMergeOrderMux( Bal_Cut_t * pCut0, Bal_Cut_t * pCut1, Ba
|
|||
if (x2 == xMin) i2++;
|
||||
}
|
||||
pCut->nLeaves = c;
|
||||
pCut->iFunc = -1;
|
||||
pCut->iFunc = BAL_NO_FUNC;
|
||||
pCut->Sign = pCut0->Sign | pCut1->Sign | pCut2->Sign;
|
||||
pCut->Delay = Abc_MaxInt( pCut0->Delay, Abc_MaxInt(pCut1->Delay, pCut2->Delay) );
|
||||
return 1;
|
||||
|
|
|
|||
|
|
@ -35,6 +35,7 @@ ABC_NAMESPACE_IMPL_START
|
|||
#define MF_LOG_PAGE 12
|
||||
#define MF_NO_LEAF 31
|
||||
#define MF_TT_WORDS ((MF_LEAF_MAX > 6) ? 1 << (MF_LEAF_MAX-6) : 1)
|
||||
#define MF_NO_FUNC 134217727 // (1<<27)-1
|
||||
|
||||
typedef struct Mf_Cut_t_ Mf_Cut_t;
|
||||
struct Mf_Cut_t_
|
||||
|
|
@ -42,7 +43,7 @@ struct Mf_Cut_t_
|
|||
word Sign; // signature
|
||||
int Delay; // delay
|
||||
float Flow; // flow
|
||||
unsigned iFunc : 27; // function
|
||||
unsigned iFunc : 27; // function (MF_NO_FUNC)
|
||||
unsigned nLeaves : 5; // leaf number (MF_NO_LEAF)
|
||||
int pLeaves[MF_LEAF_MAX+1]; // leaves
|
||||
};
|
||||
|
|
@ -785,7 +786,7 @@ static inline int Mf_CutMergeOrder( Mf_Cut_t * pCut0, Mf_Cut_t * pCut1, Mf_Cut_t
|
|||
pC[i] = pC0[i];
|
||||
}
|
||||
pCut->nLeaves = nLutSize;
|
||||
pCut->iFunc = -1;
|
||||
pCut->iFunc = MF_NO_FUNC;
|
||||
pCut->Sign = pCut0->Sign | pCut1->Sign;
|
||||
return 1;
|
||||
}
|
||||
|
|
@ -819,7 +820,7 @@ FlushCut0:
|
|||
while ( i < nSize0 )
|
||||
pC[c++] = pC0[i++];
|
||||
pCut->nLeaves = c;
|
||||
pCut->iFunc = -1;
|
||||
pCut->iFunc = MF_NO_FUNC;
|
||||
pCut->Sign = pCut0->Sign | pCut1->Sign;
|
||||
return 1;
|
||||
|
||||
|
|
@ -828,7 +829,7 @@ FlushCut1:
|
|||
while ( k < nSize1 )
|
||||
pC[c++] = pC1[k++];
|
||||
pCut->nLeaves = c;
|
||||
pCut->iFunc = -1;
|
||||
pCut->iFunc = MF_NO_FUNC;
|
||||
pCut->Sign = pCut0->Sign | pCut1->Sign;
|
||||
return 1;
|
||||
}
|
||||
|
|
@ -852,7 +853,7 @@ static inline int Mf_CutMergeOrderMux( Mf_Cut_t * pCut0, Mf_Cut_t * pCut1, Mf_Cu
|
|||
if (x2 == xMin) i2++;
|
||||
}
|
||||
pCut->nLeaves = c;
|
||||
pCut->iFunc = -1;
|
||||
pCut->iFunc = MF_NO_FUNC;
|
||||
pCut->Sign = pCut0->Sign | pCut1->Sign | pCut2->Sign;
|
||||
return 1;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -20,6 +20,7 @@
|
|||
|
||||
#include "if.h"
|
||||
#include "ifCount.h"
|
||||
#include "bool/kit/kit.h"
|
||||
|
||||
ABC_NAMESPACE_IMPL_START
|
||||
|
||||
|
|
|
|||
|
|
@ -79,7 +79,7 @@ If_Man_t * If_ManStart( If_Par_t * pPars )
|
|||
for ( v = 0; v < 6; v++ )
|
||||
p->vTtIsops[v] = p->vTtIsops[6];
|
||||
}
|
||||
if ( p->pPars->fDelayOpt || pPars->nGateSize > 0 || p->pPars->fDsdBalance );
|
||||
if ( pPars->fDelayOpt || pPars->nGateSize > 0 || pPars->fDsdBalance )
|
||||
{
|
||||
p->vCover = Vec_IntAlloc( 0 );
|
||||
p->vArray = Vec_IntAlloc( 1000 );
|
||||
|
|
|
|||
|
|
@ -53,6 +53,15 @@ static word s_Truths6Neg[6] = {
|
|||
ABC_CONST(0x00000000FFFFFFFF)
|
||||
};
|
||||
|
||||
static word s_TruthXors[6] = {
|
||||
ABC_CONST(0x0000000000000000),
|
||||
ABC_CONST(0x6666666666666666),
|
||||
ABC_CONST(0x6969696969696969),
|
||||
ABC_CONST(0x6996699669966996),
|
||||
ABC_CONST(0x6996966969969669),
|
||||
ABC_CONST(0x6996966996696996)
|
||||
};
|
||||
|
||||
static word s_PMasks[5][3] = {
|
||||
{ ABC_CONST(0x9999999999999999), ABC_CONST(0x2222222222222222), ABC_CONST(0x4444444444444444) },
|
||||
{ ABC_CONST(0xC3C3C3C3C3C3C3C3), ABC_CONST(0x0C0C0C0C0C0C0C0C), ABC_CONST(0x3030303030303030) },
|
||||
|
|
@ -161,6 +170,19 @@ static inline int Abc_TtWordNum( int nVars ) { return nVars <= 6 ? 1 : 1 <<
|
|||
static inline int Abc_TtByteNum( int nVars ) { return nVars <= 3 ? 1 : 1 << (nVars-3); }
|
||||
static inline int Abc_TtHexDigitNum( int nVars ) { return nVars <= 2 ? 1 : 1 << (nVars-2); }
|
||||
|
||||
/**Function*************************************************************
|
||||
|
||||
Synopsis [Bit mask.]
|
||||
|
||||
Description []
|
||||
|
||||
SideEffects []
|
||||
|
||||
SeeAlso []
|
||||
|
||||
***********************************************************************/
|
||||
static inline word Abc_Tt6Mask( int nBits ) { assert( nBits >= 0 && nBits <= 64 ); return (~(word)0) >> (64-nBits); }
|
||||
|
||||
/**Function*************************************************************
|
||||
|
||||
Synopsis []
|
||||
|
|
@ -947,6 +969,37 @@ static inline int Abc_Tt6SupportAndSize( word t, int nVars, int * pSuppSize )
|
|||
}
|
||||
|
||||
|
||||
/**Function*************************************************************
|
||||
|
||||
Synopsis [Detecting elementary functions.]
|
||||
|
||||
Description []
|
||||
|
||||
SideEffects []
|
||||
|
||||
SeeAlso []
|
||||
|
||||
***********************************************************************/
|
||||
static inline int Abc_TtOnlyOneOne( word t )
|
||||
{
|
||||
if ( t == 0 )
|
||||
return 0;
|
||||
return (t & (t-1)) == 0;
|
||||
}
|
||||
static inline int Gia_ManTtIsAndType( word t, int nVars )
|
||||
{
|
||||
return Abc_TtOnlyOneOne( t & Abc_Tt6Mask(1 << nVars) );
|
||||
}
|
||||
static inline int Gia_ManTtIsOrType( word t, int nVars )
|
||||
{
|
||||
return Abc_TtOnlyOneOne( ~t & Abc_Tt6Mask(1 << nVars) );
|
||||
}
|
||||
static inline int Gia_ManTtIsXorType( word t, int nVars )
|
||||
{
|
||||
return ((((t & 1) ? ~t : t) ^ s_TruthXors[nVars]) & Abc_Tt6Mask(1 << nVars)) == 0;
|
||||
}
|
||||
|
||||
|
||||
/**Function*************************************************************
|
||||
|
||||
Synopsis []
|
||||
|
|
|
|||
Loading…
Reference in New Issue