From 1b34c8cc9fb4336557d0152627817994b4210df6 Mon Sep 17 00:00:00 2001 From: Manoel Trapier Date: Tue, 19 Mar 2013 18:45:41 +0100 Subject: [PATCH] Warning hunt on ego. --- util/ego/bo/bo.c | 1 - util/ego/ca/ca.c | 1 - util/ego/cf/cf.c | 1 + util/ego/cj/cj.c | 6 +- util/ego/cs/cs_getent.c | 74 +++++----- util/ego/cs/cs_partit.c | 268 ++++++++++++++++++------------------- util/ego/cs/cs_profit.c | 1 + util/ego/em_ego/em_ego.c | 29 ++-- util/ego/ic/ic_lookup.c | 1 + util/ego/ic/ic_lookup.h | 2 + util/ego/il/il.c | 5 + util/ego/il/il1_anal.c | 2 + util/ego/il/il1_cal.c | 1 + util/ego/il/il2_aux.c | 1 + util/ego/il/il_aux.h | 2 + util/ego/ra/ra.c | 2 + util/ego/ra/ra_items.c | 4 +- util/ego/ra/ra_lifet.c | 3 +- util/ego/ra/ra_pack.c | 1 + util/ego/ra/ra_xform.c | 12 +- util/ego/share/debug.h | 2 + util/ego/share/files.c | 4 +- util/ego/share/makecldef.c | 6 +- util/ego/share/put.c | 4 +- util/ego/share/types.h | 4 +- util/ego/sr/sr.c | 1 + 26 files changed, 232 insertions(+), 206 deletions(-) diff --git a/util/ego/bo/bo.c b/util/ego/bo/bo.c index 75631a962..a4be3627f 100644 --- a/util/ego/bo/bo.c +++ b/util/ego/bo/bo.c @@ -278,7 +278,6 @@ static void bo_cleanproc(proc_p p) loop_p lp; Lindex pi; - bblock_p b; for (pi = Lfirst(p->p_loops); pi != (Lindex) 0; pi = Lnext(pi,p->p_loops)) { diff --git a/util/ego/ca/ca.c b/util/ego/ca/ca.c index 86195360f..8aba6a5e0 100644 --- a/util/ego/ca/ca.c +++ b/util/ego/ca/ca.c @@ -161,7 +161,6 @@ static void new_name(char **s) { static int nn = 0; char buf[20]; - int len = strlen(*s); oldcore(*s, len+1); buf[0] = '_'; diff --git a/util/ego/cf/cf.c b/util/ego/cf/cf.c index 4d272bda7..6b09fc13c 100644 --- a/util/ego/cf/cf.c +++ b/util/ego/cf/cf.c @@ -26,6 +26,7 @@ #include "../share/get.h" #include "../share/put.h" #include "../share/def.h" +#include "../share/aux.h" #include "cf.h" #include "cf_succ.h" #include "cf_idom.h" diff --git a/util/ego/cj/cj.c b/util/ego/cj/cj.c index f91050005..6fdb0d684 100644 --- a/util/ego/cj/cj.c +++ b/util/ego/cj/cj.c @@ -56,7 +56,7 @@ static int Scj; /* number of optimizations found */ -static void showinstr(line_p lnp); +/* static void showinstr(line_p lnp); */ #define DLINK(l1,l2) l1->l_next=l2; l2->l_prev=l1 @@ -320,7 +320,7 @@ int main(int argc, char *argv[]) /****** * Debugging stuff */ - +#if 0 extern char em_mnem[]; /* The mnemonics of the EM instructions. */ static void showinstr(line_p lnp) @@ -350,3 +350,5 @@ static void showinstr(line_p lnp) } printf("\n"); } /* showinstr */ + +#endif \ No newline at end of file diff --git a/util/ego/cs/cs_getent.c b/util/ego/cs/cs_getent.c index ef8694536..5e0210b50 100644 --- a/util/ego/cs/cs_getent.c +++ b/util/ego/cs/cs_getent.c @@ -24,43 +24,43 @@ STATIC struct inf_entity { byte inf_used; /* Kind of entity used by key. */ byte inf_size; /* Indication of the size. */ } inf_table[] = { - op_adp, ENAOFFSETTED, PS, - op_dee, ENEXTERNAL, WS1, - op_del, ENLOCAL, WS1, - op_ine, ENEXTERNAL, WS1, - op_inl, ENLOCAL, WS1, - op_lae, ENAEXTERNAL, PS, - op_lal, ENALOCAL, PS, - op_lar, ENARRELEM, ARDESC3, - op_ldc, ENCONST, WS2, - op_lde, ENEXTERNAL, WS2, - op_ldf, ENOFFSETTED, WS2, - op_ldl, ENLOCAL, WS2, - op_lil, ENINDIR, WS1, - op_lim, ENIGNMASK, WS1, - op_loc, ENCONST, WS1, - op_loe, ENEXTERNAL, WS1, - op_lof, ENOFFSETTED, WS1, - op_loi, ENINDIR, ARGW, - op_lol, ENLOCAL, WS1, - op_lpi, ENPROC, PS, - op_lxa, ENAARGBASE, PS, - op_lxl, ENALOCBASE, PS, - op_sar, ENARRELEM, ARDESC3, - op_sde, ENEXTERNAL, WS2, - op_sdf, ENOFFSETTED, WS2, - op_sdl, ENLOCAL, WS2, - op_sil, ENINDIR, WS1, - op_sim, ENIGNMASK, WS1, - op_ste, ENEXTERNAL, WS1, - op_stf, ENOFFSETTED, WS1, - op_sti, ENINDIR, ARGW, - op_stl, ENLOCAL, WS1, - op_zer, ENCONST, ARGW, - op_zre, ENEXTERNAL, WS1, - op_zrf, ENFZER, ARGW, - op_zrl, ENLOCAL, WS1, - op_nop /* Delimitor. */ + { op_adp, ENAOFFSETTED, PS }, + { op_dee, ENEXTERNAL, WS1 }, + { op_del, ENLOCAL, WS1 }, + { op_ine, ENEXTERNAL, WS1 }, + { op_inl, ENLOCAL, WS1 }, + { op_lae, ENAEXTERNAL, PS }, + { op_lal, ENALOCAL, PS }, + { op_lar, ENARRELEM, ARDESC3 }, + { op_ldc, ENCONST, WS2 }, + { op_lde, ENEXTERNAL, WS2 }, + { op_ldf, ENOFFSETTED, WS2 }, + { op_ldl, ENLOCAL, WS2 }, + { op_lil, ENINDIR, WS1 }, + { op_lim, ENIGNMASK, WS1 }, + { op_loc, ENCONST, WS1 }, + { op_loe, ENEXTERNAL, WS1 }, + { op_lof, ENOFFSETTED, WS1 }, + { op_loi, ENINDIR, ARGW }, + { op_lol, ENLOCAL, WS1 }, + { op_lpi, ENPROC, PS }, + { op_lxa, ENAARGBASE, PS }, + { op_lxl, ENALOCBASE, PS }, + { op_sar, ENARRELEM, ARDESC3 }, + { op_sde, ENEXTERNAL, WS2 }, + { op_sdf, ENOFFSETTED, WS2 }, + { op_sdl, ENLOCAL, WS2 }, + { op_sil, ENINDIR, WS1 }, + { op_sim, ENIGNMASK, WS1 }, + { op_ste, ENEXTERNAL, WS1 }, + { op_stf, ENOFFSETTED, WS1 }, + { op_sti, ENINDIR, ARGW }, + { op_stl, ENLOCAL, WS1 }, + { op_zer, ENCONST, ARGW }, + { op_zre, ENEXTERNAL, WS1 }, + { op_zrf, ENFZER, ARGW }, + { op_zrl, ENLOCAL, WS1 }, + { op_nop, 0, 0 } /* Delimitor. */ }; #define INFKEY(ip) (ip->inf_instr & BMASK) diff --git a/util/ego/cs/cs_partit.c b/util/ego/cs/cs_partit.c index fa99fe19c..34faad09c 100644 --- a/util/ego/cs/cs_partit.c +++ b/util/ego/cs/cs_partit.c @@ -38,140 +38,140 @@ static struct { byte i_av; /* Idem for result of operators. */ byte i_regtype; /* ANY, PTR, FLT. */ } info[] = { - XXX, XXX, XXX, XXX, XXX, -/* aar */ TERNAIR_OP, XXX, XXX, PS, PTR, -/* adf */ BINAIR_OP, ARGW, ARGW, ARGW, FLT, -/* adi */ BINAIR_OP, ARGW, ARGW, ARGW, ANY, -/* adp */ EXPENSIVE_LOAD, XXX, XXX, XXX, PTR, -/* ads */ BINAIR_OP, PS, ARGW, PS, PTR, -/* adu */ BINAIR_OP, ARGW, ARGW, ARGW, ANY, -/* and */ BINAIR_OP, ARGW, ARGW, ARGW, ANY, -/* asp */ FIDDLE_STACK, XXX, XXX, XXX, XXX, -/* ass */ FIDDLE_STACK, XXX, XXX, XXX, XXX, -/* beq */ BBLOCK_END, XXX, XXX, XXX, XXX, -/* bge */ BBLOCK_END, XXX, XXX, XXX, XXX, -/* bgt */ BBLOCK_END, XXX, XXX, XXX, XXX, -/* ble */ BBLOCK_END, XXX, XXX, XXX, XXX, -/* blm */ HOPELESS, XXX, XXX, XXX, XXX, -/* bls */ HOPELESS, XXX, XXX, XXX, XXX, -/* blt */ BBLOCK_END, XXX, XXX, XXX, XXX, -/* bne */ BBLOCK_END, XXX, XXX, XXX, XXX, -/* bra */ BBLOCK_END, XXX, XXX, XXX, XXX, -/* cai */ SIDE_EFFECTS, XXX, XXX, XXX, XXX, -/* cal */ SIDE_EFFECTS, XXX, XXX, XXX, XXX, -/* cff */ TERNAIR_OP, XXX, XXX, CVT, FLT, -/* cfi */ TERNAIR_OP, XXX, XXX, CVT, ANY, -/* cfu */ TERNAIR_OP, XXX, XXX, CVT, ANY, -/* cif */ TERNAIR_OP, XXX, XXX, CVT, FLT, -/* cii */ TERNAIR_OP, XXX, XXX, CVT, ANY, -/* ciu */ TERNAIR_OP, XXX, XXX, CVT, ANY, -/* cmf */ BINAIR_OP, ARGW, ARGW, WS, ANY, -/* cmi */ BINAIR_OP, ARGW, ARGW, WS, ANY, -/* cmp */ BINAIR_OP, PS, PS, WS, ANY, -/* cms */ BINAIR_OP, ARGW, ARGW, WS, ANY, -/* cmu */ BINAIR_OP, ARGW, ARGW, WS, ANY, -/* com */ UNAIR_OP, ARGW, XXX, ARGW, ANY, -/* csa */ BBLOCK_END, XXX, XXX, XXX, XXX, -/* csb */ BBLOCK_END, XXX, XXX, XXX, XXX, -/* cuf */ TERNAIR_OP, XXX, XXX, CVT, FLT, -/* cui */ TERNAIR_OP, XXX, XXX, CVT, ANY, -/* cuu */ TERNAIR_OP, XXX, XXX, CVT, ANY, -/* dch */ UNAIR_OP, PS, XXX, PS, PTR, -/* dec */ UNAIR_OP, WS, XXX, WS, ANY, -/* dee */ KILL_ENTITY, XXX, XXX, XXX, XXX, -/* del */ KILL_ENTITY, XXX, XXX, XXX, XXX, -/* dup */ FIDDLE_STACK, XXX, XXX, XXX, XXX, -/* dus */ FIDDLE_STACK, XXX, XXX, XXX, XXX, -/* dvf */ BINAIR_OP, ARGW, ARGW, ARGW, FLT, -/* dvi */ BINAIR_OP, ARGW, ARGW, ARGW, ANY, -/* dvu */ BINAIR_OP, ARGW, ARGW, ARGW, ANY, -/* exg */ FIDDLE_STACK, XXX, XXX, XXX, XXX, -/* fef */ UNAIR_OP, ARGW, XXX, FEF, XXX, -/* fif */ BINAIR_OP, ARGW, ARGW, FIF, XXX, -/* fil */ IGNORE, XXX, XXX, XXX, XXX, -/* gto */ BBLOCK_END, XXX, XXX, XXX, XXX, -/* inc */ UNAIR_OP, WS, XXX, WS, ANY, -/* ine */ KILL_ENTITY, XXX, XXX, XXX, XXX, -/* inl */ KILL_ENTITY, XXX, XXX, XXX, XXX, -/* inn */ BINAIR_OP, ARGW, WS, WS, ANY, -/* ior */ BINAIR_OP, ARGW, ARGW, ARGW, ANY, -/* lae */ SIMPLE_LOAD, XXX, XXX, XXX, XXX, -/* lal */ SIMPLE_LOAD, XXX, XXX, XXX, XXX, -/* lar */ LOAD_ARRAY, XXX, XXX, XXX, ANY, -/* ldc */ SIMPLE_LOAD, XXX, XXX, XXX, XXX, -/* lde */ SIMPLE_LOAD, XXX, XXX, XXX, XXX, -/* ldf */ EXPENSIVE_LOAD, XXX, XXX, XXX, ANY, -/* ldl */ SIMPLE_LOAD, XXX, XXX, XXX, XXX, -/* lfr */ FIDDLE_STACK, XXX, XXX, XXX, XXX, -/* lil */ SIMPLE_LOAD, XXX, XXX, XXX, XXX, -/* lim */ SIMPLE_LOAD, XXX, XXX, XXX, XXX, -/* lin */ IGNORE, XXX, XXX, XXX, XXX, -/* lni */ IGNORE, XXX, XXX, XXX, XXX, -/* loc */ SIMPLE_LOAD, XXX, XXX, XXX, XXX, -/* loe */ SIMPLE_LOAD, XXX, XXX, XXX, XXX, -/* lof */ EXPENSIVE_LOAD, XXX, XXX, XXX, ANY, -/* loi */ EXPENSIVE_LOAD, XXX, XXX, XXX, ANY, -/* lol */ SIMPLE_LOAD, XXX, XXX, XXX, XXX, -/* lor */ SIMPLE_LOAD, XXX, XXX, XXX, XXX, -/* los */ FIDDLE_STACK, XXX, XXX, XXX, XXX, -/* lpb */ UNAIR_OP, PS, XXX, PS, PTR, -/* lpi */ SIMPLE_LOAD, XXX, XXX, XXX, XXX, -/* lxa */ EXPENSIVE_LOAD, XXX, XXX, XXX, PTR, -/* lxl */ EXPENSIVE_LOAD, XXX, XXX, XXX, PTR, -/* mlf */ BINAIR_OP, ARGW, ARGW, ARGW, FLT, -/* mli */ BINAIR_OP, ARGW, ARGW, ARGW, ANY, -/* mlu */ BINAIR_OP, ARGW, ARGW, ARGW, ANY, -/* mon */ HOPELESS, XXX, XXX, XXX, XXX, -/* ngf */ UNAIR_OP, ARGW, XXX, ARGW, FLT, -/* ngi */ UNAIR_OP, ARGW, XXX, ARGW, ANY, -/* nop */ HOPELESS, XXX, XXX, XXX, XXX, -/* rck */ BBLOCK_END, XXX, XXX, XXX, XXX, -/* ret */ BBLOCK_END, XXX, XXX, XXX, XXX, -/* rmi */ BINAIR_OP, ARGW, ARGW, ARGW, ANY, -/* rmu */ BINAIR_OP, ARGW, ARGW, ARGW, ANY, -/* rol */ BINAIR_OP, ARGW, WS, ARGW, ANY, -/* ror */ BINAIR_OP, ARGW, WS, ARGW, ANY, -/* rtt */ BBLOCK_END, XXX, XXX, XXX, XXX, -/* sar */ STORE_ARRAY, XXX, XXX, XXX, XXX, -/* sbf */ BINAIR_OP, ARGW, ARGW, ARGW, FLT, -/* sbi */ BINAIR_OP, ARGW, ARGW, ARGW, ANY, -/* sbs */ BINAIR_OP, PS, PS, ARGW, ANY, -/* sbu */ BINAIR_OP, ARGW, ARGW, ARGW, ANY, -/* sde */ STORE_DIRECT, XXX, XXX, XXX, XXX, -/* sdf */ STORE_INDIR, XXX, XXX, XXX, XXX, -/* sdl */ STORE_DIRECT, XXX, XXX, XXX, XXX, -/* set */ UNAIR_OP, WS, XXX, ARGW, ANY, -/* sig */ FIDDLE_STACK, XXX, XXX, XXX, XXX, -/* sil */ STORE_INDIR, XXX, XXX, XXX, XXX, -/* sim */ STORE_DIRECT, XXX, XXX, XXX, XXX, -/* sli */ BINAIR_OP, ARGW, WS, ARGW, ANY, -/* slu */ BINAIR_OP, ARGW, WS, ARGW, ANY, -/* sri */ BINAIR_OP, ARGW, WS, ARGW, ANY, -/* sru */ BINAIR_OP, ARGW, WS, ARGW, ANY, -/* ste */ STORE_DIRECT, XXX, XXX, XXX, XXX, -/* stf */ STORE_INDIR, XXX, XXX, XXX, XXX, -/* sti */ STORE_INDIR, XXX, XXX, XXX, XXX, -/* stl */ STORE_DIRECT, XXX, XXX, XXX, XXX, -/* str */ HOPELESS, XXX, XXX, XXX, XXX, -/* sts */ HOPELESS, XXX, XXX, XXX, XXX, -/* teq */ UNAIR_OP, WS, XXX, WS, ANY, -/* tge */ UNAIR_OP, WS, XXX, WS, ANY, -/* tgt */ UNAIR_OP, WS, XXX, WS, ANY, -/* tle */ UNAIR_OP, WS, XXX, WS, ANY, -/* tlt */ UNAIR_OP, WS, XXX, WS, ANY, -/* tne */ UNAIR_OP, WS, XXX, WS, ANY, -/* trp */ BBLOCK_END, XXX, XXX, XXX, XXX, -/* xor */ BINAIR_OP, ARGW, ARGW, ARGW, ANY, -/* zeq */ BBLOCK_END, XXX, XXX, XXX, XXX, -/* zer */ SIMPLE_LOAD, XXX, XXX, XXX, XXX, -/* zge */ BBLOCK_END, XXX, XXX, XXX, XXX, -/* zgt */ BBLOCK_END, XXX, XXX, XXX, XXX, -/* zle */ BBLOCK_END, XXX, XXX, XXX, XXX, -/* zlt */ BBLOCK_END, XXX, XXX, XXX, XXX, -/* zne */ BBLOCK_END, XXX, XXX, XXX, XXX, -/* zre */ KILL_ENTITY, XXX, XXX, XXX, XXX, -/* zrf */ SIMPLE_LOAD, XXX, XXX, XXX, XXX, -/* zrl */ KILL_ENTITY, XXX, XXX, XXX, XXX + { XXX, XXX, XXX, XXX, XXX }, + /* aar */ { TERNAIR_OP, XXX, XXX, PS, PTR }, + /* adf */ { BINAIR_OP, ARGW, ARGW, ARGW, FLT }, + /* adi */ { BINAIR_OP, ARGW, ARGW, ARGW, ANY }, + /* adp */ { EXPENSIVE_LOAD, XXX, XXX, XXX, PTR }, + /* ads */ { BINAIR_OP, PS, ARGW, PS, PTR }, + /* adu */ { BINAIR_OP, ARGW, ARGW, ARGW, ANY }, + /* and */ { BINAIR_OP, ARGW, ARGW, ARGW, ANY }, + /* asp */ { FIDDLE_STACK, XXX, XXX, XXX, XXX }, + /* ass */ { FIDDLE_STACK, XXX, XXX, XXX, XXX }, + /* beq */ { BBLOCK_END, XXX, XXX, XXX, XXX }, + /* bge */ { BBLOCK_END, XXX, XXX, XXX, XXX }, + /* bgt */ { BBLOCK_END, XXX, XXX, XXX, XXX }, + /* ble */ { BBLOCK_END, XXX, XXX, XXX, XXX }, + /* blm */ { HOPELESS, XXX, XXX, XXX, XXX }, + /* bls */ { HOPELESS, XXX, XXX, XXX, XXX }, + /* blt */ { BBLOCK_END, XXX, XXX, XXX, XXX }, + /* bne */ { BBLOCK_END, XXX, XXX, XXX, XXX }, + /* bra */ { BBLOCK_END, XXX, XXX, XXX, XXX }, + /* cai */ { SIDE_EFFECTS, XXX, XXX, XXX, XXX }, + /* cal */ { SIDE_EFFECTS, XXX, XXX, XXX, XXX }, + /* cff */ { TERNAIR_OP, XXX, XXX, CVT, FLT }, + /* cfi */ { TERNAIR_OP, XXX, XXX, CVT, ANY }, + /* cfu */ { TERNAIR_OP, XXX, XXX, CVT, ANY }, + /* cif */ { TERNAIR_OP, XXX, XXX, CVT, FLT }, + /* cii */ { TERNAIR_OP, XXX, XXX, CVT, ANY }, + /* ciu */ { TERNAIR_OP, XXX, XXX, CVT, ANY }, + /* cmf */ { BINAIR_OP, ARGW, ARGW, WS, ANY }, + /* cmi */ { BINAIR_OP, ARGW, ARGW, WS, ANY }, + /* cmp */ { BINAIR_OP, PS, PS, WS, ANY }, + /* cms */ { BINAIR_OP, ARGW, ARGW, WS, ANY }, + /* cmu */ { BINAIR_OP, ARGW, ARGW, WS, ANY }, + /* com */ { UNAIR_OP, ARGW, XXX, ARGW, ANY }, + /* csa */ { BBLOCK_END, XXX, XXX, XXX, XXX }, + /* csb */ { BBLOCK_END, XXX, XXX, XXX, XXX }, + /* cuf */ { TERNAIR_OP, XXX, XXX, CVT, FLT }, + /* cui */ { TERNAIR_OP, XXX, XXX, CVT, ANY }, + /* cuu */ { TERNAIR_OP, XXX, XXX, CVT, ANY }, + /* dch */ { UNAIR_OP, PS, XXX, PS, PTR }, + /* dec */ { UNAIR_OP, WS, XXX, WS, ANY }, + /* dee */ { KILL_ENTITY, XXX, XXX, XXX, XXX }, + /* del */ { KILL_ENTITY, XXX, XXX, XXX, XXX }, + /* dup */ { FIDDLE_STACK, XXX, XXX, XXX, XXX }, + /* dus */ { FIDDLE_STACK, XXX, XXX, XXX, XXX }, + /* dvf */ { BINAIR_OP, ARGW, ARGW, ARGW, FLT }, + /* dvi */ { BINAIR_OP, ARGW, ARGW, ARGW, ANY }, + /* dvu */ { BINAIR_OP, ARGW, ARGW, ARGW, ANY }, + /* exg */ { FIDDLE_STACK, XXX, XXX, XXX, XXX }, + /* fef */ { UNAIR_OP, ARGW, XXX, FEF, XXX }, + /* fif */ { BINAIR_OP, ARGW, ARGW, FIF, XXX }, + /* fil */ { IGNORE, XXX, XXX, XXX, XXX }, + /* gto */ { BBLOCK_END, XXX, XXX, XXX, XXX }, + /* inc */ { UNAIR_OP, WS, XXX, WS, ANY }, + /* ine */ { KILL_ENTITY, XXX, XXX, XXX, XXX }, + /* inl */ { KILL_ENTITY, XXX, XXX, XXX, XXX }, + /* inn */ { BINAIR_OP, ARGW, WS, WS, ANY }, + /* ior */ { BINAIR_OP, ARGW, ARGW, ARGW, ANY }, + /* lae */ { SIMPLE_LOAD, XXX, XXX, XXX, XXX }, + /* lal */ { SIMPLE_LOAD, XXX, XXX, XXX, XXX }, + /* lar */ { LOAD_ARRAY, XXX, XXX, XXX, ANY }, + /* ldc */ { SIMPLE_LOAD, XXX, XXX, XXX, XXX }, + /* lde */ { SIMPLE_LOAD, XXX, XXX, XXX, XXX }, + /* ldf */ { EXPENSIVE_LOAD, XXX, XXX, XXX, ANY }, + /* ldl */ { SIMPLE_LOAD, XXX, XXX, XXX, XXX }, + /* lfr */ { FIDDLE_STACK, XXX, XXX, XXX, XXX }, + /* lil */ { SIMPLE_LOAD, XXX, XXX, XXX, XXX }, + /* lim */ { SIMPLE_LOAD, XXX, XXX, XXX, XXX }, + /* lin */ { IGNORE, XXX, XXX, XXX, XXX }, + /* lni */ { IGNORE, XXX, XXX, XXX, XXX }, + /* loc */ { SIMPLE_LOAD, XXX, XXX, XXX, XXX }, + /* loe */ { SIMPLE_LOAD, XXX, XXX, XXX, XXX }, + /* lof */ { EXPENSIVE_LOAD, XXX, XXX, XXX, ANY }, + /* loi */ { EXPENSIVE_LOAD, XXX, XXX, XXX, ANY }, + /* lol */ { SIMPLE_LOAD, XXX, XXX, XXX, XXX }, + /* lor */ { SIMPLE_LOAD, XXX, XXX, XXX, XXX }, + /* los */ { FIDDLE_STACK, XXX, XXX, XXX, XXX }, + /* lpb */ { UNAIR_OP, PS, XXX, PS, PTR }, + /* lpi */ { SIMPLE_LOAD, XXX, XXX, XXX, XXX }, + /* lxa */ { EXPENSIVE_LOAD, XXX, XXX, XXX, PTR }, + /* lxl */ { EXPENSIVE_LOAD, XXX, XXX, XXX, PTR }, + /* mlf */ { BINAIR_OP, ARGW, ARGW, ARGW, FLT }, + /* mli */ { BINAIR_OP, ARGW, ARGW, ARGW, ANY }, + /* mlu */ { BINAIR_OP, ARGW, ARGW, ARGW, ANY }, + /* mon */ { HOPELESS, XXX, XXX, XXX, XXX }, + /* ngf */ { UNAIR_OP, ARGW, XXX, ARGW, FLT }, + /* ngi */ { UNAIR_OP, ARGW, XXX, ARGW, ANY }, + /* nop */ { HOPELESS, XXX, XXX, XXX, XXX }, + /* rck */ { BBLOCK_END, XXX, XXX, XXX, XXX }, + /* ret */ { BBLOCK_END, XXX, XXX, XXX, XXX }, + /* rmi */ { BINAIR_OP, ARGW, ARGW, ARGW, ANY }, + /* rmu */ { BINAIR_OP, ARGW, ARGW, ARGW, ANY }, + /* rol */ { BINAIR_OP, ARGW, WS, ARGW, ANY }, + /* ror */ { BINAIR_OP, ARGW, WS, ARGW, ANY }, + /* rtt */ { BBLOCK_END, XXX, XXX, XXX, XXX }, + /* sar */ { STORE_ARRAY, XXX, XXX, XXX, XXX }, + /* sbf */ { BINAIR_OP, ARGW, ARGW, ARGW, FLT }, + /* sbi */ { BINAIR_OP, ARGW, ARGW, ARGW, ANY }, + /* sbs */ { BINAIR_OP, PS, PS, ARGW, ANY }, + /* sbu */ { BINAIR_OP, ARGW, ARGW, ARGW, ANY }, + /* sde */ { STORE_DIRECT, XXX, XXX, XXX, XXX }, + /* sdf */ { STORE_INDIR, XXX, XXX, XXX, XXX }, + /* sdl */ { STORE_DIRECT, XXX, XXX, XXX, XXX }, + /* set */ { UNAIR_OP, WS, XXX, ARGW, ANY }, + /* sig */ { FIDDLE_STACK, XXX, XXX, XXX, XXX }, + /* sil */ { STORE_INDIR, XXX, XXX, XXX, XXX }, + /* sim */ { STORE_DIRECT, XXX, XXX, XXX, XXX }, + /* sli */ { BINAIR_OP, ARGW, WS, ARGW, ANY }, + /* slu */ { BINAIR_OP, ARGW, WS, ARGW, ANY }, + /* sri */ { BINAIR_OP, ARGW, WS, ARGW, ANY }, + /* sru */ { BINAIR_OP, ARGW, WS, ARGW, ANY }, + /* ste */ { STORE_DIRECT, XXX, XXX, XXX, XXX }, + /* stf */ { STORE_INDIR, XXX, XXX, XXX, XXX }, + /* sti */ { STORE_INDIR, XXX, XXX, XXX, XXX }, + /* stl */ { STORE_DIRECT, XXX, XXX, XXX, XXX }, + /* str */ { HOPELESS, XXX, XXX, XXX, XXX }, + /* sts */ { HOPELESS, XXX, XXX, XXX, XXX }, + /* teq */ { UNAIR_OP, WS, XXX, WS, ANY }, + /* tge */ { UNAIR_OP, WS, XXX, WS, ANY }, + /* tgt */ { UNAIR_OP, WS, XXX, WS, ANY }, + /* tle */ { UNAIR_OP, WS, XXX, WS, ANY }, + /* tlt */ { UNAIR_OP, WS, XXX, WS, ANY }, + /* tne */ { UNAIR_OP, WS, XXX, WS, ANY }, + /* trp */ { BBLOCK_END, XXX, XXX, XXX, XXX }, + /* xor */ { BINAIR_OP, ARGW, ARGW, ARGW, ANY }, + /* zeq */ { BBLOCK_END, XXX, XXX, XXX, XXX }, + /* zer */ { SIMPLE_LOAD, XXX, XXX, XXX, XXX }, + /* zge */ { BBLOCK_END, XXX, XXX, XXX, XXX }, + /* zgt */ { BBLOCK_END, XXX, XXX, XXX, XXX }, + /* zle */ { BBLOCK_END, XXX, XXX, XXX, XXX }, + /* zlt */ { BBLOCK_END, XXX, XXX, XXX, XXX }, + /* zne */ { BBLOCK_END, XXX, XXX, XXX, XXX }, + /* zre */ { KILL_ENTITY, XXX, XXX, XXX, XXX }, + /* zrf */ { SIMPLE_LOAD, XXX, XXX, XXX, XXX }, + /* zrl */ { KILL_ENTITY, XXX, XXX, XXX, XXX } }; #define GROUP(n) (info[n].i_group) diff --git a/util/ego/cs/cs_profit.c b/util/ego/cs/cs_profit.c index b8c94d82b..871368151 100644 --- a/util/ego/cs/cs_profit.c +++ b/util/ego/cs/cs_profit.c @@ -15,6 +15,7 @@ #include "../share/lset.h" #include "cs.h" #include "cs_aux.h" +#include "cs_alloc.h" #include "cs_debug.h" #include "cs_avail.h" #include "cs_partit.h" diff --git a/util/ego/em_ego/em_ego.c b/util/ego/em_ego/em_ego.c index c2419fa27..24bda5a98 100644 --- a/util/ego/em_ego/em_ego.c +++ b/util/ego/em_ego/em_ego.c @@ -10,6 +10,9 @@ #include #include #include +#include +#include +#include "../share/debug.h" #define IC 1 #define CF 2 @@ -89,7 +92,7 @@ static void cleanup() register int i; for (i = NTEMPS*2; i > 0; i--) { - register char *f = phargs[i]; + char *f = phargs[i]; if (f != 0 && *f != '\0' && *f != '-') (void) unlink(f); } if (ddump[0] != '\0') (void) unlink(ddump); @@ -102,9 +105,9 @@ static void fatal(char *s, char *s2) { /* A fatal error occurred; exit gracefully */ - fprint(STDERR, "%s: ", prog_name); - fprint(STDERR, s, s2); - fprint(STDERR, "\n"); + fprintf(stderr, "%s: ", prog_name); + fprintf(stderr, s, s2); + fprintf(stderr, "\n"); cleanup(); sys_stop(S_EXIT); /*NOTREACHED*/ @@ -149,9 +152,9 @@ static void get_infiles() { /* Make output temps from previous phase input temps of next phase. */ - register int i; - register char **dst = &phargs[1]; - register char **src = &phargs[NTEMPS+1]; + int i; + char **dst = &phargs[1]; + char **src = &phargs[NTEMPS+1]; for (i = 1; i <= NTEMPS; i++) { *dst++ = *src++; @@ -164,8 +167,8 @@ static void new_outfiles() static int Bindex = 0; static char dig1 = '1'; static char dig2 = '0'; - register int i; - register char **dst = &phargs[NTEMPS+1]; + int i; + char **dst = &phargs[NTEMPS+1]; if (! Bindex) { Bindex = strrchr(tmpbufs[0], 'B') - tmpbufs[0]; @@ -190,8 +193,8 @@ static void run_phase(int phase) IC and CA. */ static int flags_added; - register int argc; - register int i; + int argc; + int i; char buf[256]; int pid, status; @@ -242,10 +245,10 @@ static void run_phase(int phase) register int i = 0; while (phargs[i]) { - fprint(STDERR, "%s ", phargs[i]); + fprintf(stderr, "%s ", phargs[i]); i++; } - fprint(STDERR, "\n"); + fprintf(stderr, "\n"); } (void) execv(phargs[0], phargs); fatal("Could not exec %s", phargs[0]); diff --git a/util/ego/ic/ic_lookup.c b/util/ego/ic/ic_lookup.c index 4208df9f1..36cfb2299 100644 --- a/util/ego/ic/ic_lookup.c +++ b/util/ego/ic/ic_lookup.c @@ -18,6 +18,7 @@ #include "../share/map.h" #include "ic.h" #include "ic_lookup.h" +#include "ic_io.h" #include "../share/alloc.h" diff --git a/util/ego/ic/ic_lookup.h b/util/ego/ic/ic_lookup.h index 91be755f5..ece6c9ce0 100644 --- a/util/ego/ic/ic_lookup.h +++ b/util/ego/ic/ic_lookup.h @@ -74,3 +74,5 @@ void cleandblocks(sym_p hash[], int n, int mask); /* Make the names of all data blocks * for which d_flags1&mask = 0 invisible */ + +void dump_dblocknames(sym_p hash[], int n, FILE *f); \ No newline at end of file diff --git a/util/ego/il/il.c b/util/ego/il/il.c index b07c81315..727e1ad03 100644 --- a/util/ego/il/il.c +++ b/util/ego/il/il.c @@ -8,6 +8,9 @@ #include #include #include +#include + +#include #include #include #include @@ -20,9 +23,11 @@ #include "../share/files.h" #include "../share/map.h" #include "il_aux.h" +#include "il1_aux.h" #include "il1_anal.h" #include "il2_aux.h" #include "il3_subst.h" +#include "il3_change.h" #include "../share/get.h" #include "../share/put.h" #include "../share/go.h" diff --git a/util/ego/il/il1_anal.c b/util/ego/il/il1_anal.c index 035d50939..66b4e16a2 100644 --- a/util/ego/il/il1_anal.c +++ b/util/ego/il/il1_anal.c @@ -18,6 +18,8 @@ #include "../share/global.h" #include "../share/lset.h" #include "../share/aux.h" +#include "../share/cset.h" +#include "il_aux.h" #include "il1_aux.h" #include "il1_formal.h" #include "il1_cal.h" diff --git a/util/ego/il/il1_cal.c b/util/ego/il/il1_cal.c index 65b800f8b..341032125 100644 --- a/util/ego/il/il1_cal.c +++ b/util/ego/il/il1_cal.c @@ -19,6 +19,7 @@ #include "../share/global.h" #include "../share/lset.h" #include "il1_aux.h" +#include "il_aux.h" #include "../share/parser.h" static actual_p acts, *app; diff --git a/util/ego/il/il2_aux.c b/util/ego/il/il2_aux.c index 474846ab5..29743281e 100644 --- a/util/ego/il/il2_aux.c +++ b/util/ego/il/il2_aux.c @@ -20,6 +20,7 @@ #include "il_aux.h" #include "il2_aux.h" #include "../share/get.h" +#include "../share/cset.h" #include "../share/aux.h" #define USE_INDIR(p) (p->p_use->u_flags & UF_INDIR) diff --git a/util/ego/il/il_aux.h b/util/ego/il/il_aux.h index 0597f6033..ad9a157f8 100644 --- a/util/ego/il/il_aux.h +++ b/util/ego/il/il_aux.h @@ -52,3 +52,5 @@ long putcc(calcnt_p head, FILE *ccf); /* Write call-count information to * file ccf. */ + +void remunit(short kind, proc_p p, line_p l); \ No newline at end of file diff --git a/util/ego/ra/ra.c b/util/ego/ra/ra.c index 6bf9a613e..9fa871fb3 100644 --- a/util/ego/ra/ra.c +++ b/util/ego/ra/ra.c @@ -19,12 +19,14 @@ #include "../share/get.h" #include "../share/put.h" #include "../share/lset.h" +#include "../share/cset.h" #include "../share/map.h" #include "../share/alloc.h" #include "../share/go.h" #include "ra.h" #include "ra_items.h" #include "ra_allocl.h" +#include "ra_lifet.h" #include "ra_profits.h" #include "ra_pack.h" #include "ra_xform.h" diff --git a/util/ego/ra/ra_items.c b/util/ego/ra/ra_items.c index dd599b008..c399841b4 100644 --- a/util/ego/ra/ra_items.c +++ b/util/ego/ra/ra_items.c @@ -175,9 +175,9 @@ static bool lt_item(item_p a, item_p b) */ - +#if 0 static item_p items[NRITEMTYPES]; /* items[i] points to the list of type i */ - +#endif static short reg_type(item_p item) diff --git a/util/ego/ra/ra_lifet.c b/util/ego/ra/ra_lifet.c index 29fc0f403..179458d8f 100644 --- a/util/ego/ra/ra_lifet.c +++ b/util/ego/ra/ra_lifet.c @@ -25,7 +25,8 @@ #include "ra_aux.h" #include "ra_items.h" #include "ra_lifet.h" - +#include "ra_interv.h" +#include "ra_profits.h" #define MSG_OFF(l) aoff(ARG(l),2) #define is_livemsg(l) (INSTR(l) == ps_mes && aoff(ARG(l),0) == ms_ego && \ diff --git a/util/ego/ra/ra_pack.c b/util/ego/ra/ra_pack.c index fa34826ff..7ab01a676 100644 --- a/util/ego/ra/ra_pack.c +++ b/util/ego/ra/ra_pack.c @@ -20,6 +20,7 @@ #include "ra.h" #include "ra_aux.h" #include "ra_interv.h" +#include "ra_profits.h" short regs_occupied[NRREGTYPES]; /* #occupied registers for reg_pointer, diff --git a/util/ego/ra/ra_xform.c b/util/ego/ra/ra_xform.c index aa00b533e..dee8551af 100644 --- a/util/ego/ra/ra_xform.c +++ b/util/ego/ra/ra_xform.c @@ -268,12 +268,12 @@ static void apply_alloc(bblock_p b, line_p l, alloc_p alloc) static int loaditem_tab[NRITEMTYPES][2] = { /* WS 2 * WS */ - /*LOCALVAR*/ op_lol, op_ldl, - /*LOCAL_ADDR*/ op_lal, op_lal, - /*GLOBL_ADDR*/ op_lae, op_lae, - /*PROC_ADDR*/ op_lpi, op_lpi, - /*CONST*/ op_loc, op_nop, - /*DCONST*/ op_nop, op_ldc + /*LOCALVAR*/ { op_lol, op_ldl }, + /*LOCAL_ADDR*/ { op_lal, op_lal }, + /*GLOBL_ADDR*/ { op_lae, op_lae }, + /*PROC_ADDR*/ { op_lpi, op_lpi }, + /*CONST*/ { op_loc, op_nop }, + /*DCONST*/ { op_nop, op_ldc } }; diff --git a/util/ego/share/debug.h b/util/ego/share/debug.h index 8cec2a383..d321f2a35 100644 --- a/util/ego/share/debug.h +++ b/util/ego/share/debug.h @@ -5,6 +5,8 @@ */ /* D E B U G G I N G T O O L S */ +#include "types.h" + /* TEMPORARY: */ /* #define DEBUG */ diff --git a/util/ego/share/files.c b/util/ego/share/files.c index 8641b353f..9a03a6e15 100644 --- a/util/ego/share/files.c +++ b/util/ego/share/files.c @@ -9,9 +9,9 @@ */ #include +#include "debug.h" -FILE *openfile(name,mode) - char *name,*mode; +FILE *openfile(char *name, char *mode) { FILE *f; diff --git a/util/ego/share/makecldef.c b/util/ego/share/makecldef.c index 7ae157846..4acfc7bc7 100644 --- a/util/ego/share/makecldef.c +++ b/util/ego/share/makecldef.c @@ -34,7 +34,7 @@ void convert(FILE *mnemfile, FILE *classfile) newcl = TRUE; printf("struct class classtab[] = {\n"); - printf("\tNOCLASS,\tNOCLASS,\n"); + printf("\t{ NOCLASS,\tNOCLASS },\n"); /* EM mnemonics start at 1, arrays in C at 0 */ for (;;) { fscanf(mnemfile,"%s%s%d",def,mnem1,&opc); @@ -51,10 +51,10 @@ void convert(FILE *mnemfile, FILE *classfile) /* there is no line for this mnemonic, so * it has no class. */ - printf("\tNOCLASS,\tNOCLASS,\n"); + printf("\t { NOCLASS,\tNOCLASS },\n"); newcl = FALSE; } else { - printf("\tCLASS%d,\t\tCLASS%d,\n",src,res); + printf("\t { CLASS%d,\t\tCLASS%d },\n",src,res); /* print a line like "CLASS8, CLASS1," */ newcl = TRUE; } diff --git a/util/ego/share/put.c b/util/ego/share/put.c index e966fb363..254c862b5 100644 --- a/util/ego/share/put.c +++ b/util/ego/share/put.c @@ -18,6 +18,7 @@ #include "lset.h" #include "alloc.h" #include "put.h" +#include "cset.h" FILE *curoutp; @@ -36,11 +37,8 @@ static void putstr(argb_p abp); static void outlab(lab_id lid); static void outobject(obj_p obj); static void putstr(argb_p abp); -void outshort(short i); static void putstr(argb_p abp); - - static void putargs(arg_p ap) { while (ap != (arg_p) 0) { diff --git a/util/ego/share/types.h b/util/ego/share/types.h index 176eabb0e..f526be341 100644 --- a/util/ego/share/types.h +++ b/util/ego/share/types.h @@ -4,7 +4,8 @@ * See the copyright notice in the ACK home directory, in the file "Copyright". */ /* I N T E R N A L D A T A S T R U C T U R E S O F E G O */ - +#ifndef UTIL_EGO_SHARE_TYPES_H +#define UTIL_EGO_SHARE_TYPES_H /* This file contains the definitions of the global data types. */ @@ -422,3 +423,4 @@ struct cond_tab { #define IN_0_63 2 #define IN_0_8 3 +#endif /* UTIL_EGO_SHARE_TYPES_H */ \ No newline at end of file diff --git a/util/ego/sr/sr.c b/util/ego/sr/sr.c index a98c87def..991dc3ae0 100644 --- a/util/ego/sr/sr.c +++ b/util/ego/sr/sr.c @@ -23,6 +23,7 @@ #include "../share/aux.h" #include "sr_aux.h" #include "sr_iv.h" +#include "sr_reduce.h" /* Strength reduction tries to change expensive operators occurring * in a loop into cheaper operators. The expensive operators considered -- 2.34.1