Commit d415a1ad by Alan Mishchenko

Integrating packing information.

parent baa944e6
...@@ -900,6 +900,7 @@ extern void Gia_ManHashProfile( Gia_Man_t * p ); ...@@ -900,6 +900,7 @@ extern void Gia_ManHashProfile( Gia_Man_t * p );
extern int Gia_ManHashLookup( Gia_Man_t * p, Gia_Obj_t * p0, Gia_Obj_t * p1 ); extern int Gia_ManHashLookup( Gia_Man_t * p, Gia_Obj_t * p0, Gia_Obj_t * p1 );
/*=== giaIf.c ===========================================================*/ /*=== giaIf.c ===========================================================*/
extern void Gia_ManPrintMappingStats( Gia_Man_t * p ); extern void Gia_ManPrintMappingStats( Gia_Man_t * p );
extern void Gia_ManPrintPackingStats( Gia_Man_t * p );
extern int Gia_ManLutFaninCount( Gia_Man_t * p ); extern int Gia_ManLutFaninCount( Gia_Man_t * p );
extern int Gia_ManLutSizeMax( Gia_Man_t * p ); extern int Gia_ManLutSizeMax( Gia_Man_t * p );
extern int Gia_ManLutNum( Gia_Man_t * p ); extern int Gia_ManLutNum( Gia_Man_t * p );
......
...@@ -582,9 +582,11 @@ Gia_Man_t * Gia_AigerReadFromMemory( char * pContents, int nFileSize, int fSkipS ...@@ -582,9 +582,11 @@ Gia_Man_t * Gia_AigerReadFromMemory( char * pContents, int nFileSize, int fSkipS
else if ( *pCur == 'k' ) else if ( *pCur == 'k' )
{ {
extern Vec_Int_t * Gia_AigerReadPacking( unsigned char ** ppPos, int nSize ); extern Vec_Int_t * Gia_AigerReadPacking( unsigned char ** ppPos, int nSize );
int nSize;
pCur++; pCur++;
pCurTemp = pCur + Gia_AigerReadInt(pCur) + 4; pCur += 4; nSize = Gia_AigerReadInt(pCur);
pNew->vPacking = Gia_AigerReadPacking( &pCur, pCurTemp - pCur ); pCurTemp = pCur + nSize + 4; pCur += 4;
pNew->vPacking = Gia_AigerReadPacking( &pCur, nSize );
assert( pCur == pCurTemp ); assert( pCur == pCurTemp );
if ( fVerbose ) printf( "Finished reading extension \"k\".\n" ); if ( fVerbose ) printf( "Finished reading extension \"k\".\n" );
} }
......
...@@ -253,7 +253,7 @@ Vec_Int_t * Gia_AigerReadPacking( unsigned char ** ppPos, int nSize ) ...@@ -253,7 +253,7 @@ Vec_Int_t * Gia_AigerReadPacking( unsigned char ** ppPos, int nSize )
Vec_Str_t * Gia_WritePacking( Vec_Int_t * vPacking ) Vec_Str_t * Gia_WritePacking( Vec_Int_t * vPacking )
{ {
Vec_Str_t * vBuffer = Vec_StrStart( 4*Vec_IntSize(vPacking) ); Vec_Str_t * vBuffer = Vec_StrStart( 4*Vec_IntSize(vPacking) );
memcpy( Vec_StrArray(vBuffer), Vec_IntArray(vPacking), 4*sizeof(int) ); memcpy( Vec_StrArray(vBuffer), Vec_IntArray(vPacking), 4*Vec_IntSize(vPacking) );
return vBuffer; return vBuffer;
} }
......
...@@ -330,6 +330,8 @@ void Gia_ManPrintStats( Gia_Man_t * p, int fTents, int fSwitch, int fCut ) ...@@ -330,6 +330,8 @@ void Gia_ManPrintStats( Gia_Man_t * p, int fTents, int fSwitch, int fCut )
Gia_ManPrintChoiceStats( p ); Gia_ManPrintChoiceStats( p );
if ( p->pMapping ) if ( p->pMapping )
Gia_ManPrintMappingStats( p ); Gia_ManPrintMappingStats( p );
if ( p->vPacking )
Gia_ManPrintPackingStats( p );
if ( p->pPlacement ) if ( p->pPlacement )
Gia_ManPrintPlacement( p ); Gia_ManPrintPlacement( p );
// print register classes // print register classes
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment