libfirm
11 years agobeifg: Simplify the implementation of be_ifg_foreach_node().
Christoph Mallon [Sat, 15 Dec 2012 11:57:03 +0000 (12:57 +0100)]
beifg: Simplify the implementation of be_ifg_foreach_node().

11 years agobeifg: Let be_ifg_foreach_node() declare its iterator internally.
Christoph Mallon [Sat, 15 Dec 2012 09:28:50 +0000 (10:28 +0100)]
beifg: Let be_ifg_foreach_node() declare its iterator internally.

11 years agobeifg: Remove the unused function be_ifg_nodes_break().
Christoph Mallon [Sat, 15 Dec 2012 09:16:42 +0000 (10:16 +0100)]
beifg: Remove the unused function be_ifg_nodes_break().

11 years agobeifg: Slightly simplify accumulating the results in be_ifg_stat().
Christoph Mallon [Sat, 15 Dec 2012 09:13:44 +0000 (10:13 +0100)]
beifg: Slightly simplify accumulating the results in be_ifg_stat().

11 years agobeifg: Simplify the quite complicated way to divide a number by 2 in be_ifg_stat().
Christoph Mallon [Sat, 15 Dec 2012 09:12:12 +0000 (10:12 +0100)]
beifg: Simplify the quite complicated way to divide a number by 2 in be_ifg_stat().

11 years agobechordal: Handle Phis more like live-ins instead of regular scheduled nodes in creat...
Christoph Mallon [Sat, 15 Dec 2012 08:23:07 +0000 (09:23 +0100)]
bechordal: Handle Phis more like live-ins instead of regular scheduled nodes in create_borders().

11 years agobechordal: assert(), instead of test, that the remaining nodes are live-in in create_...
Christoph Mallon [Fri, 14 Dec 2012 23:16:17 +0000 (00:16 +0100)]
bechordal: assert(), instead of test, that the remaining nodes are live-in in create_borders().

11 years agobepeephole: Inline be_peephole_new_node() into its only caller.
Christoph Mallon [Fri, 14 Dec 2012 22:08:22 +0000 (23:08 +0100)]
bepeephole: Inline be_peephole_new_node() into its only caller.

11 years agobechordal: Use an ir_nodeset_t instead of a bitset_t in create_borders().
Christoph Mallon [Fri, 14 Dec 2012 10:14:18 +0000 (11:14 +0100)]
bechordal: Use an ir_nodeset_t instead of a bitset_t in create_borders().

11 years agobesched: Add and use sched_foreach_reverse_safe().
Christoph Mallon [Fri, 14 Dec 2012 08:33:52 +0000 (09:33 +0100)]
besched: Add and use sched_foreach_reverse_safe().

11 years agobesched: Add and use sched_foreach_safe().
Christoph Mallon [Fri, 14 Dec 2012 08:28:56 +0000 (09:28 +0100)]
besched: Add and use sched_foreach_safe().

11 years agobesched: Use sched_foreach_{after,reverse_before}().
Christoph Mallon [Thu, 13 Dec 2012 20:12:25 +0000 (21:12 +0100)]
besched: Use sched_foreach_{after,reverse_before}().

11 years agoia32: Remove unnecessary test.
Christoph Mallon [Thu, 13 Dec 2012 20:12:03 +0000 (21:12 +0100)]
ia32: Remove unnecessary test.

There is not (middleend) Start node in a graph at this point.

11 years agobesched: Change sched_foreach_reverse_from(sched_prev(x), y) to sched_foreach_reverse...
Christoph Mallon [Thu, 13 Dec 2012 20:11:21 +0000 (21:11 +0100)]
besched: Change sched_foreach_reverse_from(sched_prev(x), y) to sched_foreach_reverse_before(x, y).

11 years agobesched: Change sched_foreach_from(sched_next(x), y) to sched_foreach_after(x, y).
Christoph Mallon [Thu, 13 Dec 2012 20:06:01 +0000 (21:06 +0100)]
besched: Change sched_foreach_from(sched_next(x), y) to sched_foreach_after(x, y).

