libfirm
18 years agoGet additional ignore registers from ABI
Sebastian Hack [Wed, 5 Apr 2006 12:20:42 +0000 (12:20 +0000)]
Get additional ignore registers from ABI

18 years agoFixed some bugs
Sebastian Hack [Wed, 5 Apr 2006 12:19:46 +0000 (12:19 +0000)]
Fixed some bugs
ABI provides additional ignore registers in a set

18 years agoAdded EOL :-)
Sebastian Hack [Wed, 5 Apr 2006 12:19:05 +0000 (12:19 +0000)]
Added EOL :-)

18 years agoused generic function for the transformers
Michael Beck [Wed, 5 Apr 2006 11:11:30 +0000 (11:11 +0000)]
used generic function for the transformers

18 years agomade omitfp default, option is now noomitfp
Christian Würdig [Wed, 5 Apr 2006 10:39:54 +0000 (10:39 +0000)]
made omitfp default, option is now noomitfp

18 years agoadd support for fp to gp convert
Michael Beck [Wed, 5 Apr 2006 09:04:48 +0000 (09:04 +0000)]
add support for fp to gp convert

18 years agoImplement access functions for machine nodes with machine operands
Michael Beck [Tue, 4 Apr 2006 16:40:19 +0000 (16:40 +0000)]
Implement access functions for machine nodes with machine operands

18 years agofixed commutative flag for adds
Christian Würdig [Tue, 4 Apr 2006 15:45:23 +0000 (15:45 +0000)]
fixed commutative flag for adds

18 years agoimplemented basic int<->fp conversion
Michael Beck [Tue, 4 Apr 2006 15:26:00 +0000 (15:26 +0000)]
implemented basic int<->fp conversion

18 years agohandle vfild and vfist needed for mode conversion
Michael Beck [Tue, 4 Apr 2006 15:25:18 +0000 (15:25 +0000)]
handle vfild and vfist needed for mode conversion

18 years agofixed fist/fistp emit
Michael Beck [Tue, 4 Apr 2006 15:24:30 +0000 (15:24 +0000)]
fixed fist/fistp emit

18 years agoskip optimized IncSPs
Christian Würdig [Tue, 4 Apr 2006 14:44:39 +0000 (14:44 +0000)]
skip optimized IncSPs

18 years agoadded function to set be_IncSP pred
Christian Würdig [Tue, 4 Apr 2006 14:44:26 +0000 (14:44 +0000)]
added function to set be_IncSP pred

18 years agoadded CJmp statistics
Christian Würdig [Tue, 4 Apr 2006 14:24:23 +0000 (14:24 +0000)]
added CJmp statistics

18 years agodebug statistic macros
Christian Würdig [Tue, 4 Apr 2006 13:55:28 +0000 (13:55 +0000)]
debug statistic macros

18 years agofixed address mode
Christian Würdig [Tue, 4 Apr 2006 13:55:06 +0000 (13:55 +0000)]
fixed address mode
fixed indents
added statistics

18 years agofixed indents, typos
Christian Würdig [Tue, 4 Apr 2006 13:50:25 +0000 (13:50 +0000)]
fixed indents, typos
added additional dbg module for am optimize

18 years agoused new machine user bit 0 to detect x87 instructions
Michael Beck [Tue, 4 Apr 2006 13:04:43 +0000 (13:04 +0000)]
used new machine user bit 0 to detect x87 instructions

18 years agouse the new machine user bit to mark x87 instructions
Michael Beck [Tue, 4 Apr 2006 13:02:10 +0000 (13:02 +0000)]
use the new machine user bit to mark x87 instructions

18 years agoAdd peephole optimization to create Push & Pop, might be better to move this one...
Michael Beck [Tue, 4 Apr 2006 06:13:58 +0000 (06:13 +0000)]
Add peephole optimization to create Push & Pop, might be better to move this one to transform ...

