Sebastian Hack [Tue, 1 Aug 2006 09:20:13 +0000 (09:20 +0000)]
Adapted to changes in libcore
[r8093]
Michael Beck [Mon, 31 Jul 2006 16:48:51 +0000 (16:48 +0000)]
--enable-jvm added
[r8088]
Michael Beck [Mon, 31 Jul 2006 13:16:38 +0000 (13:16 +0000)]
get_Pin_op() and set_Pin_op() added
[r8083]
Michael Beck [Mon, 31 Jul 2006 11:40:21 +0000 (11:40 +0000)]
moved reading of ini file to libcore
[r8080]
Michael Beck [Mon, 31 Jul 2006 11:38:58 +0000 (11:38 +0000)]
changed enum type again: dynamic addition of constants changed the address of
ir_enum_const objects which is not good.
So, the old behaviour is restored
[r8078]
Michael Beck [Mon, 31 Jul 2006 11:24:31 +0000 (11:24 +0000)]
removed useless includes
[r8077]
Michael Beck [Mon, 31 Jul 2006 09:42:18 +0000 (09:42 +0000)]
use assure_irg_outs()
[r8076]
Michael Beck [Mon, 31 Jul 2006 09:41:30 +0000 (09:41 +0000)]
temporary switched off the detection of more than one node of mode M from the same block:
this happens with the current exception implementation
[r8075]
Michael Beck [Mon, 31 Jul 2006 09:12:07 +0000 (09:12 +0000)]
symconst_enum_const support added
[r8074]
Sebastian Hack [Mon, 31 Jul 2006 09:10:18 +0000 (09:10 +0000)]
Added WITH_JVM defines for the Java based coalescer
[r8073]
Sebastian Hack [Mon, 31 Jul 2006 09:08:25 +0000 (09:08 +0000)]
Added --enable-jvm switch which is used in bejavacoal.c
[r8072]
Sebastian Hack [Mon, 31 Jul 2006 09:05:24 +0000 (09:05 +0000)]
Fixed a bug
[r8071]
Michael Beck [Mon, 31 Jul 2006 09:04:57 +0000 (09:04 +0000)]
ir_enum_const added
[r8070]
Michael Beck [Mon, 31 Jul 2006 09:04:01 +0000 (09:04 +0000)]
doxygen comment added
[r8069]
Michael Beck [Mon, 31 Jul 2006 09:03:25 +0000 (09:03 +0000)]
added more assertions
[r8068]
Michael Beck [Mon, 31 Jul 2006 08:59:21 +0000 (08:59 +0000)]
changed implementation of enum types
[r8067]
Sebastian Hack [Mon, 31 Jul 2006 08:21:38 +0000 (08:21 +0000)]
Added irn data setting ability
[r8066]
Sebastian Hack [Mon, 31 Jul 2006 08:21:21 +0000 (08:21 +0000)]
Removed exec freqs
[r8065]
Sebastian Hack [Mon, 31 Jul 2006 08:19:17 +0000 (08:19 +0000)]
Fixed a typo
[r8064]
Sebastian Hack [Mon, 31 Jul 2006 08:18:57 +0000 (08:18 +0000)]
Added ini file support
[r8063]
Sebastian Hack [Mon, 31 Jul 2006 08:18:41 +0000 (08:18 +0000)]
Added long version of get_exec_freq()
[r8062]
Sebastian Hack [Wed, 26 Jul 2006 13:43:01 +0000 (13:43 +0000)]
Activated ini file parsing for libcore.
firm.ini is searched in the directory, the compiler is activated.
[r8053]
Michael Beck [Tue, 25 Jul 2006 12:12:37 +0000 (12:12 +0000)]
find_type_*() now correctly handle the global type
[r8047]
Michael Beck [Mon, 24 Jul 2006 17:49:53 +0000 (17:49 +0000)]
fix format string parser
[r8045]
Michael Beck [Mon, 24 Jul 2006 14:51:21 +0000 (14:51 +0000)]
missing new_SymConst_type() constructor added
[r8041]
Christian Würdig [Mon, 17 Jul 2006 08:48:28 +0000 (08:48 +0000)]
get_irn_n_edges: out_count still broken, switched back to recalculation
[r8034]
Christian Würdig [Fri, 14 Jul 2006 09:55:04 +0000 (09:55 +0000)]
added asserting to check the number of user blocks
fixed indent
[r8033]
Michael Beck [Thu, 13 Jul 2006 10:16:47 +0000 (10:16 +0000)]
Improved marking of dead blocks
handle one additional bad case.
[r8032]
Michael Beck [Thu, 13 Jul 2006 10:14:33 +0000 (10:14 +0000)]
improve error report
[r8031]
Sebastian Hack [Tue, 11 Jul 2006 07:57:09 +0000 (07:57 +0000)]
Added exec_freq_t type
Added node dump hook
[r8030]
Michael Beck [Mon, 10 Jul 2006 15:29:32 +0000 (15:29 +0000)]
cosmetic changes
[r8029]
Michael Beck [Mon, 10 Jul 2006 15:28:19 +0000 (15:28 +0000)]
BugFix: wrong nodes was followed in exception case
[r8028]
Michael Beck [Mon, 10 Jul 2006 15:25:26 +0000 (15:25 +0000)]
typos fixed, comment added
[r8027]
Michael Beck [Mon, 10 Jul 2006 15:22:37 +0000 (15:22 +0000)]
showent and showtype commands added
[r8026]
Michael Beck [Mon, 10 Jul 2006 11:55:48 +0000 (11:55 +0000)]
imissing case added: computed_value_Proj() now handle Proj(Quot)
[r8025]
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]
Michael Beck [Fri, 7 Jul 2006 11:38:44 +0000 (11:38 +0000)]
Removed some warnings due to missing const
[r8019]
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]
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]
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]
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]
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]
Michael Beck [Thu, 6 Jul 2006 23:16:58 +0000 (23:16 +0000)]
*** empty log message ***
[r8013]
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]
Michael Beck [Thu, 6 Jul 2006 16:24:03 +0000 (16:24 +0000)]
renamed real_function_call unto function_call
[r8010]
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]
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]
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]
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]
Michael Beck [Wed, 5 Jul 2006 14:00:46 +0000 (14:00 +0000)]
is_irn_always_opt() added
[r8005]
Michael Beck [Wed, 5 Jul 2006 13:59:39 +0000 (13:59 +0000)]
Color Pin nodes orchid
[r8004]
Michael Beck [Wed, 5 Jul 2006 13:59:06 +0000 (13:59 +0000)]
only "firm_types.h" needed
typos fixed
[r8003]
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]
Michael Beck [Wed, 5 Jul 2006 13:40:02 +0000 (13:40 +0000)]
correctly handle Phi nodes (and there effective use)
[r8001]
Michael Beck [Wed, 5 Jul 2006 11:27:50 +0000 (11:27 +0000)]
BugFix: current_ir_graph was not set rigtht while lowering
[r7999]
Michael Beck [Tue, 4 Jul 2006 17:29:23 +0000 (17:29 +0000)]
Add Pin Operation.
[r7998]
Adam Szalkowski [Mon, 3 Jul 2006 20:17:51 +0000 (20:17 +0000)]
execfreq stroes set internally now
[r7996]
Michael Beck [Mon, 3 Jul 2006 13:20:46 +0000 (13:20 +0000)]
fixed equivalent_node_Quot()
[r7993]
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]
Michael Beck [Sun, 2 Jul 2006 16:30:17 +0000 (16:30 +0000)]
Fixed warnings on newer VC
[r7986]
Michael Beck [Sun, 2 Jul 2006 16:29:17 +0000 (16:29 +0000)]
Fix attribute access
[r7985]
Michael Beck [Sun, 2 Jul 2006 16:25:37 +0000 (16:25 +0000)]
Make fp optimization dependent on the fp model.
[r7984]
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]
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]
Michael Beck [Sat, 1 Jul 2006 16:33:12 +0000 (16:33 +0000)]
Fixed indentation
[r7981]
Michael Beck [Fri, 30 Jun 2006 12:31:05 +0000 (12:31 +0000)]
handle the new irg_inline_forced_no_body inline property
[r7975]
Michael Beck [Fri, 30 Jun 2006 12:30:35 +0000 (12:30 +0000)]
irg_inline_forced_no_body inline property added
[r7974]
Michael Beck [Fri, 30 Jun 2006 09:44:28 +0000 (09:44 +0000)]
BugFix: Shl, Shr, Shrs had wrong Phi constant evaluation
[r7973]
Michael Beck [Fri, 30 Jun 2006 09:00:39 +0000 (09:00 +0000)]
Handle Constant folding through Phi nodes
[r7972]
Michael Beck [Fri, 30 Jun 2006 08:58:45 +0000 (08:58 +0000)]
FS_OPT_CONST_PHI added
[r7971]
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]
Michael Beck [Thu, 29 Jun 2006 13:20:41 +0000 (13:20 +0000)]
if conversiopn currently cannot cope with Bad control flow predecessor
[r7968]
Michael Beck [Thu, 29 Jun 2006 13:04:12 +0000 (13:04 +0000)]
reformateed and some comments added
[r7966]
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]
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]
Michael Beck [Thu, 29 Jun 2006 09:50:59 +0000 (09:50 +0000)]
prefer arithmethic over pointer constants
[r7963]
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]
Michael Beck [Wed, 28 Jun 2006 15:19:17 +0000 (15:19 +0000)]
When checking PhiM's, ignore Bad predecessors
[r7961]
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]
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]
Michael Beck [Tue, 27 Jun 2006 13:10:13 +0000 (13:10 +0000)]
added support for Psi node
[r7958]
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]
Christian Würdig [Wed, 21 Jun 2006 10:40:24 +0000 (10:40 +0000)]
added missing new line at eof
[r7950]
Michael Beck [Mon, 19 Jun 2006 11:20:21 +0000 (11:20 +0000)]
change array containing indeces from double to int
[r7942]
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]
Adam Szalkowski [Fri, 16 Jun 2006 09:08:22 +0000 (09:08 +0000)]
signed/unsigned bug
[r7937]
Michael Beck [Wed, 14 Jun 2006 16:15:25 +0000 (16:15 +0000)]
BugFix:
- finally using edges to handle the use-counts rights
[r7931]
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]
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]
Michael Beck [Tue, 13 Jun 2006 16:53:30 +0000 (16:53 +0000)]
doxygen docu improved
[r7927]
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]
Michael Beck [Tue, 13 Jun 2006 16:46:22 +0000 (16:46 +0000)]
BugFix: dead node elimination keeps keep-alive blocks
[r7925]
Michael Beck [Tue, 13 Jun 2006 16:40:34 +0000 (16:40 +0000)]
added inline functions
[r7924]
Michael Beck [Tue, 13 Jun 2006 15:17:05 +0000 (15:17 +0000)]
add inline functions
document destroyed link fields
[r7923]
Michael Beck [Mon, 12 Jun 2006 19:15:44 +0000 (19:15 +0000)]
Fixed return type of _set_entity_ident()
[r7916]
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]
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]
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]
Michael Beck [Mon, 12 Jun 2006 12:46:51 +0000 (12:46 +0000)]
aet_entity_ident() added
[r7912]
Michael Beck [Mon, 12 Jun 2006 12:18:34 +0000 (12:18 +0000)]
doxygen docu updated
[r7911]