libfirm
15 years agoIt's also necessary to add one rule.
Sebastian Buchwald [Thu, 16 Oct 2008 09:07:59 +0000 (09:07 +0000)]
It's also necessary to add one rule.

[r22941]

15 years agoYOU MAKE BUNNY CRY (and rebuild the libedgfe!)
Moritz Kroll [Thu, 16 Oct 2008 07:58:24 +0000 (07:58 +0000)]
YOU MAKE BUNNY CRY (and rebuild the libedgfe!)

[r22939]

15 years agoadd missing inlucde
Moritz Kroll [Thu, 16 Oct 2008 07:48:44 +0000 (07:48 +0000)]
add missing inlucde

[r22938]

15 years agoadd some asserts/switch to panics
Moritz Kroll [Thu, 16 Oct 2008 07:47:00 +0000 (07:47 +0000)]
add some asserts/switch to panics

[r22937]

15 years agoRemove unused attribute const arch_env_t* arch_env from struct TEMPLATE_code_gen_t...
Christoph Mallon [Thu, 16 Oct 2008 06:55:19 +0000 (06:55 +0000)]
Remove unused attribute const arch_env_t* arch_env from struct TEMPLATE_code_gen_t (no actual backend has it either).

[r22935]

15 years agoRemove unnecessary global variable.
Christoph Mallon [Thu, 16 Oct 2008 06:44:42 +0000 (06:44 +0000)]
Remove unnecessary global variable.

[r22934]

15 years agoRemove the unused before_sched callback.
Christoph Mallon [Wed, 15 Oct 2008 21:39:29 +0000 (21:39 +0000)]
Remove the unused before_sched callback.

[r22932]

15 years agoFollow-up to r22928: Remove arch_register_class_put().
Christoph Mallon [Wed, 15 Oct 2008 21:37:11 +0000 (21:37 +0000)]
Follow-up to r22928: Remove arch_register_class_put().

[r22931]

15 years agoRemove dumping the -am graph. It is exactly the same as the -opt graph.
Christoph Mallon [Wed, 15 Oct 2008 21:29:45 +0000 (21:29 +0000)]
Remove dumping the -am graph.  It is exactly the same as the -opt graph.

[r22930]

15 years agoAdded documentation: we can construct a PBQP instance which can not be solved heurist...
Sebastian Buchwald [Wed, 15 Oct 2008 19:42:16 +0000 (19:42 +0000)]
Added documentation: we can construct a PBQP instance which can not be solved heuristically if we removed some address mode patterns from our pattern set.

[r22929]

15 years agoRemove arch_get_allocatable_regs().
Christoph Mallon [Wed, 15 Oct 2008 19:33:07 +0000 (19:33 +0000)]
Remove arch_get_allocatable_regs().

[r22928]

15 years agoSimplify test case.
Sebastian Buchwald [Wed, 15 Oct 2008 19:11:56 +0000 (19:11 +0000)]
Simplify test case.

[r22927]

15 years ago- move the helper irms_is_ to an extra enum to prevent gcc warnings
Michael Beck [Wed, 15 Oct 2008 19:01:28 +0000 (19:01 +0000)]
- move the helper irms_is_ to an extra enum to prevent gcc warnings

[r22926]

15 years ago- removed old comment
Michael Beck [Wed, 15 Oct 2008 18:54:44 +0000 (18:54 +0000)]
- removed old comment
- fixed indentation

[r22925]

15 years ago- speed up mode_is_*() calls
Michael Beck [Wed, 15 Oct 2008 18:40:39 +0000 (18:40 +0000)]
- speed up mode_is_*() calls

[r22924]

15 years ago- check if inline was already defined to prevent warning
Michael Beck [Wed, 15 Oct 2008 18:20:12 +0000 (18:20 +0000)]
- check if inline was already defined to prevent warning

[r22923]

15 years agoRemove wrong comment.
Christoph Mallon [Wed, 15 Oct 2008 18:19:12 +0000 (18:19 +0000)]
Remove wrong comment.

[r22921]