11 years agofix lower_calls sometimes not lowering method type
Matthias Braun [Wed, 12 Dec 2012 19:21:44 +0000 (20:21 +0100)]
fix lower_calls sometimes not lowering method type

This also allowed us to get rid of an unnecessary exception in
verify_Proj_Proj()

11 years agoremove license stuff from files
Matthias Braun [Wed, 12 Dec 2012 14:41:24 +0000 (15:41 +0100)]
remove license stuff from files

Just state the copyright and the project the files belong to. You can
then find the COPYING file for the whole project.

11 years agotr: Remove unnecessary test.
Christoph Mallon [Wed, 12 Dec 2012 17:27:59 +0000 (18:27 +0100)]
tr: Remove unnecessary test.

The global type is final, so the next test bails out.

11 years agoverify: Clarify assertion message.
Christoph Mallon [Wed, 12 Dec 2012 16:04:39 +0000 (17:04 +0100)]
verify: Clarify assertion message.

11 years agodocumentation: Remove explicit filename after @file.
Christoph Mallon [Wed, 12 Dec 2012 11:44:51 +0000 (12:44 +0100)]
documentation: Remove explicit filename after @file.

11 years agodocumentation: Update stale comments of new_{r,rd}_Const_long().
Christoph Mallon [Wed, 12 Dec 2012 10:17:23 +0000 (11:17 +0100)]
documentation: Update stale comments of new_{r,rd}_Const_long().

11 years agotr: Remove the unused type_info from class types.
Christoph Mallon [Wed, 12 Dec 2012 10:05:23 +0000 (11:05 +0100)]
tr: Remove the unused type_info from class types.

Accordingly remove repr_class from entities.

11 years agoirverify: allow Proj mode_P for array parameters
Matthias Braun [Tue, 11 Dec 2012 12:02:35 +0000 (13:02 +0100)]
irverify: allow Proj mode_P for array parameters

(This really shouldn't be allowed but until lower_calls is fixed this
should at least get complex working on sparc/arm)

11 years agotr: Ensure that all entities have an owner.
Christoph Mallon [Wed, 12 Dec 2012 09:32:00 +0000 (10:32 +0100)]
tr: Ensure that all entities have an owner.

11 years agocleanup: Do not re-fetch values, which we have already.
Christoph Mallon [Wed, 12 Dec 2012 09:06:59 +0000 (10:06 +0100)]
cleanup: Do not re-fetch values, which we have already.

11 years agotr: Add and use new_type_segment().
Christoph Mallon [Wed, 12 Dec 2012 09:05:08 +0000 (10:05 +0100)]
tr: Add and use new_type_segment().

In particular this ensures that the backend has segments for the PIC symbols and trampolines.

11 years agodocumentation: Update information about ir_graph.
Christoph Mallon [Mon, 10 Dec 2012 21:56:35 +0000 (22:56 +0100)]
documentation: Update information about ir_graph.

11 years agoinlining array types is the same as inlining compound types
Matthias Braun [Tue, 11 Dec 2012 10:12:25 +0000 (11:12 +0100)]
inlining array types is the same as inlining compound types

11 years agolower array types as arguments/results like compound types
Matthias Braun [Wed, 28 Nov 2012 22:59:05 +0000 (23:59 +0100)]
lower array types as arguments/results like compound types

11 years agoverify that we have sensible entities in symconst/sel nodes
Matthias Braun [Wed, 5 Dec 2012 20:40:56 +0000 (21:40 +0100)]
verify that we have sensible entities in symconst/sel nodes

11 years agotv: Let sc_comp() return an ir_relation instead of magic numbers.
Christoph Mallon [Sat, 8 Dec 2012 21:50:21 +0000 (22:50 +0100)]
tv: Let sc_comp() return an ir_relation instead of magic numbers.

