Added support for the ego global optimisation suite.

This commit is contained in:
dtrg 2006-07-22 00:52:01 +00:00
parent 78ff773233
commit 1a037b9685
9 changed files with 300 additions and 16 deletions

View file

@ -10,13 +10,17 @@ mach_i386 = group {
proto_as, proto_as,
proto_ncg { ARCHDIR = "i386" }, proto_ncg { ARCHDIR = "i386" },
tool_i386_cv, ego_descr,
tool_i386_cv,
install = pm.install("%ROOTDIR%lib/%ARCH%/descr", "%BINDIR%%PLATIND%/%ARCH%/descr") install = pm.install("%ROOTDIR%lib/%ARCH%/descr", "%BINDIR%%PLATIND%/%ARCH%/descr"),
} }
-- Revision history -- Revision history
-- $Log$ -- $Log$
-- Revision 1.1 2006-07-20 23:18:18 dtrg -- Revision 1.2 2006-07-22 00:52:01 dtrg
-- Added support for the ego global optimisation suite.
--
-- Revision 1.1 2006/07/20 23:18:18 dtrg
-- First version in CVS. -- First version in CVS.
-- --

View file

@ -8,12 +8,16 @@ mach_i86 = group {
proto_as, proto_as,
proto_ncg { ARCHDIR = "i86" }, proto_ncg { ARCHDIR = "i86" },
ego_descr,
install = pm.install("%ROOTDIR%/lib/%ARCH%/descr", "%BINDIR%%PLATIND%/%ARCH%/descr") install = pm.install("%ROOTDIR%/lib/%ARCH%/descr", "%BINDIR%%PLATIND%/%ARCH%/descr")
} }
-- Revision history -- Revision history
-- $Log$ -- $Log$
-- Revision 1.1 2006-07-20 23:18:18 dtrg -- Revision 1.2 2006-07-22 00:52:01 dtrg
-- Added support for the ego global optimisation suite.
--
-- Revision 1.1 2006/07/20 23:18:18 dtrg
-- First version in CVS. -- First version in CVS.
-- --

View file

@ -8,12 +8,18 @@ mach_m68020 = group {
proto_as, proto_as,
proto_ncg { ARCHDIR = "m68020" }, proto_ncg { ARCHDIR = "m68020" },
ego_descr,
install = pm.install("%ROOTDIR%/lib/%ARCH%/descr", "%BINDIR%%PLATIND%/%ARCH%/descr") install = {
pm.install("%ROOTDIR%/lib/%ARCH%/descr", "%BINDIR%%PLATIND%/%ARCH%/descr"),
}
} }
-- Revision history -- Revision history
-- $Log$ -- $Log$
-- Revision 1.1 2006-07-20 23:18:18 dtrg -- Revision 1.2 2006-07-22 00:52:01 dtrg
-- Added support for the ego global optimisation suite.
--
-- Revision 1.1 2006/07/20 23:18:18 dtrg
-- First version in CVS. -- First version in CVS.
-- --

View file

@ -8,13 +8,19 @@ mach_m68k2 = group {
proto_as, proto_as,
proto_ncg { ARCHDIR = "m68020" }, proto_ncg { ARCHDIR = "m68020" },
ego_descr,
install = pm.install("%ROOTDIR%/lib/%ARCH%/descr", "%BINDIR%%PLATIND%/%ARCH%/descr") install = {
pm.install("%ROOTDIR%/lib/%ARCH%/descr", "%BINDIR%%PLATIND%/%ARCH%/descr"),
}
} }
-- Revision history -- Revision history
-- $Log$ -- $Log$
-- Revision 1.1 2006-07-20 23:18:18 dtrg -- Revision 1.2 2006-07-22 00:52:01 dtrg
-- Added support for the ego global optimisation suite.
--
-- Revision 1.1 2006/07/20 23:18:18 dtrg
-- First version in CVS. -- First version in CVS.
-- --

View file

