libfirm
15 years agoadd some hacks that fixes register pressure faithfullness of Asm nodes in common...
Matthias Braun [Thu, 14 May 2009 11:04:26 +0000 (11:04 +0000)]
add some hacks that fixes register pressure faithfullness of Asm nodes in common cases (fixes asm_test6.c)

[r25944]

15 years ago- removed unused header attribute from node_entry
Michael Beck [Thu, 14 May 2009 09:20:17 +0000 (09:20 +0000)]
- removed unused header attribute from node_entry
- improved move_loads_out_of_loops() by calculating the avail set

[r25942]

15 years ago- cleaned up irp functions a bit
Michael Beck [Thu, 14 May 2009 09:17:29 +0000 (09:17 +0000)]
- cleaned up irp functions a bit

[r25941]

15 years agoalways set graph state to KEEP_MUX in lower_mode_b
Matthias Braun [Thu, 14 May 2009 08:07:40 +0000 (08:07 +0000)]
always set graph state to KEEP_MUX in lower_mode_b

[r25939]

15 years ago- Introduce the concept of the graph state bitset: This is a set of flags that indica...
Matthias Braun [Wed, 13 May 2009 11:44:51 +0000 (11:44 +0000)]
- Introduce the concept of the graph state bitset: This is a set of flags that indicate the current "state" of a graph.
  (Used so far to indicate wether muxes are lowered and should not be touched anymore and wether architecture dependent mul and div with constant implementations are used)
  We should use this to indicate dom/loop/... consistency in the fututure
- fixed a bug where lower_mode_b was creating a "set" instruction with the help of a Mux. (Maybe we should create a new Node for this and not use a 0/1 mux?)

[r25937]

15 years agoimprove comments, remove unnecessary test
Matthias Braun [Tue, 12 May 2009 13:54:05 +0000 (13:54 +0000)]
improve comments, remove unnecessary test

[r25931]

15 years agoadd a newline to avoid warning
Matthias Braun [Mon, 11 May 2009 14:36:04 +0000 (14:36 +0000)]
add a newline to avoid warning

[r25926]

15 years agomore fixes for strange op entries
Matthias Braun [Mon, 11 May 2009 14:06:27 +0000 (14:06 +0000)]
more fixes for strange op entries

[r25924]

15 years agomore fixes (sorry for the breakages...)
Matthias Braun [Mon, 11 May 2009 13:57:08 +0000 (13:57 +0000)]
more fixes (sorry for the breakages...)

[r25923]

15 years agofix a bunch of stuff in my last commit
Matthias Braun [Mon, 11 May 2009 12:32:30 +0000 (12:32 +0000)]
fix a bunch of stuff in my last commit

[r25921]

15 years ago- generate more stuff from ir_spec.py
Matthias Braun [Mon, 11 May 2009 11:09:49 +0000 (11:09 +0000)]
- generate more stuff from ir_spec.py
- make some functions consistent: new_r(d)_Unknown, new_r(d)_Dummy
   actually take graphs and debug infos now

[r25919]

15 years ago- C99 feature removed
Michael Beck [Fri, 8 May 2009 13:26:29 +0000 (13:26 +0000)]
- C99 feature removed

[r25903]

15 years ago- changed handling of Mux nodes: these are now optimized using the iropt instead...
Michael Beck [Fri, 8 May 2009 10:44:04 +0000 (10:44 +0000)]
- changed handling of Mux nodes: these are now optimized using the iropt instead of additional runs in the if-conv
if-conv:
- through away analysis info only when graph was changed
- fixed handling of Raise
- removed useless dominator computation
- add some docu

[r25901]

15 years ago- fixed memory leaks
Michael Beck [Fri, 8 May 2009 10:39:58 +0000 (10:39 +0000)]
- fixed memory leaks
- add missing static
- fixed documentation

[r25900]

15 years ago- let loop run backwards
Michael Beck [Fri, 8 May 2009 10:38:44 +0000 (10:38 +0000)]
- let loop run backwards

[r25899]

15 years ago- turn while into do-while
Michael Beck [Fri, 8 May 2009 10:37:27 +0000 (10:37 +0000)]
- turn while into do-while

