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

15 years agoattempt to fix broken type based alias analysis
Matthias Braun [Sat, 20 Sep 2008 00:18:49 +0000 (00:18 +0000)]
attempt to fix broken type based alias analysis

[r22133]

15 years agofix optimize build
Matthias Braun [Fri, 19 Sep 2008 18:54:33 +0000 (18:54 +0000)]
fix optimize build

[r22130]

15 years agofix optimize build
Matthias Braun [Fri, 19 Sep 2008 18:53:23 +0000 (18:53 +0000)]
fix optimize build

[r22129]

15 years agoFixed r22124:
Michael Beck [Fri, 19 Sep 2008 17:05:32 +0000 (17:05 +0000)]
Fixed r22124:
 - fixed load \in store condition
 - bit shift only alloed for two-complement
 - combined get_base_ptr() and get_base_offset() into one
 - add checks for following the pointer side
 - handle Sel and Sub cases
 - removed useless stdbool.h include

[r22128]

15 years agoalways emit push/pop in statev
Matthias Braun [Fri, 19 Sep 2008 14:20:03 +0000 (14:20 +0000)]
always emit push/pop in statev

[r22126]

15 years agoexperimental load-store improvement
Matthias Braun [Fri, 19 Sep 2008 11:40:22 +0000 (11:40 +0000)]
experimental load-store improvement

[r22124]

15 years agoadd example for constant load replacementx
Michael Beck [Fri, 19 Sep 2008 00:52:27 +0000 (00:52 +0000)]
add example for constant load replacementx

[r22110]

15 years ago- BugFix: transform_polymorph_Load() returns the original load, not NULL
Michael Beck [Fri, 19 Sep 2008 00:49:58 +0000 (00:49 +0000)]
- BugFix: transform_polymorph_Load() returns the original load, not NULL
- removed useless code

[r22109]

15 years ago- fixed equal_path()
Michael Beck [Fri, 19 Sep 2008 00:48:53 +0000 (00:48 +0000)]
- fixed equal_path()
- removed #if 0 code

[r22108]

15 years agofixed indentation
Michael Beck [Thu, 18 Sep 2008 23:21:43 +0000 (23:21 +0000)]
fixed indentation

[r22107]

15 years agoadd missing svn:keywords properties
Michael Beck [Thu, 18 Sep 2008 23:04:59 +0000 (23:04 +0000)]
add missing svn:keywords properties

[r22106]

15 years ago- add missing prototype
Michael Beck [Thu, 18 Sep 2008 23:01:39 +0000 (23:01 +0000)]
- add missing prototype

[r22105]

15 years agoMore refactoring:
Michael Beck [Thu, 18 Sep 2008 22:58:10 +0000 (22:58 +0000)]
More refactoring:
 - replaced old non-safe code
 - handle polymorph optimization and const_load code equally
 - renamed transform_node_Load() into more logical
   transform_polymorph_Load()

[r22104]

15 years ago- factor out and simplify some code
Michael Beck [Thu, 18 Sep 2008 22:32:28 +0000 (22:32 +0000)]
- factor out and simplify some code

[r22103]

15 years ago- simplify the code, check atomic entities for reinterpret casts
Michael Beck [Thu, 18 Sep 2008 22:25:26 +0000 (22:25 +0000)]
- simplify the code, check atomic entities for reinterpret casts

[r22100]

15 years ago- can handle some hidden reinterpret casts when doing const load replacement
Michael Beck [Thu, 18 Sep 2008 22:16:47 +0000 (22:16 +0000)]
- can handle some hidden reinterpret casts when doing const load replacement

[r22099]

15 years ago- removed redundant checks
Michael Beck [Thu, 18 Sep 2008 20:12:37 +0000 (20:12 +0000)]
- removed redundant checks

[r22094]

15 years ago- improved rec_find_compound_ent_value(): handle missing [0] access
Michael Beck [Thu, 18 Sep 2008 20:08:47 +0000 (20:08 +0000)]
- improved rec_find_compound_ent_value(): handle missing [0] access
- improved rec_get_accessed_path(): checks bounds before building the compound graph path

[r22093]

15 years agoimplemented constant load access for pointer arithmetic for new initializers
Michael Beck [Thu, 18 Sep 2008 16:32:15 +0000 (16:32 +0000)]
implemented constant load access for pointer arithmetic for new initializers

[r22090]

15 years agoimplemented constant load access for pointer arithmetic (old initializers only)
Michael Beck [Thu, 18 Sep 2008 15:07:09 +0000 (15:07 +0000)]
implemented constant load access for pointer arithmetic (old initializers only)

[r22088]

15 years ago- add get_compound_graph_path_type()
Michael Beck [Thu, 18 Sep 2008 14:36:03 +0000 (14:36 +0000)]
- add get_compound_graph_path_type()
- add some doxygen comments

[r22086]

