libfirm
17 years agoImproved marking of dead blocks
Michael Beck [Thu, 13 Jul 2006 10:16:47 +0000 (10:16 +0000)]
Improved marking of dead blocks
handle one additional bad case.

[r8032]

17 years agoimprove error report
Michael Beck [Thu, 13 Jul 2006 10:14:33 +0000 (10:14 +0000)]
improve error report

[r8031]

17 years agoAdded exec_freq_t type
Sebastian Hack [Tue, 11 Jul 2006 07:57:09 +0000 (07:57 +0000)]
Added exec_freq_t type
Added node dump hook

[r8030]

17 years agocosmetic changes
Michael Beck [Mon, 10 Jul 2006 15:29:32 +0000 (15:29 +0000)]
cosmetic changes

[r8029]

17 years agoBugFix: wrong nodes was followed in exception case
Michael Beck [Mon, 10 Jul 2006 15:28:19 +0000 (15:28 +0000)]
BugFix: wrong nodes was followed in exception case

[r8028]

17 years agotypos fixed, comment added
Michael Beck [Mon, 10 Jul 2006 15:25:26 +0000 (15:25 +0000)]
typos fixed, comment added

[r8027]

17 years agoshowent and showtype commands added
Michael Beck [Mon, 10 Jul 2006 15:22:37 +0000 (15:22 +0000)]
showent and showtype commands added

[r8026]

17 years agoimissing case added: computed_value_Proj() now handle Proj(Quot)
Michael Beck [Mon, 10 Jul 2006 11:55:48 +0000 (11:55 +0000)]
imissing case added: computed_value_Proj() now handle Proj(Quot)

[r8025]

17 years agoBugFix: we have two list now, so checking the links for NULL is not enough ...
Michael Beck [Fri, 7 Jul 2006 12:33:12 +0000 (12:33 +0000)]
BugFix: we have two list now, so checking the links for NULL is not enough ...

[r8020]

17 years agoRemoved some warnings due to missing const
Michael Beck [Fri, 7 Jul 2006 11:38:44 +0000 (11:38 +0000)]
Removed some warnings due to missing const

[r8019]

17 years ago_phase_get_irn_data() can handle constant phases (removes some warnings)
Michael Beck [Fri, 7 Jul 2006 11:25:31 +0000 (11:25 +0000)]
_phase_get_irn_data() can handle constant phases (removes some warnings)

[r8018]

17 years agoRollback changes of pinned attribute. This does not solve the problems
Michael Beck [Fri, 7 Jul 2006 10:57:17 +0000 (10:57 +0000)]
Rollback changes of pinned attribute. This does not solve the problems
with the FPU environment access. Need new opcodes for that ...

[r8017]

17 years agoDo not use get_nodes_block(). It is now available when global CSE is enabled
Michael Beck [Fri, 7 Jul 2006 09:54:26 +0000 (09:54 +0000)]
Do not use get_nodes_block(). It is now available when global CSE is enabled

[r8016]

17 years agofloating point operation nodes are created automatically pinned if the fp_exception...
Michael Beck [Thu, 6 Jul 2006 23:24:07 +0000 (23:24 +0000)]
floating point operation nodes are created automatically pinned if the fp_exception bit is set in the floating point model of the current graph.

[r8015]

17 years agoEvery node has now a pinned attribute that is inherited from the op.
Michael Beck [Thu, 6 Jul 2006 23:21:51 +0000 (23:21 +0000)]
Every node has now a pinned attribute that is inherited from the op.
The pinned attibute can be changed for nodes that are exception/memory pinned
or floating point nodes.

[r8014]

17 years ago*** empty log message ***
Michael Beck [Thu, 6 Jul 2006 23:16:58 +0000 (23:16 +0000)]
*** empty log message ***

[r8013]

17 years agoadd code to detect pure function
Michael Beck [Thu, 6 Jul 2006 16:27:01 +0000 (16:27 +0000)]
add code to detect pure function
currently do not unpin calls to const functions