[r25898]

15 years ago- do not run node_is_in_irg_storage() in release mode, this seems to use a remarkable...
Michael Beck [Fri, 8 May 2009 10:35:30 +0000 (10:35 +0000)]
- do not run node_is_in_irg_storage() in release mode, this seems to use a remarkable amount of time

[r25897]

15 years ago- removed needless cast
Michael Beck [Fri, 8 May 2009 10:30:42 +0000 (10:30 +0000)]
- removed needless cast
- fixed type of iterator variable
- iterate backwards

[r25896]

15 years ago- Fix some more stuff in ir_spec.py
Matthias Braun [Thu, 7 May 2009 14:13:36 +0000 (14:13 +0000)]
- Fix some more stuff in ir_spec.py
- No exceptions for argument order in the Builtin constructor
- add missing functions for Borrow node

[r25888]

15 years agoredo pinned mode handling in spec generator
Matthias Braun [Thu, 7 May 2009 13:24:31 +0000 (13:24 +0000)]
redo pinned mode handling in spec generator

[r25887]

15 years agofix warning, add a panic when irio imports vector modes
Matthias Braun [Thu, 7 May 2009 13:24:08 +0000 (13:24 +0000)]
fix warning, add a panic when irio imports vector modes

[r25886]

15 years agoremove pointless file for testing
Matthias Braun [Wed, 22 Apr 2009 03:06:48 +0000 (03:06 +0000)]
remove pointless file for testing

[r25831]

15 years ago- version number updated
Michael Beck [Sun, 19 Apr 2009 14:34:33 +0000 (14:34 +0000)]
- version number updated

[r25829]

15 years ago- updated for newer type attribute names
Michael Beck [Sun, 19 Apr 2009 14:25:24 +0000 (14:25 +0000)]
- updated for newer type attribute names

[r25828]

15 years ago- removed old global handling artifact
Michael Beck [Sat, 18 Apr 2009 19:08:33 +0000 (19:08 +0000)]
- removed old global handling artifact

[r25827]

15 years ago- improved hash_Const(): no need to hash the mode, this is already contained in the...
Michael Beck [Sat, 18 Apr 2009 19:07:57 +0000 (19:07 +0000)]
- improved hash_Const(): no need to hash the mode, this is already contained in the tarval
- improved hash_SymConst(): no need for mode, handle labels right

[r25826]

15 years ago- BugFix: assure out edges are valid (may be invalid even if dominance is valid!)
Michael Beck [Sat, 18 Apr 2009 18:20:04 +0000 (18:20 +0000)]
- BugFix: assure out edges are valid (may be invalid even if dominance is valid!)
- small BugFix: invalidate out edges if Proj's are moved to other blocks
- allocate resources

[r25825]

15 years agouse environment also in non-debug mode.
Sebastian Buchwald [Fri, 17 Apr 2009 13:38:52 +0000 (13:38 +0000)]
use environment also in non-debug mode.

[r25823]

15 years agoRemoved obsolete perl ir spec
Moritz Kroll [Thu, 9 Apr 2009 14:57:13 +0000 (14:57 +0000)]
Removed obsolete perl ir spec

[r25822]

15 years ago- use FASTCALL, not only regparam on private functions
Michael Beck [Wed, 8 Apr 2009 23:05:55 +0000 (23:05 +0000)]
- use FASTCALL, not only regparam on private functions

[r25820]

15 years ago- BugFix: we exchange the value param entities, so a further check will ALWAYS fail
Michael Beck [Tue, 7 Apr 2009 01:19:19 +0000 (01:19 +0000)]
- BugFix: we exchange the value param entities, so a further check will ALWAYS fail
  This fixes fehler165.c

[r25807]

15 years ago- fix 25793
Michael Beck [Mon, 6 Apr 2009 23:00:08 +0000 (23:00 +0000)]
- fix 25793

[r25805]

15 years ago- fix 25801
Michael Beck [Mon, 6 Apr 2009 22:56:35 +0000 (22:56 +0000)]
- fix 25801

[r25804]

