libfirm
15 years agoFix comments.
Christoph Mallon [Thu, 6 Nov 2008 10:32:26 +0000 (10:32 +0000)]
Fix comments.

[r23472]

15 years agoMake a few lines a bit more readable by using a local variable.
Christoph Mallon [Thu, 6 Nov 2008 10:29:04 +0000 (10:29 +0000)]
Make a few lines a bit more readable by using a local variable.

[r23471]

15 years agoFix typo in comment.
Christoph Mallon [Thu, 6 Nov 2008 10:27:47 +0000 (10:27 +0000)]
Fix typo in comment.

[r23470]

15 years agoVIA C3-2 supports all P6 instructions.
Christoph Mallon [Thu, 6 Nov 2008 10:26:38 +0000 (10:26 +0000)]
VIA C3-2 supports all P6 instructions.

[r23469]

15 years agoFix typos in comments, reformat.
Christoph Mallon [Thu, 6 Nov 2008 10:25:09 +0000 (10:25 +0000)]
Fix typos in comments, reformat.

[r23468]

15 years ago- Corrected Abs/Nabs check
Michael Beck [Thu, 6 Nov 2008 02:09:57 +0000 (02:09 +0000)]
- Corrected Abs/Nabs check

[r23462]

15 years ago- Fixed: do not kick predecessors on non-current nodes
Michael Beck [Thu, 6 Nov 2008 01:51:12 +0000 (01:51 +0000)]
- Fixed: do not kick predecessors on non-current nodes
- Arguments should also return the right precision

[r23461]

15 years ago- neither Abs nor Minus change the precision, so we can look-through them
Michael Beck [Thu, 6 Nov 2008 01:19:18 +0000 (01:19 +0000)]
- neither Abs nor Minus change the precision, so we can look-through them
  when checking for superflous strictConv

[r23460]

15 years ago- allow fabs to be constructed
Michael Beck [Thu, 6 Nov 2008 00:58:05 +0000 (00:58 +0000)]
- allow fabs to be constructed

[r23459]

15 years ago- moved declarations to appropriate header files
Michael Beck [Thu, 6 Nov 2008 00:36:17 +0000 (00:36 +0000)]
- moved declarations to appropriate header files

[r23458]

15 years ago- fixed comments
Michael Beck [Thu, 6 Nov 2008 00:30:12 +0000 (00:30 +0000)]
- fixed comments

[r23457]

15 years ago- refactored code for generic block shaping
Michael Beck [Wed, 5 Nov 2008 14:17:56 +0000 (14:17 +0000)]
- refactored code for generic block shaping

[r23445]

15 years ago- BugFix: remove critical edges to ensure that Phi's have diferent predecessor
Michael Beck [Wed, 5 Nov 2008 13:50:12 +0000 (13:50 +0000)]
- BugFix: remove critical edges to ensure that Phi's have diferent predecessor
  blocks

[r23443]

15 years agoAdded new storage class for pointer constants
Moritz Kroll [Mon, 3 Nov 2008 19:39:38 +0000 (19:39 +0000)]
Added new storage class for pointer constants

[r23420]

15 years ago- DO NOT EDIT AFTER TEST!
Michael Beck [Mon, 3 Nov 2008 18:46:30 +0000 (18:46 +0000)]
- DO NOT EDIT AFTER TEST!

[r23419]

15 years ago- when a graph is lowered because of struct return changes, transform
Michael Beck [Mon, 3 Nov 2008 14:22:00 +0000 (14:22 +0000)]
- when a graph is lowered because of struct return changes, transform
  the value param arguments in the same way like all "register" arguments:
  this fixes fehler162.c

[r23408]

15 years ago- add some comments
Michael Beck [Mon, 3 Nov 2008 14:18:44 +0000 (14:18 +0000)]
- add some comments
- split get_or_set_call_arg() into get_call_arg() and create_call_arg()

[r23407]

15 years ago- firmEvaluator (VusualStudio 6/7/8 debug extension) added
Michael Beck [Mon, 3 Nov 2008 12:02:21 +0000 (12:02 +0000)]
- firmEvaluator (VusualStudio 6/7/8 debug extension) added

