libfirm
16 years ago- fixed stabs output
Michael Beck [Wed, 25 Jun 2008 01:28:53 +0000 (01:28 +0000)]
- fixed stabs output

[r20249]

16 years agofixed some bugs in the pop generation, still not all
Michael Beck [Wed, 25 Jun 2008 00:05:02 +0000 (00:05 +0000)]
fixed some bugs in the pop generation, still not all

[r20248]

16 years agoadd test for return padding
Michael Beck [Tue, 24 Jun 2008 23:16:42 +0000 (23:16 +0000)]
add test for return padding

[r20247]

16 years agoAdd ARM TstBra and use it for comparison with 0.
Christoph Mallon [Tue, 24 Jun 2008 18:08:48 +0000 (18:08 +0000)]
Add ARM TstBra and use it for comparison with 0.

[r20246]

16 years agoGammelfix: Add a be_Copy in the ARM prologue for the frame pointer to set the ignore...
Christoph Mallon [Tue, 24 Jun 2008 17:39:44 +0000 (17:39 +0000)]
Gammelfix: Add a be_Copy in the ARM prologue for the frame pointer to set the ignore flag.

[r20245]

16 years agoFix printing shift amount for ARM mov.
Christoph Mallon [Tue, 24 Jun 2008 17:38:43 +0000 (17:38 +0000)]
Fix printing shift amount for ARM mov.

[r20244]

16 years agoAdd 0x prefix for printing ARM IncSP amount in hex.
Christoph Mallon [Tue, 24 Jun 2008 17:37:21 +0000 (17:37 +0000)]
Add 0x prefix for printing ARM IncSP amount in hex.

[r20243]

16 years ago- added peephole optimization: transform Load->IncSP combinations to Pop where possible
Michael Beck [Tue, 24 Jun 2008 16:35:55 +0000 (16:35 +0000)]
- added peephole optimization: transform Load->IncSP combinations to Pop where possible

[r20241]

16 years agobetter usage
Michael Beck [Tue, 24 Jun 2008 13:46:08 +0000 (13:46 +0000)]
better usage

[r20236]

16 years agoFix parsing of debug commands.
Christoph Mallon [Mon, 23 Jun 2008 17:08:41 +0000 (17:08 +0000)]
Fix parsing of debug commands.

[r20226]

16 years agoanchor nodes are not real liveness users
Matthias Braun [Mon, 23 Jun 2008 15:28:03 +0000 (15:28 +0000)]
anchor nodes are not real liveness users

[r20224]

16 years agoconvert rotl x, const into rotr x,32-const
Michael Beck [Mon, 23 Jun 2008 14:49:38 +0000 (14:49 +0000)]
convert rotl x, const into rotr x,32-const

[r20223]

16 years agoImproved version of gen_Rotl()
Michael Beck [Mon, 23 Jun 2008 14:29:13 +0000 (14:29 +0000)]
Improved version of gen_Rotl()

[r20221]

16 years ago- add support for Rotl
Michael Beck [Mon, 23 Jun 2008 13:34:36 +0000 (13:34 +0000)]
- add support for Rotl
- fixed RRX comment
- fixed constraints for ARM shift operations

[r20220]

16 years agoBugFix: always emit the block label for labelled blocks (this fixes extgoto.c)
Michael Beck [Mon, 23 Jun 2008 12:53:54 +0000 (12:53 +0000)]
BugFix: always emit the block label for labelled blocks (this fixes extgoto.c)

[r20216]

16 years agoBugFix: cannot change the pin state of already pinned nodes
Michael Beck [Mon, 23 Jun 2008 12:46:39 +0000 (12:46 +0000)]
BugFix: cannot change the pin state of already pinned nodes

[r20215]

16 years ago- make is_arg_Proj() global
Michael Beck [Fri, 20 Jun 2008 13:51:29 +0000 (13:51 +0000)]
- make is_arg_Proj() global

