libfirm
15 years agogeneralize support for segments
Matthias Braun [Thu, 31 Jul 2008 09:17:10 +0000 (09:17 +0000)]
generalize support for segments

[r20827]

15 years agofix/improve peephole
Matthias Braun [Wed, 30 Jul 2008 18:34:01 +0000 (18:34 +0000)]
fix/improve peephole

[r20820]

15 years agouse peephoole_exchange, IncSP->Push should use ia32_Unknown and not ProduceVal
Matthias Braun [Wed, 30 Jul 2008 18:32:14 +0000 (18:32 +0000)]
use peephoole_exchange, IncSP->Push should use ia32_Unknown and not ProduceVal

[r20819]

15 years agofehler119 is C99
Michael Beck [Wed, 30 Jul 2008 13:16:46 +0000 (13:16 +0000)]
fehler119 is C99

[r20806]

15 years agosimply deactivate edges instead of asserting it
Matthias Braun [Wed, 30 Jul 2008 12:51:51 +0000 (12:51 +0000)]
simply deactivate edges instead of asserting it

[r20803]

15 years ago- inline_method moves copied constants to start block yet
Michael Beck [Wed, 30 Jul 2008 11:58:40 +0000 (11:58 +0000)]
- inline_method moves copied constants to start block yet

[r20799]

15 years agoimproved fak.c
Matthias Braun [Wed, 30 Jul 2008 11:22:53 +0000 (11:22 +0000)]
improved fak.c

[r20798]

15 years agocosmetics
Matthias Braun [Wed, 30 Jul 2008 11:21:31 +0000 (11:21 +0000)]
cosmetics

[r20797]

15 years agodon't prefer 1 cpu architecture over another (and wonder why we don't construct inc...
Matthias Braun [Wed, 30 Jul 2008 11:20:21 +0000 (11:20 +0000)]
don't prefer 1 cpu architecture over another (and wonder why we don't construct inc/dec)

[r20796]

15 years agofix new fallthrough handling
Michael Beck [Wed, 30 Jul 2008 09:59:02 +0000 (09:59 +0000)]
fix new fallthrough handling

[r20793]

15 years agoSort the inputs of a Sync before it is being created to aid CSE.
Christoph Mallon [Wed, 30 Jul 2008 09:56:18 +0000 (09:56 +0000)]
Sort the inputs of a Sync before it is being created to aid CSE.

[r20792]

15 years agoReduce worst time complexity of mem parallelisation from O(2**n) to O(n**2).
Christoph Mallon [Wed, 30 Jul 2008 09:55:44 +0000 (09:55 +0000)]
Reduce worst time complexity of mem parallelisation from O(2**n) to O(n**2).

[r20791]

15 years agopanic() on internal error instead of assert(0)ing.
Christoph Mallon [Wed, 30 Jul 2008 09:52:08 +0000 (09:52 +0000)]
panic() on internal error instead of assert(0)ing.

[r20790]

15 years agoRemove handling for 32bit as smaller mode in emit_ia32_Conv_I2I(), because it is...
Christoph Mallon [Wed, 30 Jul 2008 09:51:20 +0000 (09:51 +0000)]
Remove handling for 32bit as smaller mode in emit_ia32_Conv_I2I(), because it is not sensible.

[r20789]

15 years agoReplace be_peephole_before_exchange()+sched_remove()+exchange()+be_peephole_new_node...
Christoph Mallon [Wed, 30 Jul 2008 09:43:58 +0000 (09:43 +0000)]
Replace be_peephole_before_exchange()+sched_remove()+exchange()+be_peephole_new_node() by the new function be_peephole_exchange().

[r20788]

15 years agoirprofile fix
Matthias Braun [Wed, 30 Jul 2008 09:23:39 +0000 (09:23 +0000)]
irprofile fix

[r20787]

15 years ago- refactor emitter next/prev block handling a bit
Matthias Braun [Wed, 30 Jul 2008 09:21:43 +0000 (09:21 +0000)]
- refactor emitter next/prev block handling a bit
- only emit ret $0 on athlon if block has a label (= there is at least 1 jump
  to the block)

