libfirm
15 years agoAnother variant without index, but shifts with different modes.
Sebastian Buchwald [Tue, 30 Sep 2008 12:10:39 +0000 (12:10 +0000)]
Another variant without index, but shifts with different modes.

[r22367]

15 years agoAll heuristic applications at right place, but there's a conv between :-(
Sebastian Buchwald [Tue, 30 Sep 2008 11:27:05 +0000 (11:27 +0000)]
All heuristic applications at right place, but there's a conv between :-(

[r22363]

15 years agoUse PBQP heuristic at shift const and afterwards at computed value.
Sebastian Buchwald [Tue, 30 Sep 2008 10:48:57 +0000 (10:48 +0000)]
Use PBQP heuristic at shift const and afterwards at computed value.

[r22362]

15 years agoProvoke heuristical PBQP decision for computed value.
Sebastian Buchwald [Tue, 30 Sep 2008 09:24:48 +0000 (09:24 +0000)]
Provoke heuristical PBQP decision for computed value.

[r22360]

15 years agopush compilation unit in context
Matthias Braun [Tue, 30 Sep 2008 08:19:50 +0000 (08:19 +0000)]
push compilation unit in context

[r22357]

15 years agowhen we can do it for tuples, we can do it for Ids too
Matthias Braun [Tue, 30 Sep 2008 08:08:47 +0000 (08:08 +0000)]
when we can do it for tuples, we can do it for Ids too

[r22356]

