libfirm
17 years agoinitial checkin of firm ycomp debugger
Christian Würdig [Fri, 17 Nov 2006 12:48:37 +0000 (12:48 +0000)]
initial checkin of firm ycomp debugger

[r8386]

17 years agoinitial checkin of network communication
Christian Würdig [Fri, 17 Nov 2006 12:48:03 +0000 (12:48 +0000)]
initial checkin of network communication

[r8385]

17 years agowarning fix
Matthias Braun [Fri, 17 Nov 2006 12:12:23 +0000 (12:12 +0000)]
warning fix

[r8384]

17 years agoCheck for division by zero before convert a division operation
Michael Beck [Thu, 16 Nov 2006 15:53:30 +0000 (15:53 +0000)]
Check for division by zero before convert a division operation

[r8382]

17 years agoadded missing function return type
Christian Würdig [Wed, 15 Nov 2006 12:14:48 +0000 (12:14 +0000)]
added missing function return type

[r8381]

17 years agoUse is_Bad() where appropriate
Michael Beck [Mon, 13 Nov 2006 14:16:53 +0000 (14:16 +0000)]
Use is_Bad() where appropriate

[r8377]

17 years agodump node index in label
Christian Würdig [Thu, 2 Nov 2006 09:30:50 +0000 (09:30 +0000)]
dump node index in label

[r8371]

17 years agoadd missing is_Jmp()
Michael Beck [Wed, 25 Oct 2006 16:04:34 +0000 (16:04 +0000)]
add missing is_Jmp()
add is_Raise()
skip_Proj() is not const anymore (can skip Id nodes)

[r8370]

17 years agoadded additional walker following depedency edges
Christian Würdig [Wed, 25 Oct 2006 09:38:57 +0000 (09:38 +0000)]
added additional walker following depedency edges

[r8368]

17 years agoinstall condeval.h
Christian Würdig [Tue, 24 Oct 2006 12:39:47 +0000 (12:39 +0000)]
install condeval.h

[r8367]

17 years agodefine WITH_JVM
Christian Würdig [Tue, 24 Oct 2006 12:39:30 +0000 (12:39 +0000)]
define WITH_JVM

[r8366]

17 years agoadded files and additional generator script to project
Christian Würdig [Tue, 24 Oct 2006 12:36:07 +0000 (12:36 +0000)]
added files and additional generator script to project

[r8365]

17 years agoadded function reinit all irn data belonging to a certain block
Christian Würdig [Tue, 24 Oct 2006 12:14:21 +0000 (12:14 +0000)]
added function reinit all irn data belonging to a certain block
made reinit_single_irn_data INLINE

[r8364]

17 years agoadded is_NoMem function
Christian Würdig [Tue, 24 Oct 2006 12:13:48 +0000 (12:13 +0000)]
added is_NoMem function

[r8363]

17 years agosign_extend() did NOT expect all upper bits cleared but clear it
Michael Beck [Wed, 18 Oct 2006 14:42:38 +0000 (14:42 +0000)]
sign_extend() did NOT expect all upper bits cleared but clear it
sign_extend does zero extension for unsigned integer modes

[r8359]

17 years agochanged comment
Christian Würdig [Wed, 18 Oct 2006 09:20:06 +0000 (09:20 +0000)]
changed comment

[r8358]

17 years agoChange the if conversion backend hook
Christoph Mallon [Wed, 18 Oct 2006 09:06:27 +0000 (09:06 +0000)]
Change the if conversion backend hook

[r8357]

17 years agofixed src dir
Christian Würdig [Tue, 17 Oct 2006 15:46:21 +0000 (15:46 +0000)]
fixed src dir

[r8355]

17 years agoonly create Psi if allowed by backend
Christian Würdig [Tue, 17 Oct 2006 15:46:12 +0000 (15:46 +0000)]
only create Psi if allowed by backend

[r8354]

17 years agoadded some comments
Christian Würdig [Tue, 17 Oct 2006 15:45:58 +0000 (15:45 +0000)]
added some comments

[r8353]

17 years agoFixed more problems due to hidden conversion in Store/Load:
Michael Beck [Tue, 17 Oct 2006 12:15:37 +0000 (12:15 +0000)]
Fixed more problems due to hidden conversion in Store/Load:
 - allow only hidden conversion if the size and the mode sort is equal
   and two-complements arithmetic is used: practically this allows only
   signed/unsigned conversion
 - all other conversions (which are reinterpret cast) are forbidden yet

[r8352]