[r20786]

15 years agoRemove last remaining SCHEDULE_PROJS.
Christoph Mallon [Wed, 30 Jul 2008 08:46:02 +0000 (08:46 +0000)]
Remove last remaining SCHEDULE_PROJS.

[r20785]

15 years agoFix fehler120: Do only skip int->int, not float->int, Convs before the shift amount.
Christoph Mallon [Wed, 30 Jul 2008 07:15:32 +0000 (07:15 +0000)]
Fix fehler120: Do only skip int->int, not float->int, Convs before the shift amount.

[r20782]

15 years agofixed the parameter
Michael Beck [Wed, 30 Jul 2008 01:12:52 +0000 (01:12 +0000)]
fixed the parameter

[r20781]

15 years ago- do not kill the start block when folding control flow
Michael Beck [Wed, 30 Jul 2008 00:59:31 +0000 (00:59 +0000)]
- do not kill the start block when folding control flow

[r20778]

15 years ago- opt_tail_recursion() must run before optimize_funccalls():
Michael Beck [Wed, 30 Jul 2008 00:58:43 +0000 (00:58 +0000)]
- opt_tail_recursion() must run before optimize_funccalls():
  Add this not-unimportant info to the doxygen docu
- typo fixed
- add a set_using_irn_link()/clear_using_irn_link() pair

[r20777]

15 years agothe famous Factorial example
Michael Beck [Wed, 30 Jul 2008 00:38:46 +0000 (00:38 +0000)]
the famous Factorial example

[r20776]

15 years ago- commented out the wrong line
Michael Beck [Wed, 30 Jul 2008 00:32:10 +0000 (00:32 +0000)]
- commented out the wrong line

[r20775]

15 years ago- add compute_Confirm(), compute_Bad() and compute_Unknown()
Michael Beck [Wed, 30 Jul 2008 00:28:05 +0000 (00:28 +0000)]
- add compute_Confirm(), compute_Bad() and compute_Unknown()
- fold the control flow by removing unreachable inputs using the analysis info

[r20774]

15 years agofehler120: Backend discards float->int Conv for shift amount.
Christoph Mallon [Tue, 29 Jul 2008 21:36:29 +0000 (21:36 +0000)]
fehler120: Backend discards float->int Conv for shift amount.

[r20772]

15 years agoAdd main().
Christoph Mallon [Tue, 29 Jul 2008 21:35:22 +0000 (21:35 +0000)]
Add main().

[r20771]

15 years ago- BugFix: of by one error
Michael Beck [Tue, 29 Jul 2008 19:55:51 +0000 (19:55 +0000)]
- BugFix: of by one error

[r20769]

15 years agofehler119: crash in edg fe for C99 sizeof.
Moritz Kroll [Tue, 29 Jul 2008 19:45:41 +0000 (19:45 +0000)]
fehler119: crash in edg fe for C99 sizeof.

[r20768]

15 years ago- using tarval_top as an alias for tarval_unreachable simplifies code
Michael Beck [Tue, 29 Jul 2008 19:27:17 +0000 (19:27 +0000)]
- using tarval_top as an alias for tarval_unreachable simplifies code
- work-around: when the inputs of Sub/Cmp are congruent BUT its type is already a constant, set the type to BOTTOM: I can not understand how it converges WITHOUT this fix

[r20767]

15 years agodon't do the store-float-conv optimisation with double->unsigned
Matthias Braun [Tue, 29 Jul 2008 15:05:31 +0000 (15:05 +0000)]
don't do the store-float-conv optimisation with double->unsigned

[r20766]

15 years agodon't do the store-float-conv optimisation with double->unsigned
Matthias Braun [Tue, 29 Jul 2008 15:05:24 +0000 (15:05 +0000)]
don't do the store-float-conv optimisation with double->unsigned

[r20765]

15 years agoAdd NaN condition to Sub AND Cmp
Michael Beck [Tue, 29 Jul 2008 14:37:39 +0000 (14:37 +0000)]
Add NaN condition to Sub AND Cmp

[r20763]

