libfirm
17 years agosort reports differently
Matthias Braun [Mon, 21 May 2007 13:39:47 +0000 (13:39 +0000)]
sort reports differently

[r13954]

17 years agoFixed an assert
Michael Beck [Mon, 21 May 2007 13:26:36 +0000 (13:26 +0000)]
Fixed an assert

[r13953]

17 years agooptimize_graph_df() now removes superfluous keep-alive edges
Michael Beck [Mon, 21 May 2007 13:07:55 +0000 (13:07 +0000)]
optimize_graph_df() now removes superfluous keep-alive edges

[r13951]

17 years agoget_irn_generic_attr() cannot have a const argument
Michael Beck [Mon, 21 May 2007 13:05:37 +0000 (13:05 +0000)]
get_irn_generic_attr() cannot have a const argument
__get_irn_generic_attr() added to speed up backend

[r13950]

17 years agoHash() should return an unsigned
Michael Beck [Mon, 21 May 2007 13:03:39 +0000 (13:03 +0000)]
Hash() should return an unsigned

[r13949]

17 years agoFixed the last fix again:
Michael Beck [Sun, 20 May 2007 12:52:24 +0000 (12:52 +0000)]
Fixed the last fix again:
- we cannot remove keep-alives here because only blocks are visited, removing KA requires node visiting
- now its clear why always moving Phis from pred block was a bad idea (and was fixed with the strange replace). It must be only done if pred dominated the current block.

[r13930]

17 years agoBugFix for the cfoptbug.c:
Michael Beck [Sun, 20 May 2007 03:10:27 +0000 (03:10 +0000)]
BugFix for the cfoptbug.c:
Removed the old "defer" code, this code was wrong (and the old replacement code as well). After that, the original code was revived.
However, now ALL Phi nodes are copied even those unused.

