From 6f5c46632d74e1e636fe0f4189dae6c53d78c2a5 Mon Sep 17 00:00:00 2001 From: Alan Mishchenko Date: Thu, 13 Nov 2025 08:12:11 -0800 Subject: [PATCH] Fixing another non-reproducibility issue. --- src/base/abc/abc.h | 2 +- src/base/abc/abcUtil.c | 30 ++++++++++-------------------- src/base/abci/abcSweep.c | 4 +--- 3 files changed, 12 insertions(+), 24 deletions(-) diff --git a/src/base/abc/abc.h b/src/base/abc/abc.h index b23905dd3..0b0376c47 100644 --- a/src/base/abc/abc.h +++ b/src/base/abc/abc.h @@ -1046,7 +1046,7 @@ extern ABC_DLL Vec_Int_t * Abc_NtkFanoutCounts( Abc_Ntk_t * pNtk ); extern ABC_DLL Vec_Ptr_t * Abc_NtkCollectObjects( Abc_Ntk_t * pNtk ); extern ABC_DLL Vec_Int_t * Abc_NtkGetCiIds( Abc_Ntk_t * pNtk ); extern ABC_DLL void Abc_NtkReassignIds( Abc_Ntk_t * pNtk ); -extern ABC_DLL int Abc_ObjPointerCompare( void ** pp1, void ** pp2 ); +// extern ABC_DLL int Abc_ObjPointerCompare( void ** pp1, void ** pp2 ); extern ABC_DLL void Abc_NtkTransferCopy( Abc_Ntk_t * pNtk ); extern ABC_DLL void Abc_NtkInvertConstraints( Abc_Ntk_t * pNtk ); extern ABC_DLL void Abc_NtkPrintCiLevels( Abc_Ntk_t * pNtk ); diff --git a/src/base/abc/abcUtil.c b/src/base/abc/abcUtil.c index fddc04beb..e5bf337b2 100644 --- a/src/base/abc/abcUtil.c +++ b/src/base/abc/abcUtil.c @@ -1925,25 +1925,16 @@ void Abc_NtkDetectMatching( Abc_Ntk_t * pNtk ) } -/**Function************************************************************* - - Synopsis [Compares the pointers.] - - Description [] - - SideEffects [] - - SeeAlso [] - -***********************************************************************/ -int Abc_ObjPointerCompare( void ** pp1, void ** pp2 ) -{ - if ( *pp1 < *pp2 ) - return -1; - if ( *pp1 > *pp2 ) - return 1; - return 0; -} +/// The legacy `Abc_ObjPointerCompare()` comparator is unused; keep the code here +/// commented to document its previous behavior without exposing a prototype. +// int Abc_ObjPointerCompare( void ** pp1, void ** pp2 ) +// { +// if ( *pp1 < *pp2 ) +// return -1; +// if ( *pp1 > *pp2 ) +// return 1; +// return 0; +// } /**Function************************************************************* @@ -3564,4 +3555,3 @@ void Abc_NtkATMap( int nXVars, int nYVars, int nAdder, char ** pGPCs0, int nGPCs ABC_NAMESPACE_IMPL_END - diff --git a/src/base/abci/abcSweep.c b/src/base/abci/abcSweep.c index 3306a6af8..2709bc458 100644 --- a/src/base/abci/abcSweep.c +++ b/src/base/abci/abcSweep.c @@ -885,10 +885,9 @@ int Abc_NtkReplaceAutonomousLogic( Abc_Ntk_t * pNtk ) continue; } assert( !Abc_ObjIsLatch(pFanin) ); - Vec_PtrPush( vNodes, pFanin ); + Vec_PtrPushUnique( vNodes, pFanin ); } } - Vec_PtrUniqify( vNodes, (int (*)(const void *, const void *))Abc_ObjPointerCompare ); // replace these nodes by the PIs Vec_PtrForEachEntry( Abc_Obj_t *, vNodes, pNode, i ) { @@ -1027,4 +1026,3 @@ int Abc_NtkSweepBufsInvs( Abc_Ntk_t * pNtk, int fVerbose ) ABC_NAMESPACE_IMPL_END -