libfirm
15 years agoUpdated Visual Studio project. Somehow it doesn't understand to recompile irio.c...
Moritz Kroll [Wed, 4 Feb 2009 13:27:29 +0000 (13:27 +0000)]
Updated Visual Studio project. Somehow it doesn't understand to recompile irio.c if ir_spec.py is changed...

[r25428]

15 years agoPrepare ir_io scripts for Jam
Moritz Kroll [Wed, 4 Feb 2009 13:14:40 +0000 (13:14 +0000)]
Prepare ir_io scripts for Jam

[r25426]

15 years ago- add missing Load and Builtin support for opcode()
Michael Beck [Wed, 4 Feb 2009 10:34:38 +0000 (10:34 +0000)]
- add missing Load and Builtin support for opcode()

[r25423]

15 years agoAdded first version of IR importer/exporter
Moritz Kroll [Wed, 4 Feb 2009 09:42:57 +0000 (09:42 +0000)]
Added first version of IR importer/exporter

[r25422]

15 years agoBugFixes:
Michael Beck [Mon, 2 Feb 2009 13:12:42 +0000 (13:12 +0000)]
BugFixes:
 - fixed rerouting if the last-mem is in a previous block
 - a Phi is it's own memory

[r25415]

15 years agoBugFix:
Michael Beck [Mon, 2 Feb 2009 12:28:00 +0000 (12:28 +0000)]
BugFix:
 - use rbitset_cpy(): this fixes the wrong size of the former memcpy()
 - if no memops are found, skip the analysis (which would crash either)
 - do not reroute memory if the last memory op is from a previous block

[r25414]