18 years agoia32_finish_irg_walker() now always calls peephole optimization
Michael Beck [Tue, 4 Apr 2006 06:11:46 +0000 (06:11 +0000)]
ia32_finish_irg_walker() now always calls peephole optimization
ia32_finish_irg/( now iterates over the block schedule

18 years agoPush, Pop, Enter and Leave added
Michael Beck [Tue, 4 Apr 2006 06:09:27 +0000 (06:09 +0000)]
Push, Pop, Enter and Leave added

18 years agoBugFix: Check that the frame_pointer is a Proj(Barrier) before setting it to ignore
Michael Beck [Tue, 4 Apr 2006 06:08:29 +0000 (06:08 +0000)]
BugFix: Check that the frame_pointer is a Proj(Barrier) before setting it to ignore
BugFix: When doing sequentiel parameter stores, reverse teh args if the stack growns backwards,
            fix memory for IncSP dependency

18 years agobe_get_IncSP_mem() added
Michael Beck [Tue, 4 Apr 2006 06:05:46 +0000 (06:05 +0000)]
be_get_IncSP_mem() added

18 years agoFixed register allocation for fp != sp
Michael Beck [Mon, 3 Apr 2006 16:41:08 +0000 (16:41 +0000)]
Fixed register allocation for fp != sp
Removed useless Alloc nodes
add omitfp parameter

18 years agoused irtools.h
Michael Beck [Mon, 3 Apr 2006 16:39:11 +0000 (16:39 +0000)]
used irtools.h

18 years agofixed prolog & epilog for ebp usage
Michael Beck [Mon, 3 Apr 2006 16:38:47 +0000 (16:38 +0000)]
fixed prolog & epilog for ebp usage

18 years agoadd missing FP_USED()
Michael Beck [Mon, 3 Apr 2006 16:37:58 +0000 (16:37 +0000)]
add missing FP_USED()

18 years agoinclude "obst.h" instead of <obstack.h>
Michael Beck [Mon, 3 Apr 2006 16:33:56 +0000 (16:33 +0000)]
include "obst.h" instead of <obstack.h>

18 years agoused new scheduler interface with nodeset
Michael Beck [Mon, 3 Apr 2006 16:33:28 +0000 (16:33 +0000)]
used new scheduler interface with nodeset

18 years agoadd more info for be_Call and be_IncSP
Michael Beck [Mon, 3 Apr 2006 16:32:50 +0000 (16:32 +0000)]
add more info for be_Call and be_IncSP

18 years agoused "obst.h" instead of <obstack.h>
Michael Beck [Mon, 3 Apr 2006 13:45:13 +0000 (13:45 +0000)]
used "obst.h" instead of <obstack.h>

18 years agoadded DBG_OPT_LEA( to report Lea craetion to the firm statistic module
Michael Beck [Mon, 3 Apr 2006 13:44:20 +0000 (13:44 +0000)]
added DBG_OPT_LEA( to report Lea craetion to the firm statistic module

18 years agoadded missing include
Michael Beck [Mon, 3 Apr 2006 13:42:47 +0000 (13:42 +0000)]
added missing include

18 years agoimplemented nodeset: a pointer set using node numbers to hash
Michael Beck [Mon, 3 Apr 2006 13:26:32 +0000 (13:26 +0000)]
implemented nodeset: a pointer set using node numbers to hash
ir_nodes. This should make teh scheduler more deterministic

18 years agobe numbers have the be_ prefix to distinguish them from "normal" ir nodes
Michael Beck [Mon, 3 Apr 2006 13:21:51 +0000 (13:21 +0000)]
be numbers have the be_ prefix to distinguish them from "normal" ir nodes

18 years agoadd missing initialization
Michael Beck [Mon, 3 Apr 2006 11:48:13 +0000 (11:48 +0000)]
add missing initialization

18 years agofixed function param type into const
Christian Würdig [Mon, 3 Apr 2006 11:09:46 +0000 (11:09 +0000)]
fixed function param type into const
fixed indents

18 years agorenamed ppc isa option into ppc32
Christian Würdig [Mon, 3 Apr 2006 11:08:37 +0000 (11:08 +0000)]
renamed ppc isa option into ppc32

18 years agofixed options
Christian Würdig [Mon, 3 Apr 2006 11:08:12 +0000 (11:08 +0000)]
fixed options

18 years agoregister options for cmdline
Christian Würdig [Mon, 3 Apr 2006 09:28:06 +0000 (09:28 +0000)]
register options for cmdline

18 years agochanged for new interface
Michael Beck [Mon, 3 Apr 2006 08:50:36 +0000 (08:50 +0000)]
changed for new interface

18 years agointerface changed: outfile is transmitted to the isa, not to the code generators
Michael Beck [Sun, 2 Apr 2006 21:32:57 +0000 (21:32 +0000)]
interface changed: outfile is transmitted to the isa, not to the code generators
decls are created now last
moved entity cache to isa, so Fp constants are only created once

18 years agoupdated for new i/f and latest backend praktikum changes
Michael Beck [Sun, 2 Apr 2006 21:30:13 +0000 (21:30 +0000)]
updated for new i/f and latest backend praktikum changes

18 years agointerface changed: outfile is transmitted to the isa, not to the code generators
Michael Beck [Sun, 2 Apr 2006 21:29:07 +0000 (21:29 +0000)]
interface changed: outfile is transmitted to the isa, not to the code generators

18 years agointerface changed: outfile is transmitted to the isa, not to the code generators
Michael Beck [Sun, 2 Apr 2006 21:28:51 +0000 (21:28 +0000)]
interface changed: outfile is transmitted to the isa, not to the code generators

18 years agointerface changed: outfile is transmitted to the isa, not to the code generators
Michael Beck [Sun, 2 Apr 2006 21:28:34 +0000 (21:28 +0000)]
interface changed: outfile is transmitted to the isa, not to the code generators

18 years agointerface changed: outfile is transmitted to the isa, not to the code generators
Michael Beck [Sun, 2 Apr 2006 21:22:44 +0000 (21:22 +0000)]
interface changed: outfile is transmitted to the isa, not to the code generators

18 years agointerface changed: outfile is transmitted to the isa, not to the code generators
Michael Beck [Sun, 2 Apr 2006 21:19:52 +0000 (21:19 +0000)]
interface changed: outfile is transmitted to the isa, not to the code generators

18 years agoadded statistics for perm lowering
Christian Würdig [Sun, 2 Apr 2006 18:08:46 +0000 (18:08 +0000)]
added statistics for perm lowering

18 years agoBig Changes:
Michael Beck [Sun, 2 Apr 2006 11:33:21 +0000 (11:33 +0000)]
Big Changes:
- reorganized most instructions to have _i and normal forms
- added support for shift-operand and condition
- removed unused double fp opcodes, use mode instead (not working yet)
- new constant create algorithm creates shorter sequences
- dumper now writes immediate operands

18 years agoremoved ia32_register_additional_opcodes(), not needed anymore
Michael Beck [Sun, 2 Apr 2006 11:28:01 +0000 (11:28 +0000)]
removed ia32_register_additional_opcodes(), not needed anymore

18 years agoused entity ld_name
Michael Beck [Sun, 2 Apr 2006 11:26:40 +0000 (11:26 +0000)]
used entity ld_name
generates add/sub esp

18 years agoplaced register_options() last in the interface
Michael Beck [Sun, 2 Apr 2006 11:20:50 +0000 (11:20 +0000)]
placed register_options() last in the interface
add comments for the supported command line options

18 years agoremoved ppc32_register_additional_opcodes(), not needed anymore
Michael Beck [Sun, 2 Apr 2006 11:19:38 +0000 (11:19 +0000)]
removed ppc32_register_additional_opcodes(), not needed anymore

18 years agoplaced register_options() last in the interface
Michael Beck [Sun, 2 Apr 2006 11:18:37 +0000 (11:18 +0000)]
placed register_options() last in the interface

18 years agofixed doxygen comments
Michael Beck [Sun, 2 Apr 2006 11:17:51 +0000 (11:17 +0000)]
fixed doxygen comments

18 years agoremoved mips_register_additional_opcodes(), not needed anymore
Michael Beck [Sun, 2 Apr 2006 11:16:41 +0000 (11:16 +0000)]
removed mips_register_additional_opcodes(), not needed anymore

18 years agoplaced register_options() last in the interface
Michael Beck [Sun, 2 Apr 2006 11:15:55 +0000 (11:15 +0000)]
placed register_options() last in the interface

18 years agoplaced register_options() last in the interface
Michael Beck [Sun, 2 Apr 2006 11:15:12 +0000 (11:15 +0000)]
placed register_options() last in the interface

18 years agoremoved unused be_opt_error_handler()
Michael Beck [Sun, 2 Apr 2006 11:14:17 +0000 (11:14 +0000)]
removed unused be_opt_error_handler()

18 years agoadd missing op_be_CopyKeep
Michael Beck [Sun, 2 Apr 2006 11:13:15 +0000 (11:13 +0000)]
add missing op_be_CopyKeep

18 years agoplaced register_options() last in the interface
Michael Beck [Sun, 2 Apr 2006 11:12:21 +0000 (11:12 +0000)]
placed register_options() last in the interface

18 years agoinclude "obst.h" instead of hand generated code
Michael Beck [Sun, 2 Apr 2006 11:10:24 +0000 (11:10 +0000)]
include "obst.h" instead of hand generated code

18 years agocreate enum for all architecture specific opcodes
Michael Beck [Sun, 2 Apr 2006 11:08:19 +0000 (11:08 +0000)]
create enum for all architecture specific opcodes
removed two extra opcode number at start end end
generates get_<arch>_irn_opcode()
generates #ifdefs's around header file
calls <arch>_register_additional_opcodes only if $additional_opcodes is set

18 years agofixed Jump Tables
Christian Würdig [Fri, 31 Mar 2006 20:19:11 +0000 (20:19 +0000)]
fixed Jump Tables

18 years agoremoved wrong instructions with traps on overflow
Michael Beck [Fri, 31 Mar 2006 17:47:22 +0000 (17:47 +0000)]
removed wrong instructions with traps on overflow

18 years agoremoved IncSP schedule before me work-around (did not work ;-)
Michael Beck [Fri, 31 Mar 2006 17:46:18 +0000 (17:46 +0000)]
removed IncSP schedule before me work-around (did not work ;-)

18 years agoadd ia32 command line handler for fp-unit and architecture
Michael Beck [Fri, 31 Mar 2006 17:45:11 +0000 (17:45 +0000)]
add ia32 command line handler for fp-unit and architecture

18 years agoextended test file
Christian Würdig [Fri, 31 Mar 2006 16:56:10 +0000 (16:56 +0000)]
extended test file

18 years agoadded silence emitter for Projs and Phis
Christian Würdig [Fri, 31 Mar 2006 16:55:46 +0000 (16:55 +0000)]
added silence emitter for Projs and Phis

18 years agochanged SwitchJmp emitter (but still broken in some cases)
Christian Würdig [Fri, 31 Mar 2006 16:55:26 +0000 (16:55 +0000)]
changed SwitchJmp emitter (but still broken in some cases)

18 years agofixed addressmode
Christian Würdig [Fri, 31 Mar 2006 16:55:03 +0000 (16:55 +0000)]
fixed addressmode

18 years agoadd functions for command line handling
Michael Beck [Fri, 31 Mar 2006 15:41:31 +0000 (15:41 +0000)]
add functions for command line handling
more comments added

18 years agoFixed docu
Michael Beck [Fri, 31 Mar 2006 15:39:07 +0000 (15:39 +0000)]
Fixed docu

18 years agofixed addressmode bug
Christian Würdig [Fri, 31 Mar 2006 15:34:40 +0000 (15:34 +0000)]
fixed addressmode bug
fixed copy inserter bug
changed debugging stuff

18 years agofixed copy inserter
Christian Würdig [Fri, 31 Mar 2006 13:05:53 +0000 (13:05 +0000)]
fixed copy inserter
omit copy if in==out

18 years agoadded functions to get copy op
Christian Würdig [Fri, 31 Mar 2006 13:05:09 +0000 (13:05 +0000)]
added functions to get copy op

18 years agoremoved ;
Christian Würdig [Fri, 31 Mar 2006 13:04:52 +0000 (13:04 +0000)]
removed ;

18 years agoactivated assure constraints
Christian Würdig [Fri, 31 Mar 2006 13:04:18 +0000 (13:04 +0000)]
activated assure constraints

18 years agotrivial one that fails in the current version
Michael Beck [Fri, 31 Mar 2006 11:48:51 +0000 (11:48 +0000)]
trivial one that fails in the current version

18 years agoadded src and tgt mode attributes for conversions
Christian Würdig [Fri, 31 Mar 2006 11:09:54 +0000 (11:09 +0000)]
added src and tgt mode attributes for conversions

18 years agoused arch_get_irn_reg_class() to save 4 lines
Michael Beck [Fri, 31 Mar 2006 10:52:16 +0000 (10:52 +0000)]
used arch_get_irn_reg_class() to save 4 lines

fixed the assert and put the whole assert code into #ifdef NDEBUG

18 years agoadded additional files
Christian Würdig [Fri, 31 Mar 2006 10:26:34 +0000 (10:26 +0000)]
added additional files

18 years agoadded include for harness.c
Christian Würdig [Fri, 31 Mar 2006 10:25:51 +0000 (10:25 +0000)]
added include for harness.c

18 years agoadded another test file
Christian Würdig [Fri, 31 Mar 2006 10:23:42 +0000 (10:23 +0000)]
added another test file

18 years agofixed peephole optimization for IncSP nodes
Michael Beck [Fri, 31 Mar 2006 07:14:33 +0000 (07:14 +0000)]
fixed peephole optimization for IncSP nodes

18 years agomore comments added
Michael Beck [Fri, 31 Mar 2006 07:08:20 +0000 (07:08 +0000)]
more comments added

18 years agoFixed construction of spill-slots and frame type. Aligment was not taken into account...
Michael Beck [Fri, 31 Mar 2006 07:07:29 +0000 (07:07 +0000)]
Fixed construction of spill-slots and frame type. Aligment was not taken into account (alignment might be bigger than size!)

18 years agoused irtools' firm_clear_link instead of local one
Michael Beck [Fri, 31 Mar 2006 07:05:50 +0000 (07:05 +0000)]
used irtools' firm_clear_link instead of local one
be_get_empty() checks now that the set is really empty :-)
some comments added

18 years agotypos fixed
Michael Beck [Fri, 31 Mar 2006 07:04:13 +0000 (07:04 +0000)]
typos fixed
FIRM_DBG_REGISTER() with decl must been the last decl
removed asserts that the empty set is empty. This is now checked in be_get_empty()

18 years agomore comments added
Michael Beck [Fri, 31 Mar 2006 07:01:05 +0000 (07:01 +0000)]
more comments added

18 years agoBugFix:
Michael Beck [Fri, 31 Mar 2006 07:00:11 +0000 (07:00 +0000)]
BugFix:
be_node_classify() should classify be_Return as a branch. This might be useless
as be_Return consume all register and should be last anyway, but it happen that
keep'ed nodes otherwise are scheduled after Return ...

be_get_IncSP_pred() added

more docu added

18 years agofixed fxch emitter
Michael Beck [Thu, 30 Mar 2006 17:32:59 +0000 (17:32 +0000)]
fixed fxch emitter

18 years agopreliminary peephole optimizer for IncSP added
Michael Beck [Thu, 30 Mar 2006 17:32:34 +0000 (17:32 +0000)]
preliminary peephole optimizer for IncSP added

18 years agorestructured to allow peephole optimization of IncSP
Michael Beck [Thu, 30 Mar 2006 17:31:54 +0000 (17:31 +0000)]
restructured to allow peephole optimization of IncSP
fixed Spill/Reload again

18 years agoused new be_set_spill_env_dbg_module()
Michael Beck [Thu, 30 Mar 2006 17:29:25 +0000 (17:29 +0000)]
used new be_set_spill_env_dbg_module()

18 years agoadded be_set_spill_env_dbg_module() to access anonymous structure
Michael Beck [Thu, 30 Mar 2006 17:28:54 +0000 (17:28 +0000)]
added be_set_spill_env_dbg_module() to access anonymous structure

18 years agoreordered if for faster execution
Michael Beck [Thu, 30 Mar 2006 17:28:09 +0000 (17:28 +0000)]
reordered if for faster execution
added additional info in dump

18 years agoAdd get_reg_class_alignment() implementation
Michael Beck [Thu, 30 Mar 2006 15:51:51 +0000 (15:51 +0000)]
Add get_reg_class_alignment() implementation