libfirm
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]

18 years agoget_irn_generic_attr() added, needed for backends that use it's own
Michael Beck [Thu, 1 Sep 2005 15:13:47 +0000 (15:13 +0000)]
get_irn_generic_attr() added, needed for backends that use it's own
opcodes

[r6565]

18 years agoused PTR_TO_INT() and INT_TO_PTR() macros for 64bit safety
Michael Beck [Thu, 1 Sep 2005 09:36:27 +0000 (09:36 +0000)]
used PTR_TO_INT() and INT_TO_PTR() macros for 64bit safety

[r6561]

18 years agoremoved wrong const
Michael Beck [Thu, 1 Sep 2005 09:35:10 +0000 (09:35 +0000)]
removed wrong const
some comments added

[r6560]

18 years agoed PTR_TO_INT() and INT_TO_PTR() macros for 64bit safety
Michael Beck [Thu, 1 Sep 2005 09:32:38 +0000 (09:32 +0000)]
ed PTR_TO_INT() and INT_TO_PTR() macros for 64bit safety

[r6559]

18 years agoused HASH_PTR() now
Michael Beck [Thu, 1 Sep 2005 09:32:06 +0000 (09:32 +0000)]
used HASH_PTR() now

[r6558]

18 years agorenamed function (clashed with buildin)
Michael Beck [Thu, 1 Sep 2005 09:31:07 +0000 (09:31 +0000)]
renamed function (clashed with buildin)

[r6557]

18 years agobitfields of size 1 should be unsigned if 1 is stored there
Michael Beck [Thu, 1 Sep 2005 09:27:22 +0000 (09:27 +0000)]
bitfields of size 1 should be unsigned if 1 is stored there

[r6556]

18 years agoused HASHPTR() now
Michael Beck [Thu, 1 Sep 2005 09:17:25 +0000 (09:17 +0000)]
used HASHPTR() now

[r6555]

18 years agoRemoved dominance computation if irg_vrfy
Sebastian Hack [Wed, 31 Aug 2005 17:39:47 +0000 (17:39 +0000)]
Removed dominance computation if irg_vrfy

[r6554]

18 years agonewer version that can handle x86_64
Michael Beck [Wed, 31 Aug 2005 17:26:07 +0000 (17:26 +0000)]
newer version that can handle x86_64

[r6553]

18 years agoirtools.h is not installed anymore
Michael Beck [Wed, 31 Aug 2005 17:24:18 +0000 (17:24 +0000)]
irtools.h is not installed anymore

[r6552]

18 years agoINT_TO_PTR() and PTR_TO_INT() macros added
Michael Beck [Wed, 31 Aug 2005 17:24:03 +0000 (17:24 +0000)]
INT_TO_PTR() and PTR_TO_INT() macros added

[r6551]

18 years agoAdded private data facility for edges
Sebastian Hack [Wed, 31 Aug 2005 13:47:57 +0000 (13:47 +0000)]
Added private data facility for edges

[r6546]

18 years agoremoved warnings: single bit type should be unsigned if 0 and 1 should be stored...
Michael Beck [Wed, 31 Aug 2005 09:38:21 +0000 (09:38 +0000)]
removed warnings: single bit type should be unsigned if 0 and 1 should be stored there

[r6543]

18 years agoFixes for GCC 4.0: void * and pointer to function are not compatible anymore
Michael Beck [Wed, 31 Aug 2005 09:36:58 +0000 (09:36 +0000)]
Fixes for GCC 4.0: void * and pointer to function are not compatible anymore

[r6542]

18 years agofixes for gcc 4.0: void * and pointer to function are not compatible anymore
Michael Beck [Wed, 31 Aug 2005 09:36:08 +0000 (09:36 +0000)]
fixes for gcc 4.0: void * and pointer to function are not compatible anymore

[r6541]

18 years agoFixes for gcc4.0: void * and pointer to functions are NOT compatible anymore
Michael Beck [Wed, 31 Aug 2005 09:34:57 +0000 (09:34 +0000)]
Fixes for gcc4.0: void * and pointer to functions are NOT compatible anymore

[r6540]