15 years agoAdd arch_reg_out_is_allocatable().
Christoph Mallon [Wed, 15 Oct 2008 18:14:52 +0000 (18:14 +0000)]
Add arch_reg_out_is_allocatable().

[r22919]

15 years agoAdded users to shift.
Sebastian Buchwald [Wed, 15 Oct 2008 18:01:33 +0000 (18:01 +0000)]
Added users to shift.

[r22918]

15 years agoSimplify example.
Sebastian Buchwald [Wed, 15 Oct 2008 14:00:54 +0000 (14:00 +0000)]
Simplify example.

[r22915]

15 years agoContinued example.
Sebastian Buchwald [Wed, 15 Oct 2008 13:50:29 +0000 (13:50 +0000)]
Continued example.

[r22913]

15 years agoAdd arch_get_irn_reg_class_out().
Christoph Mallon [Wed, 15 Oct 2008 13:46:33 +0000 (13:46 +0000)]
Add arch_get_irn_reg_class_out().

[r22912]

15 years agoContinued example.
Sebastian Buchwald [Wed, 15 Oct 2008 13:11:08 +0000 (13:11 +0000)]
Continued example.

[r22911]

15 years agoNext try to get a wrong infinity result when using PBQP transformer.
Sebastian Buchwald [Wed, 15 Oct 2008 11:54:27 +0000 (11:54 +0000)]
Next try to get a wrong infinity result when using PBQP transformer.

[r22905]

15 years agoDirectly call arch_get_register_req_out() instead of duplicating its Proj handling...
Christoph Mallon [Wed, 15 Oct 2008 10:15:50 +0000 (10:15 +0000)]
Directly call arch_get_register_req_out() instead of duplicating its Proj handling magic.

[r22897]

15 years agoAdd arch_get_register_req_out().
Christoph Mallon [Wed, 15 Oct 2008 10:04:02 +0000 (10:04 +0000)]
Add arch_get_register_req_out().

[r22896]

15 years agoIt is not sensible to query any other than the first output register requirement...
Christoph Mallon [Wed, 15 Oct 2008 09:50:20 +0000 (09:50 +0000)]
It is not sensible to query any other than the first output register requirement of a non-mode_T node.

[r22895]

15 years agoMarginally reduce the number of calls to arch_get_irn_reg_class().
Christoph Mallon [Wed, 15 Oct 2008 06:13:40 +0000 (06:13 +0000)]
Marginally reduce the number of calls to arch_get_irn_reg_class().

[r22894]

15 years agoUse arch_get_register_req() instead of duplicating the code. This shows that frequen...
Christoph Mallon [Wed, 15 Oct 2008 05:29:52 +0000 (05:29 +0000)]
Use arch_get_register_req() instead of duplicating the code.  This shows that frequency of fetching the reg reqs is even higher.

[r22893]

15 years agoMade xmalloc.h C++ compatible
Moritz Kroll [Wed, 15 Oct 2008 00:31:45 +0000 (00:31 +0000)]
Made xmalloc.h C++ compatible

[r22891]

15 years agos/\<\(LC_\)\?INLINE\>/inline/.
Christoph Mallon [Tue, 14 Oct 2008 20:37:46 +0000 (20:37 +0000)]
s/\<\(LC_\)\?INLINE\>/inline/.

[r22889]

15 years agoRemove unused void* from arch_register_t.
Christoph Mallon [Tue, 14 Oct 2008 20:20:21 +0000 (20:20 +0000)]
Remove unused void* from arch_register_t.

[r22888]

15 years agoonly check register_allocation when verify is enabled
Matthias Braun [Tue, 14 Oct 2008 13:39:30 +0000 (13:39 +0000)]
only check register_allocation when verify is enabled

[r22877]

15 years agoname the option 'verify' because I can never remember 'vrfy'
Matthias Braun [Tue, 14 Oct 2008 13:29:28 +0000 (13:29 +0000)]
name the option 'verify' because I can never remember 'vrfy'

[r22876]

15 years agouse default error handler if none is specified
Matthias Braun [Tue, 14 Oct 2008 10:55:11 +0000 (10:55 +0000)]
use default error handler if none is specified