@ -7,13 +7,19 @@ mach_m68k4 = group {
ARCH = "m68k4", ARCH = "m68k4",
proto_ncg { ARCHDIR = "m68020" }, proto_ncg { ARCHDIR = "m68020" },
ego_descr,
install = pm.install("%ROOTDIR%/lib/%ARCH%/descr", "%BINDIR%%PLATIND%/%ARCH%/descr") install = {
pm.install("%ROOTDIR%/lib/%ARCH%/descr", "%BINDIR%%PLATIND%/%ARCH%/descr"),
}
} }
-- Revision history -- Revision history
-- $Log$ -- $Log$
-- Revision 1.1 2006-07-20 23:18:18 dtrg -- Revision 1.2 2006-07-22 00:52:01 dtrg
-- Added support for the ego global optimisation suite.
--
-- Revision 1.1 2006/07/20 23:18:18 dtrg
-- First version in CVS. -- First version in CVS.
-- --

View file

@ -9,12 +9,18 @@ mach_pdp = group {
proto_as, proto_as,
proto_cg, proto_cg,
proto_ncg { ARCHDIR = "pdp" }, proto_ncg { ARCHDIR = "pdp" },
ego_descr,
install = pm.install("%ROOTDIR%/lib/%ARCH%/descr", "%BINDIR%%PLATIND%/%ARCH%/descr") install = {
pm.install("%ROOTDIR%/lib/%ARCH%/descr", "%BINDIR%%PLATIND%/%ARCH%/descr"),
}
} }
-- Revision history -- Revision history
-- $Log$ -- $Log$
-- Revision 1.1 2006-07-20 23:18:19 dtrg -- Revision 1.2 2006-07-22 00:52:01 dtrg
-- Added support for the ego global optimisation suite.
--
-- Revision 1.1 2006/07/20 23:18:19 dtrg
-- First version in CVS. -- First version in CVS.
-- --

View file

@ -8,12 +8,18 @@ mach_vax4 = group {
proto_as, proto_as,
proto_cg, proto_cg,
ego_descr,
install = pm.install("%ROOTDIR%/lib/%ARCH%/descr", "%BINDIR%%PLATIND%/%ARCH%/descr") install = {
pm.install("%ROOTDIR%/lib/%ARCH%/descr", "%BINDIR%%PLATIND%/%ARCH%/descr"),
}
} }
-- Revision history -- Revision history
-- $Log$ -- $Log$
-- Revision 1.1 2006-07-20 23:18:18 dtrg -- Revision 1.2 2006-07-22 00:52:01 dtrg
-- Added support for the ego global optimisation suite.
--
-- Revision 1.1 2006/07/20 23:18:18 dtrg
-- First version in CVS. -- First version in CVS.
-- --

10
pmfile
View file

