Added support for the ego global optimisation suite.
authordtrg <none@none>
Sat, 22 Jul 2006 00:52:01 +0000 (00:52 +0000)
committerdtrg <none@none>
Sat, 22 Jul 2006 00:52:01 +0000 (00:52 +0000)
mach/i386/pmfile
mach/i86/pmfile
mach/m68020/pmfile
mach/m68k2/pmfile
mach/m68k4/pmfile
mach/pdp/pmfile
mach/vax4/pmfile
pmfile
util/ego/pmfile [new file with mode: 0644]

index a31ad29..365a419 100644 (file)
@@ -10,13 +10,17 @@ mach_i386 = group {
        
        proto_as,
        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
 -- $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.
 --
index f3f769c..c089fd9 100644 (file)
@@ -8,12 +8,16 @@ mach_i86 = group {
        
        proto_as,
        proto_ncg { ARCHDIR = "i86" },
+       ego_descr,
        
        install = pm.install("%ROOTDIR%/lib/%ARCH%/descr", "%BINDIR%%PLATIND%/%ARCH%/descr")
 }
 
 -- Revision history
 -- $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.
 --
index e4f2021..d4c7d09 100644 (file)
@@ -8,12 +8,18 @@ mach_m68020 = group {
        
        proto_as,
        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
 -- $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.
 --
index eb2a88e..9d31835 100644 (file)
@@ -8,13 +8,19 @@ mach_m68k2 = group {
        
        proto_as,
        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
 -- $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.
 --
index faf78e2..161b6ba 100644 (file)
@@ -7,13 +7,19 @@ mach_m68k4 = group {
        ARCH = "m68k4",
        
        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
 -- $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.
 --
index 7410859..55adba7 100644 (file)
@@ -9,12 +9,18 @@ mach_pdp = group {
        proto_as,
        proto_cg,
        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
 -- $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.
 --
index 78227c7..24ff982 100644 (file)
@@ -8,12 +8,18 @@ mach_vax4 = group {
        
        proto_as,
        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
 -- $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.
 --
diff --git a/pmfile b/pmfile
index d5df00d..88c7bdc 100644 (file)
--- a/pmfile
+++ b/pmfile
@@ -4,6 +4,7 @@
 include "first/c.pm"
 include "first/yacc.pm"
 include "first/llgen.pm"
+include "first/ack-custom.pm"
 include "config.pm"
 
 CINCLUDES = {
@@ -41,6 +42,7 @@ include "util/ncgg/pmfile"
 include "util/ceg/pmfile"
 include "util/misc/pmfile"
 include "util/opt/pmfile"
+include "util/ego/pmfile"
 
 include "lang/cem/cemcom/pmfile"
 include "lang/cem/cemcom.ansi/pmfile"
@@ -92,10 +94,11 @@ default = group {
        tool_cpp,
        tool_cgg,
        tool_ncgg,
-       tool_ceg,
+--     tool_ceg,
        tool_em_decode,
        tool_em_encode,
        tool_opt,
+       tool_ego,
 
        lang_cem_cemcom,
        lang_cem_cemcom_ansi,
@@ -151,6 +154,9 @@ configure = simple {
 
 -- Revision history
 -- $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.
 --
diff --git a/util/ego/pmfile b/util/ego/pmfile
new file mode 100644 (file)
index 0000000..74ee13b
--- /dev/null
@@ -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.
+--