[r22873]

15 years agoPhasenkopplung Spiller/Copymin
Matthias Braun [Tue, 14 Oct 2008 08:12:40 +0000 (08:12 +0000)]
Phasenkopplung Spiller/Copymin

[r22869]

15 years agobe consequent: don't warn about config files, simply don't read them by default
Matthias Braun [Tue, 14 Oct 2008 07:32:19 +0000 (07:32 +0000)]
be consequent: don't warn about config files, simply don't read them by default

[r22868]

15 years agono HAVE_CONFIG_H needed anymore
Matthias Braun [Tue, 14 Oct 2008 07:31:42 +0000 (07:31 +0000)]
no HAVE_CONFIG_H needed anymore

[r22867]

15 years ago- switch -b help to "command line format", not .firmrc format ;-)
Michael Beck [Tue, 14 Oct 2008 01:59:40 +0000 (01:59 +0000)]
- switch -b help to "command line format", not .firmrc format ;-)

[r22866]

15 years ago- let the compiler optimize the transformer selection IF there is nothing to select
Michael Beck [Tue, 14 Oct 2008 01:40:12 +0000 (01:40 +0000)]
- let the compiler optimize the transformer selection IF there is nothing to select

[r22865]

15 years ago- call be_init_modules() last, so the option order is preserved
Michael Beck [Tue, 14 Oct 2008 01:30:35 +0000 (01:30 +0000)]
- call be_init_modules() last, so the option order is preserved

[r22864]

15 years ago- add options to the list tail, so they are shown in the same order they are declared
Michael Beck [Tue, 14 Oct 2008 01:27:33 +0000 (01:27 +0000)]
- add options to the list tail, so they are shown in the same order they are declared

[r22862]

15 years ago- removed useless prototype
Michael Beck [Tue, 14 Oct 2008 01:15:09 +0000 (01:15 +0000)]
- removed useless prototype
- renamed option from "null" to "none", like all other options

[r22861]

15 years ago- warn if a config file could not be opened
Michael Beck [Tue, 14 Oct 2008 01:08:32 +0000 (01:08 +0000)]
- warn if a config file could not be opened

[r22860]

15 years agoYep, I think this is a dangerous feature, so warn about it.
Michael Beck [Tue, 14 Oct 2008 01:05:01 +0000 (01:05 +0000)]
Yep, I think this is a dangerous feature, so warn about it.
Use -b config=~/.firmrc if you want to suppress this warning.

[r22859]

15 years ago- removed useless cast
Michael Beck [Tue, 14 Oct 2008 00:55:07 +0000 (00:55 +0000)]
- removed useless cast

[r22858]

15 years ago- remove expensive is_liveness_node() calls from liveness_for_node() and
Michael Beck [Tue, 14 Oct 2008 00:50:55 +0000 (00:50 +0000)]
- remove expensive is_liveness_node() calls from liveness_for_node() and
  put them into caller (when not already checked)
- liveness_for_node() is not called anymore from walker, fixed signature
- using post-walker leads to "mostly" sorted node array
- some small clearance

[r22857]

15 years ago- if optimize for size, use leave and do not align labels
Michael Beck [Tue, 14 Oct 2008 00:06:39 +0000 (00:06 +0000)]
- if optimize for size, use leave and do not align labels

[r22856]

15 years ago- Fixed doxygen comment
Michael Beck [Mon, 13 Oct 2008 23:08:13 +0000 (23:08 +0000)]
- Fixed doxygen comment

[r22855]

15 years ago- add doxygen comments
Michael Beck [Mon, 13 Oct 2008 23:06:46 +0000 (23:06 +0000)]
- add doxygen comments

[r22854]

15 years ago- increase string length for x86 architectural options
Michael Beck [Mon, 13 Oct 2008 22:41:22 +0000 (22:41 +0000)]
- increase string length for x86 architectural options

[r22852]

15 years ago- BugFix: DECL_DUMP() and DECL_DUMP_VALS() uses strncat() wrong, causing buffer overrun
Michael Beck [Mon, 13 Oct 2008 22:38:32 +0000 (22:38 +0000)]
- BugFix: DECL_DUMP() and DECL_DUMP_VALS() uses strncat() wrong, causing buffer overrun

