Moritz Kroll [Mon, 30 Mar 2009 08:16:21 +0000 (08:16 +0000)]
Some minor changes
[r25748]
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]
Michael Beck [Sat, 21 Mar 2009 11:46:34 +0000 (11:46 +0000)]
- register ALL possible addresses yet
- phi-translate the antic sets
[r25719]
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]
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]
Michael Beck [Fri, 20 Mar 2009 11:16:00 +0000 (11:16 +0000)]
- let %+F print entities of SymConst and Sel instructions
[r25713]
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]
Michael Beck [Thu, 19 Mar 2009 14:00:05 +0000 (14:00 +0000)]
- add rbitset_set_all()
[r25702]
Michael Beck [Wed, 18 Mar 2009 14:09:26 +0000 (14:09 +0000)]
fixed comment
[r25701]
Michael Beck [Tue, 17 Mar 2009 15:44:17 +0000 (15:44 +0000)]
- BugFix: the end block might be unreachable, check this first
[r25700]
Michael Beck [Tue, 17 Mar 2009 15:37:07 +0000 (15:37 +0000)]
- BugFix: use env.rbs_size everywhere
[r25699]
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]
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]
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]
Michael Beck [Tue, 10 Mar 2009 15:00:37 +0000 (15:00 +0000)]
- Do not produce Loads WITHOUT memory
[r25662]
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]
Matthias Braun [Tue, 10 Mar 2009 01:31:11 +0000 (01:31 +0000)]
PIC fixes for global vars
[r25655]
Moritz Kroll [Mon, 9 Mar 2009 20:39:12 +0000 (20:39 +0000)]
Updated Makefile.am
[r25653]
Michael Beck [Mon, 9 Mar 2009 15:13:26 +0000 (15:13 +0000)]
- C99 feature removed
[r25647]
Michael Beck [Mon, 9 Mar 2009 14:54:35 +0000 (14:54 +0000)]
- C99 feature removed
[r25646]
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]
Matthias Braun [Mon, 9 Mar 2009 02:04:11 +0000 (02:04 +0000)]
new register allocator
[r25643]
Matthias Braun [Sun, 8 Mar 2009 17:09:41 +0000 (17:09 +0000)]
fix
[r25641]
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]
Moritz Kroll [Tue, 3 Mar 2009 00:54:27 +0000 (00:54 +0000)]
- walk_const_code now walks all segments, not just global.
- Renamed type_walk_plus_frames to type_walk_prog.
- irio: Added support for the other segments
[r25598]
Moritz Kroll [Mon, 2 Mar 2009 23:53:51 +0000 (23:53 +0000)]
Fix .ctors and .dtors section declaration in MinGW mode
[r25596]
Moritz Kroll [Mon, 2 Mar 2009 20:56:48 +0000 (20:56 +0000)]
Fixed Makefile.am due to r25581
[r25595]
Moritz Kroll [Mon, 2 Mar 2009 16:05:56 +0000 (16:05 +0000)]
- Fixed masking of upper nibble of bitfield constants for tarval string output.
- Report an error if reading a tarval string with unappropriate characters
for the base indicated by the base prefix
- Use "0x" prefix, when writing irms_int_number native (hex) values.
[r25594]
Moritz Kroll [Mon, 2 Mar 2009 14:34:58 +0000 (14:34 +0000)]
irio: Added support for DivRL
[r25593]
Moritz Kroll [Mon, 2 Mar 2009 14:33:44 +0000 (14:33 +0000)]
Renamed is_Div_remainderless to get_Div_no_remainder
[r25592]
Moritz Kroll [Mon, 2 Mar 2009 14:15:21 +0000 (14:15 +0000)]
irio: Readded support for strictConv
[r25591]
Matthias Braun [Mon, 2 Mar 2009 11:51:07 +0000 (11:51 +0000)]
add missing non-inline implementation of get/set_entity_alignment
[r25590]
Matthias Braun [Mon, 2 Mar 2009 11:29:31 +0000 (11:29 +0000)]
add alignment to entities
[r25588]
Matthias Braun [Mon, 2 Mar 2009 11:28:11 +0000 (11:28 +0000)]
partially revert alignment changes, ELF/GAS seem to take alignment in bytes, MACHO in log2
[r25587]
Moritz Kroll [Mon, 2 Mar 2009 00:34:34 +0000 (00:34 +0000)]
Reverted changes from 25529
[r25585]
Matthias Braun [Mon, 2 Mar 2009 00:16:45 +0000 (00:16 +0000)]
fix some cases of PIC emitting
[r25583]
Matthias Braun [Mon, 2 Mar 2009 00:14:50 +0000 (00:14 +0000)]
fix alignment for .comm variables
[r25582]
Matthias Braun [Mon, 2 Mar 2009 00:13:43 +0000 (00:13 +0000)]
remove old files
[r25581]
Matthias Braun [Mon, 2 Mar 2009 00:13:11 +0000 (00:13 +0000)]
use DB instead of DBG
[r25580]
Matthias Braun [Mon, 2 Mar 2009 00:12:32 +0000 (00:12 +0000)]
simplify hungarian interface
[r25579]
Matthias Braun [Sat, 28 Feb 2009 02:15:10 +0000 (02:15 +0000)]
fix some warnings
[r25578]
Michael Beck [Fri, 27 Feb 2009 13:51:37 +0000 (13:51 +0000)]
- renamed Resource.h into resource.h
[r25574]
Michael Beck [Fri, 27 Feb 2009 13:49:36 +0000 (13:49 +0000)]
- BugFix: value_param_tp must always exist
[r25573]
Michael Beck [Fri, 27 Feb 2009 12:55:06 +0000 (12:55 +0000)]
- IR nodes now have node numbers in RELEASE mode, this fixes problems in backend
and seems generally to be a good idea
[r25572]
Michael Beck [Fri, 27 Feb 2009 12:53:04 +0000 (12:53 +0000)]
- fixed warnings
- reformatted to "firm" style
[r25571]
Michael Beck [Fri, 27 Feb 2009 12:29:36 +0000 (12:29 +0000)]
- add doxygen comment
[r25570]
Michael Beck [Fri, 27 Feb 2009 12:28:11 +0000 (12:28 +0000)]
- fixed comments
[r25569]
Christoph Mallon [Sun, 22 Feb 2009 12:18:55 +0000 (12:18 +0000)]
LINTify: s/fall through/FALLTHROUGH/.
[r25557]
Christoph Mallon [Sun, 22 Feb 2009 12:18:26 +0000 (12:18 +0000)]
Ask env where python is.
[r25556]
Christoph Mallon [Sun, 22 Feb 2009 12:16:42 +0000 (12:16 +0000)]
When sorting calls enforce a total order, because qsort() needs one.
Revoke PhD from: shack
Revoke diploma from: chriswue
[r25555]
Moritz Kroll [Sat, 21 Feb 2009 22:21:40 +0000 (22:21 +0000)]
Make Visual Studio happy
[r25554]
Moritz Kroll [Sat, 21 Feb 2009 21:38:17 +0000 (21:38 +0000)]
irio: Ex/Import non-internal modes
[r25553]
Moritz Kroll [Sat, 21 Feb 2009 21:35:55 +0000 (21:35 +0000)]
typo
[r25552]
Michael Beck [Sat, 21 Feb 2009 20:10:58 +0000 (20:10 +0000)]
- BugFix: the block of a Confirm can (and is in most cases) different of the block of its value
[r25551]
Michael Beck [Sat, 21 Feb 2009 19:56:55 +0000 (19:56 +0000)]
updated for rename
[r25550]
Moritz Kroll [Sat, 21 Feb 2009 18:53:03 +0000 (18:53 +0000)]
irio: Save all attributes of Cond
[r25548]
Moritz Kroll [Sat, 21 Feb 2009 18:50:43 +0000 (18:50 +0000)]
Renamed get_Cond_defaultProj() to get_Cond_default_proj() for consistency. Added set_Cond_default_proj() and get_cond_kind_name(). Made get_cond_jmp_predicate_name() consistent with other enum name functions.
[r25545]
Moritz Kroll [Sat, 21 Feb 2009 18:07:53 +0000 (18:07 +0000)]
Name cond.pred attribute consistent to getter/setters (-> cond.jmp_pred)
[r25544]
Moritz Kroll [Sat, 21 Feb 2009 16:32:12 +0000 (16:32 +0000)]
irio: Map id of body block of const irg to new const irg
[r25543]
Moritz Kroll [Sat, 21 Feb 2009 15:53:20 +0000 (15:53 +0000)]
irio: Improved dump order to allow self-referencing structs
[r25542]
Moritz Kroll [Sat, 21 Feb 2009 15:22:44 +0000 (15:22 +0000)]
irio: Save method variadicity
[r25541]
Moritz Kroll [Sat, 21 Feb 2009 15:22:15 +0000 (15:22 +0000)]
Fixed set_method_value_param_type()
[r25540]
Moritz Kroll [Sat, 21 Feb 2009 14:49:38 +0000 (14:49 +0000)]
irio: Fixed handling of frame types and value types
[r25539]
Moritz Kroll [Fri, 20 Feb 2009 21:55:51 +0000 (21:55 +0000)]
irio: Added union support. Save calling_convention and additional_properties attributes of methods
[r25538]
Moritz Kroll [Fri, 20 Feb 2009 20:30:20 +0000 (20:30 +0000)]
irio: Fixed symbols with same string but different type tag
[r25537]
Moritz Kroll [Fri, 20 Feb 2009 20:20:31 +0000 (20:20 +0000)]
Fixed new_tarval_from_str() for boolean and reference modes (it hurts!!!)
[r25536]
Moritz Kroll [Thu, 19 Feb 2009 14:23:47 +0000 (14:23 +0000)]
Added strict_flag to new_r/rd_Conv(). Fixed strict Convs for irio.
[r25529]
Moritz Kroll [Thu, 19 Feb 2009 14:22:33 +0000 (14:22 +0000)]
Fixed reading infinity floats from strings
[r25528]
Moritz Kroll [Wed, 18 Feb 2009 22:18:31 +0000 (22:18 +0000)]
irio: Added CopyB support
[r25526]
Moritz Kroll [Wed, 18 Feb 2009 22:00:28 +0000 (22:00 +0000)]
irio: Fixed wrong line numbers
[r25525]
Moritz Kroll [Wed, 18 Feb 2009 21:24:27 +0000 (21:24 +0000)]
irio: Added support for Builtin nodes
[r25524]
Matthias Braun [Wed, 18 Feb 2009 16:05:13 +0000 (16:05 +0000)]
small changes to make unionfind a tiny bit more efficient and easier to use
[r25523]
Moritz Kroll [Wed, 18 Feb 2009 01:00:12 +0000 (01:00 +0000)]
irio: Fixed importing entities with atomic values
[r25522]
Moritz Kroll [Wed, 18 Feb 2009 00:58:29 +0000 (00:58 +0000)]
irio: Added support for Quot and Mod nodes
[r25521]
Moritz Kroll [Wed, 18 Feb 2009 00:26:48 +0000 (00:26 +0000)]
irio: Also dump the frame types of irgs
[r25520]
Moritz Kroll [Wed, 18 Feb 2009 00:04:05 +0000 (00:04 +0000)]
irio: Implemented importing entity initializers
[r25519]
Moritz Kroll [Tue, 17 Feb 2009 22:59:46 +0000 (22:59 +0000)]
irio: Started adding support for entity initializers
[r25518]
Moritz Kroll [Tue, 17 Feb 2009 22:33:29 +0000 (22:33 +0000)]
Added has_entity_initializer() and get_initializer_kind_name()
[r25517]
Sebastian Buchwald [Wed, 11 Feb 2009 13:47:03 +0000 (13:47 +0000)]
PBQP transformer doesn't support Mux nodes with constant values (see r25205).
[r25479]
Moritz Kroll [Wed, 11 Feb 2009 00:19:39 +0000 (00:19 +0000)]
irio: Fixed ir_cons_flags import for Load and Store. Added support for Div and DivMod
[r25473]
Michael Beck [Tue, 10 Feb 2009 23:58:05 +0000 (23:58 +0000)]
- ensure that the end block is always last/first
- find_definition() can fail if memory is accessed using different modes
[r25472]
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]