[r8012]

17 years agorenamed real_function_call unto function_call
Michael Beck [Thu, 6 Jul 2006 16:24:03 +0000 (16:24 +0000)]
renamed real_function_call unto function_call

[r8010]

17 years agoChanged the interface of value_not_zero() and value_not_null() to return
Michael Beck [Wed, 5 Jul 2006 14:10:07 +0000 (14:10 +0000)]
Changed the interface of value_not_zero() and value_not_null() to return
the Confirm node that causes the confirmation.

[r8009]

17 years agoFixed optimization of Div/Mod nodes yb using new Pin nodes
Michael Beck [Wed, 5 Jul 2006 14:08:28 +0000 (14:08 +0000)]
Fixed optimization of Div/Mod nodes yb using new Pin nodes

[r8008]

17 years agodisable the floating of pure functions for now until
Michael Beck [Wed, 5 Jul 2006 14:05:28 +0000 (14:05 +0000)]
disable the floating of pure functions for now until
we can pove its safe

[r8007]

17 years agoget_irn_n_edges() enabled the use of the edge counter instead of recalculating the
Michael Beck [Wed, 5 Jul 2006 14:01:43 +0000 (14:01 +0000)]
get_irn_n_edges() enabled the use of the edge counter instead of recalculating the
count every time

[r8006]

17 years agois_irn_always_opt() added
Michael Beck [Wed, 5 Jul 2006 14:00:46 +0000 (14:00 +0000)]
is_irn_always_opt() added

[r8005]

17 years agoColor Pin nodes orchid
Michael Beck [Wed, 5 Jul 2006 13:59:39 +0000 (13:59 +0000)]
Color Pin nodes orchid

[r8004]

17 years agoonly "firm_types.h" needed
Michael Beck [Wed, 5 Jul 2006 13:59:06 +0000 (13:59 +0000)]
only "firm_types.h" needed
typos fixed

[r8003]

17 years agoConfirm nodes must be pinned because their blocks must be always valid to place Pin
Michael Beck [Wed, 5 Jul 2006 13:41:18 +0000 (13:41 +0000)]
Confirm nodes must be pinned because their blocks must be always valid to place Pin
nodes there

[r8002]

17 years agocorrectly handle Phi nodes (and there effective use)
Michael Beck [Wed, 5 Jul 2006 13:40:02 +0000 (13:40 +0000)]
correctly handle Phi nodes (and there effective use)

[r8001]

17 years agoBugFix: current_ir_graph was not set rigtht while lowering
Michael Beck [Wed, 5 Jul 2006 11:27:50 +0000 (11:27 +0000)]
BugFix: current_ir_graph was not set rigtht while lowering

[r7999]

17 years agoAdd Pin Operation.
Michael Beck [Tue, 4 Jul 2006 17:29:23 +0000 (17:29 +0000)]
Add Pin Operation.

[r7998]

18 years agoexecfreq stroes set internally now
Adam Szalkowski [Mon, 3 Jul 2006 20:17:51 +0000 (20:17 +0000)]
execfreq stroes set internally now

[r7996]

18 years agofixed equivalent_node_Quot()
Michael Beck [Mon, 3 Jul 2006 13:20:46 +0000 (13:20 +0000)]
fixed equivalent_node_Quot()

[r7993]

18 years agoBugFix: Memory Proj from pure function calls was not removed if in loop, fixed
Michael Beck [Mon, 3 Jul 2006 11:28:03 +0000 (11:28 +0000)]
BugFix: Memory Proj from pure function calls was not removed if in loop, fixed

[r7992]

18 years agoFixed warnings on newer VC
Michael Beck [Sun, 2 Jul 2006 16:30:17 +0000 (16:30 +0000)]
Fixed warnings on newer VC

[r7986]

18 years agoFix attribute access
Michael Beck [Sun, 2 Jul 2006 16:29:17 +0000 (16:29 +0000)]
Fix attribute access

[r7985]

