libfirm
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)

12 years agoirdump: dump interfaces take const ir_node* now
Matthias Braun [Fri, 2 Dec 2011 14:42:58 +0000 (15:42 +0100)]
irdump: dump interfaces take const ir_node* now

12 years agobecopyilp: code cleanups
Matthias Braun [Fri, 2 Dec 2011 12:38:46 +0000 (13:38 +0100)]
becopyilp: code cleanups

(no changes in functionality)

12 years agoAdd -c to ar to remove a diagnostic, when the archive is created.
Christoph Mallon [Fri, 2 Dec 2011 11:03:47 +0000 (12:03 +0100)]
Add -c to ar to remove a diagnostic, when the archive is created.

12 years agoRemove duplicate flags for ar.
Christoph Mallon [Fri, 2 Dec 2011 11:03:55 +0000 (12:03 +0100)]
Remove duplicate flags for ar.

12 years agoRemove redundant ranlib after ar.
Christoph Mallon [Fri, 2 Dec 2011 10:21:20 +0000 (11:21 +0100)]
Remove redundant ranlib after ar.

12 years agobecopyilp: fix size_reduction code
Matthias Braun [Thu, 1 Dec 2011 19:14:25 +0000 (20:14 +0100)]
becopyilp: fix size_reduction code

Fix the size reduction stuff which happily assigned non-allocatable
registers. It worked by chance on x86 as all non-allocatable registers
come last.

12 years agocopyopt: miscellaneous code cleanups
Matthias Braun [Thu, 1 Dec 2011 18:50:46 +0000 (19:50 +0100)]
copyopt: miscellaneous code cleanups

12 years agolpp_gurobi:disable log to console unless requested
Matthias Braun [Thu, 1 Dec 2011 18:04:36 +0000 (19:04 +0100)]
lpp_gurobi:disable log to console unless requested

12 years agolpp_gurobi: fix timelimit, do not abort on missing ObjBound
Matthias Braun [Thu, 1 Dec 2011 17:00:54 +0000 (18:00 +0100)]
lpp_gurobi: fix timelimit, do not abort on missing ObjBound

12 years agobecopyilp2: Remove unused timelimit
Matthias Braun [Thu, 1 Dec 2011 16:31:23 +0000 (17:31 +0100)]
becopyilp2: Remove unused timelimit

(There is a timelimit option in becopyilp anyway)

12 years agosparc: optimize float constants function paramters
Matthias Braun [Tue, 29 Nov 2011 17:29:36 +0000 (18:29 +0100)]
sparc: optimize float constants function paramters

(They are passed in integer registers, so we can immediately create
integer constants)

12 years agofix typo
Matthias Braun [Mon, 28 Nov 2011 17:53:39 +0000 (18:53 +0100)]
fix typo

12 years agooutput documentation to file on request
Matthias Braun [Thu, 24 Nov 2011 18:55:42 +0000 (19:55 +0100)]
output documentation to file on request

12 years agoUpdate list of files generated for irio.
Christoph Mallon [Thu, 24 Nov 2011 17:16:45 +0000 (18:16 +0100)]
Update list of files generated for irio.

12 years agofix is_init_string
Matthias Braun [Fri, 18 Nov 2011 16:34:08 +0000 (17:34 +0100)]
fix is_init_string

12 years agofix ir_finish, freeing of irps/irgs
Matthias Braun [Fri, 18 Nov 2011 13:46:47 +0000 (14:46 +0100)]
fix ir_finish, freeing of irps/irgs

12 years agoremove opt_ldst_only_null_ptr_exception
Matthias Braun [Fri, 18 Nov 2011 13:24:12 +0000 (14:24 +0100)]
remove opt_ldst_only_null_ptr_exception

We just define that the only reason a Load/Store node can use the
exception edge is a NULL pointer. Misaligned Load/Store is a problem for
low-level languages which don't use exception edges anyway.

12 years agoremove sel_based_null_check flag
Matthias Braun [Fri, 18 Nov 2011 13:22:09 +0000 (14:22 +0100)]
remove sel_based_null_check flag

We simply always assume that Sel can only return a null pointer if
its input is a null pointer.

12 years agoremove opt_polymorphy
Matthias Braun [Fri, 18 Nov 2011 13:18:55 +0000 (14:18 +0100)]
remove opt_polymorphy

this is part of the initiative to move object-orientation support stuff
out of libfirm into liboo

12 years agoAvoid using uninitialized edge_info->list_heads.
Andreas Seltenreich [Fri, 18 Nov 2011 10:56:17 +0000 (11:56 +0100)]
Avoid using uninitialized edge_info->list_heads.

build_edges_walker calls get_block_n on block preds, possibly consing
and hashing a node which init_lh_walker couldn't reach via
irg_walk_anchors.

This fixes a crash I see when compiling Postgres.

12 years agoremove symconst_type_tag
Matthias Braun [Thu, 17 Nov 2011 17:06:53 +0000 (18:06 +0100)]
remove symconst_type_tag

12 years agoirio: complete rewrite
Matthias Braun [Wed, 16 Nov 2011 18:53:52 +0000 (19:53 +0100)]
irio: complete rewrite

This should fix all known bugs, make the code easier to read and more
robust.

