summaryrefslogtreecommitdiffhomepage
path: root/ir/be/begnuas.c
Commit message (Collapse)AuthorAge
* be: A block needs no label, if it is only reachable by fallthrough from a ↵Christoph Mallon2019-03-31
| | | | regular X Proj.
* 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.
* Add OpenBSD support.Brian Callahan2018-05-18
|
* Unify indentation of function parametersSebastian Buchwald2017-03-31
|
* Rework target initialization and queryMatthias Braun2017-02-20
| | | | | | | | | | | | | | | | | | | | | | | | | | - Moves machine triple handling code form cparser into libfirm - Create new APIs to set the target and query information about it - Move backend_params into the new target API - Backends initialize ir_target instead of backend_params now - Add new API to get information about the target platform: - Mangle a name for the target platform (and remove compilerlib mangling callback) - Can query size and alignment of basic C types for the platform - Move some constant target information into arch_isa_if_t (we move it to target_info_t later when we realize it needs to be dynamic) - Redo backend initialization. Examples: Simple case: Initialize for host: ir_init(); Complex case: cross-compile to sparc with PIC enabled: ir_init_library(); ir_target_set("sparc-leon-linux-gnu"); ir_target_option("pic"); ir_target_init();
* Reorganize include directivesMatthias Braun2017-02-17
|
* be: Factor out common code to handle switch tables.Christoph Mallon2016-11-28
|
* be: Handle checking for a block label centrally in be_gas_begin_block().Christoph Mallon2016-09-30
| | | | | This ensures that blocks with a label get their label printed. In particular this fixes computed goto on arm.
* be: Add and use 'be_mode_needs_gp_reg()'.Christoph Mallon2016-09-18
|
* Remove 'tf_variable_size'.Christoph Mallon2016-06-27
| | | | Just check that the size of the array is 0 instead.
* Fix indentationSebastian Buchwald2016-05-12
|
* begnuas: Small cleanup.Christoph Mallon2016-04-30
|
* Enforce IR_LINKAGE_NO_CODEGEN for initializers too.Andreas Seltenreich2016-02-15
|
* cleanup: Query value only when it is needed.Christoph Mallon2016-02-15
|
* entity: Rename kind to firm_tag and entity_kind to kindMatthias Braun2016-02-14
|
* Rename get_type_{size|alignment}_bytes() to get_type{size|alignment}()Matthias Braun2016-02-14
|
* Rename is_po2() to is_po2_or_zero()Matthias Braun2016-02-13
| | | | | The function also returns true for zero even though that is not a power of two.
* 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].
* Revert "refactor: lazy get_type_size_bytes call"Andreas Zwinkau2016-01-14
| | | | This reverts commit ccc99db0dcaafcd4bf32f378bfe555a6d9a7cdd0.
* refactor: lazy get_type_size_bytes callAndreas Zwinkau2016-01-14
|
* be: Make ia32 PIC styles a general be option.Matthias Braun2016-01-10
|
* macho: comdat functions have to be marked .weak_definitionMatthias Braun2015-10-19
|
* begnuas: It is not allowed to ask an alias entity for an initializerMatthias Braun2015-10-06
|
* begnuas: Reorganize, use .zerofill for mach-o zero initialized variablesMatthias Braun2015-10-06
|
* Introduce IR_LINKAGE_NO_IDENTITYMatthias Braun2015-10-06
| | | | | | | This flag can be set on entities where the actual address isn't known/compared against other address. This also fixes a bug where we used the mach-o csrings section for global char arrays which need distinct addresses.
* begnuas: switch section first before emitting entity visibilityMatthias Braun2015-10-06
| | | | It doesn't matter for correctness but looks nicer.
* Introduce ir_visibility_external_protectedMatthias Braun2015-10-05
|
* cleanup: Remove stray '\'.Christoph Mallon2015-10-02
|
* amd64: Implement switchjmp in PIC, refactoringMatthias Braun2015-09-23
|
* Always include irnode_t.h from inside libfirm (or firm_types.h)Matthias Braun2015-09-10
|
* Move ir_node struct from irtypes.h to irnode_t.h, remove irtypes.h, cleanupMatthias Braun2015-09-10
|
* fix typoMatthias Braun2015-09-07
|
* begnuas: Fix initializers of entities with vararg type getting omittedMatthias Braun2015-09-07
| | | | | | Also do some cleanups like using unsigned long instead of size_t for the size (we are not talking about objects in the compiler so size_t is not apropriate).
* begnuas: rename entity_is_null -> entity_is_zero_initializedMatthias Braun2015-09-07
|
* begnuas: Some cleanup in elf_sectioninfo handingMatthias Braun2015-09-07
| | | | Thanks to Christoph for the code review.
* 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: must emit at least 1 byte initializer on machoMatthias Braun2015-09-07
|
* begnuas: rework macho section emitterMatthias Braun2015-09-07
|
* begnuas: merge elf+sparc section namesMatthias Braun2015-09-07
|
* begnuas: use designated initializers for section namesMatthias Braun2015-09-07
|
* begnuas: iro_Id cannot happen get_initializer_const_value skips thoseMatthias Braun2015-09-07
|
* bedwarf: rename method->functionMatthias Braun2015-09-05
|
* Remove got_entry entity typeMatthias Braun2015-07-20
| | | | | This is not really a new entity type but merely a relocation type. Handle it with a x86_immediate_kind.
* Introduce external_private visibilityMatthias Braun2015-05-26
|
* begnuas: Refactor the way common globals are emitted to share some more codeMatthias Braun2015-05-26
|
* begnuas: OS X has .weak_definition and .weak_referenceMatthias Braun2015-05-26
|
* begnuas: Introduce emit_symbol_directiveMatthias Braun2015-05-26
|
* begnuas: Replace be_gas_decl_env_t by its only member.Christoph Mallon2015-05-11
|
* begnuas: Remove the unused parameter 'env' from emit_init_expression() and ↵Christoph Mallon2015-05-11
| | | | | | its callers. It is only passed around recursively.