Added support for the top target peephole optimiser.
This commit is contained in:
parent
f8e168adcd
commit
304c0e21a0
|
@ -10,6 +10,7 @@ mach_arm = group {
|
||||||
|
|
||||||
proto_as,
|
proto_as,
|
||||||
proto_ncg { ARCHDIR = "arm" },
|
proto_ncg { ARCHDIR = "arm" },
|
||||||
|
proto_top,
|
||||||
tool_arm_cv,
|
tool_arm_cv,
|
||||||
|
|
||||||
install = pm.install("%ROOTDIR%/lib/%ARCH%/descr", "%BINDIR%%PLATIND%/%ARCH%/descr")
|
install = pm.install("%ROOTDIR%/lib/%ARCH%/descr", "%BINDIR%%PLATIND%/%ARCH%/descr")
|
||||||
|
@ -17,6 +18,9 @@ mach_arm = group {
|
||||||
|
|
||||||
-- Revision history
|
-- Revision history
|
||||||
-- $Log$
|
-- $Log$
|
||||||
-- Revision 1.1 2006-07-20 23:18:18 dtrg
|
-- Revision 1.2 2006-07-22 12:31:19 dtrg
|
||||||
|
-- Added support for the top target peephole optimiser.
|
||||||
|
--
|
||||||
|
-- Revision 1.1 2006/07/20 23:18:18 dtrg
|
||||||
-- First version in CVS.
|
-- First version in CVS.
|
||||||
--
|
--
|
||||||
|
|
|
@ -8,6 +8,7 @@ mach_m68020 = group {
|
||||||
|
|
||||||
proto_as,
|
proto_as,
|
||||||
proto_ncg { ARCHDIR = "m68020" },
|
proto_ncg { ARCHDIR = "m68020" },
|
||||||
|
proto_top,
|
||||||
ego_descr,
|
ego_descr,
|
||||||
|
|
||||||
install = {
|
install = {
|
||||||
|
@ -17,7 +18,10 @@ mach_m68020 = group {
|
||||||
|
|
||||||
-- Revision history
|
-- Revision history
|
||||||
-- $Log$
|
-- $Log$
|
||||||
-- Revision 1.2 2006-07-22 00:52:01 dtrg
|
-- Revision 1.3 2006-07-22 12:31:19 dtrg
|
||||||
|
-- Added support for the top target peephole optimiser.
|
||||||
|
--
|
||||||
|
-- Revision 1.2 2006/07/22 00:52:01 dtrg
|
||||||
-- Added support for the ego global optimisation suite.
|
-- Added support for the ego global optimisation suite.
|
||||||
--
|
--
|
||||||
-- Revision 1.1 2006/07/20 23:18:18 dtrg
|
-- Revision 1.1 2006/07/20 23:18:18 dtrg
|
||||||
|
|
|
@ -8,6 +8,7 @@ mach_m68k2 = group {
|
||||||
|
|
||||||
proto_as,
|
proto_as,
|
||||||
proto_ncg { ARCHDIR = "m68020" },
|
proto_ncg { ARCHDIR = "m68020" },
|
||||||
|
proto_top,
|
||||||
ego_descr,
|
ego_descr,
|
||||||
|
|
||||||
install = {
|
install = {
|
||||||
|
@ -18,7 +19,10 @@ mach_m68k2 = group {
|
||||||
|
|
||||||
-- Revision history
|
-- Revision history
|
||||||
-- $Log$
|
-- $Log$
|
||||||
-- Revision 1.2 2006-07-22 00:52:01 dtrg
|
-- Revision 1.3 2006-07-22 12:31:19 dtrg
|
||||||
|
-- Added support for the top target peephole optimiser.
|
||||||
|
--
|
||||||
|
-- Revision 1.2 2006/07/22 00:52:01 dtrg
|
||||||
-- Added support for the ego global optimisation suite.
|
-- Added support for the ego global optimisation suite.
|
||||||
--
|
--
|
||||||
-- Revision 1.1 2006/07/20 23:18:18 dtrg
|
-- Revision 1.1 2006/07/20 23:18:18 dtrg
|
||||||
|
|
|
@ -9,6 +9,7 @@ mach_pdp = group {
|
||||||
proto_as,
|
proto_as,
|
||||||
proto_cg,
|
proto_cg,
|
||||||
proto_ncg { ARCHDIR = "pdp" },
|
proto_ncg { ARCHDIR = "pdp" },
|
||||||
|
proto_top,
|
||||||
ego_descr,
|
ego_descr,
|
||||||
|
|
||||||
install = {
|
install = {
|
||||||
|
@ -18,7 +19,10 @@ mach_pdp = group {
|
||||||
|
|
||||||
-- Revision history
|
-- Revision history
|
||||||
-- $Log$
|
-- $Log$
|
||||||
-- Revision 1.2 2006-07-22 00:52:01 dtrg
|
-- Revision 1.3 2006-07-22 12:31:19 dtrg
|
||||||
|
-- Added support for the top target peephole optimiser.
|
||||||
|
--
|
||||||
|
-- Revision 1.2 2006/07/22 00:52:01 dtrg
|
||||||
-- Added support for the ego global optimisation suite.
|
-- Added support for the ego global optimisation suite.
|
||||||
--
|
--
|
||||||
-- Revision 1.1 2006/07/20 23:18:19 dtrg
|
-- Revision 1.1 2006/07/20 23:18:19 dtrg
|
||||||
|
|
|
@ -6,9 +6,13 @@ local d = ROOTDIR.."mach/proto/"
|
||||||
include (d.."as/pmfile")
|
include (d.."as/pmfile")
|
||||||
include (d.."cg/pmfile")
|
include (d.."cg/pmfile")
|
||||||
include (d.."ncg/pmfile")
|
include (d.."ncg/pmfile")
|
||||||
|
include (d.."top/pmfile")
|
||||||
|
|
||||||
-- Revision history
|
-- Revision history
|
||||||
-- $Log$
|
-- $Log$
|
||||||
-- Revision 1.1 2006-07-20 23:18:18 dtrg
|
-- Revision 1.2 2006-07-22 12:31:19 dtrg
|
||||||
|
-- Added support for the top target peephole optimiser.
|
||||||
|
--
|
||||||
|
-- Revision 1.1 2006/07/20 23:18:18 dtrg
|
||||||
-- First version in CVS.
|
-- First version in CVS.
|
||||||
--
|
--
|
||||||
|
|
41
mach/proto/top/pmfile
Normal file
41
mach/proto/top/pmfile
Normal file
|
@ -0,0 +1,41 @@
|
||||||
|
-- $Source$
|
||||||
|
-- $State$
|
||||||
|
|
||||||
|
local d = ROOTDIR.."mach/proto/top/"
|
||||||
|
|
||||||
|
local make_tables = topgen {
|
||||||
|
file (ROOTDIR.."mach/%ARCH%/top/table")
|
||||||
|
}
|
||||||
|
|
||||||
|
local cfile_with_tables = cfile {
|
||||||
|
class = "cfile_with_tables",
|
||||||
|
dynamicheaders = {
|
||||||
|
make_tables,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
proto_top = cprogram {
|
||||||
|
CINCLUDES = {
|
||||||
|
PARENT,
|
||||||
|
"-Imach/%ARCH%/ncg",
|
||||||
|
"-Imach",
|
||||||
|
"-I"..d
|
||||||
|
},
|
||||||
|
|
||||||
|
cfile_with_tables (d.."queue.c"),
|
||||||
|
cfile_with_tables (d.."top.c"),
|
||||||
|
|
||||||
|
lib_string,
|
||||||
|
|
||||||
|
outputs = {"%U%/%ARCH%-top"},
|
||||||
|
install = pm.install("%BINDIR%%PLATDEP%/%ARCH%/top")
|
||||||
|
}
|
||||||
|
|
||||||
|
-- Revision history
|
||||||
|
-- $Log$
|
||||||
|
-- Revision 1.1 2006-07-22 12:31:19 dtrg
|
||||||
|
-- Added support for the top target peephole optimiser.
|
||||||
|
--
|
||||||
|
-- Revision 1.1 2006/07/20 23:18:18 dtrg
|
||||||
|
-- First version in CVS.
|
||||||
|
--
|
|
@ -8,6 +8,7 @@ mach_vax4 = group {
|
||||||
|
|
||||||
proto_as,
|
proto_as,
|
||||||
proto_cg,
|
proto_cg,
|
||||||
|
proto_top,
|
||||||
ego_descr,
|
ego_descr,
|
||||||
|
|
||||||
install = {
|
install = {
|
||||||
|
@ -17,7 +18,10 @@ mach_vax4 = group {
|
||||||
|
|
||||||
-- Revision history
|
-- Revision history
|
||||||
-- $Log$
|
-- $Log$
|
||||||
-- Revision 1.2 2006-07-22 00:52:01 dtrg
|
-- Revision 1.3 2006-07-22 12:31:19 dtrg
|
||||||
|
-- Added support for the top target peephole optimiser.
|
||||||
|
--
|
||||||
|
-- Revision 1.2 2006/07/22 00:52:01 dtrg
|
||||||
-- Added support for the ego global optimisation suite.
|
-- Added support for the ego global optimisation suite.
|
||||||
--
|
--
|
||||||
-- Revision 1.1 2006/07/20 23:18:18 dtrg
|
-- Revision 1.1 2006/07/20 23:18:18 dtrg
|
||||||
|
|
7
pmfile
7
pmfile
|
@ -43,6 +43,7 @@ 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 "util/ego/pmfile"
|
||||||
|
include "util/topgen/pmfile"
|
||||||
|
|
||||||
include "lang/cem/cemcom/pmfile"
|
include "lang/cem/cemcom/pmfile"
|
||||||
include "lang/cem/cemcom.ansi/pmfile"
|
include "lang/cem/cemcom.ansi/pmfile"
|
||||||
|
@ -99,6 +100,7 @@ default = group {
|
||||||
tool_em_encode,
|
tool_em_encode,
|
||||||
tool_opt,
|
tool_opt,
|
||||||
tool_ego,
|
tool_ego,
|
||||||
|
tool_topgen,
|
||||||
|
|
||||||
lang_cem_cemcom,
|
lang_cem_cemcom,
|
||||||
lang_cem_cemcom_ansi,
|
lang_cem_cemcom_ansi,
|
||||||
|
@ -154,7 +156,10 @@ configure = simple {
|
||||||
|
|
||||||
-- Revision history
|
-- Revision history
|
||||||
-- $Log$
|
-- $Log$
|
||||||
-- Revision 1.3 2006-07-22 00:52:01 dtrg
|
-- Revision 1.4 2006-07-22 12:31:19 dtrg
|
||||||
|
-- Added support for the top target peephole optimiser.
|
||||||
|
--
|
||||||
|
-- Revision 1.3 2006/07/22 00:52:01 dtrg
|
||||||
-- Added support for the ego global optimisation suite.
|
-- Added support for the ego global optimisation suite.
|
||||||
--
|
--
|
||||||
-- Revision 1.2 2006/07/20 23:24:42 dtrg
|
-- Revision 1.2 2006/07/20 23:24:42 dtrg
|
||||||
|
|
56
util/topgen/pmfile
Normal file
56
util/topgen/pmfile
Normal file
|
@ -0,0 +1,56 @@
|
||||||
|
-- $Source$
|
||||||
|
-- $State$
|
||||||
|
|
||||||
|
local d = ROOTDIR.."util/topgen/"
|
||||||
|
|
||||||
|
local lpars = LLgen {
|
||||||
|
file (d.."topgen.g")
|
||||||
|
}
|
||||||
|
|
||||||
|
local cfile_with_headers = cfile {
|
||||||
|
class = "cfile_with_headers",
|
||||||
|
dynamicheaders = {
|
||||||
|
file (d),
|
||||||
|
lpars
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
tool_topgen = cprogram {
|
||||||
|
cfile_with_headers (d.."LLlex.c"),
|
||||||
|
cfile_with_headers (d.."hash.c"),
|
||||||
|
cfile_with_headers (d.."main.c"),
|
||||||
|
cfile_with_headers (d.."pattern.c"),
|
||||||
|
cfile_with_headers (d.."symtab.c"),
|
||||||
|
|
||||||
|
foreach {
|
||||||
|
rule = cfile_with_headers,
|
||||||
|
ith { lpars, from=2 }
|
||||||
|
},
|
||||||
|
|
||||||
|
lib_assert,
|
||||||
|
lib_print,
|
||||||
|
lib_alloc,
|
||||||
|
lib_system,
|
||||||
|
lib_string,
|
||||||
|
|
||||||
|
outputs = {"%U%/topgen"},
|
||||||
|
install = pm.install("%TOOLDIR%topgen")
|
||||||
|
}
|
||||||
|
|
||||||
|
topgen = simple {
|
||||||
|
class = "topgen",
|
||||||
|
|
||||||
|
outputs = {"%U%/gen.c"},
|
||||||
|
command = {
|
||||||
|
"mkdir -p %out[1]:dirname%",
|
||||||
|
"cd %out[1]:dirname% && %TOOLDIR%topgen %in[1]%"
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
-- Revision history
|
||||||
|
-- $Log$
|
||||||
|
-- Revision 1.1 2006-07-22 12:31:19 dtrg
|
||||||
|
-- Added support for the top target peephole optimiser.
|
||||||
|
--
|
||||||
|
-- Revision 1.1 2006/07/20 23:24:28 dtrg
|
||||||
|
-- First version in CVS.
|
Loading…
Reference in a new issue