dwarf: initial support for callframe and params
authorMatthias Braun <matthias.braun@kit.edu>
Wed, 25 Apr 2012 21:01:59 +0000 (23:01 +0200)
committerMatthias Braun <matthias.braun@kit.edu>
Wed, 25 Apr 2012 23:23:53 +0000 (01:23 +0200)
commitcc9d3be2116747d0d9d1445d3116c69ce041ae57
treedffbc2f3b9707115859c2586b0ab9e9b5c54b522
parent5f6c325fb0ecef208f510046e0ade03a645b3540
dwarf: initial support for callframe and params

- We now always output dwarf3 so we can use DW_OP_call_frame_cfa and avoid
  construction location lists, but just reuse the callframe info lists.
- Backends have to emit debug info as callframe calculation changes:
  The ia32 backend has a preliminary implementation which assumes esp
  offset of frame_type_size at the beginning of a block (currently
  always true), the no-omit-fp mode assumes ebp relative addressing
  (which is correct except for the prolog/epilogue insns)
13 files changed:
ir/be/TEMPLATE/TEMPLATE_emitter.c
ir/be/amd64/amd64_emitter.c
ir/be/arm/arm_emitter.c
ir/be/arm/arm_transform.c
ir/be/beabi.c
ir/be/bedwarf.c
ir/be/bedwarf.h
ir/be/bedwarf_t.h
ir/be/begnuas.c
ir/be/begnuas.h
ir/be/beirg.h
ir/be/ia32/ia32_emitter.c
ir/be/sparc/sparc_emitter.c