15 years agocombo error
Michael Beck [Tue, 29 Jul 2008 14:37:00 +0000 (14:37 +0000)]
combo error

[r20762]

15 years agoAdded simplified test case for conversion double2int.
Sebastian Buchwald [Tue, 29 Jul 2008 14:13:27 +0000 (14:13 +0000)]
Added simplified test case for conversion double2int.

[r20760]

15 years ago- BugFix: constants must be evaluated BEFORE congruence checks
Michael Beck [Tue, 29 Jul 2008 13:14:05 +0000 (13:14 +0000)]
- BugFix: constants must be evaluated BEFORE congruence checks

[r20758]

15 years agofixed new type_or_ent type handling
Michael Beck [Tue, 29 Jul 2008 11:55:18 +0000 (11:55 +0000)]
fixed new type_or_ent type handling

[r20756]

15 years ago- BugFix: fixed the "type is neither Top nor constant" condition causing U,R nodes...
Michael Beck [Tue, 29 Jul 2008 11:49:04 +0000 (11:49 +0000)]
- BugFix: fixed the "type is neither Top nor constant" condition causing U,R nodes node now put on the touched list
- add test for monotonic behavior
- fixed typo

[r20755]

15 years agomake testcase return 0 in main
Matthias Braun [Tue, 29 Jul 2008 10:25:46 +0000 (10:25 +0000)]
make testcase return 0 in main

[r20752]

15 years agofix/improve proj generation
Matthias Braun [Tue, 29 Jul 2008 09:30:49 +0000 (09:30 +0000)]
fix/improve proj generation

[r20751]

15 years agocleanups/fixes for ASM handling
Matthias Braun [Tue, 29 Jul 2008 09:10:20 +0000 (09:10 +0000)]
cleanups/fixes for ASM handling

[r20749]

15 years ago- BugFix: Proj nodes must compute TOP if they are in a unreachable Block
Michael Beck [Mon, 28 Jul 2008 14:37:49 +0000 (14:37 +0000)]
- BugFix: Proj nodes must compute TOP if they are in a unreachable Block

[r20739]

15 years agoadd an asm test with an inout parameter
Matthias Braun [Mon, 28 Jul 2008 12:41:20 +0000 (12:41 +0000)]
add an asm test with an inout parameter

[r20734]

15 years ago- improved doxygen comments about edges_activate() and the dep API
Michael Beck [Mon, 28 Jul 2008 11:48:39 +0000 (11:48 +0000)]
- improved doxygen comments about edges_activate() and the dep API

[r20732]

15 years ago- add an assert tat checks for backend phase when added dep edges
Michael Beck [Mon, 28 Jul 2008 11:43:21 +0000 (11:43 +0000)]
- add an assert tat checks for backend phase when added dep edges
- edges_activate()/edges_deactivate() handles DEP edges only in BACKEND phase

[r20731]

15 years agoAdding some test cases used for building the PBQP code selection
Andreas Zwinkau [Mon, 28 Jul 2008 11:01:55 +0000 (11:01 +0000)]
Adding some test cases used for building the PBQP code selection

[r20729]

15 years agoadded support for ASM nodes
Sebastian Buchwald [Mon, 28 Jul 2008 10:45:41 +0000 (10:45 +0000)]
added support for ASM nodes

[r20728]

15 years agoforgot to adjust mips backend for asm stuff
Matthias Braun [Mon, 28 Jul 2008 09:15:52 +0000 (09:15 +0000)]
forgot to adjust mips backend for asm stuff

[r20727]

15 years agopublic API for asm constraints
Matthias Braun [Mon, 28 Jul 2008 09:13:52 +0000 (09:13 +0000)]
public API for asm constraints

[r20726]

15 years ago- handle parsing of assembler constraints in backends. Provide functions for
Matthias Braun [Mon, 28 Jul 2008 09:13:28 +0000 (09:13 +0000)]
- handle parsing of assembler constraints in backends. Provide functions for
  frontend to determine what is input/output/memory operand
- prefix some globally visible ia32 functions with ia32_

[r20725]