12 years agoinline: we can't inline blocks with entities
Matthias Braun [Thu, 17 Nov 2011 16:31:26 +0000 (17:31 +0100)]
inline: we can't inline blocks with entities

12 years agofix float modes always getting irma_ieee754
Matthias Braun [Thu, 17 Nov 2011 13:17:51 +0000 (14:17 +0100)]
fix float modes always getting irma_ieee754

12 years agouse size_t for ASM n_clobbers, n_outputs
Matthias Braun [Thu, 17 Nov 2011 12:58:54 +0000 (13:58 +0100)]
use size_t for ASM n_clobbers, n_outputs

12 years agoupdate documentation
Matthias Braun [Thu, 17 Nov 2011 12:59:41 +0000 (13:59 +0100)]
update documentation

12 years agowe want to visit NoMem in the const code irg
Matthias Braun [Thu, 17 Nov 2011 12:59:21 +0000 (13:59 +0100)]
we want to visit NoMem in the const code irg

12 years agodifferntiate entity kinds
Matthias Braun [Wed, 16 Nov 2011 23:08:12 +0000 (00:08 +0100)]
differntiate entity kinds

We already saved different entity attributes depending on the entity
type and an is_parameter flag. This unifies handling of different entity
types and introduces normal, method, parameter, label and
compound_member entities.

12 years agohandle Block_entity like other node attributes
Matthias Braun [Wed, 16 Nov 2011 23:05:18 +0000 (00:05 +0100)]
handle Block_entity like other node attributes

12 years agotype list fixes
Matthias Braun [Wed, 16 Nov 2011 19:50:09 +0000 (20:50 +0100)]
type list fixes

Make sure all types are in the global type list, remove type_walk_prog
which was a strange alternative to type_walk attempting to not miss
types not in the global list.

12 years agoadd missing entries in set_default_get_type_attr
Matthias Braun [Wed, 16 Nov 2011 19:27:27 +0000 (20:27 +0100)]
add missing entries in set_default_get_type_attr

12 years agoirop: refactor default_operation setting
Matthias Braun [Wed, 16 Nov 2011 19:21:50 +0000 (20:21 +0100)]
irop: refactor default_operation setting

12 years agodo more assert checking in set_irn_in
Matthias Braun [Wed, 16 Nov 2011 18:53:31 +0000 (19:53 +0100)]
do more assert checking in set_irn_in

12 years agoirverify: check that switch_table != NULL
Matthias Braun [Wed, 16 Nov 2011 18:53:10 +0000 (19:53 +0100)]
irverify: check that switch_table != NULL

12 years agointroduce anchor_first and anchor_last in irg_anchors enum
Matthias Braun [Wed, 16 Nov 2011 18:52:47 +0000 (19:52 +0100)]
introduce anchor_first and anchor_last in irg_anchors enum

12 years agoia32: do not change tarval output modes in init
Matthias Braun [Wed, 16 Nov 2011 18:46:32 +0000 (19:46 +0100)]
ia32: do not change tarval output modes in init

12 years agoremove unused tail_call attribute from Call
Matthias Braun [Mon, 14 Nov 2011 17:59:34 +0000 (18:59 +0100)]
remove unused tail_call attribute from Call

12 years agoiropt: use Confirm info for Cmp-relations
Matthias Braun [Fri, 11 Nov 2011 17:08:29 +0000 (18:08 +0100)]
iropt: use Confirm info for Cmp-relations

12 years agoconfirm: fix stupid bug, use opt_manage framework
Matthias Braun [Fri, 11 Nov 2011 17:03:24 +0000 (18:03 +0100)]
confirm: fix stupid bug, use opt_manage framework

12 years agoia32: set ls_mode on more nodes
Matthias Braun [Fri, 11 Nov 2011 15:00:55 +0000 (16:00 +0100)]
ia32: set ls_mode on more nodes

12 years agoremove irbitset.h
Matthias Braun [Fri, 11 Nov 2011 12:13:05 +0000 (13:13 +0100)]
remove irbitset.h

12 years agoclean goal should also remove generated code
Andreas Zwinkau [Fri, 11 Nov 2011 11:58:45 +0000 (12:58 +0100)]
clean goal should also remove generated code

12 years agogen_docu: fix missing attributes, show generation time at the end
Matthias Braun [Fri, 11 Nov 2011 11:49:20 +0000 (12:49 +0100)]
gen_docu: fix missing attributes, show generation time at the end

12 years agoa first attempt at a node-documentation tool
Matthias Braun [Thu, 10 Nov 2011 17:40:35 +0000 (18:40 +0100)]
a first attempt at a node-documentation tool

12 years agobe: rework isa_if interface and initialisation
Matthias Braun [Thu, 10 Nov 2011 15:06:58 +0000 (16:06 +0100)]
be: rework isa_if interface and initialisation

This should fix problems with uninitialized backends when
be_get_backend_param() wasn't called also calls be_lower_for_target if
the user hasn't done so yet.

12 years agoremove be_opt_register from public API (ir_init calls it anyway)
Matthias Braun [Thu, 10 Nov 2011 13:56:22 +0000 (14:56 +0100)]
remove be_opt_register from public API (ir_init calls it anyway)

12 years agobe: get rid of arch_irn_classify callback
Matthias Braun [Thu, 10 Nov 2011 12:57:33 +0000 (13:57 +0100)]
be: get rid of arch_irn_classify callback