15 years agowe have code duplication in determine_entity_usage and is_address_taken (from scalar_...
Matthias Braun [Tue, 30 Sep 2008 08:07:39 +0000 (08:07 +0000)]
we have code duplication in determine_entity_usage and is_address_taken (from scalar_replacement). Port the recent skip_tupe/id fixes

[r22355]

15 years ago- add a combo flag again, so inlining can use combo or df/cf depending on command...
Michael Beck [Mon, 29 Sep 2008 23:36:49 +0000 (23:36 +0000)]
- add a combo flag again, so inlining can use combo or df/cf depending on command line option

[r22352]

15 years agoAdded more users to calculated value, but there are no real skip pattern for this...
Sebastian Buchwald [Mon, 29 Sep 2008 23:00:06 +0000 (23:00 +0000)]
Added more users to calculated value, but there are no real skip pattern for this nodes which is a little bit strange.
Maybe there's a bug which prevents consuming direct users of "memop"-nodes.

[r22351]

15 years ago- Look through Tuple when checking for address taken (helps inlining)
Michael Beck [Mon, 29 Sep 2008 22:54:04 +0000 (22:54 +0000)]
- Look through Tuple when checking for address taken (helps inlining)

[r22350]

15 years ago- BugFix: removed missing debugging artefact, causing partitions with
Michael Beck [Mon, 29 Sep 2008 22:29:16 +0000 (22:29 +0000)]
- BugFix: removed missing debugging artefact, causing partitions with
  constant type place on the workqueue again (fix ack/test2.c)
- Add debug output when a partition is placed on the workqueue

[r22349]

15 years agoDon't try to use address multiple times, use calculated value instead.
Sebastian Buchwald [Mon, 29 Sep 2008 19:57:32 +0000 (19:57 +0000)]
Don't try to use address multiple times, use calculated value instead.

[r22348]

15 years agoTried to create a PBQP graph with can't be solved heuristically (not finished yet)
Sebastian Buchwald [Mon, 29 Sep 2008 18:23:04 +0000 (18:23 +0000)]
Tried to create a PBQP graph with can't be solved heuristically (not finished yet)

[r22347]

15 years agobe robust against event names containing special chars
Matthias Braun [Mon, 29 Sep 2008 13:43:09 +0000 (13:43 +0000)]
be robust against event names containing special chars

[r22346]

15 years agowe WANT to push forced graphs on the prioqueue
Matthias Braun [Mon, 29 Sep 2008 13:16:57 +0000 (13:16 +0000)]
we WANT to push forced graphs on the prioqueue

[r22345]

15 years agohere it is
Matthias Braun [Mon, 29 Sep 2008 09:14:05 +0000 (09:14 +0000)]
here it is

[r22341]

15 years ago- removed C99 features
Michael Beck [Sun, 28 Sep 2008 23:38:03 +0000 (23:38 +0000)]
- removed C99 features

[r22340]

15 years ago- setted store value to symconst + const which can replaced by an immediate
Sebastian Buchwald [Sun, 28 Sep 2008 22:23:09 +0000 (22:23 +0000)]
- setted store value to symconst + const which can replaced by an immediate

[r22339]

15 years ago- added missing base in two test cases
Sebastian Buchwald [Sun, 28 Sep 2008 22:03:11 +0000 (22:03 +0000)]
- added missing base in two test cases
- added test cases for destination address mode

[r22338]

15 years agoAdded test with all (?) address mode variants.
Sebastian Buchwald [Sun, 28 Sep 2008 21:37:44 +0000 (21:37 +0000)]
Added test with all (?) address mode variants.

[r22337]

15 years agooutput register pressure in register class context
Matthias Braun [Sun, 28 Sep 2008 21:16:06 +0000 (21:16 +0000)]
output register pressure in register class context

[r22336]

15 years agoalso count remats
Matthias Braun [Sun, 28 Sep 2008 21:11:52 +0000 (21:11 +0000)]
also count remats

[r22335]

15 years agoimprove fix some statistics in bechordal
Matthias Braun [Sun, 28 Sep 2008 21:08:51 +0000 (21:08 +0000)]
improve fix some statistics in bechordal

[r22334]

15 years ago- split array.h into array.h/array_t.h and make array.h independent of
Matthias Braun [Sun, 28 Sep 2008 18:25:59 +0000 (18:25 +0000)]
- split array.h into array.h/array_t.h and make array.h independent of
  compiletime options like NDEBUG (as it is public API!)
- renamed some statevs (append a prefix for their module)

[r22329]

15 years agofix bug in statev script for empty contexts
Matthias Braun [Sun, 28 Sep 2008 18:24:25 +0000 (18:24 +0000)]
fix bug in statev script for empty contexts

[r22328]

15 years agodisable some expensive statevs
Matthias Braun [Sun, 28 Sep 2008 18:12:08 +0000 (18:12 +0000)]
disable some expensive statevs

[r22327]

15 years agofix warning
Matthias Braun [Sun, 28 Sep 2008 17:37:43 +0000 (17:37 +0000)]
fix warning

[r22326]

15 years agofix warning
Matthias Braun [Sun, 28 Sep 2008 17:37:15 +0000 (17:37 +0000)]
fix warning

[r22325]

15 years agofix warning in optimized build
Matthias Braun [Sun, 28 Sep 2008 17:36:57 +0000 (17:36 +0000)]
fix warning in optimized build

[r22324]

15 years agoUpdated Visual Studio 2005/2008 project
Moritz Kroll [Sun, 28 Sep 2008 00:41:24 +0000 (00:41 +0000)]
Updated Visual Studio 2005/2008 project

[r22322]

15 years ago- add and fix some comments
Michael Beck [Sun, 28 Sep 2008 00:28:58 +0000 (00:28 +0000)]
- add and fix some comments

[r22321]

15 years agoTeach Mr. Gauß, Mr. Seidel and Mr. Grund to ignore the start loop.
Christoph Mallon [Sat, 27 Sep 2008 16:05:36 +0000 (16:05 +0000)]
Teach Mr. Gauß, Mr. Seidel and Mr. Grund to ignore the start loop.

[r22318]

15 years agoRemove wrong constlike flags from PPC32 Addi, Ori and Andi_dot.
Christoph Mallon [Sat, 27 Sep 2008 15:14:51 +0000 (15:14 +0000)]
Remove wrong constlike flags from PPC32 Addi, Ori and Andi_dot.

[r22317]

15 years agoadd missing exception attribute
Michael Beck [Sat, 27 Sep 2008 14:57:43 +0000 (14:57 +0000)]
add missing exception attribute

[r22316]

15 years agoDo not choke on Bad nodes while transforming for PPC32.
Christoph Mallon [Sat, 27 Sep 2008 14:21:42 +0000 (14:21 +0000)]
Do not choke on Bad nodes while transforming for PPC32.

[r22315]

15 years agoUse set_transformed_and_mark() instead of mark_irn_visited() + be_set_transformed_node().
Christoph Mallon [Sat, 27 Sep 2008 14:17:18 +0000 (14:17 +0000)]
Use set_transformed_and_mark() instead of mark_irn_visited() + be_set_transformed_node().

[r22314]

15 years ago- revert big benefice for irg_inline_forced methods,
Michael Beck [Sat, 27 Sep 2008 13:31:10 +0000 (13:31 +0000)]
- revert big benefice for irg_inline_forced methods,
  seems to be less usefull

[r22313]

15 years ago- BugFix: irg_inline_forced is not a bit
Michael Beck [Sat, 27 Sep 2008 10:32:04 +0000 (10:32 +0000)]
- BugFix: irg_inline_forced is not a bit
- revert to always inline forced functions for now

[r22311]

15 years ago- fixed some typos
Michael Beck [Sat, 27 Sep 2008 03:13:41 +0000 (03:13 +0000)]
- fixed some typos

[r22310]

15 years ago- add missing initializations
Michael Beck [Sat, 27 Sep 2008 02:50:50 +0000 (02:50 +0000)]
- add missing initializations

[r22309]

15 years agoVarious Fixes:
Michael Beck [Sat, 27 Sep 2008 02:45:49 +0000 (02:45 +0000)]
Various Fixes:
 - put call entries into a double linked list, so we can remove them in any order
 - correctly handle recursive calls: use the new (copied) callee_env
 - correctly handle weights for self-recursive calls: due to inlining recursive calls might get promoted to self-recursive calls
 - maxsize is a hard limit now: even forced functions are not inlined anymore (otherwise it would be possible to "force" a recursive one)
 - forced inlines are handled like function with BIG benefice and inlined first (sorted by loop depth)
 - fixed some comments, simplified code

[r22308]

15 years agotypo
Sebastian Buchwald [Fri, 26 Sep 2008 18:56:49 +0000 (18:56 +0000)]
typo

[r22303]

15 years agoIndentation.
Christoph Mallon [Fri, 26 Sep 2008 17:21:14 +0000 (17:21 +0000)]
Indentation.

[r22302]

15 years agoFix comments.
Christoph Mallon [Fri, 26 Sep 2008 17:17:40 +0000 (17:17 +0000)]
Fix comments.

[r22301]

15 years agoFix comments.
Christoph Mallon [Fri, 26 Sep 2008 17:11:10 +0000 (17:11 +0000)]
Fix comments.

[r22299]

15 years agoSymConsts represent constant entities irrespective of variability.
Christoph Mallon [Fri, 26 Sep 2008 17:05:49 +0000 (17:05 +0000)]
SymConsts represent constant entities irrespective of variability.

[r22297]

15 years agoremoved C99 code
Michael Beck [Fri, 26 Sep 2008 15:05:34 +0000 (15:05 +0000)]
removed C99 code

[r22296]

15 years agosimplified code, fixed comments
Michael Beck [Fri, 26 Sep 2008 15:05:13 +0000 (15:05 +0000)]
simplified code, fixed comments

[r22294]

15 years agoRemoved senseless assert.
Sebastian Buchwald [Fri, 26 Sep 2008 13:38:12 +0000 (13:38 +0000)]
Removed senseless assert.

[r22291]

15 years agoFix crash in debug output.
Christoph Mallon [Fri, 26 Sep 2008 11:02:20 +0000 (11:02 +0000)]
Fix crash in debug output.

[r22287]

15 years agoRespect stickyness, when calculating entity usage.
Christoph Mallon [Fri, 26 Sep 2008 10:48:27 +0000 (10:48 +0000)]
Respect stickyness, when calculating entity usage.

[r22285]

15 years agoUse be_put_ignore_regs() instead of duplicating its logic.
Christoph Mallon [Thu, 25 Sep 2008 15:05:32 +0000 (15:05 +0000)]
Use be_put_ignore_regs() instead of duplicating its logic.

[r22271]

15 years agoResolve warning.
Christoph Mallon [Thu, 25 Sep 2008 15:04:52 +0000 (15:04 +0000)]
Resolve warning.

[r22270]

15 years agoRemove unnecessary assure_dom_front().
Christoph Mallon [Thu, 25 Sep 2008 14:50:06 +0000 (14:50 +0000)]
Remove unnecessary assure_dom_front().

[r22269]

15 years agoKick beraextern.c.
Christoph Mallon [Thu, 25 Sep 2008 14:46:16 +0000 (14:46 +0000)]
Kick beraextern.c.

[r22268]

15 years agopanic() instead of assert(0).
Christoph Mallon [Thu, 25 Sep 2008 14:29:42 +0000 (14:29 +0000)]
panic() instead of assert(0).

[r22264]

15 years agoFixed compile error and moved cse en/disabling into pbqp transformer.
Sebastian Buchwald [Thu, 25 Sep 2008 14:04:06 +0000 (14:04 +0000)]
Fixed compile error and moved cse en/disabling into pbqp transformer.

[r22263]

15 years agoAdded getter for non address mode heuristic.
Sebastian Buchwald [Thu, 25 Sep 2008 13:33:41 +0000 (13:33 +0000)]
Added getter for non address mode heuristic.

[r22262]

15 years agoSet cse_opt to old value instead of enabling it.
Sebastian Buchwald [Thu, 25 Sep 2008 13:14:44 +0000 (13:14 +0000)]
Set cse_opt to old value instead of enabling it.

[r22260]

15 years agojust a few random mips fixes
Matthias Braun [Thu, 25 Sep 2008 11:19:38 +0000 (11:19 +0000)]
just a few random mips fixes

[r22256]

15 years agopush functions into a priority queue and inline in benefice order
Matthias Braun [Wed, 24 Sep 2008 14:38:41 +0000 (14:38 +0000)]
push functions into a priority queue and inline in benefice order

[r22242]

15 years agorename key to priority in pqueue
Matthias Braun [Wed, 24 Sep 2008 14:38:04 +0000 (14:38 +0000)]
rename key to priority in pqueue

[r22241]

15 years agocleanup pqueue a little bit
Matthias Braun [Wed, 24 Sep 2008 12:10:04 +0000 (12:10 +0000)]
cleanup pqueue a little bit

[r22235]

15 years agomore debuginfo
Matthias Braun [Wed, 24 Sep 2008 11:24:02 +0000 (11:24 +0000)]
more debuginfo

[r22234]

15 years agohack to make it possible to mark spill,reload and remat nodes
Matthias Braun [Wed, 24 Sep 2008 11:23:40 +0000 (11:23 +0000)]
hack to make it possible to mark spill,reload and remat nodes

[r22233]

15 years agoDo not forcefully rebuild outedges in compute_execfreq(), but handle this at the...
Christoph Mallon [Wed, 24 Sep 2008 09:28:01 +0000 (09:28 +0000)]
Do not forcefully rebuild outedges in compute_execfreq(), but handle this at the caller site if necessary.

[r22231]

15 years agofix error introduced by r22215
Matthias Braun [Wed, 24 Sep 2008 09:19:03 +0000 (09:19 +0000)]
fix error introduced by r22215

[r22230]

15 years agofix warning
Matthias Braun [Wed, 24 Sep 2008 08:27:27 +0000 (08:27 +0000)]
fix warning

[r22229]

15 years agoimproved? inlining heuristic
Matthias Braun [Wed, 24 Sep 2008 08:26:41 +0000 (08:26 +0000)]
improved? inlining heuristic

[r22228]

15 years agofix the assert(0)->panic commit
Matthias Braun [Wed, 24 Sep 2008 07:52:00 +0000 (07:52 +0000)]
fix the assert(0)->panic commit

[r22227]

15 years agoremoved outdated comment
Matthias Braun [Wed, 24 Sep 2008 07:00:52 +0000 (07:00 +0000)]
removed outdated comment

[r22226]

15 years ago- replace a lot of assert(0) by panic()
Michael Beck [Tue, 23 Sep 2008 23:30:44 +0000 (23:30 +0000)]
- replace a lot of assert(0) by panic()

[r22225]

15 years agopanic() instead of assert(0)ing.
Christoph Mallon [Tue, 23 Sep 2008 20:49:57 +0000 (20:49 +0000)]
panic() instead of assert(0)ing.

[r22221]

15 years ago- detected const methods with possible endless loops cannot float and must have a...
Michael Beck [Tue, 23 Sep 2008 19:39:22 +0000 (19:39 +0000)]
- detected const methods with possible endless loops cannot float and must have a memory ...

[r22219]

15 years ago- implemented mtp_property_weak
Michael Beck [Tue, 23 Sep 2008 18:09:52 +0000 (18:09 +0000)]
- implemented mtp_property_weak

[r22215]

15 years agomove declaration of inline functions around
Matthias Braun [Tue, 23 Sep 2008 14:52:59 +0000 (14:52 +0000)]
move declaration of inline functions around

[r22209]

15 years agoreenable floatin of const functions (don't care about obscure endless loop cases...
Matthias Braun [Tue, 23 Sep 2008 14:52:24 +0000 (14:52 +0000)]
reenable floatin of const functions (don't care about obscure endless loop cases for now)

[r22208]

15 years agoalways remove critical edges before doing code placement
Matthias Braun [Tue, 23 Sep 2008 14:51:59 +0000 (14:51 +0000)]
always remove critical edges before doing code placement

[r22207]

15 years agoFix comment.
Christoph Mallon [Tue, 23 Sep 2008 14:32:23 +0000 (14:32 +0000)]
Fix comment.

[r22205]

15 years agoFixed test case.
Sebastian Buchwald [Tue, 23 Sep 2008 14:08:26 +0000 (14:08 +0000)]
Fixed test case.

[r22203]

15 years agoAdded test case for pbqp construction: There seems to be missing skip patterns, so...
Sebastian Buchwald [Tue, 23 Sep 2008 12:58:03 +0000 (12:58 +0000)]
Added test case for pbqp construction: There seems to be missing skip patterns, so that the pbqp transformer produce unnecessary ia32 nodes.

[r22199]

15 years agorevert 22196
Matthias Braun [Tue, 23 Sep 2008 12:42:42 +0000 (12:42 +0000)]
revert 22196

[r22198]

15 years agofree_methods was a bad base for callgraph walks, use methods which have no callers...
Matthias Braun [Tue, 23 Sep 2008 12:32:08 +0000 (12:32 +0000)]
free_methods was a bad base for callgraph walks, use methods which have no callers (in the current compilation unit)

[r22197]

15 years agoallocate callee list on nodes obstack
Matthias Braun [Tue, 23 Sep 2008 12:31:28 +0000 (12:31 +0000)]
allocate callee list on nodes obstack

[r22196]

15 years agorevive and improve callgraph dumper
Matthias Braun [Tue, 23 Sep 2008 12:31:07 +0000 (12:31 +0000)]
revive and improve callgraph dumper

[r22195]

15 years agowork around callgraph/cgana problems
Matthias Braun [Tue, 23 Sep 2008 11:12:53 +0000 (11:12 +0000)]
work around callgraph/cgana problems

[r22189]

15 years agoAdded PBQP mapping with random costs.
Sebastian Buchwald [Mon, 22 Sep 2008 23:41:20 +0000 (23:41 +0000)]
Added PBQP mapping with random costs.

Of course this beats the default transformer on Queens due the magical seed of 42.

[r22185]

15 years agoSimplified test case.
Sebastian Buchwald [Mon, 22 Sep 2008 20:59:03 +0000 (20:59 +0000)]
Simplified test case.

[r22184]

15 years ago- fixed indentation
Michael Beck [Mon, 22 Sep 2008 20:00:49 +0000 (20:00 +0000)]
- fixed indentation

[r22183]

15 years agoShort example of graph, which needs RN reduction.
Sebastian Buchwald [Mon, 22 Sep 2008 19:54:16 +0000 (19:54 +0000)]
Short example of graph, which needs RN reduction.

[r22181]

15 years ago- all visited flags use the ir_visited_t type now
Michael Beck [Mon, 22 Sep 2008 19:53:49 +0000 (19:53 +0000)]
- all visited flags use the ir_visited_t type now

[r22180]

15 years ago- fixed comment
Michael Beck [Mon, 22 Sep 2008 19:19:01 +0000 (19:19 +0000)]
- fixed comment

[r22179]

15 years agotoposort callgraph when inlining
Matthias Braun [Mon, 22 Sep 2008 17:44:28 +0000 (17:44 +0000)]
toposort callgraph when inlining

[r22177]

15 years agofixed -r22133
Michael Beck [Mon, 22 Sep 2008 15:23:30 +0000 (15:23 +0000)]
fixed -r22133

[r22174]

15 years agoCorrectly caclulate the register use in the Op(x, x) case.
Christoph Mallon [Mon, 22 Sep 2008 09:40:52 +0000 (09:40 +0000)]
Correctly caclulate the register use in the Op(x, x) case.

[r22168]

15 years agoRemove long commented out assert(), which is not true anymore since most nodes have...
Christoph Mallon [Mon, 22 Sep 2008 09:07:54 +0000 (09:07 +0000)]
Remove long commented out assert(), which is not true anymore since most nodes have a flags output.

[r22167]

15 years agoSmall simplification.
Christoph Mallon [Mon, 22 Sep 2008 09:07:09 +0000 (09:07 +0000)]
Small simplification.

[r22166]

15 years agoia32_Leave does not need esp as input operand, it only overwrites it.
Christoph Mallon [Mon, 22 Sep 2008 08:22:30 +0000 (08:22 +0000)]
ia32_Leave does not need esp as input operand, it only overwrites it.

[r22164]

15 years agocorrecly increase frame alignment when adding types with larger alignment
Matthias Braun [Mon, 22 Sep 2008 08:19:48 +0000 (08:19 +0000)]
correcly increase frame alignment when adding types with larger alignment

[r22163]

15 years ago- Add code for the rare case of not yet optimized
Michael Beck [Mon, 22 Sep 2008 01:15:04 +0000 (01:15 +0000)]
- Add code for the rare case of not yet optimized
  switch (x) { default: ... }

[r22161]