18 years agoC99 feature removed
Michael Beck [Wed, 31 Aug 2005 09:25:48 +0000 (09:25 +0000)]
C99 feature removed

[r6539]

18 years agoFixed a bug
Sebastian Hack [Mon, 29 Aug 2005 16:41:03 +0000 (16:41 +0000)]
Fixed a bug

[r6536]

18 years agoAdded little more debugging output
Sebastian Hack [Mon, 29 Aug 2005 16:37:05 +0000 (16:37 +0000)]
Added little more debugging output

[r6535]

18 years agoA little better debug output
Sebastian Hack [Mon, 29 Aug 2005 16:32:37 +0000 (16:32 +0000)]
A little better debug output

[r6534]

18 years ago*** empty log message ***
Daniel Grund [Mon, 29 Aug 2005 16:28:48 +0000 (16:28 +0000)]
*** empty log message ***

[r6533]

18 years agoFixed a bug again
Sebastian Hack [Mon, 29 Aug 2005 14:53:33 +0000 (14:53 +0000)]
Fixed a bug again

[r6531]

18 years agoFixed a bug
Sebastian Hack [Mon, 29 Aug 2005 14:37:23 +0000 (14:37 +0000)]
Fixed a bug

[r6527]

18 years agoAdded dominance check
Sebastian Hack [Mon, 29 Aug 2005 14:30:34 +0000 (14:30 +0000)]
Added dominance check

[r6526]

18 years agoAdded mod and mux
Daniel Grund [Mon, 29 Aug 2005 11:18:33 +0000 (11:18 +0000)]
Added mod and mux

[r6524]

18 years agoAdded get_irn_edge()
Sebastian Hack [Mon, 29 Aug 2005 10:00:42 +0000 (10:00 +0000)]
Added get_irn_edge()

[r6523]

18 years agoremoved wrong INLINE spec
Michael Beck [Fri, 26 Aug 2005 15:01:15 +0000 (15:01 +0000)]
removed wrong INLINE spec

[r6510]

18 years agoBugFix:
Michael Beck [Fri, 26 Aug 2005 12:17:55 +0000 (12:17 +0000)]
BugFix:
  new_rd_*() functions that call optimize_node() did not
  work if current_ir_graph was not set!
  So, the current_ir_graph is now set and restored.
  Moreover, to speed up the default new_*() and new_d_*()
  cases, new_bd_*() functions have been introduced which use
  current_ir_graph, but not current_block and replace
  the use of _rd_ functions in the comfortable i/f

[r6509]

18 years agoBugFix: in place_late, do NOT count keep-alive edges as consuming ones,
Michael Beck [Fri, 26 Aug 2005 12:02:46 +0000 (12:02 +0000)]
BugFix: in place_late, do NOT count keep-alive edges as consuming ones,
or nodes might be placed wrong!

[r6508]

18 years agoBugFix: predecessors of End nodes might be Blocks
Michael Beck [Thu, 25 Aug 2005 12:42:12 +0000 (12:42 +0000)]
BugFix: predecessors of End nodes might be Blocks

[r6495]

18 years agoBugFix:
Michael Beck [Wed, 24 Aug 2005 13:59:29 +0000 (13:59 +0000)]
BugFix:
  When entities are freed, type information is used, so we cannot
  free one type before all entities are freed

[r6485]

18 years agodel_pset in now called correctly
Daniel Grund [Tue, 23 Aug 2005 20:27:13 +0000 (20:27 +0000)]
del_pset in now called correctly

[r6482]

18 years agoSet array border to 0, needed for fixed add_compound_ent_value(), one node more
Michael Beck [Tue, 23 Aug 2005 18:14:02 +0000 (18:14 +0000)]
Set array border to 0, needed for fixed add_compound_ent_value(), one node more

[r6481]

18 years agoSet array border to 0, needed for fixed add_compound_ent_value()
Michael Beck [Tue, 23 Aug 2005 18:13:51 +0000 (18:13 +0000)]
Set array border to 0, needed for fixed add_compound_ent_value()

[r6480]

18 years agoBugfixes
Daniel Grund [Tue, 23 Aug 2005 18:03:21 +0000 (18:03 +0000)]
Bugfixes