15 years ago- add doxygen comments to all functions
Michael Beck [Mon, 2 Feb 2009 11:57:33 +0000 (11:57 +0000)]
- add doxygen comments to all functions
- add rbitset_cpy()
- simplify rbitset_equal()
- if( -> if (

[r25413]

15 years ago- switch off debug mask
Michael Beck [Sun, 1 Feb 2009 20:21:44 +0000 (20:21 +0000)]
- switch off debug mask

[r25411]

15 years ago- fixed exchange
Michael Beck [Sun, 1 Feb 2009 20:20:32 +0000 (20:20 +0000)]
- fixed exchange

[r25410]

15 years ago- new dataflow driven load/store optimization, inspired by LEPRE (incomplete yet)
Michael Beck [Sun, 1 Feb 2009 20:12:09 +0000 (20:12 +0000)]
- new dataflow driven load/store optimization, inspired by LEPRE (incomplete yet)

[r25408]

15 years ago- BugFix: fixed wrong usage of classify_pointer()
Michael Beck [Fri, 30 Jan 2009 17:14:53 +0000 (17:14 +0000)]
- BugFix: fixed wrong usage of classify_pointer()

[r25405]

15 years agoupdate NEWS, fix warning, remove unnecessary genconfigure.sh (use autoreconf)
Matthias Braun [Wed, 28 Jan 2009 20:22:14 +0000 (20:22 +0000)]
update NEWS, fix warning, remove unnecessary genconfigure.sh (use autoreconf)

[r25388]

15 years agoinitialize backend opcode right after frontend opcodes
Matthias Braun [Tue, 27 Jan 2009 10:19:00 +0000 (10:19 +0000)]
initialize backend opcode right after frontend opcodes

[r25379]

15 years ago- Bugfix irg_out_block_walk() was doing wrong things when input was not a node
Michael Beck [Thu, 22 Jan 2009 13:56:57 +0000 (13:56 +0000)]
- Bugfix irg_out_block_walk() was doing wrong things when input was not a node

[r25335]

15 years ago- indentation
Michael Beck [Thu, 22 Jan 2009 13:32:11 +0000 (13:32 +0000)]
- indentation

[r25332]

15 years ago- do not create useless Confirm(x == true) and Confirm(x == false) Confirms,
Michael Beck [Thu, 22 Jan 2009 11:04:25 +0000 (11:04 +0000)]
- do not create useless Confirm(x == true) and Confirm(x == false) Confirms,
  use the constants directly

[r25324]

15 years agoAdded Dummy node which does not CSE with anything
Moritz Kroll [Wed, 21 Jan 2009 17:40:25 +0000 (17:40 +0000)]
Added Dummy node which does not CSE with anything

[r25322]

15 years ago- set this-call when removing trampolines
Michael Beck [Tue, 20 Jan 2009 13:08:18 +0000 (13:08 +0000)]
- set this-call when removing trampolines

[r25299]

15 years agofix warnings
Matthias Braun [Tue, 20 Jan 2009 09:59:02 +0000 (09:59 +0000)]
fix warnings

[r25292]

15 years agofix warnings
Matthias Braun [Tue, 20 Jan 2009 09:57:19 +0000 (09:57 +0000)]
fix warnings

[r25291]

15 years agofix warnings
Matthias Braun [Tue, 20 Jan 2009 09:57:01 +0000 (09:57 +0000)]
fix warnings

[r25290]

15 years agosimply kill the pins in besched phase, everything is scheduled anyway, while moving...
Matthias Braun [Tue, 20 Jan 2009 09:50:58 +0000 (09:50 +0000)]
simply kill the pins in besched phase, everything is scheduled anyway, while moving Pins around doesn't work in all situations

[r25289]

15 years ago- renamed variadicity to ir_variadicity
Michael Beck [Tue, 20 Jan 2009 03:22:56 +0000 (03:22 +0000)]
- renamed variadicity to ir_variadicity

[r25285]

15 years ago- when control flow is changed, invalidate the entity usage state
Michael Beck [Tue, 20 Jan 2009 03:14:54 +0000 (03:14 +0000)]
- when control flow is changed, invalidate the entity usage state

[r25284]

15 years ago- check for peculiarity_description for inner functions
Michael Beck [Tue, 20 Jan 2009 03:05:45 +0000 (03:05 +0000)]
- check for peculiarity_description for inner functions

[r25283]

15 years ago- say debug message BEFORE the irg is killed
Michael Beck [Tue, 20 Jan 2009 03:04:59 +0000 (03:04 +0000)]
- say debug message BEFORE the irg is killed

[r25282]

15 years ago- check for entities on the frame only (no more value_param_proj)
Michael Beck [Tue, 20 Jan 2009 03:04:07 +0000 (03:04 +0000)]
- check for entities on the frame only (no more value_param_proj)

[r25281]

15 years ago- set the entity state to NOT computed after inlining
Michael Beck [Tue, 20 Jan 2009 03:03:15 +0000 (03:03 +0000)]
- set the entity state to NOT computed after inlining

[r25280]

15 years ago- make a direct call from a trampoline call if possible
Michael Beck [Tue, 20 Jan 2009 03:02:31 +0000 (03:02 +0000)]
- make a direct call from a trampoline call if possible

[r25279]

15 years ago- undo erroneous checkin
Michael Beck [Tue, 20 Jan 2009 01:23:27 +0000 (01:23 +0000)]
- undo erroneous checkin

[r25278]

15 years ago- fixed handling of outer frame access
Michael Beck [Tue, 20 Jan 2009 01:20:48 +0000 (01:20 +0000)]
- fixed handling of outer frame access

[r25277]

15 years ago- teach the analyzer how to handle inner functions
Michael Beck [Tue, 20 Jan 2009 01:20:08 +0000 (01:20 +0000)]
- teach the analyzer how to handle inner functions

[r25276]

15 years ago- mostly implemented access to outer frame variables, however offset, is wrong yet
Michael Beck [Mon, 19 Jan 2009 23:14:27 +0000 (23:14 +0000)]
- mostly implemented access to outer frame variables, however offset, is wrong yet

[r25274]

15 years ago- do not lower Sels to outer frame
Michael Beck [Mon, 19 Jan 2009 23:13:12 +0000 (23:13 +0000)]
- do not lower Sels to outer frame

[r25273]

15 years ago- implemented get_irg_value_param_type()
Michael Beck [Mon, 19 Jan 2009 23:12:13 +0000 (23:12 +0000)]
- implemented get_irg_value_param_type()

[r25272]

15 years ago- do not kick inner functions from the frame type
Michael Beck [Mon, 19 Jan 2009 20:55:54 +0000 (20:55 +0000)]
- do not kick inner functions from the frame type

[r25271]

15 years agoassert that edges are enabled before using them
Matthias Braun [Mon, 19 Jan 2009 19:15:08 +0000 (19:15 +0000)]
assert that edges are enabled before using them

[r25269]

15 years agonot buggy (said Michael)
Matthias Braun [Mon, 19 Jan 2009 19:14:20 +0000 (19:14 +0000)]
not buggy (said Michael)

[r25268]

15 years ago- Fixed ir_bk_inner_trampoline
Michael Beck [Mon, 19 Jan 2009 16:18:46 +0000 (16:18 +0000)]
- Fixed ir_bk_inner_trampoline

[r25264]

15 years agoget_irn_n_edges is implemented nowhere (there's #define magic that always triggers)
Matthias Braun [Mon, 19 Jan 2009 16:13:21 +0000 (16:13 +0000)]
get_irn_n_edges is implemented nowhere (there's #define magic that always triggers)

[r25263]

15 years agocorectly handle this_call
Michael Beck [Mon, 19 Jan 2009 16:11:24 +0000 (16:11 +0000)]
corectly handle this_call

[r25262]

15 years ago- added ir_bk_inner_trampoline: this allows to defer the construction of trampolines
Michael Beck [Mon, 19 Jan 2009 14:02:40 +0000 (14:02 +0000)]
- added ir_bk_inner_trampoline: this allows to defer the construction of trampolines

[r25256]

15 years agoGet rid of pn_Start_value_param:
Michael Beck [Mon, 19 Jan 2009 00:47:39 +0000 (00:47 +0000)]
Get rid of pn_Start_value_param:
Access to value_type entities is now given by the frame pointer.

[r25246]

15 years ago- preliminary steps to remove the value_param Proj
Michael Beck [Sun, 18 Jan 2009 19:57:45 +0000 (19:57 +0000)]
- preliminary steps to remove the value_param Proj

[r25245]

15 years ago- fixed typos
Michael Beck [Sun, 18 Jan 2009 17:21:11 +0000 (17:21 +0000)]
- fixed typos

[r25243]

15 years ago- really remove Min/Max, fix r25220
Michael Beck [Fri, 16 Jan 2009 20:26:42 +0000 (20:26 +0000)]
- really remove Min/Max, fix r25220

[r25230]

15 years ago- BugFix: do NOT dump loop info IF it is not valid
Michael Beck [Fri, 16 Jan 2009 18:03:30 +0000 (18:03 +0000)]
- BugFix: do NOT dump loop info IF it is not valid

[r25229]

15 years ago- add missing \n
Michael Beck [Fri, 16 Jan 2009 18:02:41 +0000 (18:02 +0000)]
- add missing \n

[r25228]

15 years agoBugFix:
Michael Beck [Fri, 16 Jan 2009 18:02:10 +0000 (18:02 +0000)]
BugFix:
new_rd_*() must ALWAYS set the current_ir_graph to the irg argument, otherwise
optimize_node() runs on the wrong irg, causing newly created nodes be put
onto the wrong value_table!

[r25227]

15 years agomin and max are no more
Matthias Braun [Fri, 16 Jan 2009 15:14:14 +0000 (15:14 +0000)]
min and max are no more

[r25220]

15 years agofix warning
Matthias Braun [Fri, 16 Jan 2009 14:47:58 +0000 (14:47 +0000)]
fix warning

[r25219]

15 years agoPBQP transformer doesn't support Mux nodes with constant values.
Sebastian Buchwald [Thu, 15 Jan 2009 12:07:10 +0000 (12:07 +0000)]
PBQP transformer doesn't support Mux nodes with constant values.

[r25205]

15 years ago- add support for statistics and merge debug info
Michael Beck [Wed, 14 Jan 2009 15:14:14 +0000 (15:14 +0000)]
- add support for statistics and merge debug info

[r25195]

15 years ago- add support for cond_eval statistics
Michael Beck [Wed, 14 Jan 2009 15:12:24 +0000 (15:12 +0000)]
- add support for cond_eval statistics

[r25194]

15 years ago- fixed signed/unsigned warning
Michael Beck [Wed, 14 Jan 2009 15:10:13 +0000 (15:10 +0000)]
- fixed signed/unsigned warning

[r25193]

15 years ago- recode r25185 "the Firm way"
Michael Beck [Wed, 14 Jan 2009 02:34:51 +0000 (02:34 +0000)]
- recode r25185 "the Firm way"

[r25188]

15 years agoConv(X) & all_one(mode(X)) = Conv(X)
Moritz Kroll [Wed, 14 Jan 2009 00:31:40 +0000 (00:31 +0000)]
Conv(X) & all_one(mode(X)) = Conv(X)

[r25185]

15 years agoResolve warning.
Christoph Mallon [Tue, 13 Jan 2009 15:10:28 +0000 (15:10 +0000)]
Resolve warning.

[r25176]

15 years agoCorrect documentation of return value.
Christoph Mallon [Tue, 13 Jan 2009 12:49:02 +0000 (12:49 +0000)]
Correct documentation of return value.

[r25168]

15 years agofix warnings
Matthias Braun [Tue, 13 Jan 2009 12:07:02 +0000 (12:07 +0000)]
fix warnings

[r25164]

15 years agomake get_entity_irg return NULL for non methods as documented in typerep.h
Matthias Braun [Tue, 13 Jan 2009 12:03:14 +0000 (12:03 +0000)]
make get_entity_irg return NULL for non methods as documented in typerep.h

[r25163]

15 years ago- do cheap tests first
Michael Beck [Sat, 10 Jan 2009 05:29:40 +0000 (05:29 +0000)]
- do cheap tests first

[r25140]

15 years ago- removed useless be_req_t which was a wrapper around an arch_register_req_t
Michael Beck [Sat, 10 Jan 2009 05:15:45 +0000 (05:15 +0000)]
- removed useless be_req_t which was a wrapper around an arch_register_req_t

[r25139]

15 years agofix alignment for float constants
Matthias Braun [Fri, 9 Jan 2009 14:21:40 +0000 (14:21 +0000)]
fix alignment for float constants

[r25135]

15 years agomore verbose panis
Matthias Braun [Fri, 9 Jan 2009 14:21:10 +0000 (14:21 +0000)]
more verbose panis

[r25134]

15 years agobring arm back to a working state
Matthias Braun [Fri, 9 Jan 2009 14:20:15 +0000 (14:20 +0000)]
bring arm back to a working state

[r25133]

15 years agoRemove unused variable.
Christoph Mallon [Fri, 9 Jan 2009 11:48:16 +0000 (11:48 +0000)]
Remove unused variable.

[r25130]

15 years ago- propagate r23142 changes to all backends
Michael Beck [Fri, 9 Jan 2009 03:53:29 +0000 (03:53 +0000)]
- propagate r23142 changes to all backends

[r25129]

15 years agorename create_Immediate() into ia32_create_Immediate()
Michael Beck [Fri, 9 Jan 2009 03:45:57 +0000 (03:45 +0000)]
rename create_Immediate() into ia32_create_Immediate()

[r25128]

15 years ago- small cleanup
Michael Beck [Thu, 8 Jan 2009 18:10:19 +0000 (18:10 +0000)]
- small cleanup

[r25127]

15 years ago-small cleanup
Michael Beck [Thu, 8 Jan 2009 18:02:18 +0000 (18:02 +0000)]
-small cleanup

[r25126]

15 years ago- removed orphan declarations
Michael Beck [Thu, 8 Jan 2009 18:01:41 +0000 (18:01 +0000)]
- removed orphan declarations

[r25125]

15 years agoFixed debug info for defaultProj
Moritz Kroll [Mon, 5 Jan 2009 23:06:50 +0000 (23:06 +0000)]
Fixed debug info for defaultProj

[r25090]

15 years ago- add intrinsic lowerer for strcpy(), mempcpy(), memmove(), strncmp()
Michael Beck [Sat, 3 Jan 2009 04:48:20 +0000 (04:48 +0000)]
- add intrinsic lowerer for strcpy(), mempcpy(), memmove(), strncmp()

[r25072]

15 years ago- BugFix: not all users of the frame are Sel nodes (now all cases fixed)
Michael Beck [Sat, 3 Jan 2009 02:37:44 +0000 (02:37 +0000)]
- BugFix: not all users of the frame are Sel nodes (now all cases fixed)

[r25069]

15 years ago- BugFix: not all users of the frame are Sel nodes
Michael Beck [Fri, 2 Jan 2009 21:52:03 +0000 (21:52 +0000)]
- BugFix: not all users of the frame are Sel nodes
  This fixes 20030811-1.c from gcc-torture

[r25067]

15 years ago- add alignment of stack parameter to be parameters set
Michael Beck [Fri, 2 Jan 2009 16:47:18 +0000 (16:47 +0000)]
- add alignment of stack parameter to be parameters set

[r25054]

15 years agoHopefully the last fix to the value type stuff:
Michael Beck [Fri, 2 Jan 2009 15:03:50 +0000 (15:03 +0000)]
Hopefully the last fix to the value type stuff:
if an address of a register parameter is taken, create immediately a backing store
instead of moving it from the argument type (where it might not exist if no
value type was built)

[r25051]

15 years ago- implement the same value parameter type lowering for lower_calls (although
Michael Beck [Fri, 2 Jan 2009 14:01:13 +0000 (14:01 +0000)]
- implement the same value parameter type lowering for lower_calls (although
  most parts was already here)
- only remap Sel if we change the value parameter type in lower_dw.c

[r25047]

15 years ago- add some early assert() debugging helper
Michael Beck [Fri, 2 Jan 2009 05:16:55 +0000 (05:16 +0000)]
- add some early assert() debugging helper

[r25034]

15 years ago- correct lowering of the the value parameter type helps beabi ...
Michael Beck [Fri, 2 Jan 2009 05:15:11 +0000 (05:15 +0000)]
- correct lowering of the the value parameter type helps beabi ...

[r25033]

15 years agoRemove ununsed variable.
Christoph Mallon [Tue, 30 Dec 2008 16:38:57 +0000 (16:38 +0000)]
Remove ununsed variable.

[r24986]

15 years ago- BugFix: do NOT destroy the value_param type, cparser merges the type
Michael Beck [Tue, 30 Dec 2008 15:35:42 +0000 (15:35 +0000)]
- BugFix: do NOT destroy the value_param type, cparser merges the type
  of functions if possible: this fixes abi_null_mode_proj
- put more things into environment, so lesser calls are needed

[r24985]

15 years agoRemove write-only bitset.
Christoph Mallon [Mon, 29 Dec 2008 19:36:47 +0000 (19:36 +0000)]
Remove write-only bitset.

[r24958]

15 years agoPut braces at function start on new line.
Christoph Mallon [Mon, 29 Dec 2008 18:35:13 +0000 (18:35 +0000)]
Put braces at function start on new line.

[r24954]

15 years ago- implemented ia32 inport, outport for ir_bk_(in|out)port
Michael Beck [Mon, 29 Dec 2008 02:16:45 +0000 (02:16 +0000)]
- implemented ia32 inport, outport for ir_bk_(in|out)port

[r24938]

15 years ago- add ir_bk_outport and ir_bk_inport
Michael Beck [Mon, 29 Dec 2008 01:12:51 +0000 (01:12 +0000)]
- add ir_bk_outport and ir_bk_inport

[r24937]

15 years agoReimplement the "fp result returned in st0 code":
Michael Beck [Fri, 26 Dec 2008 04:07:58 +0000 (04:07 +0000)]
Reimplement the "fp result returned in st0 code":

The old code was fundamental broken, because it
- changes the cls of a node WITHOUT changing a following be_Keep
- produced the xmm0 reload BEFORE the Keep -> both nodes define xmm0

The new code handles some simple cases even more gracefully.

[r24897]

15 years ago- only use immediate mode_E if x87 unit is used
Michael Beck [Fri, 26 Dec 2008 04:03:55 +0000 (04:03 +0000)]
- only use immediate mode_E if x87 unit is used

[r24896]

15 years agoMake get_idx_irn(irg, idx) public (useful for debugging purposes)
Moritz Kroll [Thu, 25 Dec 2008 22:03:24 +0000 (22:03 +0000)]
Make get_idx_irn(irg, idx) public (useful for debugging purposes)

[r24894]

15 years ago- removed strange add_irn_dep(get_irg_end(cg->irg), res)
Michael Beck [Thu, 25 Dec 2008 03:59:56 +0000 (03:59 +0000)]
- removed strange add_irn_dep(get_irg_end(cg->irg), res)
  in create_const(): DO NOT RESTORE it without a meaningfull comment
  what for this is needed

[r24892]

15 years ago- add missing ir_bk_debugbreak case
Michael Beck [Thu, 25 Dec 2008 03:57:57 +0000 (03:57 +0000)]
- add missing ir_bk_debugbreak case

[r24891]

15 years agoUse the global nomem instead of building a new one.
Christoph Mallon [Wed, 24 Dec 2008 22:31:16 +0000 (22:31 +0000)]
Use the global nomem instead of building a new one.

[r24890]

15 years agoRemove unused variable.
Christoph Mallon [Wed, 24 Dec 2008 22:29:07 +0000 (22:29 +0000)]
Remove unused variable.

[r24889]

15 years ago- put the nomem and noreg_GP nodes into global variables:
Michael Beck [Wed, 24 Dec 2008 18:17:18 +0000 (18:17 +0000)]
- put the nomem and noreg_GP nodes into global variables:
  this should safe a huge amount of useless calls

[r24888]

15 years ago- gcc uses UD2 for __builtin_trap()
Michael Beck [Wed, 24 Dec 2008 03:45:46 +0000 (03:45 +0000)]
- gcc uses UD2 for __builtin_trap()
- implemented ir_bk_debugbreak

[r24885]

15 years ago- removed unused variable
Michael Beck [Wed, 24 Dec 2008 02:48:36 +0000 (02:48 +0000)]
- removed unused variable

[r24884]

15 years ago- add builtin_(trap|bswap)
Michael Beck [Tue, 23 Dec 2008 22:30:31 +0000 (22:30 +0000)]
- add builtin_(trap|bswap)

[r24882]

15 years agoRemove unused local variable.
Christoph Mallon [Tue, 23 Dec 2008 22:22:55 +0000 (22:22 +0000)]
Remove unused local variable.

[r24881]

15 years agoUse the register mode when transforming ASM projs.
Christoph Mallon [Tue, 23 Dec 2008 22:18:07 +0000 (22:18 +0000)]
Use the register mode when transforming ASM projs.

[r24880]