summaryrefslogtreecommitdiffhomepage
path: root/ir/be/beprefalloc.c
Commit message (Collapse)AuthorAge
* beprefalloc: Add and use the variant use_reg_idx() of use_reg().Christoph Mallon2018-03-03
|
* be: Remove the redundant parameter 'mode' from be_new_Phi().Christoph Mallon2018-02-26
| | | | Just like be_new_Phi0() get the mode from the parameter 'req'.
* 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
|
* Rename pdeq_new.h => pdeq.hMatthias Braun2016-06-27
|
* Use pdeq_new instead of pdeqMatthias Braun2016-06-27
|
* Fix indentationSebastian Buchwald2016-05-12
|
* be: Clean up 'be_new_Perm()'.Christoph Mallon2016-03-21
|
* be: Factorise code to create a register requirement.Christoph Mallon2016-03-21
|
* be: Remove flag 'aligned' from register requirements.Christoph Mallon2016-03-21
| | | | | It is the default for width != 1 now. Work on this never was finished, so it probably does not work anyway.
* 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.
* Remove outdated comment.Manuel Mohr2016-01-15
| | | | | Size of last_uses has been increased and code is clear without the comment anyway.
* Fix typos: datastructure -> data structure.Sebastian Buchwald2015-12-21
|
* be: Add and use be_new_Proj().Christoph Mallon2015-07-28
| | | | | It is like new_r_Proj(), but the mode is determined automatically from the out requirement of the predecessor. This probably resolves some mode mismatches in untested code paths -- AMD64 backend and SPARC hard float, I'm looking at you!
* Remove unnecessary #include "debug.h".Christoph Mallon2015-07-19
|
* be: Add and use macros to iterate only/all nodes except Phis in the schedule.Christoph Mallon2015-07-07
|
* bearch: Use bool:1 instead of a bitset for remainin reg_req typesMatthias Braun2015-07-01
|
* bearch: rework should_be_same constraintMatthias Braun2015-07-01
| | | | | | - Rename other_same field to should_be_same. - Remove arch_register_req_type_other_same, it's enough to see if the should_be_same field is not zero.
* remove arch_register_req_type_limited, look whether the limited pointer is ↵Matthias Braun2015-06-19
| | | | != NULL instead
* remove arch_register_type_t in favor of a simple bitfieldMatthias Braun2015-06-19
|
* get rid of arch_register_flags_t enum in favor of a simple bitfieldMatthias Braun2015-06-19
|
* move perform_memory_operand callbcack from arch_irn_ops to regalloc_ifMatthias Braun2015-06-19
|
* break arch_isa_if_t furhter apart by moving spilling related callbacks into ↵Matthias Braun2015-06-19
| | | | an own struct
* Properly reserve and free link resource.Sebastian Buchwald2015-06-02
|
* lpp: Remove support for using remote solvers.Matthias Braun2015-05-28
| | | | | This has not been used for years and the code is often causing compile problems on systems with bad posix implementations like windows.
* beprefalloc: fix problems with the now enable localoptsMatthias Braun2015-05-24
|
* be: Move spillprepare steps to the register allocatorsMatthias Braun2015-05-24
|
* be: Move the info about the register classes and registers struct the ↵Christoph Mallon2015-01-18
| | | | arch_env_t into struct arch_isa_if_t.
* be: abort after a verifier has failedMatthias Braun2014-12-30
|
* ir: Use ARRAY_SIZE() instead of magic numbers.Christoph Mallon2014-12-28
|
* debug: Clean up panic messages.Christoph Mallon2014-11-13
| | | | | | * No \n at end; panic() adds one * No punctuation mark at end * Lowercase first letter
* be: Remove the thin wrapper macro arch_register_class_n_regs().Christoph Mallon2014-11-13
|
* be: Remove the thin wrapper macro arch_register_class_flags().Christoph Mallon2014-11-13
|
* be: Remove duplicate implementation of be_dump().Christoph Mallon2014-11-11
|
* util: Add an use MEMCPY().Christoph Mallon2014-10-27
|
* be: remove beabiMatthias Braun2014-10-02
|
* rmeove pointless be_clear_links() functionMatthias Braun2014-08-21
|
* merge belive_t.h and belive.hMatthias Braun2014-08-21
|
* be: change pre spill prepare phase to work on all register classes at onceMatthias Braun2014-07-07
| | | | | | | | - Only iterating over the graph once should be slightly faster - We don't need to insert the middle of register allocation logic but can perform it once before. - We can gather statistics on the prepared graph before spilling/regalloc has happened.
* be: delay stack pointer SSA reconstruction until shortly before emitMatthias Braun2014-05-30
|
* rename error.h to panic.hMatthias Braun2014-05-28
|
* fix a bunch of memory leaks reported by coverityMatthias Braun2014-04-25
|
* all: Add and use QSORT() and QSORT_ARR().Christoph Mallon2014-04-10
|
* Add and use foreach_irn_pred{,_r}().Christoph Mallon2014-02-17
|
* be: rename arch_irn_flags_XXX to arch_irn_flag_XXXMatthias Braun2013-08-08
| | | | | As they were just a single flag the name should reflect that. I did not change arch_irn_flags_none, as that is not about a single flag.
* be: simplify verify codeMatthias Braun2013-06-11
|
* do not include config.h anymoreMatthias Braun2013-05-04
| | | | | | It has been empty for nearly all systems. People who used to put stuff in config.h can still create a config.h on their own and inject -include (gcc) or /FI (msvc) into their CPPFLAGS.
* Fixed warnings in optimize build.Sebastian Buchwald2013-03-11
|
* remove xfree(), bitset_free() and use free() insteadMatthias Braun2013-01-29
|
* cleanup: Remove unnecessary #include.Christoph Mallon2012-12-21
|