Michael Beck [Wed, 23 May 2007 13:56:17 +0000 (13:56 +0000)]
add_irn_keepalive()
- only Phi, Block and Keep nodes can be kept alive!
Workaround for beabi:
- beabi needs to keep a Proj(M) :-(
[r14005]
Michael Beck [Wed, 23 May 2007 13:15:57 +0000 (13:15 +0000)]
- changed Phi0 attribute to be a struct
- Phi0 attribute is only available onb Phi0 nodes
This should now allow CSE on Phi nodes!
[r14002]
Christian Würdig [Wed, 23 May 2007 11:31:45 +0000 (11:31 +0000)]
added some comments
removed unused code
added some optimizations
[r14001]
Michael Beck [Wed, 23 May 2007 10:03:32 +0000 (10:03 +0000)]
Used new Div result mode
[r13999]
Michael Beck [Wed, 23 May 2007 10:02:13 +0000 (10:02 +0000)]
Verify new result mode
[r13997]
Michael Beck [Wed, 23 May 2007 09:49:24 +0000 (09:49 +0000)]
Add result mode to Division operations.
[r13995]
Christoph Mallon [Wed, 23 May 2007 09:03:09 +0000 (09:03 +0000)]
Use the more verbose comment on the edges-execfreq workaround matze originally wrote.
[r13994]
Matthias Braun [Wed, 23 May 2007 08:53:32 +0000 (08:53 +0000)]
fix uninitialized variables
[r13993]
Christoph Mallon [Tue, 22 May 2007 18:46:05 +0000 (18:46 +0000)]
Loads do not remove any nodes from the exec after sets. Also fix a 'node leak'.
[r13991]
Christoph Mallon [Tue, 22 May 2007 18:36:04 +0000 (18:36 +0000)]
Fix constness.
[r13990]
Matthias Braun [Tue, 22 May 2007 15:23:39 +0000 (15:23 +0000)]
workaround
[r13985]
Matthias Braun [Tue, 22 May 2007 14:39:38 +0000 (14:39 +0000)]
liveness variants with ir_nodeset_t
[r13983]
Matthias Braun [Tue, 22 May 2007 14:37:08 +0000 (14:37 +0000)]
fix my last committ
[r13982]
Matthias Braun [Tue, 22 May 2007 14:24:31 +0000 (14:24 +0000)]
correct usage of get_irn_generic_attr
[r13981]
Matthias Braun [Tue, 22 May 2007 14:19:01 +0000 (14:19 +0000)]
fix
[r13980]
Matthias Braun [Tue, 22 May 2007 14:11:43 +0000 (14:11 +0000)]
add get_irn_generic_attr_const
[r13979]
Christian Würdig [Tue, 22 May 2007 13:33:03 +0000 (13:33 +0000)]
BugFix: the order of the coloring is important!
[r13975]
Matthias Braun [Mon, 21 May 2007 20:27:59 +0000 (20:27 +0000)]
simplify testcase
[r13973]
Matthias Braun [Mon, 21 May 2007 20:25:23 +0000 (20:25 +0000)]
demonstrate another frontend bug
[r13972]
Matthias Braun [Mon, 21 May 2007 20:02:47 +0000 (20:02 +0000)]
be a bit less exact with float results so we don't get wrong error reports because of spilling
[r13971]
Matthias Braun [Mon, 21 May 2007 19:17:22 +0000 (19:17 +0000)]
testcase for conv optimisation bugs
[r13970]
Matthias Braun [Mon, 21 May 2007 19:09:25 +0000 (19:09 +0000)]
fix conv optimisation, remove wrong asserts
[r13969]
Matthias Braun [Mon, 21 May 2007 19:04:39 +0000 (19:04 +0000)]
don't do the tests twice
[r13968]
Matthias Braun [Mon, 21 May 2007 18:18:46 +0000 (18:18 +0000)]
made testcase smaller
[r13964]
Matthias Braun [Mon, 21 May 2007 18:16:28 +0000 (18:16 +0000)]
made testcase smaller
[r13963]
Matthias Braun [Mon, 21 May 2007 17:55:58 +0000 (17:55 +0000)]
next bug found in 179.parser
[r13962]
Matthias Braun [Mon, 21 May 2007 17:29:18 +0000 (17:29 +0000)]
only use addressmode for 32 bit modes
[r13961]
Matthias Braun [Mon, 21 May 2007 15:13:35 +0000 (15:13 +0000)]
fix it in a more ugly way
[r13960]
Matthias Braun [Mon, 21 May 2007 15:10:17 +0000 (15:10 +0000)]
disable locale
[r13959]
Michael Beck [Mon, 21 May 2007 15:05:14 +0000 (15:05 +0000)]
Add code to kill dead kept Phi nodes
[r13958]
Michael Beck [Mon, 21 May 2007 14:22:44 +0000 (14:22 +0000)]
BugFix:
- pred was used to store two values :-(
[r13957]
Matthias Braun [Mon, 21 May 2007 14:21:23 +0000 (14:21 +0000)]
add TODO items
[r13956]
Matthias Braun [Mon, 21 May 2007 14:19:57 +0000 (14:19 +0000)]
committ the conv optimisation
[r13955]
Matthias Braun [Mon, 21 May 2007 13:39:47 +0000 (13:39 +0000)]
sort reports differently
[r13954]
Michael Beck [Mon, 21 May 2007 13:26:36 +0000 (13:26 +0000)]
Fixed an assert
[r13953]
Michael Beck [Mon, 21 May 2007 13:07:55 +0000 (13:07 +0000)]
optimize_graph_df() now removes superfluous keep-alive edges
[r13951]
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]
Michael Beck [Mon, 21 May 2007 13:03:39 +0000 (13:03 +0000)]
Hash() should return an unsigned
[r13949]
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]
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]
Michael Beck [Sun, 20 May 2007 01:13:24 +0000 (01:13 +0000)]
C99 construct removed
[r13927]
Michael Beck [Sun, 20 May 2007 01:11:58 +0000 (01:11 +0000)]
lower_hl.h added
[r13926]
Michael Beck [Fri, 18 May 2007 15:52:18 +0000 (15:52 +0000)]
[r13918]
Matthias Braun [Fri, 18 May 2007 13:40:42 +0000 (13:40 +0000)]
include lower_hl.h in complete header
[r13916]
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]
Matthias Braun [Fri, 18 May 2007 12:53:18 +0000 (12:53 +0000)]
backends can specify costs for spill and reload
[r13914]
Matthias Braun [Fri, 18 May 2007 12:48:56 +0000 (12:48 +0000)]
rework rematerialisation code to look at execution frequencies
[r13913]
Christoph Mallon [Fri, 18 May 2007 11:21:38 +0000 (11:21 +0000)]
Loads shall only remove stores from the exec after sets.
[r13912]
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]
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]
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]
Matthias Braun [Wed, 16 May 2007 17:18:10 +0000 (17:18 +0000)]
get_irn_generic_attr supports const ir_node* now
[r13908]
Matthias Braun [Wed, 16 May 2007 17:17:30 +0000 (17:17 +0000)]
support for custom attribute types on nodes
[r13907]
Matthias Braun [Wed, 16 May 2007 17:17:05 +0000 (17:17 +0000)]
adjust schedule verifier
[r13906]
Matthias Braun [Wed, 16 May 2007 14:51:32 +0000 (14:51 +0000)]
more asserts
[r13901]
Matthias Braun [Wed, 16 May 2007 14:51:16 +0000 (14:51 +0000)]
set remat flag for be_StackParam
[r13900]
Matthias Braun [Wed, 16 May 2007 14:51:00 +0000 (14:51 +0000)]
simplify remat test
[r13899]
Michael Beck [Wed, 16 May 2007 14:17:36 +0000 (14:17 +0000)]
ldst2 added
[r13896]
Michael Beck [Wed, 16 May 2007 14:16:46 +0000 (14:16 +0000)]
add missing include
[r13895]
Matthias Braun [Wed, 16 May 2007 09:06:03 +0000 (09:06 +0000)]
fix
[r13890]
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]
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]
Christian Würdig [Tue, 15 May 2007 15:28:57 +0000 (15:28 +0000)]
bitset_popcnt returns number of set bits as unsigned
[r13884]
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]
Christoph Mallon [Tue, 15 May 2007 15:11:33 +0000 (15:11 +0000)]
Constify.
[r13882]
Christoph Mallon [Tue, 15 May 2007 14:57:27 +0000 (14:57 +0000)]
Remove unused variable.
[r13881]
Matthias Braun [Tue, 15 May 2007 14:56:50 +0000 (14:56 +0000)]
make lots of irn functions accept const ir_node
[r13880]
Christian Würdig [Tue, 15 May 2007 13:47:48 +0000 (13:47 +0000)]
fixed strange obstack usage
changed indent
[r13877]
Christian Würdig [Mon, 14 May 2007 15:41:30 +0000 (15:41 +0000)]
fixed handling of other_same/other_different constraint handling
[r13871]
Christian Würdig [Mon, 14 May 2007 15:41:00 +0000 (15:41 +0000)]
removed unused function
fixed other_same constraint handling
[r13870]
Christian Würdig [Mon, 14 May 2007 15:40:19 +0000 (15:40 +0000)]
revert iteration direction over interfering neighbours
[r13869]
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]
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]
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]
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]
Michael Beck [Mon, 14 May 2007 11:12:46 +0000 (11:12 +0000)]
gen_decls removed
[r13855]
Matthias Braun [Mon, 14 May 2007 10:53:02 +0000 (10:53 +0000)]
we can convert reference to mode_Iu now
[r13854]
Matthias Braun [Mon, 14 May 2007 10:52:42 +0000 (10:52 +0000)]
allow conversion of reference tarvals to mode_Iu
[r13853]
Matthias Braun [Mon, 14 May 2007 08:38:57 +0000 (08:38 +0000)]
update docu
[r13849]
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]
Matthias Braun [Sun, 13 May 2007 15:59:38 +0000 (15:59 +0000)]
tcc testprogram
[r13843]
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]
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]
Matthias Braun [Sun, 13 May 2007 15:17:21 +0000 (15:17 +0000)]
revert accidentally comitted changs in recursive.c
[r13840]
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]
Matthias Braun [Sun, 13 May 2007 15:13:50 +0000 (15:13 +0000)]
allow specification of names for in parameters in spec file
[r13838]
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]
Christoph Mallon [Sun, 13 May 2007 14:55:16 +0000 (14:55 +0000)]
Fix typos and remove stale comment.
[r13836]
Matthias Braun [Sun, 13 May 2007 14:47:59 +0000 (14:47 +0000)]
new file demonstrating array initializer bugs
[r13835]
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]
Matthias Braun [Sun, 13 May 2007 14:35:51 +0000 (14:35 +0000)]
ptr2int conversion test
[r13833]
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]
Matthias Braun [Sun, 13 May 2007 13:54:25 +0000 (13:54 +0000)]
file demonstrating a control flow optimisation bug
[r13831]
Christoph Mallon [Sun, 13 May 2007 05:41:16 +0000 (05:41 +0000)]
- Remove incorrect comment
- Use assignment instead of memcpy()
[r13828]
Christoph Mallon [Sun, 13 May 2007 05:09:15 +0000 (05:09 +0000)]
Remove the first if-conversion implementation.
[r13827]
Michael Beck [Sat, 12 May 2007 14:37:53 +0000 (14:37 +0000)]
properties updated
[r13820]
Michael Beck [Sat, 12 May 2007 14:36:19 +0000 (14:36 +0000)]
Set the initial EBP Proj to ignore.
[r13819]
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]
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]
Matthias Braun [Fri, 11 May 2007 15:31:10 +0000 (15:31 +0000)]
fix when debug mode is disabled
[r13809]