15 years ago- replace costly bitset_popcount() ==/!=/> 0 by bitset_empty()
Michael Beck [Mon, 6 Apr 2009 22:52:15 +0000 (22:52 +0000)]
- replace costly bitset_popcount() ==/!=/> 0 by bitset_empty()

[r25803]

15 years ago- constify
Michael Beck [Mon, 6 Apr 2009 22:22:36 +0000 (22:22 +0000)]
- constify

[r25802]

15 years ago- constify
Michael Beck [Mon, 6 Apr 2009 22:02:44 +0000 (22:02 +0000)]
- constify

[r25801]

15 years ago- constify
Michael Beck [Mon, 6 Apr 2009 20:56:29 +0000 (20:56 +0000)]
- constify
- only invalidate analysis info on changes
- cleanup, make some local functions static

[r25799]

15 years ago- use firm debug facility instead of printf()
Michael Beck [Mon, 6 Apr 2009 12:24:38 +0000 (12:24 +0000)]
- use firm debug facility instead of printf()
- indentation
- cleanup

[r25796]

15 years ago- constify
Michael Beck [Mon, 6 Apr 2009 12:22:12 +0000 (12:22 +0000)]
- constify
- indentation

[r25795]

15 years ago- constify
Michael Beck [Mon, 6 Apr 2009 11:19:36 +0000 (11:19 +0000)]
- constify
- BugFix: put access mode into the analysis cache (cache not used yet)

[r25793]

15 years ago- constify
Michael Beck [Mon, 6 Apr 2009 10:58:34 +0000 (10:58 +0000)]
- constify

[r25792]

15 years ago- fixed handling of Projs from fragile ops: skip only exception Projs to keep
Michael Beck [Sun, 5 Apr 2009 01:01:04 +0000 (01:01 +0000)]
- fixed handling of Projs from fragile ops: skip only exception Projs to keep
  old semantics intact
- fixed memory leak
- some cleanup
- add more comments
- remove commented out code

[r25791]

15 years ago- indentation
Michael Beck [Sat, 4 Apr 2009 23:58:05 +0000 (23:58 +0000)]
- indentation
- add some more comments

[r25790]

15 years ago- constify
Michael Beck [Sat, 4 Apr 2009 13:57:28 +0000 (13:57 +0000)]
- constify

[r25788]

15 years ago- updated exchange_types() to use the new type flags
Michael Beck [Sat, 4 Apr 2009 09:24:49 +0000 (09:24 +0000)]
- updated exchange_types() to use the new type flags
- use the assoc_type for type_id types instead of casting the mode

[r25787]

15 years ago- fixed comment
Michael Beck [Sat, 4 Apr 2009 09:14:52 +0000 (09:14 +0000)]
- fixed comment

[r25786]

15 years ago- add type flags for constructors/destructors
Michael Beck [Fri, 3 Apr 2009 23:43:14 +0000 (23:43 +0000)]
- add type flags for constructors/destructors

[r25785]

15 years ago- simplified
Michael Beck [Fri, 3 Apr 2009 23:08:06 +0000 (23:08 +0000)]
- simplified
- typo fixed

[r25784]

15 years ago- removed commented out code
Michael Beck [Fri, 3 Apr 2009 23:05:53 +0000 (23:05 +0000)]
- removed commented out code
- indentation

[r25783]

15 years ago- indentation
Michael Beck [Fri, 3 Apr 2009 23:03:14 +0000 (23:03 +0000)]
- indentation
- cleanup

[r25782]

15 years ago- constify
Michael Beck [Fri, 3 Apr 2009 22:40:10 +0000 (22:40 +0000)]
- constify
- renamed some arguments, cleaned up code

[r25781]

15 years ago- constify
Michael Beck [Fri, 3 Apr 2009 22:39:29 +0000 (22:39 +0000)]
- constify

[r25780]

15 years agoAdded gen_ir.py support for Bound, CopyB, InstOf and Raise
Moritz Kroll [Thu, 2 Apr 2009 23:33:10 +0000 (23:33 +0000)]
Added gen_ir.py support for Bound, CopyB, InstOf and Raise

[r25777]