17 years agodo not place projs late
Christian Würdig [Tue, 17 Oct 2006 09:02:44 +0000 (09:02 +0000)]
do not place projs late

[r8351]

17 years agoDo not convert Sub(P, P) into a simple Minus ...
Michael Beck [Mon, 16 Oct 2006 11:50:06 +0000 (11:50 +0000)]
Do not convert Sub(P, P) into a simple Minus ...

[r8350]

17 years agoHandle a bad case: Load nodes can contain a hidden type conversion, handle that ...
Michael Beck [Mon, 16 Oct 2006 11:38:11 +0000 (11:38 +0000)]
Handle a bad case: Load nodes can contain a hidden type conversion, handle that ...

[r8349]

17 years agoused is_final_ent() instead of *_n_overwrites == 0
Michael Beck [Mon, 16 Oct 2006 11:01:38 +0000 (11:01 +0000)]
used is_final_ent() instead of *_n_overwrites == 0

[r8348]

17 years agoadded functions and macro to iterate over all node in the phase, having some data...
Christian Würdig [Fri, 13 Oct 2006 08:01:38 +0000 (08:01 +0000)]
added functions and macro to iterate over all node in the phase, having some data assigned

[r8345]

17 years agooptimize graphs that got calls inlined
Michael Beck [Thu, 12 Oct 2006 21:22:57 +0000 (21:22 +0000)]
optimize graphs that got calls inlined

[r8344]

17 years agoset current_ir_graph
Michael Beck [Thu, 12 Oct 2006 21:19:26 +0000 (21:19 +0000)]
set current_ir_graph

[r8343]

17 years agowhen doing cf_opt, automatically optimize Blocks
Michael Beck [Thu, 12 Oct 2006 21:18:35 +0000 (21:18 +0000)]
when doing cf_opt, automatically optimize Blocks
some code cleanup

[r8342]

17 years agoresolve_ent_polymorphy() now can handle non-flat inheritance again ...
Michael Beck [Thu, 12 Oct 2006 09:24:47 +0000 (09:24 +0000)]
resolve_ent_polymorphy() now can handle non-flat inheritance again ...

[r8340]

17 years agoreport removed cycles
Michael Beck [Wed, 11 Oct 2006 11:42:25 +0000 (11:42 +0000)]
report removed cycles

[r8338]

17 years agomoved -dw dump to edg/firm_opt.c
Christian Würdig [Wed, 11 Oct 2006 07:42:46 +0000 (07:42 +0000)]
moved -dw dump to edg/firm_opt.c

[r8336]

17 years agoFixed boolean value of Proj(Cmp) againm, old version did not work as expected ...
Michael Beck [Tue, 10 Oct 2006 10:15:46 +0000 (10:15 +0000)]
Fixed boolean value of Proj(Cmp) againm, old version did not work as expected ...

[r8332]

17 years agoNew inliner:
Michael Beck [Tue, 10 Oct 2006 09:58:20 +0000 (09:58 +0000)]
New inliner:
 - use lists instead of sets
 - correctly handle multipli inline (fixed the "nodes are on wrong graph" problem)
 - BugFix: correctly detect arg_based nodes
 - can ignore runtime functions in leaf count

[r8331]

17 years agoBugfix: - lower_Proj is also called for call-result- or function-param-projs
Christian Würdig [Tue, 10 Oct 2006 08:48:13 +0000 (08:48 +0000)]
Bugfix: - lower_Proj is also called for call-result- or function-param-projs

[r8330]

17 years agouse the final flag to remove polymorphic calls
Michael Beck [Mon, 9 Oct 2006 23:49:58 +0000 (23:49 +0000)]
use the final flag to remove polymorphic calls

[r8327]

17 years agoAdd code to remove useless Phi cycles using the osr framework ...
Michael Beck [Mon, 9 Oct 2006 23:48:11 +0000 (23:48 +0000)]
Add code to remove useless Phi cycles using the osr framework ...

[r8326]

17 years agoSet the final flag for the global type.
Michael Beck [Mon, 9 Oct 2006 16:24:25 +0000 (16:24 +0000)]
Set the final flag for the global type.

[r8325]

17 years ago- Lower Minus ops directly instead of using an intrinsic call
Michael Beck [Mon, 9 Oct 2006 16:20:37 +0000 (16:20 +0000)]
- Lower Minus ops directly instead of using an intrinsic call
- Fixed Cond nodes lowering: =   must be removed from comparasion of high parts
- Add support for Psi nodes

[r8324]