[r22850]

15 years ago- fix gen_Store(). Always generate integer stores for floating point constant stores.
Michael Beck [Mon, 13 Oct 2008 20:25:19 +0000 (20:25 +0000)]
- fix gen_Store(). Always generate integer stores for floating point constant stores.

[r22849]

15 years agoExtend 8bit test optimisation to any byte when using address mode.
Christoph Mallon [Mon, 13 Oct 2008 20:14:32 +0000 (20:14 +0000)]
Extend 8bit test optimisation to any byte when using address mode.

[r22848]

15 years agoAlways include config.h.
Sebastian Buchwald [Mon, 13 Oct 2008 16:29:15 +0000 (16:29 +0000)]
Always include config.h.

[r22843]

15 years agoia32 peephole: Change a Test(x, c) to 8Bit, if 0 <= c < 256 (3 byte shorter opcode).
Christoph Mallon [Mon, 13 Oct 2008 11:30:45 +0000 (11:30 +0000)]
ia32 peephole: Change a Test(x, c) to 8Bit, if 0 <= c < 256 (3 byte shorter opcode).

[r22837]

15 years agoRemove an unnecessary global variable, use the walker environment.
Christoph Mallon [Mon, 13 Oct 2008 10:40:10 +0000 (10:40 +0000)]
Remove an unnecessary global variable, use the walker environment.

[r22836]

15 years agoUse ia32_mark_non_am().
Christoph Mallon [Mon, 13 Oct 2008 09:18:05 +0000 (09:18 +0000)]
Use ia32_mark_non_am().

[r22834]

15 years agoUse ia32_is_non_address_mode_node().
Christoph Mallon [Mon, 13 Oct 2008 09:16:26 +0000 (09:16 +0000)]
Use ia32_is_non_address_mode_node().

[r22833]

15 years agoImprove AM folding heuristic for dest AM when it is the only user of an address calcu...
Christoph Mallon [Mon, 13 Oct 2008 08:58:16 +0000 (08:58 +0000)]
Improve AM folding heuristic for dest AM when it is the only user of an address calculation.  Because dest AM results in two address calculation users, the address calculation was not folded.

[r22832]

15 years agoComplement r22830.
Christoph Mallon [Mon, 13 Oct 2008 08:35:41 +0000 (08:35 +0000)]
Complement r22830.

[r22831]

15 years agoTurn the parameter force of ia32_create_address_mode() into a bitflag.
Christoph Mallon [Mon, 13 Oct 2008 08:30:35 +0000 (08:30 +0000)]
Turn the parameter force of ia32_create_address_mode() into a bitflag.

[r22830]

15 years agoWhitespace.
Christoph Mallon [Mon, 13 Oct 2008 08:28:22 +0000 (08:28 +0000)]
Whitespace.

[r22829]

15 years agoFix bug in r22822.
Christoph Mallon [Mon, 13 Oct 2008 08:01:30 +0000 (08:01 +0000)]
Fix bug in r22822.

[r22828]

15 years ago- Move memset() in a less often executed code path.
Christoph Mallon [Mon, 13 Oct 2008 07:29:21 +0000 (07:29 +0000)]
- Move memset() in a less often executed code path.
- Remove duplicate flag.

[r22827]

15 years agoUse prevents_AM() in use_dest_am().
Christoph Mallon [Mon, 13 Oct 2008 07:26:39 +0000 (07:26 +0000)]
Use prevents_AM() in use_dest_am().

[r22826]

15 years agoRemove an unnecessary global variable, use the walker environment.
Christoph Mallon [Mon, 13 Oct 2008 06:30:49 +0000 (06:30 +0000)]
Remove an unnecessary global variable, use the walker environment.

[r22825]

15 years agoWhen optimising IncSP-IncSP ignore the anchor as user of the upper IncSP.
Christoph Mallon [Sun, 12 Oct 2008 21:50:07 +0000 (21:50 +0000)]
When optimising IncSP-IncSP ignore the anchor as user of the upper IncSP.

