libfirm
14 years agoMichael found a nice trick to implement sets for float compares
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]

14 years agoReverted r26952, using the blocks irg is ok ...
Michael Beck [Thu, 14 Jan 2010 00:08:39 +0000 (00:08 +0000)]
Reverted r26952, using the blocks irg is ok ...

[r26959]

14 years agoAdd my debugging code it might be useful in the future ...
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]

14 years agoremove cond_kind attribute, it was never used in a consistent or correct way anyway
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]

14 years agocleanup and fix some bugs in ir reader/writer
Matthias Braun [Wed, 13 Jan 2010 15:41:28 +0000 (15:41 +0000)]
cleanup and fix some bugs in ir reader/writer

[r26956]

14 years agoBugFix: the name o for the NEW NODE was a little bit misleading ...
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]

14 years agoTry to fix a rare edges bug:
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]

14 years agoSimplify pointer arithmetic.
Michael Beck [Tue, 12 Jan 2010 21:35:35 +0000 (21:35 +0000)]
Simplify pointer arithmetic.

[r26953]

14 years agoCreating a block on some irg is pointless if all other nodes are created on current_i...
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]

14 years agoFixed graph-independent construction in mux lowering
Olaf Liebe [Tue, 12 Jan 2010 14:10:17 +0000 (14:10 +0000)]
Fixed graph-independent construction in mux lowering

[r26951]

14 years agopanic instead of wrong results for Set and CMov with float compare. Rename Set to...
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]

14 years agoSmall optimization. Note that the else case crashes libFirm and must be fixed, or...
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]

14 years agoAdd win32 version of obstack_vprintf.
Michael Beck [Sat, 9 Jan 2010 01:55:48 +0000 (01:55 +0000)]
Add win32 version of obstack_vprintf.

[r26940]

14 years agothe find_pointer_type interface still needs a mode because we might have pointers...
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]

14 years agothe find_pointer_type interface still needs a mode because we might have pointers...
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]

14 years agoBugFixes:
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]

14 years ago- part_block() does not change the current_block anymore
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]

14 years agofix last commit
Matthias Braun [Fri, 8 Jan 2010 19:09:47 +0000 (19:09 +0000)]
fix last commit

[r26932]

14 years agolower ConvB->LL and LL->ConvB and simplify code
Matthias Braun [Fri, 8 Jan 2010 18:35:53 +0000 (18:35 +0000)]
lower ConvB->LL and LL->ConvB and simplify code

[r26930]

14 years agofix fehler172
Matthias Braun [Thu, 7 Jan 2010 20:01:36 +0000 (20:01 +0000)]
fix fehler172

[r26926]

14 years agofix extended fehler171
Matthias Braun [Thu, 7 Jan 2010 18:47:22 +0000 (18:47 +0000)]
fix extended fehler171

[r26924]

14 years agoFix fehler171
Matthias Braun [Thu, 7 Jan 2010 18:40:52 +0000 (18:40 +0000)]
Fix fehler171

[r26922]

14 years agoLiebe part3: mux lowerer (with minimal changes)
Matthias Braun [Thu, 7 Jan 2010 18:30:31 +0000 (18:30 +0000)]
Liebe part3: mux lowerer (with minimal changes)

[r26919]

14 years agoremove unused code
Matthias Braun [Thu, 7 Jan 2010 18:30:27 +0000 (18:30 +0000)]
remove unused code

[r26918]

14 years agomake part_block independent of current_ir_graph
Matthias Braun [Thu, 7 Jan 2010 18:27:46 +0000 (18:27 +0000)]
make part_block independent of current_ir_graph

[r26917]

14 years agowe still need to read in pointer mode
Matthias Braun [Thu, 7 Jan 2010 18:27:27 +0000 (18:27 +0000)]
we still need to read in pointer mode

[r26916]

14 years agoLiebe bugs part2: switch cases are analyzed in long variables, use LONG_MAX and LONG_MIN
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]