@ -4,6 +4,7 @@
include "first/c.pm" include "first/c.pm"
include "first/yacc.pm" include "first/yacc.pm"
include "first/llgen.pm" include "first/llgen.pm"
include "first/ack-custom.pm"
include "config.pm" include "config.pm"
CINCLUDES = { CINCLUDES = {
@ -41,6 +42,7 @@ include "util/ncgg/pmfile"
include "util/ceg/pmfile" include "util/ceg/pmfile"
include "util/misc/pmfile" include "util/misc/pmfile"
include "util/opt/pmfile" include "util/opt/pmfile"
include "util/ego/pmfile"
include "lang/cem/cemcom/pmfile" include "lang/cem/cemcom/pmfile"
include "lang/cem/cemcom.ansi/pmfile" include "lang/cem/cemcom.ansi/pmfile"
@ -92,10 +94,11 @@ default = group {
tool_cpp, tool_cpp,
tool_cgg, tool_cgg,
tool_ncgg, tool_ncgg,
tool_ceg, -- tool_ceg,
tool_em_decode, tool_em_decode,
tool_em_encode, tool_em_encode,
tool_opt, tool_opt,
tool_ego,
lang_cem_cemcom, lang_cem_cemcom,
lang_cem_cemcom_ansi, lang_cem_cemcom_ansi,
@ -151,6 +154,9 @@ configure = simple {
-- Revision history -- Revision history
-- $Log$ -- $Log$
-- Revision 1.2 2006-07-20 23:24:42 dtrg -- Revision 1.3 2006-07-22 00:52:01 dtrg
-- Added support for the ego global optimisation suite.
--
-- Revision 1.2 2006/07/20 23:24:42 dtrg
-- Fixed revision history. -- Fixed revision history.
-- --

240
util/ego/pmfile Normal file
View file

@ -0,0 +1,240 @@
-- $Source$
-- $State$
local d = ROOTDIR.."util/ego/"
local makecldef = cprogram {
cfile (d.."share/makecldef.c")
}
local classdefs_h = simple {
outputs = {"%U%/classdefs.h"},
command = {
"%in[1]% %in[2]% %in[3]% > %out[1]%"
},
makecldef,
file ("%HEADERDIR%em_mnem.h"),
file (d.."share/cldefs.src")
}
local pop_push_h = simple {
outputs = {"%U%/pop_push.h"},
command = {
"awk -f %in[1]% < %in[2]% > %out%"
},
file (d.."share/pop_push.awk"),
file (ROOTDIR.."etc/em_table")
}
local cfile_with_headers = cfile {
class = "cfile_with_headers",
dynamicheaders = {
classdefs_h,
pop_push_h
}
}
local ego_core = cprogram {
CINCLUDES = {PARENT, ("-I"..d.."share")},
cfile_with_headers (d.."share/debug.c"),
cfile_with_headers (d.."share/global.c"),
cfile_with_headers (d.."share/files.c"),
cfile_with_headers (d.."share/go.c"),
cfile_with_headers (d.."share/map.c"),
cfile_with_headers (d.."share/aux.c"),
cfile_with_headers (d.."share/get.c"),
cfile_with_headers (d.."share/put.c"),
cfile_with_headers (d.."share/alloc.c"),
cfile_with_headers (d.."share/lset.c"),
cfile_with_headers (d.."share/cset.c"),
cfile_with_headers (d.."share/parser.c"),
cfile_with_headers (d.."share/stack_chg.c"),
cfile_with_headers (d.."share/locals.c"),
cfile_with_headers (d.."share/init_glob.c"),
}
tool_ego = group {
CDEFINES = {PARENT, "-DVERBOSE", "-DNOTCOMPACT"},
ego_core {
cfile_with_headers (d.."bo/bo.c"),
lib_em_data,
install = pm.install("%BINDIR%%PLATDEP%/ego/bo")
},
ego_core {
cfile_with_headers (d.."ca/ca.c"),
cfile_with_headers (d.."ca/ca_put.c"),
lib_em_data,
install = pm.install("%BINDIR%%PLATDEP%/ego/ca")
},
ego_core {
cfile_with_headers (d.."cf/cf.c"),
cfile_with_headers (d.."cf/cf_idom.c"),
cfile_with_headers (d.."cf/cf_loop.c"),
cfile_with_headers (d.."cf/cf_succ.c"),
lib_em_data,
install = pm.install("%BINDIR%%PLATDEP%/ego/cf")
},
ego_core {
cfile_with_headers (d.."cj/cj.c"),
lib_em_data,
install = pm.install("%BINDIR%%PLATDEP%/ego/cj")
},
ego_core {
cfile_with_headers (d.."cs/cs.c"),
cfile_with_headers (d.."cs/cs_alloc.c"),
cfile_with_headers (d.."cs/cs_aux.c"),
cfile_with_headers (d.."cs/cs_avail.c"),
cfile_with_headers (d.."cs/cs_debug.c"),
cfile_with_headers (d.."cs/cs_elim.c"),
cfile_with_headers (d.."cs/cs_entity.c"),
cfile_with_headers (d.."cs/cs_getent.c"),
cfile_with_headers (d.."cs/cs_kill.c"),
cfile_with_headers (d.."cs/cs_partit.c"),
cfile_with_headers (d.."cs/cs_profit.c"),
cfile_with_headers (d.."cs/cs_stack.c"),
cfile_with_headers (d.."cs/cs_vnm.c"),
lib_em_data,
install = pm.install("%BINDIR%%PLATDEP%/ego/cs")
},
ego_core {
cfile_with_headers (d.."ic/ic.c"),
cfile_with_headers (d.."ic/ic_aux.c"),
cfile_with_headers (d.."ic/ic_io.c"),
cfile_with_headers (d.."ic/ic_lib.c"),
cfile_with_headers (d.."ic/ic_lookup.c"),
lib_em_data,
install = pm.install("%BINDIR%%PLATDEP%/ego/ic")
},
ego_core {
cfile_with_headers (d.."il/il.c"),
cfile_with_headers (d.."il/il1_anal.c"),
cfile_with_headers (d.."il/il1_aux.c"),
cfile_with_headers (d.."il/il1_cal.c"),
cfile_with_headers (d.."il/il1_formal.c"),
cfile_with_headers (d.."il/il2_aux.c"),
cfile_with_headers (d.."il/il3_aux.c"),
cfile_with_headers (d.."il/il3_change.c"),
cfile_with_headers (d.."il/il3_subst.c"),
cfile_with_headers (d.."il/il_aux.c"),
lib_em_data,
install = pm.install("%BINDIR%%PLATDEP%/ego/il")
},
ego_core {
cfile_with_headers (d.."lv/lv.c"),
lib_em_data,
install = pm.install("%BINDIR%%PLATDEP%/ego/lv")
},
ego_core {
cfile_with_headers (d.."ra/ra.c"),
cfile_with_headers (d.."ra/ra_allocl.c"),
cfile_with_headers (d.."ra/ra_aux.c"),
cfile_with_headers (d.."ra/ra_interv.c"),
cfile_with_headers (d.."ra/ra_lifet.c"),
cfile_with_headers (d.."ra/ra_pack.c"),
cfile_with_headers (d.."ra/ra_profits.c"),
cfile_with_headers (d.."ra/ra_xform.c"),
cfile {
file (d.."ra/ra_items.c"),
dynamicheaders = {
simple {
outputs = {"%U%/itemtab.h"},
command = {
"%in[1]% %in[2]% %in[3]% > %out[1]%"
},
cprogram {
cfile (d.."ra/makeitems.c"),
},
file (HEADERDIR.."em_mnem.h"),
file (d.."ra/itemtab.src")
}
}
},
lib_em_data,
install = pm.install("%BINDIR%%PLATDEP%/ego/ra")
},
ego_core {
cfile_with_headers (d.."sp/sp.c"),
lib_em_data,
install = pm.install("%BINDIR%%PLATDEP%/ego/sp")
},
ego_core {
cfile_with_headers (d.."sr/sr.c"),
cfile_with_headers (d.."sr/sr_aux.c"),
cfile_with_headers (d.."sr/sr_cand.c"),
cfile_with_headers (d.."sr/sr_expr.c"),
cfile_with_headers (d.."sr/sr_iv.c"),
cfile_with_headers (d.."sr/sr_reduce.c"),
cfile_with_headers (d.."sr/sr_xform.c"),
lib_em_data,
install = pm.install("%BINDIR%%PLATDEP%/ego/sr")
},
ego_core {
cfile_with_headers (d.."ud/ud.c"),
cfile_with_headers (d.."ud/ud_aux.c"),
cfile_with_headers (d.."ud/ud_const.c"),
cfile_with_headers (d.."ud/ud_copy.c"),
cfile_with_headers (d.."ud/ud_defs.c"),
lib_em_data,
install = pm.install("%BINDIR%%PLATDEP%/ego/ud")
},
cprogram {
cfile (d.."em_ego/em_ego.c"),
lib_print,
lib_string,
lib_system,
install = pm.install("%BINDIR%%PLATDEP%/em_ego")
}
}
-- This rule is used by the machine description pmfiles to massage and install
-- the ego descr files.
ego_descr = simple {
outputs = {"%U%-%I%"},
command = {
"%BINDIR%bin/cpp -P -I%HEADERDIR% %in[1]% | sed -f %in[2]% > %out[1]%"
},
file (d.."descr/%ARCH%.descr"),
file (d.."descr/descr.sed"),
install = pm.install("%BINDIR%%PLATDEP%/ego/%ARCH%descr")
}
-- Revision history
-- $Log$
-- Revision 1.1 2006-07-22 00:52:01 dtrg
-- Added support for the ego global optimisation suite.
--