[r22824]

15 years agoRemove is_ia32_Ld() and is_ia32_St().
Christoph Mallon [Sun, 12 Oct 2008 20:44:19 +0000 (20:44 +0000)]
Remove is_ia32_Ld() and is_ia32_St().

[r22823]

15 years agoSwitchify ia32_collect_frame_entity_nodes().
Christoph Mallon [Sun, 12 Oct 2008 20:42:49 +0000 (20:42 +0000)]
Switchify ia32_collect_frame_entity_nodes().

[r22822]

15 years agoNobody is interested in what a arch_irn_class_load or arch_irn_class_store is, so...
Christoph Mallon [Sun, 12 Oct 2008 20:03:32 +0000 (20:03 +0000)]
Nobody is interested in what a arch_irn_class_load or arch_irn_class_store is, so remove them.

[r22821]

15 years ago- let option "hmuchnik" select the heuristic muchnik scheduler, not the trivial one
Michael Beck [Sun, 12 Oct 2008 16:44:05 +0000 (16:44 +0000)]
- let option "hmuchnik" select the heuristic muchnik scheduler, not the trivial one

[r22820]

15 years ago- add comment describing which scheduler function can be NULL
Michael Beck [Sun, 12 Oct 2008 16:39:10 +0000 (16:39 +0000)]
- add comment describing which scheduler function can be NULL

[r22819]

15 years agoWhen lowering a perm do not record fulfilled contraints in the first place, instead...
Christoph Mallon [Sun, 12 Oct 2008 16:31:02 +0000 (16:31 +0000)]
When lowering a perm do not record fulfilled contraints in the first place, instead of sorting them out later on.

[r22818]

15 years ago- fixed typos
Michael Beck [Sun, 12 Oct 2008 14:53:29 +0000 (14:53 +0000)]
- fixed typos

[r22817]

15 years ago- removed useless include
Michael Beck [Sun, 12 Oct 2008 14:46:44 +0000 (14:46 +0000)]
- removed useless include

[r22816]

15 years agoChange get_n_checked_pairs() to get_n_unchecked_pairs().
Christoph Mallon [Sun, 12 Oct 2008 14:42:50 +0000 (14:42 +0000)]
Change get_n_checked_pairs() to get_n_unchecked_pairs().

[r22815]

15 years agoMore cleanup:
Michael Beck [Sun, 12 Oct 2008 14:40:43 +0000 (14:40 +0000)]
More cleanup:
 - move debug output registration out of walker called function
 - add missing param description
 - fixed parameter types

[r22814]

15 years agoDo not qsort() the entries of a Perm in lower_perm_node(), it is pointless.
Christoph Mallon [Sun, 12 Oct 2008 14:27:05 +0000 (14:27 +0000)]
Do not qsort() the entries of a Perm in lower_perm_node(), it is pointless.

[r22813]

15 years ago- simplified gen_assure_different_pattern()
Michael Beck [Sun, 12 Oct 2008 14:26:26 +0000 (14:26 +0000)]
- simplified gen_assure_different_pattern()

[r22812]

15 years ago- no need for belower_skip_proj()
Michael Beck [Sun, 12 Oct 2008 14:19:03 +0000 (14:19 +0000)]
- no need for belower_skip_proj()
- removed useless return of get_perm_cycle()

[r22811]

15 years agoClean up get_perm_cycle() and lower_perm_node() a bit.
Christoph Mallon [Sun, 12 Oct 2008 14:13:40 +0000 (14:13 +0000)]
Clean up get_perm_cycle() and lower_perm_node() a bit.

[r22810]

15 years ago- kicked useless cast
Michael Beck [Sun, 12 Oct 2008 13:54:46 +0000 (13:54 +0000)]
- kicked useless cast

[r22809]

15 years ago- split get_pairidx_for_regidx(), always called with constant parameter
Michael Beck [Sun, 12 Oct 2008 13:53:55 +0000 (13:53 +0000)]
- split get_pairidx_for_regidx(), always called with constant parameter

[r22808]

