libfirm
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)

13 years agokeeps behind a series of phis are fine
Matthias Braun [Wed, 2 Mar 2011 09:56:31 +0000 (10:56 +0100)]
keeps behind a series of phis are fine

13 years agoremove minir dump experiments
Matthias Braun [Wed, 2 Mar 2011 13:23:01 +0000 (14:23 +0100)]
remove minir dump experiments

13 years agoremove unmaintained/broken bespillbelady2
Matthias Braun [Wed, 2 Mar 2011 12:53:34 +0000 (13:53 +0100)]
remove unmaintained/broken bespillbelady2

13 years agofix code after TLS-type change
Matthias Braun [Fri, 4 Mar 2011 13:17:02 +0000 (14:17 +0100)]
fix code after TLS-type change

13 years agoFix some -Wmissing-declarations warnings
Matthias Braun [Thu, 3 Mar 2011 09:26:10 +0000 (10:26 +0100)]
Fix some -Wmissing-declarations warnings

13 years agofix more size_t warnings
Matthias Braun [Fri, 4 Mar 2011 12:04:36 +0000 (13:04 +0100)]
fix more size_t warnings

13 years agoadd compound parameter lower to lower_for_target
Matthias Braun [Fri, 4 Mar 2011 11:43:00 +0000 (12:43 +0100)]
add compound parameter lower to lower_for_target

13 years agoFixed size_t related warnings.
Michael Beck [Thu, 3 Mar 2011 21:43:58 +0000 (22:43 +0100)]
Fixed size_t related warnings.

13 years agoFurther pushed size_t: structure analysis uses size_t now.
Michael Beck [Thu, 3 Mar 2011 21:31:45 +0000 (22:31 +0100)]
Further pushed size_t: structure analysis uses size_t now.

- simplified code
- deleted macros and useless casts
- fixed some debug messages

13 years agoIterate over all segment types when detecting static allocated objects in rta.
Michael Beck [Thu, 3 Mar 2011 20:39:27 +0000 (21:39 +0100)]
Iterate over all segment types when detecting static allocated objects in rta.

13 years agoTLS type must be a struct type, as stated by the documentation.
Michael Beck [Thu, 3 Mar 2011 20:38:20 +0000 (21:38 +0100)]
TLS type must be a struct type, as stated by the documentation.

13 years agoFix rapid type analysis: TLS type is a class type.
Julian Oppermann [Thu, 3 Mar 2011 10:19:21 +0000 (11:19 +0100)]
Fix rapid type analysis: TLS type is a class type.

13 years agoFixed size_t related warnings.
Michael Beck [Wed, 2 Mar 2011 22:53:34 +0000 (23:53 +0100)]
Fixed size_t related warnings.

Fixed typo.

13 years agoFixed size_t related warnings.
Michael Beck [Wed, 2 Mar 2011 22:43:49 +0000 (23:43 +0100)]
Fixed size_t related warnings.

13 years agoFixed size_t related warnings in dumping code.
Michael Beck [Wed, 2 Mar 2011 22:38:08 +0000 (23:38 +0100)]
Fixed size_t related warnings in dumping code.

13 years agoFurther pushed size_t: callgraph functions uses size_t now.
Michael Beck [Wed, 2 Mar 2011 22:34:57 +0000 (23:34 +0100)]
Further pushed size_t: callgraph functions uses size_t now.

13 years agoFixed size_t related warnings.
Michael Beck [Wed, 2 Mar 2011 08:31:25 +0000 (09:31 +0100)]
Fixed size_t related warnings.

13 years agoFurther pushed size_t: trouts functions uses size_t now.
Michael Beck [Wed, 2 Mar 2011 08:30:52 +0000 (09:30 +0100)]
Further pushed size_t: trouts functions uses size_t now.

13 years agoFixed size_t related warnings.
Michael Beck [Tue, 1 Mar 2011 23:33:43 +0000 (00:33 +0100)]
Fixed size_t related warnings.

13 years agoFurther pushed size_t: ir_initializer_t uses size_t now.
Michael Beck [Tue, 1 Mar 2011 23:18:47 +0000 (00:18 +0100)]
Further pushed size_t: ir_initializer_t uses size_t now.

13 years agoFixed size_t related warnings.
Michael Beck [Tue, 1 Mar 2011 23:16:46 +0000 (00:16 +0100)]
Fixed size_t related warnings.

13 years agoC99 features removed.
Michael Beck [Tue, 1 Mar 2011 01:47:33 +0000 (02:47 +0100)]
C99 features removed.

13 years agofix warnings because compare_attr gets const nodes now
Matthias Braun [Mon, 28 Feb 2011 18:48:29 +0000 (19:48 +0100)]
fix warnings because compare_attr gets const nodes now

13 years agoia32: prefere != over < or > relation where possible
Matthias Braun [Mon, 28 Feb 2011 15:53:53 +0000 (16:53 +0100)]
ia32: prefere != over < or > relation where possible

13 years agofix amd64 backend since negated_relation may return unordered now
Matthias Braun [Mon, 28 Feb 2011 14:43:19 +0000 (15:43 +0100)]
fix amd64 backend since negated_relation may return unordered now

