libfirm
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

13 years agosparc: improved IncSP/Save/Restore handling
Matthias Braun [Mon, 28 Feb 2011 18:43:07 +0000 (19:43 +0100)]
sparc: improved IncSP/Save/Restore handling

13 years agosparc: document authors
Matthias Braun [Thu, 24 Feb 2011 13:57:49 +0000 (14:57 +0100)]
sparc: document authors

13 years agosparc: factor out is_imm_encodeable
Matthias Braun [Thu, 24 Feb 2011 13:51:43 +0000 (14:51 +0100)]
sparc: factor out is_imm_encodeable

13 years agosparc: fix problems after recent firm updates
Matthias Braun [Thu, 24 Feb 2011 13:09:49 +0000 (14:09 +0100)]
sparc: fix problems after recent firm updates

13 years agodump graph after code-selection
Matthias Braun [Tue, 1 Mar 2011 13:23:48 +0000 (14:23 +0100)]
dump graph after code-selection

13 years agoremove be_Barrier and lots of hacks for maintaining it
Matthias Braun [Fri, 4 Mar 2011 16:31:41 +0000 (17:31 +0100)]
remove be_Barrier and lots of hacks for maintaining it

13 years agoremove unused be_add_remat function
Matthias Braun [Fri, 4 Mar 2011 16:03:33 +0000 (17:03 +0100)]
remove unused be_add_remat function

13 years agoadd priority classes to scheduler, create prolog and epilog classes
Matthias Braun [Fri, 4 Mar 2011 15:21:30 +0000 (16:21 +0100)]
add priority classes to scheduler, create prolog and epilog classes

13 years agofix backend nodes not copying flags correctly
Matthias Braun [Fri, 4 Mar 2011 15:20:30 +0000 (16:20 +0100)]
fix backend nodes not copying flags correctly

13 years agocleanup listscheduler code
Matthias Braun [Thu, 3 Mar 2011 14:57:06 +0000 (15:57 +0100)]
cleanup listscheduler code

13 years agobeabi: simplify fix_start_block, avoid links to replaced nodes through anchors
Matthias Braun [Thu, 3 Mar 2011 14:20:58 +0000 (15:20 +0100)]
beabi: simplify fix_start_block, avoid links to replaced nodes through anchors

13 years agoremove mostly unused/broken liveness tracking in scheduler
Matthias Braun [Thu, 3 Mar 2011 13:29:51 +0000 (14:29 +0100)]
remove mostly unused/broken liveness tracking in scheduler

13 years agocleanup and description in beinfo for middleend nodes
Matthias Braun [Thu, 3 Mar 2011 12:46:06 +0000 (13:46 +0100)]
cleanup and description in beinfo for middleend nodes

13 years agoremove to_appear_in_schedule function, use flags instead
Matthias Braun [Thu, 3 Mar 2011 12:12:42 +0000 (13:12 +0100)]
remove to_appear_in_schedule function, use flags instead

13 years agocleanup/flatten some backend options
Matthias Braun [Wed, 2 Mar 2011 14:51:57 +0000 (15:51 +0100)]
cleanup/flatten some backend options

13 years agorework schedulers to register similar like regallocators/spillers
Matthias Braun [Wed, 2 Mar 2011 14:38:57 +0000 (15:38 +0100)]
rework schedulers to register similar like regallocators/spillers

13 years agoremove support for schedule preparation steps (both are unmaintained and broken)
Matthias Braun [Wed, 2 Mar 2011 13:46:26 +0000 (14:46 +0100)]
remove support for schedule preparation steps (both are unmaintained and broken)

13 years agocleanup besched header
Matthias Braun [Wed, 2 Mar 2011 13:20:57 +0000 (14:20 +0100)]
cleanup besched header

13 years agokeep_alive_barrier operand used wrong block; schedule keep behind phi sequences
Matthias Braun [Wed, 2 Mar 2011 09:57:19 +0000 (10:57 +0100)]
keep_alive_barrier operand used wrong block; schedule keep behind phi sequences

13 years agoimprove some verify messages
Matthias Braun [Thu, 3 Mar 2011 14:20:26 +0000 (15:20 +0100)]
improve some verify messages

13 years agoremove delay slot handling from verifier code
Matthias Braun [Wed, 2 Mar 2011 09:51:57 +0000 (10:51 +0100)]
remove delay slot handling from verifier code
(they are not represented in the firm schedule)