X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fbe%2Fbeutil.h;h=a97371379ae88478293e1e22a00aa2d3d04a3b7e;hb=93da909d12b7bec51aa36ee5f05966c331f90fb9;hp=a0248f4be3889e2a7982e1ad09356404993d0b3f;hpb=39f3a8dbd0f00f90b7b12a849d1bf7b9c1329479;p=libfirm diff --git a/ir/be/beutil.h b/ir/be/beutil.h index a0248f4be..a97371379 100644 --- a/ir/be/beutil.h +++ b/ir/be/beutil.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 1995-2007 University of Karlsruhe. All right reserved. + * Copyright (C) 1995-2008 University of Karlsruhe. All right reserved. * * This file is part of libFirm. * @@ -30,13 +30,27 @@ #include +#include "firm_types.h" #include "pset.h" -#include "irgraph.h" -#include "irnode.h" -#include "irmode.h" #include "bearch_t.h" +#ifdef _MSC_VER +typedef __int64 long64; +typedef unsigned __int64 ulong64; + +#define LL_FMT "i64" +#define ULL_FMT "ui64" + +#else +typedef long long long64; +typedef unsigned long long ulong64; + +#define LL_FMT "ll" +#define ULL_FMT "llu" + +#endif /* _MSC_VER */ + /* iterate over a list of ir_nodes linked by link field */ #define foreach_linked_irns(head, iter) for ((iter) = (head); (iter); (iter) = get_irn_link((iter))) @@ -56,7 +70,12 @@ pset *be_empty_set(void); * @return The block of the node, or the node itself, if the node is a * block. */ -static INLINE const ir_node *get_block(const ir_node *irn) +static INLINE ir_node *get_block(ir_node *irn) +{ + return is_Block(irn) ? irn : get_nodes_block(irn); +} + +static INLINE const ir_node *get_block_const(const ir_node *irn) { return is_Block(irn) ? irn : get_nodes_block(irn); } @@ -103,19 +122,6 @@ void dump_allocated_irg(arch_env_t *env, ir_graph *irg, char *suffix); void be_clear_links(ir_graph *irg); -static INLINE FILE *ffopen(const char *base, const char *ext, const char *mode) { - FILE *out; - char buf[1024]; - - snprintf(buf, sizeof(buf), "%s.%s", base, ext); - buf[sizeof(buf) - 1] = '\0'; - if (! (out = fopen(buf, mode))) { - fprintf(stderr, "Cannot open file %s in mode %s\n", buf, mode); - return NULL; - } - return out; -} - /** * Dump a graph with schedule edges. * @param irg The graph. @@ -146,21 +152,13 @@ void be_dump(ir_graph *irg, const char *suffix, void (*dumper)(ir_graph *, const unsigned get_num_reachable_nodes(ir_graph *irg); /** - * Sets all node inputs to BAD node. - * @param irn The node to be killed. - */ -void be_kill_node(ir_node *irn); - -/** - * Search for an irn in @p accept. - * The search is started at @p start_point_exclusive and continues upwards the dom-tree - * @return The first node out of accept if found. Else NULL is returned. + * Gets the Proj with number pn from irn. */ -ir_node *dom_up_search(pset *accept, ir_node *start_point_exclusive); +ir_node *be_get_Proj_for_pn(const ir_node *irn, long pn); /** - * Gets the Proj with number pn from irn. + * Opens a file named base.ext with the mode mode. */ -ir_node *be_get_Proj_for_pn(const ir_node *irn, long pn); +FILE *be_ffopen(const char *base, const char *ext, const char *mode); #endif /* FIRM_BE_BEUTIL_H */