libfirm
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

12 years agoadd documentation make target, fix docu bugs
Matthias Braun [Fri, 9 Dec 2011 18:48:47 +0000 (19:48 +0100)]
add documentation make target, fix docu bugs

12 years agoRework API documentation
Matthias Braun [Fri, 9 Dec 2011 17:47:06 +0000 (18:47 +0100)]
Rework API documentation

- Put things into logical groups
- Add cross references from node overview to API docu

12 years agobenode: fix be_new_Perm for width!=1
Matthias Braun [Fri, 9 Dec 2011 17:45:43 +0000 (18:45 +0100)]
benode: fix be_new_Perm for width!=1

12 years agoremove new_.*_defaultProj operations
Matthias Braun [Fri, 9 Dec 2011 15:33:53 +0000 (16:33 +0100)]
remove new_.*_defaultProj operations

They're pointless with the new switch representation introduced a while
ago.

12 years agogen_docu: put hrules between nodes, separate flags by commas
Matthias Braun [Thu, 8 Dec 2011 13:39:22 +0000 (14:39 +0100)]
gen_docu: put hrules between nodes, separate flags by commas

12 years agoclarify some node comments
Matthias Braun [Thu, 8 Dec 2011 17:05:31 +0000 (18:05 +0100)]
clarify some node comments

12 years agodon't change size for spillslots because of align.
Matthias Braun [Wed, 7 Dec 2011 23:03:58 +0000 (00:03 +0100)]
don't change size for spillslots because of align.

Just changing offset of other entities is enough

12 years agofix warnings in newer perls
Matthias Braun [Wed, 7 Dec 2011 22:35:46 +0000 (23:35 +0100)]
fix warnings in newer perls

12 years agocorrectly implement memop handling
Matthias Braun [Wed, 7 Dec 2011 22:26:39 +0000 (23:26 +0100)]
correctly implement memop handling

memops are nodes that have memory inputs, you can generically query them
for their memory input. We can also get rid of get_fragile_op_mem in
favor of get_memop_mem.

12 years agobestabs: add missing type kinds
Matthias Braun [Wed, 7 Dec 2011 21:43:02 +0000 (22:43 +0100)]
bestabs: add missing type kinds

12 years agopartially revert 2e9fdf8841de40f008697ba8bf711fa3f3f2c0e8
Matthias Braun [Wed, 7 Dec 2011 17:41:56 +0000 (18:41 +0100)]
partially revert 2e9fdf8841de40f008697ba8bf711fa3f3f2c0e8

(releases don't have firm_revision.h so we need to check for
HAVE_FIRM_REVISION_H define)

12 years agoavoid macros in irdump interface
Matthias Braun [Wed, 7 Dec 2011 16:17:55 +0000 (17:17 +0100)]
avoid macros in irdump interface

12 years agoFixed stupid typo.
Manuel Mohr [Wed, 7 Dec 2011 16:45:34 +0000 (17:45 +0100)]
Fixed stupid typo.

12 years agoPrevent segfault with -bprofilegenerate=true for empty input files.
Manuel Mohr [Wed, 7 Dec 2011 16:30:29 +0000 (17:30 +0100)]
Prevent segfault with -bprofilegenerate=true for empty input files.

12 years agoClarify the documentation of the Not node.
Christoph Mallon [Wed, 7 Dec 2011 15:59:10 +0000 (16:59 +0100)]
Clarify the documentation of the Not node.

12 years agoUse ARRAY_SIZE(x) and size_t instead of sizeof(x) / sizeof(*x) and int.
Christoph Mallon [Tue, 6 Dec 2011 13:11:24 +0000 (14:11 +0100)]
Use ARRAY_SIZE(x) and size_t instead of sizeof(x) / sizeof(*x) and int.

12 years agoTurn if cascade into switch.
Christoph Mallon [Tue, 6 Dec 2011 08:31:34 +0000 (09:31 +0100)]
Turn if cascade into switch.

12 years agoRemove the unused function arm_get_fpa_imm_name().
Christoph Mallon [Tue, 6 Dec 2011 08:31:06 +0000 (09:31 +0100)]
Remove the unused function arm_get_fpa_imm_name().

12 years agoRemoved superfluous assignment.
Sebastian Buchwald [Mon, 5 Dec 2011 12:01:48 +0000 (13:01 +0100)]
Removed superfluous assignment.

12 years agopbqp: add pbqp_ prefix to fix nameclashes
Matthias Braun [Mon, 5 Dec 2011 12:38:50 +0000 (13:38 +0100)]
pbqp: add pbqp_ prefix to fix nameclashes

12 years agoWrite and read FIRM profiling information in little-endian format.
Manuel Mohr [Mon, 5 Dec 2011 11:59:35 +0000 (12:59 +0100)]
Write and read FIRM profiling information in little-endian format.

12 years agobecopyilp: fix problems with ignore registers
Matthias Braun [Mon, 5 Dec 2011 11:48:16 +0000 (12:48 +0100)]
becopyilp: fix problems with ignore registers

12 years agodon't use get_irg_dump_name outside dumpers
Matthias Braun [Fri, 2 Dec 2011 20:42:25 +0000 (21:42 +0100)]
don't use get_irg_dump_name outside dumpers

12 years agobelive: move dumper to bedump, checker to beverify
Matthias Braun [Fri, 2 Dec 2011 20:41:26 +0000 (21:41 +0100)]
belive: move dumper to bedump, checker to beverify

12 years agointroduce bedump
Matthias Braun [Fri, 2 Dec 2011 18:13:33 +0000 (19:13 +0100)]
introduce bedump

Moves code from ifg dot-file dumpers around and produces .vcg graphs
now (ycomp layout is way better than xdot)