summaryrefslogtreecommitdiffhomepage
path: root/ir/be/begnuas.h
Commit message (Collapse)AuthorAge
* be: Factor out code to decide whether a basic block needs a label.Christoph Mallon2018-05-31
| | | | For this a new flag 'arch_irn_flag_fallthrough' is introduced to mark nodes which are capable of falling through to their successor.
* be: Factor out common code to handle switch tables.Christoph Mallon2016-11-28
|
* beemitter: Move helper function to beemithlpMatthias Braun2016-02-08
| | | | | Only keep the basics necessary to emit text lines in beemitter.[ch] and move all the other convenience stuff to beemithlp.[ch].
* be: Remove the unused enum entry 'GAS_SECTION_LAST'.Christoph Mallon2015-09-25
|
* be: Remove the unused declaration 'be_gas_pic'.Christoph Mallon2015-09-25
|
* amd64: Implement switchjmp in PIC, refactoringMatthias Braun2015-09-23
|
* begnuas/i32: properly emit jump tables in PIC modeMatthias Braun2015-09-07
|
* begnuas: Correctly handle initializers with relocations in PICMatthias Braun2015-09-07
| | | | | In PIC code we cannot use ".rodata" for initializers that contain relocations but have to use data.rel.ro(.local)
* begnuas: Remove wrong commentMatthias Braun2015-05-26
|
* Rework setting some OS detailsMatthias Braun2015-05-07
| | | | | | | | | The idea here, is that you do not simply set a target operating system or architecture, but have a setting for all things different between the operating systems. Knowledge about the name and habits of the operating system is left to the frontend. (We may want to provide a small support library in the future to share the triple parsing and OS -> settings code between multiple frontends).
* add support for jcr sectionMatthias Braun2014-03-06
|
* dwarf: fix escaping of special filenamesMatthias Braun2013-05-06
|
* remove license stuff from filesMatthias Braun2012-12-12
| | | | | Just state the copyright and the project the files belong to. You can then find the COPYING file for the whole project.
* begnuas: simplify, add be_gas_emit_string()Matthias Braun2012-11-15
| | | | | simplify it by always using .asciz instead of sometimes .string/.ascii. All new gcc/binutils understand .asciz.
* be: introduce verboseasm flag (enabled by default)Matthias Braun2012-06-06
| | | | | Also factor out code that emits the label and comment at the beginning of a basic block.
* dwarf: initial support for callframe and paramsMatthias Braun2012-04-26
| | | | | | | | | | - 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)
* remove $Id$, it doesn't work with git anywayMatthias Braun2011-11-10
|
* introduce Switch nodeMatthias Braun2011-11-02
| | | | | | | | | This is the new way of handling switch-jumps. The node contains a table which maps (ranges of) input values to proj numbers. Compared to a Cond-node this results in a clean consecutive sequence of Proj numbers (no searching for a free number for the default_pn anymore) and allows factoring multiple cases jumping to the same block in a single Proj (though we still need the optimisation in cfopt for that).
* Initial support for dwarf debug infoMatthias Braun2011-10-27
|
* let backends decide wether to use begnuasMatthias Braun2011-10-27
| | | | | This also means that dependent modules like bedbgout should be initialized by begnuas.
* begnuas: let user specify elf variantsMatthias Braun2011-09-06
|
* unify sparc/ia32 SwitchJmp handlingMatthias Braun2011-06-11
|
* make firm compilable with a c++ compilerMatthias Braun2010-11-04
| | | | [r28127]
* move typedefs from public header to private headerMatthias Braun2010-09-22
| | | | [r28012]
* - added emit_section_sparc to begnuasHannes Rapp2010-04-27
| | | | | | - fixed register spilling & register specs [r27450]
* Output proper local lables (starting with .L/L) for the PIC base, switch ↵Christoph Mallon2010-02-13
| | | | | | tables and stabs text marker, too. [r27152]
* use begnuas to emit block labels so we use the correct private prefix on mac ↵Matthias Braun2010-02-13
| | | | | | and linux [r27149]
* implement several new section types including comdat for ELF, this ↵Matthias Braun2010-02-12
| | | | | | potentially breaks COFF and MACHO (will fix it asap) [r27136]
* allow several odd weak combinationsMatthias Braun2010-02-11
| | | | [r27110]
* backend_marked was a buggy/wrong concept, removed itMatthias Braun2010-02-03
| | | | [r27032]
* Rework linkage types in firm.Matthias Braun2010-02-03
| | | | | | | | | | - Merge stickyness, visibility and variability into ir_linkage - Add proper support for common symbols, weak symbols and C++ COMDAT stuff - Mark OO-features type_visibility, peculiarity and allocation as deprecated OO feature will be separated from firm core into higher levels in the long run - Rework, simplify and fix bugs in begnuas.c [r27030]
* make the character used for specifying elf types configurable in begnuas and ↵Matthias Braun2010-02-01
| | | | | | use generic function prolog in arm backend [r27022]
* .word has different size on different architecutres, use .shortMatthias Braun2009-09-24
| | | | [r26647]
* Rework Block labels: They are entities now so we don't need a special ↵Matthias Braun2009-06-01
| | | | | | symconst type for them [r26080]
* generalize support for segmentsMatthias Braun2008-07-31
| | | | [r20827]
* - unfinished work to support exception label lookupMichael Beck2008-06-12
| | | | [r20072]
* started implementing Mac Style PICMatthias Braun2008-04-03
| | | | [r19102]
* some mach-o related fixesMatthias Braun2008-03-30
| | | | [r18298]
* simplify begnuas.c by not sorting entities into sectionsMatthias Braun2008-03-30
| | | | [r18296]
* - cleanup and rewrite some of the dbgout stuff (no passing around of handles ↵Matthias Braun2008-03-30
| | | | | | | | | | anymore) - port stabs debug output to beemitter - support Mach-O in begnuas - cleanups [r18292]
* update copyright messageMichael Beck2008-01-02
| | | | [r17143]
* added GNU_FLAVOUR_YASM to support the YASM assemblerMichael Beck2008-01-02
| | | | [r17127]
* no environment anymore for emittersMatthias Braun2007-09-26
| | | | [r15927]
* renamed function to be_gas_label_prefix()Michael Beck2007-07-25
| | | | [r15328]
* doxygen comments addedMichael Beck2007-05-05
| | | | [r13644]
* unified mein file commentsChristian Würdig2007-04-30
| | | | | | | | | unified .h #ifndef ... #define ... changed some indenting removed some unused code removed beuses_t.h as unused header [r13559]
* added new licence headerChristian Würdig2007-04-27
| | | | [r13508]
* - Implement all the state switching stuff needed for efficient fpu modeMatthias Braun2007-04-02
| | | | | | | switching in x87 - Only emit externally allocated symbols that are actually used [r12625]
* The big committ:Matthias Braun2007-03-19
- 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.