15 years agoRenamed attr.copyb.data_type to attr.copyb.type
Moritz Kroll [Thu, 2 Apr 2009 23:15:36 +0000 (23:15 +0000)]
Renamed attr.copyb.data_type to attr.copyb.type

[r25776]

15 years agoAdded gen_ir.py support for Break and Filter
Moritz Kroll [Thu, 2 Apr 2009 23:13:01 +0000 (23:13 +0000)]
Added gen_ir.py support for Break and Filter

[r25775]

15 years agoAdded gen_ir.py support for Alloc and Builtin
Moritz Kroll [Thu, 2 Apr 2009 23:00:38 +0000 (23:00 +0000)]
Added gen_ir.py support for Alloc and Builtin

[r25774]

15 years agoRenamed attr.builtin.builtin_tp to attr.builtin.type
Moritz Kroll [Thu, 2 Apr 2009 22:51:22 +0000 (22:51 +0000)]
Renamed attr.builtin.builtin_tp to attr.builtin.type

[r25773]

15 years agoAdded gen_ir.py support for Call. Sort generated irio code
Moritz Kroll [Thu, 2 Apr 2009 22:45:37 +0000 (22:45 +0000)]
Added gen_ir.py support for Call. Sort generated irio code

[r25772]

15 years agoRenamed attr.call.cld_tp to attr.call.type
Moritz Kroll [Thu, 2 Apr 2009 22:02:56 +0000 (22:02 +0000)]
Renamed attr.call.cld_tp to attr.call.type

[r25770]

15 years agoAdded gen_ir.py support for DivRL and strictConv
Moritz Kroll [Thu, 2 Apr 2009 21:29:18 +0000 (21:29 +0000)]
Added gen_ir.py support for DivRL and strictConv

[r25769]

15 years agoAdded gen_ir.py support for Div, DivMod, Mod, and Quot
Moritz Kroll [Thu, 2 Apr 2009 21:08:55 +0000 (21:08 +0000)]
Added gen_ir.py support for Div, DivMod, Mod, and Quot

[r25768]

15 years agoRenamed attr.divmod.res_mode to attr.divmod.resmode
Moritz Kroll [Thu, 2 Apr 2009 20:53:59 +0000 (20:53 +0000)]
Renamed attr.divmod.res_mode to attr.divmod.resmode

[r25767]

15 years agoRenamed attr.cast.totype to attr.cast.type. Added Cast node to ir_spec.py
Moritz Kroll [Thu, 2 Apr 2009 17:24:33 +0000 (17:24 +0000)]
Renamed attr.cast.totype to attr.cast.type. Added Cast node to ir_spec.py

[r25766]

15 years agoUpdated VC2005 project. Sorted ir_spec.py entries
Moritz Kroll [Thu, 2 Apr 2009 16:03:27 +0000 (16:03 +0000)]
Updated VC2005 project. Sorted ir_spec.py entries

[r25765]

15 years ago- BugFix: do not crash when dumping all-types graph with new style initializers
Michael Beck [Thu, 2 Apr 2009 14:56:36 +0000 (14:56 +0000)]
- BugFix: do not crash when dumping all-types graph with new style initializers
- new style initializers are not yet dumped ...

[r25764]

15 years agoUse setdefault in several cases to simplify code
Moritz Kroll [Wed, 1 Apr 2009 16:43:24 +0000 (16:43 +0000)]
Use setdefault in several cases to simplify code

[r25763]

15 years agoPrepare for 'production'
Moritz Kroll [Wed, 1 Apr 2009 15:12:32 +0000 (15:12 +0000)]
Prepare for 'production'

[r25761]

15 years agogen_ir.py:
Moritz Kroll [Wed, 1 Apr 2009 14:58:27 +0000 (14:58 +0000)]
gen_ir.py:
- Also generate new_<nodename> functions
- Fixed new_d_Block

ir_cons.c
- Switched to gen_ir.py

[r25759]

15 years ago- use regparam for private functions, instead of fastcall
Michael Beck [Wed, 1 Apr 2009 00:31:07 +0000 (00:31 +0000)]
- use regparam for private functions, instead of fastcall

[r25757]