[r20195]

16 years agodump the modify_flags flag, too
Andreas Zwinkau [Fri, 20 Jun 2008 12:28:27 +0000 (12:28 +0000)]
dump the modify_flags flag, too

[r20188]

16 years ago- reduce complexity of remove_End_keepalive()
Michael Beck [Thu, 19 Jun 2008 12:16:38 +0000 (12:16 +0000)]
- reduce complexity of remove_End_keepalive()
- add a comment that set_End_keepalives() may have high complexity costs in Backend

[r20174]

16 years agofixed indentation
Michael Beck [Thu, 19 Jun 2008 11:49:37 +0000 (11:49 +0000)]
fixed indentation

[r20173]

16 years ago- BugFix: whech checking Blocks, is_Block_dead() must been used.
Michael Beck [Thu, 19 Jun 2008 10:47:04 +0000 (10:47 +0000)]
- BugFix: whech checking Blocks, is_Block_dead() must been used.
  This should fix SPEC vpr
- set the changed flag if we skip a tuple

[r20172]

16 years ago- be_peephole_IncSP_IncSP() must return the new node
Michael Beck [Thu, 19 Jun 2008 03:55:54 +0000 (03:55 +0000)]
- be_peephole_IncSP_IncSP() must return the new node

[r20167]

16 years agodisable CSE in PBQP-transform phase, this is necessary since we create raw nodes...
Sebastian Buchwald [Wed, 18 Jun 2008 21:36:47 +0000 (21:36 +0000)]
disable CSE in PBQP-transform phase, this is necessary since we create raw nodes (step one) before setting the right attributes (step two) and CSE between the steps are deadly

[r20165]

16 years ago- BugFix: add missing reroute
Michael Beck [Wed, 18 Jun 2008 20:54:10 +0000 (20:54 +0000)]
- BugFix: add missing reroute

[r20162]

16 years ago- BugFix: when peephole combines two IncSP nodes, let the first one survive, not...
Michael Beck [Wed, 18 Jun 2008 20:39:12 +0000 (20:39 +0000)]
- BugFix: when peephole combines two IncSP nodes, let the first one survive, not the second one

[r20161]

16 years ago- fixed architecture flags
Michael Beck [Wed, 18 Jun 2008 19:19:11 +0000 (19:19 +0000)]
- fixed architecture flags

[r20160]

16 years agoAvoid endless iteration when normalising returns.
Christoph Mallon [Wed, 18 Jun 2008 16:32:10 +0000 (16:32 +0000)]
Avoid endless iteration when normalising returns.

[r20155]

16 years ago- make normalize_n_returns() more aggressive: remove critical edges if needed
Michael Beck [Wed, 18 Jun 2008 16:22:53 +0000 (16:22 +0000)]
- make normalize_n_returns() more aggressive: remove critical edges if needed

[r20154]

16 years agoBugFix: must initialize Blocks with removable
Michael Beck [Wed, 18 Jun 2008 15:00:42 +0000 (15:00 +0000)]
BugFix: must initialize Blocks with removable

[r20153]

16 years agoHopefully better version of control flow optimization:
Michael Beck [Wed, 18 Jun 2008 12:32:57 +0000 (12:32 +0000)]
Hopefully better version of control flow optimization:
 - use the mark flag instead of the block visited flag: makes code better
   understandable and needs less iterations
 - combine deletion of unreable code AND useless Conds saving one block walk
 - iteration only used for SwitchConds yet
 - unreachable code is always removed yet (Backend cannot cope with it either)

[r20150]

16 years ago- removed old if 0'ed code
Michael Beck [Wed, 18 Jun 2008 10:07:59 +0000 (10:07 +0000)]
- removed old if 0'ed code
- add some doxygen comments

[r20144]

16 years ago- renamed function to clarify its intention
Michael Beck [Tue, 17 Jun 2008 13:34:14 +0000 (13:34 +0000)]
- renamed function to clarify its intention