14 years agoadd comments and descriptions to mode_b lowering; reformat lower_mode_b.c to latest...
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]

14 years agoLiebe bugs part1: Eor(1, Proj(Cmp)) was broken - simply remove the optimisation since...
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]

14 years agoGracefully handle a missing retrieve_type_dbg.
Michael Beck [Thu, 7 Jan 2010 03:06:33 +0000 (03:06 +0000)]
Gracefully handle a missing retrieve_type_dbg.

[r26910]

14 years agoPrimitive, Pointer, Array and Method types are anonymous now
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]

14 years agoBugFix: fixed conversion for x < lo || x >|>= hi
Michael Beck [Mon, 4 Jan 2010 00:50:55 +0000 (00:50 +0000)]
BugFix: fixed conversion for x < lo  || x >|>= hi

[r26904]

14 years agoBugFix:
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]

14 years agoBugFixes:
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]

14 years agoBugFix: a Cmp can be in a different block than its Cond
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]

14 years agoDeleted support for type_id.
Michael Beck [Sun, 3 Jan 2010 11:32:49 +0000 (11:32 +0000)]
Deleted support for type_id.

[r26896]

14 years agoI was annoyed by the compiler warnings about implicit conversions.
Michael Beck [Sun, 3 Jan 2010 11:28:44 +0000 (11:28 +0000)]
I was annoyed by the compiler warnings about implicit conversions.

[r26895]

14 years agoFixed some obviously wrong conditions.
Michael Beck [Sat, 2 Jan 2010 21:03:10 +0000 (21:03 +0000)]
Fixed some obviously wrong conditions.

[r26890]

14 years ago- handle p == 0 || q == 0
Michael Beck [Sat, 2 Jan 2010 18:05:35 +0000 (18:05 +0000)]
- handle p == 0 || q == 0

[r26885]

14 years agofixed doxygen comment
Michael Beck [Sat, 2 Jan 2010 17:13:16 +0000 (17:13 +0000)]
fixed doxygen comment

[r26883]

14 years agoAllow the modulo-shift setting for reference modes. This is a work-around that fixes...
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]

14 years agoI was annoyed by the compiler warnings about declaration isn't a prototype
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]

14 years agocleanup dbginfo public API: no dbg_snprint anymore
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]

14 years ago- handle p == NULL || q == NULL and friends
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]

14 years agobe consistent and only add extern C in the firm.h header and in no other header
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]

14 years agofix my last commit (shouldn't commit so fast...)
Matthias Braun [Sat, 2 Jan 2010 11:58:15 +0000 (11:58 +0000)]
fix my last commit (shouldn't commit so fast...)

[r26875]

14 years agoreally remove type_id
Matthias Braun [Sat, 2 Jan 2010 11:51:17 +0000 (11:51 +0000)]
really remove type_id

[r26874]

14 years agoremove the unused 'ident' type, remove tpo_max add tpo_last
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]

14 years ago- implement a <= x <= b ==> x-a <=u b-a
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]

14 years agoFixed and enhanced boolopt:
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]

14 years agoget_arm_shift_modifier() has no implementation, removed declaration.
Michael Beck [Thu, 31 Dec 2009 14:05:15 +0000 (14:05 +0000)]
get_arm_shift_modifier() has no implementation, removed declaration.

[r26869]

14 years ago- use irg instead of current_ir_graph
Michael Beck [Wed, 30 Dec 2009 01:10:29 +0000 (01:10 +0000)]
- use irg instead of current_ir_graph

[r26868]

14 years ago- inside irg_verify() call irn_verify_irg(), not irn_verify() (which is disabled...
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]

14 years agoimplement ir_graph_pass_set_parallel()
Michael Beck [Wed, 30 Dec 2009 00:46:29 +0000 (00:46 +0000)]
implement ir_graph_pass_set_parallel()

[r26866]

