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

15 years agoIndentation, braces.
Christoph Mallon [Thu, 11 Sep 2008 12:11:05 +0000 (12:11 +0000)]
Indentation, braces.

[r21846]

15 years agoTypo in comment.
Christoph Mallon [Thu, 11 Sep 2008 12:09:02 +0000 (12:09 +0000)]
Typo in comment.

[r21844]

15 years agoDo not mark functions with kept basic blocks (endless loops, dead ends) as "const...
Christoph Mallon [Thu, 11 Sep 2008 10:20:05 +0000 (10:20 +0000)]
Do not mark functions with kept basic blocks (endless loops, dead ends) as "const" or "pure".

[r21838]

15 years agoPrevent beuses from choking on basic blocks without control flow successors.
Christoph Mallon [Thu, 11 Sep 2008 10:18:22 +0000 (10:18 +0000)]
Prevent beuses from choking on basic blocks without control flow successors.

[r21837]

15 years agoAdding mini testcase for incmem
Andreas Zwinkau [Thu, 11 Sep 2008 09:27:44 +0000 (09:27 +0000)]
Adding mini testcase for incmem

[r21836]

15 years agoRemove unused variable.
Christoph Mallon [Thu, 11 Sep 2008 08:24:32 +0000 (08:24 +0000)]
Remove unused variable.

[r21833]

15 years agos/get_irn_op(x) {==,!=} op_FOO/{,!}is_FOO(x)/.
Christoph Mallon [Thu, 11 Sep 2008 08:21:51 +0000 (08:21 +0000)]
s/get_irn_op(x) {==,!=} op_FOO/{,!}is_FOO(x)/.

[r21832]

15 years agos/Block_not_block_visited(x)/!Block_block_visited(x)/.
Christoph Mallon [Thu, 11 Sep 2008 07:30:06 +0000 (07:30 +0000)]
s/Block_not_block_visited(x)/!Block_block_visited(x)/.

[r21831]

15 years agos/get_irn_op(x) == op_Block/is_Block(x)/.
Christoph Mallon [Thu, 11 Sep 2008 07:18:53 +0000 (07:18 +0000)]
s/get_irn_op(x) == op_Block/is_Block(x)/.

[r21830]

15 years agoTypo in comment.
Christoph Mallon [Thu, 11 Sep 2008 06:22:30 +0000 (06:22 +0000)]
Typo in comment.

[r21828]

15 years agoremove assert in keepalive()
Michael Beck [Wed, 10 Sep 2008 16:21:07 +0000 (16:21 +0000)]
remove assert in keepalive()

[r21824]

15 years agofix testcases, yet another endless loop test
Matthias Braun [Wed, 10 Sep 2008 15:06:03 +0000 (15:06 +0000)]
fix testcases, yet another endless loop test

[r21823]

15 years agomore tricky endless loop stuff
Matthias Braun [Wed, 10 Sep 2008 15:00:22 +0000 (15:00 +0000)]
more tricky endless loop stuff

[r21822]

15 years ago- Changed keep logic: all nodes can be keeped yet, thi is necessary to fix fehler152
Michael Beck [Wed, 10 Sep 2008 14:06:24 +0000 (14:06 +0000)]
- Changed keep logic: all nodes can be keeped yet, thi is necessary to fix fehler152

[r21820]

15 years agoanother strange endless loop failure
Michael Beck [Wed, 10 Sep 2008 11:05:37 +0000 (11:05 +0000)]
another strange endless loop failure

[r21814]

15 years agowrong endless loop handling
Michael Beck [Wed, 10 Sep 2008 10:58:08 +0000 (10:58 +0000)]
wrong endless loop handling

[r21813]

15 years agoUse Block-specific functions instead of generic get_irn_*().
Christoph Mallon [Wed, 10 Sep 2008 09:04:45 +0000 (09:04 +0000)]
Use Block-specific functions instead of generic get_irn_*().

[r21812]

15 years agoFix typo in comment.
Christoph Mallon [Wed, 10 Sep 2008 05:53:39 +0000 (05:53 +0000)]
Fix typo in comment.

[r21811]

15 years agofixed warning
Michael Beck [Wed, 10 Sep 2008 01:31:56 +0000 (01:31 +0000)]
fixed warning

[r21810]

15 years ago- use unsigned instead of int where appropriate
Michael Beck [Wed, 10 Sep 2008 01:23:54 +0000 (01:23 +0000)]
- use unsigned instead of int where appropriate
- use int instead of double for affinity edge weight

[r21809]

15 years agosimplified more
Michael Beck [Wed, 10 Sep 2008 01:09:23 +0000 (01:09 +0000)]
simplified more

[r21808]

15 years agotypo fixed
Michael Beck [Wed, 10 Sep 2008 01:08:07 +0000 (01:08 +0000)]
typo fixed

[r21807]

15 years ago- fixed comment: bs cannot be NULL anymore (and was never NULL previously)
Michael Beck [Wed, 10 Sep 2008 01:03:04 +0000 (01:03 +0000)]
- fixed comment: bs cannot be NULL anymore (and was never NULL previously)

[r21806]

15 years agoarch_register_class_put() is only used locally
Michael Beck [Wed, 10 Sep 2008 01:01:21 +0000 (01:01 +0000)]
arch_register_class_put() is only used locally

[r21805]

15 years ago- if 0'ed unused function
Michael Beck [Wed, 10 Sep 2008 00:54:33 +0000 (00:54 +0000)]
- if 0'ed unused function

[r21804]

15 years agouse panic instead of assert(0 & "...")
Michael Beck [Wed, 10 Sep 2008 00:44:04 +0000 (00:44 +0000)]
use panic instead of assert(0 & "...")

[r21803]

15 years ago- fixed typo, indentation
Michael Beck [Wed, 10 Sep 2008 00:09:45 +0000 (00:09 +0000)]
- fixed typo, indentation

[r21802]

15 years ago- made the be_stack_layout part of be_abi_irg_t to reduce indirection
Michael Beck [Wed, 10 Sep 2008 00:00:22 +0000 (00:00 +0000)]
- made the be_stack_layout part of be_abi_irg_t to reduce indirection
- if(..) -> if (...)
- removed unused dont_save set
- moved initializations of variables to first usage reducing life time

[r21801]

15 years agofix
Matthias Braun [Tue, 9 Sep 2008 15:01:16 +0000 (15:01 +0000)]
fix

[r21788]

15 years agomatch immediate for SubSP and AddSP
Matthias Braun [Tue, 9 Sep 2008 14:56:56 +0000 (14:56 +0000)]
match immediate for SubSP and AddSP

[r21787]

15 years agotest without alignment
Matthias Braun [Tue, 9 Sep 2008 14:51:49 +0000 (14:51 +0000)]
test without alignment

[r21786]