From: Guillaume D. <ya...@us...> - 2005-11-28 22:36:08
|
Update of /cvsroot/yabause/yabause/src/c68k In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv3956/yabause/src/c68k Modified Files: gen68k.c gen68k.inc Log Message: Removed (almost) all unused variables in c68k generated code. Index: gen68k.c =================================================================== RCS file: /cvsroot/yabause/yabause/src/c68k/gen68k.c,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- gen68k.c 26 Nov 2005 20:51:23 -0000 1.4 +++ gen68k.c 28 Nov 2005 22:36:00 -0000 1.5 @@ -47,7 +47,10 @@ static void GenLogicI(char op) { // generate jump table & opcode declaration - start_all(); + if ((current_ea == EA_AREG) || (current_ea == EA_DREG) || (current_ea == EA_IMM)) + start_all(GEN_RES | GEN_SRC); + else + start_all(GEN_ADR | GEN_RES | GEN_SRC); if (current_ea != EA_DREG) current_cycle += 4; switch (current_size) [...1021 lines suppressed...] wf_op("\tneogeo_upload();\n"); @@ -3574,7 +3657,7 @@ static void Gen0xFAC2() { - start_all(); + start_all(GEN_ALL); wf_op("\tneogeo_prio_switch();\n"); @@ -3583,7 +3666,7 @@ static void Gen0xFAC3() { - start_all(); + start_all(GEN_ALL); wf_op("\tneogeo_cdda_control();\n"); Index: gen68k.inc =================================================================== RCS file: /cvsroot/yabause/yabause/src/c68k/gen68k.inc,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- gen68k.inc 26 Nov 2005 20:51:23 -0000 1.5 +++ gen68k.inc 28 Nov 2005 22:36:00 -0000 1.6 @@ -18,6 +18,7 @@ */ #include <stdarg.h> +#include <string.h> #define EA_DREG 0 #define EA_AREG 1 @@ -621,7 +622,13 @@ va_end(args); } -static void start_op(u32 op) +#define GEN_ADR 1 +#define GEN_RES 2 +#define GEN_SRC 4 +#define GEN_DST 8 +#define GEN_ALL 15 + +static void start_op(u32 op, int v) { current_io_sav = 0; current_cycle = 0; @@ -629,8 +636,10 @@ wf_op("\n// %s\n", current_op->op_name); wf_op("OP_0x%.4X:\n", op & 0xFFFF); wf_op("{\n"); - wf_op("\tu32 adr, res;\n"); - wf_op("\tpointer src, dst;\n\n"); + if (v & GEN_ADR) wf_op("\tu32 adr;\n"); + if (v & GEN_RES) wf_op("\tu32 res;\n"); + if (v & GEN_DST) wf_op("\tpointer dst;\n"); + if (v & GEN_SRC) wf_op("\tpointer src;\n"); } static void add_CCnt(u32 cycle) @@ -1500,7 +1509,7 @@ return base; } -static void start_all() +static void start_all(int v) { u32 base; @@ -1510,7 +1519,7 @@ gen_opjumptable(base); // generate label & declarations - start_op(base); + start_op(base, v); } static void set_current_size(u32 sz) |