18 years agoMake fp optimization dependent on the fp model.
Michael Beck [Sun, 2 Jul 2006 16:25:37 +0000 (16:25 +0000)]
Make fp optimization dependent on the fp model.

[r7984]

18 years agoRenamed attribute names to more understandable names.
Michael Beck [Sun, 2 Jul 2006 16:24:26 +0000 (16:24 +0000)]
Renamed attribute names to more understandable names.
Add floating point model to ir_graph.
Make fp optimization dependent on the fp model.

[r7983]

18 years agoAdd strict flag to Conv attributes alloweing to mark those Conv's
Michael Beck [Sun, 2 Jul 2006 16:16:53 +0000 (16:16 +0000)]
Add strict flag to Conv attributes alloweing to mark those Conv's
that should remain due to strict fp rounding rules.
Removed unused Start attibutes.
Renamed attribute names to more understandable names.

[r7982]

18 years agoFixed indentation
Michael Beck [Sat, 1 Jul 2006 16:33:12 +0000 (16:33 +0000)]
Fixed indentation

[r7981]

18 years agohandle the new irg_inline_forced_no_body inline property
Michael Beck [Fri, 30 Jun 2006 12:31:05 +0000 (12:31 +0000)]
handle the new irg_inline_forced_no_body inline property

[r7975]

18 years agoirg_inline_forced_no_body inline property added
Michael Beck [Fri, 30 Jun 2006 12:30:35 +0000 (12:30 +0000)]
irg_inline_forced_no_body inline property added

[r7974]

18 years agoBugFix: Shl, Shr, Shrs had wrong Phi constant evaluation
Michael Beck [Fri, 30 Jun 2006 09:44:28 +0000 (09:44 +0000)]
BugFix: Shl, Shr, Shrs had wrong Phi constant evaluation

[r7973]

18 years agoHandle Constant folding through Phi nodes
Michael Beck [Fri, 30 Jun 2006 09:00:39 +0000 (09:00 +0000)]
Handle Constant folding through Phi nodes

[r7972]

18 years agoFS_OPT_CONST_PHI added
Michael Beck [Fri, 30 Jun 2006 08:58:45 +0000 (08:58 +0000)]
FS_OPT_CONST_PHI added

[r7971]

18 years agoBugFix: get correct in position at user node to determine block for smallest common...
Christian Würdig [Thu, 29 Jun 2006 16:00:32 +0000 (16:00 +0000)]
BugFix: get correct in position at user node to determine block for smallest common dominator

[r7970]

18 years agoif conversiopn currently cannot cope with Bad control flow predecessor
Michael Beck [Thu, 29 Jun 2006 13:20:41 +0000 (13:20 +0000)]
if conversiopn currently cannot cope with Bad control flow predecessor

[r7968]

18 years agoreformateed and some comments added
Michael Beck [Thu, 29 Jun 2006 13:04:12 +0000 (13:04 +0000)]
reformateed and some comments added

[r7966]

18 years agoBugFix:
Michael Beck [Thu, 29 Jun 2006 13:03:20 +0000 (13:03 +0000)]
BugFix:
 - when welding blocks, correctly handle the blockinfo

Removed all dumping functions

[r7965]

18 years agoFixed and enhanced movement of Store operation through a PhiM node
Michael Beck [Thu, 29 Jun 2006 11:32:11 +0000 (11:32 +0000)]
Fixed and enhanced movement of Store operation through a PhiM node

[r7964]

18 years agoprefer arithmethic over pointer constants
Michael Beck [Thu, 29 Jun 2006 09:50:59 +0000 (09:50 +0000)]
prefer arithmethic over pointer constants

[r7963]

18 years agoAdd Sub(Sub(x, y), b) -> Sub(x, Add(y,b)) Transformation
Michael Beck [Wed, 28 Jun 2006 15:21:40 +0000 (15:21 +0000)]
Add Sub(Sub(x, y), b) -> Sub(x, Add(y,b)) Transformation