[r20136]

16 years ago- useless variable removed
Michael Beck [Tue, 17 Jun 2008 13:33:30 +0000 (13:33 +0000)]
- useless variable removed

[r20134]

16 years ago- Bugfix: peephole_IncSP_Store_to_push(): collect the storeslots in the right order...
Michael Beck [Tue, 17 Jun 2008 13:29:24 +0000 (13:29 +0000)]
- Bugfix: peephole_IncSP_Store_to_push(): collect the storeslots in the right order using the right offset ...

[r20133]

16 years agoinvalidate loop-info if blocks were removed
Michael Beck [Mon, 16 Jun 2008 18:22:39 +0000 (18:22 +0000)]
invalidate loop-info if blocks were removed

[r20121]

16 years agofixed some warnings
Michael Beck [Fri, 13 Jun 2008 10:14:35 +0000 (10:14 +0000)]
fixed some warnings

[r20084]

16 years agodisable the standard transform, if pbqp_transform is used
Andreas Zwinkau [Thu, 12 Jun 2008 13:40:54 +0000 (13:40 +0000)]
disable the standard transform, if pbqp_transform is used

[r20079]

16 years agoworkaround for dead CF: restart the optimization
Michael Beck [Thu, 12 Jun 2008 11:18:29 +0000 (11:18 +0000)]
workaround for dead CF: restart the optimization

[r20076]

16 years ago- add doxygen comment
Michael Beck [Thu, 12 Jun 2008 01:39:41 +0000 (01:39 +0000)]
- add doxygen comment

[r20073]

16 years ago- unfinished work to support exception label lookup
Michael Beck [Thu, 12 Jun 2008 01:38:48 +0000 (01:38 +0000)]
- unfinished work to support exception label lookup

[r20072]

16 years agoBugFix: schedule the Stc instruction
Michael Beck [Thu, 12 Jun 2008 00:34:57 +0000 (00:34 +0000)]
BugFix: schedule the Stc instruction

[r20071]

16 years ago- removed critical exception edges, so perm code can be placed at landing pads
Michael Beck [Thu, 12 Jun 2008 00:19:42 +0000 (00:19 +0000)]
- removed critical exception edges, so perm code can be placed at landing pads

[r20070]

16 years ago- BugFix: fixed ia32_transform_sub_to_neg_add() with used flags case
Michael Beck [Thu, 12 Jun 2008 00:12:14 +0000 (00:12 +0000)]
- BugFix: fixed ia32_transform_sub_to_neg_add() with used flags case

[r20069]

16 years ago- add support for Bound
Michael Beck [Wed, 11 Jun 2008 23:56:29 +0000 (23:56 +0000)]
- add support for Bound
- improve gen_Proj()
- simplified gen_IJmp()
- some docu added

[r20068]

16 years ago- relax partBlock check in phase_backend
Michael Beck [Wed, 11 Jun 2008 23:54:59 +0000 (23:54 +0000)]
- relax partBlock check in phase_backend

[r20067]

16 years ago- BugFix: get_pnc_string() can only handle default pn_Cmp_* numbers
Michael Beck [Wed, 11 Jun 2008 23:52:42 +0000 (23:52 +0000)]
- BugFix: get_pnc_string() can only handle default pn_Cmp_* numbers

[r20066]

16 years ago- add a version of remove_critical_edges() that handles exception
Michael Beck [Wed, 11 Jun 2008 23:50:31 +0000 (23:50 +0000)]
- add a version of remove_critical_edges() that handles exception
edges

[r20065]

16 years ago- do not use C++ keyword class as variable name
Michael Beck [Wed, 11 Jun 2008 21:26:48 +0000 (21:26 +0000)]
- do not use C++ keyword class as variable name

[r20063]

16 years ago- do not use C++ keyword class as variable name
Michael Beck [Wed, 11 Jun 2008 21:25:10 +0000 (21:25 +0000)]
- do not use C++ keyword class as variable name

