libfirm
12 years agoupdate doc Makefile targets
Matthias Braun [Thu, 2 Feb 2012 10:06:31 +0000 (11:06 +0100)]
update doc Makefile targets

12 years agolower_dw: don't fail on Tuple-nodes
Matthias Braun [Mon, 30 Jan 2012 18:05:39 +0000 (19:05 +0100)]
lower_dw: don't fail on Tuple-nodes

12 years agobecopyilp: fix search for aligned free color
Matthias Braun [Thu, 26 Jan 2012 17:37:05 +0000 (18:37 +0100)]
becopyilp: fix search for aligned free color

12 years agosimplify splitting for double-width values
Matthias Braun [Tue, 24 Jan 2012 16:47:36 +0000 (17:47 +0100)]
simplify splitting for double-width values

We regard them as "constraints" now, so the existing code inserts splits
for these nodes. This simplifies the code as we don't have to check for
already existing Permutations anymore.

12 years agoClarify interpretation of limited for wide values
Matthias Braun [Tue, 10 Jan 2012 12:59:20 +0000 (13:59 +0100)]
Clarify interpretation of limited for wide values

12 years agoFix the way simplifiable node are colored when alignment is in the game
Quentin Colombet [Mon, 12 Dec 2011 11:29:43 +0000 (12:29 +0100)]
Fix the way simplifiable node are colored when alignment is in the game

12 years agoFirst try to add aliasing support in ilp coalescer
Quentin Colombet [Fri, 9 Dec 2011 11:46:01 +0000 (12:46 +0100)]
First try to add aliasing support in ilp coalescer

12 years agoAdd a phase before coloring thats split all live variables before each instruction...
Quentin Colombet [Wed, 30 Nov 2011 13:26:45 +0000 (14:26 +0100)]
Add a phase before coloring thats split all live variables before each instruction that defines a paired value.

12 years agofix backend Cond/Cmp flag optimization failing for unoptimized code
Matthias Braun [Thu, 1 Mar 2012 15:01:09 +0000 (16:01 +0100)]
fix backend Cond/Cmp flag optimization failing for unoptimized code

12 years agoiropt: fix direct calls to compute_cmp
Matthias Braun [Thu, 1 Mar 2012 14:47:00 +0000 (15:47 +0100)]
iropt: fix direct calls to compute_cmp

- The direct call did not respect the get_opt_constant_folding() flag

12 years agoexpose get_opt_constant_folding in public API
Matthias Braun [Thu, 1 Mar 2012 14:46:40 +0000 (15:46 +0100)]
expose get_opt_constant_folding in public API

12 years agoFixed typo.
Sebastian Buchwald [Wed, 29 Feb 2012 13:43:43 +0000 (14:43 +0100)]
Fixed typo.

12 years agoRemove the questionable and unused functions find_value() and r_find_value().
Christoph Mallon [Mon, 27 Feb 2012 13:11:13 +0000 (14:11 +0100)]
Remove the questionable and unused functions find_value() and r_find_value().

12 years agoCorrect comment: The first block in a graph is matured.
Christoph Mallon [Mon, 27 Feb 2012 13:04:20 +0000 (14:04 +0100)]
Correct comment: The first block in a graph is matured.

12 years agoCorrect comments: Remark does not mean what the author thought it means.
Christoph Mallon [Mon, 27 Feb 2012 13:00:43 +0000 (14:00 +0100)]
Correct comments: Remark does not mean what the author thought it means.

12 years agoCorrect comments: pos must be < n_loc, not <=.
Christoph Mallon [Mon, 27 Feb 2012 12:59:54 +0000 (13:59 +0100)]
Correct comments: pos must be < n_loc, not <=.

12 years agoCorrect comment: xvcg wants LF, not CR.
Christoph Mallon [Mon, 27 Feb 2012 12:58:32 +0000 (13:58 +0100)]
Correct comment: xvcg wants LF, not CR.

12 years agoident: remove id_mangle_entity
Matthias Braun [Sun, 19 Feb 2012 15:55:12 +0000 (16:55 +0100)]
ident: remove id_mangle_entity

the ident module shouldn't have name-mangling policies builtin.

12 years agoremove id_decorate_win32_c_fkt
Matthias Braun [Sun, 19 Feb 2012 15:48:52 +0000 (16:48 +0100)]
remove id_decorate_win32_c_fkt

