Michael Beck [Wed, 5 Apr 2006 16:42:38 +0000 (16:42 +0000)]
Handle endless loops (so a assert was wrong here)
[r7578]
Christian Würdig [Wed, 5 Apr 2006 16:08:28 +0000 (16:08 +0000)]
added ia32 backend statistics
[r7577]
Christian Würdig [Tue, 4 Apr 2006 14:25:08 +0000 (14:25 +0000)]
added IA32 backend dbg statistics
[r7573]
Michael Beck [Tue, 4 Apr 2006 13:00:53 +0000 (13:00 +0000)]
Add test functions for machine, machine_operand and machine_user bits
[r7572]
Michael Beck [Tue, 4 Apr 2006 12:20:09 +0000 (12:20 +0000)]
add irop_flag_machine, irop_flag_machine_op and irop_flag_user flags and check functions
[r7571]
Michael Beck [Mon, 3 Apr 2006 13:41:54 +0000 (13:41 +0000)]
renamed init_hooks() and init_stat() into firm_*()
[r7570]
Michael Beck [Mon, 3 Apr 2006 13:41:38 +0000 (13:41 +0000)]
HOOK_BACKEND added
renamed init_hooks() into firm_init_hooks()
[r7569]
Michael Beck [Mon, 3 Apr 2006 13:19:03 +0000 (13:19 +0000)]
opt reasons updated
fixed iro-numbers for pseuso-ops: must not interfere with numbers used in irp
[r7567]
Michael Beck [Mon, 3 Apr 2006 13:17:48 +0000 (13:17 +0000)]
dbg_backend added
[r7566]
Michael Beck [Fri, 31 Mar 2006 11:49:37 +0000 (11:49 +0000)]
BugFix: NEW_D_UNOP() macro always craeted Minus nodes :-(
[r7551]
Michael Beck [Fri, 31 Mar 2006 07:12:57 +0000 (07:12 +0000)]
BugFix: out_cnt was wrong:
- was not updated if an edge was deleted (minor, happens only if the whole node
was deleted but dead nodes might resurvice due to CSE)
- was not cleared after a recompute (really bad)
[r7550]
Michael Beck [Fri, 31 Mar 2006 07:09:17 +0000 (07:09 +0000)]
moved #ifdef DEBUG_libfirm commented members last in the structure
[r7549]
Michael Beck [Thu, 30 Mar 2006 16:15:10 +0000 (16:15 +0000)]
cleaned up the order of ifdef's
[r7548]
Christian Würdig [Thu, 30 Mar 2006 15:39:19 +0000 (15:39 +0000)]
wrapped debugging modules with DEBUG_ONLY
[r7547]
Christian Würdig [Thu, 30 Mar 2006 13:56:37 +0000 (13:56 +0000)]
fixed defines for release mode
[r7546]
Michael Beck [Thu, 30 Mar 2006 13:12:43 +0000 (13:12 +0000)]
make inline version of set_irn_op()
[r7544]
Michael Beck [Thu, 30 Mar 2006 08:56:17 +0000 (08:56 +0000)]
removed beasm_asm_gnu and beasm_dump_globals
[r7539]
Michael Beck [Wed, 29 Mar 2006 09:39:15 +0000 (09:39 +0000)]
add DEBUG_ONLY and RELEASE_ONLY
[r7536]
Beyhan [Tue, 28 Mar 2006 16:10:53 +0000 (16:10 +0000)]
Code structured and some bug fixed, but not tested enough!
[r7535]
Michael Beck [Tue, 28 Mar 2006 12:58:16 +0000 (12:58 +0000)]
used new FIRM_DBG_REGISTER macro
[r7534]
Michael Beck [Tue, 28 Mar 2006 12:40:22 +0000 (12:40 +0000)]
used new FIRM_DBG_REGISTER macro
[r7533]
Michael Beck [Tue, 28 Mar 2006 11:59:54 +0000 (11:59 +0000)]
introduced FIRM_DBG_REGISTER() macro to remove debug module registration
in releae builds
[r7532]
Michael Beck [Mon, 27 Mar 2006 16:07:09 +0000 (16:07 +0000)]
including backends from the BE praktikum
[r7531]
Michael Beck [Sun, 26 Mar 2006 14:12:43 +0000 (14:12 +0000)]
add irop_flag_machine to mark "machine operations". This flag should be set for all machine opcodes.
[r7530]
Sebastian Hack [Fri, 24 Mar 2006 16:51:31 +0000 (16:51 +0000)]
Fixed a subtle bug
[r7529]
Michael Beck [Fri, 24 Mar 2006 10:41:48 +0000 (10:41 +0000)]
optimize_one_return() now did not build Phi(a,...,a) if a is an Unknown.
[r7525]
Michael Beck [Fri, 24 Mar 2006 10:17:45 +0000 (10:17 +0000)]
remove propagation of Unknown. This causes problems in backends in in
Firm "hand" construction
[r7523]
Michael Beck [Fri, 24 Mar 2006 10:01:41 +0000 (10:01 +0000)]
is_Mux() added
[r7522]
FIRM Projekt Account [Fri, 24 Mar 2006 09:37:11 +0000 (09:37 +0000)]
Fixed include directory
[r7520]
Michael Beck [Thu, 23 Mar 2006 13:02:04 +0000 (13:02 +0000)]
docu updated
[r7513]
Michael Beck [Thu, 23 Mar 2006 12:58:06 +0000 (12:58 +0000)]
Color Mux and Psi nodes gold
[r7512]
Michael Beck [Thu, 23 Mar 2006 12:56:51 +0000 (12:56 +0000)]
BugFix:
- use CopyB proj
- do NOT remove memory edges of Div/Mod/DivMod nodes that are proved
not to trow an exception (but only by a Confirm), so the memory
edge is still a dependency
- add templates for Psi nodes
[r7511]
Michael Beck [Thu, 23 Mar 2006 12:36:51 +0000 (12:36 +0000)]
get_Psi_n_conds() added
[r7510]
Michael Beck [Thu, 23 Mar 2006 12:19:22 +0000 (12:19 +0000)]
Added support for Psi nodes
[r7509]
Michael Beck [Thu, 23 Mar 2006 12:18:40 +0000 (12:18 +0000)]
Added constructors for Psi nodes
[r7508]
Michael Beck [Thu, 23 Mar 2006 12:17:52 +0000 (12:17 +0000)]
Psi op added
[r7507]
Michael Beck [Wed, 22 Mar 2006 16:53:49 +0000 (16:53 +0000)]
normalize_one_return() now did not create Bad control flow predecessors
[r7505]
Sebastian Hack [Wed, 22 Mar 2006 14:20:12 +0000 (14:20 +0000)]
Fixed a bug
[r7503]
Michael Beck [Wed, 22 Mar 2006 13:35:05 +0000 (13:35 +0000)]
The ir_op's are stored inside the irp, so don't kill the irp()
before all ir_op's
[r7502]
Christoph Mallon [Wed, 22 Mar 2006 13:12:08 +0000 (13:12 +0000)]
Bugged a fix
[r7501]
Michael Beck [Wed, 22 Mar 2006 10:13:33 +0000 (10:13 +0000)]
BugFix: used tp instead of frame_type
[r7500]
Michael Beck [Wed, 22 Mar 2006 10:04:50 +0000 (10:04 +0000)]
frame_alloc_area() added
[r7499]
Christian Würdig [Mon, 20 Mar 2006 16:58:50 +0000 (16:58 +0000)]
removed c99 style
[r7496]
Michael Beck [Mon, 20 Mar 2006 16:45:45 +0000 (16:45 +0000)]
ExtBlk walker now always visits start block first/last
[r7495]
Michael Beck [Mon, 20 Mar 2006 16:36:39 +0000 (16:36 +0000)]
BugFix: set_irn_n() should now work for the block input (-1)
[r7494]
Michael Beck [Mon, 20 Mar 2006 13:36:51 +0000 (13:36 +0000)]
removed flag from remove_critical_cf_edges()
invalidate extended block info if control flow has changed
[r7491]
Michael Beck [Mon, 20 Mar 2006 13:35:01 +0000 (13:35 +0000)]
removed critical_edges flag. Other code depends on remove_critical_edges() doing always it's work.
[r7490]
Michael Beck [Mon, 20 Mar 2006 13:33:31 +0000 (13:33 +0000)]
added some missing changed flags
invalidate extended block info and dominance info if exceptions have changed
[r7489]
Michael Beck [Mon, 20 Mar 2006 13:31:35 +0000 (13:31 +0000)]
invalidate extended block info
removed useless if
[r7488]
Michael Beck [Mon, 20 Mar 2006 13:30:56 +0000 (13:30 +0000)]
invalidate extended block info
[r7487]
Michael Beck [Mon, 20 Mar 2006 13:30:08 +0000 (13:30 +0000)]
invalidate extended block info after tail recursion optimization
[r7486]
Michael Beck [Mon, 20 Mar 2006 07:17:53 +0000 (07:17 +0000)]
get_irg_extblk_state() and set_irg_extblk_inconsistant() added
[r7485]
Michael Beck [Mon, 20 Mar 2006 07:16:37 +0000 (07:16 +0000)]
Fixed extblock dumper (did not work outside debugger Bug)
[r7484]
Michael Beck [Mon, 20 Mar 2006 07:13:29 +0000 (07:13 +0000)]
add code to dump extended basic blocks
[r7483]
Michael Beck [Mon, 20 Mar 2006 07:12:30 +0000 (07:12 +0000)]
Fixed irg_extblock_walk_graph()
[r7482]
Michael Beck [Mon, 20 Mar 2006 07:11:04 +0000 (07:11 +0000)]
get_irg_extblk_state() and set_irg_extblk_inconsistant() added
[r7481]
Michael Beck [Mon, 20 Mar 2006 00:43:27 +0000 (00:43 +0000)]
is_singlebit_tarval() added, needed for Cmp optimization
[r7480]
Michael Beck [Mon, 20 Mar 2006 00:41:41 +0000 (00:41 +0000)]
is_ir_extbb() added
extended basic block now contains no internal jump (as expected) and is equivalent to TriMedia tree
extblk walker fixed
[r7479]
Michael Beck [Mon, 20 Mar 2006 00:40:00 +0000 (00:40 +0000)]
is_ir_extbb() added
[r7478]
Michael Beck [Mon, 20 Mar 2006 00:38:32 +0000 (00:38 +0000)]
cosmetic fixes
[r7477]
Michael Beck [Mon, 20 Mar 2006 00:37:14 +0000 (00:37 +0000)]
the extended blocks now uses the block visited flag, so increase this for marking
[r7476]
Michael Beck [Sun, 19 Mar 2006 11:57:50 +0000 (11:57 +0000)]
remove dependency of irnode.h
[r7475]
Michael Beck [Sun, 19 Mar 2006 11:56:56 +0000 (11:56 +0000)]
Add optmitizations for the following cases:
And(x, C) == C ==> And(x, C) != 0
And(x, C) != C ==> And(X, C) == 0
This helps the ia32 backend to create test instructions and might be useful for other backends
as well
[r7474]
Michael Beck [Sat, 18 Mar 2006 21:27:01 +0000 (21:27 +0000)]
Fixed extbb construction (why it was damaged ?)
Add walker for extbb's
[r7473]
Michael Beck [Sat, 18 Mar 2006 12:13:52 +0000 (12:13 +0000)]
added computed_value for Carry and Borrow
added equivalent_node_Syn()
[r7472]
Michael Beck [Sat, 18 Mar 2006 12:12:12 +0000 (12:12 +0000)]
added Carry and Borrow opcodes
[r7471]
Michael Beck [Sat, 18 Mar 2006 12:10:48 +0000 (12:10 +0000)]
added constructors for Carry and Borrow nodes, use macros to shorten the implementation
[r7470]
Michael Beck [Sat, 18 Mar 2006 12:06:15 +0000 (12:06 +0000)]
DBG_OPT_SYNC added
[r7469]
Michael Beck [Sat, 18 Mar 2006 12:05:11 +0000 (12:05 +0000)]
HOOK_OPT_SYNC added
[r7468]
Michael Beck [Sat, 18 Mar 2006 12:03:03 +0000 (12:03 +0000)]
tarval_init_1() expects now the null_value. Bad things might happen if this is not 0l yet, so we did not allow
it to be changed for the moment ...
[r7467]
Michael Beck [Sat, 18 Mar 2006 12:01:59 +0000 (12:01 +0000)]
tarval_P_void is removed now, map old functions and values
[r7466]
Michael Beck [Sat, 18 Mar 2006 12:01:12 +0000 (12:01 +0000)]
removed tarval_P_void, every reference mode now has it's own NULL tarval
which is created from the null_value given at initialization.
This also solves the problem the new_tarval_from_str() and new_tarval_from_long() returned different
tarvals for the same values.
Reference modes are handled like integer modes, however, convert is only supported for NULL pointer (which might be wrong if null_value != 0)
[r7465]
Michael Beck [Fri, 17 Mar 2006 13:36:19 +0000 (13:36 +0000)]
handle a call of an absolute address
[r7464]
Sebastian Hack [Fri, 17 Mar 2006 10:44:49 +0000 (10:44 +0000)]
Fixed a subtle bug
[r7462]
Michael Beck [Wed, 15 Mar 2006 18:29:51 +0000 (18:29 +0000)]
added some macros for easier decoding of ptr_access
[r7461]
Michael Beck [Wed, 15 Mar 2006 17:34:08 +0000 (17:34 +0000)]
Improved doxygen docu
fixed memory leak
removed useless transport of Call links
[r7459]
Michael Beck [Wed, 15 Mar 2006 17:32:25 +0000 (17:32 +0000)]
Improved doxygen documentation.
Added a default value.
[r7458]
FIRM Projekt Account [Wed, 15 Mar 2006 16:44:51 +0000 (16:44 +0000)]
ir/lower include dir added
[r7456]
Rubino Geiß [Wed, 15 Mar 2006 13:49:40 +0000 (13:49 +0000)]
fixed const mismatch
[r7454]
Michael Beck [Wed, 15 Mar 2006 13:31:39 +0000 (13:31 +0000)]
added missing const
[r7452]
Michael Beck [Wed, 15 Mar 2006 12:55:47 +0000 (12:55 +0000)]
opt_frame.h added
[r7449]
Michael Beck [Wed, 15 Mar 2006 12:53:46 +0000 (12:53 +0000)]
opt_frame.[ch] added
[r7448]
Sebastian Hack [Wed, 15 Mar 2006 12:50:17 +0000 (12:50 +0000)]
Moved survive dce stuff here.
[r7447]
Sebastian Hack [Wed, 15 Mar 2006 12:49:57 +0000 (12:49 +0000)]
Moved the survive dce stuff to irgopt.[ch]
[r7446]
Michael Beck [Wed, 15 Mar 2006 12:23:39 +0000 (12:23 +0000)]
removed dependency of irnode.h
[r7445]
Sebastian Hack [Tue, 14 Mar 2006 17:51:53 +0000 (17:51 +0000)]
Back to the old version. Perhaps bitset_next() works now
[r7443]
Michael Beck [Tue, 14 Mar 2006 17:23:09 +0000 (17:23 +0000)]
added missing include, removed warning
[r7442]
Sebastian Hack [Tue, 14 Mar 2006 17:21:26 +0000 (17:21 +0000)]
Fixed some typos
[r7441]
Daniel Grund [Tue, 14 Mar 2006 17:18:51 +0000 (17:18 +0000)]
*** empty log message ***
[r7440]
Sebastian Hack [Tue, 14 Mar 2006 17:15:52 +0000 (17:15 +0000)]
Backported from libcore
[r7439]
Michael Beck [Tue, 14 Mar 2006 15:24:37 +0000 (15:24 +0000)]
more that one entry can map the same op (needed for different modes)
run local_optimize() to remove tuple
[r7438]
Michael Beck [Tue, 14 Mar 2006 14:34:05 +0000 (14:34 +0000)]
BugFix
[r7437]
Michael Beck [Fri, 10 Mar 2006 23:50:39 +0000 (23:50 +0000)]
instruction mapper implemented
[r7434]
Sebastian Hack [Fri, 10 Mar 2006 17:10:23 +0000 (17:10 +0000)]
Added survive dce
[r7433]
Sebastian Hack [Fri, 10 Mar 2006 15:54:58 +0000 (15:54 +0000)]
Added small helper function
[r7432]
Michael Beck [Fri, 10 Mar 2006 12:06:17 +0000 (12:06 +0000)]
missing break added
[r7431]
Christian Würdig [Thu, 9 Mar 2006 09:57:13 +0000 (09:57 +0000)]
added function to reset the generic function pointer for all opcodes
[r7429]
Beyhan [Tue, 7 Mar 2006 18:01:36 +0000 (18:01 +0000)]
Implementation completed. The documentation must be completed and the code must be structured.
[r7428]
Michael Beck [Tue, 7 Mar 2006 16:27:31 +0000 (16:27 +0000)]
all available opcodes are now stored in an irp list
[r7427]
Sebastian Hack [Tue, 7 Mar 2006 15:21:06 +0000 (15:21 +0000)]
Added subst hook in dead node elimination
[r7426]