[r20062]

16 years agoadded non-const getter for ia32_immediate
Sebastian Buchwald [Wed, 11 Jun 2008 17:36:00 +0000 (17:36 +0000)]
added non-const getter for ia32_immediate

[r20061]

16 years ago- BugFix: fixed the part-block list splicing, inlining works now again for Java
Michael Beck [Mon, 9 Jun 2008 10:58:40 +0000 (10:58 +0000)]
- BugFix: fixed the part-block list splicing, inlining works now again for Java

[r20034]

16 years agotest for 64bit rot
Michael Beck [Sat, 7 Jun 2008 23:49:05 +0000 (23:49 +0000)]
test for 64bit rot

[r20029]

16 years ago- fixed lowering of Rotl
Michael Beck [Sat, 7 Jun 2008 23:30:26 +0000 (23:30 +0000)]
- fixed lowering of Rotl

[r20026]

16 years ago- split the old constant_folding flag into constant_folding and algebraic_simplification
Michael Beck [Sat, 7 Jun 2008 23:28:14 +0000 (23:28 +0000)]
- split the old constant_folding flag into constant_folding and algebraic_simplification

[r20025]

16 years ago- make the dot at the start of debugger commands optional
Michael Beck [Sat, 7 Jun 2008 18:04:36 +0000 (18:04 +0000)]
- make the dot at the start of debugger commands optional

[r20023]

16 years agoadd missing include (although not needed, but API used)
Michael Beck [Sat, 7 Jun 2008 17:55:13 +0000 (17:55 +0000)]
add missing include (although not needed, but API used)

[r20022]

16 years ago- BugFix: the mode of the lower part of a DW lowered pair must be mode_Iu, thsi fixes...
Michael Beck [Sat, 7 Jun 2008 17:53:48 +0000 (17:53 +0000)]
- BugFix: the mode of the lower part of a DW lowered pair must be mode_Iu, thsi fixes error113.c

[r20021]

16 years agodemonstrates an error in ShrsLs lowering
Michael Beck [Sat, 7 Jun 2008 17:51:41 +0000 (17:51 +0000)]
demonstrates an error in ShrsLs lowering

[r20020]

16 years agorenamed node type Rot to Rotl to make clear that this is a LEFT rotation
Michael Beck [Fri, 6 Jun 2008 16:52:11 +0000 (16:52 +0000)]
renamed node type Rot to Rotl to make clear that this is a LEFT rotation

[r20010]

16 years agoupdated to current version
Michael Beck [Fri, 6 Jun 2008 16:44:53 +0000 (16:44 +0000)]
updated to current version

[r20009]

16 years agoupdated
Michael Beck [Fri, 6 Jun 2008 11:45:48 +0000 (11:45 +0000)]
updated

[r20000]

16 years agoupdated
Michael Beck [Fri, 6 Jun 2008 07:59:14 +0000 (07:59 +0000)]
updated

[r19993]

16 years agoenhanced version
Michael Beck [Fri, 6 Jun 2008 06:03:52 +0000 (06:03 +0000)]
enhanced version

[r19992]

16 years ago- better detection of local addresses
Michael Beck [Fri, 6 Jun 2008 05:57:53 +0000 (05:57 +0000)]
- better detection of local addresses
- malloced data is "local" in this context
- check for calls inside: non self recursive calls might access non-local memory
- fixes enhanced fehler110.c

[r19991]

16 years ago- export classify_pointer()
Michael Beck [Fri, 6 Jun 2008 05:54:23 +0000 (05:54 +0000)]
- export classify_pointer()
- add ir_ prefix to some irmemory types and enum values

[r19990]

16 years agois_self_recursive_Call() added
Michael Beck [Fri, 6 Jun 2008 05:53:02 +0000 (05:53 +0000)]
is_self_recursive_Call() added

[r19989]

