libfirm
18 years agomore ir_op operations to public interface
Michael Beck [Wed, 19 Oct 2005 09:43:39 +0000 (09:43 +0000)]
more ir_op operations to public interface

[r6743]

18 years agorefactored ir_op_ops
Michael Beck [Wed, 19 Oct 2005 09:42:56 +0000 (09:42 +0000)]
refactored ir_op_ops
new public interface for new_ir_op()

[r6742]

18 years agoused new firm_types.h
Michael Beck [Wed, 19 Oct 2005 09:40:05 +0000 (09:40 +0000)]
used new firm_types.h

[r6741]

18 years agoput all opaque firm types here
Michael Beck [Wed, 19 Oct 2005 09:39:20 +0000 (09:39 +0000)]
put all opaque firm types here

[r6740]

18 years agofirm_types.h added
Michael Beck [Wed, 19 Oct 2005 09:38:39 +0000 (09:38 +0000)]
firm_types.h added

[r6739]

18 years agouse new public interface to build new ir_op
Michael Beck [Wed, 19 Oct 2005 09:37:56 +0000 (09:37 +0000)]
use new public interface to build new ir_op

[r6738]

18 years agoalways build the mulh op in init
Michael Beck [Wed, 19 Oct 2005 09:36:37 +0000 (09:36 +0000)]
always build the mulh op in init

[r6737]

18 years agofixed info1 output for ir_graphs
Michael Beck [Wed, 19 Oct 2005 08:52:13 +0000 (08:52 +0000)]
fixed info1 output for ir_graphs
add debug info for ir_graphs

[r6735]

18 years agoOptimization name is now printed instead of code number
FIRM Projekt Account [Tue, 18 Oct 2005 16:50:46 +0000 (16:50 +0000)]
Optimization name is now printed instead of code number

[r6734]

18 years agoadd dbg_dead_code case
Michael Beck [Tue, 18 Oct 2005 16:49:31 +0000 (16:49 +0000)]
add dbg_dead_code case

[r6733]

18 years agoadded dbgActionToString()
FIRM Projekt Account [Tue, 18 Oct 2005 16:49:02 +0000 (16:49 +0000)]
added dbgActionToString()

[r6732]

18 years agonew optimizer detects more dead blocks earlier
FIRM Projekt Account [Tue, 18 Oct 2005 15:25:00 +0000 (15:25 +0000)]
new optimizer detects more dead blocks earlier

[r6731]

18 years agodoxygen docu fixed
Michael Beck [Tue, 18 Oct 2005 15:23:32 +0000 (15:23 +0000)]
doxygen docu fixed

[r6730]

18 years agodoxygen docu fixed
Michael Beck [Tue, 18 Oct 2005 15:18:15 +0000 (15:18 +0000)]
doxygen docu fixed
typo fixed

[r6729]

18 years agomoved dbg_action_2_str() to .c file
Michael Beck [Tue, 18 Oct 2005 15:16:11 +0000 (15:16 +0000)]
moved dbg_action_2_str() to .c file

[r6728]

18 years agonot implemented copy_irn() deleted
FIRM Projekt Account [Tue, 18 Oct 2005 14:52:43 +0000 (14:52 +0000)]
not implemented copy_irn() deleted

[r6727]

18 years agoused the new IS_CDECL() and IS_STDCALL() macros
Michael Beck [Tue, 18 Oct 2005 13:31:00 +0000 (13:31 +0000)]
used the new IS_CDECL() and IS_STDCALL() macros

[r6723]

18 years agodefine new macros for the MS cdecl, stdcall calling conventions
Michael Beck [Tue, 18 Oct 2005 13:30:12 +0000 (13:30 +0000)]
define new macros for the MS cdecl, stdcall calling conventions

[r6722]

18 years agoDoxygen docu added
Michael Beck [Tue, 18 Oct 2005 13:28:50 +0000 (13:28 +0000)]
Doxygen docu added

[r6721]

18 years agoirg_cc_callee_clear_stk added, needed for perfect stdcall/cdecl/fastcall representation
Michael Beck [Tue, 18 Oct 2005 12:11:32 +0000 (12:11 +0000)]
irg_cc_callee_clear_stk added, needed for perfect stdcall/cdecl/fastcall representation

[r6714]

18 years agoDump calling conventions for entities
Michael Beck [Tue, 18 Oct 2005 12:10:11 +0000 (12:10 +0000)]
Dump calling conventions for entities
add info1 for ir_graphs

[r6713]

18 years agoadded default calling convention
Michael Beck [Mon, 17 Oct 2005 17:04:04 +0000 (17:04 +0000)]
added default calling convention
used new names