[r23400]

15 years ago- fixed RELEASE build
Michael Beck [Sun, 2 Nov 2008 17:31:06 +0000 (17:31 +0000)]
- fixed RELEASE build

[r23398]

15 years agoFix switch lowerer for cases close to overflow.
Christoph Mallon [Sat, 1 Nov 2008 21:22:31 +0000 (21:22 +0000)]
Fix switch lowerer for cases close to overflow.

[r23374]

15 years agoremove test dir
Matthias Braun [Sat, 1 Nov 2008 18:20:48 +0000 (18:20 +0000)]
remove test dir

[r23364]

15 years agomove tests around
Matthias Braun [Sat, 1 Nov 2008 18:20:10 +0000 (18:20 +0000)]
move tests around

[r23363]

15 years agoremove strange tests which does not link/run
Matthias Braun [Sat, 1 Nov 2008 18:19:36 +0000 (18:19 +0000)]
remove strange tests which does not link/run

[r23361]

15 years agomove tests around
Matthias Braun [Sat, 1 Nov 2008 18:18:19 +0000 (18:18 +0000)]
move tests around

[r23360]

15 years agoswitch is still broken, copying over cparser testcase since noone runs the cparser...
Matthias Braun [Sat, 1 Nov 2008 16:56:55 +0000 (16:56 +0000)]
switch is still broken, copying over cparser testcase since noone runs the cparser tests regularily

[r23350]

15 years ago- calling normalize_n_returns() improve greatly the block shaping
Michael Beck [Fri, 31 Oct 2008 16:10:01 +0000 (16:10 +0000)]
- calling normalize_n_returns() improve greatly the block shaping
- improved debug output

[r23335]

15 years agoPreserving a test case, which would brake with pbqp transformer on ARM and postinc...
Andreas Zwinkau [Fri, 31 Oct 2008 14:54:56 +0000 (14:54 +0000)]
Preserving a test case, which would brake with pbqp transformer on ARM and postinc rules

[r23329]

15 years ago- fixed allocation of resources even more
Michael Beck [Fri, 31 Oct 2008 14:47:13 +0000 (14:47 +0000)]
- fixed allocation of resources even more

[r23328]

15 years ago- fixed allocation of resources
Michael Beck [Fri, 31 Oct 2008 14:34:18 +0000 (14:34 +0000)]
- fixed allocation of resources

[r23327]

15 years ago- removed rest of already unsupported USE_EXPLICIT_PHI_IN_STACK
Michael Beck [Fri, 31 Oct 2008 14:03:24 +0000 (14:03 +0000)]
- removed rest of already unsupported USE_EXPLICIT_PHI_IN_STACK

[r23326]

15 years ago- shorten the lifetime of a variable
Michael Beck [Fri, 31 Oct 2008 14:01:02 +0000 (14:01 +0000)]
- shorten the lifetime of a variable

[r23325]

15 years ago- Fixed memory leak: delete pseudo-irgs if any
Michael Beck [Fri, 31 Oct 2008 14:00:22 +0000 (14:00 +0000)]
- Fixed memory leak: delete pseudo-irgs if any

[r23324]

15 years ago- indentation
Michael Beck [Fri, 31 Oct 2008 13:59:44 +0000 (13:59 +0000)]
- indentation

[r23323]

15 years ago- fixed typo
Michael Beck [Fri, 31 Oct 2008 13:38:46 +0000 (13:38 +0000)]
- fixed typo

[r23322]

15 years ago- fixed _get_irp_irg()
Michael Beck [Fri, 31 Oct 2008 13:38:31 +0000 (13:38 +0000)]
- fixed _get_irp_irg()

[r23321]

15 years ago- BugFix: use remove_irp_irg() instead of free_ir_graph() to prevent
Michael Beck [Fri, 31 Oct 2008 13:24:14 +0000 (13:24 +0000)]
- BugFix: use remove_irp_irg() instead of free_ir_graph() to prevent
  double graph freeing
- Put the constant result of stat_is_active() into variable

[r23320]