[r6479]

18 years agoBugFix: add_compound_ent_value() did not generate right indexes for compound pathes
Michael Beck [Tue, 23 Aug 2005 16:32:01 +0000 (16:32 +0000)]
BugFix: add_compound_ent_value() did not generate right indexes for compound pathes

[r6478]

18 years agoallow character values to be converted into long
Michael Beck [Tue, 23 Aug 2005 13:22:36 +0000 (13:22 +0000)]
allow character values to be converted into long
some cleanup

[r6476]

18 years agomoke mode sort of character modes irms_twos_complement
Michael Beck [Tue, 23 Aug 2005 13:20:35 +0000 (13:20 +0000)]
moke mode sort of character modes irms_twos_complement

[r6475]

18 years agoadded %P for compound-graph-paths
Michael Beck [Mon, 22 Aug 2005 16:43:00 +0000 (16:43 +0000)]
added %P for compound-graph-paths

[r6470]

18 years agoAdded reflection for mulh
Daniel Grund [Thu, 18 Aug 2005 16:58:50 +0000 (16:58 +0000)]
Added reflection for mulh

[r6463]

18 years agonode function copy_irn extracted from firm_copy_node()
Michael Beck [Thu, 18 Aug 2005 12:57:45 +0000 (12:57 +0000)]
node function copy_irn extracted from firm_copy_node()

[r6461]

18 years agoremoved warning
Michael Beck [Thu, 18 Aug 2005 11:49:28 +0000 (11:49 +0000)]
removed warning

[r6458]

18 years agoenabled type_visited() function again
Michael Beck [Thu, 18 Aug 2005 11:47:58 +0000 (11:47 +0000)]
enabled type_visited() function again

[r6457]

18 years agoremoved definition of old type_visited flag
Michael Beck [Thu, 18 Aug 2005 11:44:25 +0000 (11:44 +0000)]
removed definition of old type_visited flag
restored type_visited() function declaration

[r6456]

18 years agoresreuctures compound path to make allocation/deallocation simplier
Michael Beck [Wed, 17 Aug 2005 14:13:45 +0000 (14:13 +0000)]
resreuctures compound path to make allocation/deallocation simplier

[r6455]

18 years agofixed copy'n'paste error
Michael Beck [Tue, 16 Aug 2005 13:00:55 +0000 (13:00 +0000)]
fixed copy'n'paste error
nd fixed

[r6439]

18 years agochanged option %g to %G (floating point uses %g)
Michael Beck [Tue, 16 Aug 2005 12:34:01 +0000 (12:34 +0000)]
changed option %g to %G (floating point uses %g)

[r6438]

18 years agoChanged %g to %G to enable float dumping
Sebastian Hack [Tue, 16 Aug 2005 12:23:34 +0000 (12:23 +0000)]
Changed %g to %G to enable float dumping

[r6436]

18 years agoAdded Minus for Ints
Sebastian Hack [Tue, 16 Aug 2005 12:12:38 +0000 (12:12 +0000)]
Added Minus for Ints

[r6435]

18 years agocreate_abstraction() now returns an error code if the file could not
Michael Beck [Tue, 16 Aug 2005 10:18:35 +0000 (10:18 +0000)]
create_abstraction() now returns an error code if the file could not
be opened.

[r6434]

18 years agobugfix
Götz Lindenmaier [Sun, 14 Aug 2005 11:22:51 +0000 (11:22 +0000)]
bugfix

[r6419]

18 years agonew_rd_Unknown sets the current_ir_graph right.
FIRM Projekt Account [Fri, 12 Aug 2005 16:31:20 +0000 (16:31 +0000)]
new_rd_Unknown sets the current_ir_graph right.
This fixes crashes in jack, but a general solution is needed: all
rd functions calling optimize_node must do that!

Restructure IR construction!

[r6418]

18 years agoinstall scalar_replace.h
Michael Beck [Fri, 12 Aug 2005 13:11:02 +0000 (13:11 +0000)]
install scalar_replace.h

[r6415]

