Christian Würdig [Tue, 17 Oct 2006 15:45:58 +0000 (15:45 +0000)]
added some comments
[r8353]
Michael Beck [Tue, 17 Oct 2006 12:15:37 +0000 (12:15 +0000)]
Fixed more problems due to hidden conversion in Store/Load:
- allow only hidden conversion if the size and the mode sort is equal
and two-complements arithmetic is used: practically this allows only
signed/unsigned conversion
- all other conversions (which are reinterpret cast) are forbidden yet
[r8352]
Christian Würdig [Tue, 17 Oct 2006 09:02:44 +0000 (09:02 +0000)]
do not place projs late
[r8351]
Michael Beck [Mon, 16 Oct 2006 11:50:06 +0000 (11:50 +0000)]
Do not convert Sub(P, P) into a simple Minus ...
[r8350]
Michael Beck [Mon, 16 Oct 2006 11:38:11 +0000 (11:38 +0000)]
Handle a bad case: Load nodes can contain a hidden type conversion, handle that ...
[r8349]
Michael Beck [Mon, 16 Oct 2006 11:01:38 +0000 (11:01 +0000)]
used is_final_ent() instead of *_n_overwrites == 0
[r8348]
Christian Würdig [Fri, 13 Oct 2006 08:01:38 +0000 (08:01 +0000)]
added functions and macro to iterate over all node in the phase, having some data assigned
[r8345]
Michael Beck [Thu, 12 Oct 2006 21:22:57 +0000 (21:22 +0000)]
optimize graphs that got calls inlined
[r8344]
Michael Beck [Thu, 12 Oct 2006 21:19:26 +0000 (21:19 +0000)]
set current_ir_graph
[r8343]
Michael Beck [Thu, 12 Oct 2006 21:18:35 +0000 (21:18 +0000)]
when doing cf_opt, automatically optimize Blocks
some code cleanup
[r8342]
Michael Beck [Thu, 12 Oct 2006 09:24:47 +0000 (09:24 +0000)]
resolve_ent_polymorphy() now can handle non-flat inheritance again ...
[r8340]
Michael Beck [Wed, 11 Oct 2006 11:42:25 +0000 (11:42 +0000)]
report removed cycles
[r8338]
Christian Würdig [Wed, 11 Oct 2006 07:42:46 +0000 (07:42 +0000)]
moved -dw dump to edg/firm_opt.c
[r8336]
Michael Beck [Tue, 10 Oct 2006 10:15:46 +0000 (10:15 +0000)]
Fixed boolean value of Proj(Cmp) againm, old version did not work as expected ...
[r8332]
Michael Beck [Tue, 10 Oct 2006 09:58:20 +0000 (09:58 +0000)]
New inliner:
- use lists instead of sets
- correctly handle multipli inline (fixed the "nodes are on wrong graph" problem)
- BugFix: correctly detect arg_based nodes
- can ignore runtime functions in leaf count
[r8331]
Christian Würdig [Tue, 10 Oct 2006 08:48:13 +0000 (08:48 +0000)]
Bugfix: - lower_Proj is also called for call-result- or function-param-projs
[r8330]
Michael Beck [Mon, 9 Oct 2006 23:49:58 +0000 (23:49 +0000)]
use the final flag to remove polymorphic calls
[r8327]
Michael Beck [Mon, 9 Oct 2006 23:48:11 +0000 (23:48 +0000)]
Add code to remove useless Phi cycles using the osr framework ...
[r8326]
Michael Beck [Mon, 9 Oct 2006 16:24:25 +0000 (16:24 +0000)]
Set the final flag for the global type.
[r8325]
Michael Beck [Mon, 9 Oct 2006 16:20:37 +0000 (16:20 +0000)]
- Lower Minus ops directly instead of using an intrinsic call
- Fixed Cond nodes lowering: = must be removed from comparasion of high parts
- Add support for Psi nodes
[r8324]
Matthias Braun [Mon, 9 Oct 2006 12:07:59 +0000 (12:07 +0000)]
dirty hack to make execfreqs work with endless apps
[r8323]
Christian Würdig [Mon, 9 Oct 2006 08:57:48 +0000 (08:57 +0000)]
added is_div, is_mod and is_DivMod functions
[r8322]
Michael Beck [Sun, 8 Oct 2006 18:01:32 +0000 (18:01 +0000)]
when checking Bound nodes, ignore ones which a Bad predecessor
[r8320]
Michael Beck [Thu, 5 Oct 2006 13:41:16 +0000 (13:41 +0000)]
Made frame types final classes.
[r8317]
Michael Beck [Thu, 5 Oct 2006 13:08:13 +0000 (13:08 +0000)]
firm_init_options() is now a separate function that reads the firm.ini and might parse command line parameters.
This is NOT anymore done in init_firm()
[r8315]
Michael Beck [Mon, 2 Oct 2006 08:14:29 +0000 (08:14 +0000)]
Add the final property to entities
[r8313]
Michael Beck [Fri, 29 Sep 2006 19:00:12 +0000 (19:00 +0000)]
set the global type and tls type flags on the globat/tls type
[r8312]
Michael Beck [Fri, 29 Sep 2006 18:57:27 +0000 (18:57 +0000)]
irop_flag_start_block flag added
[r8311]
Michael Beck [Fri, 29 Sep 2006 18:56:12 +0000 (18:56 +0000)]
is_irn_start_block_placed() added\nconst added to skip_Proj()
[r8310]
Michael Beck [Fri, 29 Sep 2006 18:52:23 +0000 (18:52 +0000)]
added numbers for the base/upper types
[r8309]
Michael Beck [Thu, 28 Sep 2006 22:33:49 +0000 (22:33 +0000)]
BugFix:
- inlining erronously could not inline functions containing a Proj(x, 6) includes
functions with more than 5 parameters and <> operator ...
[r8308]
Michael Beck [Thu, 28 Sep 2006 22:30:38 +0000 (22:30 +0000)]
Improved doxygen docu
[r8307]
Michael Beck [Thu, 28 Sep 2006 22:29:39 +0000 (22:29 +0000)]
Add shortcut to speed up gc_irgs()
[r8306]
Michael Beck [Wed, 27 Sep 2006 23:27:01 +0000 (23:27 +0000)]
renamed exec_freq_t to ir_exec_freq
[r8303]
Michael Beck [Wed, 27 Sep 2006 23:25:48 +0000 (23:25 +0000)]
restructured to allow easier debug
[r8302]
Michael Beck [Wed, 27 Sep 2006 23:24:10 +0000 (23:24 +0000)]
Add ir_*_ptr types.
renamed exec_freq_t to ir_exec_freq
removed old ir_block_edge_t type
[r8301]
Christian Würdig [Tue, 26 Sep 2006 14:57:59 +0000 (14:57 +0000)]
added function to remove a keepalive edge
[r8298]
Matthias Braun [Tue, 26 Sep 2006 12:56:57 +0000 (12:56 +0000)]
fix broken remove_critical_cf
[r8296]
Michael Beck [Tue, 26 Sep 2006 11:29:13 +0000 (11:29 +0000)]
Fixed remove_critical_cf_edges():
- use irg_block_walk_graph() to speed up
- build block only at critical edges: curretn block has more than 1 predecessor
and the predecessor is a forking op
- ignore ALL exception edges
[r8294]
Christian Würdig [Mon, 25 Sep 2006 11:29:15 +0000 (11:29 +0000)]
changed api
[r8292]
Christian Würdig [Thu, 21 Sep 2006 13:41:08 +0000 (13:41 +0000)]
added is_Start function
[r8291]
Christian Würdig [Thu, 21 Sep 2006 12:14:38 +0000 (12:14 +0000)]
added additional parameter and assert to tmp dom info walker, to check valid list access
[r8288]
Matthias Braun [Wed, 20 Sep 2006 15:23:45 +0000 (15:23 +0000)]
warning fix
[r8286]
Michael Beck [Wed, 20 Sep 2006 15:22:22 +0000 (15:22 +0000)]
added get_opt_closed_world() where appropriate
[r8285]
Michael Beck [Wed, 20 Sep 2006 15:19:58 +0000 (15:19 +0000)]
added get_opt_closed_world() where appropriate
added callback to detect Object allocation
[r8284]
Michael Beck [Wed, 20 Sep 2006 15:18:38 +0000 (15:18 +0000)]
get_entity_repr_class() added, needed to get a class from a type info entity
mtp_property_runtime added
[r8283]
Christian Würdig [Wed, 20 Sep 2006 15:02:21 +0000 (15:02 +0000)]
added phase reinit data per irn
[r8282]
Christian Würdig [Wed, 20 Sep 2006 15:00:55 +0000 (15:00 +0000)]
added weighted bipartite matching with hungarian method
[r8281]
Christian Würdig [Wed, 20 Sep 2006 15:00:31 +0000 (15:00 +0000)]
added block recomputation
removed sink list
[r8280]
Christian Würdig [Wed, 20 Sep 2006 14:59:21 +0000 (14:59 +0000)]
changed solve function, return now 0 or negative on number, cost are pointer param
[r8279]
Christian Würdig [Wed, 20 Sep 2006 14:58:43 +0000 (14:58 +0000)]
extended dumper
[r8278]
Michael Beck [Sun, 17 Sep 2006 21:12:39 +0000 (21:12 +0000)]
Fixed the type of the visit number
[r8265]
Michael Beck [Sun, 17 Sep 2006 21:11:31 +0000 (21:11 +0000)]
make the comment more useful
[r8264]
Michael Beck [Sun, 17 Sep 2006 21:09:37 +0000 (21:09 +0000)]
Added support for SymConst(ofs_ent)
[r8263]
Michael Beck [Sun, 17 Sep 2006 21:07:48 +0000 (21:07 +0000)]
SymConst(ofs_ent) added to represent the offset of an entity.
fixed SymConst handling
[r8262]
Michael Beck [Sun, 17 Sep 2006 21:05:59 +0000 (21:05 +0000)]
SymConst(ofs_ent) added to represent the offset of an entity.
[r8261]
Michael Beck [Fri, 15 Sep 2006 19:39:21 +0000 (19:39 +0000)]
Removed some depencies from current_ir_graph
[r8260]
Michael Beck [Fri, 15 Sep 2006 19:31:34 +0000 (19:31 +0000)]
removed some redundant assertions
speed up add_compound_ent_value()
[r8259]
Michael Beck [Fri, 15 Sep 2006 19:28:45 +0000 (19:28 +0000)]
Add a performance warning to the add_compound_ent_value() funtion
[r8258]
Michael Beck [Fri, 15 Sep 2006 08:05:34 +0000 (08:05 +0000)]
add docu and prototype for find_value()
remove some depencies from current_ir_graph
[r8257]
Michael Beck [Fri, 15 Sep 2006 08:04:16 +0000 (08:04 +0000)]
rename fucntion due to a name clash
[r8256]
Michael Beck [Fri, 15 Sep 2006 08:02:56 +0000 (08:02 +0000)]
renamed function due to a name clash
[r8255]
Michael Beck [Fri, 15 Sep 2006 07:41:30 +0000 (07:41 +0000)]
BugFix:
- current_ir_graph must be set because of out walker use
- ignore only Muls in x86 mode
[r8254]
Michael Beck [Thu, 14 Sep 2006 19:11:11 +0000 (19:11 +0000)]
BugFix:
- post-dominance did not restore current_ir_graph, but set local var wrong
[r8253]
Matthias Braun [Thu, 14 Sep 2006 16:37:59 +0000 (16:37 +0000)]
condeval can evaluate phis on phis on constants now
[r8252]
Michael Beck [Thu, 14 Sep 2006 15:31:51 +0000 (15:31 +0000)]
optimize_graph_df():
- when a mode_T node is enqueued, enqueue it's Projs. This
is needed because most optimizations run on the Proj
[r8251]
Matthias Braun [Thu, 14 Sep 2006 08:26:39 +0000 (08:26 +0000)]
warning fix
[r8249]
Matthias Braun [Wed, 13 Sep 2006 16:31:32 +0000 (16:31 +0000)]
forgot this
[r8248]
Michael Beck [Wed, 13 Sep 2006 14:40:50 +0000 (14:40 +0000)]
condeval.h added
[r8245]
Christian Würdig [Wed, 13 Sep 2006 14:17:53 +0000 (14:17 +0000)]
added find_value and has_value functions
[r8244]
Christian Würdig [Wed, 13 Sep 2006 13:06:26 +0000 (13:06 +0000)]
added option to choose between perfect and normal matching
[r8242]
Michael Beck [Wed, 13 Sep 2006 12:41:31 +0000 (12:41 +0000)]
BugFix:
- When moving Stores over Phis we must ensure that the store block
is different from the Phi-block, otherwise the post-dominance
did NOT mean we we expect (and a Store is moved from the end of a block
to its start)
[r8240]
Christian Würdig [Wed, 13 Sep 2006 12:02:26 +0000 (12:02 +0000)]
added comment and cvs id
[r8239]
Christian Würdig [Wed, 13 Sep 2006 12:00:16 +0000 (12:00 +0000)]
bipartite matching based on hungarian method
[r8238]
Michael Beck [Wed, 13 Sep 2006 11:58:47 +0000 (11:58 +0000)]
Bitfields in entity need one more bits because of signess,
add is_entity_compiler_generated
[r8237]
Matthias Braun [Wed, 13 Sep 2006 10:17:13 +0000 (10:17 +0000)]
don't fail on switches
[r8236]
Matthias Braun [Wed, 13 Sep 2006 09:12:55 +0000 (09:12 +0000)]
warning fix
[r8235]
Matthias Braun [Wed, 13 Sep 2006 09:12:16 +0000 (09:12 +0000)]
warning fixes
[r8234]
Michael Beck [Tue, 12 Sep 2006 21:26:52 +0000 (21:26 +0000)]
renamed some firm enum types to have the ir_ prefix
[r8230]
Michael Beck [Tue, 12 Sep 2006 21:23:57 +0000 (21:23 +0000)]
fixed type of variable
[r8229]
Michael Beck [Tue, 12 Sep 2006 21:14:13 +0000 (21:14 +0000)]
renamed some firm enum types to have the ir_ prefix
[r8228]
Matthias Braun [Tue, 12 Sep 2006 17:30:31 +0000 (17:30 +0000)]
use edges_reroute instead of exchange
[r8227]
Matthias Braun [Tue, 12 Sep 2006 15:56:53 +0000 (15:56 +0000)]
fix
[r8226]
Michael Beck [Tue, 12 Sep 2006 13:18:41 +0000 (13:18 +0000)]
Added 64bit types (currently used only in the backend for statistic purposes
[r8225]
Matthias Braun [Tue, 12 Sep 2006 12:18:16 +0000 (12:18 +0000)]
even more warning fixes
[r8222]
Matthias Braun [Tue, 12 Sep 2006 12:17:37 +0000 (12:17 +0000)]
more warning fixes
[r8221]
Matthias Braun [Tue, 12 Sep 2006 12:17:13 +0000 (12:17 +0000)]
warning fixes
[r8220]
Michael Beck [Tue, 12 Sep 2006 12:16:01 +0000 (12:16 +0000)]
default_dbg_info_merge_pair() now leaves debug info in only one node has one
[r8219]
Michael Beck [Tue, 12 Sep 2006 11:25:58 +0000 (11:25 +0000)]
get_/set_method_param_ident() added, needed for debug support
[r8218]
Michael Beck [Tue, 12 Sep 2006 07:56:26 +0000 (07:56 +0000)]
decimal output is now always unsigned for unsigned tarvals
[r8217]
Matthias Braun [Mon, 11 Sep 2006 22:10:50 +0000 (22:10 +0000)]
some opts don't like edges
[r8216]
Matthias Braun [Mon, 11 Sep 2006 22:10:03 +0000 (22:10 +0000)]
first version of condeval optimisation
[r8215]
Michael Beck [Mon, 11 Sep 2006 14:32:55 +0000 (14:32 +0000)]
added execfreq to firm_types
[r8214]
Christoph Mallon [Mon, 11 Sep 2006 13:32:38 +0000 (13:32 +0000)]
Restructure and improve
[r8212]
Matthias Braun [Mon, 11 Sep 2006 12:36:42 +0000 (12:36 +0000)]
SSA construction code for condeval optimisation
[r8211]
Michael Beck [Mon, 11 Sep 2006 12:14:25 +0000 (12:14 +0000)]
Add flags for the global and TLS type to help debugging
[r8210]
Matthias Braun [Mon, 11 Sep 2006 11:28:25 +0000 (11:28 +0000)]
missing includes
[r8209]
Sebastian Hack [Sun, 10 Sep 2006 15:06:13 +0000 (15:06 +0000)]
Proper scaling for integer exec freqs
[r8206]
Michael Beck [Sun, 10 Sep 2006 10:17:12 +0000 (10:17 +0000)]
removed strange (and probably wrong) assertion
[r8204]
Michael Beck [Sun, 10 Sep 2006 09:54:46 +0000 (09:54 +0000)]
add config.h to allow Win32 compile
add missing #endif
cleaned up pnc handling
[r8202]