Michael Beck [Thu, 14 Jan 2010 23:49:06 +0000 (23:49 +0000)]
As a reminiscence to the famous MAC/65 assembler changed modifier + into > and - into <, so >R is the hight part of a register, <R the low part!
[r26963]
Michael Beck [Thu, 14 Jan 2010 23:45:52 +0000 (23:45 +0000)]
C99 feature removed.
[r26962]
Christian Helmer [Thu, 14 Jan 2010 15:23:29 +0000 (15:23 +0000)]
Loop inversion does not fail the given test cases but is still 'dumb'.
[r26961]
Matthias Braun [Thu, 14 Jan 2010 12:41:34 +0000 (12:41 +0000)]
Michael found a nice trick to implement sets for float compares
[r26960]
Michael Beck [Thu, 14 Jan 2010 00:08:39 +0000 (00:08 +0000)]
Reverted r26952, using the blocks irg is ok ...
[r26959]
Michael Beck [Wed, 13 Jan 2010 23:16:27 +0000 (23:16 +0000)]
Add my debugging code it might be useful in the future ...
[r26958]
Matthias Braun [Wed, 13 Jan 2010 15:48:12 +0000 (15:48 +0000)]
remove cond_kind attribute, it was never used in a consistent or correct way anyway
[r26957]
Matthias Braun [Wed, 13 Jan 2010 15:41:28 +0000 (15:41 +0000)]
cleanup and fix some bugs in ir reader/writer
[r26956]
Michael Beck [Tue, 12 Jan 2010 23:02:56 +0000 (23:02 +0000)]
BugFix: the name o for the NEW NODE was a little bit misleading ...
[r26955]
Michael Beck [Tue, 12 Jan 2010 22:27:48 +0000 (22:27 +0000)]
Try to fix a rare edges bug:
- if a node was built with edges disabled gets dead, but is revived by CSE when edges are enabled, it had NO edges
- tries to keep track of such dead nodes ...
[r26954]
Michael Beck [Tue, 12 Jan 2010 21:35:35 +0000 (21:35 +0000)]
Simplify pointer arithmetic.
[r26953]
Michael Beck [Tue, 12 Jan 2010 21:31:30 +0000 (21:31 +0000)]
Creating a block on some irg is pointless if all other nodes are created on current_ir_graph.
[r26952]
Olaf Liebe [Tue, 12 Jan 2010 14:10:17 +0000 (14:10 +0000)]
Fixed graph-independent construction in mux lowering
[r26951]
Matthias Braun [Mon, 11 Jan 2010 18:11:13 +0000 (18:11 +0000)]
panic instead of wrong results for Set and CMov with float compare. Rename Set to Setcc and CMov to CMovcc
[r26950]
Michael Beck [Sat, 9 Jan 2010 03:53:25 +0000 (03:53 +0000)]
Small optimization. Note that the else case crashes libFirm and must be fixed, or disable inlining with exceptions yet.
[r26943]
Michael Beck [Sat, 9 Jan 2010 01:55:48 +0000 (01:55 +0000)]
Add win32 version of obstack_vprintf.
[r26940]
Michael Beck [Sat, 9 Jan 2010 01:30:31 +0000 (01:30 +0000)]
the find_pointer_type interface still needs a mode because we might have pointers with different modes ...
[r26938]
Michael Beck [Sat, 9 Jan 2010 01:26:19 +0000 (01:26 +0000)]
the find_pointer_type interface still needs a mode because we might have pointers with different modes ...
small C99 fix
[r26937]
Michael Beck [Sat, 9 Jan 2010 00:36:17 +0000 (00:36 +0000)]
BugFixes:
- fixed memory leak
- invalidate the analysis info only if the graph contains muxes
- fixed linking of Proj nodes
- fixed linking of mbh lists: no need to manipulate them, as new newly created block is a mbh itself
[r26936]
Michael Beck [Sat, 9 Jan 2010 00:30:16 +0000 (00:30 +0000)]
- part_block() does not change the current_block anymore
- update docu: collect_phiprojs() puts all partBlocks into a list of its mbh, part_block uses this info
- the lower block (old_block) of a splitted block is always a mbh
- part_block sets and restores current_ir_graph and did not depends on its preliminary setting
[r26935]
Matthias Braun [Fri, 8 Jan 2010 19:09:47 +0000 (19:09 +0000)]
fix last commit
[r26932]
Matthias Braun [Fri, 8 Jan 2010 18:35:53 +0000 (18:35 +0000)]
lower ConvB->LL and LL->ConvB and simplify code
[r26930]
Matthias Braun [Thu, 7 Jan 2010 20:01:36 +0000 (20:01 +0000)]
fix fehler172
[r26926]
Matthias Braun [Thu, 7 Jan 2010 18:47:22 +0000 (18:47 +0000)]
fix extended fehler171
[r26924]
Matthias Braun [Thu, 7 Jan 2010 18:40:52 +0000 (18:40 +0000)]
Fix fehler171
[r26922]
Matthias Braun [Thu, 7 Jan 2010 18:30:31 +0000 (18:30 +0000)]
Liebe part3: mux lowerer (with minimal changes)
[r26919]
Matthias Braun [Thu, 7 Jan 2010 18:30:27 +0000 (18:30 +0000)]
remove unused code
[r26918]
Matthias Braun [Thu, 7 Jan 2010 18:27:46 +0000 (18:27 +0000)]
make part_block independent of current_ir_graph
[r26917]
Matthias Braun [Thu, 7 Jan 2010 18:27:27 +0000 (18:27 +0000)]
we still need to read in pointer mode
[r26916]
Matthias Braun [Thu, 7 Jan 2010 15:57:08 +0000 (15:57 +0000)]
Liebe bugs part2: switch cases are analyzed in long variables, use LONG_MAX and LONG_MIN
[r26915]
Matthias Braun [Thu, 7 Jan 2010 15:01:47 +0000 (15:01 +0000)]
add comments and descriptions to mode_b lowering; reformat lower_mode_b.c to latest coding conventions
[r26914]
Matthias Braun [Thu, 7 Jan 2010 13:52:30 +0000 (13:52 +0000)]
Liebe bugs part1: Eor(1, Proj(Cmp)) was broken - simply remove the optimisation since Eor(1, X) gets transformed to Not anyway and Not(Cmp) gets optimized
[r26913]
Michael Beck [Thu, 7 Jan 2010 03:06:33 +0000 (03:06 +0000)]
Gracefully handle a missing retrieve_type_dbg.
[r26910]
Matthias Braun [Tue, 5 Jan 2010 15:56:54 +0000 (15:56 +0000)]
Primitive, Pointer, Array and Method types are anonymous now
- There's a new type_dbg_info* that allows you to attach debug names to types
- get_type_name and get_type_ident are now more. The new ir_print_type
and the usual ir_printf("%+F", type) help in most usage cases.
But you should be aware that names are not guaranteed to be unique anymore
(or positively said: You don't have no trouble anymore building unique names
in code that creates types)
- No need to specify mode for new pointer types anymore (you can still do it
with set_type_mode)
[r26909]
Michael Beck [Mon, 4 Jan 2010 00:50:55 +0000 (00:50 +0000)]
BugFix: fixed conversion for x < lo || x >|>= hi
[r26904]
Michael Beck [Sun, 3 Jan 2010 15:48:29 +0000 (15:48 +0000)]
BugFix:
- the upper block must dominate the block, else we cannot fuse
upper and lower block
[r26899]
Michael Beck [Sun, 3 Jan 2010 14:14:27 +0000 (14:14 +0000)]
BugFixes:
- place new constructed code into the right block, which might
be neither the block of any Cmp
- only the <null, null> test can have different operands, all others
must have one common op in both compares
- remove the meaningless <null, null> message
[r26898]
Michael Beck [Sun, 3 Jan 2010 13:11:15 +0000 (13:11 +0000)]
BugFix: a Cmp can be in a different block than its Cond
[r26897]
Michael Beck [Sun, 3 Jan 2010 11:32:49 +0000 (11:32 +0000)]
Deleted support for type_id.
[r26896]
Michael Beck [Sun, 3 Jan 2010 11:28:44 +0000 (11:28 +0000)]
I was annoyed by the compiler warnings about implicit conversions.
[r26895]
Michael Beck [Sat, 2 Jan 2010 21:03:10 +0000 (21:03 +0000)]
Fixed some obviously wrong conditions.
[r26890]
Michael Beck [Sat, 2 Jan 2010 18:05:35 +0000 (18:05 +0000)]
- handle p == 0 || q == 0
[r26885]
Michael Beck [Sat, 2 Jan 2010 17:13:16 +0000 (17:13 +0000)]
fixed doxygen comment
[r26883]
Michael Beck [Sat, 2 Jan 2010 17:12:27 +0000 (17:12 +0000)]
Allow the modulo-shift setting for reference modes. This is a work-around that fixes find_unsigned_mode().
[r26882]
Matthias Braun [Sat, 2 Jan 2010 15:12:28 +0000 (15:12 +0000)]
I was annoyed by the compiler warnings about declaration isn't a prototype
[r26880]
Matthias Braun [Sat, 2 Jan 2010 13:57:38 +0000 (13:57 +0000)]
cleanup dbginfo public API: no dbg_snprint anymore
(there is retrieve_dbginfo stuff already there! And don't tell me about possible
future extensions where sets of locations are merged and someone generates
usefull debug info from that. Noone uses this currently!)
[r26878]
Michael Beck [Sat, 2 Jan 2010 13:51:44 +0000 (13:51 +0000)]
- handle p == NULL || q == NULL and friends
- fixed a lot of comments
[r26877]
Matthias Braun [Sat, 2 Jan 2010 13:34:36 +0000 (13:34 +0000)]
be consistent and only add extern C in the firm.h header and in no other header
[r26876]
Matthias Braun [Sat, 2 Jan 2010 11:58:15 +0000 (11:58 +0000)]
fix my last commit (shouldn't commit so fast...)
[r26875]
Matthias Braun [Sat, 2 Jan 2010 11:51:17 +0000 (11:51 +0000)]
really remove type_id
[r26874]
Matthias Braun [Sat, 2 Jan 2010 11:32:35 +0000 (11:32 +0000)]
remove the unused 'ident' type, remove tpo_max add tpo_last
[r26873]
Michael Beck [Sat, 2 Jan 2010 02:49:51 +0000 (02:49 +0000)]
- implement a <= x <= b ==> x-a <=u b-a
- fixed path compression
- use debug output instead of fprintf
[r26872]
Michael Beck [Sat, 2 Jan 2010 01:49:09 +0000 (01:49 +0000)]
Fixed and enhanced boolopt:
- added missing Phi-check
- added missing path compression
- do not add bad nodes, as these no not reduce the number of block inputs
- add doxygen comments
[r26871]
Michael Beck [Thu, 31 Dec 2009 14:05:15 +0000 (14:05 +0000)]
get_arm_shift_modifier() has no implementation, removed declaration.
[r26869]
Michael Beck [Wed, 30 Dec 2009 01:10:29 +0000 (01:10 +0000)]
- use irg instead of current_ir_graph
[r26868]
Michael Beck [Wed, 30 Dec 2009 01:00:26 +0000 (01:00 +0000)]
- inside irg_verify() call irn_verify_irg(), not irn_verify() (which is disabled if DEBUG_libfirm is not set)
- small BugFix: output the right graph in error message
[r26867]
Michael Beck [Wed, 30 Dec 2009 00:46:29 +0000 (00:46 +0000)]
implement ir_graph_pass_set_parallel()
[r26866]
Michael Beck [Wed, 30 Dec 2009 00:22:58 +0000 (00:22 +0000)]
- changed to able to "run the path parallel"
- adapt to firm coding conventions even more
[r26865]
Michael Beck [Wed, 30 Dec 2009 00:04:50 +0000 (00:04 +0000)]
- kicked useless blocks
[r26864]
Michael Beck [Tue, 29 Dec 2009 23:48:22 +0000 (23:48 +0000)]
fix for compound_path deprecation
[r26862]
Matthias Braun [Tue, 29 Dec 2009 16:56:12 +0000 (16:56 +0000)]
move compound_graph path stuff into own files and add deprecation comments
[r26860]
Matthias Braun [Tue, 29 Dec 2009 16:49:44 +0000 (16:49 +0000)]
fix another compound_graph_path usage
[r26857]
Matthias Braun [Tue, 29 Dec 2009 16:40:38 +0000 (16:40 +0000)]
fix another illegal usage of compound_graph_path stuff
[r26856]
Matthias Braun [Tue, 29 Dec 2009 16:18:12 +0000 (16:18 +0000)]
fix illegal usage of compound_graph_path
[r26854]
Matthias Braun [Tue, 29 Dec 2009 13:00:49 +0000 (13:00 +0000)]
adapt to firm coding conventions
[r26851]
Sebastian Buchwald [Mon, 28 Dec 2009 10:26:53 +0000 (10:26 +0000)]
Adapted to revision 26847.
[r26849]
Sebastian Buchwald [Mon, 28 Dec 2009 10:19:31 +0000 (10:19 +0000)]
Adapted to previous commit.
[r26848]
Matthias Braun [Tue, 22 Dec 2009 10:08:10 +0000 (10:08 +0000)]
noone is using the external effect specification stuff
[r26832]
Matthias Braun [Tue, 22 Dec 2009 10:07:13 +0000 (10:07 +0000)]
testprograms are outdated and not maintained
[r26831]
Matthias Braun [Mon, 21 Dec 2009 18:42:22 +0000 (18:42 +0000)]
another comment after #include
[r26830]
Matthias Braun [Mon, 21 Dec 2009 18:42:07 +0000 (18:42 +0000)]
firmjni is totally outdated and useless nowadays
[r26829]
Matthias Braun [Mon, 21 Dec 2009 18:40:30 +0000 (18:40 +0000)]
no unnecessary comments behind #include
[r26828]
Matthias Braun [Mon, 21 Dec 2009 18:29:23 +0000 (18:29 +0000)]
adapt to timer changes
[r26827]
Matthias Braun [Mon, 21 Dec 2009 18:25:59 +0000 (18:25 +0000)]
adapt to timer changes
[r26826]
Matthias Braun [Mon, 21 Dec 2009 17:43:35 +0000 (17:43 +0000)]
keep timer interface simple - no names and descriptions for timers anymore, you should do that bookkeeping externally
[r26821]
Matthias Braun [Mon, 21 Dec 2009 15:48:39 +0000 (15:48 +0000)]
remove some unused code
[r26820]
Matthias Braun [Mon, 21 Dec 2009 12:35:13 +0000 (12:35 +0000)]
fix
[r26819]
Matthias Braun [Mon, 21 Dec 2009 12:32:38 +0000 (12:32 +0000)]
move iropt_dbg to private API (it had wrong includes too and didn't work as public API)
[r26818]
Matthias Braun [Mon, 21 Dec 2009 12:28:19 +0000 (12:28 +0000)]
get_tarval_P_void doesn't exist anymore
[r26817]
Matthias Braun [Mon, 21 Dec 2009 12:26:57 +0000 (12:26 +0000)]
rename opt_sync to opt_parallelize_mem
[r26816]
Matthias Braun [Mon, 21 Dec 2009 12:26:22 +0000 (12:26 +0000)]
don't include old_fctnames.h in firm.h - don't #define size in old_fctnames.h
[r26815]
Matthias Braun [Mon, 21 Dec 2009 12:20:39 +0000 (12:20 +0000)]
move phiclass from public to private API
[r26814]
Matthias Braun [Mon, 21 Dec 2009 12:17:38 +0000 (12:17 +0000)]
move irlivechk from public to private
[r26813]
Matthias Braun [Mon, 21 Dec 2009 12:15:03 +0000 (12:15 +0000)]
make dfs.h private API
[r26812]
Matthias Braun [Mon, 21 Dec 2009 12:13:24 +0000 (12:13 +0000)]
make absgraph.h a private API (it never worked in the public anyway because of a wrong include)
[r26811]
Matthias Braun [Mon, 21 Dec 2009 12:03:58 +0000 (12:03 +0000)]
firm.h was missing timing.h (and maybe others) - convert it to a simpler style
[r26810]
Matthias Braun [Mon, 21 Dec 2009 11:41:06 +0000 (11:41 +0000)]
remove lots of commented code
[r26809]
Michael Beck [Sat, 19 Dec 2009 02:00:34 +0000 (02:00 +0000)]
Removed C99 features and fixed 2 wrong assertions.
[r26808]
Michael Beck [Sat, 19 Dec 2009 01:59:46 +0000 (01:59 +0000)]
C99 features removed.
[r26807]
Michael Beck [Sat, 19 Dec 2009 01:58:42 +0000 (01:58 +0000)]
Add stdint.h and inttypes.h from <msinttypes.googlecode.com/svn/>, but libFirm should build WITHOUT C99 headers!
[r26806]
Michael Beck [Sat, 19 Dec 2009 01:36:45 +0000 (01:36 +0000)]
Deleted generated files from svn, there are (re-)created by sparc_spec.pl.
[r26805]
Christoph Mallon [Fri, 18 Dec 2009 10:00:06 +0000 (10:00 +0000)]
Correct typo in comment.
[r26803]
Matthias Braun [Fri, 18 Dec 2009 09:14:16 +0000 (09:14 +0000)]
rename straight alloc to pref alloc to match the name of the paper
[r26802]
Matthias Braun [Fri, 18 Dec 2009 09:10:49 +0000 (09:10 +0000)]
compile sparc backend
[r26801]
Matthias Braun [Fri, 18 Dec 2009 09:01:04 +0000 (09:01 +0000)]
reformat/reindent to common style
[r26800]
Matthias Braun [Wed, 16 Dec 2009 16:10:00 +0000 (16:10 +0000)]
- remove some more of the optimisation flags inside firm. Enabling/Disabling
an optimization should be decided simply on wether the frontend calls
it or not.
[r26798]
Matthias Braun [Wed, 16 Dec 2009 15:38:26 +0000 (15:38 +0000)]
fix compilation of endless loops which don't use memory
[r26797]
Thomas Bersch [Wed, 16 Dec 2009 14:36:46 +0000 (14:36 +0000)]
consider all interference edges for reverse perfect elimination oder
(also all edges which are not inserted because of optimization)
[r26796]
Matthias Braun [Wed, 16 Dec 2009 13:21:16 +0000 (13:21 +0000)]
put optimisation module init function declarations into firm_init.h; make loop inversion and loop peeling available in the public API.
[r26795]
Christian Helmer [Tue, 15 Dec 2009 17:41:52 +0000 (17:41 +0000)]
Loop peeling and inversion functional but with errors in combination.
[r26794]