11 years agotv: Let fc_comp() return an ir_relation instead of magic numbers.
Christoph Mallon [Sat, 8 Dec 2012 21:40:25 +0000 (22:40 +0100)]
tv: Let fc_comp() return an ir_relation instead of magic numbers.

11 years agotv: Correct tarval_abs(): |-0.0| and |-NAN| result in +0.0 and +NAN now.
Christoph Mallon [Sat, 8 Dec 2012 21:37:58 +0000 (22:37 +0100)]
tv: Correct tarval_abs(): |-0.0| and |-NAN| result in +0.0 and +NAN now.

11 years agodocumentation: Fix typos: s/temporal/temporary/.
Christoph Mallon [Sat, 8 Dec 2012 21:32:02 +0000 (22:32 +0100)]
documentation: Fix typos: s/temporal/temporary/.

11 years agobeifg: Let be_ifg_foreach_node() declare the node variable.
Christoph Mallon [Fri, 7 Dec 2012 10:24:15 +0000 (11:24 +0100)]
beifg: Let be_ifg_foreach_node() declare the node variable.

11 years agobeifg: Let be_ifg_foreach_neighbour() declare the node variable.
Christoph Mallon [Fri, 7 Dec 2012 10:20:18 +0000 (11:20 +0100)]
beifg: Let be_ifg_foreach_neighbour() declare the node variable.

11 years agobechordal: Do not re-fetch a value, which we already have.
Christoph Mallon [Fri, 7 Dec 2012 07:38:55 +0000 (08:38 +0100)]
bechordal: Do not re-fetch a value, which we already have.

11 years agoirpass: Remove strange suffix ".svg" from graph dump names.
Christoph Mallon [Fri, 7 Dec 2012 06:03:12 +0000 (07:03 +0100)]
irpass: Remove strange suffix ".svg" from graph dump names.

11 years agoia32: When optimising for size, use cwtd and cltd instead of disabling them.
Christoph Mallon [Fri, 7 Dec 2012 05:21:32 +0000 (06:21 +0100)]
ia32: When optimising for size, use cwtd and cltd instead of disabling them.

11 years agodump: Remove extra leading dashes from dump suffixes.
Christoph Mallon [Fri, 7 Dec 2012 05:14:44 +0000 (06:14 +0100)]
dump: Remove extra leading dashes from dump suffixes.

11 years agoiropt: Remove repeated get_irn_irg().
Christoph Mallon [Thu, 6 Dec 2012 15:10:07 +0000 (16:10 +0100)]
iropt: Remove repeated get_irn_irg().

11 years agoirgmod: Pass the new inputs to turn_into_tuple() instead of initialising them with...
Christoph Mallon [Thu, 6 Dec 2012 14:47:40 +0000 (15:47 +0100)]
irgmod: Pass the new inputs to turn_into_tuple() instead of initialising them with Bad and setting them afterwards.

11 years agoopt_inline: Move all start block placed nodes to the callee's start block, not just...
Christoph Mallon [Thu, 6 Dec 2012 11:49:43 +0000 (12:49 +0100)]
opt_inline: Move all start block placed nodes to the callee's start block, not just the constlike nodes.

11 years agoiredges: Remove the unused function get_irn_edge_kind().
Christoph Mallon [Thu, 6 Dec 2012 05:53:56 +0000 (06:53 +0100)]
iredges: Remove the unused function get_irn_edge_kind().

11 years agolibcore: Remove LC_OPT_ENT_NEGBOOL() and LC_OPT_ENT_NEGBIT().
Christoph Mallon [Thu, 6 Dec 2012 05:33:02 +0000 (06:33 +0100)]
libcore: Remove LC_OPT_ENT_NEGBOOL() and LC_OPT_ENT_NEGBIT().

Avoid negative switches.

11 years agoia32: Change the command line switch "nooptcc" to "optcc".
Christoph Mallon [Thu, 6 Dec 2012 05:25:32 +0000 (06:25 +0100)]
ia32: Change the command line switch "nooptcc" to "optcc".

Avoid negative switches.