13 years agofix confirms being broken with Cmp changes
Matthias Braun [Mon, 28 Feb 2011 14:36:38 +0000 (15:36 +0100)]
fix confirms being broken with Cmp changes

13 years agoperform gigo first so no optimization sees bad inputs with wrong mode
Matthias Braun [Mon, 28 Feb 2011 12:26:25 +0000 (13:26 +0100)]
perform gigo first so no optimization sees bad inputs with wrong mode

13 years agofix mux_allowed expecting Proj(Cmp) instead of Cmp
Matthias Braun [Mon, 28 Feb 2011 12:26:10 +0000 (13:26 +0100)]
fix mux_allowed expecting Proj(Cmp) instead of Cmp

13 years agoFixed warning about strange position of be_Keeps in the schedule.
Sebastian Buchwald [Wed, 23 Feb 2011 16:04:44 +0000 (17:04 +0100)]
Fixed warning about strange position of be_Keeps in the schedule.

The warning arises from the removal of the barrier before peephole
optimization. An operand of the barrier is now kept by a new be_Keep
which is scheduled directly after the operand.

13 years agoFixed some typos.
Sebastian Buchwald [Thu, 17 Feb 2011 09:38:51 +0000 (10:38 +0100)]
Fixed some typos.

13 years agostarted adding a relation to the Cmp node
Matthias Braun [Mon, 31 Jan 2011 00:02:17 +0000 (01:02 +0100)]
started adding a relation to the Cmp node

13 years agoSimplified the code and fixed a comment.
Michael Beck [Thu, 24 Feb 2011 22:36:40 +0000 (22:36 +0000)]
Simplified the code and fixed a comment.

No functional change.

[r28460]

13 years agocombo uses now the node_cmp_attr_func for lambda.opcode.
Michael Beck [Thu, 24 Feb 2011 22:21:01 +0000 (22:21 +0000)]
combo uses now the node_cmp_attr_func for lambda.opcode.

This simplifies the code and removes some divergencies between the CSE and
combo.

[r28459]

13 years agoConstify node_cmp_attr_func.
Michael Beck [Thu, 24 Feb 2011 22:20:50 +0000 (22:20 +0000)]
Constify node_cmp_attr_func.

[r28458]

13 years agoSplit the divmod attribute into one div and one mod attribute.
Michael Beck [Thu, 24 Feb 2011 22:20:25 +0000 (22:20 +0000)]
Split the divmod attribute into one div and one mod attribute.

[r28457]

13 years agogeneralize bittest pattern
Matthias Braun [Thu, 24 Feb 2011 18:41:52 +0000 (19:41 +0100)]
generalize bittest pattern

13 years agodo gigo earlier to avoid optimisations seeing bad inputs with wrong more
Matthias Braun [Thu, 24 Feb 2011 18:17:02 +0000 (19:17 +0100)]
do gigo earlier to avoid optimisations seeing bad inputs with wrong more

13 years agofix a bunch of whitespace errors in headerfiles
Matthias Braun [Thu, 24 Feb 2011 12:00:10 +0000 (13:00 +0100)]
fix a bunch of whitespace errors in headerfiles

13 years agoUse Lea instead of Add in the ia32 transformer.
Christoph Mallon [Thu, 24 Feb 2011 14:30:17 +0000 (14:30 +0000)]
Use Lea instead of Add in the ia32 transformer.

[r28454]

13 years agoia32_Lea cannot use immediates, set the offset instead.
Christoph Mallon [Thu, 24 Feb 2011 14:30:15 +0000 (14:30 +0000)]
ia32_Lea cannot use immediates, set the offset instead.

[r28453]

13 years agofix broken bt instruction after ia32 cc rewrite
Matthias Braun [Thu, 24 Feb 2011 10:29:09 +0000 (10:29 +0000)]
fix broken bt instruction after ia32 cc rewrite

[r28447]

13 years agoFix beabi call sorting
Andreas Zwinkau [Tue, 22 Feb 2011 10:24:27 +0000 (10:24 +0000)]
Fix beabi call sorting

Difference of idx for Calls with no order relation is stable,
but may lead to circular dependencies. Fixed by looking at
the heights first.

Fixes backend/transform_loop.c (with -O0)

[r28436]

13 years agoremove confusing, unused and broken function
Matthias Braun [Mon, 21 Feb 2011 15:52:05 +0000 (15:52 +0000)]
remove confusing, unused and broken function

[r28435]

13 years agoSkip shift dependency if no other users
Andreas Zwinkau [Mon, 21 Feb 2011 15:27:12 +0000 (15:27 +0000)]
Skip shift dependency if no other users

If a shift operation has a dependency operand (64bit shifts),
then instruction selection inserts a dependency edge between them,
so the scheduler orders them correctly. However, if the operand
is not used, the scheduler is confused about the dependency edge, which
is never resolved.

Fixes opt/longlong.c testcase

[r28434]

13 years agoFix opt/fehler180
Andreas Zwinkau [Mon, 21 Feb 2011 12:58:44 +0000 (12:58 +0000)]
Fix opt/fehler180

Respect block dominance in localopt. Node a may not be live in b's block.

[r28430]

13 years agofix wrong usage of ircons functions
Matthias Braun [Mon, 21 Feb 2011 11:44:34 +0000 (11:44 +0000)]
fix wrong usage of ircons functions

[r28426]