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

15 years ago- fixed indentation
Michael Beck [Sun, 21 Sep 2008 22:51:07 +0000 (22:51 +0000)]
- fixed indentation

[r22160]

15 years ago- BugFix: fixed -r22093
Michael Beck [Sun, 21 Sep 2008 22:49:30 +0000 (22:49 +0000)]
- BugFix: fixed -r22093
- add additional debug output

[r22159]

15 years agouse mallonscheduler(aka listsched-select=normal) as default
Matthias Braun [Sun, 21 Sep 2008 22:47:29 +0000 (22:47 +0000)]
use mallonscheduler(aka listsched-select=normal) as default

[r22156]

15 years agotesting upper_bits in constants is easy too
Matthias Braun [Sun, 21 Sep 2008 22:39:52 +0000 (22:39 +0000)]
testing upper_bits in constants is easy too

[r22155]

15 years agofix old bug in irmemory: external_allocated stuff is also using_unknown
Matthias Braun [Sun, 21 Sep 2008 22:04:11 +0000 (22:04 +0000)]
fix old bug in irmemory: external_allocated stuff is also using_unknown

[r22154]

15 years agofix
Matthias Braun [Sun, 21 Sep 2008 21:30:08 +0000 (21:30 +0000)]
fix

[r22153]

15 years agofix
Matthias Braun [Sun, 21 Sep 2008 21:09:15 +0000 (21:09 +0000)]
fix

[r22152]

15 years agocrafty problem
Matthias Braun [Sun, 21 Sep 2008 21:05:51 +0000 (21:05 +0000)]
crafty problem

[r22151]

15 years agokill stores to never read entities
Matthias Braun [Sun, 21 Sep 2008 20:51:45 +0000 (20:51 +0000)]
kill stores to never read entities

[r22150]

15 years agorevert accidental commit of makereport
Matthias Braun [Sun, 21 Sep 2008 20:42:32 +0000 (20:42 +0000)]
revert accidental commit of makereport

[r22149]

15 years agodemonstrate killing of unnecessary stores
Matthias Braun [Sun, 21 Sep 2008 20:40:47 +0000 (20:40 +0000)]
demonstrate killing of unnecessary stores

[r22148]

15 years agoExtend the address_taken concept: We now have an ir_entity_usage bitfield, which...
Matthias Braun [Sun, 21 Sep 2008 18:07:23 +0000 (18:07 +0000)]
Extend the address_taken concept: We now have an ir_entity_usage bitfield, which states wether the
entity has it's address_taken, was written, read or only parts of it read/written.

[r22147]

15 years agofix for const commit
Matthias Braun [Sun, 21 Sep 2008 17:46:11 +0000 (17:46 +0000)]
fix for const commit

[r22146]

15 years agointroduce a IR_SEGMENT_FIRST
Matthias Braun [Sun, 21 Sep 2008 17:42:05 +0000 (17:42 +0000)]
introduce a IR_SEGMENT_FIRST

[r22145]

15 years agomore consts
Matthias Braun [Sun, 21 Sep 2008 17:41:33 +0000 (17:41 +0000)]
more consts

[r22144]

15 years agofix typo in get_segment_type
Matthias Braun [Sun, 21 Sep 2008 17:40:55 +0000 (17:40 +0000)]
fix typo in get_segment_type

[r22143]

15 years agoexample where type based alias analysis helps
Matthias Braun [Sun, 21 Sep 2008 10:49:11 +0000 (10:49 +0000)]
example where type based alias analysis helps

[r22141]

15 years agotransform optimization: leave out some convs and use 32bit compare ops, if the upper...
Matthias Braun [Sun, 21 Sep 2008 10:44:31 +0000 (10:44 +0000)]
transform optimization: leave out some convs and use 32bit compare ops, if the upper bits are guaranteed to be clear

[r22140]

15 years agofix some problems with PIC symbols
Matthias Braun [Sun, 21 Sep 2008 10:41:46 +0000 (10:41 +0000)]
fix some problems with PIC symbols

[r22139]

15 years agoAdded assertion to assure that we don't run into an endless loop.
Sebastian Buchwald [Sat, 20 Sep 2008 12:17:22 +0000 (12:17 +0000)]
Added assertion to assure that we don't run into an endless loop.

[r22137]

15 years agoBugfix: restructured so memory disambiguator can switched off
Michael Beck [Sat, 20 Sep 2008 12:01:32 +0000 (12:01 +0000)]
Bugfix: restructured so memory disambiguator can switched off

[r22136]

15 years ago- fixed typos and some comments
Michael Beck [Sat, 20 Sep 2008 05:32:02 +0000 (05:32 +0000)]
- fixed typos and some comments

[r22135]

15 years agoImproved memory disambiguator:
Michael Beck [Sat, 20 Sep 2008 05:18:07 +0000 (05:18 +0000)]
Improved memory disambiguator:
 - undo r22133
 - BugFix: follow always the reference mode side
 - BugFix: NEVER return may_alias in the middle of the disambiguator
 - if two modes have different arithmetic mode, the pointers to are different

[r22134]