11 years agolibcore: Check, that a pointer to a char array is passed to LC_OPT_ENT_STR().
Christoph Mallon [Thu, 6 Dec 2012 05:23:51 +0000 (06:23 +0100)]
libcore: Check, that a pointer to a char array is passed to LC_OPT_ENT_STR().

11 years agovalueset: Slightly simplify foreach_valueset().
Christoph Mallon [Wed, 5 Dec 2012 13:45:29 +0000 (14:45 +0100)]
valueset: Slightly simplify foreach_valueset().

11 years agovalueset: Remove the unused link field.
Christoph Mallon [Wed, 5 Dec 2012 13:35:48 +0000 (14:35 +0100)]
valueset: Remove the unused link field.

11 years agocdep: Remove unnecessary end block test.
Christoph Mallon [Wed, 5 Dec 2012 13:42:54 +0000 (14:42 +0100)]
cdep: Remove unnecessary end block test.

The ipdom of each predecessor of the end block is the end block, so the subsequent loop does nothing.

11 years agocdep: Remove unnecessary start block test.
Christoph Mallon [Wed, 5 Dec 2012 11:06:23 +0000 (12:06 +0100)]
cdep: Remove unnecessary start block test.

The start block has no predecessors, so the subsequent loop will not be entered.

11 years agogvn_pre: Remove redundant start block test.
Christoph Mallon [Wed, 5 Dec 2012 13:27:25 +0000 (14:27 +0100)]
gvn_pre: Remove redundant start block test.

The next if tests for less than 2 predecessors, which the start block fulfills.

11 years agoinstrument: Remove stale start loop test.
Christoph Mallon [Wed, 5 Dec 2012 13:17:26 +0000 (14:17 +0100)]
instrument: Remove stale start loop test.

11 years agotailrec: Remove stale start loop test.
Christoph Mallon [Wed, 5 Dec 2012 11:04:15 +0000 (12:04 +0100)]
tailrec: Remove stale start loop test.

11 years agocfopt: Remove unnecessary start block test.
Christoph Mallon [Wed, 5 Dec 2012 11:03:18 +0000 (12:03 +0100)]
cfopt: Remove unnecessary start block test.

The start block does not end in a Jmp, which the next if checks.

11 years agox87: Remove stale start loop test.
Christoph Mallon [Wed, 5 Dec 2012 11:02:42 +0000 (12:02 +0100)]
x87: Remove stale start loop test.

11 years agobeuses: Remove stale start loop test.
Christoph Mallon [Tue, 4 Dec 2012 15:55:39 +0000 (16:55 +0100)]
beuses: Remove stale start loop test.

11 years agobestate: Remove redundant test for the start block.
Christoph Mallon [Wed, 5 Dec 2012 10:23:22 +0000 (11:23 +0100)]
bestate: Remove redundant test for the start block.

The start block has no predecessors, so the following loop will not be executed.

11 years agobestack: Fetch the start block only once.
Christoph Mallon [Wed, 5 Dec 2012 10:21:32 +0000 (11:21 +0100)]
bestack: Fetch the start block only once.

11 years agoexecfreq: Fetch the start block only once.
Christoph Mallon [Wed, 5 Dec 2012 10:18:43 +0000 (11:18 +0100)]
execfreq: Fetch the start block only once.

11 years agobessaconstr: Move code, which is only needed for statistics, into the optionally...
Christoph Mallon [Wed, 5 Dec 2012 10:20:25 +0000 (11:20 +0100)]
bessaconstr: Move code, which is only needed for statistics, into the optionally compiled statistics part.