14 years ago- changed to able to "run the path parallel"
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]

14 years ago- kicked useless blocks
Michael Beck [Wed, 30 Dec 2009 00:04:50 +0000 (00:04 +0000)]
- kicked useless blocks

[r26864]

14 years agofix for compound_path deprecation
Michael Beck [Tue, 29 Dec 2009 23:48:22 +0000 (23:48 +0000)]
fix for compound_path deprecation

[r26862]

14 years agomove compound_graph path stuff into own files and add deprecation comments
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]

14 years agofix another compound_graph_path usage
Matthias Braun [Tue, 29 Dec 2009 16:49:44 +0000 (16:49 +0000)]
fix another compound_graph_path usage

[r26857]

14 years agofix another illegal usage of compound_graph_path stuff
Matthias Braun [Tue, 29 Dec 2009 16:40:38 +0000 (16:40 +0000)]
fix another illegal usage of compound_graph_path stuff

[r26856]

14 years agofix illegal usage of compound_graph_path
Matthias Braun [Tue, 29 Dec 2009 16:18:12 +0000 (16:18 +0000)]
fix illegal usage of compound_graph_path

[r26854]

14 years agoadapt to firm coding conventions
Matthias Braun [Tue, 29 Dec 2009 13:00:49 +0000 (13:00 +0000)]
adapt to firm coding conventions

[r26851]

14 years agoAdapted to revision 26847.
Sebastian Buchwald [Mon, 28 Dec 2009 10:26:53 +0000 (10:26 +0000)]
Adapted to revision 26847.

[r26849]

14 years agoAdapted to previous commit.
Sebastian Buchwald [Mon, 28 Dec 2009 10:19:31 +0000 (10:19 +0000)]
Adapted to previous commit.

[r26848]

14 years agonoone is using the external effect specification stuff
Matthias Braun [Tue, 22 Dec 2009 10:08:10 +0000 (10:08 +0000)]
noone is using the external effect specification stuff

[r26832]

14 years agotestprograms are outdated and not maintained
Matthias Braun [Tue, 22 Dec 2009 10:07:13 +0000 (10:07 +0000)]
testprograms are outdated and not maintained

[r26831]

14 years agoanother comment after #include
Matthias Braun [Mon, 21 Dec 2009 18:42:22 +0000 (18:42 +0000)]
another comment after #include

[r26830]

14 years agofirmjni is totally outdated and useless nowadays
Matthias Braun [Mon, 21 Dec 2009 18:42:07 +0000 (18:42 +0000)]
firmjni is totally outdated and useless nowadays

[r26829]

14 years agono unnecessary comments behind #include
Matthias Braun [Mon, 21 Dec 2009 18:40:30 +0000 (18:40 +0000)]
no unnecessary comments behind #include

[r26828]

14 years agoadapt to timer changes
Matthias Braun [Mon, 21 Dec 2009 18:29:23 +0000 (18:29 +0000)]
adapt to timer changes

[r26827]

14 years agoadapt to timer changes
Matthias Braun [Mon, 21 Dec 2009 18:25:59 +0000 (18:25 +0000)]
adapt to timer changes

[r26826]

14 years agokeep timer interface simple - no names and descriptions for timers anymore, you shoul...
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]

14 years agoremove some unused code
Matthias Braun [Mon, 21 Dec 2009 15:48:39 +0000 (15:48 +0000)]
remove some unused code

[r26820]

14 years agofix
Matthias Braun [Mon, 21 Dec 2009 12:35:13 +0000 (12:35 +0000)]
fix

[r26819]

14 years agomove iropt_dbg to private API (it had wrong includes too and didn't work as public...
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]

14 years agoget_tarval_P_void doesn't exist anymore
Matthias Braun [Mon, 21 Dec 2009 12:28:19 +0000 (12:28 +0000)]
get_tarval_P_void doesn't exist anymore

[r26817]