15 years ago- removed some constant ARR_LEN's
Michael Beck [Fri, 31 Oct 2008 13:21:24 +0000 (13:21 +0000)]
- removed some constant ARR_LEN's
- removed useless assert

[r23319]

15 years ago- reserve necessary resources before collect phiprojs
Sebastian Buchwald [Fri, 31 Oct 2008 11:31:47 +0000 (11:31 +0000)]
- reserve necessary resources before collect phiprojs
- fixed assertion

[r23316]

15 years ago- reserve the IR_RESOURCE_PHI_LIST resource
Michael Beck [Thu, 30 Oct 2008 15:48:04 +0000 (15:48 +0000)]
- reserve the IR_RESOURCE_PHI_LIST resource

[r23313]

15 years ago- reserve the IR_RESOURCE_PHI_LIST resource
Michael Beck [Thu, 30 Oct 2008 15:44:59 +0000 (15:44 +0000)]
- reserve the IR_RESOURCE_PHI_LIST resource

[r23312]

15 years ago- invalidate tr_outs because Calls might be removed
Michael Beck [Thu, 30 Oct 2008 15:41:48 +0000 (15:41 +0000)]
- invalidate tr_outs because Calls might be removed

[r23311]

15 years ago- do not treat Constants as live-ins: this assures, that a
Michael Beck [Thu, 30 Oct 2008 02:13:58 +0000 (02:13 +0000)]
- do not treat Constants as live-ins: this assures, that a
  meltet block has the same number of inputs like the original

[r23306]

15 years ago- BugFix: kill partitions with 0 blocks either
Michael Beck [Thu, 30 Oct 2008 01:39:36 +0000 (01:39 +0000)]
- BugFix: kill partitions with 0 blocks either
- BugFix: set the ins for the newly created Phis
- BugFix: correctly construct the Phis for old inputs

[r23305]

15 years agodeactivate debug output
Michael Beck [Tue, 28 Oct 2008 15:12:43 +0000 (15:12 +0000)]
deactivate debug output

[r23280]

15 years agoimproved example
Michael Beck [Tue, 28 Oct 2008 14:56:19 +0000 (14:56 +0000)]
improved example

[r23276]

15 years ago- implemented apply phase
Michael Beck [Tue, 28 Oct 2008 14:55:49 +0000 (14:55 +0000)]
- implemented apply phase

[r23275]

15 years ago- small cleanup
Michael Beck [Tue, 28 Oct 2008 14:21:39 +0000 (14:21 +0000)]
- small cleanup

[r23271]

15 years ago- add block Phi list resource
Michael Beck [Tue, 28 Oct 2008 13:17:26 +0000 (13:17 +0000)]
- add block Phi list resource
- check, that only local/global resources are allocated

[r23266]

15 years ago- analysis part of an block merging optimization
Michael Beck [Tue, 28 Oct 2008 04:34:13 +0000 (04:34 +0000)]
- analysis part of an block merging optimization

[r23250]

15 years ago- renamed normalize_node() into ir_normalize_node() and make it available outside...
Michael Beck [Tue, 28 Oct 2008 04:33:06 +0000 (04:33 +0000)]
- renamed normalize_node() into ir_normalize_node() and make it available outside iropt.c

[r23249]