15 years agoaccept directories or single tests as parameter
Matthias Braun [Mon, 28 Jul 2008 09:10:36 +0000 (09:10 +0000)]
accept directories or single tests as parameter

[r20724]

15 years agofix for latest makereport
Matthias Braun [Mon, 28 Jul 2008 09:10:16 +0000 (09:10 +0000)]
fix for latest makereport

[r20723]

15 years agoBugFix:
Michael Beck [Sat, 26 Jul 2008 22:52:36 +0000 (22:52 +0000)]
BugFix:
 - due to the way we implement compute_Phi)(, we must place all Phi's
   of a block on the cprop list if the block is placed
-  implemented local cprop list as double-linked list: this ensures the
   fifo character of this list (is it really needed? It might generate
   lesser rounds)

[r20714]

15 years ago- BugFix: must check the input of the user node y, not def node x
Michael Beck [Sat, 26 Jul 2008 21:47:51 +0000 (21:47 +0000)]
- BugFix: must check the input of the user node y, not def node x
- Opcode splits Sel nodes by its entity
- do not replace Bad nodes

[r20713]

15 years agofixed warnings
Michael Beck [Sat, 26 Jul 2008 20:08:58 +0000 (20:08 +0000)]
fixed warnings

[r20711]

15 years ago- BugFix: a node might fall 2 times, so we need a on_fallen flag
Michael Beck [Sat, 26 Jul 2008 11:19:13 +0000 (11:19 +0000)]
- BugFix: a node might fall 2 times, so we need a on_fallen flag
- BugFix: the "Opcode" of a Proj node must contains its projection number, else Projs with different numbers might be congruent ...

[r20709]

15 years ago- BugFix: Dep-Edges where calculated WRONG if the node on which another depends is...
Michael Beck [Sat, 26 Jul 2008 11:16:28 +0000 (11:16 +0000)]
- BugFix: Dep-Edges where calculated WRONG if the node on which another depends is dead ...
- removed useless if

[r20708]

15 years agotypo fixed
Michael Beck [Sat, 26 Jul 2008 11:14:04 +0000 (11:14 +0000)]
typo fixed

[r20707]

15 years agoinclude MS debug heap by default, so debug macros can be called from everywhere
Michael Beck [Sat, 26 Jul 2008 11:12:54 +0000 (11:12 +0000)]
include MS debug heap by default, so debug macros can be called from everywhere

[r20706]

15 years agoBugFixes:
Michael Beck [Sat, 26 Jul 2008 08:16:55 +0000 (08:16 +0000)]
BugFixes:
 - nodes must be initialized with Top not Bottom
 - right order for mode_X and mode_BB nodes
 - default_compute() assigns now U, R to mode_X nodes
 - cannot handle symconst_addr_name yet
 - compute_Phi() must check the predecessor block for U, because Firm constants live in the start block and are always != Top ...
 - removed the late on_* removement: its assumptions were wrong
 - set the node for newly created IR-nodes

Improvements:
 - ensure reachable End and EndBlock in apply_result()
 - can now replace ProjX(Cond) nodes by Jmp or Bad

Finally runs on Clicks example 3.1 :-)

[r20705]

15 years ago- BugFix: although tarval_b_false and tarval_b_true are reserved tarvals, they are...
Michael Beck [Sat, 26 Jul 2008 08:06:04 +0000 (08:06 +0000)]
- BugFix: although tarval_b_false and tarval_b_true are reserved tarvals, they are valid constants

[r20704]

15 years ago- first working combo version (at least one example :-), no identities yet
Michael Beck [Sat, 26 Jul 2008 05:36:46 +0000 (05:36 +0000)]
- first working combo version (at least one example :-), no identities yet

[r20703]

15 years ago- add tarval_is_constant() to check whether a tarval represents a constant or an...
Michael Beck [Sat, 26 Jul 2008 05:35:52 +0000 (05:35 +0000)]
- add tarval_is_constant() to check whether a tarval represents a constant or an reserved value
- add explicit mode_X tarval_unreachable and tarval_reachable tarvals needed for combo
- fixed a doxygen comment

