The big committ:
authorMatthias Braun <matze@braunis.de>
Mon, 19 Mar 2007 17:05:21 +0000 (17:05 +0000)
committerMatthias Braun <matze@braunis.de>
Mon, 19 Mar 2007 17:05:21 +0000 (17:05 +0000)
commit8535fe8732b0acf822be252812a7158ce5b8134a
tree7c90501572493f3bbcf2fd56183a135c5a99e5b2
parentded8c3995ddca132ef312a6fdeeba7eae2e42c43
The big committ:
- Replace limit callback in register requirements with a simple bitset
- Fix backends, generators and the rest of the code for the change register
  requirements structure
- Eliminated the custom register_requirement structures in the backend, they
  are pointless now, use the normal arch_register_req_t
- Fix TEMPLATE backend
- Extract emitter framework from ia32 and provide generic header/code for it
- Port TEMPLATE backend to new emitter
- Extract gas specific emit stuff (declarations, sections) from ia32 backend
  and provide it as generic header/code. Make TEMPLATE backend use that
- Remove several FIRM_DBG_REGISTERs from functions which are called very often.
  Before we had millions of string hashtable lookups because of that. The
  prefered way is to have 1 static debug module per file and initialize it in
  the module constructor. No passing around in environment structs and in no
  case should you dynamically register it in single functions.
77 files changed:
ir/be/TEMPLATE/TEMPLATE_emitter.c
ir/be/TEMPLATE/TEMPLATE_emitter.h
ir/be/TEMPLATE/TEMPLATE_gen_decls.c [deleted file]
ir/be/TEMPLATE/TEMPLATE_gen_decls.h [deleted file]
ir/be/TEMPLATE/TEMPLATE_new_nodes.c
ir/be/TEMPLATE/TEMPLATE_new_nodes.h
ir/be/TEMPLATE/TEMPLATE_nodes_attr.h
ir/be/TEMPLATE/TEMPLATE_spec.pl
ir/be/TEMPLATE/TEMPLATE_transform.c
ir/be/TEMPLATE/bearch_TEMPLATE.c
ir/be/TEMPLATE/bearch_TEMPLATE_t.h
ir/be/arm/arm_emitter.c
ir/be/arm/arm_new_nodes.c
ir/be/arm/arm_new_nodes.h
ir/be/arm/arm_nodes_attr.h
ir/be/arm/bearch_arm.c
ir/be/be_t.h
ir/be/beabi.c
ir/be/bearch.c
ir/be/bearch.h
ir/be/beblocksched.c
ir/be/bechordal.c
ir/be/becopyheur.c
ir/be/becopyheur2.c
ir/be/becopyheur3.c
ir/be/becopyilp.c
ir/be/becopyilp2.c
ir/be/becopyopt.c
ir/be/becopyopt_t.h
ir/be/beemitter.c [new file with mode: 0644]
ir/be/beemitter.h [new file with mode: 0644]
ir/be/begnuas.c [new file with mode: 0644]
ir/be/begnuas.h [new file with mode: 0644]
ir/be/beilpsched.c
ir/be/beinsn.c
ir/be/beinsn_t.h
ir/be/beirgmod.c
ir/be/belistsched.c
ir/be/belive.c
ir/be/belive_t.h
ir/be/beloopana.c
ir/be/belower.c
ir/be/bemodule.c
ir/be/benode.c
ir/be/beraextern.c
ir/be/bespillbelady.c
ir/be/bespillmorgan.c
ir/be/bespillremat.c
ir/be/bespillslots.c
ir/be/bestabs.c
ir/be/beuses.c
ir/be/ia32/bearch_ia32.c
ir/be/ia32/bearch_ia32_t.h
ir/be/ia32/ia32_emitter.c
ir/be/ia32/ia32_emitter.h
ir/be/ia32/ia32_finish.c
ir/be/ia32/ia32_gen_decls.c [deleted file]
ir/be/ia32/ia32_gen_decls.h [deleted file]
ir/be/ia32/ia32_new_nodes.c
ir/be/ia32/ia32_new_nodes.h
ir/be/ia32/ia32_nodes_attr.h
ir/be/ia32/ia32_spec.pl
ir/be/mips/bearch_mips.c
ir/be/mips/mips_new_nodes.c
ir/be/mips/mips_new_nodes.h
ir/be/mips/mips_nodes_attr.h
ir/be/mips/mips_spec.pl
ir/be/ppc32/bearch_ppc32.c
ir/be/ppc32/ppc32_new_nodes.c
ir/be/ppc32/ppc32_new_nodes.h
ir/be/ppc32/ppc32_nodes_attr.h
ir/be/ppc32/ppc32_transform.c
ir/be/scripts/generate_emitter.pl
ir/be/scripts/generate_emitter_new.pl
ir/be/scripts/generate_machine.pl
ir/be/scripts/generate_new_opcodes.pl
ir/be/scripts/generate_regalloc_if.pl