libfirm
13 years agoFixed warning.
Sebastian Buchwald [Mon, 11 Apr 2011 09:08:15 +0000 (11:08 +0200)]
Fixed warning.

13 years agoFixed some whitespaces.
Sebastian Buchwald [Mon, 11 Apr 2011 09:10:51 +0000 (11:10 +0200)]
Fixed some whitespaces.

13 years agoSimplify code
Andreas Zwinkau [Mon, 11 Apr 2011 08:56:38 +0000 (10:56 +0200)]
Simplify code

13 years agoC99 features removed.
Michael Beck [Sat, 9 Apr 2011 01:04:25 +0000 (03:04 +0200)]
C99 features removed.

13 years agoBugFix: fixed type name.
Michael Beck [Sat, 9 Apr 2011 00:59:05 +0000 (02:59 +0200)]
BugFix: fixed type name.

13 years agoRemove superfluous asserts
Andreas Zwinkau [Fri, 8 Apr 2011 14:21:07 +0000 (16:21 +0200)]
Remove superfluous asserts

13 years agomore aggressive node-killing to avoid dangling edges
Matthias Braun [Fri, 8 Apr 2011 13:34:21 +0000 (15:34 +0200)]
more aggressive node-killing to avoid dangling edges

13 years agoMerge branch 'kaps-included' into master
Andreas Zwinkau [Fri, 8 Apr 2011 13:43:15 +0000 (15:43 +0200)]
Merge branch 'kaps-included' into master

13 years agoAnother rewrite of prolog/epilog handling: Delay their creation until after register...
Matthias Braun [Fri, 1 Apr 2011 08:17:03 +0000 (10:17 +0200)]
Another rewrite of prolog/epilog handling: Delay their creation until after register allocation

13 years agoRemove ifdef FIRM_KAPS
Andreas Zwinkau [Fri, 8 Apr 2011 12:44:11 +0000 (14:44 +0200)]
Remove ifdef FIRM_KAPS

Always make pbqp coloring available

13 years agoInclude kaps into build
Andreas Zwinkau [Fri, 8 Apr 2011 12:14:10 +0000 (14:14 +0200)]
Include kaps into build

13 years agomerge kaps
Andreas Zwinkau [Fri, 8 Apr 2011 12:10:06 +0000 (14:10 +0200)]
merge kaps

13 years agoRevived grgen dumper for TTC 2011.
Sebastian Buchwald [Tue, 22 Mar 2011 18:31:38 +0000 (19:31 +0100)]
Revived grgen dumper for TTC 2011.

13 years agono conservative recalculation of everything in irlivechk
Matthias Braun [Thu, 31 Mar 2011 17:47:52 +0000 (19:47 +0200)]
no conservative recalculation of everything in irlivechk

13 years agoall backends have decreasing stack
Matthias Braun [Tue, 5 Apr 2011 14:59:36 +0000 (16:59 +0200)]
all backends have decreasing stack

13 years agochange get_ignore_irn API to take irg instead of abi
Matthias Braun [Thu, 31 Mar 2011 17:17:35 +0000 (19:17 +0200)]
change get_ignore_irn API to take irg instead of abi

13 years agorename be_pos_XXX to n_be_XXX to be consistent with the architecture specific constants
Matthias Braun [Thu, 31 Mar 2011 11:40:12 +0000 (13:40 +0200)]
rename be_pos_XXX to n_be_XXX to be consistent with the architecture specific constants

13 years agocleanup iredges API a bit
Matthias Braun [Thu, 31 Mar 2011 07:57:30 +0000 (09:57 +0200)]
cleanup iredges API a bit