15 years agoC99 feature removed
Michael Beck [Thu, 18 Sep 2008 13:58:43 +0000 (13:58 +0000)]
C99 feature removed

[r22082]

15 years agoimprove debug output, increase depth limit to 7
Matthias Braun [Thu, 18 Sep 2008 13:30:27 +0000 (13:30 +0000)]
improve debug output, increase depth limit to 7

[r22081]

15 years agoadd a bunch of commandline options for easier benchmarking of different belady optimi...
Matthias Braun [Thu, 18 Sep 2008 13:30:00 +0000 (13:30 +0000)]
add a bunch of commandline options for easier benchmarking of different belady optimisations

[r22080]

15 years agoShift with const 4.
Sebastian Buchwald [Wed, 17 Sep 2008 12:36:11 +0000 (12:36 +0000)]
Shift with const 4.

[r22034]

15 years agoremoved unused var
Michael Beck [Tue, 16 Sep 2008 18:55:32 +0000 (18:55 +0000)]
removed unused var

[r22021]

15 years ago- fixed tarval_add() and tarval_sub() support for arithmetic with reference modes
Michael Beck [Tue, 16 Sep 2008 18:25:39 +0000 (18:25 +0000)]
- fixed tarval_add() and tarval_sub() support for arithmetic with reference modes

[r22019]

15 years agoFix possible loop in DAG while building start Barrier.
Christoph Mallon [Tue, 16 Sep 2008 10:37:24 +0000 (10:37 +0000)]
Fix possible loop in DAG while building start Barrier.

[r22000]

15 years agoFix comments.
Christoph Mallon [Tue, 16 Sep 2008 10:34:41 +0000 (10:34 +0000)]
Fix comments.

[r21999]

15 years ago- preliminary support for loads from constant entities using new style initializers
Michael Beck [Mon, 15 Sep 2008 13:24:16 +0000 (13:24 +0000)]
- preliminary support for loads from constant entities using new style initializers

[r21970]

15 years agoadd some doxygen comments
Michael Beck [Mon, 15 Sep 2008 13:21:26 +0000 (13:21 +0000)]
add some doxygen comments

[r21969]

15 years ago- C99 features removed
Michael Beck [Fri, 12 Sep 2008 21:35:33 +0000 (21:35 +0000)]
- C99 features removed

[r21913]

15 years agoadjustements
Matthias Braun [Fri, 12 Sep 2008 11:13:23 +0000 (11:13 +0000)]
adjustements

[r21893]

15 years ago- BugFix: fc_get_plusinf()/fc_get_minusinf() must set INF class
Michael Beck [Fri, 12 Sep 2008 00:41:03 +0000 (00:41 +0000)]
- BugFix: fc_get_plusinf()/fc_get_minusinf() must set INF class
- BugFix: fixed printing of Inf values

[r21869]

15 years agoImproved handling of fc_exact: NaN and Inf results are NOT exact
Michael Beck [Fri, 12 Sep 2008 00:33:22 +0000 (00:33 +0000)]
Improved handling of fc_exact: NaN and Inf results are NOT exact

[r21868]

15 years agoreverted r21775: too restrictive because ieee 754 uses binary representation for...
Michael Beck [Fri, 12 Sep 2008 00:14:14 +0000 (00:14 +0000)]
reverted r21775: too restrictive because ieee 754 uses binary representation for the mantissa

[r21867]

15 years ago- reset the default stack alignment to 2^2
Michael Beck [Thu, 11 Sep 2008 23:20:54 +0000 (23:20 +0000)]
- reset the default stack alignment to 2^2

[r21864]

15 years ago- fix for r21852: do not remove ALL Conv optimizations,
Michael Beck [Thu, 11 Sep 2008 23:06:30 +0000 (23:06 +0000)]
- fix for r21852: do not remove ALL Conv optimizations,
  yust those that causing a problem (Conv to mode_b leading to Phib)

[r21863]

15 years agoFix return value.
Christoph Mallon [Thu, 11 Sep 2008 13:42:59 +0000 (13:42 +0000)]
Fix return value.

[r21853]

15 years agoRemoving conv-on-Phi local opt
Andreas Zwinkau [Thu, 11 Sep 2008 13:00:56 +0000 (13:00 +0000)]
Removing conv-on-Phi local opt

It leads to remaining Phib nodes later, because
the conv_b_lower operation is instantly reverted, when
it tries to insert a Convb.

[r21852]

15 years agoResolve race condition: First set handler, then call alarm().
Christoph Mallon [Thu, 11 Sep 2008 12:38:18 +0000 (12:38 +0000)]
Resolve race condition: First set handler, then call alarm().

[r21851]

15 years agoIn be_get_Proj_for_pn() before getting the proj number make sure that the node really...
Christoph Mallon [Thu, 11 Sep 2008 12:13:58 +0000 (12:13 +0000)]
In be_get_Proj_for_pn() before getting the proj number make sure that the node really is a Proj (could be End due to keep alive).

[r21847]