-I$(top_srcdir)/ir/tr \
-I$(top_srcdir)/ir/tv
+libfirm_la_LDFLAGS = -no-undefined
libfirm_la_SOURCES = \
adt/array.c \
adt/bipartite.c \
ana/rta.c \
ana/structure.c \
ana/trouts.c \
- arch/archop.c \
be/beabi.c \
be/bearch.c \
be/beblocksched.c \
be/bechordal_draw.c \
be/bechordal_main.c \
be/becopyheur2.c \
- be/becopyheur3.c \
be/becopyheur4.c \
be/becopyheur.c \
be/becopyilp1.c \
be/beifg_pointer.c \
be/beifg_std.c \
be/beilpsched.c \
+ be/beinfo.c \
be/beinsn.c \
be/beirg.c \
be/beirgmod.c \
- be/bejavacoal.c \
be/belistsched.c \
be/belive.c \
be/beloopana.c \
be/belower.c \
be/bemachine.c \
- be/bemachnode.c \
be/bemain.c \
be/bemodule.c \
+ be/benewalloc.c \
be/benode.c \
be/bepeephole.c \
be/bepressurestat.c \
be/bera.c \
- be/beraextern.c \
be/besched.c \
be/beschedmris.c \
be/beschednormal.c \
be/bespillbelady.c \
be/bespill.c \
be/bespilldaemel.c \
- be/bespilllinearscan.c \
- be/bespilloptions.c \
- be/bespillremat.c \
be/bespillslots.c \
+ be/bespillutil.c \
be/bessaconstr.c \
be/bessadestr.c \
- be/bessadestrsimple.c \
be/bestabs.c \
be/bestat.c \
be/bestate.c \
common/error.c \
common/firm.c \
common/firm_common.c \
- common/firmwalk.c \
common/irtools.c \
- common/statistics.c \
common/timing.c \
debug/dbginfo.c \
debug/debugger.c \
- debug/firm_ycomp.c \
debug/seqnumbers.c \
ident/ident.c \
ident/mangle.c \
ir/irgwalk_blk.c \
ir/irgwalk.c \
ir/irhooks.c \
+ ir/irio.c \
ir/irlinkednodemap.c \
ir/irlinkednodeset.c \
ir/irmode.c \
ir/irnodeset.c \
ir/irop.c \
ir/iropt.c \
+ ir/irpass.c \
ir/irphase.c \
ir/irprintf.c \
ir/irprofile.c \
lower/lower_hl.c \
lower/lower_intrinsics.c \
lower/lower_mode_b.c \
- net/firmnet.c \
+ lower/lower_switch.c \
obstack/obstack.c \
obstack/obstack_printf.c \
opt/boolopt.c \
opt/cfopt.c \
opt/code_placement.c \
opt/combo.c \
- opt/condeval.c \
+ opt/jumpthreading.c \
opt/convopt.c \
opt/critical_edges.c \
- opt/data_flow_scalar_replace.c \
opt/escape_ana.c \
opt/funccall.c \
opt/gvn_pre.c \
opt/ircgopt.c \
opt/ldst2.c \
opt/ldstopt.c \
+ opt/opt_blocks.c \
opt/opt_confirms.c \
opt/opt_frame.c \
opt/opt_inline.c \
+ opt/opt_ldst.c \
opt/opt_osr.c \
opt/opt_polymorphy.c \
opt/proc_cloning.c \
stat/pattern_dmp.c \
stat/stat_dmp.c \
stat/statev.c \
+ stat/stat_liveness.c \
stat/stat_timing.c \
tr/entity.c \
tr/tpop.c \
tv/tv.c
EXTRA_DIST = \
+ adt/bitset.h \
+ adt/array_t.h \
+ adt/bitset_ia32.h \
+ adt/bitset_std.h \
+ adt/compiler.h \
+ adt/bitfiddle.h \
+ ana/irbackedge_t.h \
ana/irdom_t.h \
ana/dfs_t.h \
- ana/irbackedge_t.h \
ana/irloop_t.h \
+ ana/irmemory_t.h \
ana/irextbb_t.h \
- be/belive_t.h \
be/beifg_impl.h \
+ be/belive_t.h \
+ be/beifg_t.h \
be/bepeephole.h \
+ be/be_dbgout_t.h \
be/bessaconstr.h \
- be/beifg_t.h \
be/beblocksched.h \
- be/bessadestrsimple.h \
+ be/becopyopt_t.h \
be/becopyilp_t.h \
- be/beverify.h \
be/bemachine.h \
+ be/beverify.h \
+ be/bechordal_t.h \
be/beemitter.h \
be/begnuas.h \
- be/becopyopt_t.h \
be/bemodule.h \
be/be_t.h \
- be/bespillremat.h \
- be/bejavacoal.h \
- be/belistsched.h \
be/bessadestr.h \
- be/bechordal_draw.h \
+ be/belistsched.h \
be/beabi.h \
+ be/bechordal_draw.h \
be/beflags.h \
- be/bechordal_t.h \
- be/beifg.h \
be/bespillslots.h \
+ be/bespillutil.h \
+ be/beifg.h \
be/besched_t.h \
be/beschedmris.h \
be/besched.h \
be/beloopana.h \
- be/beilpsched.h \
be/becopyopt.h \
+ be/beilpsched.h \
be/bepressurestat.h \
be/bestat.h \
- be/bemachnode.h \
be/beabi_t.h \
be/beuses.h \
be/bestate.h \
- be/bespilloptions.h \
be/bearch_t.h \
be/bera.h \
be/beirg_t.h \
be/beirgmod.h \
- be/beinsn_t.h \
be/betranshlp.h \
+ be/beinsn_t.h \
be/belive.h \
- be/beutil.h \
be/bestatevent.h \
- be/bespill.h \
- be/be_dbgout.h \
- be/belower.h \
+ be/beutil.h \
be/bedomfront.h \
+ be/be_dbgout.h \
+ be/bespill.h \
be/beintlive_t.h \
+ be/belower.h \
+ be/beinfo.h \
+ be/bemodule_t.h \
be/becopystat.h \
be/benode_t.h \
- be/bemodule_t.h \
+ be/beschedrss.h \
be/bechordal.h \
be/bearch.h \
- be/beschedrss.h \
be/beirg.h \
- be/be_dbgout_t.h \
common/error.h \
- common/statistics.h \
common/irtools.h \
- common/firmwalk.h \
common/debug.h \
- common/firm_common_t.h \
debug/dbginfo_t.h \
debug/debugger.h \
ident/ident_t.h \
+ ir/irphases_t.h \
ir/irnodeset.h \
ir/irop_t.h \
ir/irmode_t.h \
+ ir/instrument.h \
ir/irvrfy_t.h \
ir/iredges_t.h \
+ ir/iredgeset.h \
+ ir/irdump_grgen.h \
ir/irphase_t.h \
ir/ircons_t.h \
ir/irdump_t.h \
- ir/irdump_grgen.h \
+ ir/irflag_t.def \
ir/irprog_t.h \
ir/irprofile.h \
- ir/irflag_t.def \
+ ir/irprintf_t.h \
ir/irtypes.h \
ir/irnode_t.h \
ir/irargs_t.h \
+ ir/irlinkednodemap.h \
ir/irnodemap.h \
ir/irgraph_t.h \
ir/iropt_t.h \
- ir/irprintf_t.h \
- ir/irbitset.h \
- ir/irflag_t.h \
- ir/irphases_t.h \
ir/irphaselist.h \
- ir/iredgeset.h \
- ir/instrument.h \
- ir/irlinkednodemap.h \
+ ir/irbitset.h \
ir/irlinkednodeset.h \
+ ir/irflag_t.h \
+ ir/gen_irnode.h \
ir/valueset.h \
+ ir/gen_ir.h \
+ libcore/lc_defines.h \
libcore/lc_common_t.h \
- libcore/lc_appendable.h \
- libcore/lc_config.h \
libcore/lc_parser_t.h \
- libcore/lc_printf_arg_types.def \
libcore/do_bisonflex.sh \
- libcore/lc_config_parser.h \
- libcore/lc_opts_t.h \
- libcore/lc_defines.h \
- libcore/lc_opts_enum.h \
libcore/lc_opts.h \
+ libcore/lc_appendable.h \
+ libcore/lc_config_parser.h \
+ libcore/lc_printf_arg_types.def \
libcore/lc_printf.h \
- net/firmnet.h \
- net/firmnet_t.h \
+ libcore/lc_opts_enum.h \
+ libcore/lc_config.h \
+ libcore/lc_opts_t.h \
opt/scalar_replace.h \
- opt/opt_confirms.h \
- opt/opt_polymorphy.h \
opt/tropt.h \
opt/reassoc_t.h \
- opt/opt_inline_t.h \
+ opt/opt_confirms.h \
opt/funccall_t.h \
+ opt/opt_polymorphy.h \
+ opt/opt_inline_t.h \
stat/statev.h \
stat/stat_dmp.h \
- stat/firmstat_t.h \
stat/pattern_dmp.h \
stat/pattern.h \
+ stat/firmstat_t.h \
stat/dags.h \
- stat/counter.h \
stat/stat_timing.h \
+ stat/counter.h \
tr/entity_t.h \
tr/type_t.h \
tr/tpop_t.h \
tv/strcalc.h \
tv/tv_t.h \
tv/fltcalc.h \
+ ir/gen_irio_export.inl \
+ ir/gen_irio_import.inl \
+ ir/gen_irio_lex.inl \
+ ir/gen_ir_cons.c.inl \
+ ir/gen_irnode.c.inl \
+ ir/gen_irop.c.inl \
be/scripts/generate_emitter_new.pl \
be/scripts/generate_emitter.pl \
be/scripts/generate_machine.pl \
be/scripts/generate_new_opcodes.pl \
be/scripts/generate_regalloc_if.pl
+EXTRA_DIST += libcore/do_bisonflex.sh \
+ libcore/lc_config_parser.y \
+ libcore/lc_config_lexer.l
# ia32 backend
be/ia32/bearch_ia32.c \
be/ia32/ia32_architecture.c \
be/ia32/ia32_address_mode.c \
+ be/ia32/ia32_common_transform.c \
be/ia32/ia32_emitter.c \
be/ia32/ia32_finish.c \
be/ia32/ia32_fpu.c \
be/ia32/bearch_ia32_t.h \
be/ia32/ia32_architecture.h \
be/ia32/ia32_address_mode.h \
+ be/ia32/ia32_common_transform.h \
be/ia32/ia32_dbg_stat.h \
be/ia32/ia32_emitter.h \
be/ia32/ia32_finish.h \
$(srcdir)/be/ppc32/gen_ppc32_regalloc_if.c $(srcdir)/be/ppc32/gen_ppc32_regalloc_if.h: \
be/ppc32/ppc32_spec.pl be/scripts/generate_machine.pl
$(PERL) $(srcdir)/be/scripts/generate_regalloc_if.pl $(srcdir)/be/ppc32/ppc32_spec.pl $(srcdir)/be/ppc32
+
+# TEMPLATE backend
+
+TEMPLATE_sources = \
+ be/TEMPLATE/bearch_TEMPLATE.c \
+ be/TEMPLATE/TEMPLATE_emitter.c \
+ be/TEMPLATE/TEMPLATE_map_regs.c \
+ be/TEMPLATE/TEMPLATE_new_nodes.c \
+ be/TEMPLATE/TEMPLATE_transform.c
+TEMPLATE_built_sources = \
+ be/TEMPLATE/gen_TEMPLATE_emitter.c \
+ be/TEMPLATE/gen_TEMPLATE_emitter.h \
+ be/TEMPLATE/gen_TEMPLATE_machine.c \
+ be/TEMPLATE/gen_TEMPLATE_machine.h \
+ be/TEMPLATE/gen_TEMPLATE_regalloc_if.c \
+ be/TEMPLATE/gen_TEMPLATE_regalloc_if.h \
+ be/TEMPLATE/gen_TEMPLATE_new_nodes.c.inl \
+ be/TEMPLATE/gen_TEMPLATE_new_nodes.h
+MAINTAINERCLEANFILES += $(TEMPLATE_built_sources)
+BUILT_SOURCES += $(TEMPLATE_built_sources)
+libfirm_la_SOURCES += $(TEMPLATE_sources) $(TEMPLATE_built_sources)
+
+EXTRA_DIST += \
+ be/TEMPLATE/TEMPLATE_spec.pl \
+ be/TEMPLATE/bearch_TEMPLATE.h \
+ be/TEMPLATE/bearch_TEMPLATE_t.h \
+ be/TEMPLATE/TEMPLATE_emitter.h \
+ be/TEMPLATE/TEMPLATE_map_regs.h \
+ be/TEMPLATE/TEMPLATE_new_nodes.h \
+ be/TEMPLATE/TEMPLATE_nodes_attr.h \
+ be/TEMPLATE/TEMPLATE_transform.h
+
+$(srcdir)/be/TEMPLATE/gen_TEMPLATE_new_nodes.c.inl $(srcdir)/be/TEMPLATE/gen_TEMPLATE_new_nodes.h: \
+ be/TEMPLATE/TEMPLATE_spec.pl be/scripts/generate_new_opcodes.pl
+ $(PERL) $(srcdir)/be/scripts/generate_new_opcodes.pl $(srcdir)/be/TEMPLATE/TEMPLATE_spec.pl $(srcdir)/be/TEMPLATE
+
+$(srcdir)/be/TEMPLATE/gen_TEMPLATE_emitter.c $(srcdir)/be/TEMPLATE/gen_TEMPLATE_emitter.h: \
+ be/TEMPLATE/TEMPLATE_spec.pl be/scripts/generate_emitter.pl
+ $(PERL) $(srcdir)/be/scripts/generate_emitter.pl $(srcdir)/be/TEMPLATE/TEMPLATE_spec.pl $(srcdir)/be/TEMPLATE
+
+$(srcdir)/be/TEMPLATE/gen_TEMPLATE_machine.c $(srcdir)/be/TEMPLATE/gen_TEMPLATE_machine.h: \
+ be/TEMPLATE/TEMPLATE_spec.pl be/scripts/generate_machine.pl
+ $(PERL) $(srcdir)/be/scripts/generate_machine.pl $(srcdir)/be/TEMPLATE/TEMPLATE_spec.pl $(srcdir)/be/TEMPLATE
+
+$(srcdir)/be/TEMPLATE/gen_TEMPLATE_regalloc_if.c $(srcdir)/be/TEMPLATE/gen_TEMPLATE_regalloc_if.h: \
+ be/TEMPLATE/TEMPLATE_spec.pl be/scripts/generate_machine.pl
+ $(PERL) $(srcdir)/be/scripts/generate_regalloc_if.pl $(srcdir)/be/TEMPLATE/TEMPLATE_spec.pl $(srcdir)/be/TEMPLATE