[r6712]

18 years agoadded calling conventions to entities
Michael Beck [Mon, 17 Oct 2005 17:02:58 +0000 (17:02 +0000)]
added calling conventions to entities
renamed init_entity() into firm_init_entity()

[r6711]

18 years agoadded colling conventions
Michael Beck [Mon, 17 Oct 2005 17:01:48 +0000 (17:01 +0000)]
added colling conventions
renamed init_graph() into firm_init_graph()

[r6710]

18 years agotypos fixed
Michael Beck [Mon, 17 Oct 2005 13:04:58 +0000 (13:04 +0000)]
typos fixed

[r6708]

18 years agofixed .enable/.disable, added .lower
Michael Beck [Mon, 17 Oct 2005 12:46:21 +0000 (12:46 +0000)]
fixed .enable/.disable, added .lower

[r6707]

18 years agoBugFix: a var hides another
Michael Beck [Wed, 12 Oct 2005 15:01:17 +0000 (15:01 +0000)]
BugFix: a var hides another

[r6695]

18 years agoadded visited flag to detect endless memory loops in unreachable code,
Michael Beck [Wed, 12 Oct 2005 14:34:34 +0000 (14:34 +0000)]
added visited flag to detect endless memory loops in unreachable code,
else the optimizer would fall into an endless loop...

[r6694]

18 years agoCopyB verifyer added
Michael Beck [Wed, 12 Oct 2005 14:33:09 +0000 (14:33 +0000)]
CopyB verifyer added

[r6693]

18 years agooptimizations for CopyB node added
Michael Beck [Wed, 12 Oct 2005 14:32:29 +0000 (14:32 +0000)]
optimizations for CopyB node added
call DBG_ macro if block gets dead

[r6692]

18 years agoiro_CopyB added
Michael Beck [Wed, 12 Oct 2005 14:31:33 +0000 (14:31 +0000)]
iro_CopyB added

[r6691]

18 years agoop_CopyB added, op_Sub flags fixed
Michael Beck [Wed, 12 Oct 2005 14:31:06 +0000 (14:31 +0000)]
op_CopyB added, op_Sub flags fixed

[r6690]

18 years agoCopyB attributes added
Michael Beck [Wed, 12 Oct 2005 14:30:19 +0000 (14:30 +0000)]
CopyB attributes added

[r6689]

18 years agoadded support functions for CopyB node
Michael Beck [Wed, 12 Oct 2005 14:29:13 +0000 (14:29 +0000)]
added support functions for CopyB node

[r6688]

18 years agolocal_optimize() now kills unrteachable code if dominance info is available.
Michael Beck [Wed, 12 Oct 2005 14:25:44 +0000 (14:25 +0000)]
local_optimize() now kills unrteachable code if dominance info is available.

[r6687]

18 years agoAdded support code for CopyB node
Michael Beck [Wed, 12 Oct 2005 14:24:32 +0000 (14:24 +0000)]
Added support code for CopyB node

[r6686]

18 years agoCopyB node constructors added
Michael Beck [Wed, 12 Oct 2005 14:22:53 +0000 (14:22 +0000)]
CopyB node constructors added

[r6685]

