Example #1
0
void *
KAPI_Initialize2( char *pchDelta, char *pchBaseline, char *pchToolname )
{
   knobs_t *pknobs;
   FILE *fpDelta, *fpBaseline;


   if ( pchDelta != NULL ) {
      fpDelta = fopen( pchDelta, "r" );
   } else {
      fpDelta = NULL;
   }
   if ( pchBaseline != NULL ) {
      fpBaseline = fopen( pchBaseline, "r" );
   } else {
      fpBaseline = NULL;
   }

   if ( fpDelta == NULL && fpBaseline == NULL ) {
      printf("KAPI ERROR: Files '%s' and '%s' do not exist\n", pchDelta, pchBaseline );
      return( NULL );
   }

   pknobs = KAPI_Initialize( fpDelta, fpBaseline, pchToolname );

   if ( kapi_fTrace_Msgs_On  ) {
      fprintf( stderr, "+KAPI_Initialize2 < %s %s %s > %d\n", 
                      pchDelta ? pchDelta : "NULL", 
                      pchBaseline ? pchBaseline : "NULL", 
                      pchToolname,  (int)(long)pknobs );
   }

   if ( fpDelta ) {
      fclose( fpDelta );
   }
   if ( fpBaseline ) {
      fclose( fpBaseline );
   }

   return( pknobs );
}
Example #2
0
int main( int argc, char *argv[] )
{
   void *pvoid1;
   FILE *fp1=NULL,*fp2=NULL;
   FILE *outp=NULL;
   FILE *Ferr=NULL;

   char *toolname;



   if (( (toolname=strrchr(argv[ 0],'\\')) ==NULL) && 
	   ( (toolname=strrchr(argv[ 0],'/')) ==NULL) )
	   toolname=argv[ 0];

 

	   
   if ( argc < 2 ) {
      printf("%s knobs toolname [delta knobs]\n", toolname );
      exit(1);
   } 

   if ( 5 <= argc )
	   freopen(argv[4],"w",stderr);
   if ( 4 <= argc ) /*delta file exists*/
	fp2 = fopen( argv[ 3 ], "r" );
   fp1 = fopen( argv[ 1 ], "r" );
   outp = fopen( "try.c", "w" );
   if ((fp1==NULL) && (fp2==NULL)) 
   {
	   printf("Could not open knobsfiles!\n");
	   return 2;
   }
   pvoid1 = KAPI_Initialize( fp2, fp1, argv[ 2 ]);
   fclose( fp1 );
   if (pvoid1!=NULL)
	   pvoid1=KAPI_ia64_Initialize(pvoid1);

   if (NULL!=fp2) fclose( fp2 );
   if ((5 <=argc ) && (NULL!=Ferr)) fclose( Ferr );

   if ( pvoid1 ) {
      int fuLD,tmp;
/*
      KDebug_DumpMachineDescription( stdout,  pvoid1, 0 );

      KDebug_DumpInterClusterBypass( stdout, pvoid1 );
      KDebug_DumpClusterDistances( stdout, pvoid1 );
      KDebug_DumpIntraClusterBypass( stdout, pvoid1 );
      KDebug_DumpLatencies( stdout, pvoid1 );
      KDebug_DumpTotalLatency( stdout, pvoid1 );

      printf( "fuLD has %d ports\n", 
             KAPI_cportCount4fu( pvoid1, -1, fuLD ) );
*/
      fuLD = KAPI_EnumIndex( pvoid1, "fu_t", "fuLD" );
  	  tmp = KAPI_IntraClusterBypass(pvoid1,0
									,0,0,0,0,
									7,0,0,0);


//	  dump_instruction_fus(outp,pvoid1);
      KAPI_Finalize( pvoid1 );
   } else {
      fprintf( stderr, "KAPI_Initialize failed\n" );
   }

#if 0
   Test_bv128Rtns();
   Test_bv64Rtns();
   Test_bv32Rtns();
#endif

   return 0;
}