Christoph Mallon [Mon, 4 Aug 2008 09:45:57 +0000 (09:45 +0000)]
Remove unnecessary return; at end of void functions.
[r20959]
Christoph Mallon [Sun, 3 Aug 2008 20:23:50 +0000 (20:23 +0000)]
Do not materialise the "strict"-part of strictConv(int) unless the source mode has more bits than the target float mode mantissa.
[r20955]
Michael Beck [Sun, 3 Aug 2008 13:06:16 +0000 (13:06 +0000)]
- add missing transform_Proj_Bound()
[r20953]
Michael Beck [Sun, 3 Aug 2008 12:43:44 +0000 (12:43 +0000)]
- More restructureation:
- add new operations transform_node_Proj() and equivalent_node_Proj()
[r20952]
Michael Beck [Sun, 3 Aug 2008 12:35:36 +0000 (12:35 +0000)]
fixed warnings
[r20951]
Michael Beck [Sun, 3 Aug 2008 12:08:23 +0000 (12:08 +0000)]
- More restructureation:
- add new operations computed_value_Proj() and equivalent_node_Proj()
- computed_value_func() uses now const ir_node *
- removed some old code
[r20950]
Michael Beck [Sun, 3 Aug 2008 11:25:17 +0000 (11:25 +0000)]
- add a cast to suppress DEL_ARR_F() warnings when compiled with MSVC
- killed those spaces before arguments
[r20949]
Michael Beck [Sat, 2 Aug 2008 22:43:03 +0000 (22:43 +0000)]
more fixes for r20946
[r20948]
Michael Beck [Sat, 2 Aug 2008 22:28:13 +0000 (22:28 +0000)]
typo fixed
[r20947]
Michael Beck [Sat, 2 Aug 2008 16:45:26 +0000 (16:45 +0000)]
revised equivalent_node() functions:
- use value_of() instead of is_Const() tests to allow interaction with combo
- new nodes in equivalent_node are NOT allowed
- turn_into_tuple() in equivalent_node is NOT allowed
- do NOT allow equivalent nodes for mode_T nodes!
BugFix:
- value_not_null() checked for wrong pnc
[r20946]
Christoph Mallon [Sat, 2 Aug 2008 12:11:10 +0000 (12:11 +0000)]
ConvI(ConvF(I)) -> I, iff float mantissa >= int mode
[r20940]
Christoph Mallon [Sat, 2 Aug 2008 11:25:40 +0000 (11:25 +0000)]
Replace memcpy() by simple assignment.
[r20939]
Michael Beck [Sat, 2 Aug 2008 06:05:23 +0000 (06:05 +0000)]
- add support for ASM includes, needed for fehler125.c
[r20935]
Michael Beck [Sat, 2 Aug 2008 06:04:29 +0000 (06:04 +0000)]
- increase version number for next development version
[r20934]
Michael Beck [Sat, 2 Aug 2008 06:03:25 +0000 (06:03 +0000)]
- removed useless strlen()
[r20933]
Michael Beck [Sat, 2 Aug 2008 04:42:14 +0000 (04:42 +0000)]
removed debug mask setting
[r20931]
Michael Beck [Sat, 2 Aug 2008 04:03:30 +0000 (04:03 +0000)]
Small improvements:
- use single linked split list instead of double
- no need to store the arity for partitions, as splitting by
inputs is always last and especially AFTER we split by opcode
[r20929]
Moritz Kroll [Fri, 1 Aug 2008 23:28:36 +0000 (23:28 +0000)]
fehler127: WTF - autobreak expects this to compile.
[r20927]
Moritz Kroll [Fri, 1 Aug 2008 23:16:40 +0000 (23:16 +0000)]
fehler126: edg fe crashes.
[r20926]
Moritz Kroll [Fri, 1 Aug 2008 22:14:28 +0000 (22:14 +0000)]
fehler125: Missing support for global asm statements.
[r20925]
Moritz Kroll [Fri, 1 Aug 2008 21:54:59 +0000 (21:54 +0000)]
Reroute End-keep edges when creating critical edges during block scheduling (i.e. the removed block is the End-kept block of an endless loop).
[r20924]
Moritz Kroll [Fri, 1 Aug 2008 20:31:25 +0000 (20:31 +0000)]
Fix fehler123 and fehler124.
[r20923]
Moritz Kroll [Fri, 1 Aug 2008 20:12:57 +0000 (20:12 +0000)]
Incorrect final value due to skipping too many float-float-Convs while transforming.
[r20922]
Moritz Kroll [Fri, 1 Aug 2008 19:33:35 +0000 (19:33 +0000)]
fehler123: ia32 transformer skips too many convs when storing float->int converted value.
[r20921]
Moritz Kroll [Fri, 1 Aug 2008 19:06:15 +0000 (19:06 +0000)]
Fixed switch lowering
[r20919]
Matthias Braun [Fri, 1 Aug 2008 14:15:37 +0000 (14:15 +0000)]
add TEMPLATE backend to Makefile
[r20912]
Matthias Braun [Fri, 1 Aug 2008 13:26:06 +0000 (13:26 +0000)]
ref-results are outdates and potentially wrong
[r20906]
Matthias Braun [Fri, 1 Aug 2008 13:25:40 +0000 (13:25 +0000)]
update testprograms to latest libfirm
[r20905]
Matthias Braun [Fri, 1 Aug 2008 11:50:07 +0000 (11:50 +0000)]
avoid warnings
[r20901]
Matthias Braun [Fri, 1 Aug 2008 11:49:18 +0000 (11:49 +0000)]
avoid warning
[r20900]
Matthias Braun [Fri, 1 Aug 2008 11:46:43 +0000 (11:46 +0000)]
avoid long long in public API
[r20899]
Matthias Braun [Fri, 1 Aug 2008 11:45:47 +0000 (11:45 +0000)]
commit my experimental new reassoc before it gets lost (but keep it disabled)
[r20898]
Matthias Braun [Fri, 1 Aug 2008 10:48:51 +0000 (10:48 +0000)]
fix warning
[r20893]
Matthias Braun [Fri, 1 Aug 2008 10:44:33 +0000 (10:44 +0000)]
small optimisation (avoids edges_notify_edge)
[r20892]
Michael Beck [Fri, 1 Aug 2008 10:39:41 +0000 (10:39 +0000)]
add comment
[r20890]
Michael Beck [Fri, 1 Aug 2008 10:27:55 +0000 (10:27 +0000)]
removed two not absolutely necessary const's preventing warnings on VC7
[r20889]
Michael Beck [Fri, 1 Aug 2008 10:26:43 +0000 (10:26 +0000)]
- tarval_sub() now has an additional parameter, needed for
mode_ref - mode_ref = mode_int operations
- more doxygen docu added
- allow reference mode arithmetic
[r20888]
Michael Beck [Fri, 1 Aug 2008 10:03:27 +0000 (10:03 +0000)]
fixed const
[r20887]
Michael Beck [Fri, 1 Aug 2008 09:56:22 +0000 (09:56 +0000)]
ptr add/sub test
[r20886]
Matthias Braun [Fri, 1 Aug 2008 09:24:36 +0000 (09:24 +0000)]
firm already had kill_node, no need to be_kill_node
[r20885]
Christoph Mallon [Fri, 1 Aug 2008 08:51:22 +0000 (08:51 +0000)]
Add two break; missing in r20857.
[r20881]
Christoph Mallon [Fri, 1 Aug 2008 08:14:28 +0000 (08:14 +0000)]
Skip a single downconv even if it has multiple users.
[r20878]
Christoph Mallon [Fri, 1 Aug 2008 07:47:33 +0000 (07:47 +0000)]
Include limits.h for LONG_{MAX,MIN}.
[r20877]
Moritz Kroll [Fri, 1 Aug 2008 02:16:23 +0000 (02:16 +0000)]
Testing helps... *yawn*
[r20875]
Moritz Kroll [Fri, 1 Aug 2008 01:53:20 +0000 (01:53 +0000)]
Implemented simple switch lowering
[r20872]
Michael Beck [Thu, 31 Jul 2008 22:19:53 +0000 (22:19 +0000)]
- removed a now superfluous function
[r20871]
Sebastian Buchwald [Thu, 31 Jul 2008 21:33:59 +0000 (21:33 +0000)]
Deactivate edges before freeing an irg.
[r20869]
Sebastian Buchwald [Thu, 31 Jul 2008 21:26:36 +0000 (21:26 +0000)]
Fixed more memory leaks.
[r20868]
Sebastian Buchwald [Thu, 31 Jul 2008 21:13:33 +0000 (21:13 +0000)]
typos
[r20867]
Sebastian Buchwald [Thu, 31 Jul 2008 21:02:34 +0000 (21:02 +0000)]
Fixed revision 20864.
[r20866]
Michael Beck [Thu, 31 Jul 2008 20:58:58 +0000 (20:58 +0000)]
combo test case
[r20865]
Sebastian Buchwald [Thu, 31 Jul 2008 20:28:49 +0000 (20:28 +0000)]
Fixed one more memory leak.
[r20864]
Moritz Kroll [Thu, 31 Jul 2008 20:26:19 +0000 (20:26 +0000)]
Panic on switch size bigger than 256000... WTF?!
[r20863]
Sebastian Buchwald [Thu, 31 Jul 2008 20:15:39 +0000 (20:15 +0000)]
Fixed one more memory leak.
[r20862]
Michael Beck [Thu, 31 Jul 2008 19:26:42 +0000 (19:26 +0000)]
- allow add and sub with reference values
[r20857]
Sebastian Buchwald [Thu, 31 Jul 2008 19:18:09 +0000 (19:18 +0000)]
Call firm_be_finish, but who calls me?
[r20856]
Sebastian Buchwald [Thu, 31 Jul 2008 19:16:53 +0000 (19:16 +0000)]
Added function firm_be_finish.
[r20855]
Sebastian Buchwald [Thu, 31 Jul 2008 19:15:44 +0000 (19:15 +0000)]
Call free functions.
[r20854]
Michael Beck [Thu, 31 Jul 2008 18:47:00 +0000 (18:47 +0000)]
- use double-linked lists instead of flexible arrays for the
split_by_what() function
- BugFix: do not replace the Bad node
- BugFix: wrong var used
[r20853]
Sebastian Buchwald [Thu, 31 Jul 2008 18:19:40 +0000 (18:19 +0000)]
Fixed one more memory leak.
[r20851]
Sebastian Buchwald [Thu, 31 Jul 2008 18:18:06 +0000 (18:18 +0000)]
typo
[r20850]
Sebastian Buchwald [Thu, 31 Jul 2008 18:10:09 +0000 (18:10 +0000)]
Fixed one more memory leak.
[r20849]
Moritz Kroll [Thu, 31 Jul 2008 18:03:49 +0000 (18:03 +0000)]
Added Beck's VC obstack version. Updated VC project
[r20847]
Michael Beck [Thu, 31 Jul 2008 14:41:53 +0000 (14:41 +0000)]
- BugFix: when splitting by input, ensure than Z is split by ALL inputs
- BugFix: to detect that a Cmp must be reavaluated, we give the Cmp node the type true IF there is a chance that it could be evaluated
[r20841]
Christoph Mallon [Thu, 31 Jul 2008 14:13:14 +0000 (14:13 +0000)]
GC attributes left over by r20834.
[r20838]
Matthias Braun [Thu, 31 Jul 2008 12:52:31 +0000 (12:52 +0000)]
- reverted the "small, very small" optimisation, because:
* The underlying idea is simply wrong
* the is_inside function was wrong too, so the wrong optimisation nearly never triggered
[r20834]
Matthias Braun [Thu, 31 Jul 2008 09:17:21 +0000 (09:17 +0000)]
fix warning
[r20828]
Matthias Braun [Thu, 31 Jul 2008 09:17:10 +0000 (09:17 +0000)]
generalize support for segments
[r20827]
Matthias Braun [Wed, 30 Jul 2008 18:34:01 +0000 (18:34 +0000)]
fix/improve peephole
[r20820]
Matthias Braun [Wed, 30 Jul 2008 18:32:14 +0000 (18:32 +0000)]
use peephoole_exchange, IncSP->Push should use ia32_Unknown and not ProduceVal
[r20819]
Michael Beck [Wed, 30 Jul 2008 13:16:46 +0000 (13:16 +0000)]
fehler119 is C99
[r20806]
Matthias Braun [Wed, 30 Jul 2008 12:51:51 +0000 (12:51 +0000)]
simply deactivate edges instead of asserting it
[r20803]
Michael Beck [Wed, 30 Jul 2008 11:58:40 +0000 (11:58 +0000)]
- inline_method moves copied constants to start block yet
[r20799]
Matthias Braun [Wed, 30 Jul 2008 11:22:53 +0000 (11:22 +0000)]
improved fak.c
[r20798]
Matthias Braun [Wed, 30 Jul 2008 11:21:31 +0000 (11:21 +0000)]
cosmetics
[r20797]
Matthias Braun [Wed, 30 Jul 2008 11:20:21 +0000 (11:20 +0000)]
don't prefer 1 cpu architecture over another (and wonder why we don't construct inc/dec)
[r20796]
Michael Beck [Wed, 30 Jul 2008 09:59:02 +0000 (09:59 +0000)]
fix new fallthrough handling
[r20793]
Christoph Mallon [Wed, 30 Jul 2008 09:56:18 +0000 (09:56 +0000)]
Sort the inputs of a Sync before it is being created to aid CSE.
[r20792]
Christoph Mallon [Wed, 30 Jul 2008 09:55:44 +0000 (09:55 +0000)]
Reduce worst time complexity of mem parallelisation from O(2**n) to O(n**2).
[r20791]
Christoph Mallon [Wed, 30 Jul 2008 09:52:08 +0000 (09:52 +0000)]
panic() on internal error instead of assert(0)ing.
[r20790]
Christoph Mallon [Wed, 30 Jul 2008 09:51:20 +0000 (09:51 +0000)]
Remove handling for 32bit as smaller mode in emit_ia32_Conv_I2I(), because it is not sensible.
[r20789]
Christoph Mallon [Wed, 30 Jul 2008 09:43:58 +0000 (09:43 +0000)]
Replace be_peephole_before_exchange()+sched_remove()+exchange()+be_peephole_new_node() by the new function be_peephole_exchange().
[r20788]
Matthias Braun [Wed, 30 Jul 2008 09:23:39 +0000 (09:23 +0000)]
irprofile fix
[r20787]
Matthias Braun [Wed, 30 Jul 2008 09:21:43 +0000 (09:21 +0000)]
- refactor emitter next/prev block handling a bit
- only emit ret $0 on athlon if block has a label (= there is at least 1 jump
to the block)
[r20786]
Christoph Mallon [Wed, 30 Jul 2008 08:46:02 +0000 (08:46 +0000)]
Remove last remaining SCHEDULE_PROJS.
[r20785]
Christoph Mallon [Wed, 30 Jul 2008 07:15:32 +0000 (07:15 +0000)]
Fix fehler120: Do only skip int->int, not float->int, Convs before the shift amount.
[r20782]
Michael Beck [Wed, 30 Jul 2008 01:12:52 +0000 (01:12 +0000)]
fixed the parameter
[r20781]
Michael Beck [Wed, 30 Jul 2008 00:59:31 +0000 (00:59 +0000)]
- do not kill the start block when folding control flow
[r20778]
Michael Beck [Wed, 30 Jul 2008 00:58:43 +0000 (00:58 +0000)]
- opt_tail_recursion() must run before optimize_funccalls():
Add this not-unimportant info to the doxygen docu
- typo fixed
- add a set_using_irn_link()/clear_using_irn_link() pair
[r20777]
Michael Beck [Wed, 30 Jul 2008 00:38:46 +0000 (00:38 +0000)]
the famous Factorial example
[r20776]
Michael Beck [Wed, 30 Jul 2008 00:32:10 +0000 (00:32 +0000)]
- commented out the wrong line
[r20775]
Michael Beck [Wed, 30 Jul 2008 00:28:05 +0000 (00:28 +0000)]
- add compute_Confirm(), compute_Bad() and compute_Unknown()
- fold the control flow by removing unreachable inputs using the analysis info
[r20774]
Christoph Mallon [Tue, 29 Jul 2008 21:36:29 +0000 (21:36 +0000)]
fehler120: Backend discards float->int Conv for shift amount.
[r20772]
Christoph Mallon [Tue, 29 Jul 2008 21:35:22 +0000 (21:35 +0000)]
Add main().
[r20771]
Michael Beck [Tue, 29 Jul 2008 19:55:51 +0000 (19:55 +0000)]
- BugFix: of by one error
[r20769]
Moritz Kroll [Tue, 29 Jul 2008 19:45:41 +0000 (19:45 +0000)]
fehler119: crash in edg fe for C99 sizeof.
[r20768]
Michael Beck [Tue, 29 Jul 2008 19:27:17 +0000 (19:27 +0000)]
- using tarval_top as an alias for tarval_unreachable simplifies code
- work-around: when the inputs of Sub/Cmp are congruent BUT its type is already a constant, set the type to BOTTOM: I can not understand how it converges WITHOUT this fix
[r20767]
Matthias Braun [Tue, 29 Jul 2008 15:05:31 +0000 (15:05 +0000)]
don't do the store-float-conv optimisation with double->unsigned
[r20766]
Matthias Braun [Tue, 29 Jul 2008 15:05:24 +0000 (15:05 +0000)]
don't do the store-float-conv optimisation with double->unsigned
[r20765]
Michael Beck [Tue, 29 Jul 2008 14:37:39 +0000 (14:37 +0000)]
Add NaN condition to Sub AND Cmp
[r20763]