ATIExecutableKernel::ATIExecutableKernel(ir::IRKernel &k, CALcontext *context, CALevent *event, CALresource *uav0, CALresource *cb0, CALresource *cb1, Device* d) : ExecutableKernel(k, d), _voteMemorySize(0), _context(context), _event(event), _info(), _module(0), _object(0), _image(0), _uav0Resource(uav0), _uav0Mem(0), _uav0Name(0), _uav8Name(0), _cb0Resource(cb0), _cb0Mem(0), _cb0Name(0), _cb1Resource(cb1), _cb1Mem(0), _cb1Name(0) { registerAllocation(); initializeSharedMemory(); }
int main(int argc, char **argv) { int c; bool debug_mode = false; bool verbose_mode = false; while ((c = getopt(argc, argv, "dv")) != -1) { switch (c) { case 'd': debug_mode = true; break; case 'v': verbose_mode = true; break; default: /* '?' */ fprintf(stderr, "Anvendelse: %s [-d] [-v]\n", argv[0]); exit(1); } } lineno = 1; if (verbose_mode) { fprintf(stderr, "Leksikalsk og syntaktisk analyse udføres ...\n"); } int parse = yyparse(); if (parse != 0) { fprintf(stderr, "Der opstod en fejl under den leksikalske eller syntaktiske analyse.\n"); return 1; } if (verbose_mode) { fprintf(stderr, "Leksikalsk og syntaktisk analyse blev udført.\n"); } if (debug_mode) { fprintf(stderr, "Pæn udskrift efter leksikalsk og syntaktisk analyse:\n"); prettyMAIN(theprogram); } if (verbose_mode) { fprintf(stderr, "Semantisk analyse udføres ...\n"); } SymbolTable *mscope = initSymbolTable(); int traversalerr = traversal(theprogram, mscope); if (traversalerr != 0) { fprintf(stderr, "Der opstod i alt %d fejl under den semantiske analyse.\n", traversalerr); return 1; } if (verbose_mode) { fprintf(stderr, "Semantisk analyse blev udført.\n"); } if (debug_mode) { dumpsymbol(theprogram, mscope); } if (verbose_mode) { fprintf(stderr, "Kodegenerering udføres ...\n"); } LINKED_LIST *l = generateCode(theprogram, mscope); l = registerAllocation(l); if (verbose_mode) { fprintf(stderr, "Kodegenerering blev udført.\n"); } emission(l); return 0; }
int main( const int argc, const char const *argv[] ) { /**/ tsbrom_s *source_rom = NULL; /**/ tsbrom_s *output_rom = NULL; const char *source_path = NULL; const char *output_path = NULL; if ( argc != 3 ) { printf( "Usage: %s <source rom> <output rom>\n", argv[0] ); return EXIT_SUCCESS; } source_path = argv[1]; output_path = argv[2]; if ( (source_rom = readTsbRom( source_path )) == NULL ) { printf( "Unable to load source rom: %s\n", getFileUtilsError() ); freeAllocations(); return EXIT_FAILURE; } registerAllocation( source_rom ); printf( "Before:\n" ); printTeamNames( source_rom ); replaceTeamNames( source_rom ); printf( "After:\n" ); printTeamNames( source_rom ); output_rom = source_rom; if ( ! writeTsbRom( output_path, output_rom ) ) { printf( "Unable to save output rom: %s\n", getFileUtilsError() ); freeAllocations(); return EXIT_FAILURE; } freeAllocations(); return EXIT_SUCCESS; }