15 years ago- reserve used resources
Michael Beck [Tue, 31 Mar 2009 22:59:32 +0000 (22:59 +0000)]
- reserve used resources
- remove double analysis info drop (dominance might be still ok!)

[r25756]

15 years agoremove pointless sc_argument class, cleanup
Matthias Braun [Tue, 31 Mar 2009 01:19:39 +0000 (01:19 +0000)]
remove pointless sc_argument class, cleanup

[r25755]

15 years ago- BugFix: arguments AND globals are not automatically alias free
Michael Beck [Mon, 30 Mar 2009 16:31:57 +0000 (16:31 +0000)]
- BugFix: arguments AND globals are not automatically alias free
- add aa_opt_no_alias_args and aa_opt_no_alias_args_global flags

[r25754]

15 years agoStarted Python implementation of gen_ir.pl
Moritz Kroll [Mon, 30 Mar 2009 11:13:30 +0000 (11:13 +0000)]
Started Python implementation of gen_ir.pl

[r25753]

15 years agoFixed obviously unused InstOf constructor
Moritz Kroll [Mon, 30 Mar 2009 10:06:45 +0000 (10:06 +0000)]
Fixed obviously unused InstOf constructor

[r25751]

15 years agoRenamed attr.load.load_mode to attr.load.mode
Moritz Kroll [Mon, 30 Mar 2009 10:05:01 +0000 (10:05 +0000)]
Renamed attr.load.load_mode to attr.load.mode

[r25750]

15 years agoRenamed attr.sel.ent to attr.sel.entity
Moritz Kroll [Mon, 30 Mar 2009 08:29:28 +0000 (08:29 +0000)]
Renamed attr.sel.ent to attr.sel.entity

[r25749]

15 years agoSome minor changes
Moritz Kroll [Mon, 30 Mar 2009 08:16:21 +0000 (08:16 +0000)]
Some minor changes

[r25748]

15 years ago- BugFix: wrong end index fixed
Michael Beck [Sat, 21 Mar 2009 15:10:28 +0000 (15:10 +0000)]
- BugFix: wrong end index fixed
- BugFix: cache the newly created memop, not the old one
- BugFix: must search for the Phi-translated load in the predecessors avail set
- BugFix: size of bitset is now equal to the address size (was it before too :-)

[r25720]

15 years ago- register ALL possible addresses yet
Michael Beck [Sat, 21 Mar 2009 11:46:34 +0000 (11:46 +0000)]
- register ALL possible addresses yet
- phi-translate the antic sets

[r25719]

15 years ago- get_Block_cfgpred_arr() IS supported, but should not be in the official
Michael Beck [Sat, 21 Mar 2009 10:36:45 +0000 (10:36 +0000)]
- get_Block_cfgpred_arr() IS supported, but should not be in the official
  interface
- get_Block_cfgpred_pos() added and used
- more doxygen docu

[r25718]

15 years ago- added Phi-translation for addresses
Michael Beck [Fri, 20 Mar 2009 13:00:49 +0000 (13:00 +0000)]
- added Phi-translation for addresses
- update addesses of nodes due to Lod replacements
- remove unused (and wrong) code
- BugFix: used right condition to stop search of partly redundand Loads
- use Phi-translated addresses for cleanup check
- BugFix: correctly link in newly created memops into the memop chain of the previous blocks
- BugFix: always update the value map

[r25714]

15 years ago- let %+F print entities of SymConst and Sel instructions
Michael Beck [Fri, 20 Mar 2009 11:16:00 +0000 (11:16 +0000)]
- let %+F print entities of SymConst and Sel instructions

[r25713]

15 years ago- simplified memop flags: we NEVER must kill solely Loads or Stores
Michael Beck [Thu, 19 Mar 2009 16:23:06 +0000 (16:23 +0000)]
- simplified memop flags: we NEVER must kill solely Loads or Stores
- remove block flags for now, use block marks for marking blocks
- BugFix: fix analysis for IGNORE Stores
- BugFix: fixed creation of partly reduntant Loads: must be done BEFORE gen/kill
- removed now unused code
- kill unreachable blocks before analysis helps greatly and is simple, as we have
  to collect these data anyway