18 years agochanged new_type_pointer() to new semantic
Michael Beck [Fri, 12 Aug 2005 10:28:51 +0000 (10:28 +0000)]
changed new_type_pointer() to new semantic

[r6413]

18 years agoUnknown nodes are optimized (CSE) now.
Michael Beck [Fri, 12 Aug 2005 09:42:23 +0000 (09:42 +0000)]
Unknown nodes are optimized (CSE) now.
This was not done earlier, why?

[r6412]

18 years agochanged back to old visit order
Michael Beck [Fri, 12 Aug 2005 09:41:48 +0000 (09:41 +0000)]
changed back to old visit order
removed all calles form for () headers

[r6411]

18 years agocurrent_ir_graph must be set EVEN iff the raw interface is used!!!
Michael Beck [Fri, 12 Aug 2005 09:40:28 +0000 (09:40 +0000)]
current_ir_graph must be set EVEN iff the raw interface is used!!!

[r6410]

18 years agonew_d_type_array now allocates only ONE Uknown node for the array
Michael Beck [Fri, 12 Aug 2005 09:39:20 +0000 (09:39 +0000)]
new_d_type_array now allocates only ONE Uknown node for the array
bounds, and Unknown nodes are optimized now, so lesser nodes

[r6409]

18 years agotypo fixed
Michael Beck [Thu, 11 Aug 2005 16:40:38 +0000 (16:40 +0000)]
typo fixed

[r6408]

18 years agoused now always the visited functions, no more access to type_visited flag directly
Michael Beck [Thu, 11 Aug 2005 16:39:57 +0000 (16:39 +0000)]
used now always the visited functions, no more access  to type_visited flag directly

[r6407]

18 years agorenamed type_visited to firm_type_visited
Michael Beck [Thu, 11 Aug 2005 16:38:32 +0000 (16:38 +0000)]
renamed type_visited to firm_type_visited
removed unused fields from union attributes
renamed new_type_pointer_mode() to new_type_pointer(), now always a
mode argument is needed

[r6406]

18 years agoBugfix: unset debug info is now initialized with NULL
Michael Beck [Thu, 11 Aug 2005 16:36:59 +0000 (16:36 +0000)]
Bugfix: unset debug info is now initialized with NULL
renamed new_type_pointer_mode() to new_type_pointer(), it's now
always necessary to give a mode when construction a pointer type
renamed type_visited to firm_type_visited and removed from public i/f
removed #if 0 code

[r6405]

18 years agorenamed global flag type_visited into firm_type_visited
Michael Beck [Thu, 11 Aug 2005 16:33:49 +0000 (16:33 +0000)]
renamed global flag type_visited into firm_type_visited

[r6404]

18 years agorenamed new_type_pointer_mode() into new_type_pointer()
Michael Beck [Thu, 11 Aug 2005 16:32:41 +0000 (16:32 +0000)]
renamed new_type_pointer_mode() into new_type_pointer()

[r6403]

18 years agoused Block_not_block_visited() instead of explicit code
Michael Beck [Thu, 11 Aug 2005 16:31:15 +0000 (16:31 +0000)]
used Block_not_block_visited() instead of explicit code

[r6402]

18 years agorenamed init_type() to firm_init_type() with additional parameter
Michael Beck [Thu, 11 Aug 2005 16:30:25 +0000 (16:30 +0000)]
renamed init_type() to firm_init_type() with additional parameter

[r6401]

18 years agofixed doxygen comments
Michael Beck [Thu, 11 Aug 2005 12:53:06 +0000 (12:53 +0000)]
fixed doxygen comments

[r6397]

18 years agofixed typos
Michael Beck [Thu, 11 Aug 2005 12:52:27 +0000 (12:52 +0000)]
fixed typos
more doxygen comments
removed useless #define

[r6396]

18 years agoscalar_replace.h added
Michael Beck [Thu, 11 Aug 2005 12:50:09 +0000 (12:50 +0000)]
scalar_replace.h added

[r6395]

18 years agoremoved C99 feature
Michael Beck [Thu, 11 Aug 2005 12:48:46 +0000 (12:48 +0000)]
removed C99 feature

[r6394]