X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2FMakefile.am;h=788992ee4d15671617e399481f580b4fff583c54;hb=11d99dd205c877b0a72a8ed5d3cb601b4ec6615f;hp=86df8858a1f4c663f5bde8573d1c512396d049a2;hpb=1a49aa9c5ebc8186d5e2c0889f87534320daae73;p=libfirm diff --git a/ir/Makefile.am b/ir/Makefile.am index 86df8858a..788992ee4 100644 --- a/ir/Makefile.am +++ b/ir/Makefile.am @@ -22,6 +22,7 @@ INCLUDES += \ -I$(top_srcdir)/ir/tr \ -I$(top_srcdir)/ir/tv +libfirm_la_LDFLAGS = -no-undefined libfirm_la_SOURCES = \ adt/array.c \ adt/bipartite.c \ @@ -55,8 +56,8 @@ libfirm_la_SOURCES = \ ana/ircfscc.c \ ana/irconsconfirm.c \ ana/irdom.c \ - ana/irextbb2.c \ ana/irextbb.c \ + ana/irextbb2.c \ ana/irlivechk.c \ ana/irloop.c \ ana/irmemory.c \ @@ -68,20 +69,18 @@ libfirm_la_SOURCES = \ ana/rta.c \ ana/structure.c \ ana/trouts.c \ - arch/archop.c \ be/beabi.c \ be/bearch.c \ be/beblocksched.c \ be/bechordal.c \ be/bechordal_draw.c \ be/bechordal_main.c \ + be/becopyheur.c \ be/becopyheur2.c \ - be/becopyheur3.c \ be/becopyheur4.c \ - be/becopyheur.c \ + be/becopyilp.c \ be/becopyilp1.c \ be/becopyilp2.c \ - be/becopyilp.c \ be/becopyopt.c \ be/becopystat.c \ be/bedbgout.c \ @@ -95,23 +94,22 @@ libfirm_la_SOURCES = \ 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 \ @@ -120,18 +118,15 @@ libfirm_la_SOURCES = \ be/beschedrss.c \ be/beschedtrace.c \ be/beschedtrivial.c \ + be/bespill.c \ + be/bespillbelady.c \ be/bespillbelady2.c \ be/bespillbelady3.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 \ @@ -143,13 +138,10 @@ libfirm_la_SOURCES = \ 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 \ @@ -166,9 +158,10 @@ libfirm_la_SOURCES = \ ir/irgmod.c \ ir/irgopt.c \ ir/irgraph.c \ - ir/irgwalk_blk.c \ ir/irgwalk.c \ + ir/irgwalk_blk.c \ ir/irhooks.c \ + ir/irio.c \ ir/irlinkednodemap.c \ ir/irlinkednodeset.c \ ir/irmode.c \ @@ -177,6 +170,7 @@ libfirm_la_SOURCES = \ ir/irnodeset.c \ ir/irop.c \ ir/iropt.c \ + ir/irpass.c \ ir/irphase.c \ ir/irprintf.c \ ir/irprofile.c \ @@ -198,27 +192,29 @@ libfirm_la_SOURCES = \ lower/lower_hl.c \ lower/lower_intrinsics.c \ lower/lower_mode_b.c \ - net/firmnet.c \ + lower/lower_mux.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/convopt.c \ opt/critical_edges.c \ - opt/data_flow_scalar_replace.c \ opt/escape_ana.c \ opt/funccall.c \ opt/gvn_pre.c \ opt/ifconv.c \ opt/ircgopt.c \ + opt/jumpthreading.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 \ @@ -234,172 +230,185 @@ libfirm_la_SOURCES = \ stat/pattern.c \ stat/pattern_dmp.c \ stat/stat_dmp.c \ - stat/statev.c \ + stat/stat_liveness.c \ stat/stat_timing.c \ + stat/statev.c \ tr/entity.c \ tr/tpop.c \ tr/tr_inheritance.c \ tr/trvrfy.c \ tr/type.c \ tr/type_finalization.c \ - tr/typegmod.c \ tr/type_identify.c \ + tr/typegmod.c \ tr/typewalk.c \ tv/fltcalc.c \ tv/strcalc.c \ tv/tv.c EXTRA_DIST = \ - ana/irdom_t.h \ + adt/array_t.h \ + adt/bitfiddle.h \ + adt/bitset.h \ + adt/bitset_ia32.h \ + adt/bitset_std.h \ + adt/compiler.h \ ana/dfs_t.h \ ana/irbackedge_t.h \ - ana/irloop_t.h \ + ana/irdom_t.h \ ana/irextbb_t.h \ - be/belive_t.h \ - be/beifg_impl.h \ - be/bepeephole.h \ - be/bessaconstr.h \ - be/beifg_t.h \ + ana/irloop_t.h \ + ana/irmemory_t.h \ + be/be_dbgout.h \ + be/be_dbgout_t.h \ + be/be_t.h \ + be/beabi.h \ + be/beabi_t.h \ + be/bearch.h \ + be/bearch_t.h \ be/beblocksched.h \ - be/bessadestrsimple.h \ + be/bechordal.h \ + be/bechordal_draw.h \ + be/bechordal_t.h \ be/becopyilp_t.h \ - be/beverify.h \ - be/bemachine.h \ - be/beemitter.h \ - be/begnuas.h \ + be/becopyopt.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/beabi.h \ + be/becopystat.h \ + be/bedomfront.h \ + be/beemitter.h \ be/beflags.h \ - be/bechordal_t.h \ + be/begnuas.h \ be/beifg.h \ - be/bespillslots.h \ - be/besched_t.h \ - be/beschedmris.h \ - be/besched.h \ - be/beloopana.h \ + be/beifg_impl.h \ + be/beifg_t.h \ be/beilpsched.h \ - be/becopyopt.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/beinfo.h \ + be/beinsn_t.h \ + be/beintlive_t.h \ + be/beirg.h \ be/beirg_t.h \ be/beirgmod.h \ - be/beinsn_t.h \ - be/betranshlp.h \ + be/belistsched.h \ be/belive.h \ - be/beutil.h \ - be/bestatevent.h \ - be/bespill.h \ - be/be_dbgout.h \ + be/belive_t.h \ + be/beloopana.h \ be/belower.h \ - be/bedomfront.h \ - be/beintlive_t.h \ - be/becopystat.h \ - be/benode_t.h \ + be/bemachine.h \ + be/bemodule.h \ be/bemodule_t.h \ - be/bechordal.h \ - be/bearch.h \ + be/benode_t.h \ + be/bepeephole.h \ + be/bepressurestat.h \ + be/bera.h \ + be/besched.h \ + be/besched_t.h \ + be/beschedmris.h \ be/beschedrss.h \ - be/beirg.h \ - be/be_dbgout_t.h \ + be/bespill.h \ + be/bespillslots.h \ + be/bespillutil.h \ + be/bessaconstr.h \ + be/bessadestr.h \ + be/bestat.h \ + be/bestate.h \ + be/bestatevent.h \ + be/betranshlp.h \ + be/beuses.h \ + be/beutil.h \ + be/beverify.h \ + be/scripts/generate_emitter.pl \ + be/scripts/generate_emitter_new.pl \ + be/scripts/generate_machine.pl \ + be/scripts/generate_new_opcodes.pl \ + be/scripts/generate_regalloc_if.pl \ + common/debug.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/irnodeset.h \ - ir/irop_t.h \ - ir/irmode_t.h \ - ir/irvrfy_t.h \ - ir/iredges_t.h \ - ir/irphase_t.h \ + ir/gen_ir.h \ + ir/gen_ir_cons.c.inl \ + ir/gen_irio_export.inl \ + ir/gen_irio_import.inl \ + ir/gen_irio_lex.inl \ + ir/gen_irnode.c.inl \ + ir/gen_irnode.h \ + ir/gen_irop.c.inl \ + ir/instrument.h \ + ir/irargs_t.h \ + ir/irbitset.h \ ir/ircons_t.h \ - ir/irdump_t.h \ ir/irdump_grgen.h \ - ir/irprog_t.h \ - ir/irprofile.h \ + ir/irdump_t.h \ + ir/iredges_t.h \ + ir/iredgeset.h \ ir/irflag_t.def \ - ir/irtypes.h \ + ir/irflag_t.h \ + ir/irgraph_t.h \ + ir/irlinkednodemap.h \ + ir/irlinkednodeset.h \ + ir/irmode_t.h \ ir/irnode_t.h \ - ir/irargs_t.h \ ir/irnodemap.h \ - ir/irgraph_t.h \ + ir/irnodeset.h \ + ir/irop_t.h \ ir/iropt_t.h \ - ir/irprintf_t.h \ - ir/irbitset.h \ - ir/irflag_t.h \ - ir/irphases_t.h \ + ir/irphase_t.h \ ir/irphaselist.h \ - ir/iredgeset.h \ - ir/instrument.h \ - ir/irlinkednodemap.h \ - ir/irlinkednodeset.h \ + ir/irphases_t.h \ + ir/irprintf_t.h \ + ir/irprofile.h \ + ir/irprog_t.h \ + ir/irtypes.h \ + ir/irvrfy_t.h \ ir/valueset.h \ - libcore/lc_common_t.h \ + libcore/do_bisonflex.sh \ libcore/lc_appendable.h \ + libcore/lc_common_t.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_opts_enum.h \ + libcore/lc_opts_t.h \ + libcore/lc_parser_t.h \ libcore/lc_printf.h \ - net/firmnet.h \ - net/firmnet_t.h \ - opt/scalar_replace.h \ + libcore/lc_printf_arg_types.def \ + opt/funccall_t.h \ opt/opt_confirms.h \ + opt/opt_inline_t.h \ opt/opt_polymorphy.h \ - opt/tropt.h \ opt/reassoc_t.h \ - opt/opt_inline_t.h \ - opt/funccall_t.h \ - stat/statev.h \ - stat/stat_dmp.h \ + opt/scalar_replace.h \ + opt/tropt.h \ + stat/counter.h \ + stat/dags.h \ stat/firmstat_t.h \ - stat/pattern_dmp.h \ stat/pattern.h \ - stat/dags.h \ - stat/counter.h \ + stat/pattern_dmp.h \ + stat/stat_dmp.h \ stat/stat_timing.h \ + stat/statev.h \ tr/entity_t.h \ - tr/type_t.h \ tr/tpop_t.h \ - tv/strcalc.h \ - tv/tv_t.h \ + tr/type_t.h \ tv/fltcalc.h \ - 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 + tv/strcalc.h \ + tv/tv_t.h +EXTRA_DIST += \ + libcore/do_bisonflex.sh \ + libcore/lc_config_lexer.l \ + libcore/lc_config_parser.y # ia32 backend ia32_sources = \ be/ia32/bearch_ia32.c \ - be/ia32/ia32_architecture.c \ be/ia32/ia32_address_mode.c \ + be/ia32/ia32_architecture.c \ + be/ia32/ia32_common_transform.c \ be/ia32/ia32_emitter.c \ be/ia32/ia32_finish.c \ be/ia32/ia32_fpu.c \ @@ -416,20 +425,19 @@ ia32_built_sources = \ be/ia32/gen_ia32_emitter.h \ be/ia32/gen_ia32_machine.c \ be/ia32/gen_ia32_machine.h \ - be/ia32/gen_ia32_regalloc_if.c \ - be/ia32/gen_ia32_regalloc_if.h \ be/ia32/gen_ia32_new_nodes.c.inl \ - be/ia32/gen_ia32_new_nodes.h + be/ia32/gen_ia32_new_nodes.h \ + be/ia32/gen_ia32_regalloc_if.c \ + be/ia32/gen_ia32_regalloc_if.h MAINTAINERCLEANFILES = $(ia32_built_sources) BUILT_SOURCES = $(ia32_built_sources) libfirm_la_SOURCES += $(ia32_sources) $(ia32_built_sources) EXTRA_DIST += \ - be/ia32/ia32_spec.pl \ - be/ia32/ia32_simd_spec.pl \ be/ia32/bearch_ia32_t.h \ - be/ia32/ia32_architecture.h \ be/ia32/ia32_address_mode.h \ + be/ia32/ia32_architecture.h \ + be/ia32/ia32_common_transform.h \ be/ia32/ia32_dbg_stat.h \ be/ia32/ia32_emitter.h \ be/ia32/ia32_finish.h \ @@ -438,6 +446,8 @@ EXTRA_DIST += \ be/ia32/ia32_new_nodes.h \ be/ia32/ia32_nodes_attr.h \ be/ia32/ia32_optimize.h \ + be/ia32/ia32_simd_spec.pl \ + be/ia32/ia32_spec.pl \ be/ia32/ia32_transform.h \ be/ia32/ia32_util.h \ be/ia32/ia32_x87.h @@ -461,33 +471,33 @@ $(srcdir)/be/ia32/gen_ia32_regalloc_if.c $(srcdir)/be/ia32/gen_ia32_regalloc_if. # arm backend arm_sources = \ - be/arm/bearch_arm.c \ be/arm/arm_emitter.c \ be/arm/arm_map_regs.c \ be/arm/arm_new_nodes.c \ be/arm/arm_optimize.c \ - be/arm/arm_transform.c + be/arm/arm_transform.c \ + be/arm/bearch_arm.c arm_built_sources = \ be/arm/gen_arm_emitter.c \ be/arm/gen_arm_emitter.h \ be/arm/gen_arm_machine.c \ be/arm/gen_arm_machine.h \ - be/arm/gen_arm_regalloc_if.c \ - be/arm/gen_arm_regalloc_if.h \ be/arm/gen_arm_new_nodes.c.inl \ - be/arm/gen_arm_new_nodes.h + be/arm/gen_arm_new_nodes.h \ + be/arm/gen_arm_regalloc_if.c \ + be/arm/gen_arm_regalloc_if.h MAINTAINERCLEANFILES += $(arm_built_sources) BUILT_SOURCES += $(arm_built_sources) libfirm_la_SOURCES += $(arm_sources) $(arm_built_sources) EXTRA_DIST += \ - be/arm/arm_spec.pl \ be/arm/arm_emitter.h \ be/arm/arm_map_regs.h \ be/arm/arm_new_nodes.h \ be/arm/arm_nodes_attr.h \ be/arm/arm_optimize.h \ + be/arm/arm_spec.pl \ be/arm/arm_transform.h \ be/arm/bearch_arm.h \ be/arm/bearch_arm_t.h @@ -522,16 +532,15 @@ mips_built_sources = \ be/mips/gen_mips_emitter.h \ be/mips/gen_mips_machine.c \ be/mips/gen_mips_machine.h \ - be/mips/gen_mips_regalloc_if.c \ - be/mips/gen_mips_regalloc_if.h \ be/mips/gen_mips_new_nodes.c.inl \ - be/mips/gen_mips_new_nodes.h + be/mips/gen_mips_new_nodes.h \ + be/mips/gen_mips_regalloc_if.c \ + be/mips/gen_mips_regalloc_if.h MAINTAINERCLEANFILES += $(mips_built_sources) BUILT_SOURCES += $(mips_built_sources) libfirm_la_SOURCES += $(mips_sources) $(mips_built_sources) EXTRA_DIST += \ - be/mips/mips_spec.pl \ be/mips/bearch_mips.h \ be/mips/bearch_mips_t.h \ be/mips/mips_emitter.h \ @@ -539,6 +548,7 @@ EXTRA_DIST += \ be/mips/mips_new_nodes.h \ be/mips/mips_nodes_attr.h \ be/mips/mips_scheduler.h \ + be/mips/mips_spec.pl \ be/mips/mips_transform.h \ be/mips/mips_util.h @@ -572,24 +582,24 @@ ppc32_built_sources = \ be/ppc32/gen_ppc32_emitter.h \ be/ppc32/gen_ppc32_machine.c \ be/ppc32/gen_ppc32_machine.h \ - be/ppc32/gen_ppc32_regalloc_if.c \ - be/ppc32/gen_ppc32_regalloc_if.h \ be/ppc32/gen_ppc32_new_nodes.c.inl \ - be/ppc32/gen_ppc32_new_nodes.h + be/ppc32/gen_ppc32_new_nodes.h \ + be/ppc32/gen_ppc32_regalloc_if.c \ + be/ppc32/gen_ppc32_regalloc_if.h MAINTAINERCLEANFILES += $(ppc32_built_sources) BUILT_SOURCES += $(ppc32_built_sources) libfirm_la_SOURCES += $(ppc32_sources) $(ppc32_built_sources) EXTRA_DIST += \ - be/ppc32/ppc32_spec.pl \ be/ppc32/bearch_ppc32.h \ be/ppc32/bearch_ppc32_t.h \ be/ppc32/ppc32_emitter.h \ be/ppc32/ppc32_map_regs.h \ be/ppc32/ppc32_new_nodes.h \ be/ppc32/ppc32_nodes_attr.h \ - be/ppc32/ppc32_transform_conv.h \ - be/ppc32/ppc32_transform.h + be/ppc32/ppc32_spec.pl \ + be/ppc32/ppc32_transform.h \ + be/ppc32/ppc32_transform_conv.h $(srcdir)/be/ppc32/gen_ppc32_new_nodes.c.inl $(srcdir)/be/ppc32/gen_ppc32_new_nodes.h: \ be/ppc32/ppc32_spec.pl be/scripts/generate_new_opcodes.pl @@ -606,3 +616,50 @@ $(srcdir)/be/ppc32/gen_ppc32_machine.c $(srcdir)/be/ppc32/gen_ppc32_machine.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/TEMPLATE_emitter.c \ + be/TEMPLATE/TEMPLATE_map_regs.c \ + be/TEMPLATE/TEMPLATE_new_nodes.c \ + be/TEMPLATE/TEMPLATE_transform.c + be/TEMPLATE/bearch_TEMPLATE.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_new_nodes.c.inl \ + be/TEMPLATE/gen_TEMPLATE_new_nodes.h \ + be/TEMPLATE/gen_TEMPLATE_regalloc_if.c \ + be/TEMPLATE/gen_TEMPLATE_regalloc_if.h +MAINTAINERCLEANFILES += $(TEMPLATE_built_sources) +BUILT_SOURCES += $(TEMPLATE_built_sources) +libfirm_la_SOURCES += $(TEMPLATE_sources) $(TEMPLATE_built_sources) + +EXTRA_DIST += \ + 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_spec.pl \ + be/TEMPLATE/TEMPLATE_transform.h \ + be/TEMPLATE/bearch_TEMPLATE.h \ + be/TEMPLATE/bearch_TEMPLATE_t.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