16 years ago- BugFix: do NOT do the copy-return optimization if there might be access to the...
Michael Beck [Thu, 5 Jun 2008 19:41:37 +0000 (19:41 +0000)]
- BugFix: do NOT do the copy-return optimization if there might be access to the destination. This fixed fehler110.c

[r19988]

16 years agocurrent version
Michael Beck [Wed, 4 Jun 2008 21:09:26 +0000 (21:09 +0000)]
current version

[r19983]

16 years agoold fehler 110...
Matthias Braun [Wed, 4 Jun 2008 14:00:41 +0000 (14:00 +0000)]
old fehler 110...

[r19978]

16 years agocompound return problems
Matthias Braun [Wed, 4 Jun 2008 13:57:52 +0000 (13:57 +0000)]
compound return problems

[r19977]

16 years agoswitch projs have long pnc not pn_Cmp
Matthias Braun [Tue, 3 Jun 2008 14:27:21 +0000 (14:27 +0000)]
switch projs have long pnc not pn_Cmp

[r19955]

16 years agowe do need conv/cast skipping
Matthias Braun [Tue, 3 Jun 2008 14:05:21 +0000 (14:05 +0000)]
we do need conv/cast skipping

[r19953]

16 years agohandle Bads more gracefully
Matthias Braun [Mon, 2 Jun 2008 16:57:41 +0000 (16:57 +0000)]
handle Bads more gracefully

[r19945]

16 years agoadd missing condition
Michael Beck [Mon, 2 Jun 2008 15:05:44 +0000 (15:05 +0000)]
add missing condition

[r19942]

16 years agoonly skip float->float convs
Matthias Braun [Mon, 2 Jun 2008 14:27:59 +0000 (14:27 +0000)]
only skip float->float convs

[r19939]

