Michael Beck [Mon, 20 Oct 2008 18:48:11 +0000 (18:48 +0000)]
- fixed memory leak: delete edges when a graph is deleted
[r23047]
Michael Beck [Mon, 20 Oct 2008 14:16:43 +0000 (14:16 +0000)]
- BugFix: we need an extra compute_Return(), else compute_default()
kills Return(Top) nodes ...
[r23035]
Michael Beck [Mon, 20 Oct 2008 13:53:01 +0000 (13:53 +0000)]
- comaparation of x and Top produces True, as Top is congruent to any other class
- do not replace Phi(Top, ..., x, ..., Top) -> x, this might produce non-strict programs
(does NOt happen as long WITH_UNKNOWN is undefined)
[r23033]
Michael Beck [Mon, 20 Oct 2008 13:11:10 +0000 (13:11 +0000)]
- typos fixed
- compute: check the control input only for pinned nodes (prepare for
global_cse run)
[r23031]
Sebastian Buchwald [Sun, 19 Oct 2008 13:37:45 +0000 (13:37 +0000)]
Fixed bug in conv-conv optimization: We have to assure, that we don't change the mode when deleting the conv.
[r23009]
Moritz Kroll [Sun, 19 Oct 2008 01:55:42 +0000 (01:55 +0000)]
I like zombies, but not millions of them in a hash map!!
[r23005]
Moritz Kroll [Sun, 19 Oct 2008 01:52:40 +0000 (01:52 +0000)]
Added trivial test case where optimize_reassociation will never get to a fixpoint (result will always be non-zero)
[r23004]
Christoph Mallon [Sat, 18 Oct 2008 10:56:50 +0000 (10:56 +0000)]
Add ALLOCAN() and ALLOCANZ().
[r22985]
Christoph Mallon [Sat, 18 Oct 2008 10:25:33 +0000 (10:25 +0000)]
Remove unused variable.
[r22984]
Christoph Mallon [Sat, 18 Oct 2008 10:18:53 +0000 (10:18 +0000)]
Turn alloca() with fixed size into array.
[r22983]
Christoph Mallon [Sat, 18 Oct 2008 10:00:31 +0000 (10:00 +0000)]
Remove unused variables.
[r22982]
Christoph Mallon [Sat, 18 Oct 2008 09:59:01 +0000 (09:59 +0000)]
Remove unused variable.
[r22981]
Sebastian Buchwald [Fri, 17 Oct 2008 19:05:08 +0000 (19:05 +0000)]
Free a little more memory than before.
[r22976]
Sebastian Buchwald [Fri, 17 Oct 2008 18:52:11 +0000 (18:52 +0000)]
Zero initialize allocation to avoid using uninitialized value.
[r22975]
Sebastian Buchwald [Fri, 17 Oct 2008 18:41:52 +0000 (18:41 +0000)]
typo
[r22974]
Michael Beck [Fri, 17 Oct 2008 05:07:45 +0000 (05:07 +0000)]
- add comment explaining the connection betwenn the race and Follower -> Leader transition
[r22963]
Michael Beck [Fri, 17 Oct 2008 04:40:57 +0000 (04:40 +0000)]
BugFix for a rare case:
when splitting a partition containing followers, these
might stay on the "looser" side and must be constant-propagated
then to allow them to split out.
This might be a fix for a self-made problem. We do the follower ->
leader transition on both sides while the original algo "might"
do than on the winner side only...
[r22962]
Sebastian Buchwald [Thu, 16 Oct 2008 09:07:59 +0000 (09:07 +0000)]
It's also necessary to add one rule.
[r22941]
Moritz Kroll [Thu, 16 Oct 2008 07:58:24 +0000 (07:58 +0000)]
YOU MAKE BUNNY CRY (and rebuild the libedgfe!)
[r22939]
Moritz Kroll [Thu, 16 Oct 2008 07:48:44 +0000 (07:48 +0000)]
add missing inlucde
[r22938]
Moritz Kroll [Thu, 16 Oct 2008 07:47:00 +0000 (07:47 +0000)]
add some asserts/switch to panics
[r22937]
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]
Christoph Mallon [Thu, 16 Oct 2008 06:44:42 +0000 (06:44 +0000)]
Remove unnecessary global variable.
[r22934]
Christoph Mallon [Wed, 15 Oct 2008 21:39:29 +0000 (21:39 +0000)]
Remove the unused before_sched callback.
[r22932]
Christoph Mallon [Wed, 15 Oct 2008 21:37:11 +0000 (21:37 +0000)]
Follow-up to r22928: Remove arch_register_class_put().
[r22931]
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]
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]
Christoph Mallon [Wed, 15 Oct 2008 19:33:07 +0000 (19:33 +0000)]
Remove arch_get_allocatable_regs().
[r22928]
Sebastian Buchwald [Wed, 15 Oct 2008 19:11:56 +0000 (19:11 +0000)]
Simplify test case.
[r22927]
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]
Michael Beck [Wed, 15 Oct 2008 18:54:44 +0000 (18:54 +0000)]
- removed old comment
- fixed indentation
[r22925]
Michael Beck [Wed, 15 Oct 2008 18:40:39 +0000 (18:40 +0000)]
- speed up mode_is_*() calls
[r22924]
Michael Beck [Wed, 15 Oct 2008 18:20:12 +0000 (18:20 +0000)]
- check if inline was already defined to prevent warning
[r22923]
Christoph Mallon [Wed, 15 Oct 2008 18:19:12 +0000 (18:19 +0000)]
Remove wrong comment.
[r22921]
Christoph Mallon [Wed, 15 Oct 2008 18:14:52 +0000 (18:14 +0000)]
Add arch_reg_out_is_allocatable().
[r22919]
Sebastian Buchwald [Wed, 15 Oct 2008 18:01:33 +0000 (18:01 +0000)]
Added users to shift.
[r22918]
Sebastian Buchwald [Wed, 15 Oct 2008 14:00:54 +0000 (14:00 +0000)]
Simplify example.
[r22915]
Sebastian Buchwald [Wed, 15 Oct 2008 13:50:29 +0000 (13:50 +0000)]
Continued example.
[r22913]
Christoph Mallon [Wed, 15 Oct 2008 13:46:33 +0000 (13:46 +0000)]
Add arch_get_irn_reg_class_out().
[r22912]
Sebastian Buchwald [Wed, 15 Oct 2008 13:11:08 +0000 (13:11 +0000)]
Continued example.
[r22911]
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]
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]
Christoph Mallon [Wed, 15 Oct 2008 10:04:02 +0000 (10:04 +0000)]
Add arch_get_register_req_out().
[r22896]
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]
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]
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]
Moritz Kroll [Wed, 15 Oct 2008 00:31:45 +0000 (00:31 +0000)]
Made xmalloc.h C++ compatible
[r22891]
Christoph Mallon [Tue, 14 Oct 2008 20:37:46 +0000 (20:37 +0000)]
s/\<\(LC_\)\?INLINE\>/inline/.
[r22889]
Christoph Mallon [Tue, 14 Oct 2008 20:20:21 +0000 (20:20 +0000)]
Remove unused void* from arch_register_t.
[r22888]
Matthias Braun [Tue, 14 Oct 2008 13:39:30 +0000 (13:39 +0000)]
only check register_allocation when verify is enabled
[r22877]
Matthias Braun [Tue, 14 Oct 2008 13:29:28 +0000 (13:29 +0000)]
name the option 'verify' because I can never remember 'vrfy'
[r22876]
Matthias Braun [Tue, 14 Oct 2008 10:55:11 +0000 (10:55 +0000)]
use default error handler if none is specified
[r22873]
Matthias Braun [Tue, 14 Oct 2008 08:12:40 +0000 (08:12 +0000)]
Phasenkopplung Spiller/Copymin
[r22869]
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]
Matthias Braun [Tue, 14 Oct 2008 07:31:42 +0000 (07:31 +0000)]
no HAVE_CONFIG_H needed anymore
[r22867]
Michael Beck [Tue, 14 Oct 2008 01:59:40 +0000 (01:59 +0000)]
- switch -b help to "command line format", not .firmrc format ;-)
[r22866]
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]
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]
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]
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]
Michael Beck [Tue, 14 Oct 2008 01:08:32 +0000 (01:08 +0000)]
- warn if a config file could not be opened
[r22860]
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]
Michael Beck [Tue, 14 Oct 2008 00:55:07 +0000 (00:55 +0000)]
- removed useless cast
[r22858]
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]
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]
Michael Beck [Mon, 13 Oct 2008 23:08:13 +0000 (23:08 +0000)]
- Fixed doxygen comment
[r22855]
Michael Beck [Mon, 13 Oct 2008 23:06:46 +0000 (23:06 +0000)]
- add doxygen comments
[r22854]
Michael Beck [Mon, 13 Oct 2008 22:41:22 +0000 (22:41 +0000)]
- increase string length for x86 architectural options
[r22852]
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]
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]
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]
Sebastian Buchwald [Mon, 13 Oct 2008 16:29:15 +0000 (16:29 +0000)]
Always include config.h.
[r22843]
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]
Christoph Mallon [Mon, 13 Oct 2008 10:40:10 +0000 (10:40 +0000)]
Remove an unnecessary global variable, use the walker environment.
[r22836]
Christoph Mallon [Mon, 13 Oct 2008 09:18:05 +0000 (09:18 +0000)]
Use ia32_mark_non_am().
[r22834]
Christoph Mallon [Mon, 13 Oct 2008 09:16:26 +0000 (09:16 +0000)]
Use ia32_is_non_address_mode_node().
[r22833]
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]
Christoph Mallon [Mon, 13 Oct 2008 08:35:41 +0000 (08:35 +0000)]
Complement r22830.
[r22831]
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]
Christoph Mallon [Mon, 13 Oct 2008 08:28:22 +0000 (08:28 +0000)]
Whitespace.
[r22829]
Christoph Mallon [Mon, 13 Oct 2008 08:01:30 +0000 (08:01 +0000)]
Fix bug in r22822.
[r22828]
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]
Christoph Mallon [Mon, 13 Oct 2008 07:26:39 +0000 (07:26 +0000)]
Use prevents_AM() in use_dest_am().
[r22826]
Christoph Mallon [Mon, 13 Oct 2008 06:30:49 +0000 (06:30 +0000)]
Remove an unnecessary global variable, use the walker environment.
[r22825]
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]
Christoph Mallon [Sun, 12 Oct 2008 20:44:19 +0000 (20:44 +0000)]
Remove is_ia32_Ld() and is_ia32_St().
[r22823]
Christoph Mallon [Sun, 12 Oct 2008 20:42:49 +0000 (20:42 +0000)]
Switchify ia32_collect_frame_entity_nodes().
[r22822]
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]
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]
Michael Beck [Sun, 12 Oct 2008 16:39:10 +0000 (16:39 +0000)]
- add comment describing which scheduler function can be NULL
[r22819]
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]
Michael Beck [Sun, 12 Oct 2008 14:53:29 +0000 (14:53 +0000)]
- fixed typos
[r22817]
Michael Beck [Sun, 12 Oct 2008 14:46:44 +0000 (14:46 +0000)]
- removed useless include
[r22816]
Christoph Mallon [Sun, 12 Oct 2008 14:42:50 +0000 (14:42 +0000)]
Change get_n_checked_pairs() to get_n_unchecked_pairs().
[r22815]
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]
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]
Michael Beck [Sun, 12 Oct 2008 14:26:26 +0000 (14:26 +0000)]
- simplified gen_assure_different_pattern()
[r22812]
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]
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]
Michael Beck [Sun, 12 Oct 2008 13:54:46 +0000 (13:54 +0000)]
- kicked useless cast
[r22809]