15 years ago- removed const from function definitions (causes warnings on MSVC: formal parameter...
Michael Beck [Tue, 28 Oct 2008 04:32:18 +0000 (04:32 +0000)]
- removed const from function definitions (causes warnings on MSVC: formal parameter different)

[r23248]

15 years ago- example for the new block optimization
Michael Beck [Tue, 28 Oct 2008 04:30:41 +0000 (04:30 +0000)]
- example for the new block optimization

[r23247]

15 years ago- more irp_resource_reserved()
Michael Beck [Mon, 27 Oct 2008 21:47:50 +0000 (21:47 +0000)]
- more irp_resource_reserved()

[r23246]

15 years ago- BugFix: ensure that Convs are created in the right block
Michael Beck [Mon, 27 Oct 2008 17:33:57 +0000 (17:33 +0000)]
- BugFix: ensure that Convs are  created in the right block
- BugFix: add support for Id nodes when searching for leave Sel's:
  we MUST find all leaves else some nodes are NOT removed
- removed use of visited flag, useless: we cannot reache a Sel
  node by different data pathes
- add ressource allocators

[r23240]

15 years ago- used new global resource allocator
Michael Beck [Mon, 27 Oct 2008 17:09:10 +0000 (17:09 +0000)]
- used new global resource allocator

[r23238]

15 years ago- add functions for global (ir_prog) resource management
Michael Beck [Mon, 27 Oct 2008 15:43:44 +0000 (15:43 +0000)]
- add functions for global (ir_prog) resource management

[r23235]

15 years ago- introduced IR_RESOURCE_ENTITY_LINK
Michael Beck [Mon, 27 Oct 2008 15:16:29 +0000 (15:16 +0000)]
- introduced IR_RESOURCE_ENTITY_LINK

[r23232]

15 years ago- completely get rid of useless assertion (skip_Id() want's non-const nodes)
Michael Beck [Mon, 27 Oct 2008 14:23:51 +0000 (14:23 +0000)]
- completely get rid of useless assertion (skip_Id() want's non-const nodes)

[r23230]

15 years ago- fixed (useless) assertion
Michael Beck [Mon, 27 Oct 2008 14:16:10 +0000 (14:16 +0000)]
- fixed (useless) assertion

[r23229]

15 years ago- removed useless checking of control flow input for default_compute()
Michael Beck [Sat, 25 Oct 2008 21:50:12 +0000 (21:50 +0000)]
- removed useless checking of control flow input for default_compute()

[r23193]

15 years ago- BugFix: a - a is NOT 0 for NaN's
Michael Beck [Sat, 25 Oct 2008 21:48:15 +0000 (21:48 +0000)]
- BugFix: a - a is NOT 0 for NaN's
- a * 0 is NOT 0 for Inf

[r23192]

15 years agodon't ask mode_T node for output register
Matthias Braun [Sat, 25 Oct 2008 20:43:29 +0000 (20:43 +0000)]
don't ask mode_T node for output register

[r23190]

15 years agomark ebp output of leave as ignore
Matthias Braun [Sat, 25 Oct 2008 19:30:41 +0000 (19:30 +0000)]
mark ebp output of leave as ignore

[r23186]

15 years agofix fehler161 to link correctly
Matthias Braun [Sat, 25 Oct 2008 19:30:12 +0000 (19:30 +0000)]
fix fehler161 to link correctly

[r23185]

15 years agodemonstrates \!chunk->deleted assertion
Michael Beck [Sat, 25 Oct 2008 19:07:37 +0000 (19:07 +0000)]
demonstrates \!chunk->deleted assertion

[r23182]

15 years ago- handling of Top mode can be switched on/off at runtime (although no flag yet)
Michael Beck [Fri, 24 Oct 2008 20:55:37 +0000 (20:55 +0000)]
- handling of Top mode can be switched on/off at runtime (although no flag yet)
- Fix for a rare problem: when checking commutative touched nodes, we must distinguish between op(a, a) and op(a, b): these are NOT congruent and must not be on the same touched list

[r23178]

15 years agoKill Perm after pushing all operands through it.
Sebastian Buchwald [Fri, 24 Oct 2008 20:51:43 +0000 (20:51 +0000)]
Kill Perm after pushing all operands through it.

[r23177]

15 years agoLet edges_assure() only activate edge kinds, which are not activated yet.
Christoph Mallon [Fri, 24 Oct 2008 17:32:01 +0000 (17:32 +0000)]
Let edges_assure() only activate edge kinds, which are not activated yet.

[r23176]

15 years agoClear private data, when creating new out edges
Andreas Zwinkau [Fri, 24 Oct 2008 17:02:19 +0000 (17:02 +0000)]
Clear private data, when creating new out edges

[r23173]

15 years ago- fixed output
Michael Beck [Fri, 24 Oct 2008 13:32:06 +0000 (13:32 +0000)]
- fixed output

[r23170]

15 years agoJust assure edges, instead of blindly activating them
Andreas Zwinkau [Fri, 24 Oct 2008 13:28:42 +0000 (13:28 +0000)]
Just assure edges, instead of blindly activating them

Maybe edges_activate_kind should assert !info->activated ?

[r23169]

15 years ago- replaced the linear search with quadratic runtime inside normal_select()
Michael Beck [Fri, 24 Oct 2008 03:49:08 +0000 (03:49 +0000)]
- replaced the linear search with quadratic runtime inside normal_select()
  by a mostly O(1) access
- simpler memory freeing

[r23161]

15 years ago- fixed all memory leaks
Michael Beck [Fri, 24 Oct 2008 03:03:29 +0000 (03:03 +0000)]
- fixed all memory leaks

[r23160]

15 years ago- fixed some memory leaks
Michael Beck [Fri, 24 Oct 2008 02:51:00 +0000 (02:51 +0000)]
- fixed some memory leaks
- link resource is used until scheduler ends, honor that

[r23159]

15 years ago- small cleanup
Michael Beck [Fri, 24 Oct 2008 02:24:14 +0000 (02:24 +0000)]
- small cleanup

[r23158]

15 years ago- reserve the visited resource
Michael Beck [Fri, 24 Oct 2008 02:05:03 +0000 (02:05 +0000)]
- reserve the visited resource

[r23157]

15 years ago- use xmalloc instead of malloc
Michael Beck [Fri, 24 Oct 2008 02:02:11 +0000 (02:02 +0000)]
- use xmalloc instead of malloc
- reserve the IRN_LINK resource

[r23156]

15 years ago- add a hook for normalizing a node
Michael Beck [Fri, 24 Oct 2008 01:37:03 +0000 (01:37 +0000)]
- add a hook for normalizing a node
- used new hook to count number of normalizations

[r23155]

15 years ago- C99 features removed
Michael Beck [Fri, 24 Oct 2008 01:31:29 +0000 (01:31 +0000)]
- C99 features removed

[r23154]

15 years ago- better solution for the "mode_M node computes Top" problem
Michael Beck [Thu, 23 Oct 2008 22:26:27 +0000 (22:26 +0000)]
- better solution for the "mode_M node computes Top" problem

[r23152]

15 years agoSimplify dump_node_req().
Christoph Mallon [Thu, 23 Oct 2008 19:03:06 +0000 (19:03 +0000)]
Simplify dump_node_req().

[r23144]

15 years agoforgot 2 files
Matthias Braun [Thu, 23 Oct 2008 18:04:02 +0000 (18:04 +0000)]
forgot 2 files

[r23143]

15 years ago- Part1 of backend reorganisation:
Matthias Braun [Thu, 23 Oct 2008 18:02:53 +0000 (18:02 +0000)]
- Part1 of backend reorganisation:
Node flags and node registers are stored in a generic backend_info struct now
instead of every part of the backend doing custom (and slow) stuff

[r23142]

15 years agoRemove the unused regs_saved_by_me hook.
Christoph Mallon [Thu, 23 Oct 2008 16:53:57 +0000 (16:53 +0000)]
Remove the unused regs_saved_by_me hook.

[r23138]

15 years ago- more special Top handling: it is NOT allowed to replace a mode_M
Michael Beck [Thu, 23 Oct 2008 16:52:45 +0000 (16:52 +0000)]
- more special Top handling: it is NOT allowed to replace a mode_M
  Proj by UnknownM, this would destroy the graph, so skip the
  predecessor in that case

[r23136]

15 years ago- Call nodes computes always bottom, even if they have Unknown predecessors
Michael Beck [Thu, 23 Oct 2008 16:09:10 +0000 (16:09 +0000)]
- Call nodes computes always bottom, even if they have Unknown predecessors
- remove by_all_const: always saturate the type

[r23132]

15 years ago- more work on the Unknown problems: the only
Michael Beck [Thu, 23 Oct 2008 13:04:58 +0000 (13:04 +0000)]
- more work on the Unknown problems: the only
  solution seems to be fixing the type of the Proj(Cond)

[r23130]

15 years ago- example for the Unknown problem
Michael Beck [Thu, 23 Oct 2008 13:01:33 +0000 (13:01 +0000)]
- example for the Unknown problem

[r23129]

15 years ago- fixed r23120
Michael Beck [Thu, 23 Oct 2008 00:40:37 +0000 (00:40 +0000)]
- fixed r23120

[r23123]

15 years ago- put verify_type() again after the "type changed" test
Michael Beck [Wed, 22 Oct 2008 21:34:05 +0000 (21:34 +0000)]
- put verify_type() again after the "type changed" test

[r23120]

15 years ago- kill keep-alive edges to dead blocks before doing apply_result(),
Michael Beck [Wed, 22 Oct 2008 15:59:41 +0000 (15:59 +0000)]
- kill keep-alive edges to dead blocks before doing apply_result(),
  this reduces the graph and fixes the problem of dead cf to dead blocks
  (which assert else)

[r23114]

15 years ago- BugFix: fixed monotony checker, now enabled
Michael Beck [Wed, 22 Oct 2008 14:36:10 +0000 (14:36 +0000)]
- BugFix: fixed monotony checker, now enabled
- removed Cond hack: it does not help. Instead cond nodes
  are automatically handled AFTER all data nodes by
  placing them on an extra list
- BugFix: apply_cf() now remove bad cf even if the
  resulting block has only one predecessor and
  cannot be combined with its predecessor
- BugFix: data nodes computing Top must be replaced
  by Unknown, not Bad

[r23111]

15 years agoexample for the new commutative combo
Michael Beck [Wed, 22 Oct 2008 13:44:19 +0000 (13:44 +0000)]
example for the new commutative combo

[r23104]

15 years agoExample for optimizing non-strict programs using combo.
Michael Beck [Tue, 21 Oct 2008 17:14:06 +0000 (17:14 +0000)]
Example for optimizing non-strict programs using combo.

[r23083]

15 years ago- activated WITH_UNKNOWN
Michael Beck [Tue, 21 Oct 2008 17:08:17 +0000 (17:08 +0000)]
- activated WITH_UNKNOWN
- Hopefully fixed handling of unknown nodes for Cmp and Cond:
  - let cmp nodes calculate Top like all othe data nodes: this would let
    Mux nodes to calculate Unknown instead of taking the true result
  - Let Cond(Top) always select FALSE/default: This is tricky. Nodes are only reavaluated
    IFF the predecessor changed its type. Because nodes are initialized with Top
    this never happens, let all Proj(Cond) be unreachable.
    We avoid this condition by the same way we work around Phi: whenever a Block
    node is placed on the list, place its Cond nodes (and because they are Tuple
    all its Proj-nodes either n the cprop list)
- BugFix: Proj-Nodes are also pinned if theire predecessor is pinned
- while combo is running, add the vcg dump hook, so dumped graphes contains the
  partition and the type of a node
- put simpler condition first in an if-cascade

[r23082]

15 years agoLet testcase return 0.
Christoph Mallon [Tue, 21 Oct 2008 07:26:12 +0000 (07:26 +0000)]
Let testcase return 0.

[r23058]

15 years ago- put freed edges into a free-list, reducing memory count used for edges
Michael Beck [Mon, 20 Oct 2008 19:58:45 +0000 (19:58 +0000)]
- put freed edges into a free-list, reducing memory count used for edges

[r23051]

15 years ago- old code probably crashes in the edge set contains already the
Michael Beck [Mon, 20 Oct 2008 19:56:45 +0000 (19:56 +0000)]
- old code probably crashes in the edge set contains already the
  newly created edge, so add a panic if this happens
- put freed edges into a free-list, reducing memory count used for edges

[r23050]

15 years ago- fixed memory leak: delete edges when a graph is deleted
Michael Beck [Mon, 20 Oct 2008 18:48:11 +0000 (18:48 +0000)]
- fixed memory leak: delete edges when a graph is deleted

[r23047]

15 years ago- BugFix: we need an extra compute_Return(), else compute_default()
Michael Beck [Mon, 20 Oct 2008 14:16:43 +0000 (14:16 +0000)]
- BugFix: we need an extra compute_Return(), else compute_default()
  kills Return(Top) nodes ...

[r23035]