[r20702]

15 years agohandle Unknown nodes
Sebastian Buchwald [Fri, 25 Jul 2008 14:49:08 +0000 (14:49 +0000)]
handle Unknown nodes

[r20695]

15 years agoadd sorting of out edges, some small fixes
Michael Beck [Fri, 25 Jul 2008 13:51:29 +0000 (13:51 +0000)]
add sorting of out edges, some small fixes

[r20693]

15 years ago- out edges now preserve the input position, needed for combo.c()
Michael Beck [Fri, 25 Jul 2008 13:08:19 +0000 (13:08 +0000)]
- out edges now preserve the input position, needed for combo.c()

[r20692]

15 years agoMoved assertion into if clause
Andreas Zwinkau [Fri, 25 Jul 2008 09:22:55 +0000 (09:22 +0000)]
Moved assertion into if clause

It is not necessary to assert anything about lsmode, if
it isn't used anyways.

[r20683]

15 years ago- fixed type_or_ent type: get rod of casts
Michael Beck [Fri, 25 Jul 2008 00:07:59 +0000 (00:07 +0000)]
- fixed type_or_ent type: get rod of casts

[r20678]

15 years ago- implemented compute_Proj_Cond(), compute_Add()
Michael Beck [Thu, 24 Jul 2008 14:22:25 +0000 (14:22 +0000)]
- implemented compute_Proj_Cond(), compute_Add()
- fixed initial state
- simplyfied def_compute()

[r20671]

15 years ago- add prototype for combo()
Michael Beck [Thu, 24 Jul 2008 12:41:11 +0000 (12:41 +0000)]
- add prototype for combo()
- fixed gvn-pre comment (not buggy anymore)

[r20665]

15 years ago- is_tarval() added
Michael Beck [Thu, 24 Jul 2008 12:27:11 +0000 (12:27 +0000)]
- is_tarval() added

[r20664]

15 years agofix some phis not getting spilled correctly
Matthias Braun [Thu, 24 Jul 2008 10:52:34 +0000 (10:52 +0000)]
fix some phis not getting spilled correctly

[r20656]

15 years agoBreak trigraph.
Christoph Mallon [Thu, 24 Jul 2008 10:28:22 +0000 (10:28 +0000)]
Break trigraph.

[r20653]

15 years agorevert accidental commit
Matthias Braun [Thu, 24 Jul 2008 10:21:28 +0000 (10:21 +0000)]
revert accidental commit

[r20650]

15 years agoexperimental improvements for cases where all preds are known
Matthias Braun [Thu, 24 Jul 2008 10:21:07 +0000 (10:21 +0000)]
experimental improvements for cases where all preds are known

[r20649]

15 years agoremove old files
Matthias Braun [Thu, 24 Jul 2008 07:39:05 +0000 (07:39 +0000)]
remove old files

[r20648]

15 years agobump version for next release
Matthias Braun [Thu, 24 Jul 2008 07:24:54 +0000 (07:24 +0000)]
bump version for next release

[r20647]

15 years ago- add comment
Michael Beck [Thu, 24 Jul 2008 07:01:23 +0000 (07:01 +0000)]
- add comment

[r20645]

15 years ago- renamed find_const() to find_const_or_confirm()
Michael Beck [Thu, 24 Jul 2008 07:00:50 +0000 (07:00 +0000)]
- renamed find_const() to find_const_or_confirm()
- some cosmetic: fix type, removed C++ comments

[r20644]

15 years ago- use is_Confirm() instead of old style compare
Michael Beck [Thu, 24 Jul 2008 06:50:49 +0000 (06:50 +0000)]
- use is_Confirm() instead of old style compare

[r20643]

15 years ago- CondEval now really can handle Confirms
Michael Beck [Thu, 24 Jul 2008 06:49:20 +0000 (06:49 +0000)]
- CondEval now really can handle Confirms

[r20642]

15 years ago- BugFix: the effective use block is the predecessor block of the Phi's block, not...
Michael Beck [Thu, 24 Jul 2008 06:06:28 +0000 (06:06 +0000)]
- BugFix: the effective use block is the predecessor block of the Phi's block, not the block of the Phi's argument
- typos fixed