Added keep-alive optimizer killing useless keep-alives.
This kills some created useless nodes.
It does not help with endless loops :-(

Possible fix: use back edges to check if there are users ...

[r13929]

17 years agoC99 construct removed
Michael Beck [Sun, 20 May 2007 01:13:24 +0000 (01:13 +0000)]
C99 construct removed

[r13927]

17 years agolower_hl.h added
Michael Beck [Sun, 20 May 2007 01:11:58 +0000 (01:11 +0000)]
lower_hl.h added

[r13926]

17 years ago[r13918]
Michael Beck [Fri, 18 May 2007 15:52:18 +0000 (15:52 +0000)]
[r13918]

17 years agoinclude lower_hl.h in complete header
Matthias Braun [Fri, 18 May 2007 13:40:42 +0000 (13:40 +0000)]
include lower_hl.h in complete header

[r13916]

17 years agoemit execfreqs for all blocks. ignore the am_flavour setting and look at the actual...
Matthias Braun [Fri, 18 May 2007 13:03:37 +0000 (13:03 +0000)]
emit execfreqs for all blocks. ignore the am_flavour setting and look at the actual values of the AM variables

[r13915]

17 years agobackends can specify costs for spill and reload
Matthias Braun [Fri, 18 May 2007 12:53:18 +0000 (12:53 +0000)]
backends can specify costs for spill and reload

[r13914]

17 years agorework rematerialisation code to look at execution frequencies
Matthias Braun [Fri, 18 May 2007 12:48:56 +0000 (12:48 +0000)]
rework rematerialisation code to look at execution frequencies

[r13913]

17 years agoLoads shall only remove stores from the exec after sets.
Christoph Mallon [Fri, 18 May 2007 11:21:38 +0000 (11:21 +0000)]
Loads shall only remove stores from the exec after sets.

[r13912]

17 years agofixed the 'reformatting' of the last committ which made everything really kaputt...
Matthias Braun [Thu, 17 May 2007 10:45:35 +0000 (10:45 +0000)]
fixed the 'reformatting' of the last committ which made everything really kaputt...

[r13911]

17 years agoUse the proper magic word (get_Block_n_cfgpreds()) to get the number of cf predecesso...
Christoph Mallon [Thu, 17 May 2007 06:39:30 +0000 (06:39 +0000)]
Use the proper magic word (get_Block_n_cfgpreds()) to get the number of cf predecessors of a block instead of the generic get_irn_arity().

[r13910]

17 years agowe should normalize to multiple returns (it's not working though)
Matthias Braun [Wed, 16 May 2007 17:22:01 +0000 (17:22 +0000)]
we should normalize to multiple returns (it's not working though)

[r13909]

17 years agoget_irn_generic_attr supports const ir_node* now
Matthias Braun [Wed, 16 May 2007 17:18:10 +0000 (17:18 +0000)]
get_irn_generic_attr supports const ir_node* now

[r13908]

17 years agosupport for custom attribute types on nodes
Matthias Braun [Wed, 16 May 2007 17:17:30 +0000 (17:17 +0000)]
support for custom attribute types on nodes

[r13907]

17 years agoadjust schedule verifier
Matthias Braun [Wed, 16 May 2007 17:17:05 +0000 (17:17 +0000)]
adjust schedule verifier

[r13906]

17 years agomore asserts
Matthias Braun [Wed, 16 May 2007 14:51:32 +0000 (14:51 +0000)]
more asserts

[r13901]

17 years agoset remat flag for be_StackParam
Matthias Braun [Wed, 16 May 2007 14:51:16 +0000 (14:51 +0000)]
set remat flag for be_StackParam

[r13900]

17 years agosimplify remat test
Matthias Braun [Wed, 16 May 2007 14:51:00 +0000 (14:51 +0000)]
simplify remat test

[r13899]

17 years agoldst2 added
Michael Beck [Wed, 16 May 2007 14:17:36 +0000 (14:17 +0000)]
ldst2 added

[r13896]

17 years agoadd missing include
Michael Beck [Wed, 16 May 2007 14:16:46 +0000 (14:16 +0000)]
add missing include

[r13895]

17 years agofix
Matthias Braun [Wed, 16 May 2007 09:06:03 +0000 (09:06 +0000)]
fix

[r13890]

17 years agofix typo so that irnodeset really uses node numbers and not pointers in debug mode
Matthias Braun [Wed, 16 May 2007 09:00:18 +0000 (09:00 +0000)]
fix typo so that irnodeset really uses node numbers and not pointers in debug mode

[r13889]

17 years agoremoved color map (just skip ignore colors in main loop now)
Christian Würdig [Tue, 15 May 2007 16:04:33 +0000 (16:04 +0000)]
removed color map (just skip ignore colors in main loop now)
cache interfering neighbours of chunk nodes in chunk itself (interference checks should be faster now)

[r13885]

17 years agobitset_popcnt returns number of set bits as unsigned
Christian Würdig [Tue, 15 May 2007 15:28:57 +0000 (15:28 +0000)]
bitset_popcnt returns number of set bits as unsigned

[r13884]

17 years agobe_abi_put_ignore_regs returns now number of ignore registers as unsigned
Christian Würdig [Tue, 15 May 2007 15:28:22 +0000 (15:28 +0000)]
be_abi_put_ignore_regs returns now number of ignore registers as unsigned

[r13883]

17 years agoConstify.
Christoph Mallon [Tue, 15 May 2007 15:11:33 +0000 (15:11 +0000)]
Constify.

[r13882]

17 years agoRemove unused variable.
Christoph Mallon [Tue, 15 May 2007 14:57:27 +0000 (14:57 +0000)]
Remove unused variable.

[r13881]

17 years agomake lots of irn functions accept const ir_node
Matthias Braun [Tue, 15 May 2007 14:56:50 +0000 (14:56 +0000)]
make lots of irn functions accept const ir_node

[r13880]

17 years agofixed strange obstack usage
Christian Würdig [Tue, 15 May 2007 13:47:48 +0000 (13:47 +0000)]
fixed strange obstack usage
changed indent

[r13877]

17 years agofixed handling of other_same/other_different constraint handling
Christian Würdig [Mon, 14 May 2007 15:41:30 +0000 (15:41 +0000)]
fixed handling of other_same/other_different constraint handling

[r13871]

17 years agoremoved unused function
Christian Würdig [Mon, 14 May 2007 15:41:00 +0000 (15:41 +0000)]
removed unused function
fixed other_same constraint handling

[r13870]

17 years agorevert iteration direction over interfering neighbours
Christian Würdig [Mon, 14 May 2007 15:40:19 +0000 (15:40 +0000)]
revert iteration direction over interfering neighbours

[r13869]

17 years agoBugFix: skip_Proj when asking for should_be_same requirement node
Andreas Schösser [Mon, 14 May 2007 15:24:42 +0000 (15:24 +0000)]
BugFix: skip_Proj when asking for should_be_same requirement node

[r13868]

17 years agoreuse old proj numbers for projs where only the mode is changes
Matthias Braun [Mon, 14 May 2007 15:18:10 +0000 (15:18 +0000)]
reuse old proj numbers for projs where only the mode is changes

[r13867]

17 years agopartly reverted and reimplemented the changes from tweo revisions before (something...
Christian Würdig [Mon, 14 May 2007 13:38:02 +0000 (13:38 +0000)]
partly reverted and reimplemented the changes from tweo revisions before (something broke the implementation, right now it should be safe)

[r13861]

17 years agoAdded some new files to ir/ana. Now contains extgrs, which can be easliy turned off.
Andreas Schösser [Mon, 14 May 2007 11:36:05 +0000 (11:36 +0000)]
Added some new files to ir/ana. Now contains extgrs, which can be easliy turned off.

[r13856]

17 years agogen_decls removed
Michael Beck [Mon, 14 May 2007 11:12:46 +0000 (11:12 +0000)]
gen_decls removed

[r13855]

17 years agowe can convert reference to mode_Iu now
Matthias Braun [Mon, 14 May 2007 10:53:02 +0000 (10:53 +0000)]
we can convert reference to mode_Iu now

[r13854]

17 years agoallow conversion of reference tarvals to mode_Iu
Matthias Braun [Mon, 14 May 2007 10:52:42 +0000 (10:52 +0000)]
allow conversion of reference tarvals to mode_Iu

[r13853]

17 years agoupdate docu
Matthias Braun [Mon, 14 May 2007 08:38:57 +0000 (08:38 +0000)]
update docu

[r13849]

17 years agoAltering (and especially removing) control flow predecessors of a block which is...
Christoph Mallon [Sun, 13 May 2007 16:02:07 +0000 (16:02 +0000)]
Altering (and especially removing) control flow predecessors of a block which is not the current block of a block walk is a very bad idea.
Use the proven set-predecessors-to-Bad method instead.
This fixes compiling bzip2 with cond-eval.

[r13844]

17 years agotcc testprogram
Matthias Braun [Sun, 13 May 2007 15:59:38 +0000 (15:59 +0000)]
tcc testprogram

[r13843]

17 years agomove worst.c to extreme/ dir so it is not tested in each makereport run
Matthias Braun [Sun, 13 May 2007 15:28:25 +0000 (15:28 +0000)]
move worst.c to extreme/ dir so it is not tested in each makereport run

[r13842]

17 years agoworkaround memperm problems with different entity sizes (not nice, but still better...
Matthias Braun [Sun, 13 May 2007 15:19:21 +0000 (15:19 +0000)]
workaround memperm problems with different entity sizes (not nice, but still better than the assert until we have a new spillslot coalescer)

[r13841]

17 years agorevert accidentally comitted changs in recursive.c
Matthias Braun [Sun, 13 May 2007 15:17:21 +0000 (15:17 +0000)]
revert accidentally comitted changs in recursive.c

[r13840]

17 years agoremoved stdint.h again -- mallon soll die typen halt ausschreiben, die ganze libfirm...
Christian Würdig [Sun, 13 May 2007 15:14:36 +0000 (15:14 +0000)]
removed stdint.h again -- mallon soll die typen halt ausschreiben, die ganze libfirm kommt ohne stdint.h aus
removed some unnecessary casts

[r13839]

17 years agoallow specification of names for in parameters in spec file
Matthias Braun [Sun, 13 May 2007 15:13:50 +0000 (15:13 +0000)]
allow specification of names for in parameters in spec file

[r13838]

17 years agoreadded stdint.h header, otherwise you have no uintptr_t on unix, the real solution...
Matthias Braun [Sun, 13 May 2007 15:12:03 +0000 (15:12 +0000)]
readded stdint.h header, otherwise you have no uintptr_t on unix, the real solution would be to use something different from uintptr_tr

[r13837]

17 years agoFix typos and remove stale comment.
Christoph Mallon [Sun, 13 May 2007 14:55:16 +0000 (14:55 +0000)]
Fix typos and remove stale comment.

[r13836]

17 years agonew file demonstrating array initializer bugs
Matthias Braun [Sun, 13 May 2007 14:47:59 +0000 (14:47 +0000)]
new file demonstrating array initializer bugs

[r13835]

17 years agoremoved include <stdint.h> (windows has none)
Christian Würdig [Sun, 13 May 2007 14:37:13 +0000 (14:37 +0000)]
removed include <stdint.h> (windows has none)
fixed C99-style
added new libFirm header

[r13834]

17 years agoptr2int conversion test
Matthias Braun [Sun, 13 May 2007 14:35:51 +0000 (14:35 +0000)]
ptr2int conversion test

[r13833]

17 years agodon't spam source folders with graphs, warn when execution frequencies can't be deter...
Matthias Braun [Sun, 13 May 2007 14:24:27 +0000 (14:24 +0000)]
don't spam source folders with graphs, warn when execution frequencies can't be determined

[r13832]

17 years agofile demonstrating a control flow optimisation bug
Matthias Braun [Sun, 13 May 2007 13:54:25 +0000 (13:54 +0000)]
file demonstrating a control flow optimisation bug

[r13831]

17 years ago- Remove incorrect comment
Christoph Mallon [Sun, 13 May 2007 05:41:16 +0000 (05:41 +0000)]
- Remove incorrect comment
- Use assignment instead of memcpy()

[r13828]

17 years agoRemove the first if-conversion implementation.
Christoph Mallon [Sun, 13 May 2007 05:09:15 +0000 (05:09 +0000)]
Remove the first if-conversion implementation.

[r13827]

17 years agoproperties updated
Michael Beck [Sat, 12 May 2007 14:37:53 +0000 (14:37 +0000)]
properties updated

[r13820]

17 years agoSet the initial EBP Proj to ignore.
Michael Beck [Sat, 12 May 2007 14:36:19 +0000 (14:36 +0000)]
Set the initial EBP Proj to ignore.

[r13819]

17 years agoinitial checkin of a function with really large basic blocks
Christian Würdig [Fri, 11 May 2007 15:32:58 +0000 (15:32 +0000)]
initial checkin of a function with really large basic blocks

[r13811]

17 years agoBugFix: declare as extern, otherwise linker will create two entities
Christian Würdig [Fri, 11 May 2007 15:31:17 +0000 (15:31 +0000)]
BugFix: declare as extern, otherwise linker will create two entities

[r13810]

17 years agofix when debug mode is disabled
Matthias Braun [Fri, 11 May 2007 15:31:10 +0000 (15:31 +0000)]
fix when debug mode is disabled

[r13809]

17 years agoadded some defines for node inputs
Christian Würdig [Fri, 11 May 2007 15:21:01 +0000 (15:21 +0000)]
added some defines for node inputs

[r13808]

17 years agocalculate chunks on demand (saving memory)
Michael Beck [Fri, 11 May 2007 14:41:00 +0000 (14:41 +0000)]
calculate chunks on demand (saving memory)
use free lists for allocating chunks on the obstack
traverse the ifg only once to get the neighbours

[r13807]

17 years agoBugFix: pass dumper object instead of FILE pointer
Christian Würdig [Fri, 11 May 2007 14:35:16 +0000 (14:35 +0000)]
BugFix: pass dumper object instead of FILE pointer

[r13806]

17 years agoreduced stack overhead by transforming nodes as early as possible in functions
Christian Würdig [Fri, 11 May 2007 14:34:33 +0000 (14:34 +0000)]
reduced stack overhead by transforming nodes as early as possible in functions

[r13805]

17 years agoFirst iteration to detotalise memory in loops.
Christoph Mallon [Fri, 11 May 2007 13:21:05 +0000 (13:21 +0000)]
First iteration to detotalise memory in loops.

[r13801]

17 years agoppc32 gen_decls is not used anymore
Matthias Braun [Fri, 11 May 2007 13:13:00 +0000 (13:13 +0000)]
ppc32 gen_decls is not used anymore

[r13800]

17 years agoChanged edge classification:
Sebastian Hack [Fri, 11 May 2007 09:44:21 +0000 (09:44 +0000)]
Changed edge classification:
Edges that lead from one block to itself are classified as back- not forward-edges

Disabled debug dumping

[r13791]

17 years agotypo fixed
Michael Beck [Fri, 11 May 2007 00:12:00 +0000 (00:12 +0000)]
typo fixed

[r13788]

17 years agosome doxygen comments added
Michael Beck [Thu, 10 May 2007 23:55:34 +0000 (23:55 +0000)]
some doxygen comments added

[r13787]

17 years agotypo fixed
Michael Beck [Thu, 10 May 2007 23:54:39 +0000 (23:54 +0000)]
typo fixed

[r13786]

17 years agoAlign the size of Alloc/Free nodes to the stack minimum alignment.
Michael Beck [Thu, 10 May 2007 23:54:15 +0000 (23:54 +0000)]
Align the size of Alloc/Free nodes to the stack minimum alignment.
This is currently pinned to 4 bytes, must be interrogated from the backend.

[r13785]

17 years agodoxygen comments added
Michael Beck [Thu, 10 May 2007 23:52:44 +0000 (23:52 +0000)]
doxygen comments added

[r13784]

17 years agoupdated header
Michael Beck [Thu, 10 May 2007 22:07:19 +0000 (22:07 +0000)]
updated header
added properties

[r13783]

17 years agoAdded new header
Michael Beck [Thu, 10 May 2007 22:00:43 +0000 (22:00 +0000)]
Added new header

[r13782]

17 years agoneed firm_config.h include because of __attribute__ usage
Michael Beck [Thu, 10 May 2007 21:50:58 +0000 (21:50 +0000)]
need firm_config.h include because of __attribute__ usage

[r13781]

17 years ago__attribute__ must be defined here, it is used in headers
Michael Beck [Thu, 10 May 2007 21:49:09 +0000 (21:49 +0000)]
__attribute__ must be defined here, it is used in headers

[r13780]

17 years agochanged type to unsigned to suppress warnings
Michael Beck [Thu, 10 May 2007 21:41:22 +0000 (21:41 +0000)]
changed type to unsigned to suppress warnings

[r13779]

17 years agoAdded new header
Michael Beck [Thu, 10 May 2007 21:40:37 +0000 (21:40 +0000)]
Added new header

[r13778]

17 years agoFixed header
Michael Beck [Thu, 10 May 2007 21:38:22 +0000 (21:38 +0000)]
Fixed header

[r13777]

17 years agoFixed header
Michael Beck [Thu, 10 May 2007 21:37:56 +0000 (21:37 +0000)]
Fixed header

[r13776]

17 years agoAdd declarations for bitset_andnot(), bitset_or() and bitset_xor() to support VA
Michael Beck [Thu, 10 May 2007 21:29:20 +0000 (21:29 +0000)]
Add declarations for bitset_andnot(), bitset_or() and bitset_xor() to support VA

[r13774]

17 years agoused bitset_pos_t type to suppress warnings
Michael Beck [Thu, 10 May 2007 21:21:06 +0000 (21:21 +0000)]
used bitset_pos_t type to suppress warnings

[r13773]

17 years agoAdded btset intersection test and a "fast" bitset empty test
Sebastian Hack [Thu, 10 May 2007 15:58:28 +0000 (15:58 +0000)]
Added btset intersection test and a "fast" bitset empty test

[r13763]

17 years ago* Added a new file: beintlive_t.h which subsumes all interferene/liveness checks
Sebastian Hack [Thu, 10 May 2007 15:43:44 +0000 (15:43 +0000)]
* Added a new file: beintlive_t.h which subsumes all interferene/liveness checks
  - it uses the new liveness checking algos in ana/irlivechk.h
  - value_dominates, etc. was erased from bera.h because it does not belong there

* bechordal.c features an experimental coloring (by defualt disabled by macro)
  which can color the routine in a single pass without building the "borders".
  A long term goal is to disable borders completely but they are used in other
  places, too.

* The 1st parameter of values_interfere is now a birg and not a be_lv_t. There
  is now a special routine lv_values_interfere() for those who want to use the
  computed liveness explicitly. changing the parameter makes it more easy to
  switch to other liveness implementations.

All other files were modified to respect the changes

[r13762]

17 years agoAdded generic Depth First Search facility
Sebastian Hack [Thu, 10 May 2007 15:32:44 +0000 (15:32 +0000)]
Added generic Depth First Search facility
Added liveness (in/end/out) checks which only depend in the CFG

[r13761]

17 years agoSmall changes
Sebastian Hack [Thu, 10 May 2007 14:02:45 +0000 (14:02 +0000)]
Small changes
Some of the check routines should be moved to a _t.h file to be inlined better

[r13759]

17 years agofixed a compile error:
Sebastian Hack [Thu, 10 May 2007 13:24:51 +0000 (13:24 +0000)]
fixed a compile error:
debug module registration accessed a struct field which was not there

[r13758]

17 years agoreformatted, add is_ia32_Store8Bit to is_ia32_St
Matthias Braun [Thu, 10 May 2007 08:02:44 +0000 (08:02 +0000)]
reformatted, add is_ia32_Store8Bit to is_ia32_St

[r13754]

17 years agolast change with mode suffix was wrong for x87 nodes, don't exchange left/right for...
Matthias Braun [Wed, 9 May 2007 21:17:25 +0000 (21:17 +0000)]
last change with mode suffix was wrong for x87 nodes, don't exchange left/right for dest addr mode for non-commutative nodes

[r13751]

17 years agonodes that support dest AM aren't always mode l
Matthias Braun [Wed, 9 May 2007 18:09:31 +0000 (18:09 +0000)]
nodes that support dest AM aren't always mode l

[r13750]

17 years agomode suffix changes
Matthias Braun [Wed, 9 May 2007 18:04:54 +0000 (18:04 +0000)]
mode suffix changes

[r13749]

17 years agoseveral fixes to dest address mode
Matthias Braun [Wed, 9 May 2007 17:53:52 +0000 (17:53 +0000)]
several fixes to dest address mode

[r13748]

17 years agowe can only handle 32bit compares at the moment
Matthias Braun [Wed, 9 May 2007 17:53:41 +0000 (17:53 +0000)]
we can only handle 32bit compares at the moment

[r13747]