18 years agoadded code to detect loops in unreachable code, these would cause
Michael Beck [Wed, 12 Oct 2005 14:20:51 +0000 (14:20 +0000)]
added code to detect loops in unreachable code, these would cause
endless loops else :-(

[r6684]

18 years agoadded missing header
Michael Beck [Wed, 12 Oct 2005 12:05:13 +0000 (12:05 +0000)]
added missing header
added better support for ia32/x86_64

[r6683]

18 years agodebugger extension added
Michael Beck [Wed, 12 Oct 2005 11:42:39 +0000 (11:42 +0000)]
debugger extension added

[r6682]

18 years agodebugger extension added
Michael Beck [Wed, 12 Oct 2005 11:26:56 +0000 (11:26 +0000)]
debugger extension added

[r6681]

18 years agoa debugger extension for Firm
Michael Beck [Wed, 12 Oct 2005 11:26:37 +0000 (11:26 +0000)]
a debugger extension for Firm

[r6680]

18 years agoDBG_OPT_DEAD_BLOCK() macro uses now merge_pair
Michael Beck [Tue, 11 Oct 2005 15:21:36 +0000 (15:21 +0000)]
DBG_OPT_DEAD_BLOCK() macro uses now merge_pair

[r6679]

18 years agouse INT_TO_PTR( macros for clean 64 bit compile
Michael Beck [Tue, 11 Oct 2005 15:20:59 +0000 (15:20 +0000)]
use INT_TO_PTR( macros for clean 64 bit compile

[r6678]

18 years agomade is_address_taken() public
Michael Beck [Tue, 11 Oct 2005 15:03:47 +0000 (15:03 +0000)]
made is_address_taken() public

[r6677]

18 years agoAdded check_lifetime_of_locals().
Michael Beck [Tue, 11 Oct 2005 09:36:16 +0000 (09:36 +0000)]
Added check_lifetime_of_locals().
Tail-recursion removement can only be done in it can be prove that
all lifetimes of locals can be ended before the recursion. We do that by simply
checking that there addresses are not stored. This sorryly
reduces the possibility of this optimization.

[r6676]

18 years agobefore called default_initialize_local_variable() set the block which must
Michael Beck [Tue, 11 Oct 2005 09:09:47 +0000 (09:09 +0000)]
before called default_initialize_local_variable() set the block which must
contain the initialization code as default

[r6675]

18 years agotypo
Rubino Geiß [Mon, 10 Oct 2005 15:18:12 +0000 (15:18 +0000)]
typo

[r6674]

18 years agoadded missing pn_Div_max
Rubino Geiß [Mon, 10 Oct 2005 15:16:27 +0000 (15:16 +0000)]
added missing pn_Div_max

[r6673]

18 years agoBugFix: get the rigth block in equivalent_node_block()
Michael Beck [Mon, 10 Oct 2005 14:16:02 +0000 (14:16 +0000)]
BugFix: get the rigth block in equivalent_node_block()
Confirm: optimize two identical Confirms
gigo(): handles Unknowns

[r6671]

18 years agoadded two more hooks to the ir graph dumper
Gernot Veit Batz [Mon, 10 Oct 2005 13:42:30 +0000 (13:42 +0000)]
added two more hooks to the ir graph dumper

[r6668]

18 years agoadded missing edges_notify_edge() to set_irn_in()
Gernot Veit Batz [Mon, 10 Oct 2005 13:41:40 +0000 (13:41 +0000)]
added missing edges_notify_edge() to set_irn_in()

[r6667]

18 years agoDon't check nunber of Proj's for dead blocks
Michael Beck [Mon, 10 Oct 2005 11:54:33 +0000 (11:54 +0000)]
Don't check nunber of Proj's for dead blocks

[r6666]

18 years agoFixed code placement: nodes in dead block are now moved
Michael Beck [Mon, 10 Oct 2005 11:07:56 +0000 (11:07 +0000)]
Fixed code placement: nodes in dead block are now moved
into live blocks ...

[r6665]

18 years agotypos fixed
Michael Beck [Fri, 7 Oct 2005 15:56:00 +0000 (15:56 +0000)]
typos fixed
dumped dead blocks in orange
add attribute info to blocks

[r6664]

18 years agoCheck that binary Cond has two successors if outs are available
Michael Beck [Fri, 7 Oct 2005 13:23:05 +0000 (13:23 +0000)]
Check that binary Cond has two successors if outs are available

[r6663]

18 years agoBugFix: the recalc_cnts obstack must reside in a graph entry, else
Michael Beck [Thu, 6 Oct 2005 12:02:33 +0000 (12:02 +0000)]
BugFix: the recalc_cnts obstack must reside in a graph entry, else
ALL data from all graphs are deleted!

[r6660]

18 years agoBeyhan's fixes included
Michael Beck [Thu, 6 Oct 2005 10:37:29 +0000 (10:37 +0000)]
Beyhan's fixes included

[r6659]

18 years agouse get_irn_n(*, -1) instead od get_nodes_block() so the extbb info
Michael Beck [Thu, 6 Oct 2005 10:28:04 +0000 (10:28 +0000)]
use get_irn_n(*, -1) instead od get_nodes_block() so the extbb info
is availabe even if the grph is floating (but then may be invalid)

[r6658]

18 years agoadded macro foreach_out_edges_safe(), which allows an iteration over a
Gernot Veit Batz [Wed, 5 Oct 2005 09:42:14 +0000 (09:42 +0000)]
added macro foreach_out_edges_safe(), which allows an iteration over a
nodes outgoing edges, which is safe against alteration of an edge while
iterating.

[r6656]

18 years agofix_backedges() can now cope with NULL backedge array
Michael Beck [Wed, 5 Oct 2005 09:29:27 +0000 (09:29 +0000)]
fix_backedges() can now cope with NULL backedge array

[r6655]

18 years agoadded configure stuff
Michael Beck [Tue, 4 Oct 2005 15:50:45 +0000 (15:50 +0000)]
added configure stuff

[r6654]

18 years agoFixed a bug concerning sizes of edge
Gernot Veit Batz [Fri, 23 Sep 2005 17:32:54 +0000 (17:32 +0000)]
Fixed a bug concerning sizes of edge

[r6650]

18 years agoremoved gforce
Daniel Grund [Tue, 20 Sep 2005 14:08:13 +0000 (14:08 +0000)]
removed gforce

[r6647]

18 years agoforce_run parameter added
Michael Beck [Tue, 20 Sep 2005 14:03:08 +0000 (14:03 +0000)]
force_run parameter added
now honors the additional entity/graph properties

[r6646]

18 years agoremoved old (non-functional) Not(Proj(Cmp)) and Eor(Proj(Cmp)) code
Michael Beck [Mon, 19 Sep 2005 15:24:06 +0000 (15:24 +0000)]
removed old (non-functional) Not(Proj(Cmp)) and Eor(Proj(Cmp)) code

[r6645]

18 years agoremoved buggy firm_copy_node() and restorted old copy_node()
Michael Beck [Mon, 19 Sep 2005 15:22:34 +0000 (15:22 +0000)]
removed buggy firm_copy_node() and restorted old copy_node()

[r6644]

18 years agotarval_not() han now handle tarval_b_true and tarval_b_false
Michael Beck [Sat, 17 Sep 2005 14:21:09 +0000 (14:21 +0000)]
tarval_not() han now handle tarval_b_true and tarval_b_false

[r6638]

18 years agoupdated
Michael Beck [Fri, 16 Sep 2005 14:05:10 +0000 (14:05 +0000)]
updated

[r6632]

18 years agoadded function for convertion jump prediction into human readable names
Michael Beck [Thu, 15 Sep 2005 12:14:54 +0000 (12:14 +0000)]
added function for convertion jump prediction into human readable names

[r6626]

18 years agodump now jump prediction, Free place (stack/heap)
Michael Beck [Thu, 15 Sep 2005 12:14:23 +0000 (12:14 +0000)]
dump now jump prediction, Free place (stack/heap)

[r6625]

18 years agoadded a generic function pointer to an opcode
Michael Beck [Thu, 15 Sep 2005 11:03:15 +0000 (11:03 +0000)]
added a generic function pointer to an opcode

[r6624]

18 years agocond_jmp_predicate to Cond nodes added
Michael Beck [Thu, 15 Sep 2005 10:01:28 +0000 (10:01 +0000)]
cond_jmp_predicate to Cond nodes added

[r6623]

18 years agocond_jmp_predicate type and access function for Cond nodes added
Michael Beck [Thu, 15 Sep 2005 10:01:14 +0000 (10:01 +0000)]
cond_jmp_predicate type and access function for Cond nodes added

[r6622]

18 years agoirg_malloc_function added
Michael Beck [Wed, 14 Sep 2005 14:43:26 +0000 (14:43 +0000)]
irg_malloc_function added

[r6618]

18 years agorenamed is_forking_op() to is_irn_forking()
Michael Beck [Wed, 14 Sep 2005 11:11:34 +0000 (11:11 +0000)]
renamed is_forking_op() to is_irn_forking()
cleaned up the comments
fixed typos

[r6617]

18 years agois_irn_constlike() added
Michael Beck [Wed, 14 Sep 2005 11:08:14 +0000 (11:08 +0000)]
is_irn_constlike() added
renamed is_forking_op() to is_irn_forking()

[r6616]

18 years agoirop_flag_constlike flag and is_op_constlike() function added
Michael Beck [Wed, 14 Sep 2005 10:17:24 +0000 (10:17 +0000)]
irop_flag_constlike flag and is_op_constlike() function added

[r6615]

18 years agoAdded extended block statistic
Michael Beck [Mon, 12 Sep 2005 14:07:54 +0000 (14:07 +0000)]
Added extended block statistic

[r6610]

18 years agouses new get_extbb_leader() function
Michael Beck [Mon, 12 Sep 2005 14:06:30 +0000 (14:06 +0000)]
uses new get_extbb_leader() function

[r6609]

18 years agoensure that the leader is the first one in the extended block block list
Michael Beck [Mon, 12 Sep 2005 14:05:47 +0000 (14:05 +0000)]
ensure that the leader is the first one in the extended block block list

[r6608]

18 years agoBugFix: Unreachable Blocks are always leader blocks
Michael Beck [Thu, 8 Sep 2005 14:45:21 +0000 (14:45 +0000)]
BugFix: Unreachable Blocks are always leader blocks

[r6604]

18 years agoget_extbb_leader() and get_extbb_node_nr() added
Michael Beck [Thu, 8 Sep 2005 14:19:28 +0000 (14:19 +0000)]
get_extbb_leader() and get_extbb_node_nr() added

[r6603]

18 years agoadded additional graph properties, these can be set in the entity
Michael Beck [Thu, 8 Sep 2005 12:06:32 +0000 (12:06 +0000)]
added additional graph properties, these can be set in the entity
for external allocated entities.
fixed some typos
added more comments

[r6602]

18 years agowhen doing CSE of Proj-Nodes, places Proj's into the right block, this
Michael Beck [Thu, 8 Sep 2005 12:04:44 +0000 (12:04 +0000)]
when doing CSE of Proj-Nodes, places Proj's into the right block, this
prevents SSA-violations in irg_verify()
tracks now dataflow and control flow changes to correctly invalidate
analysis info

[r6601]

18 years agoadditional graph properties added
Michael Beck [Thu, 8 Sep 2005 12:01:55 +0000 (12:01 +0000)]
additional graph properties added

[r6600]

18 years agodump additional graph properties for method entities
Michael Beck [Thu, 8 Sep 2005 12:00:43 +0000 (12:00 +0000)]
dump additional graph properties for method entities

[r6599]

18 years agoC99 construct removed
Michael Beck [Thu, 8 Sep 2005 09:59:37 +0000 (09:59 +0000)]
C99 construct removed

[r6598]

18 years agoMake a typedef to generate JNI constants
FIRM Projekt Account [Thu, 8 Sep 2005 08:08:43 +0000 (08:08 +0000)]
Make a typedef to generate JNI constants

[r6596]

18 years agorenamed old IrgVrfy() into new IrgVerify()
FIRM Projekt Account [Thu, 8 Sep 2005 08:07:35 +0000 (08:07 +0000)]
renamed old IrgVrfy() into new IrgVerify()

[r6595]

18 years agoHandle dead blocks hopefully right ...
Michael Beck [Wed, 7 Sep 2005 16:16:33 +0000 (16:16 +0000)]
Handle dead blocks hopefully right ...

[r6593]

18 years agomoved get_irn_generic_attr() to public i/f
Michael Beck [Wed, 7 Sep 2005 08:31:30 +0000 (08:31 +0000)]
moved get_irn_generic_attr() to public i/f

[r6587]

18 years agofixed SH's dominance checker, can now handle dead blocks
Michael Beck [Tue, 6 Sep 2005 11:56:26 +0000 (11:56 +0000)]
fixed SH's dominance checker, can now handle dead blocks
ir_vrfy() renamed to ir_verify() with new flag argument:
  dominance checking can now be enforced

[r6579]

18 years agoBugFix:
Michael Beck [Tue, 6 Sep 2005 08:04:25 +0000 (08:04 +0000)]
BugFix:
  We cannot replace old Phi nodes with current one BEFORE we
  have handled all Phi's in the current block, else we might
  generate wrong references between Phi nodes of a block

clean up is_despensible: uses goto's now, but more readable

[r6578]

18 years agobackported from irargs.c
Michael Beck [Mon, 5 Sep 2005 09:41:24 +0000 (09:41 +0000)]
backported from irargs.c

[r6577]

18 years agoremoved SLOOOWWW call to is_in_irgs_obstack()
Michael Beck [Fri, 2 Sep 2005 15:44:09 +0000 (15:44 +0000)]
removed SLOOOWWW call to is_in_irgs_obstack()
should only be needed for debugging

[r6576]

18 years agocreates libfirm_xmalloc.a if DISABLE_LIBIBERTY is enabled
Michael Beck [Fri, 2 Sep 2005 13:56:10 +0000 (13:56 +0000)]
creates libfirm_xmalloc.a if DISABLE_LIBIBERTY is enabled

[r6573]

18 years agoirtools.h removed from public header
Michael Beck [Fri, 2 Sep 2005 12:31:25 +0000 (12:31 +0000)]
irtools.h removed from public header

[r6569]

18 years agochecked for dead blocks before getting dom depht.
Daniel Grund [Thu, 1 Sep 2005 15:35:34 +0000 (15:35 +0000)]
checked for dead blocks before getting dom depht.

[r6567]

18 years ago*** empty log message ***
Daniel Grund [Thu, 1 Sep 2005 15:13:55 +0000 (15:13 +0000)]
*** empty log message ***

[r6566]