17 years agodirty hack to make execfreqs work with endless apps
Matthias Braun [Mon, 9 Oct 2006 12:07:59 +0000 (12:07 +0000)]
dirty hack to make execfreqs work with endless apps

[r8323]

17 years agoadded is_div, is_mod and is_DivMod functions
Christian Würdig [Mon, 9 Oct 2006 08:57:48 +0000 (08:57 +0000)]
added is_div, is_mod and is_DivMod functions

[r8322]

17 years agowhen checking Bound nodes, ignore ones which a Bad predecessor
Michael Beck [Sun, 8 Oct 2006 18:01:32 +0000 (18:01 +0000)]
when checking Bound nodes, ignore ones which a Bad predecessor

[r8320]

17 years agoMade frame types final classes.
Michael Beck [Thu, 5 Oct 2006 13:41:16 +0000 (13:41 +0000)]
Made frame types final classes.

[r8317]

17 years agofirm_init_options() is now a separate function that reads the firm.ini and might...
Michael Beck [Thu, 5 Oct 2006 13:08:13 +0000 (13:08 +0000)]
firm_init_options() is now a separate function that reads the firm.ini and might parse command line parameters.
This is NOT anymore done in init_firm()

[r8315]

17 years agoAdd the final property to entities
Michael Beck [Mon, 2 Oct 2006 08:14:29 +0000 (08:14 +0000)]
Add the final property to entities

[r8313]

17 years agoset the global type and tls type flags on the globat/tls type
Michael Beck [Fri, 29 Sep 2006 19:00:12 +0000 (19:00 +0000)]
set the global type and tls type flags on the globat/tls type

[r8312]

17 years agoirop_flag_start_block flag added
Michael Beck [Fri, 29 Sep 2006 18:57:27 +0000 (18:57 +0000)]
irop_flag_start_block flag added

[r8311]

17 years agois_irn_start_block_placed() added\nconst added to skip_Proj()
Michael Beck [Fri, 29 Sep 2006 18:56:12 +0000 (18:56 +0000)]
is_irn_start_block_placed() added\nconst added to skip_Proj()

[r8310]

17 years agoadded numbers for the base/upper types
Michael Beck [Fri, 29 Sep 2006 18:52:23 +0000 (18:52 +0000)]
added numbers for the base/upper types

[r8309]

17 years agoBugFix:
Michael Beck [Thu, 28 Sep 2006 22:33:49 +0000 (22:33 +0000)]
BugFix:
 - inlining erronously could not inline functions containing a Proj(x, 6) includes
   functions with more than 5 parameters and <> operator ...

[r8308]

17 years agoImproved doxygen docu
Michael Beck [Thu, 28 Sep 2006 22:30:38 +0000 (22:30 +0000)]
Improved doxygen docu

[r8307]

17 years agoAdd shortcut to speed up gc_irgs()
Michael Beck [Thu, 28 Sep 2006 22:29:39 +0000 (22:29 +0000)]
Add shortcut to speed up gc_irgs()

[r8306]

17 years agorenamed exec_freq_t to ir_exec_freq
Michael Beck [Wed, 27 Sep 2006 23:27:01 +0000 (23:27 +0000)]
renamed exec_freq_t to ir_exec_freq

[r8303]

17 years agorestructured to allow easier debug
Michael Beck [Wed, 27 Sep 2006 23:25:48 +0000 (23:25 +0000)]
restructured to allow easier debug

[r8302]

17 years agoAdd ir_*_ptr types.
Michael Beck [Wed, 27 Sep 2006 23:24:10 +0000 (23:24 +0000)]
Add ir_*_ptr types.
renamed exec_freq_t to ir_exec_freq
removed old ir_block_edge_t type

[r8301]

17 years agoadded function to remove a keepalive edge
Christian Würdig [Tue, 26 Sep 2006 14:57:59 +0000 (14:57 +0000)]
added function to remove a keepalive edge

[r8298]

17 years agofix broken remove_critical_cf
Matthias Braun [Tue, 26 Sep 2006 12:56:57 +0000 (12:56 +0000)]
fix broken remove_critical_cf

[r8296]

17 years agoFixed remove_critical_cf_edges():
Michael Beck [Tue, 26 Sep 2006 11:29:13 +0000 (11:29 +0000)]
Fixed remove_critical_cf_edges():
 - use irg_block_walk_graph() to speed up
 - build block only at critical edges: curretn block has more than 1 predecessor
  and the predecessor is a forking op
 - ignore ALL exception edges

[r8294]

