Michael Beck [Thu, 20 Mar 2008 02:27:20 +0000 (02:27 +0000)]
small improvements:
- value_not_zero(): safely skip Minus and Abs nodes
- classify_value_sign(): handle Minus nodes
[r18197]
Michael Beck [Thu, 20 Mar 2008 02:25:32 +0000 (02:25 +0000)]
fixed comment
[r18196]
Michael Beck [Thu, 20 Mar 2008 02:24:42 +0000 (02:24 +0000)]
when propagating constants in the x == Const case, propagate them into users of x IFF users of users are in the effective block, see confirm.c example
[r18195]
Michael Beck [Thu, 20 Mar 2008 02:22:11 +0000 (02:22 +0000)]
is_Abs() added
[r18194]
Michael Beck [Wed, 19 Mar 2008 17:35:54 +0000 (17:35 +0000)]
BugFix: scalar replacement should not remove volatile Loads/Stores
[r18184]
Matthias Braun [Wed, 19 Mar 2008 10:59:50 +0000 (10:59 +0000)]
setjump test
[r18173]
Christoph Mallon [Mon, 17 Mar 2008 12:58:26 +0000 (12:58 +0000)]
- Fix comments
- Remove stale assert
- Add Psi(t == f, t, f) -> f and Psi(t != f, t, f) -> t (was only implemented for f == 0)
[r18142]
Sebastian Hack [Sun, 16 Mar 2008 14:42:33 +0000 (14:42 +0000)]
Belady2 fixes
[r18135]
Sebastian Hack [Sun, 16 Mar 2008 14:42:01 +0000 (14:42 +0000)]
Added functions to set a range of bits to 1 or 0
[r18134]
Michael Beck [Wed, 12 Mar 2008 00:08:57 +0000 (00:08 +0000)]
use .word instead of .value, older gas don't support it
[r18093]
Michael Beck [Wed, 12 Mar 2008 00:01:52 +0000 (00:01 +0000)]
need suffixes for mvf, mnf
[r18092]
Michael Beck [Tue, 11 Mar 2008 23:53:54 +0000 (23:53 +0000)]
set the isa right
[r18091]
Michael Beck [Tue, 11 Mar 2008 23:53:31 +0000 (23:53 +0000)]
instructions with immediates are not commutative
[r18090]
Michael Beck [Tue, 11 Mar 2008 23:37:15 +0000 (23:37 +0000)]
refactored immediates:
- now stored as long values (should be enough)
- floating point values are emitted right
[r18089]
Michael Beck [Tue, 11 Mar 2008 23:35:22 +0000 (23:35 +0000)]
refactored immediates:
- now stored as long values (should be enough)
- floating point values are emitted right
[r18088]
Michael Beck [Tue, 11 Mar 2008 20:11:26 +0000 (20:11 +0000)]
fixed CondJmp attributes
[r18081]
Michael Beck [Tue, 11 Mar 2008 20:10:33 +0000 (20:10 +0000)]
set the global isa object
[r18080]
Michael Beck [Tue, 11 Mar 2008 18:27:38 +0000 (18:27 +0000)]
use assure_irg_outs()
[r18074]
Matthias Braun [Tue, 11 Mar 2008 17:13:58 +0000 (17:13 +0000)]
fix out flags for mode_T nodes
[r18072]
Michael Beck [Tue, 11 Mar 2008 15:55:16 +0000 (15:55 +0000)]
updated be_AddSP semantics
[r18070]
Matthias Braun [Tue, 11 Mar 2008 15:34:50 +0000 (15:34 +0000)]
we do need stack:I|S...
[r18069]
Matthias Braun [Tue, 11 Mar 2008 15:25:35 +0000 (15:25 +0000)]
stack:S is enough no need to specify I (explicitely)
[r18068]
Michael Beck [Tue, 11 Mar 2008 14:56:36 +0000 (14:56 +0000)]
reset the layout to undefined before new members are added to the frame type
[r18064]
Michael Beck [Tue, 11 Mar 2008 12:33:51 +0000 (12:33 +0000)]
use kill_node() instead of exchange to improve reduce_adr_usage()
[r18060]
Michael Beck [Tue, 11 Mar 2008 12:17:21 +0000 (12:17 +0000)]
find_address_taken_state() handle CopyB like a set of Loads/Stores that do NOT take the address
if no hidden conversion happens
[r18058]
Michael Beck [Mon, 10 Mar 2008 13:46:46 +0000 (13:46 +0000)]
use optimize_graph_df() instead of old local_optimize()
[r18046]
Michael Beck [Mon, 10 Mar 2008 13:43:29 +0000 (13:43 +0000)]
updated
[r18045]
Michael Beck [Mon, 10 Mar 2008 13:42:37 +0000 (13:42 +0000)]
updated
[r18044]
Michael Beck [Mon, 10 Mar 2008 13:38:26 +0000 (13:38 +0000)]
code cleanup
[r18043]
Michael Beck [Mon, 10 Mar 2008 13:34:14 +0000 (13:34 +0000)]
for twoscomplement convert AddP(P, Const<signed>) into AddP(P, Const<unsigned>), same for SubP
[r18042]
Matthias Braun [Mon, 10 Mar 2008 10:46:41 +0000 (10:46 +0000)]
assert that fixed structs/unions/classes aren
[r18037]
Michael Beck [Mon, 10 Mar 2008 10:43:55 +0000 (10:43 +0000)]
- as Sel's from the frame type are not lowered anymore, we can safely remove the assert(phase_high)
- indentation fixed
[r18035]
Michael Beck [Mon, 10 Mar 2008 10:36:25 +0000 (10:36 +0000)]
copy_entity_own(): assert if the new type has already a fixed layout
[r18034]
Michael Beck [Mon, 10 Mar 2008 09:54:38 +0000 (09:54 +0000)]
Fixed:
- names for base and normal address
- check for different base entities more agressive
- type base analysis wants original pointer for type check
Added:
- classify_pointer() now always detects address_taken flag
- more agressive offset skipping
[r18033]
Matthias Braun [Sun, 9 Mar 2008 18:21:26 +0000 (18:21 +0000)]
- rewrite and cleanup of memory disambiguator code, should also catch a few
more cases now that were buggy before
[r18027]
Matthias Braun [Sun, 9 Mar 2008 15:07:54 +0000 (15:07 +0000)]
fix debug message, always check for same base address with different offset first
[r18025]
Matthias Braun [Sat, 8 Mar 2008 16:54:19 +0000 (16:54 +0000)]
fehler 110
[r18015]
Matthias Braun [Sat, 8 Mar 2008 16:17:22 +0000 (16:17 +0000)]
- fix parity label emitting using local assembler labels
- improve output a bit
- code cleanup
[r18013]
Michael Beck [Fri, 7 Mar 2008 17:35:06 +0000 (17:35 +0000)]
Removed edges ...
[r18005]
Michael Beck [Fri, 7 Mar 2008 17:26:25 +0000 (17:26 +0000)]
removed C99 features
[r18004]
Matthias Braun [Fri, 7 Mar 2008 16:48:23 +0000 (16:48 +0000)]
disable edges after lowering for now...
[r18002]
Matthias Braun [Fri, 7 Mar 2008 16:32:19 +0000 (16:32 +0000)]
a better version of a copyb lowerer
[r18000]
Michael Beck [Fri, 7 Mar 2008 10:55:59 +0000 (10:55 +0000)]
initial copyb lowerer
[r17989]
Matthias Braun [Fri, 7 Mar 2008 10:07:56 +0000 (10:07 +0000)]
enable more long long tests
[r17988]
Matthias Braun [Fri, 7 Mar 2008 10:02:00 +0000 (10:02 +0000)]
a bit of code cleanup and reformating
[r17987]
Matthias Braun [Fri, 7 Mar 2008 10:01:31 +0000 (10:01 +0000)]
implement float to long long conversion
[r17986]
Matthias Braun [Thu, 6 Mar 2008 17:17:42 +0000 (17:17 +0000)]
some belady3 fixes
[r17980]
Matthias Braun [Thu, 6 Mar 2008 17:16:15 +0000 (17:16 +0000)]
remove old buggy code
[r17979]
Matthias Braun [Thu, 6 Mar 2008 17:15:33 +0000 (17:15 +0000)]
add author
[r17978]
Michael Beck [Thu, 6 Mar 2008 14:01:03 +0000 (14:01 +0000)]
allow empty initializers
[r17973]
Matthias Braun [Wed, 5 Mar 2008 09:50:34 +0000 (09:50 +0000)]
only emit labels that are needed
[r17967]
Matthias Braun [Wed, 5 Mar 2008 09:50:02 +0000 (09:50 +0000)]
fix warnings
[r17966]
Matthias Braun [Wed, 5 Mar 2008 09:49:35 +0000 (09:49 +0000)]
fix warnings
[r17965]
Matthias Braun [Wed, 5 Mar 2008 09:48:51 +0000 (09:48 +0000)]
DEL_ARR_F should not use a const pointer
[r17964]
Michael Beck [Tue, 4 Mar 2008 19:04:30 +0000 (19:04 +0000)]
set deleted attributes to NULL
[r17963]
Michael Beck [Tue, 4 Mar 2008 19:03:32 +0000 (19:03 +0000)]
indentation changed
[r17962]
Michael Beck [Tue, 4 Mar 2008 13:56:23 +0000 (13:56 +0000)]
- beware of useless code: when searching the left argument of a test instruction, it might be NOT in the same block if it's a Unknown ... This fixes segfault5.c
[r17956]
Michael Beck [Tue, 4 Mar 2008 13:32:09 +0000 (13:32 +0000)]
BugFix: when deleting keep-alives of already visited blocks, keep in mind
that new keep-alives could be added because the cf was changed ...
So do NOT delete these new KA ...
This fixes segfault4.c
[r17955]
Michael Beck [Tue, 4 Mar 2008 13:30:30 +0000 (13:30 +0000)]
clean up code
[r17954]
Michael Beck [Tue, 4 Mar 2008 11:12:56 +0000 (11:12 +0000)]
test for new tail recursion eliminaton
[r17953]
Michael Beck [Mon, 3 Mar 2008 16:14:47 +0000 (16:14 +0000)]
removed useless environment
[r17947]
Michael Beck [Mon, 3 Mar 2008 16:13:03 +0000 (16:13 +0000)]
Supress warning
[r17946]
Michael Beck [Mon, 3 Mar 2008 16:10:49 +0000 (16:10 +0000)]
Improved tail recursion optimization:
Added support for
return x + func()
return x * func()
return func() - x;
return -func()
[r17945]
Michael Beck [Mon, 3 Mar 2008 16:05:37 +0000 (16:05 +0000)]
Allow to restart SSA construction on a graph in phase high.
After restarting, set_value()/get_value() can be used again!
[r17944]
Michael Beck [Mon, 3 Mar 2008 16:03:53 +0000 (16:03 +0000)]
create irg_set_nloc() and made it global visible
[r17943]
Michael Beck [Mon, 3 Mar 2008 15:07:16 +0000 (15:07 +0000)]
- renamed init_cons() to firm_init_cons()
- made firm_alloc_frag_arr() global
[r17942]
Michael Beck [Fri, 29 Feb 2008 13:52:17 +0000 (13:52 +0000)]
- some doxygen comments added
- code cleanup
[r17937]
Michael Beck [Fri, 29 Feb 2008 12:28:16 +0000 (12:28 +0000)]
- fixed typos
- use waitq_empty() instead of pdeq_empty()
[r17935]
Michael Beck [Fri, 29 Feb 2008 12:26:33 +0000 (12:26 +0000)]
use waitq_empty() instead of pdeq_empty()
[r17934]
Michael Beck [Thu, 28 Feb 2008 17:31:51 +0000 (17:31 +0000)]
inline_leave_functions() can now inline recursive calls
[r17930]
Michael Beck [Thu, 28 Feb 2008 17:30:20 +0000 (17:30 +0000)]
new_ir_node() uses always flexible array for End nodes
[r17929]
Michael Beck [Thu, 28 Feb 2008 17:29:27 +0000 (17:29 +0000)]
clone_frame_type() now links old entities to new once and vice versa
[r17928]
Michael Beck [Thu, 28 Feb 2008 17:28:32 +0000 (17:28 +0000)]
add some comment
[r17927]
Michael Beck [Thu, 28 Feb 2008 17:28:03 +0000 (17:28 +0000)]
create_irg_copy() implemented
[r17926]
Michael Beck [Thu, 28 Feb 2008 13:18:38 +0000 (13:18 +0000)]
missing ; added
[r17920]
Michael Beck [Thu, 28 Feb 2008 13:08:57 +0000 (13:08 +0000)]
add missing MacroBlock copy
[r17918]
Michael Beck [Thu, 28 Feb 2008 13:06:48 +0000 (13:06 +0000)]
clone_frame_type() implemented
[r17917]
Michael Beck [Thu, 28 Feb 2008 12:41:23 +0000 (12:41 +0000)]
use new set_Block_MacroBlock() instead of set_irn_n(*,-1,*)
[r17916]
Michael Beck [Thu, 28 Feb 2008 12:40:11 +0000 (12:40 +0000)]
use new set_Block_MacroBlock() instead of set_irn_n(*,-1,*)
[r17915]
Michael Beck [Thu, 28 Feb 2008 12:39:20 +0000 (12:39 +0000)]
use set_nodes_block() instead of set_irn_n(*,-1,*)
[r17914]
Michael Beck [Thu, 28 Feb 2008 12:30:16 +0000 (12:30 +0000)]
set_Block_MacroBlock() added
[r17913]
Michael Beck [Thu, 28 Feb 2008 11:22:26 +0000 (11:22 +0000)]
enable -restrict; use -m32 gcc option
[r17912]
Michael Beck [Tue, 26 Feb 2008 15:28:18 +0000 (15:28 +0000)]
fixed indentation
[r17871]
Michael Beck [Tue, 26 Feb 2008 14:23:46 +0000 (14:23 +0000)]
- fixed comment
- construnc an Unknown node instead of Const(<tarval_bad>) if no
default_initialize_local_variable() callback is available
[r17869]
Michael Beck [Mon, 25 Feb 2008 16:23:08 +0000 (16:23 +0000)]
add comment
[r17861]
Michael Beck [Fri, 22 Feb 2008 17:52:58 +0000 (17:52 +0000)]
Add an DivRL for remainderless div nodes (we don't have to generate correction
code than ...
[r17833]
Michael Beck [Fri, 22 Feb 2008 16:49:48 +0000 (16:49 +0000)]
- remove x86 test, seems to be useless
- switch off lftr() for now, still buggy (176.gcc fail)
[r17831]
Christoph Mallon [Fri, 22 Feb 2008 16:37:10 +0000 (16:37 +0000)]
Several fixes for normal scheduler.
[r17829]
Michael Beck [Fri, 22 Feb 2008 12:22:29 +0000 (12:22 +0000)]
Bugfix:
- in the apply operation, a rc might be an (outer) IV, so check
for the right IV before doing the replacement
[r17827]
Michael Beck [Thu, 21 Feb 2008 14:33:43 +0000 (14:33 +0000)]
added for upcoming release
[r17824]
Michael Beck [Thu, 21 Feb 2008 14:32:58 +0000 (14:32 +0000)]
added for upcoming release
[r17823]
Michael Beck [Thu, 21 Feb 2008 14:27:50 +0000 (14:27 +0000)]
bugfix: update_scc() must mark already seen SCC nodes, else a node might be put more than
once into the SCC (causing an endless loop in the linked list ...)
[r17822]
Michael Beck [Wed, 20 Feb 2008 17:02:26 +0000 (17:02 +0000)]
removed verbose output
[r17815]
Michael Beck [Wed, 20 Feb 2008 16:51:47 +0000 (16:51 +0000)]
Remove the unsafe overflow opt flag again :-( It does not solve
the problems ...
[r17813]
Michael Beck [Wed, 20 Feb 2008 16:43:41 +0000 (16:43 +0000)]
bugfix: do NOT shadow another local var :-(
[r17812]
Michael Beck [Wed, 20 Feb 2008 16:35:59 +0000 (16:35 +0000)]
better lftr:
- create a scc for every IV
- lftr can only be done for counter loops :-(
- moreover, we must not only check that we can transform the cost without overflow,
- it must still be possible to add/sub the increment value without overflow ...
[r17811]
Michael Beck [Wed, 20 Feb 2008 13:40:39 +0000 (13:40 +0000)]
add prototype for set_opt_overflow_unsafe_transform()
[r17807]
Michael Beck [Wed, 20 Feb 2008 13:14:13 +0000 (13:14 +0000)]
Add get_opt_overflow_unsafe_transform() option.
Currently this option allows x-c -> x + (-c) for unsigned.
If this option is enabled, we cannot do liner function test replacement ...
So, enable it AFTER OSR has run...
[r17804]
Michael Beck [Wed, 20 Feb 2008 13:05:56 +0000 (13:05 +0000)]
indentation changed
[r17803]
Michael Beck [Wed, 20 Feb 2008 13:05:05 +0000 (13:05 +0000)]
increase development version
[r17802]