11 years agobeifg: Use dom_tree_walk_irg(irg, ...) instead of dom_tree_walk(get_irg_start_block...
Christoph Mallon [Wed, 5 Dec 2012 10:19:31 +0000 (11:19 +0100)]
beifg: Use dom_tree_walk_irg(irg, ...) instead of dom_tree_walk(get_irg_start_block(irg), ...).

11 years agoopt_ldst: Remove the attribute start_bl from struct ldst_env_t.
Christoph Mallon [Wed, 5 Dec 2012 10:16:27 +0000 (11:16 +0100)]
opt_ldst: Remove the attribute start_bl from struct ldst_env_t.

It is only used in one place for an assertion, where the start block can be retrieved locally.

11 years agoirverify: Verify that nodes, which should be in the start block, are in the start...
Christoph Mallon [Wed, 5 Dec 2012 10:14:21 +0000 (11:14 +0100)]
irverify: Verify that nodes, which should be in the start block, are in the start block.

11 years agofp-vrp: Simplify test when optimising Minus(x0...0).
Christoph Mallon [Wed, 5 Dec 2012 09:22:14 +0000 (10:22 +0100)]
fp-vrp: Simplify test when optimising Minus(x0...0).

It is sufficient to test, whether the zero bits equal the minimal value.
If they are all zero, the result is constant and this optimisation is unnecessary.

11 years agovrp: Remove redundant assure_irg_outs().
Christoph Mallon [Tue, 4 Dec 2012 15:51:32 +0000 (16:51 +0100)]
vrp: Remove redundant assure_irg_outs().

The walker does not invalidate the info and the user of the walker already assures it.

11 years agobenode: Remove the parameter irg from be_new_Call().
Christoph Mallon [Tue, 4 Dec 2012 15:19:23 +0000 (16:19 +0100)]
benode: Remove the parameter irg from be_new_Call().

Infer it from block.

11 years agobenode: Remove the parameter irg from be_new_Return().
Christoph Mallon [Tue, 4 Dec 2012 15:16:04 +0000 (16:16 +0100)]
benode: Remove the parameter irg from be_new_Return().

Infer it from block.

11 years agoLet fp-vrp optimize Minus nodes.
Sebastian Buchwald [Wed, 5 Dec 2012 08:43:07 +0000 (09:43 +0100)]
Let fp-vrp optimize Minus nodes.

11 years agoimprove docu, fix doxygen warnings
Matthias Braun [Tue, 4 Dec 2012 22:15:44 +0000 (23:15 +0100)]
improve docu, fix doxygen warnings

11 years agofltcals: remove debug prints
Matthias Braun [Tue, 4 Dec 2012 02:42:01 +0000 (03:42 +0100)]
fltcals: remove debug prints

should be mostly bugfree by now and you can still use gdb for tracing
calls.

11 years agostrcalc: remove debug printfs
Matthias Braun [Tue, 4 Dec 2012 02:22:04 +0000 (03:22 +0100)]
strcalc: remove debug printfs

should be mostly bugfree by now and you can still use gdb to trace
calls.

11 years agotv: remove unnecessary comments
Matthias Braun [Tue, 4 Dec 2012 02:17:37 +0000 (03:17 +0100)]
tv: remove unnecessary comments

functions are already described in their headers with the declaration.

11 years agotv: remove comments about old vector modes
Matthias Braun [Tue, 4 Dec 2012 02:13:03 +0000 (03:13 +0100)]
tv: remove comments about old vector modes

11 years agotv: remove support for carry state flag
Matthias Braun [Tue, 4 Dec 2012 02:12:20 +0000 (03:12 +0100)]
tv: remove support for carry state flag

11 years agocleanup vrp
Matthias Braun [Tue, 4 Dec 2012 10:06:22 +0000 (11:06 +0100)]
cleanup vrp

11 years agoremove Cast node
Matthias Braun [Tue, 4 Dec 2012 02:06:11 +0000 (03:06 +0100)]
remove Cast node

11 years agoremove class cast optimization
Matthias Braun [Tue, 4 Dec 2012 01:55:01 +0000 (02:55 +0100)]
remove class cast optimization

11 years agoremove Bound node
Matthias Braun [Tue, 4 Dec 2012 01:42:10 +0000 (02:42 +0100)]
remove Bound node

11 years agoremove Carry+Borrow node
Matthias Braun [Tue, 4 Dec 2012 01:39:46 +0000 (02:39 +0100)]
remove Carry+Borrow node

11 years agotv: remove unused float_to_int_mode
Matthias Braun [Tue, 4 Dec 2012 01:35:52 +0000 (02:35 +0100)]
tv: remove unused float_to_int_mode

11 years agotv: remove unused reserved_id
Matthias Braun [Tue, 4 Dec 2012 01:28:58 +0000 (02:28 +0100)]
tv: remove unused reserved_id

11 years agocleanup reserved tarval stuff
Matthias Braun [Tue, 4 Dec 2012 01:27:53 +0000 (02:27 +0100)]
cleanup reserved tarval stuff

11 years agoremove support to disable floatingpoint constant folding
Matthias Braun [Tue, 4 Dec 2012 01:20:47 +0000 (02:20 +0100)]
remove support to disable floatingpoint constant folding

11 years agotv: remove support for SWITCH_NOINFINITY and SWITCH_NODENORMALS
Matthias Braun [Tue, 4 Dec 2012 01:18:17 +0000 (02:18 +0100)]
tv: remove support for SWITCH_NOINFINITY and SWITCH_NODENORMALS

11 years agowe always compile with C99 support now
Matthias Braun [Tue, 4 Dec 2012 01:13:52 +0000 (02:13 +0100)]
we always compile with C99 support now

11 years agoremove (last) mentioning of STA backend
Matthias Braun [Tue, 4 Dec 2012 01:12:00 +0000 (02:12 +0100)]
remove (last) mentioning of STA backend

11 years agoremove #if 1
Matthias Braun [Tue, 4 Dec 2012 01:10:55 +0000 (02:10 +0100)]
remove #if 1

11 years agofurther cleanup in loop code
Matthias Braun [Tue, 4 Dec 2012 01:06:54 +0000 (02:06 +0100)]
further cleanup in loop code

11 years agoremove commented out code
Matthias Braun [Tue, 4 Dec 2012 01:02:50 +0000 (02:02 +0100)]
remove commented out code

11 years agoreenable femms
Matthias Braun [Tue, 4 Dec 2012 01:01:25 +0000 (02:01 +0100)]
reenable femms

11 years agoremove unused support for max_loop_depth
Matthias Braun [Tue, 4 Dec 2012 00:42:55 +0000 (01:42 +0100)]
remove unused support for max_loop_depth

11 years agoremove more unused loop stuff
Matthias Braun [Tue, 4 Dec 2012 00:40:34 +0000 (01:40 +0100)]
remove more unused loop stuff

11 years agoalways enable NO_CFLOOP_WITHOUT_HEAD
Matthias Braun [Tue, 4 Dec 2012 00:36:44 +0000 (01:36 +0100)]
always enable NO_CFLOOP_WITHOUT_HEAD

11 years agoremove unnecessary declaration
Matthias Braun [Tue, 4 Dec 2012 00:32:32 +0000 (01:32 +0100)]
remove unnecessary declaration

11 years agoremove more unused loop fields
Matthias Braun [Tue, 4 Dec 2012 00:28:44 +0000 (01:28 +0100)]
remove more unused loop fields

11 years agoremove nearly unused loop_flags
Matthias Braun [Tue, 4 Dec 2012 00:26:35 +0000 (01:26 +0100)]
remove nearly unused loop_flags

11 years agosmall docu cleanups
Matthias Braun [Tue, 4 Dec 2012 10:12:26 +0000 (11:12 +0100)]
small docu cleanups

11 years agoupgrade Doxyfile to latest doxygen version
Matthias Braun [Mon, 3 Dec 2012 23:58:19 +0000 (00:58 +0100)]
upgrade Doxyfile to latest doxygen version

11 years agoirdump: Remove the parameter bad from get_mode_name_ex().
Christoph Mallon [Tue, 4 Dec 2012 14:02:35 +0000 (15:02 +0100)]
irdump: Remove the parameter bad from get_mode_name_ex().

All callers pass in a null pointer.