Michael Beck [Fri, 1 Jul 2005 09:13:16 +0000 (09:13 +0000)]
fixed doxygen docu
[r6165]
Michael Beck [Fri, 1 Jul 2005 09:06:41 +0000 (09:06 +0000)]
typo fixetypo fixed
[r6164]
FIRM Projekt Account [Fri, 1 Jul 2005 08:18:25 +0000 (08:18 +0000)]
removed dead-node-elimination, so visited count is diifferent
[r6163]
FIRM Projekt Account [Fri, 1 Jul 2005 08:17:19 +0000 (08:17 +0000)]
removed place_code() and dead_node_elim() to dump an
unpinned graph, like before
[r6162]
FIRM Projekt Account [Fri, 1 Jul 2005 08:12:07 +0000 (08:12 +0000)]
use place_code() when global_CSE is activated
[r6161]
Michael Beck [Thu, 30 Jun 2005 13:25:28 +0000 (13:25 +0000)]
used new get_Block_cfgpred_block() function to get the right block
[r6158]
Michael Beck [Thu, 30 Jun 2005 12:17:32 +0000 (12:17 +0000)]
add verifyer for IJmp
[r6156]
Michael Beck [Thu, 30 Jun 2005 12:10:53 +0000 (12:10 +0000)]
get_IJmp_target() and set_IJmp_target() added
[r6154]
Michael Beck [Thu, 30 Jun 2005 09:57:43 +0000 (09:57 +0000)]
check file handle, so it does not crash if the file could not be opened
[r6153]
Michael Beck [Thu, 30 Jun 2005 09:57:05 +0000 (09:57 +0000)]
stat_dump_snapshot() now takes phase parameter
[r6152]
Michael Beck [Thu, 30 Jun 2005 09:55:48 +0000 (09:55 +0000)]
beware of 64bit constants, cannot be handled yet
[r6151]
Michael Beck [Thu, 30 Jun 2005 09:55:03 +0000 (09:55 +0000)]
added assertion if reassociation() is called with nodes floating, we need precise block info
to detect loop-invariant code
fixed typos
[r6150]
Michael Beck [Thu, 30 Jun 2005 09:53:22 +0000 (09:53 +0000)]
added debug code
added triangle inequality to determine values
fixed confirm code (again)
[r6149]
Michael Beck [Thu, 30 Jun 2005 09:51:32 +0000 (09:51 +0000)]
dded assertion if ldstopt() is called with nodes floating, we need precise block info
[r6148]
Michael Beck [Thu, 30 Jun 2005 09:49:09 +0000 (09:49 +0000)]
used is_Block_dead() instead of is_Bad()
added assertion if cf_opt is called with nodes floating
handle IJmp nodes in keep-alives
[r6147]
Michael Beck [Thu, 30 Jun 2005 09:33:08 +0000 (09:33 +0000)]
changed code placement so it can work in more environments:
- added is_Block_unreachable() function which is used instead of is_Bad().
This function used dominator information as well.
- used is_Block_dead() instead of is_Bad() in all cases
- in place_floats_early(): change the blcok of a node only if a
non-dead block can be found
- calc_dca(): do not return dead blocks
- consumer_dom_dca(): ignore consumer in dead blocks
- use get_irn_n(*, -1) to get the initial block of a node
[r6144]
Michael Beck [Thu, 30 Jun 2005 09:24:59 +0000 (09:24 +0000)]
- used new get_Block_cfgpred_block() function instead of get_nodes_block(get_Block_cfgpred(n, 0))
- when getting a block from previous control flow, always skip Proj nodes
- equivalent_node_Add/Sub check that the modes match before returning a predecessor
- use get_irn_n(*, -1) instead of get_nodes_block() to place a node into the same block as another one
- check that the graph is pinned before using block info for decisions
- removed nodes in dead blocks from keep-alive if possible
[r6143]
Michael Beck [Thu, 30 Jun 2005 08:34:32 +0000 (08:34 +0000)]
handle Bad nodes input
add an assertion if the graph is not pinned, we need right block info
handle removement of self referencing Confirm
[r6142]
Michael Beck [Thu, 30 Jun 2005 08:29:50 +0000 (08:29 +0000)]
added documentation for %= and other modifyers
[r6141]
Michael Beck [Thu, 30 Jun 2005 08:23:28 +0000 (08:23 +0000)]
added comments documenting the new behavior of get_nodes_block().
typos fixed
[r6140]
Michael Beck [Thu, 30 Jun 2005 08:22:02 +0000 (08:22 +0000)]
added an assertion to get_nodes_block() that fires
if this function is used on a floating node, as it would
return a potential wrong result.
Used get_irn_n(*, -1) in places where this is tolerable
[r6139]
Michael Beck [Thu, 30 Jun 2005 08:16:37 +0000 (08:16 +0000)]
used get_irn_n(*, -1) instead of get_nodes_block() to access the block of
potential floating nodes
typos fixed
[r6138]
Michael Beck [Thu, 30 Jun 2005 08:15:06 +0000 (08:15 +0000)]
used get_irn_n(*, -1) instead of get_nodes_block() to access
the block of potential floating nodes.
check first if a nodes is floating before checking it's block
[r6137]
Michael Beck [Thu, 30 Jun 2005 08:12:14 +0000 (08:12 +0000)]
add constructors for the IJmp operation
[r6136]
Michael Beck [Thu, 30 Jun 2005 08:05:14 +0000 (08:05 +0000)]
add constructors for IJmp
[r6135]
Michael Beck [Thu, 30 Jun 2005 08:03:05 +0000 (08:03 +0000)]
added IJmp opcode allowing an indirect jump to an arbitrary address
[r6134]
Michael Beck [Thu, 30 Jun 2005 07:59:11 +0000 (07:59 +0000)]
added %= for printing a pn_Cmp value
if a node is a Const, dump it's tarval
typos fixed
[r6133]
Michael Beck [Thu, 30 Jun 2005 07:54:53 +0000 (07:54 +0000)]
typos fixed
used get_irn_op() instead of get_irn_opcode()
used get_irn_n(*, -1) instead of get_nodes_block(), so we
can use this optimization while nodes are floating
[r6132]
Michael Beck [Wed, 29 Jun 2005 15:57:29 +0000 (15:57 +0000)]
BugFix: comparasion between two signed floats was wrong
[r6129]
Michael Beck [Tue, 28 Jun 2005 15:08:23 +0000 (15:08 +0000)]
added special case to fc_comp() to speed things up
removed old assert() in tarval_cmp() float case
[r6126]
Götz Lindenmaier [Mon, 27 Jun 2005 11:05:24 +0000 (11:05 +0000)]
an accessor function returning predecessor blocks
[r6123]
Michael Beck [Mon, 27 Jun 2005 08:39:32 +0000 (08:39 +0000)]
BugFix: dead node elimination killed the Phi node in the old graph instead
in the new one
Code Placement: replaced get_nodes_block() calls by get_irn_n() to avoid
new assertion that checks block usage in floating graphs
[r6122]
Sebastian Hack [Fri, 24 Jun 2005 11:11:47 +0000 (11:11 +0000)]
Added block successor edges to the iredges module.
[r6120]
Michael Beck [Thu, 23 Jun 2005 14:36:50 +0000 (14:36 +0000)]
Bugfix: missing ;
[r6118]
Götz Lindenmaier [Thu, 23 Jun 2005 14:30:59 +0000 (14:30 +0000)]
accessor to check whether node currently is pinned.
[r6117]
Götz Lindenmaier [Thu, 23 Jun 2005 13:48:07 +0000 (13:48 +0000)]
added outs for array element types
[r6114]
Michael Beck [Thu, 23 Jun 2005 09:21:04 +0000 (09:21 +0000)]
Bugfix: pattern for "x + (a - x)" fixed
[r6110]
Michael Beck [Wed, 22 Jun 2005 17:56:36 +0000 (17:56 +0000)]
fixed stupid conpy and paste error
[r6109]
Michael Beck [Wed, 22 Jun 2005 17:21:47 +0000 (17:21 +0000)]
added comment explaining #if 0 code
[r6108]
Michael Beck [Wed, 22 Jun 2005 17:21:06 +0000 (17:21 +0000)]
used faster get_mode_x() functions
removed depth from debug macros (not supported by libfirm's irprintf())
[r6107]
Michael Beck [Wed, 22 Jun 2005 17:19:05 +0000 (17:19 +0000)]
renamed DBG_OPT_POLY_ALLOC() to DBG_OPT_POLY(), as
not in every case there is a check for an Alloc()
[r6106]
Michael Beck [Wed, 22 Jun 2005 17:18:08 +0000 (17:18 +0000)]
Fixed interval creation
added debug function
[r6105]
Michael Beck [Wed, 22 Jun 2005 17:16:53 +0000 (17:16 +0000)]
fixed DBG_OPT_RAW() call
[r6104]
Michael Beck [Wed, 22 Jun 2005 17:15:56 +0000 (17:15 +0000)]
iropt_dbg.h include needed now
[r6103]
Michael Beck [Wed, 22 Jun 2005 17:14:26 +0000 (17:14 +0000)]
added new arithmetic optimization flags
added (a - x) + x optimization
removed #if 0 code
used is_Bad()
[r6102]
Michael Beck [Wed, 22 Jun 2005 17:12:31 +0000 (17:12 +0000)]
added new flags for arithmetic optimizations
[r6101]
Michael Beck [Wed, 22 Jun 2005 17:09:13 +0000 (17:09 +0000)]
removed debugging output
used new get_negated_pnc()
[r6100]
Michael Beck [Wed, 22 Jun 2005 16:56:39 +0000 (16:56 +0000)]
added new flags for arithmetic simplifivations
added new dead block optimization flag
[r6099]
Michael Beck [Wed, 22 Jun 2005 16:55:55 +0000 (16:55 +0000)]
added new flags for arithmetic simplifications
[r6098]
Michael Beck [Wed, 22 Jun 2005 16:55:25 +0000 (16:55 +0000)]
uses new flags for arithmetic simplifications
[r6097]
Michael Beck [Wed, 22 Jun 2005 16:54:25 +0000 (16:54 +0000)]
added doxygen comments
added additional option for algebraic simplifications
[r6096]
Michael Beck [Wed, 22 Jun 2005 16:53:21 +0000 (16:53 +0000)]
added option for dead block optimization
[r6095]
Michael Beck [Wed, 22 Jun 2005 16:52:12 +0000 (16:52 +0000)]
made get_Block_cfgpred() and get_Block_n_cfgpreds() inline
get_negated_pnc() now used the mode to supress unordered bit
on modes that do not have them.
[r6094]
Michael Beck [Wed, 22 Jun 2005 12:59:23 +0000 (12:59 +0000)]
typos fixed
[r6093]
Michael Beck [Wed, 22 Jun 2005 11:21:25 +0000 (11:21 +0000)]
typos fixed
added doxygen comment
[r6092]
Michael Beck [Wed, 22 Jun 2005 11:20:03 +0000 (11:20 +0000)]
typos fixed
removed old comment
[r6091]
Michael Beck [Wed, 22 Jun 2005 09:34:11 +0000 (09:34 +0000)]
typo fixed
[r6090]
Götz Lindenmaier [Tue, 21 Jun 2005 18:13:02 +0000 (18:13 +0000)]
fixed file dump filter stuff
[r6086]
Michael Beck [Tue, 21 Jun 2005 16:04:19 +0000 (16:04 +0000)]
Confirm: detect a replacement by a Const
[r6085]
Michael Beck [Tue, 21 Jun 2005 15:02:35 +0000 (15:02 +0000)]
make opt_names more rebust, added more flags
[r6082]
Michael Beck [Tue, 21 Jun 2005 15:01:40 +0000 (15:01 +0000)]
added more optiopns to hook_opt_kind regarding Confirm optimizations
[r6081]
Michael Beck [Tue, 21 Jun 2005 15:00:40 +0000 (15:00 +0000)]
used new DBG_OPT_CONFIRM macros
[r6080]
Michael Beck [Tue, 21 Jun 2005 15:00:06 +0000 (15:00 +0000)]
added (a + x) - x = a optimization
new i/f for compute_value_confirm_cmp
[r6079]
Michael Beck [Tue, 21 Jun 2005 14:59:03 +0000 (14:59 +0000)]
fixed interval evaluation finally (hopefully last time)
[r6078]
Michael Beck [Tue, 21 Jun 2005 14:57:48 +0000 (14:57 +0000)]
dbg_opt_confirm added
[r6077]
Michael Beck [Tue, 21 Jun 2005 14:57:11 +0000 (14:57 +0000)]
added new macros for Confirm based optimization
[r6076]
Michael Beck [Tue, 21 Jun 2005 14:08:28 +0000 (14:08 +0000)]
mode_wrap_around() added
CVS---------------------------------------------------------------------
[r6075]
Michael Beck [Mon, 20 Jun 2005 17:11:33 +0000 (17:11 +0000)]
typos fixed
[r6074]
Michael Beck [Mon, 20 Jun 2005 17:08:36 +0000 (17:08 +0000)]
typos fixed
indentation fixed
[r6073]
Michael Beck [Mon, 20 Jun 2005 09:05:01 +0000 (09:05 +0000)]
BugFix: tarval_cmp(NaN, NaN) was wrongly evaluated to Eq, now is evaluated to Uo
as needed for IEEE-754
[r6072]
Michael Beck [Mon, 20 Jun 2005 09:03:25 +0000 (09:03 +0000)]
fixed typos
add some newlines to make it more readable
[r6071]
Michael Beck [Fri, 17 Jun 2005 17:43:52 +0000 (17:43 +0000)]
added doxygen docu
[r6070]
Michael Beck [Fri, 17 Jun 2005 17:42:32 +0000 (17:42 +0000)]
added doxygen docu
fixed (void) function headers
[r6069]
Michael Beck [Fri, 17 Jun 2005 17:40:11 +0000 (17:40 +0000)]
dump information for float constants
added new info string for Confirm based optimization
[r6068]
Michael Beck [Fri, 17 Jun 2005 17:38:52 +0000 (17:38 +0000)]
typos fixed
[r6067]
Michael Beck [Fri, 17 Jun 2005 17:36:09 +0000 (17:36 +0000)]
added data for floating point constant statistics
[r6066]
Michael Beck [Fri, 17 Jun 2005 17:34:13 +0000 (17:34 +0000)]
typo fixed
[r6065]
Michael Beck [Fri, 17 Jun 2005 17:33:18 +0000 (17:33 +0000)]
use tv_t.h instead of tv.h
[r6064]
Michael Beck [Fri, 17 Jun 2005 17:31:33 +0000 (17:31 +0000)]
fixed loop-invariant nodes: Bad nodes are always loop invariant,
but did not work in the test
[r6063]
Michael Beck [Fri, 17 Jun 2005 17:28:53 +0000 (17:28 +0000)]
removed unused follow_Id()
added Confirm node based optimizations
moved type detection into inner if's
[r6062]
Michael Beck [Fri, 17 Jun 2005 17:26:56 +0000 (17:26 +0000)]
used ir_ops instead of iro_ numbers
used is_*() functions instead of == op_ tests
[r6061]
Michael Beck [Fri, 17 Jun 2005 17:25:18 +0000 (17:25 +0000)]
typos fixed
improved doxygen documentation
[r6060]
Michael Beck [Fri, 17 Jun 2005 17:23:17 +0000 (17:23 +0000)]
typos fixed
[r6059]
Michael Beck [Fri, 17 Jun 2005 17:22:18 +0000 (17:22 +0000)]
added remove_Confirm option. If set, local_optimize() will remove
all Confirm nodes.
[r6058]
Michael Beck [Fri, 17 Jun 2005 17:20:11 +0000 (17:20 +0000)]
doxygen docu improved
[r6057]
Michael Beck [Fri, 17 Jun 2005 12:13:22 +0000 (12:13 +0000)]
added statistics for float constants
[r6056]
Michael Beck [Fri, 17 Jun 2005 12:12:28 +0000 (12:12 +0000)]
added flag for inplace edges
[r6055]
FIRM Projekt Account [Fri, 17 Jun 2005 12:10:35 +0000 (12:10 +0000)]
adapted to output of type's visibility flag
[r6054]
Michael Beck [Fri, 17 Jun 2005 12:04:15 +0000 (12:04 +0000)]
HOOK_OPT_CONFIRM added
[r6053]
Michael Beck [Fri, 17 Jun 2005 12:02:03 +0000 (12:02 +0000)]
DBG_OPT_CONFIRM added
[r6052]
Götz Lindenmaier [Fri, 17 Jun 2005 12:00:21 +0000 (12:00 +0000)]
firmjni does not like two similar enums.
[r6051]
Michael Beck [Fri, 17 Jun 2005 11:57:35 +0000 (11:57 +0000)]
fixed classify_value() function
[r6049]
Michael Beck [Fri, 17 Jun 2005 11:45:04 +0000 (11:45 +0000)]
irconsconfirm.h added
[r6048]
Michael Beck [Fri, 17 Jun 2005 11:44:20 +0000 (11:44 +0000)]
irconsconfirm.[ch] added
[r6047]
Michael Beck [Fri, 17 Jun 2005 11:43:53 +0000 (11:43 +0000)]
Construction of Confirm nodes
[r6046]
Michael Beck [Fri, 17 Jun 2005 11:43:19 +0000 (11:43 +0000)]
opt_confirms.[ch] added
[r6045]
Michael Beck [Fri, 17 Jun 2005 11:42:51 +0000 (11:42 +0000)]
optimizations using Confirm nodes, used by iropt
[r6044]
Götz Lindenmaier [Thu, 16 Jun 2005 14:46:09 +0000 (14:46 +0000)]
my colleagues didn't like the existence of
a function that is once static, and once public...
which kind of is all right...
[r6030]
Michael Beck [Thu, 16 Jun 2005 14:41:18 +0000 (14:41 +0000)]
added option for disabling inplace edges
[r6029]
Sebastian Hack [Thu, 16 Jun 2005 13:58:10 +0000 (13:58 +0000)]
Beautified
[r6028]