17 years agochanged api
Christian Würdig [Mon, 25 Sep 2006 11:29:15 +0000 (11:29 +0000)]
changed api

[r8292]

17 years agoadded is_Start function
Christian Würdig [Thu, 21 Sep 2006 13:41:08 +0000 (13:41 +0000)]
added is_Start function

[r8291]

17 years agoadded additional parameter and assert to tmp dom info walker, to check valid list...
Christian Würdig [Thu, 21 Sep 2006 12:14:38 +0000 (12:14 +0000)]
added additional parameter and assert to tmp dom info walker, to check valid list access

[r8288]

17 years agowarning fix
Matthias Braun [Wed, 20 Sep 2006 15:23:45 +0000 (15:23 +0000)]
warning fix

[r8286]

17 years agoadded get_opt_closed_world() where appropriate
Michael Beck [Wed, 20 Sep 2006 15:22:22 +0000 (15:22 +0000)]
added get_opt_closed_world() where appropriate

[r8285]

17 years agoadded get_opt_closed_world() where appropriate
Michael Beck [Wed, 20 Sep 2006 15:19:58 +0000 (15:19 +0000)]
added get_opt_closed_world() where appropriate
added callback to detect Object allocation

[r8284]

17 years agoget_entity_repr_class() added, needed to get a class from a type info entity
Michael Beck [Wed, 20 Sep 2006 15:18:38 +0000 (15:18 +0000)]
get_entity_repr_class() added, needed to get a class from a type info entity
mtp_property_runtime added

[r8283]

17 years agoadded phase reinit data per irn
Christian Würdig [Wed, 20 Sep 2006 15:02:21 +0000 (15:02 +0000)]
added phase reinit data per irn

[r8282]

17 years agoadded weighted bipartite matching with hungarian method
Christian Würdig [Wed, 20 Sep 2006 15:00:55 +0000 (15:00 +0000)]
added weighted bipartite matching with hungarian method

[r8281]

17 years agoadded block recomputation
Christian Würdig [Wed, 20 Sep 2006 15:00:31 +0000 (15:00 +0000)]
added block recomputation
removed sink list

[r8280]

17 years agochanged solve function, return now 0 or negative on number, cost are pointer param
Christian Würdig [Wed, 20 Sep 2006 14:59:21 +0000 (14:59 +0000)]
changed solve function, return now 0 or negative on number, cost are pointer param

[r8279]

17 years agoextended dumper
Christian Würdig [Wed, 20 Sep 2006 14:58:43 +0000 (14:58 +0000)]
extended dumper

[r8278]

17 years agoFixed the type of the visit number
Michael Beck [Sun, 17 Sep 2006 21:12:39 +0000 (21:12 +0000)]
Fixed the type of the visit number

[r8265]

17 years agomake the comment more useful
Michael Beck [Sun, 17 Sep 2006 21:11:31 +0000 (21:11 +0000)]
make the comment more useful

[r8264]

17 years agoAdded support for SymConst(ofs_ent)
Michael Beck [Sun, 17 Sep 2006 21:09:37 +0000 (21:09 +0000)]
Added support for SymConst(ofs_ent)

[r8263]

17 years agoSymConst(ofs_ent) added to represent the offset of an entity.
Michael Beck [Sun, 17 Sep 2006 21:07:48 +0000 (21:07 +0000)]
SymConst(ofs_ent) added to represent the offset of an entity.
fixed SymConst handling

[r8262]

17 years agoSymConst(ofs_ent) added to represent the offset of an entity.
Michael Beck [Sun, 17 Sep 2006 21:05:59 +0000 (21:05 +0000)]
SymConst(ofs_ent) added to represent the offset of an entity.

[r8261]

17 years agoRemoved some depencies from current_ir_graph
Michael Beck [Fri, 15 Sep 2006 19:39:21 +0000 (19:39 +0000)]
Removed some depencies from current_ir_graph

[r8260]

17 years agoremoved some redundant assertions
Michael Beck [Fri, 15 Sep 2006 19:31:34 +0000 (19:31 +0000)]
removed some redundant assertions
speed up add_compound_ent_value()

[r8259]

17 years agoAdd a performance warning to the add_compound_ent_value() funtion
Michael Beck [Fri, 15 Sep 2006 19:28:45 +0000 (19:28 +0000)]
Add a performance warning to the  add_compound_ent_value() funtion

[r8258]

17 years agoadd docu and prototype for find_value()
Michael Beck [Fri, 15 Sep 2006 08:05:34 +0000 (08:05 +0000)]
add docu and prototype for find_value()
remove some depencies from current_ir_graph