[r7962]

18 years agoWhen checking PhiM's, ignore Bad predecessors
Michael Beck [Wed, 28 Jun 2006 15:19:17 +0000 (15:19 +0000)]
When checking PhiM's, ignore Bad predecessors

[r7961]

18 years agoAdd an additional PhiM check:
Michael Beck [Tue, 27 Jun 2006 14:14:19 +0000 (14:14 +0000)]
Add an additional PhiM check:
Predecessors of Phi M must be pairwise identical or from different blocks.

[r7960]

18 years agoBugFix:
Michael Beck [Tue, 27 Jun 2006 14:13:14 +0000 (14:13 +0000)]
BugFix:
 - when optimizing Phi(St, ST, ...) handle correctly the case that the Stores
   might be cascaded

[r7959]

18 years agoadded support for Psi node
Michael Beck [Tue, 27 Jun 2006 13:10:13 +0000 (13:10 +0000)]
added support for Psi node

[r7958]

18 years agomake sure a '\0' is at the end of an snprintf'ed string
Michael Beck [Wed, 21 Jun 2006 17:53:01 +0000 (17:53 +0000)]
make sure a '\0' is at the end of an snprintf'ed string

[r7954]

18 years agoadded missing new line at eof
Christian Würdig [Wed, 21 Jun 2006 10:40:24 +0000 (10:40 +0000)]
added missing new line at eof

[r7950]

18 years agochange array containing indeces from double to int
Michael Beck [Mon, 19 Jun 2006 11:20:21 +0000 (11:20 +0000)]
change array containing indeces from double to int

[r7942]

18 years agoget_Proj_type() must return firm_unknown_type instead of NULL.
Michael Beck [Fri, 16 Jun 2006 13:12:35 +0000 (13:12 +0000)]
get_Proj_type() must return firm_unknown_type instead of NULL.

[r7940]

18 years agosigned/unsigned bug
Adam Szalkowski [Fri, 16 Jun 2006 09:08:22 +0000 (09:08 +0000)]
signed/unsigned bug

[r7937]

18 years agoBugFix:
Michael Beck [Wed, 14 Jun 2006 16:15:25 +0000 (16:15 +0000)]
BugFix:
 - finally using edges to handle the use-counts rights

[r7931]

18 years agoDo not tell about debug mask if no changes were done
Michael Beck [Wed, 14 Jun 2006 16:13:56 +0000 (16:13 +0000)]
Do not tell about debug mask if no changes were done

[r7930]

18 years agoBugFix: SubI(P,P) cannot be transformed into an Add
Michael Beck [Wed, 14 Jun 2006 15:06:47 +0000 (15:06 +0000)]
BugFix: SubI(P,P) cannot be transformed into an Add
removed old CGGG backend based restriction

[r7928]

18 years agodoxygen docu improved
Michael Beck [Tue, 13 Jun 2006 16:53:30 +0000 (16:53 +0000)]
doxygen docu improved

[r7927]

18 years agoImprovement: Do NOT do OSR of nodes that are not inside
Michael Beck [Tue, 13 Jun 2006 16:52:06 +0000 (16:52 +0000)]
Improvement: Do NOT do OSR of nodes that are not inside
a loop.
Do not count LFT is no changes where done

LFR currently disabled. More checks are needed to avoid overflow.

[r7926]

18 years agoBugFix: dead node elimination keeps keep-alive blocks
Michael Beck [Tue, 13 Jun 2006 16:46:22 +0000 (16:46 +0000)]
BugFix: dead node elimination keeps keep-alive blocks

[r7925]

18 years agoadded inline functions
Michael Beck [Tue, 13 Jun 2006 16:40:34 +0000 (16:40 +0000)]
added inline functions

[r7924]

18 years agoadd inline functions
Michael Beck [Tue, 13 Jun 2006 15:17:05 +0000 (15:17 +0000)]
add inline functions
document destroyed link fields

[r7923]

