Michael Beck [Tue, 10 Feb 2009 17:23:07 +0000 (17:23 +0000)]
- skip Confirm and Cast for address calculation
- skip keep-alive edges
- fixed: do not insert of fully redundand loads (already handled earlier)
- partly fixed: End block is not reached using out-edges ...
[r25465]
Michael Beck [Tue, 10 Feb 2009 13:30:18 +0000 (13:30 +0000)]
- BugFixes: WAW can inly be done immediately if both stores
are in the same block
- find_definition() must check real dominance for values, not only for blocks
[r25464]
Moritz Kroll [Fri, 6 Feb 2009 00:43:50 +0000 (00:43 +0000)]
- Added ir_export which is supposed to export the whole irp
- Implemented exporting entity initializers
- get_compound_ent_value now also uses skip_Id... currently this is needed,
because of the way entity initializers are imported using Dummy nodes
- Fixed import of End node
- Added import/export support for pointer types
[r25440]
Michael Beck [Thu, 5 Feb 2009 15:50:34 +0000 (15:50 +0000)]
- don't call it Schn... it's a symbol table
- place some panic()'s instead of assert(0)
[r25439]
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]
Moritz Kroll [Wed, 4 Feb 2009 13:14:40 +0000 (13:14 +0000)]
Prepare ir_io scripts for Jam
[r25426]
Michael Beck [Wed, 4 Feb 2009 10:34:38 +0000 (10:34 +0000)]
- add missing Load and Builtin support for opcode()
[r25423]
Moritz Kroll [Wed, 4 Feb 2009 09:42:57 +0000 (09:42 +0000)]
Added first version of IR importer/exporter
[r25422]
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]
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]
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]
Michael Beck [Sun, 1 Feb 2009 20:21:44 +0000 (20:21 +0000)]
- switch off debug mask
[r25411]
Michael Beck [Sun, 1 Feb 2009 20:20:32 +0000 (20:20 +0000)]
- fixed exchange
[r25410]
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]
Michael Beck [Fri, 30 Jan 2009 17:14:53 +0000 (17:14 +0000)]
- BugFix: fixed wrong usage of classify_pointer()
[r25405]
Matthias Braun [Wed, 28 Jan 2009 20:22:14 +0000 (20:22 +0000)]
update NEWS, fix warning, remove unnecessary genconfigure.sh (use autoreconf)
[r25388]
Matthias Braun [Tue, 27 Jan 2009 10:19:00 +0000 (10:19 +0000)]
initialize backend opcode right after frontend opcodes
[r25379]
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]
Michael Beck [Thu, 22 Jan 2009 13:32:11 +0000 (13:32 +0000)]
- indentation
[r25332]
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]
Moritz Kroll [Wed, 21 Jan 2009 17:40:25 +0000 (17:40 +0000)]
Added Dummy node which does not CSE with anything
[r25322]
Michael Beck [Tue, 20 Jan 2009 13:08:18 +0000 (13:08 +0000)]
- set this-call when removing trampolines
[r25299]
Matthias Braun [Tue, 20 Jan 2009 09:59:02 +0000 (09:59 +0000)]
fix warnings
[r25292]
Matthias Braun [Tue, 20 Jan 2009 09:57:19 +0000 (09:57 +0000)]
fix warnings
[r25291]
Matthias Braun [Tue, 20 Jan 2009 09:57:01 +0000 (09:57 +0000)]
fix warnings
[r25290]
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]
Michael Beck [Tue, 20 Jan 2009 03:22:56 +0000 (03:22 +0000)]
- renamed variadicity to ir_variadicity
[r25285]
Michael Beck [Tue, 20 Jan 2009 03:14:54 +0000 (03:14 +0000)]
- when control flow is changed, invalidate the entity usage state
[r25284]
Michael Beck [Tue, 20 Jan 2009 03:05:45 +0000 (03:05 +0000)]
- check for peculiarity_description for inner functions
[r25283]
Michael Beck [Tue, 20 Jan 2009 03:04:59 +0000 (03:04 +0000)]
- say debug message BEFORE the irg is killed
[r25282]
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]
Michael Beck [Tue, 20 Jan 2009 03:03:15 +0000 (03:03 +0000)]
- set the entity state to NOT computed after inlining
[r25280]
Michael Beck [Tue, 20 Jan 2009 03:02:31 +0000 (03:02 +0000)]
- make a direct call from a trampoline call if possible
[r25279]
Michael Beck [Tue, 20 Jan 2009 01:23:27 +0000 (01:23 +0000)]
- undo erroneous checkin
[r25278]
Michael Beck [Tue, 20 Jan 2009 01:20:48 +0000 (01:20 +0000)]
- fixed handling of outer frame access
[r25277]
Michael Beck [Tue, 20 Jan 2009 01:20:08 +0000 (01:20 +0000)]
- teach the analyzer how to handle inner functions
[r25276]
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]
Michael Beck [Mon, 19 Jan 2009 23:13:12 +0000 (23:13 +0000)]
- do not lower Sels to outer frame
[r25273]
Michael Beck [Mon, 19 Jan 2009 23:12:13 +0000 (23:12 +0000)]
- implemented get_irg_value_param_type()
[r25272]
Michael Beck [Mon, 19 Jan 2009 20:55:54 +0000 (20:55 +0000)]
- do not kick inner functions from the frame type
[r25271]
Matthias Braun [Mon, 19 Jan 2009 19:15:08 +0000 (19:15 +0000)]
assert that edges are enabled before using them
[r25269]
Matthias Braun [Mon, 19 Jan 2009 19:14:20 +0000 (19:14 +0000)]
not buggy (said Michael)
[r25268]
Michael Beck [Mon, 19 Jan 2009 16:18:46 +0000 (16:18 +0000)]
- Fixed ir_bk_inner_trampoline
[r25264]
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]
Michael Beck [Mon, 19 Jan 2009 16:11:24 +0000 (16:11 +0000)]
corectly handle this_call
[r25262]
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]
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]
Michael Beck [Sun, 18 Jan 2009 19:57:45 +0000 (19:57 +0000)]
- preliminary steps to remove the value_param Proj
[r25245]
Michael Beck [Sun, 18 Jan 2009 17:21:11 +0000 (17:21 +0000)]
- fixed typos
[r25243]
Michael Beck [Fri, 16 Jan 2009 20:26:42 +0000 (20:26 +0000)]
- really remove Min/Max, fix r25220
[r25230]
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]
Michael Beck [Fri, 16 Jan 2009 18:02:41 +0000 (18:02 +0000)]
- add missing \n
[r25228]
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]
Matthias Braun [Fri, 16 Jan 2009 15:14:14 +0000 (15:14 +0000)]
min and max are no more
[r25220]
Matthias Braun [Fri, 16 Jan 2009 14:47:58 +0000 (14:47 +0000)]
fix warning
[r25219]
Sebastian Buchwald [Thu, 15 Jan 2009 12:07:10 +0000 (12:07 +0000)]
PBQP transformer doesn't support Mux nodes with constant values.
[r25205]
Michael Beck [Wed, 14 Jan 2009 15:14:14 +0000 (15:14 +0000)]
- add support for statistics and merge debug info
[r25195]
Michael Beck [Wed, 14 Jan 2009 15:12:24 +0000 (15:12 +0000)]
- add support for cond_eval statistics
[r25194]
Michael Beck [Wed, 14 Jan 2009 15:10:13 +0000 (15:10 +0000)]
- fixed signed/unsigned warning
[r25193]
Michael Beck [Wed, 14 Jan 2009 02:34:51 +0000 (02:34 +0000)]
- recode r25185 "the Firm way"
[r25188]
Moritz Kroll [Wed, 14 Jan 2009 00:31:40 +0000 (00:31 +0000)]
Conv(X) & all_one(mode(X)) = Conv(X)
[r25185]
Christoph Mallon [Tue, 13 Jan 2009 15:10:28 +0000 (15:10 +0000)]
Resolve warning.
[r25176]
Christoph Mallon [Tue, 13 Jan 2009 12:49:02 +0000 (12:49 +0000)]
Correct documentation of return value.
[r25168]
Matthias Braun [Tue, 13 Jan 2009 12:07:02 +0000 (12:07 +0000)]
fix warnings
[r25164]
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]
Michael Beck [Sat, 10 Jan 2009 05:29:40 +0000 (05:29 +0000)]
- do cheap tests first
[r25140]
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]
Matthias Braun [Fri, 9 Jan 2009 14:21:40 +0000 (14:21 +0000)]
fix alignment for float constants
[r25135]
Matthias Braun [Fri, 9 Jan 2009 14:21:10 +0000 (14:21 +0000)]
more verbose panis
[r25134]
Matthias Braun [Fri, 9 Jan 2009 14:20:15 +0000 (14:20 +0000)]
bring arm back to a working state
[r25133]
Christoph Mallon [Fri, 9 Jan 2009 11:48:16 +0000 (11:48 +0000)]
Remove unused variable.
[r25130]
Michael Beck [Fri, 9 Jan 2009 03:53:29 +0000 (03:53 +0000)]
- propagate r23142 changes to all backends
[r25129]
Michael Beck [Fri, 9 Jan 2009 03:45:57 +0000 (03:45 +0000)]
rename create_Immediate() into ia32_create_Immediate()
[r25128]
Michael Beck [Thu, 8 Jan 2009 18:10:19 +0000 (18:10 +0000)]
- small cleanup
[r25127]
Michael Beck [Thu, 8 Jan 2009 18:02:18 +0000 (18:02 +0000)]
-small cleanup
[r25126]
Michael Beck [Thu, 8 Jan 2009 18:01:41 +0000 (18:01 +0000)]
- removed orphan declarations
[r25125]
Moritz Kroll [Mon, 5 Jan 2009 23:06:50 +0000 (23:06 +0000)]
Fixed debug info for defaultProj
[r25090]
Michael Beck [Sat, 3 Jan 2009 04:48:20 +0000 (04:48 +0000)]
- add intrinsic lowerer for strcpy(), mempcpy(), memmove(), strncmp()
[r25072]
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]
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]
Michael Beck [Fri, 2 Jan 2009 16:47:18 +0000 (16:47 +0000)]
- add alignment of stack parameter to be parameters set
[r25054]
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]
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]
Michael Beck [Fri, 2 Jan 2009 05:16:55 +0000 (05:16 +0000)]
- add some early assert() debugging helper
[r25034]
Michael Beck [Fri, 2 Jan 2009 05:15:11 +0000 (05:15 +0000)]
- correct lowering of the the value parameter type helps beabi ...
[r25033]
Christoph Mallon [Tue, 30 Dec 2008 16:38:57 +0000 (16:38 +0000)]
Remove ununsed variable.
[r24986]
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]
Christoph Mallon [Mon, 29 Dec 2008 19:36:47 +0000 (19:36 +0000)]
Remove write-only bitset.
[r24958]
Christoph Mallon [Mon, 29 Dec 2008 18:35:13 +0000 (18:35 +0000)]
Put braces at function start on new line.
[r24954]
Michael Beck [Mon, 29 Dec 2008 02:16:45 +0000 (02:16 +0000)]
- implemented ia32 inport, outport for ir_bk_(in|out)port
[r24938]
Michael Beck [Mon, 29 Dec 2008 01:12:51 +0000 (01:12 +0000)]
- add ir_bk_outport and ir_bk_inport
[r24937]
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]
Michael Beck [Fri, 26 Dec 2008 04:03:55 +0000 (04:03 +0000)]
- only use immediate mode_E if x87 unit is used
[r24896]
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]
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]
Michael Beck [Thu, 25 Dec 2008 03:57:57 +0000 (03:57 +0000)]
- add missing ir_bk_debugbreak case
[r24891]
Christoph Mallon [Wed, 24 Dec 2008 22:31:16 +0000 (22:31 +0000)]
Use the global nomem instead of building a new one.
[r24890]
Christoph Mallon [Wed, 24 Dec 2008 22:29:07 +0000 (22:29 +0000)]
Remove unused variable.
[r24889]
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]
Michael Beck [Wed, 24 Dec 2008 03:45:46 +0000 (03:45 +0000)]
- gcc uses UD2 for __builtin_trap()
- implemented ir_bk_debugbreak
[r24885]