[r25703]

15 years ago- add rbitset_set_all()
Michael Beck [Thu, 19 Mar 2009 14:00:05 +0000 (14:00 +0000)]
- add rbitset_set_all()

[r25702]

15 years agofixed comment
Michael Beck [Wed, 18 Mar 2009 14:09:26 +0000 (14:09 +0000)]
fixed comment

[r25701]

15 years ago- BugFix: the end block might be unreachable, check this first
Michael Beck [Tue, 17 Mar 2009 15:44:17 +0000 (15:44 +0000)]
- BugFix: the end block might be unreachable, check this first

[r25700]

15 years ago- BugFix: use env.rbs_size everywhere
Michael Beck [Tue, 17 Mar 2009 15:37:07 +0000 (15:37 +0000)]
- BugFix: use env.rbs_size everywhere

[r25699]

15 years ago- BugFix: initialize blocks using teh normal block walker, as unreachable blocks...
Michael Beck [Tue, 17 Mar 2009 15:32:37 +0000 (15:32 +0000)]
- BugFix: initialize blocks using teh normal block walker, as unreachable blocks might
  exist

[r25698]

15 years ago- BugFix: initialize memop->mem
Michael Beck [Fri, 13 Mar 2009 15:40:41 +0000 (15:40 +0000)]
- BugFix: initialize memop->mem
- BugFix: correctly handle different modes when creating a Phi (CopyB lowerer always uses unsigned modes :-()
- Handle loads from constant entities

[r25675]

15 years ago- BugFix: new Loads might be removed later, but we have no out info for them:
Michael Beck [Tue, 10 Mar 2009 15:12:18 +0000 (15:12 +0000)]
- BugFix: new Loads might be removed later, but we have no out info for them:
  use local out edges (like old implementation)
- BugFix: always build Phi nodes on merge points: the lazy techniques did not
  work that simple ...
- in rare cases Loads and Stores might have NO memory

[r25663]

15 years ago- Do not produce Loads WITHOUT memory
Michael Beck [Tue, 10 Mar 2009 15:00:37 +0000 (15:00 +0000)]
- Do not produce Loads WITHOUT memory

[r25662]

15 years agoNew still buggy version:
Michael Beck [Tue, 10 Mar 2009 10:01:19 +0000 (10:01 +0000)]
New still buggy version:
- only calculate avail_out for the blocks in first step (like GVN-PRE)
- correctly update avail_out during load_insert
- do NOT WAW same stores

[r25660]

15 years agoPIC fixes for global vars
Matthias Braun [Tue, 10 Mar 2009 01:31:11 +0000 (01:31 +0000)]
PIC fixes for global vars

[r25655]

15 years agoUpdated Makefile.am
Moritz Kroll [Mon, 9 Mar 2009 20:39:12 +0000 (20:39 +0000)]
Updated Makefile.am

[r25653]

15 years ago- C99 feature removed
Michael Beck [Mon, 9 Mar 2009 15:13:26 +0000 (15:13 +0000)]
- C99 feature removed

[r25647]

15 years ago- C99 feature removed
Michael Beck [Mon, 9 Mar 2009 14:54:35 +0000 (14:54 +0000)]
- C99 feature removed

[r25646]

15 years ago- deleted old (and imcomplete) implementation: the code is covered by the normal SR
Michael Beck [Mon, 9 Mar 2009 14:07:53 +0000 (14:07 +0000)]
- deleted old (and imcomplete) implementation: the code is covered by the normal SR
  and the now (yet incomplete) LD/ST optimization

[r25645]

15 years agonew register allocator
Matthias Braun [Mon, 9 Mar 2009 02:04:11 +0000 (02:04 +0000)]
new register allocator

[r25643]

15 years agofix
Matthias Braun [Sun, 8 Mar 2009 17:09:41 +0000 (17:09 +0000)]
fix

[r25641]

15 years agoanalysis of address_tkane for union types is not that easy - be conservative
Matthias Braun [Sun, 8 Mar 2009 17:09:11 +0000 (17:09 +0000)]
analysis of address_tkane for union types is not that easy - be conservative

[r25640]