18 years agoFixed return type of _set_entity_ident()
Michael Beck [Mon, 12 Jun 2006 19:15:44 +0000 (19:15 +0000)]
Fixed return type of _set_entity_ident()

[r7916]

18 years agolocal_optimize_df():
Michael Beck [Mon, 12 Jun 2006 14:48:44 +0000 (14:48 +0000)]
local_optimize_df():
when running the wait queue, check if a node is already dead before optimizing it ...
This is needed due to the changes of the exchange() semantics, which now kills
the old node in both (ir_edges enabled and not) modes.

[r7915]

18 years agoexchange() now kill the old node when running when ir_edges enabled
Michael Beck [Mon, 12 Jun 2006 14:46:08 +0000 (14:46 +0000)]
exchange() now kill the old node when running when ir_edges enabled
by:
 - releasing all of it's inputs
 - replacing op with op_Bad

[r7914]

18 years agoBugFix: Keep-alives had a wrong position in ir_edge objects
Michael Beck [Mon, 12 Jun 2006 14:21:22 +0000 (14:21 +0000)]
BugFix: Keep-alives had a wrong position in ir_edge objects

[r7913]

18 years agoaet_entity_ident() added
Michael Beck [Mon, 12 Jun 2006 12:46:51 +0000 (12:46 +0000)]
aet_entity_ident() added

[r7912]

18 years agodoxygen docu updated
Michael Beck [Mon, 12 Jun 2006 12:18:34 +0000 (12:18 +0000)]
doxygen docu updated

[r7911]

18 years agoBugFix: get_dummy_sel() only the dummy entity can be cached, the Sel node must be...
Michael Beck [Fri, 9 Jun 2006 15:03:49 +0000 (15:03 +0000)]
BugFix: get_dummy_sel() only the dummy entity can be cached, the Sel node must be created every time
(other wise must be placed into the first block ... unneeded)

[r7907]