[r8257]

17 years agorename fucntion due to a name clash
Michael Beck [Fri, 15 Sep 2006 08:04:16 +0000 (08:04 +0000)]
rename fucntion due to a name clash

[r8256]

17 years agorenamed function due to a name clash
Michael Beck [Fri, 15 Sep 2006 08:02:56 +0000 (08:02 +0000)]
renamed function due to a name clash

[r8255]

17 years agoBugFix:
Michael Beck [Fri, 15 Sep 2006 07:41:30 +0000 (07:41 +0000)]
BugFix:
 - current_ir_graph must be set because of out walker use
 - ignore only Muls in x86 mode

[r8254]

17 years agoBugFix:
Michael Beck [Thu, 14 Sep 2006 19:11:11 +0000 (19:11 +0000)]
BugFix:
 - post-dominance did not restore current_ir_graph, but set local var wrong

[r8253]

17 years agocondeval can evaluate phis on phis on constants now
Matthias Braun [Thu, 14 Sep 2006 16:37:59 +0000 (16:37 +0000)]
condeval can evaluate phis on phis on constants now

[r8252]

17 years agooptimize_graph_df():
Michael Beck [Thu, 14 Sep 2006 15:31:51 +0000 (15:31 +0000)]
optimize_graph_df():
 - when a mode_T node is enqueued, enqueue it's Projs. This
   is needed because most optimizations run on the Proj

[r8251]

17 years agowarning fix
Matthias Braun [Thu, 14 Sep 2006 08:26:39 +0000 (08:26 +0000)]
warning fix

[r8249]

17 years agoforgot this
Matthias Braun [Wed, 13 Sep 2006 16:31:32 +0000 (16:31 +0000)]
forgot this

[r8248]

17 years agocondeval.h added
Michael Beck [Wed, 13 Sep 2006 14:40:50 +0000 (14:40 +0000)]
condeval.h added

[r8245]

17 years agoadded find_value and has_value functions
Christian Würdig [Wed, 13 Sep 2006 14:17:53 +0000 (14:17 +0000)]
added find_value and has_value functions

[r8244]

17 years agoadded option to choose between perfect and normal matching
Christian Würdig [Wed, 13 Sep 2006 13:06:26 +0000 (13:06 +0000)]
added option to choose between perfect and normal matching

[r8242]

17 years agoBugFix:
Michael Beck [Wed, 13 Sep 2006 12:41:31 +0000 (12:41 +0000)]
BugFix:
 - When moving Stores over Phis we must ensure that the store block
   is different from the Phi-block, otherwise the post-dominance
   did NOT mean we we expect (and a Store is moved from the end of a block
   to its start)

[r8240]

17 years agoadded comment and cvs id
Christian Würdig [Wed, 13 Sep 2006 12:02:26 +0000 (12:02 +0000)]
added comment and cvs id

[r8239]

17 years agobipartite matching based on hungarian method
Christian Würdig [Wed, 13 Sep 2006 12:00:16 +0000 (12:00 +0000)]
bipartite matching based on hungarian method

[r8238]

17 years agoBitfields in entity need one more bits because of signess,
Michael Beck [Wed, 13 Sep 2006 11:58:47 +0000 (11:58 +0000)]
Bitfields in entity need one more bits because of signess,
add is_entity_compiler_generated

[r8237]

17 years agodon't fail on switches
Matthias Braun [Wed, 13 Sep 2006 10:17:13 +0000 (10:17 +0000)]
don't fail on switches

[r8236]

17 years agowarning fix
Matthias Braun [Wed, 13 Sep 2006 09:12:55 +0000 (09:12 +0000)]
warning fix

[r8235]

17 years agowarning fixes
Matthias Braun [Wed, 13 Sep 2006 09:12:16 +0000 (09:12 +0000)]
warning fixes

[r8234]

17 years agorenamed some firm enum types to have the ir_ prefix
Michael Beck [Tue, 12 Sep 2006 21:26:52 +0000 (21:26 +0000)]
renamed some firm enum types to have the ir_ prefix

[r8230]

17 years agofixed type of variable
Michael Beck [Tue, 12 Sep 2006 21:23:57 +0000 (21:23 +0000)]
fixed type of variable

[r8229]

17 years agorenamed some firm enum types to have the ir_ prefix
Michael Beck [Tue, 12 Sep 2006 21:14:13 +0000 (21:14 +0000)]
renamed some firm enum types to have the ir_ prefix

[r8228]