14 years agorename opt_sync to opt_parallelize_mem
Matthias Braun [Mon, 21 Dec 2009 12:26:57 +0000 (12:26 +0000)]
rename opt_sync to opt_parallelize_mem

[r26816]

14 years agodon't include old_fctnames.h in firm.h - don't #define size in old_fctnames.h
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]

14 years agomove phiclass from public to private API
Matthias Braun [Mon, 21 Dec 2009 12:20:39 +0000 (12:20 +0000)]
move phiclass from public to private API

[r26814]

14 years agomove irlivechk from public to private
Matthias Braun [Mon, 21 Dec 2009 12:17:38 +0000 (12:17 +0000)]
move irlivechk from public to private

[r26813]

14 years agomake dfs.h private API
Matthias Braun [Mon, 21 Dec 2009 12:15:03 +0000 (12:15 +0000)]
make dfs.h private API

[r26812]

14 years agomake absgraph.h a private API (it never worked in the public anyway because of a...
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]

14 years agofirm.h was missing timing.h (and maybe others) - convert it to a simpler style
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]

14 years agoremove lots of commented code
Matthias Braun [Mon, 21 Dec 2009 11:41:06 +0000 (11:41 +0000)]
remove lots of commented code

[r26809]

14 years agoRemoved C99 features and fixed 2 wrong assertions.
Michael Beck [Sat, 19 Dec 2009 02:00:34 +0000 (02:00 +0000)]
Removed C99 features and fixed 2 wrong assertions.

[r26808]

14 years agoC99 features removed.
Michael Beck [Sat, 19 Dec 2009 01:59:46 +0000 (01:59 +0000)]
C99 features removed.

[r26807]

14 years agoAdd stdint.h and inttypes.h from <http://msinttypes.googlecode.com/svn/>, but libFirm...
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]

14 years agoDeleted generated files from svn, there are (re-)created by sparc_spec.pl.
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]

14 years agoCorrect typo in comment.
Christoph Mallon [Fri, 18 Dec 2009 10:00:06 +0000 (10:00 +0000)]
Correct typo in comment.

[r26803]

14 years agorename straight alloc to pref alloc to match the name of the paper
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]

14 years agocompile sparc backend
Matthias Braun [Fri, 18 Dec 2009 09:10:49 +0000 (09:10 +0000)]
compile sparc backend

[r26801]

14 years agoreformat/reindent to common style
Matthias Braun [Fri, 18 Dec 2009 09:01:04 +0000 (09:01 +0000)]
reformat/reindent to common style

[r26800]

14 years ago- remove some more of the optimisation flags inside firm. Enabling/Disabling
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]

14 years agofix compilation of endless loops which don't use memory
Matthias Braun [Wed, 16 Dec 2009 15:38:26 +0000 (15:38 +0000)]
fix compilation of endless loops which don't use memory

[r26797]

14 years agoconsider all interference edges for reverse perfect elimination oder
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]

14 years agoput optimisation module init function declarations into firm_init.h; make loop invers...
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]

14 years agoLoop peeling and inversion functional but with errors in combination.
Christian Helmer [Tue, 15 Dec 2009 17:41:52 +0000 (17:41 +0000)]
Loop peeling and inversion functional but with errors in combination.

[r26794]

14 years agoinitaler checkin SPARC backend
Hannes Rapp [Tue, 15 Dec 2009 14:43:15 +0000 (14:43 +0000)]
initaler checkin SPARC backend

[r26793]

14 years agoLoop peeling and loop inversion functioning but still errors in combination.
Christian Helmer [Mon, 14 Dec 2009 15:32:53 +0000 (15:32 +0000)]
Loop peeling and loop inversion functioning but still errors in combination.

[r26792]

14 years agodon't setup copymin data structures if no copymin is want
Thomas Bersch [Mon, 14 Dec 2009 15:04:36 +0000 (15:04 +0000)]
don't setup copymin data structures if no copymin is want

[r26791]