18 years agoBugFix: The mode of new induction variables created must always be
Michael Beck [Fri, 9 Jun 2006 12:14:21 +0000 (12:14 +0000)]
BugFix: The mode of new induction variables created must always be
adjusted
Detect useless Phi loops (but don't remove them yet)

[r7904]

18 years agoFixed doxygen errors
Michael Beck [Fri, 9 Jun 2006 12:10:08 +0000 (12:10 +0000)]
Fixed doxygen errors

[r7903]

18 years agomake osr_flag_default a define, because "simple-minded" CRecoder cannot handle this
Michael Beck [Fri, 9 Jun 2006 11:37:49 +0000 (11:37 +0000)]
make osr_flag_default a define, because "simple-minded" CRecoder cannot handle this

[r7902]

18 years agoBugFix: Phi node node correctly split into low and high
Michael Beck [Fri, 9 Jun 2006 11:28:59 +0000 (11:28 +0000)]
BugFix: Phi node node correctly split into low and high
removed unused variable

[r7901]

18 years agorenamed type to ir_type
FIRM Projekt Account [Fri, 9 Jun 2006 11:26:35 +0000 (11:26 +0000)]
renamed type to ir_type

[r7900]

18 years agoFixed output of mode_P constants
Michael Beck [Thu, 8 Jun 2006 16:03:19 +0000 (16:03 +0000)]
Fixed output of mode_P constants

[r7897]

18 years agoadded a resid to the reserved tarvals to allow the firmEvaluator to detect this ones
Michael Beck [Thu, 8 Jun 2006 14:53:24 +0000 (14:53 +0000)]
added a resid to the reserved tarvals to allow the firmEvaluator to detect this ones

[r7896]

18 years agoBugFix: nodes that failed verification are colored read again
Michael Beck [Thu, 8 Jun 2006 14:09:36 +0000 (14:09 +0000)]
BugFix: nodes that failed verification are colored read again

[r7895]

18 years agorenamed type to ir_type
Michael Beck [Thu, 8 Jun 2006 10:49:07 +0000 (10:49 +0000)]
renamed type to ir_type

[r7892]

18 years agorenamed type to ir_typrenamed type to ir_type
Michael Beck [Thu, 8 Jun 2006 10:47:13 +0000 (10:47 +0000)]
renamed type to ir_typrenamed type to ir_type

[r7891]

18 years agoFinally removed obsolete type "type", use ir_type instead
Michael Beck [Thu, 8 Jun 2006 02:44:13 +0000 (02:44 +0000)]
Finally removed obsolete type "type", use ir_type instead

[r7890]

18 years agorenamed all type to ir_type
Michael Beck [Thu, 8 Jun 2006 02:43:49 +0000 (02:43 +0000)]
renamed all type to ir_type

[r7889]

18 years agocreated anchor for the value base pointer
Michael Beck [Thu, 8 Jun 2006 02:38:54 +0000 (02:38 +0000)]
created anchor for the value base pointer
get_irg_value_param_base() & set_irg_value_param_base() added

[r7887]

18 years agovalue parameter types have now a flag to distinguish from others
Michael Beck [Wed, 7 Jun 2006 15:18:04 +0000 (15:18 +0000)]
value parameter types have now a flag to distinguish from others
entities of value parameter types havy allovation "parameter"

[r7883]

18 years agoLitte bugfix form older errors: use irg instead of current_ir_graph
Michael Beck [Wed, 7 Jun 2006 13:12:25 +0000 (13:12 +0000)]
Litte bugfix form older errors: use irg instead of current_ir_graph

[r7881]

18 years agomake the Load/Store Optimization more greedy: if a Load or Store is removed,
Michael Beck [Wed, 7 Jun 2006 13:06:37 +0000 (13:06 +0000)]
make the Load/Store Optimization more greedy: if a Load or Store is removed,
reduce, a previous Load serving the address might get unused. Remove it.

[r7880]

18 years agoadd missing del_waitq()
Michael Beck [Tue, 6 Jun 2006 13:37:15 +0000 (13:37 +0000)]
add missing del_waitq()

[r7879]

18 years agouse xmalloc instead of malloc
Michael Beck [Tue, 6 Jun 2006 12:07:01 +0000 (12:07 +0000)]
use xmalloc instead of malloc

[r7878]

18 years agoUse xmalloc instead of malloc
Michael Beck [Tue, 6 Jun 2006 11:59:43 +0000 (11:59 +0000)]
Use xmalloc instead of malloc

[r7877]

18 years agodoxygen docu added
Michael Beck [Mon, 5 Jun 2006 16:00:43 +0000 (16:00 +0000)]
doxygen docu added

[r7875]

18 years agoadded support for Thread local storage
Michael Beck [Mon, 5 Jun 2006 15:58:12 +0000 (15:58 +0000)]
added support for Thread local storage
added more doxygen docu

[r7874]

18 years agoadded support for Thread local storage
Michael Beck [Mon, 5 Jun 2006 15:56:37 +0000 (15:56 +0000)]
added support for Thread local storage
handle Psi, Bound, Confirm and Conv nodes

[r7873]

18 years agomore doxygen docu added
Michael Beck [Mon, 5 Jun 2006 15:54:12 +0000 (15:54 +0000)]
more doxygen docu added

[r7872]

18 years agospeed up by useing pmap_find() instead of pmap_contains()/pmap_get() combination
Michael Beck [Mon, 5 Jun 2006 15:52:54 +0000 (15:52 +0000)]
speed up by useing pmap_find() instead of pmap_contains()/pmap_get() combination

[r7871]

18 years agoadded prototype for mangle_dot()
Michael Beck [Mon, 5 Jun 2006 15:50:42 +0000 (15:50 +0000)]
added prototype for mangle_dot()

[r7870]

18 years agoFixed type of _get_tpop_attr_size()
Michael Beck [Mon, 5 Jun 2006 15:49:51 +0000 (15:49 +0000)]
Fixed type of _get_tpop_attr_size()

[r7869]