13 years agoidentify bitfield types based on whether they have a base_type set (maybe should...
Matthias Braun [Wed, 30 Mar 2011 16:49:33 +0000 (18:49 +0200)]
identify bitfield types based on whether they have a base_type set (maybe should introduce a real type for bitfield types?)

13 years agoUse a more scalable algorithm for SSA reconstruction.
Sebastian Buchwald [Thu, 17 Mar 2011 17:56:08 +0000 (18:56 +0100)]
Use a more scalable algorithm for SSA reconstruction.

The algorithm now processes a block at most once,
instead of |uses| times.

13 years agoRevert "Prepared for diff."
Sebastian Buchwald [Fri, 8 Apr 2011 09:03:17 +0000 (11:03 +0200)]
Revert "Prepared for diff."

This reverts commit 0a8187425d279eb16ba56f5f04465653a9dfb26a.

13 years agoPrepared for diff.
Sebastian Buchwald [Thu, 17 Mar 2011 17:56:08 +0000 (18:56 +0100)]
Prepared for diff.

13 years agoFixed some typos.
Sebastian Buchwald [Wed, 9 Mar 2011 15:07:01 +0000 (16:07 +0100)]
Fixed some typos.

13 years agoRemove stale ENUM_BITSET(pn_Cmp).
Christoph Mallon [Thu, 7 Apr 2011 11:43:00 +0000 (13:43 +0200)]
Remove stale ENUM_BITSET(pn_Cmp).

13 years agoirg_verify() now runs on unpinned graphs without asserting.
Michael Beck [Thu, 7 Apr 2011 07:28:36 +0000 (09:28 +0200)]
irg_verify() now runs on unpinned graphs without asserting.

13 years agoFix regression: Allow setting the current block to NULL.
Christoph Mallon [Wed, 6 Apr 2011 13:27:06 +0000 (15:27 +0200)]
Fix regression: Allow setting the current block to NULL.

13 years agoFixed tail recursion optimization.
Michael Beck [Sun, 3 Apr 2011 16:44:25 +0000 (18:44 +0200)]
Fixed tail recursion optimization.

- use get_r/set_r instead of get_/set_* functions, so we
  can operate without current_ir_graph set
- set current_ir_graph, but only for debugging now
- fixed wrong usage of indexes for local SSA variables
- placed resorce checking at the right plaace
- removed #if 0'ed debug code and replace it by DB()
- fixed doxygen comments

13 years agoAdd assertions if set_cur_block() is tried for a block on a wrong irg.
Michael Beck [Sun, 3 Apr 2011 16:36:47 +0000 (18:36 +0200)]
Add assertions if set_cur_block() is tried for a block on a wrong irg.

Fixed typo.

13 years agoC99 feature removed.
Michael Beck [Sun, 3 Apr 2011 15:09:10 +0000 (17:09 +0200)]
C99 feature removed.

13 years agoRevert "merge gcse into place_code (a better solution would be having it always on...
Matthias Braun [Wed, 30 Mar 2011 14:46:12 +0000 (16:46 +0200)]
Revert "merge gcse into place_code (a better solution would be having it always on until the backend scheduler)"

This reverts commit bdddae273a9cd497dc79c2f90726482620d3c8d4.

13 years agosimplify Sel lowering code
Matthias Braun [Wed, 23 Mar 2011 13:20:34 +0000 (14:20 +0100)]
simplify Sel lowering code

13 years agoamend to tls_chagnes
Matthias Braun [Wed, 23 Mar 2011 13:19:33 +0000 (14:19 +0100)]
amend to tls_chagnes

13 years agoremove get_irg_tls() concept, simply use SymConst and let the backend figure it out
Matthias Braun [Wed, 23 Mar 2011 13:01:42 +0000 (14:01 +0100)]
remove get_irg_tls() concept, simply use SymConst and let the backend figure it out

13 years agoremove the deprecated and unused construct of a value_res_base entities in method...
Matthias Braun [Thu, 17 Mar 2011 17:59:05 +0000 (18:59 +0100)]
remove the deprecated and unused construct of a value_res_base entities in method-types

13 years agoremove names from parameters of method_types - it is pure debug info and should alrea...
Matthias Braun [Thu, 17 Mar 2011 15:30:47 +0000 (16:30 +0100)]
remove names from parameters of method_types - it is pure debug info and should already be contained in type_dbg_info if available

13 years agoremove pointless first_variadic_param attribute from method types
Matthias Braun [Thu, 17 Mar 2011 15:09:52 +0000 (16:09 +0100)]
remove pointless first_variadic_param attribute from method types

13 years agorename Store_align/Load_align to XXX_unaligned and correctly put it into the spec...
Matthias Braun [Thu, 17 Mar 2011 10:19:16 +0000 (11:19 +0100)]
rename Store_align/Load_align to XXX_unaligned and correctly put it into the spec file

13 years agosimplify opt_funccall interface
Matthias Braun [Wed, 30 Mar 2011 12:48:42 +0000 (14:48 +0200)]
simplify opt_funccall interface

13 years agomerge gcse into place_code (a better solution would be having it always on until...
Matthias Braun [Wed, 30 Mar 2011 13:10:30 +0000 (15:10 +0200)]
merge gcse into place_code (a better solution would be having it always on until the backend scheduler)

13 years agofix wrong usage of inverted vs negated condition codes
Matthias Braun [Fri, 25 Mar 2011 16:31:51 +0000 (17:31 +0100)]
fix wrong usage of inverted vs negated condition codes

13 years agofix ir_is_equality_cmp_0 returning true for signed_var > 0
Matthias Braun [Fri, 25 Mar 2011 15:05:27 +0000 (16:05 +0100)]
fix ir_is_equality_cmp_0 returning true for signed_var > 0

13 years agofix firm producing invalid code for return a > 0 with a being an int
Matthias Braun [Fri, 25 Mar 2011 15:05:07 +0000 (16:05 +0100)]
fix firm producing invalid code for return a > 0 with a being an int

13 years agoUpdated comment.
Michael Beck [Thu, 24 Mar 2011 23:32:07 +0000 (00:32 +0100)]
Updated comment.

13 years agoFix typos in comments: s/wether/whether/ and related corrections.
Michael Beck [Thu, 24 Mar 2011 23:30:05 +0000 (00:30 +0100)]
Fix typos in comments: s/wether/whether/ and related corrections.

13 years agoC99 feature removed.
Michael Beck [Thu, 24 Mar 2011 23:16:08 +0000 (00:16 +0100)]
C99 feature removed.

13 years agoUse debug printer instead direct output, fix some size_t related warnings.
Michael Beck [Thu, 24 Mar 2011 23:01:28 +0000 (00:01 +0100)]
Use debug printer instead direct output, fix some size_t related warnings.

13 years agofix and(cmp,cmp) optimisation rule, loosen verify to allow and/or/xor for reference...
Matthias Braun [Thu, 24 Mar 2011 19:28:16 +0000 (20:28 +0100)]
fix and(cmp,cmp) optimisation rule, loosen verify to allow and/or/xor for reference modes

13 years agoimplement some localopt rules for And(Cmp(a,0), Cmp(b,0))
Matthias Braun [Thu, 24 Mar 2011 17:29:23 +0000 (18:29 +0100)]
implement some localopt rules for And(Cmp(a,0), Cmp(b,0))

13 years agofix lower_d lowering Cmps too realy resulting in unnecessary 0/1 production
Matthias Braun [Thu, 24 Mar 2011 16:48:24 +0000 (17:48 +0100)]
fix lower_d lowering Cmps too realy resulting in unnecessary 0/1 production

13 years agopin prolog/epilog nodes
Matthias Braun [Tue, 22 Mar 2011 19:01:54 +0000 (20:01 +0100)]
pin prolog/epilog nodes

13 years agoadd exc_attr to all be_nodes so you can dynamically pin/unpin them
Matthias Braun [Tue, 22 Mar 2011 19:00:50 +0000 (20:00 +0100)]
add exc_attr to all be_nodes so you can dynamically pin/unpin them

13 years agoMove macro constant into the only file, which uses it.
Christoph Mallon [Thu, 17 Mar 2011 13:01:38 +0000 (14:01 +0100)]
Move macro constant into the only file, which uses it.

13 years agoRemove dead assignment und subsequently unused macro constant.
Christoph Mallon [Thu, 17 Mar 2011 13:01:05 +0000 (14:01 +0100)]
Remove dead assignment und subsequently unused macro constant.

13 years agos/keeped/kept/.
Christoph Mallon [Thu, 17 Mar 2011 13:00:12 +0000 (14:00 +0100)]
s/keeped/kept/.

13 years agoia32: get_eip and fpu_trunc_mode are not always NULL before transformation
Matthias Braun [Thu, 17 Mar 2011 13:34:38 +0000 (14:34 +0100)]
ia32: get_eip and fpu_trunc_mode are not always NULL before transformation

13 years agoRemoved unused variables.
Michael Beck [Thu, 17 Mar 2011 12:20:01 +0000 (13:20 +0100)]
Removed unused variables.

13 years agoload-after-load and load-after-store with different mode was implemented in a little...
Matthias Braun [Wed, 16 Mar 2011 17:40:35 +0000 (18:40 +0100)]
load-after-load and load-after-store with different mode was implemented in a little-endian way, disable on big-endian (until we have a real implementation)

13 years agoremove unused cacheopt code
Matthias Braun [Wed, 16 Mar 2011 17:28:53 +0000 (18:28 +0100)]
remove unused cacheopt code

13 years agosparc: abort when encountering (non-lowered) 64bit code
Matthias Braun [Wed, 16 Mar 2011 09:23:51 +0000 (10:23 +0100)]
sparc: abort when encountering (non-lowered) 64bit code

13 years agoemit global asms in all backends
Matthias Braun [Tue, 15 Mar 2011 16:03:15 +0000 (17:03 +0100)]
emit global asms in all backends

13 years agobestabs: move stabs but not backend specific text0: code into stabs
Matthias Braun [Tue, 15 Mar 2011 15:58:53 +0000 (16:58 +0100)]
bestabs: move stabs but not backend specific text0: code into stabs

13 years agobedbgout: improve function names, ensure that the end of compilation unit thing is...
Matthias Braun [Tue, 15 Mar 2011 15:52:26 +0000 (16:52 +0100)]
bedbgout: improve function names, ensure that the end of compilation unit thing is actually called

13 years agofix bug in switch lowerer (introduced when Cmp changed)
Matthias Braun [Mon, 14 Mar 2011 17:56:59 +0000 (18:56 +0100)]
fix bug in switch lowerer (introduced when Cmp changed)

13 years agosparc: to avoid trouble, move all nodes before sparc_Restore
Matthias Braun [Mon, 7 Mar 2011 19:04:07 +0000 (20:04 +0100)]
sparc: to avoid trouble, move all nodes before sparc_Restore

13 years agoavoid verifier warnings in sparc by explicitely modeling RestoreZero using the frame...
Matthias Braun [Mon, 7 Mar 2011 19:01:17 +0000 (20:01 +0100)]
avoid verifier warnings in sparc by explicitely modeling RestoreZero using the frame pointer

13 years agobestack: remove unnecessary keep edges from IncSP nodes
Matthias Braun [Mon, 7 Mar 2011 13:47:07 +0000 (14:47 +0100)]
bestack: remove unnecessary keep edges from IncSP nodes

13 years agobestack: add support for nodes resetting the stack
Matthias Braun [Mon, 7 Mar 2011 13:46:34 +0000 (14:46 +0100)]
bestack: add support for nodes resetting the stack

13 years agofix sparc_finish missing Ldf/Stf
Matthias Braun [Wed, 16 Mar 2011 09:12:38 +0000 (10:12 +0100)]
fix sparc_finish missing Ldf/Stf

13 years agomethods need no offset
Eduard Frank [Tue, 15 Mar 2011 14:46:33 +0000 (15:46 +0100)]
methods need no offset

13 years agodon't emit .space with 0 bytes
Matthias Braun [Mon, 14 Mar 2011 15:15:00 +0000 (16:15 +0100)]
don't emit .space with 0 bytes

13 years agobetranshlp: avoid current_ir_graph, fix missing node_elimination hook
Matthias Braun [Tue, 8 Mar 2011 12:38:11 +0000 (13:38 +0100)]
betranshlp: avoid current_ir_graph, fix missing node_elimination hook

13 years agoallocate spillslots at beginning/end of stackframe depending on omit_fp mode
Matthias Braun [Mon, 7 Mar 2011 19:05:11 +0000 (20:05 +0100)]
allocate spillslots at beginning/end of stackframe depending on omit_fp mode

13 years agoremove old spillslot coalescing API
Matthias Braun [Mon, 7 Mar 2011 18:56:37 +0000 (19:56 +0100)]
remove old spillslot coalescing API

13 years agobetranshlp: cleanup, pretransform end node so keep_alive works in transformers
Matthias Braun [Mon, 7 Mar 2011 19:02:13 +0000 (20:02 +0100)]
betranshlp: cleanup, pretransform end node so keep_alive works in transformers

13 years agodumper now dumps all generic backend flags
Matthias Braun [Mon, 7 Mar 2011 15:46:37 +0000 (16:46 +0100)]
dumper now dumps all generic backend flags

13 years agofix missing keep walker missing some cases
Matthias Braun [Mon, 7 Mar 2011 13:15:00 +0000 (14:15 +0100)]
fix missing keep walker missing some cases

13 years agoremove more barrier handling code
Matthias Braun [Mon, 7 Mar 2011 12:47:04 +0000 (13:47 +0100)]
remove more barrier handling code

13 years agoia32: add some asserts for the pre_transform step
Matthias Braun [Tue, 8 Mar 2011 16:00:56 +0000 (17:00 +0100)]
ia32: add some asserts for the pre_transform step

13 years agoreplace and kill survive_dce stuff
Matthias Braun [Tue, 8 Mar 2011 14:58:08 +0000 (15:58 +0100)]
replace and kill survive_dce stuff

13 years agoAdding some comments to ifconv.c
Andreas Zwinkau [Wed, 16 Mar 2011 14:19:31 +0000 (15:19 +0100)]
Adding some comments to ifconv.c

13 years agoAdapt documentation to implementation
Andreas Zwinkau [Wed, 16 Mar 2011 12:30:36 +0000 (13:30 +0100)]
Adapt documentation to implementation

Depending on definitions there is 0,1, or many immediate postdominators
in an endless loop. Our implementation also walks Keep edges, so there
is 1 postdominator.

13 years agoHandle if-conversion within endless loops properly by stopping the recursion when...
Christoph Mallon [Wed, 16 Mar 2011 14:40:01 +0000 (15:40 +0100)]
Handle if-conversion within endless loops properly by stopping the recursion when reaching the block with the conditional jump.

13 years agoSkip self-dependencies in ifconv
Andreas Zwinkau [Tue, 15 Mar 2011 15:58:45 +0000 (16:58 +0100)]
Skip self-dependencies in ifconv

Fixes C/unkept_loop.c and opt/fehler159.c

13 years agotypo
Andreas Zwinkau [Tue, 15 Mar 2011 15:39:55 +0000 (16:39 +0100)]
typo

13 years agoMake remove_compound_member() an official API method.
Michael Beck [Tue, 15 Mar 2011 02:56:15 +0000 (03:56 +0100)]
Make remove_compound_member() an official API method.

Needed by edgjfe.

13 years agoImproved 21ff67fb03f6a597f78ea76b77af206d8ad17e1a.
Michael Beck [Tue, 15 Mar 2011 02:55:28 +0000 (03:55 +0100)]
Improved 21ff67fb03f6a597f78ea76b77af206d8ad17e1a.

Make an if instead of a #if 0 on "broken" code and add an comment
that explains why the non-wroken code is not used now.

13 years agoHandle unoptimized end block smoothly.
Michael Beck [Tue, 15 Mar 2011 02:53:20 +0000 (03:53 +0100)]
Handle unoptimized end block smoothly.

Allow Bad predecessors of the end block. These are typically artifacts
of non-optimized control flow.

13 years agoFix polymorphic entity lookup in case method entities are not duplicated in every...
Julian Oppermann [Mon, 14 Mar 2011 14:56:00 +0000 (15:56 +0100)]
Fix polymorphic entity lookup in case method entities are not duplicated in every subclass.

13 years agoDisabled broken check on the inheritance representation.
Julian Oppermann [Mon, 14 Mar 2011 13:35:32 +0000 (14:35 +0100)]
Disabled broken check on the inheritance representation.

13 years agofixed size_t printing
Michael Beck [Fri, 11 Mar 2011 22:03:12 +0000 (23:03 +0100)]
fixed size_t printing

13 years agoFix typos in comments: s/it's/its/ and related corrections.
Christoph Mallon [Wed, 9 Mar 2011 14:17:15 +0000 (15:17 +0100)]
Fix typos in comments: s/it's/its/ and related corrections.

13 years agoFixed compile error in optimize build.
Sebastian Buchwald [Wed, 9 Mar 2011 09:53:00 +0000 (10:53 +0100)]
Fixed compile error in optimize build.

13 years agoFixed some typos.
Sebastian Buchwald [Wed, 9 Mar 2011 09:42:44 +0000 (10:42 +0100)]
Fixed some typos.

13 years agoC99 feature removed.
Michael Beck [Tue, 8 Mar 2011 23:49:31 +0000 (00:49 +0100)]
C99 feature removed.

13 years agofix bestate code not respecting prolog/epilog
Matthias Braun [Tue, 8 Mar 2011 11:53:12 +0000 (12:53 +0100)]
fix bestate code not respecting prolog/epilog

13 years agoremove some more code mentioning the Barrier
Matthias Braun [Mon, 7 Mar 2011 11:51:34 +0000 (12:51 +0100)]
remove some more code mentioning the Barrier

13 years agoFixed size_t related warnings.
Michael Beck [Sun, 6 Mar 2011 00:34:36 +0000 (01:34 +0100)]
Fixed size_t related warnings.

13 years agoRemoved C99 feature.
Michael Beck [Fri, 4 Mar 2011 20:11:17 +0000 (21:11 +0100)]
Removed C99 feature.

13 years agoamend to barrier removal
Matthias Braun [Fri, 4 Mar 2011 18:58:57 +0000 (19:58 +0100)]
amend to barrier removal

13 years agosparc: avoid explicitely querying the barrier
Matthias Braun [Wed, 2 Mar 2011 12:21:33 +0000 (13:21 +0100)]
sparc: avoid explicitely querying the barrier