Sebastian Buchwald [Wed, 21 Dec 2011 13:12:17 +0000 (14:12 +0100)]
Fixed wrong enum type.
Sebastian Buchwald [Fri, 16 Dec 2011 12:18:13 +0000 (13:18 +0100)]
Do not generate trailing whitespaces.
Christoph Mallon [Mon, 19 Dec 2011 16:42:41 +0000 (17:42 +0100)]
Correct typos, mostly s/there/their/.
Matthias Braun [Thu, 15 Dec 2011 18:38:06 +0000 (19:38 +0100)]
ia32: free between type in ia32_finish
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.
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).
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().
Matthias Braun [Thu, 15 Dec 2011 18:18:45 +0000 (19:18 +0100)]
dfs_free forgot to free its obstack
Matthias Braun [Thu, 15 Dec 2011 15:19:45 +0000 (16:19 +0100)]
plug more leaks
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.
Matthias Braun [Thu, 15 Dec 2011 13:42:02 +0000 (14:42 +0100)]
link libfirm.so with libm
Matthias Braun [Thu, 15 Dec 2011 13:40:15 +0000 (14:40 +0100)]
add is_unknown_entity(), is_unknown_type(), is_none_type()
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.
Matthias Braun [Wed, 14 Dec 2011 17:03:03 +0000 (18:03 +0100)]
remove class_inheritance verifier
Matthias Braun [Wed, 14 Dec 2011 15:37:30 +0000 (16:37 +0100)]
trouts: move add_* functions to private API
Matthias Braun [Wed, 14 Dec 2011 12:24:34 +0000 (13:24 +0100)]
replace pamp_find with pmap_get where possible
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.
Matthias Braun [Wed, 14 Dec 2011 00:32:17 +0000 (01:32 +0100)]
move edges_node_deleted to private API
Matthias Braun [Tue, 13 Dec 2011 23:25:31 +0000 (00:25 +0100)]
remove deprecated eset
Replace with equivalent pset_ptr stuff
Matthias Braun [Tue, 13 Dec 2011 23:00:11 +0000 (00:00 +0100)]
remove STATS code alternative
Matthias Braun [Tue, 13 Dec 2011 22:57:15 +0000 (23:57 +0100)]
remove unused+unimplemented SET_VRFY()
Matthias Braun [Tue, 13 Dec 2011 22:31:38 +0000 (23:31 +0100)]
move set_entity_irg to private API
Matthias Braun [Tue, 13 Dec 2011 17:32:46 +0000 (18:32 +0100)]
hashptr.h: use inline functions instead of #define
Matthias Braun [Tue, 13 Dec 2011 13:48:04 +0000 (14:48 +0100)]
remove remains of remove opt_polymorphy
Matthias Braun [Tue, 13 Dec 2011 13:33:47 +0000 (14:33 +0100)]
ammend to remove #defines
Matthias Braun [Tue, 13 Dec 2011 13:31:43 +0000 (14:31 +0100)]
typerep: remove unnecessary #defines
Matthias Braun [Tue, 13 Dec 2011 13:28:23 +0000 (14:28 +0100)]
typerep: remove alternative names
Matthias Braun [Mon, 12 Dec 2011 17:55:41 +0000 (18:55 +0100)]
remove unused exception region numbers
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
Matthias Braun [Mon, 12 Dec 2011 17:33:43 +0000 (18:33 +0100)]
avoid unnecessary #define in header
Matthias Braun [Mon, 12 Dec 2011 17:11:59 +0000 (18:11 +0100)]
irdom: move some functions to private API
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.
Matthias Braun [Mon, 12 Dec 2011 17:28:35 +0000 (18:28 +0100)]
remove more pointless end-brace comments
Matthias Braun [Mon, 12 Dec 2011 15:55:02 +0000 (16:55 +0100)]
remove unused PDEQ_VRFY
Matthias Braun [Mon, 12 Dec 2011 15:35:12 +0000 (16:35 +0100)]
move iterator/fourcc to private API
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.
Matthias Braun [Mon, 12 Dec 2011 15:03:51 +0000 (16:03 +0100)]
FIRM_API is for public API
Matthias Braun [Mon, 12 Dec 2011 14:52:48 +0000 (15:52 +0100)]
remove typedefs for already removed types
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
Matthias Braun [Fri, 9 Dec 2011 19:06:11 +0000 (20:06 +0100)]
docu: further improvements
Matthias Braun [Fri, 9 Dec 2011 18:48:47 +0000 (19:48 +0100)]
add documentation make target, fix docu bugs
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
Matthias Braun [Fri, 9 Dec 2011 17:45:43 +0000 (18:45 +0100)]
benode: fix be_new_Perm for width!=1
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.
Matthias Braun [Thu, 8 Dec 2011 13:39:22 +0000 (14:39 +0100)]
gen_docu: put hrules between nodes, separate flags by commas
Matthias Braun [Thu, 8 Dec 2011 17:05:31 +0000 (18:05 +0100)]
clarify some node comments
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
Matthias Braun [Wed, 7 Dec 2011 22:35:46 +0000 (23:35 +0100)]
fix warnings in newer perls
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.
Matthias Braun [Wed, 7 Dec 2011 21:43:02 +0000 (22:43 +0100)]
bestabs: add missing type kinds
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)
Matthias Braun [Wed, 7 Dec 2011 16:17:55 +0000 (17:17 +0100)]
avoid macros in irdump interface
Manuel Mohr [Wed, 7 Dec 2011 16:45:34 +0000 (17:45 +0100)]
Fixed stupid typo.
Manuel Mohr [Wed, 7 Dec 2011 16:30:29 +0000 (17:30 +0100)]
Prevent segfault with -bprofilegenerate=true for empty input files.
Christoph Mallon [Wed, 7 Dec 2011 15:59:10 +0000 (16:59 +0100)]
Clarify the documentation of the Not node.
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.
Christoph Mallon [Tue, 6 Dec 2011 08:31:34 +0000 (09:31 +0100)]
Turn if cascade into switch.
Christoph Mallon [Tue, 6 Dec 2011 08:31:06 +0000 (09:31 +0100)]
Remove the unused function arm_get_fpa_imm_name().
Sebastian Buchwald [Mon, 5 Dec 2011 12:01:48 +0000 (13:01 +0100)]
Removed superfluous assignment.
Matthias Braun [Mon, 5 Dec 2011 12:38:50 +0000 (13:38 +0100)]
pbqp: add pbqp_ prefix to fix nameclashes
Manuel Mohr [Mon, 5 Dec 2011 11:59:35 +0000 (12:59 +0100)]
Write and read FIRM profiling information in little-endian format.
Matthias Braun [Mon, 5 Dec 2011 11:48:16 +0000 (12:48 +0100)]
becopyilp: fix problems with ignore registers
Matthias Braun [Fri, 2 Dec 2011 20:42:25 +0000 (21:42 +0100)]
don't use get_irg_dump_name outside dumpers
Matthias Braun [Fri, 2 Dec 2011 20:41:26 +0000 (21:41 +0100)]
belive: move dumper to bedump, checker to beverify
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)
Matthias Braun [Fri, 2 Dec 2011 14:42:58 +0000 (15:42 +0100)]
irdump: dump interfaces take const ir_node* now
Matthias Braun [Fri, 2 Dec 2011 12:38:46 +0000 (13:38 +0100)]
becopyilp: code cleanups
(no changes in functionality)
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.
Christoph Mallon [Fri, 2 Dec 2011 11:03:55 +0000 (12:03 +0100)]
Remove duplicate flags for ar.
Christoph Mallon [Fri, 2 Dec 2011 10:21:20 +0000 (11:21 +0100)]
Remove redundant ranlib after ar.
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.
Matthias Braun [Thu, 1 Dec 2011 18:50:46 +0000 (19:50 +0100)]
copyopt: miscellaneous code cleanups
Matthias Braun [Thu, 1 Dec 2011 18:04:36 +0000 (19:04 +0100)]
lpp_gurobi:disable log to console unless requested
Matthias Braun [Thu, 1 Dec 2011 17:00:54 +0000 (18:00 +0100)]
lpp_gurobi: fix timelimit, do not abort on missing ObjBound
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)
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)
Matthias Braun [Mon, 28 Nov 2011 17:53:39 +0000 (18:53 +0100)]
fix typo
Matthias Braun [Thu, 24 Nov 2011 18:55:42 +0000 (19:55 +0100)]
output documentation to file on request
Christoph Mallon [Thu, 24 Nov 2011 17:16:45 +0000 (18:16 +0100)]
Update list of files generated for irio.
Matthias Braun [Fri, 18 Nov 2011 16:34:08 +0000 (17:34 +0100)]
fix is_init_string
Matthias Braun [Fri, 18 Nov 2011 13:46:47 +0000 (14:46 +0100)]
fix ir_finish, freeing of irps/irgs
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.
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.
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
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.
Matthias Braun [Thu, 17 Nov 2011 17:06:53 +0000 (18:06 +0100)]
remove symconst_type_tag
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.
Matthias Braun [Thu, 17 Nov 2011 16:31:26 +0000 (17:31 +0100)]
inline: we can't inline blocks with entities
Matthias Braun [Thu, 17 Nov 2011 13:17:51 +0000 (14:17 +0100)]
fix float modes always getting irma_ieee754
Matthias Braun [Thu, 17 Nov 2011 12:58:54 +0000 (13:58 +0100)]
use size_t for ASM n_clobbers, n_outputs
Matthias Braun [Thu, 17 Nov 2011 12:59:41 +0000 (13:59 +0100)]
update documentation
Matthias Braun [Thu, 17 Nov 2011 12:59:21 +0000 (13:59 +0100)]
we want to visit NoMem in the const code irg
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.
Matthias Braun [Wed, 16 Nov 2011 23:05:18 +0000 (00:05 +0100)]
handle Block_entity like other node attributes
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.
Matthias Braun [Wed, 16 Nov 2011 19:27:27 +0000 (20:27 +0100)]
add missing entries in set_default_get_type_attr
Matthias Braun [Wed, 16 Nov 2011 19:21:50 +0000 (20:21 +0100)]
irop: refactor default_operation setting
Matthias Braun [Wed, 16 Nov 2011 18:53:31 +0000 (19:53 +0100)]
do more assert checking in set_irn_in
Matthias Braun [Wed, 16 Nov 2011 18:53:10 +0000 (19:53 +0100)]
irverify: check that switch_table != NULL
Matthias Braun [Wed, 16 Nov 2011 18:52:47 +0000 (19:52 +0100)]
introduce anchor_first and anchor_last in irg_anchors enum