16 years ago- added option -b omitleaffp, omitting the frame pointer in leaf routines only (allow...
Michael Beck [Mon, 2 Jun 2008 13:29:06 +0000 (13:29 +0000)]
- added option -b omitleaffp, omitting the frame pointer in leaf routines only (allow better debugging the -b omitfp)

[r19928]

16 years ago- better handling for strictConv's, optimized conv_orgie.c now
Michael Beck [Mon, 2 Jun 2008 13:08:04 +0000 (13:08 +0000)]
- better handling for strictConv's, optimized conv_orgie.c now

[r19927]

16 years agotest for strictConv orgie
Michael Beck [Mon, 2 Jun 2008 11:59:46 +0000 (11:59 +0000)]
test for strictConv orgie

[r19926]

16 years ago- Fixed strict-convs before Stores again: We can skip at least those
Michael Beck [Mon, 2 Jun 2008 11:55:54 +0000 (11:55 +0000)]
- Fixed strict-convs before Stores again: We can skip at least those
  that conv TO the same mode as the store

[r19925]

16 years agoadd missing returns
Matthias Braun [Mon, 2 Jun 2008 10:19:11 +0000 (10:19 +0000)]
add missing returns

[r19914]

16 years ago- stack alignment is now power of two
Michael Beck [Sun, 1 Jun 2008 20:25:03 +0000 (20:25 +0000)]
- stack alignment is now power of two

[r19910]

16 years agoDo NOT ignore Bad Phi predecessors. Otherwise
Michael Beck [Sun, 1 Jun 2008 16:16:45 +0000 (16:16 +0000)]
Do NOT ignore Bad Phi predecessors. Otherwise
Phi nodes might be removed in dead cycles (causing normal nodes
pointing to themselfs).

[r19907]

16 years agocall optimize_cf() to delete dead-code that might arise after cond_eval
Michael Beck [Sun, 1 Jun 2008 15:32:23 +0000 (15:32 +0000)]
call optimize_cf() to delete dead-code that might arise after cond_eval

[r19906]

16 years agouse ir_type from call instead of the type from the symconst entity in mapper
Matthias Braun [Sat, 31 May 2008 10:47:43 +0000 (10:47 +0000)]
use ir_type from call instead of the type from the symconst entity in mapper

[r19887]

16 years agooutputting +,-,* in assembler makes no sense for floats
Matthias Braun [Sat, 31 May 2008 10:40:03 +0000 (10:40 +0000)]
outputting +,-,* in assembler makes no sense for floats

[r19885]

16 years agofix alloca mapper
Matthias Braun [Sat, 31 May 2008 10:39:31 +0000 (10:39 +0000)]
fix alloca mapper

[r19884]

16 years agoAlloc is not a binop
Matthias Braun [Sat, 31 May 2008 10:27:30 +0000 (10:27 +0000)]
Alloc is not a binop

[r19882]

16 years agoupdated for latest libFirm changes
Michael Beck [Sat, 31 May 2008 09:56:42 +0000 (09:56 +0000)]
updated for latest libFirm changes

[r19881]

16 years agono, we cannot skip all convs before vfst (but just float->float convs)
Matthias Braun [Sat, 31 May 2008 06:19:55 +0000 (06:19 +0000)]
no, we cannot skip all convs before vfst (but just float->float convs)

[r19872]

16 years ago- in x87 mode, skipp ALL conv's before stores
Michael Beck [Sat, 31 May 2008 01:16:47 +0000 (01:16 +0000)]
- in x87 mode, skipp ALL conv's before stores
- BugFix: handle float->int Conv and Store right for SSE

[r19870]

16 years agoallow x + 0.0 = x even in strict mode
Michael Beck [Sat, 31 May 2008 00:56:18 +0000 (00:56 +0000)]
allow x + 0.0 = x even in strict mode

[r19869]

16 years agorenamed modecode, mode_sort, mode_arithmetic to ir_*
Michael Beck [Fri, 30 May 2008 20:54:35 +0000 (20:54 +0000)]
renamed modecode, mode_sort, mode_arithmetic to ir_*

[r19868]

16 years agoinline_method():
Michael Beck [Fri, 30 May 2008 20:38:44 +0000 (20:38 +0000)]
inline_method():
 - check the argument and the parameter types for compatibility
 - can inline methods with "mostly" compatible call/entity types
 - better check for additional parameters

[r19867]

16 years ago- removed assertion() it is allowed to ask for non-existing arguments
Michael Beck [Fri, 30 May 2008 19:15:08 +0000 (19:15 +0000)]
- removed assertion() it is allowed to ask for non-existing arguments

[r19866]

16 years agohandle a call with less arguments than needed gracefully: don't inline yet
Michael Beck [Fri, 30 May 2008 16:30:38 +0000 (16:30 +0000)]
handle a call with less arguments than needed gracefully: don't inline yet

[r19859]

16 years ago- no more be_init(): backend is initialised in init_firm
Michael Beck [Fri, 30 May 2008 15:00:38 +0000 (15:00 +0000)]
- no more be_init(): backend is initialised in init_firm

[r19855]

16 years ago- no more be_init(): backend is initialised in init_firm
Michael Beck [Fri, 30 May 2008 14:51:08 +0000 (14:51 +0000)]
- no more be_init(): backend is initialised in init_firm

[r19852]

16 years agoadd extra info for immediate float mode
Michael Beck [Fri, 30 May 2008 13:36:52 +0000 (13:36 +0000)]
add extra info for immediate float mode

[r19841]

16 years agoadd missing prototyp for dump_block_marker_in_title()
Michael Beck [Fri, 30 May 2008 13:34:44 +0000 (13:34 +0000)]
add missing prototyp for dump_block_marker_in_title()

[r19840]

16 years agocleanup space generation logic and make it more robust for union constructs
Matthias Braun [Fri, 30 May 2008 11:34:53 +0000 (11:34 +0000)]
cleanup space generation logic and make it more robust for union constructs

[r19833]