libfirm
18 years agoAdd some Processor specific instruction selections
Michael Beck [Fri, 7 Apr 2006 08:55:07 +0000 (08:55 +0000)]
Add some Processor specific instruction selections

18 years agoHandle new ia32_isa_t type
Michael Beck [Thu, 6 Apr 2006 16:47:58 +0000 (16:47 +0000)]
Handle new ia32_isa_t type
comments added

18 years agoadd code for MinGW gas support
Michael Beck [Thu, 6 Apr 2006 16:47:27 +0000 (16:47 +0000)]
add code for MinGW gas support

18 years agocreate push ebp/pop ebp for frame pointer setups
Michael Beck [Thu, 6 Apr 2006 16:44:53 +0000 (16:44 +0000)]
create push ebp/pop ebp for frame pointer setups
creates a CopyKeep to prevent the usage of esp before it is copied to ebp
ia32_isa_t structure now includes the arch_isa_t (real derivation)

18 years agomoved be_return creation to it's own function, alloweing to create
Michael Beck [Thu, 6 Apr 2006 16:39:48 +0000 (16:39 +0000)]
moved be_return creation to it's own function, alloweing to create
a be_return feven if there was none (as it happens in endless loops)

Moved the initial IncSP before teh Barrier. This prevents spilling (which uses fp)
to be done before sp is increased, arghhh

18 years agoremoved 64bit convs
Christian Würdig [Thu, 6 Apr 2006 16:01:30 +0000 (16:01 +0000)]
removed 64bit convs

18 years agoactivated deadnode elimination
Christian Würdig [Thu, 6 Apr 2006 16:01:15 +0000 (16:01 +0000)]
activated deadnode elimination

18 years agohandle keep-alive Blocks
Michael Beck [Thu, 6 Apr 2006 15:35:37 +0000 (15:35 +0000)]
handle keep-alive Blocks

18 years agoadded attr compare function for converts (fixed Conv CSE)
Christian Würdig [Thu, 6 Apr 2006 14:45:56 +0000 (14:45 +0000)]
added attr compare function for converts (fixed Conv CSE)

18 years agofixed binop emitter for Source AM
Christian Würdig [Thu, 6 Apr 2006 14:19:51 +0000 (14:19 +0000)]
fixed binop emitter for Source AM
added UKNWN register
set Unknown nodes to ignore and assign them the UKNWN register

18 years agoFixed a bug
Sebastian Hack [Thu, 6 Apr 2006 12:06:32 +0000 (12:06 +0000)]
Fixed a bug

18 years agofixed return type of be_set_IncSP_pred()
Michael Beck [Thu, 6 Apr 2006 11:33:59 +0000 (11:33 +0000)]
fixed return type of be_set_IncSP_pred()

18 years agoAdded beinsn.c
Sebastian Hack [Thu, 6 Apr 2006 11:27:51 +0000 (11:27 +0000)]
Added beinsn.c

18 years agoAdded included support for be_insn_t
Sebastian Hack [Thu, 6 Apr 2006 11:20:46 +0000 (11:20 +0000)]
Added included support for be_insn_t

18 years agoAdded insn support
Sebastian Hack [Thu, 6 Apr 2006 11:19:53 +0000 (11:19 +0000)]
Added insn support

18 years agoAdd tarval attribute to fConst
Michael Beck [Wed, 5 Apr 2006 21:42:39 +0000 (21:42 +0000)]
Add tarval attribute to fConst

18 years agoremoved the arm_transform_env_t structure
Michael Beck [Wed, 5 Apr 2006 21:41:43 +0000 (21:41 +0000)]
removed the arm_transform_env_t structure

18 years agofixed ia32_emit_binop
Christian Würdig [Wed, 5 Apr 2006 16:19:19 +0000 (16:19 +0000)]
fixed ia32_emit_binop
fixed copy insertion

18 years agofixed DivMods
Christian Würdig [Wed, 5 Apr 2006 14:50:43 +0000 (14:50 +0000)]
fixed DivMods

18 years agofixed prologue
Christian Würdig [Wed, 5 Apr 2006 13:29:14 +0000 (13:29 +0000)]
fixed prologue

18 years agoused generic functions for transform
Michael Beck [Wed, 5 Apr 2006 13:14:01 +0000 (13:14 +0000)]
used generic functions for transform

18 years agoremoved unnecessary tabs
Michael Beck [Wed, 5 Apr 2006 13:13:26 +0000 (13:13 +0000)]
removed unnecessary tabs

18 years agoadded ia32 optimization options libcore conform
Christian Würdig [Wed, 5 Apr 2006 13:01:42 +0000 (13:01 +0000)]
added ia32 optimization options libcore conform
fixed indents
added should be same constraint for lea
added additional statistics

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