[r20641]

15 years agoupdated
Michael Beck [Wed, 23 Jul 2008 18:20:09 +0000 (18:20 +0000)]
updated

[r20639]

15 years ago- fixed a stupid Bug: the marks are not cleared at the beginning,
Michael Beck [Wed, 23 Jul 2008 18:12:44 +0000 (18:12 +0000)]
- fixed a stupid Bug: the marks are not cleared at the beginning,
  so the set of free functions is not calculated right when called the second time
- fixed a typo in the name of a function :-)

[r20638]

15 years agobelady fixes/cleanups
Matthias Braun [Wed, 23 Jul 2008 17:58:28 +0000 (17:58 +0000)]
belady fixes/cleanups

[r20634]

15 years agoadd dumping hook
Michael Beck [Wed, 23 Jul 2008 16:18:33 +0000 (16:18 +0000)]
add dumping hook

[r20631]

15 years agodo NOT overwrite custom hash function
Michael Beck [Wed, 23 Jul 2008 15:10:26 +0000 (15:10 +0000)]
do NOT overwrite custom hash function

[r20630]

15 years ago- add support for opcode specific hash function
Michael Beck [Wed, 23 Jul 2008 15:04:03 +0000 (15:04 +0000)]
- add support for opcode specific hash function
- add hash function for ia32 Immediates
- unified comments for all specifications

[r20629]

15 years agoupdated
Michael Beck [Wed, 23 Jul 2008 14:34:34 +0000 (14:34 +0000)]
updated

[r20625]

15 years ago- removed old and unused dump_irn
Michael Beck [Wed, 23 Jul 2008 14:33:06 +0000 (14:33 +0000)]
- removed old and unused dump_irn
- add some doxygen comments
- add the hash irop operation

[r20624]

15 years agoplace spill entities at other end of frame
Matthias Braun [Wed, 23 Jul 2008 14:12:19 +0000 (14:12 +0000)]
place spill entities at other end of frame

[r20623]

15 years agoadded doxygen comment
Michael Beck [Tue, 22 Jul 2008 16:23:43 +0000 (16:23 +0000)]
added doxygen comment

[r20613]

15 years agoadd some dumping hints to irop flags
Matthias Braun [Tue, 22 Jul 2008 12:34:17 +0000 (12:34 +0000)]
add some dumping hints to irop flags

[r20599]

15 years agodon't break vcg compatibility
Matthias Braun [Tue, 22 Jul 2008 12:33:44 +0000 (12:33 +0000)]
don't break vcg compatibility

[r20598]

15 years agoadd some dumping hints to irop flags
Matthias Braun [Tue, 22 Jul 2008 12:32:58 +0000 (12:32 +0000)]
add some dumping hints to irop flags

[r20597]

15 years agoconst changes and enhancements to irouts
Matthias Braun [Tue, 22 Jul 2008 12:32:11 +0000 (12:32 +0000)]
const changes and enhancements to irouts

[r20596]

15 years agomakefile updates
Matthias Braun [Tue, 22 Jul 2008 12:31:04 +0000 (12:31 +0000)]
makefile updates

[r20595]

15 years ago- lattice elements can now contain Symbolic Constants
Michael Beck [Mon, 21 Jul 2008 15:02:43 +0000 (15:02 +0000)]
- lattice elements can now contain Symbolic Constants
- nodes must be initialized by bottom, not top
- fixed removement of nodes and partitions from cprop lists
- added partition type
- doxygen docu added

[r20580]

15 years agodeactivate/activate are also called for EDGE_KIND_DEP, fix edges_activate for depende...
Matthias Braun [Mon, 21 Jul 2008 14:27:25 +0000 (14:27 +0000)]
deactivate/activate are also called for EDGE_KIND_DEP, fix edges_activate for dependency edges

[r20579]

15 years agotypo
Sebastian Buchwald [Sun, 20 Jul 2008 16:52:38 +0000 (16:52 +0000)]
typo

[r20567]