15 years ago- remove debug module handles from environments
Michael Beck [Sun, 12 Oct 2008 13:45:57 +0000 (13:45 +0000)]
- remove debug module handles from environments

[r22807]

15 years ago- do not use block-wise topologic walker if NOT needed
Michael Beck [Sun, 12 Oct 2008 13:36:23 +0000 (13:36 +0000)]
- do not use block-wise topologic walker if NOT needed

[r22806]

15 years ago- fixed r22803
Michael Beck [Sun, 12 Oct 2008 13:30:08 +0000 (13:30 +0000)]
- fixed r22803

[r22805]

15 years agoRemove write-only variable.
Christoph Mallon [Sun, 12 Oct 2008 13:00:55 +0000 (13:00 +0000)]
Remove write-only variable.

[r22804]

15 years agoSimplify condition in lower_nodes_after_ra_walker().
Christoph Mallon [Sun, 12 Oct 2008 12:59:26 +0000 (12:59 +0000)]
Simplify condition in lower_nodes_after_ra_walker().

[r22803]

15 years agoRemove unused variable.
Christoph Mallon [Sun, 12 Oct 2008 12:57:26 +0000 (12:57 +0000)]
Remove unused variable.

[r22802]

15 years ago- BugFix: check mode_T nodes for different_constraints
Michael Beck [Sun, 12 Oct 2008 12:53:58 +0000 (12:53 +0000)]
- BugFix: check mode_T nodes for different_constraints
- split get_node_for_register() always called with constants
- simplified find_copy by removing impossible condition checks
- simplified assure_constraint_walker: no need to do a topo-walk, walk the schedule

[r22801]

15 years agoRemove logical impossibility: A node cannot be a Perm and a Proj at the same time...
Christoph Mallon [Sun, 12 Oct 2008 12:49:50 +0000 (12:49 +0000)]
Remove logical impossibility: A node cannot be a Perm and a Proj at the same time.  Even then the code makes no sense, because setting the proj no of a Proj and exchanging it right after that is pretty pointless.

[r22800]

15 years agoDo not generate IncMem/DecMem, when the target cpu does not like it.
Christoph Mallon [Sun, 12 Oct 2008 12:01:05 +0000 (12:01 +0000)]
Do not generate IncMem/DecMem, when the target cpu does not like it.

[r22799]

15 years agoRemove the unused arch irn classes arch_irn_class_call and arch_irn_class_stackparam.
Christoph Mallon [Sun, 12 Oct 2008 11:12:01 +0000 (11:12 +0000)]
Remove the unused arch irn classes arch_irn_class_call and arch_irn_class_stackparam.

[r22798]

15 years agoRemove unreachable code.
Christoph Mallon [Sun, 12 Oct 2008 11:08:15 +0000 (11:08 +0000)]
Remove unreachable code.

[r22797]

15 years agoNobody cares what a "normal" node is, so do not try to identify one.
Christoph Mallon [Sun, 12 Oct 2008 11:04:17 +0000 (11:04 +0000)]
Nobody cares what a "normal" node is, so do not try to identify one.

[r22796]

15 years agoOnly regard be_Perm as Perm in the copyopt. There are no customs Perms and I doubt...
Christoph Mallon [Sun, 12 Oct 2008 10:36:15 +0000 (10:36 +0000)]
Only regard be_Perm as Perm in the copyopt.  There are no customs Perms and I doubt anything could handle them.

[r22795]

15 years agoRemove unused macros.
Christoph Mallon [Sun, 12 Oct 2008 10:23:49 +0000 (10:23 +0000)]
Remove unused macros.

[r22794]

15 years agoRemove the unused function get_ia32_out_reg_name().
Christoph Mallon [Sun, 12 Oct 2008 09:52:00 +0000 (09:52 +0000)]
Remove the unused function get_ia32_out_reg_name().

[r22793]

15 years agoRemove the unused function get_ia32_out_regnr().
Christoph Mallon [Sun, 12 Oct 2008 09:50:52 +0000 (09:50 +0000)]
Remove the unused function get_ia32_out_regnr().

[r22792]