Sebastian Hack [Wed, 5 Apr 2006 12:19:46 +0000 (12:19 +0000)]
Fixed some bugs
ABI provides additional ignore registers in a set
Sebastian Hack [Wed, 5 Apr 2006 12:19:05 +0000 (12:19 +0000)]
Added EOL :-)
Michael Beck [Wed, 5 Apr 2006 11:11:30 +0000 (11:11 +0000)]
used generic function for the transformers
Christian Würdig [Wed, 5 Apr 2006 10:39:54 +0000 (10:39 +0000)]
made omitfp default, option is now noomitfp
Michael Beck [Wed, 5 Apr 2006 09:04:48 +0000 (09:04 +0000)]
add support for fp to gp convert
Michael Beck [Tue, 4 Apr 2006 16:40:19 +0000 (16:40 +0000)]
Implement access functions for machine nodes with machine operands
Christian Würdig [Tue, 4 Apr 2006 15:45:23 +0000 (15:45 +0000)]
fixed commutative flag for adds
Michael Beck [Tue, 4 Apr 2006 15:26:00 +0000 (15:26 +0000)]
implemented basic int<->fp conversion
Michael Beck [Tue, 4 Apr 2006 15:25:18 +0000 (15:25 +0000)]
handle vfild and vfist needed for mode conversion
Michael Beck [Tue, 4 Apr 2006 15:24:30 +0000 (15:24 +0000)]
fixed fist/fistp emit
Christian Würdig [Tue, 4 Apr 2006 14:44:39 +0000 (14:44 +0000)]
skip optimized IncSPs
Christian Würdig [Tue, 4 Apr 2006 14:44:26 +0000 (14:44 +0000)]
added function to set be_IncSP pred
Christian Würdig [Tue, 4 Apr 2006 14:24:23 +0000 (14:24 +0000)]
added CJmp statistics
Christian Würdig [Tue, 4 Apr 2006 13:55:28 +0000 (13:55 +0000)]
debug statistic macros
Christian Würdig [Tue, 4 Apr 2006 13:55:06 +0000 (13:55 +0000)]
fixed address mode
fixed indents
added statistics
Christian Würdig [Tue, 4 Apr 2006 13:50:25 +0000 (13:50 +0000)]
fixed indents, typos
added additional dbg module for am optimize
Michael Beck [Tue, 4 Apr 2006 13:04:43 +0000 (13:04 +0000)]
used new machine user bit 0 to detect 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
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 ...
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
Michael Beck [Tue, 4 Apr 2006 06:09:27 +0000 (06:09 +0000)]
Push, Pop, Enter and Leave added
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
Michael Beck [Tue, 4 Apr 2006 06:05:46 +0000 (06:05 +0000)]
be_get_IncSP_mem() added
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
Michael Beck [Mon, 3 Apr 2006 16:39:11 +0000 (16:39 +0000)]
used irtools.h
Michael Beck [Mon, 3 Apr 2006 16:38:47 +0000 (16:38 +0000)]
fixed prolog & epilog for ebp usage
Michael Beck [Mon, 3 Apr 2006 16:37:58 +0000 (16:37 +0000)]
add missing FP_USED()
Michael Beck [Mon, 3 Apr 2006 16:33:56 +0000 (16:33 +0000)]
include "obst.h" instead of <obstack.h>
Michael Beck [Mon, 3 Apr 2006 16:33:28 +0000 (16:33 +0000)]
used new scheduler interface with nodeset
Michael Beck [Mon, 3 Apr 2006 16:32:50 +0000 (16:32 +0000)]
add more info for be_Call and be_IncSP
Michael Beck [Mon, 3 Apr 2006 13:45:13 +0000 (13:45 +0000)]
used "obst.h" instead of <obstack.h>
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
Michael Beck [Mon, 3 Apr 2006 13:42:47 +0000 (13:42 +0000)]
added missing include
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
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
Michael Beck [Mon, 3 Apr 2006 11:48:13 +0000 (11:48 +0000)]
add missing initialization
Christian Würdig [Mon, 3 Apr 2006 11:09:46 +0000 (11:09 +0000)]
fixed function param type into const
fixed indents
Christian Würdig [Mon, 3 Apr 2006 11:08:37 +0000 (11:08 +0000)]
renamed ppc isa option into ppc32
Christian Würdig [Mon, 3 Apr 2006 11:08:12 +0000 (11:08 +0000)]
fixed options
Christian Würdig [Mon, 3 Apr 2006 09:28:06 +0000 (09:28 +0000)]
register options for cmdline
Michael Beck [Mon, 3 Apr 2006 08:50:36 +0000 (08:50 +0000)]
changed for new interface
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
Michael Beck [Sun, 2 Apr 2006 21:30:13 +0000 (21:30 +0000)]
updated for new i/f and latest backend praktikum changes
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
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
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
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
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
Christian Würdig [Sun, 2 Apr 2006 18:08:46 +0000 (18:08 +0000)]
added statistics for perm lowering
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
Michael Beck [Sun, 2 Apr 2006 11:28:01 +0000 (11:28 +0000)]
removed ia32_register_additional_opcodes(), not needed anymore
Michael Beck [Sun, 2 Apr 2006 11:26:40 +0000 (11:26 +0000)]
used entity ld_name
generates add/sub esp
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
Michael Beck [Sun, 2 Apr 2006 11:19:38 +0000 (11:19 +0000)]
removed ppc32_register_additional_opcodes(), not needed anymore
Michael Beck [Sun, 2 Apr 2006 11:18:37 +0000 (11:18 +0000)]
placed register_options() last in the interface
Michael Beck [Sun, 2 Apr 2006 11:17:51 +0000 (11:17 +0000)]
fixed doxygen comments
Michael Beck [Sun, 2 Apr 2006 11:16:41 +0000 (11:16 +0000)]
removed mips_register_additional_opcodes(), not needed anymore
Michael Beck [Sun, 2 Apr 2006 11:15:55 +0000 (11:15 +0000)]
placed 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
Michael Beck [Sun, 2 Apr 2006 11:14:17 +0000 (11:14 +0000)]
removed unused be_opt_error_handler()
Michael Beck [Sun, 2 Apr 2006 11:13:15 +0000 (11:13 +0000)]
add missing op_be_CopyKeep
Michael Beck [Sun, 2 Apr 2006 11:12:21 +0000 (11:12 +0000)]
placed register_options() last in the interface
Michael Beck [Sun, 2 Apr 2006 11:10:24 +0000 (11:10 +0000)]
include "obst.h" instead of hand generated code
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
Christian Würdig [Fri, 31 Mar 2006 20:19:11 +0000 (20:19 +0000)]
fixed Jump Tables
Michael Beck [Fri, 31 Mar 2006 17:47:22 +0000 (17:47 +0000)]
removed wrong instructions with traps on overflow
Michael Beck [Fri, 31 Mar 2006 17:46:18 +0000 (17:46 +0000)]
removed IncSP schedule before me work-around (did not work ;-)
Michael Beck [Fri, 31 Mar 2006 17:45:11 +0000 (17:45 +0000)]
add ia32 command line handler for fp-unit and architecture
Christian Würdig [Fri, 31 Mar 2006 16:56:10 +0000 (16:56 +0000)]
extended test file
Christian Würdig [Fri, 31 Mar 2006 16:55:46 +0000 (16:55 +0000)]
added silence emitter for Projs and Phis
Christian Würdig [Fri, 31 Mar 2006 16:55:26 +0000 (16:55 +0000)]
changed SwitchJmp emitter (but still broken in some cases)
Christian Würdig [Fri, 31 Mar 2006 16:55:03 +0000 (16:55 +0000)]
fixed addressmode
Michael Beck [Fri, 31 Mar 2006 15:41:31 +0000 (15:41 +0000)]
add functions for command line handling
more comments added
Michael Beck [Fri, 31 Mar 2006 15:39:07 +0000 (15:39 +0000)]
Fixed docu
Christian Würdig [Fri, 31 Mar 2006 15:34:40 +0000 (15:34 +0000)]
fixed addressmode bug
fixed copy inserter bug
changed debugging stuff
Christian Würdig [Fri, 31 Mar 2006 13:05:53 +0000 (13:05 +0000)]
fixed copy inserter
omit copy if in==out
Christian Würdig [Fri, 31 Mar 2006 13:05:09 +0000 (13:05 +0000)]
added functions to get copy op
Christian Würdig [Fri, 31 Mar 2006 13:04:52 +0000 (13:04 +0000)]
removed ;
Christian Würdig [Fri, 31 Mar 2006 13:04:18 +0000 (13:04 +0000)]
activated assure constraints
Michael Beck [Fri, 31 Mar 2006 11:48:51 +0000 (11:48 +0000)]
trivial one that fails in the current version
Christian Würdig [Fri, 31 Mar 2006 11:09:54 +0000 (11:09 +0000)]
added src and tgt mode attributes for conversions
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
Christian Würdig [Fri, 31 Mar 2006 10:26:34 +0000 (10:26 +0000)]
added additional files
Christian Würdig [Fri, 31 Mar 2006 10:25:51 +0000 (10:25 +0000)]
added include for harness.c
Christian Würdig [Fri, 31 Mar 2006 10:23:42 +0000 (10:23 +0000)]
added another test file
Michael Beck [Fri, 31 Mar 2006 07:14:33 +0000 (07:14 +0000)]
fixed peephole optimization for IncSP nodes
Michael Beck [Fri, 31 Mar 2006 07:08:20 +0000 (07:08 +0000)]
more comments added
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!)
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
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()
Michael Beck [Fri, 31 Mar 2006 07:01:05 +0000 (07:01 +0000)]
more comments added
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
Michael Beck [Thu, 30 Mar 2006 17:32:59 +0000 (17:32 +0000)]
fixed fxch emitter
Michael Beck [Thu, 30 Mar 2006 17:32:34 +0000 (17:32 +0000)]
preliminary peephole optimizer for IncSP added
Michael Beck [Thu, 30 Mar 2006 17:31:54 +0000 (17:31 +0000)]
restructured to allow peephole optimization of IncSP
fixed Spill/Reload again
Michael Beck [Thu, 30 Mar 2006 17:29:25 +0000 (17:29 +0000)]
used new be_set_spill_env_dbg_module()
Michael Beck [Thu, 30 Mar 2006 17:28:54 +0000 (17:28 +0000)]
added be_set_spill_env_dbg_module() to access anonymous structure
Michael Beck [Thu, 30 Mar 2006 17:28:09 +0000 (17:28 +0000)]
reordered if for faster execution
added additional info in dump
Michael Beck [Thu, 30 Mar 2006 15:51:51 +0000 (15:51 +0000)]
Add get_reg_class_alignment() implementation
Michael Beck [Thu, 30 Mar 2006 15:49:27 +0000 (15:49 +0000)]
Fixed spill slot calculation: use largest mode for a register class and the class alignent
to calculate the spill slot size and alignment