Christoph Mallon [Thu, 12 Jul 2012 16:01:18 +0000 (18:01 +0200)]
Do not access memory after the end of an object.
Christoph Mallon [Thu, 12 Jul 2012 15:26:04 +0000 (17:26 +0200)]
Directly use pmap_get() instead of pmap_contains() + pmap_get().
Christoph Mallon [Thu, 12 Jul 2012 10:57:15 +0000 (12:57 +0200)]
Add a wrapper macro for pmap_get(), which has the return type as additional parameter.
Christoph Mallon [Thu, 12 Jul 2012 10:56:49 +0000 (12:56 +0200)]
Add a wrapper macro for ir_nodemap_get(), which has the return type as additional parameter.
Christoph Mallon [Fri, 13 Jul 2012 06:09:17 +0000 (08:09 +0200)]
Remove pointless casts.
The expressions have that type.
Christoph Mallon [Fri, 13 Jul 2012 05:57:16 +0000 (07:57 +0200)]
Remove the unused macro co_gs_nodes_break().
Christoph Mallon [Thu, 12 Jul 2012 17:47:17 +0000 (19:47 +0200)]
Get rid of an anonymous union.
Christoph Mallon [Thu, 12 Jul 2012 17:39:09 +0000 (19:39 +0200)]
Remove the declaration of the deleted function firm_default_hash().
Christoph Mallon [Thu, 12 Jul 2012 15:34:39 +0000 (17:34 +0200)]
Remove the pointless if in if (pmap_get(k) != v) pmap_insert(k, v).
Christoph Mallon [Thu, 12 Jul 2012 15:22:40 +0000 (17:22 +0200)]
Remove the unnecessary perm_map.
Matthias Braun [Fri, 13 Jul 2012 20:09:58 +0000 (22:09 +0200)]
simplify be_lv_foreach
Matthias Braun [Fri, 13 Jul 2012 20:09:44 +0000 (22:09 +0200)]
remove write-only bitset
Matthias Braun [Fri, 13 Jul 2012 20:02:50 +0000 (22:02 +0200)]
adapt to -std=c99
Matthias Braun [Fri, 13 Jul 2012 19:31:52 +0000 (21:31 +0200)]
remove old #undef
Matthias Braun [Wed, 11 Jul 2012 11:46:36 +0000 (13:46 +0200)]
move domfront from be to ana
Also add a GRAPH_PROPERTY for the analysis state.
Matthias Braun [Wed, 11 Jul 2012 11:15:28 +0000 (13:15 +0200)]
remove unused block_attr.succ_head, cond_attr.default_proj
Matthias Braun [Fri, 13 Jul 2012 09:43:14 +0000 (11:43 +0200)]
fix warning
Sebastian Buchwald [Fri, 13 Jul 2012 15:57:51 +0000 (17:57 +0200)]
Removed Tuple nodes hold by End node.
Christopher Frieler [Tue, 3 Jul 2012 15:24:22 +0000 (17:24 +0200)]
respect dependency edges in dead code elimination
Matthias Braun [Tue, 10 Jul 2012 20:19:21 +0000 (22:19 +0200)]
make dependency edge handling more robust
Matthias Braun [Tue, 10 Jul 2012 20:18:39 +0000 (22:18 +0200)]
rework add_irn_dep, add delete_irn_dep
- Setting dep edges to NULL is illegal now
- add_irn_dep is simpler but does not check for duplicates anymore
Matthias Braun [Tue, 10 Jul 2012 13:52:01 +0000 (15:52 +0200)]
make code C++ warning clean (again)
Matthias Braun [Tue, 10 Jul 2012 13:34:06 +0000 (15:34 +0200)]
cleanup ia32_architecture (enum usage)
Matthias Braun [Tue, 10 Jul 2012 12:27:15 +0000 (14:27 +0200)]
bedwarf: always use custom abbrev numbers
Matthias Braun [Thu, 28 Jun 2012 11:49:58 +0000 (13:49 +0200)]
irop: refactor node_ops registration code
Get away from the strange set_default_XXX_op style and instead let the
code modules register their node ops directly.
Manuel Mohr [Wed, 27 Jun 2012 12:01:07 +0000 (14:01 +0200)]
Make spiller more deterministic.
Manuel Mohr [Tue, 26 Jun 2012 13:28:43 +0000 (15:28 +0200)]
Fixed typo.
Manuel Mohr [Wed, 20 Jun 2012 11:51:15 +0000 (13:51 +0200)]
Add support for setting initial node number through debugging extension.
This also supports setting the initial node number to "rand", thereby
replacing randnodenr.
Matthias Braun [Wed, 27 Jun 2012 11:00:18 +0000 (13:00 +0200)]
make spiller more deterministic
Matthias Braun [Wed, 27 Jun 2012 10:45:04 +0000 (12:45 +0200)]
make heur4 a bit more deterministic
Matthias Braun [Wed, 27 Jun 2012 10:44:47 +0000 (12:44 +0200)]
long double has 4 byte alignment
Sebastian Buchwald [Fri, 22 Jun 2012 17:43:37 +0000 (19:43 +0200)]
Only (IV - RC) is allowed for induction variables.
Matthias Braun [Thu, 21 Jun 2012 14:15:49 +0000 (16:15 +0200)]
make basic block scheduler more deterministic
Matthias Braun [Thu, 21 Jun 2012 14:15:34 +0000 (16:15 +0200)]
display block node nr in verboseasm mode
Matthias Braun [Thu, 21 Jun 2012 13:01:59 +0000 (15:01 +0200)]
bespillslots: cleanup, make it deterministic
Matthias Braun [Thu, 21 Jun 2012 10:00:05 +0000 (12:00 +0200)]
make compiler more deterministic by sorting Perm inputs
Matthias Braun [Thu, 21 Jun 2012 09:48:21 +0000 (11:48 +0200)]
normalize Sync node by sorting their inputs
This also makes the compiler alot more deterministic avoiding, lots of
"random" jumping around in series of stores and loads.
Matthias Braun [Thu, 21 Jun 2012 09:47:17 +0000 (11:47 +0200)]
avoid "Unknown" hacks with reroute_edges_except
Matthias Braun [Thu, 21 Jun 2012 09:46:29 +0000 (11:46 +0200)]
iredges: introduce new reroute_edges_except
I expect this to be a common pattern
Christoph Mallon [Tue, 19 Jun 2012 07:31:15 +0000 (09:31 +0200)]
Remove the unused flag irop_flag_always_opt.
Christoph Mallon [Tue, 19 Jun 2012 07:20:26 +0000 (09:20 +0200)]
Remove the never read flag irop_flag_dump_noinput.
Christoph Mallon [Tue, 19 Jun 2012 07:11:45 +0000 (09:11 +0200)]
Remove the never read flag irop_flag_labeled.
Christoph Mallon [Mon, 18 Jun 2012 12:16:27 +0000 (14:16 +0200)]
Mark memory using nodes with "uses_memory".
Christoph Mallon [Mon, 18 Jun 2012 12:15:52 +0000 (14:15 +0200)]
It's spelled "ins", not "in".
Christoph Mallon [Mon, 18 Jun 2012 12:09:26 +0000 (14:09 +0200)]
For readability put empty lines between node specifications.
Christoph Mallon [Tue, 19 Jun 2012 07:29:18 +0000 (09:29 +0200)]
Simplify assertion.
Christoph Mallon [Mon, 18 Jun 2012 13:56:25 +0000 (15:56 +0200)]
Remove stale $Id$.
Christoph Mallon [Mon, 18 Jun 2012 14:34:52 +0000 (16:34 +0200)]
Allow spills in amd64_set_frame_entity(), too.
Christoph Mallon [Mon, 18 Jun 2012 14:17:27 +0000 (16:17 +0200)]
Always (instead of never) emit labels for basic blocks on AMD64.
Christoph Mallon [Fri, 15 Jun 2012 20:30:14 +0000 (22:30 +0200)]
Make test for superfluous And/Or removal in fp-vrp more general.
Matthias Braun [Fri, 15 Jun 2012 12:58:49 +0000 (14:58 +0200)]
Projs are always in the same block as their preds
Matthias Braun [Fri, 15 Jun 2012 12:55:46 +0000 (14:55 +0200)]
remove opt_manage, provide assure_irg_properties
The opt_manage framework didn't really do much except assuring that some
analysis info is computed before a pass starts. We can achieve this
simpler by providing an assure_irg_properties function.
This commit also fixes some places where analysis info was potentially
not invalidated before.
Matthias Braun [Fri, 15 Jun 2012 10:56:47 +0000 (12:56 +0200)]
remove return values from graph transformations
Noone was really using the return values anyway. This change makes the
API more consistent.
Matthias Braun [Fri, 15 Jun 2012 09:26:24 +0000 (11:26 +0200)]
gen_docu: output 'None' for an empty flags list
Matthias Braun [Fri, 15 Jun 2012 09:08:18 +0000 (11:08 +0200)]
fix warning
Matthias Braun [Fri, 15 Jun 2012 08:55:00 +0000 (10:55 +0200)]
cfopt: code cleanup
Matthias Braun [Fri, 15 Jun 2012 00:02:39 +0000 (02:02 +0200)]
rename edges_assure to assure_edges
This makes it consistent with other firm analyse functions. Also removes
the unnecessary return value.
Matthias Braun [Thu, 14 Jun 2012 17:06:04 +0000 (19:06 +0200)]
split graph state into properties and constraints
graph_properties are things that a transformation may destroy but which
can be easily recalculated.
graph_constraints are set after lowering phases have been running and
forbid certain constructs that no (later) transformation is allowed to construct
Matthias Braun [Fri, 15 Jun 2012 09:19:43 +0000 (11:19 +0200)]
improve Shl,Shr,Shrs documentation
Christoph Mallon [Thu, 14 Jun 2012 13:25:08 +0000 (15:25 +0200)]
Remove compound path initializers.
Christoph Mallon [Thu, 14 Jun 2012 06:36:07 +0000 (08:36 +0200)]
Implement eval_strcmp() for the new style initializers.
Sebastian Buchwald [Thu, 14 Jun 2012 09:53:09 +0000 (11:53 +0200)]
Fixed compile error in optimize build.
Christoph Mallon [Wed, 13 Jun 2012 14:45:16 +0000 (16:45 +0200)]
Remove the local buffer from dbg_printf().
Christoph Mallon [Tue, 22 May 2012 08:11:52 +0000 (10:11 +0200)]
Correct comment.
Matthias Braun [Wed, 13 Jun 2012 14:53:12 +0000 (16:53 +0200)]
fix warning
Matthias Braun [Wed, 13 Jun 2012 14:39:00 +0000 (16:39 +0200)]
remove deprecated support for bitfield masking
Matthias Braun [Wed, 13 Jun 2012 13:31:27 +0000 (15:31 +0200)]
remove extended basic block support
First it is unclear what is a good way to deconstruct a program into extended
basic blocks, also none of our optimizations works on extended basic
blocks.
Matthias Braun [Wed, 13 Jun 2012 13:27:17 +0000 (15:27 +0200)]
do not use current_ir_graph in irdump.c
Matthias Braun [Wed, 13 Jun 2012 09:02:30 +0000 (11:02 +0200)]
debugger: add randnode debug command
This call initializes the node_nr with a random value on startup. This
lets you test wether the compile behaves deterministically regardless of
node numbers (which isn't always the case right now).
Matthias Braun [Wed, 13 Jun 2012 09:01:50 +0000 (11:01 +0200)]
fix debugger tokenlist
Matthias Braun [Wed, 13 Jun 2012 09:01:28 +0000 (11:01 +0200)]
remove unnecessary revision thing
Matthias Braun [Wed, 13 Jun 2012 08:59:25 +0000 (10:59 +0200)]
increase dbg_printf buffer in debug/debugger.c
Matthias Braun [Wed, 6 Jun 2012 13:54:58 +0000 (15:54 +0200)]
normalize block numbers in assembler output
This makes the produced assembler independent from fragile node numbers.
It's also a little bit easier to read.
Matthias Braun [Wed, 6 Jun 2012 11:40:38 +0000 (13:40 +0200)]
attempt to make root_cmp of beschednormal more deterministic
Matthias Braun [Wed, 6 Jun 2012 09:12:46 +0000 (11:12 +0200)]
be: introduce verboseasm flag (enabled by default)
Also factor out code that emits the label and comment at the beginning
of a basic block.
Matthias Braun [Wed, 6 Jun 2012 09:12:30 +0000 (11:12 +0200)]
be: expose be_options variable globally
Sebastian Buchwald [Wed, 16 May 2012 12:51:48 +0000 (14:51 +0200)]
Beautified GVN-PRE code.
Matthias Braun [Wed, 16 May 2012 11:53:49 +0000 (13:53 +0200)]
create Bad instead of Phi0 for unreachable blocks
Christoph Mallon [Mon, 14 May 2012 16:58:20 +0000 (18:58 +0200)]
Remove a stale comment.
It probably was true when the start block had itself as predecessor.
Christoph Mallon [Mon, 14 May 2012 16:57:10 +0000 (18:57 +0200)]
Remove redundant operations from set_phi_arguments(): phi is always a Phi.
Christoph Mallon [Sun, 13 May 2012 10:45:38 +0000 (12:45 +0200)]
Remove the unused function be_emit_ident().
Christoph Mallon [Sun, 13 May 2012 10:41:30 +0000 (12:41 +0200)]
Use be_emit_irprintf("%I", x) instead of be_emit_ident(x).
Christoph Mallon [Sun, 13 May 2012 10:36:20 +0000 (12:36 +0200)]
Remove be_emit_tarval().
Christoph Mallon [Sun, 13 May 2012 20:51:54 +0000 (22:51 +0200)]
Use be_emit_irprintf("%T", x) instead of be_emit_tarval().
Christoph Mallon [Sun, 13 May 2012 10:29:10 +0000 (12:29 +0200)]
Remove the write-only attributes cg_backedge and in_cg from struct block_attr.
Christoph Mallon [Sun, 13 May 2012 10:27:53 +0000 (12:27 +0200)]
Remove the unused macro constant SNPRINTF_BUF_LEN.
Christoph Mallon [Sun, 13 May 2012 07:06:19 +0000 (09:06 +0200)]
Remove redundant null-pointer test before free().
Christoph Mallon [Sun, 13 May 2012 11:05:58 +0000 (13:05 +0200)]
Resolve constness warning.
Julian Oppermann [Fri, 11 May 2012 09:22:46 +0000 (11:22 +0200)]
Fix Conv node signature in error message.
Matthias Braun [Thu, 10 May 2012 21:38:08 +0000 (23:38 +0200)]
copy comp_dir_value
Matthias Braun [Thu, 10 May 2012 20:44:04 +0000 (22:44 +0200)]
sparc: fix problem with compound return
Matthias Braun [Thu, 10 May 2012 19:36:44 +0000 (21:36 +0200)]
forbid to set current_block to Bad
This was used as a hack to mark unreachable code by some people, but it
is prefered to simply use a new Block without predecessors, or set NULL
if you have to.
Matthias Braun [Thu, 10 May 2012 17:07:42 +0000 (19:07 +0200)]
remove buffer restriction in be_emit_irprintf
Matthias Braun [Fri, 4 May 2012 13:48:37 +0000 (15:48 +0200)]
improve docu of ir_visibility_external
Christoph Mallon [Sun, 6 May 2012 18:17:06 +0000 (20:17 +0200)]
Teach new_tarval_from_str_int() to parse binary numbers: 0[bB][01]+.
Christoph Mallon [Sun, 6 May 2012 18:04:33 +0000 (20:04 +0200)]
Correct the documentation of new_tarval_from_str().
Christoph Mallon [Sat, 5 May 2012 16:05:46 +0000 (18:05 +0200)]
Resolve shadowing warning.
Christoph Mallon [Sat, 5 May 2012 16:03:45 +0000 (18:03 +0200)]
Remove unnecessary void cast.
Christoph Mallon [Sat, 5 May 2012 16:03:10 +0000 (18:03 +0200)]
Correct indentation and excessive spacing.
Christoph Mallon [Sat, 5 May 2012 15:59:10 +0000 (17:59 +0200)]
Correct typo in comment.