Mangling logic should not be in the ident module, frontends should provide it
(there's also the compilerlib interface for it)

12 years agobegnuas: make panic for tls on macho more clear
Matthias Braun [Sat, 18 Feb 2012 13:09:03 +0000 (14:09 +0100)]
begnuas: make panic for tls on macho more clear

12 years agoia32: fix and optimize bswap sequence on i386
Matthias Braun [Fri, 17 Feb 2012 15:53:56 +0000 (16:53 +0100)]
ia32: fix and optimize bswap sequence on i386

12 years agolower_dw: fix mode mixups, handle ir_bk_bswap
Matthias Braun [Fri, 17 Feb 2012 15:48:27 +0000 (16:48 +0100)]
lower_dw: fix mode mixups, handle ir_bk_bswap

12 years agoNew basic gvnpre implementation.
Christian Helmer [Fri, 17 Feb 2012 13:55:52 +0000 (14:55 +0100)]
New basic gvnpre implementation.

12 years agobe: fix phi constraints double width values
Matthias Braun [Thu, 26 Jan 2012 17:13:44 +0000 (18:13 +0100)]
be: fix phi constraints double width values

12 years agosparc: fix too short Save offsets
Matthias Braun [Thu, 26 Jan 2012 19:11:14 +0000 (20:11 +0100)]
sparc: fix too short Save offsets

We have to perform the stackframe-type alignment adjustments before we
set the immediates of the Save instruction are adjusted.

12 years agosparc: another fix for sparc stack alignment
Matthias Braun [Thu, 26 Jan 2012 17:14:25 +0000 (18:14 +0100)]
sparc: another fix for sparc stack alignment

12 years agosparc: fix float to short conversion
Matthias Braun [Thu, 26 Jan 2012 18:10:47 +0000 (19:10 +0100)]
sparc: fix float to short conversion

12 years agosparc: fix wrong mode on Div result
Matthias Braun [Thu, 26 Jan 2012 17:57:18 +0000 (18:57 +0100)]
sparc: fix wrong mode on Div result

12 years agoirio: do not leave construction mode too early
Matthias Braun [Thu, 9 Feb 2012 17:00:43 +0000 (18:00 +0100)]
irio: do not leave construction mode too early

(otherwise CSE merges temporary Phi nodes without inputs)

12 years agoremove Phi0 concept at some places
Matthias Braun [Thu, 9 Feb 2012 16:57:26 +0000 (17:57 +0100)]
remove Phi0 concept at some places

12 years agoleave -> leaf
Andreas Zwinkau [Fri, 3 Feb 2012 13:56:18 +0000 (14:56 +0100)]
leave -> leaf

One of the green things on plants is a 'leaf'.
A 'leave', would be a vacation.

For the plural of 'leaf', 'leaves' is more common,
but 'leafs' is also correct and more regular.

12 years agosparc: implement float->unsigned conversions
Matthias Braun [Wed, 11 Jan 2012 18:35:05 +0000 (19:35 +0100)]
sparc: implement float->unsigned conversions

12 years agosparc: respect frame_type alignment
Matthias Braun [Wed, 11 Jan 2012 16:18:22 +0000 (17:18 +0100)]
sparc: respect frame_type alignment

This fixes the case where the stackframe size is not a multiple of the
alignment.

12 years agofix frame_alloc_area not always updating alignment
Matthias Braun [Wed, 11 Jan 2012 16:17:26 +0000 (17:17 +0100)]
fix frame_alloc_area not always updating alignment

12 years agocondition instead of assert
Andreas Zwinkau [Wed, 18 Jan 2012 15:27:51 +0000 (16:27 +0100)]
condition instead of assert

12 years agocondition instead of assert
Andreas Zwinkau [Wed, 18 Jan 2012 15:21:51 +0000 (16:21 +0100)]
condition instead of assert

12 years agosched: do not show first->block schedule edge
Matthias Braun [Tue, 10 Jan 2012 12:32:37 +0000 (13:32 +0100)]
sched: do not show first->block schedule edge

12 years agosparc: implement 64bit from/to float conversions
Matthias Braun [Tue, 10 Jan 2012 12:32:03 +0000 (13:32 +0100)]
sparc: implement 64bit from/to float conversions

12 years agolower_dw: respect endianess in Conv builtin funcs
Matthias Braun [Tue, 10 Jan 2012 12:31:16 +0000 (13:31 +0100)]
lower_dw: respect endianess in Conv builtin funcs

12 years agodo not cache types in global variables
Matthias Braun [Tue, 10 Jan 2012 12:10:22 +0000 (13:10 +0100)]
do not cache types in global variables

(or multiple ir_init/ir_finishs will fail)

12 years agosparc: fix wrong reg-width in double->int Conv
Matthias Braun [Mon, 9 Jan 2012 13:04:48 +0000 (14:04 +0100)]
sparc: fix wrong reg-width in double->int Conv

12 years agoEnsure that the noreturn function xnomem() does not return.
Christoph Mallon [Tue, 10 Jan 2012 08:25:59 +0000 (09:25 +0100)]
Ensure that the noreturn function xnomem() does not return.

12 years agoInclude <stdio.h> for fputs().
Christoph Mallon [Tue, 10 Jan 2012 08:28:07 +0000 (09:28 +0100)]
Include <stdio.h> for fputs().

12 years agoFix bug with panic("out of memory")
Andreas Zwinkau [Mon, 9 Jan 2012 15:39:07 +0000 (16:39 +0100)]
Fix bug with panic("out of memory")

The panic function might allocate memory via ir_vfprintf, so we must
not use it in the out of memory case.  Otherwise we get an infinite loop.

12 years agosparc: Fix constants for double parameter opt
Matthias Braun [Mon, 9 Jan 2012 12:36:54 +0000 (13:36 +0100)]
sparc: Fix constants for double parameter opt

12 years agoFix compilation error
Quentin Colombet [Wed, 30 Nov 2011 13:23:56 +0000 (14:23 +0100)]
Fix compilation error

12 years agoAdded missing casts.
Sebastian Buchwald [Thu, 29 Dec 2011 19:17:36 +0000 (20:17 +0100)]
Added missing casts.

12 years agoImproved architecture auto detection.
Sebastian Buchwald [Thu, 29 Dec 2011 18:47:22 +0000 (19:47 +0100)]
Improved architecture auto detection.

Improvements:
- added support for -march=atom
- fixed some assignments of incompatible enum types
- simplified code

12 years agoUse constant of appropriate enum type.
Sebastian Buchwald [Wed, 28 Dec 2011 12:33:08 +0000 (13:33 +0100)]
Use constant of appropriate enum type.

12 years agoUpdate revisions/texts/automake for new release
Matthias Braun [Wed, 7 Dec 2011 17:56:28 +0000 (18:56 +0100)]
Update revisions/texts/automake for new release

12 years agoconfig.h must be included or visibility stuff fails
Matthias Braun [Fri, 23 Dec 2011 10:12:56 +0000 (11:12 +0100)]
config.h must be included or visibility stuff fails

12 years agoadd missing FIRM_API declarations
Matthias Braun [Fri, 23 Dec 2011 09:59:04 +0000 (10:59 +0100)]
add missing FIRM_API declarations

12 years agofix warnings
Matthias Braun [Fri, 23 Dec 2011 09:58:45 +0000 (10:58 +0100)]
fix warnings

12 years agoplug memory leaks
Matthias Braun [Thu, 22 Dec 2011 16:05:45 +0000 (17:05 +0100)]
plug memory leaks

12 years agobelive: cleanup livness assure/invalidate API
Matthias Braun [Wed, 21 Dec 2011 17:16:12 +0000 (18:16 +0100)]
belive: cleanup livness assure/invalidate API

This also plugs liveness related memory leaks

12 years agobe: rework op_attr handling
Matthias Braun [Wed, 21 Dec 2011 12:15:50 +0000 (13:15 +0100)]
be: rework op_attr handling

12 years agoirlivechk: remove need to pass in a DFS structure
Matthias Braun [Tue, 20 Dec 2011 17:10:43 +0000 (18:10 +0100)]
irlivechk: remove need to pass in a DFS structure

12 years agobe: make several "variable" inputs/outputs dynamic
Matthias Braun [Tue, 20 Dec 2011 16:18:25 +0000 (17:18 +0100)]
be: make several "variable" inputs/outputs dynamic

12 years agotyperep: freeing a type frees contained entities
Matthias Braun [Tue, 20 Dec 2011 16:16:03 +0000 (17:16 +0100)]
typerep: freeing a type frees contained entities

Types "own" entities, so they should also free them when they get freed.

12 years agoFixed indentation.
Sebastian Buchwald [Wed, 21 Dec 2011 13:12:37 +0000 (14:12 +0100)]
Fixed indentation.

12 years agoFixed wrong enum type.
Sebastian Buchwald [Wed, 21 Dec 2011 13:12:17 +0000 (14:12 +0100)]
Fixed wrong enum type.

12 years agoDo not generate trailing whitespaces.
Sebastian Buchwald [Fri, 16 Dec 2011 12:18:13 +0000 (13:18 +0100)]
Do not generate trailing whitespaces.

12 years agoCorrect typos, mostly s/there/their/.
Christoph Mallon [Mon, 19 Dec 2011 16:42:41 +0000 (17:42 +0100)]
Correct typos, mostly s/there/their/.

12 years agoia32: free between type in ia32_finish
Matthias Braun [Thu, 15 Dec 2011 18:38:06 +0000 (19:38 +0100)]
ia32: free between type in ia32_finish

12 years agomake modelist global
Matthias Braun [Thu, 15 Dec 2011 16:52:56 +0000 (17:52 +0100)]
make modelist global

It was a member of ir_prog before but not correctly handled.

12 years agoperform end/first block mature in libfirm
Matthias Braun [Thu, 15 Dec 2011 16:39:51 +0000 (17:39 +0100)]
perform end/first block mature in libfirm

The first block in a new ir_graph is not an immature block anymore. The
end block is matured in irg_finalize_cons() now (since maturing blocks
twice doesn't hurt this shouldn't break existing code).

12 years agomake opcode list global
Matthias Braun [Thu, 15 Dec 2011 16:13:45 +0000 (17:13 +0100)]
make opcode list global

The opcode list was a member of irprog before which wasn't really
handled consistently. Also make sure opcodes are properly freed at
ir_finish().

12 years agodfs_free forgot to free its obstack
Matthias Braun [Thu, 15 Dec 2011 18:18:45 +0000 (19:18 +0100)]
dfs_free forgot to free its obstack

12 years agoplug more leaks
Matthias Braun [Thu, 15 Dec 2011 15:19:45 +0000 (16:19 +0100)]
plug more leaks

12 years agomake unique types/entities part of irprog
Matthias Braun [Thu, 15 Dec 2011 13:58:07 +0000 (14:58 +0100)]
make unique types/entities part of irprog

unknown_type, code_type, none_type, unknown_entity reference are hold in
the irprog now. This makes handling more consistent since now all types
and entities are equally part of irprog.

12 years agolink libfirm.so with libm
Matthias Braun [Thu, 15 Dec 2011 13:42:02 +0000 (14:42 +0100)]
link libfirm.so with libm

12 years agoadd is_unknown_entity(), is_unknown_type(), is_none_type()
Matthias Braun [Thu, 15 Dec 2011 13:40:15 +0000 (14:40 +0100)]
add is_unknown_entity(), is_unknown_type(), is_none_type()

12 years agoAdded missing API docu, improved existing API docu
Matthias Braun [Mon, 12 Dec 2011 15:27:24 +0000 (16:27 +0100)]
Added missing API docu, improved existing API docu

Now every bit in the public API is documented so we can enable doxygen
warnings for undocumented members.

12 years agoremove class_inheritance verifier
Matthias Braun [Wed, 14 Dec 2011 17:03:03 +0000 (18:03 +0100)]
remove class_inheritance verifier

12 years agotrouts: move add_* functions to private API
Matthias Braun [Wed, 14 Dec 2011 15:37:30 +0000 (16:37 +0100)]
trouts: move add_* functions to private API

12 years agoreplace pamp_find with pmap_get where possible
Matthias Braun [Wed, 14 Dec 2011 12:24:34 +0000 (13:24 +0100)]
replace pamp_find with pmap_get where possible

12 years agomove FIRM_NOTHROW, FIRM_PRINTF to obstack.h header
Matthias Braun [Wed, 14 Dec 2011 12:08:25 +0000 (13:08 +0100)]
move FIRM_NOTHROW, FIRM_PRINTF to obstack.h header

They are really special cases for obstack_printf, we don't need them for
all of libfirm.

12 years agomove edges_node_deleted to private API
Matthias Braun [Wed, 14 Dec 2011 00:32:17 +0000 (01:32 +0100)]
move edges_node_deleted to private API

12 years agoremove deprecated eset
Matthias Braun [Tue, 13 Dec 2011 23:25:31 +0000 (00:25 +0100)]
remove deprecated eset

Replace with equivalent pset_ptr stuff

12 years agoremove STATS code alternative
Matthias Braun [Tue, 13 Dec 2011 23:00:11 +0000 (00:00 +0100)]
remove STATS code alternative

12 years agoremove unused+unimplemented SET_VRFY()
Matthias Braun [Tue, 13 Dec 2011 22:57:15 +0000 (23:57 +0100)]
remove unused+unimplemented SET_VRFY()

12 years agomove set_entity_irg to private API
Matthias Braun [Tue, 13 Dec 2011 22:31:38 +0000 (23:31 +0100)]
move set_entity_irg to private API

12 years agohashptr.h: use inline functions instead of #define
Matthias Braun [Tue, 13 Dec 2011 17:32:46 +0000 (18:32 +0100)]
hashptr.h: use inline functions instead of #define

12 years agoremove remains of remove opt_polymorphy
Matthias Braun [Tue, 13 Dec 2011 13:48:04 +0000 (14:48 +0100)]
remove remains of remove opt_polymorphy

12 years agoammend to remove #defines
Matthias Braun [Tue, 13 Dec 2011 13:33:47 +0000 (14:33 +0100)]
ammend to remove #defines

12 years agotyperep: remove unnecessary #defines
Matthias Braun [Tue, 13 Dec 2011 13:31:43 +0000 (14:31 +0100)]
typerep: remove unnecessary #defines

12 years agotyperep: remove alternative names
Matthias Braun [Tue, 13 Dec 2011 13:28:23 +0000 (14:28 +0100)]
typerep: remove alternative names

12 years agoremove unused exception region numbers
Matthias Braun [Mon, 12 Dec 2011 17:55:41 +0000 (18:55 +0100)]
remove unused exception region numbers

12 years agoMove current_ir_graph from ir_graph to ir_cons
Matthias Braun [Mon, 12 Dec 2011 18:45:12 +0000 (19:45 +0100)]
Move current_ir_graph from ir_graph to ir_cons

It should only be used by construction algorithms

12 years agoavoid unnecessary #define in header
Matthias Braun [Mon, 12 Dec 2011 17:33:43 +0000 (18:33 +0100)]
avoid unnecessary #define in header

12 years agoirdom: move some functions to private API
Matthias Braun [Mon, 12 Dec 2011 17:11:59 +0000 (18:11 +0100)]
irdom: move some functions to private API

12 years agoremove unnecessary comments before functions
Matthias Braun [Mon, 12 Dec 2011 17:55:58 +0000 (18:55 +0100)]
remove unnecessary comments before functions

public functions are already documented in their headers, no need to
repeat the comment at the definition site.

12 years agoremove more pointless end-brace comments
Matthias Braun [Mon, 12 Dec 2011 17:28:35 +0000 (18:28 +0100)]
remove more pointless end-brace comments

12 years agoremove unused PDEQ_VRFY
Matthias Braun [Mon, 12 Dec 2011 15:55:02 +0000 (16:55 +0100)]
remove unused PDEQ_VRFY

12 years agomove iterator/fourcc to private API
Matthias Braun [Mon, 12 Dec 2011 15:35:12 +0000 (16:35 +0100)]
move iterator/fourcc to private API

12 years agoRemove .*_ptr variants of firm-types
Matthias Braun [Mon, 12 Dec 2011 14:58:40 +0000 (15:58 +0100)]
Remove .*_ptr variants of firm-types

Define them in your own project if you must use them.

12 years agoFIRM_API is for public API
Matthias Braun [Mon, 12 Dec 2011 15:03:51 +0000 (16:03 +0100)]
FIRM_API is for public API

12 years agoremove typedefs for already removed types
Matthias Braun [Mon, 12 Dec 2011 14:52:48 +0000 (15:52 +0100)]
remove typedefs for already removed types

12 years agoremove DEBUG defines from set/pset
Matthias Braun [Mon, 12 Dec 2011 14:20:30 +0000 (15:20 +0100)]
remove DEBUG defines from set/pset

They were inconsistent with DEBUG_libfirm and unused

12 years agodocu: further improvements
Matthias Braun [Fri, 9 Dec 2011 19:06:11 +0000 (20:06 +0100)]
docu: further improvements