Commit 08043557 authored by Michael Beck's avatar Michael Beck
Browse files

Removed depency of USE_GCC_INLINE, fixed inlining (hopefully)

[r2814]
parent 837b1cd3
......@@ -32,14 +32,6 @@
/** Size of pdeq block cache */
#define TUNE_NSAVED_PDEQS 16
#ifndef INLINE
#ifdef USE_GCC_INLINE
#define INLINE inline
#else
#define INLINE
#endif
#endif
/* # of data items in block */
#define NDATA ((int)((PREF_MALLOC_SIZE - offsetof (pdeq, data)) / sizeof (void *)))
......
......@@ -36,14 +36,6 @@
# include <config.h>
#endif
#ifndef INLINE
#ifdef USE_GCC_INLINE
#define INLINE inline
#else
#define INLINE
#endif
#endif
/* bcopy is not ISO C *
#define bcopy(X, Y, Z) memcpy((Y), (X), (Z))
*/
......
......@@ -41,17 +41,17 @@
int get_irn_n_outs (ir_node *node);
/** Get predecessor n */
INLINE ir_node *get_irn_out (ir_node *node, int pos);
ir_node *get_irn_out (ir_node *node, int pos);
/** Set predecessor n */
INLINE void set_irn_out (ir_node *node, int pos, ir_node *out);
void set_irn_out (ir_node *node, int pos, ir_node *out);
/* Methods to iterate through the control flow graph. Iterate from 0 to
i < get_Block_cfg_outs(block). No order of successors guaranteed. */
int get_Block_n_cfg_outs (ir_node *node);
/** Access predecessor n. */
INLINE ir_node *get_Block_cfg_out (ir_node *node, int pos);
ir_node *get_Block_cfg_out (ir_node *node, int pos);
#ifndef _IRG_WALK_FUNC_TYPEDEF_
#define _IRG_WALK_FUNC_TYPEDEF_
......
......@@ -21,14 +21,6 @@
# ifndef _FIRM_COMMON_H_
# define _FIRM_COMMON_H_
#ifndef INLINE
#ifdef USE_GCC_INLINE
#define INLINE inline
#else
#define INLINE
#endif
#endif
/** a list of firm kinds
@@@ not all datatypes are tagged yet. */
typedef enum {
......
......@@ -21,12 +21,12 @@
#include "entity_t.h"
INLINE void
void
dbg_info_merge_pair(ir_node *nw, ir_node *old, dbg_action info) {
set_irn_dbg_info(nw, get_irn_dbg_info(old));
}
INLINE void
void
dbg_info_merge_sets(ir_node **new_nodes, int n_new_nodes,
ir_node **old_nodes, int n_old_nodes,
dbg_action info) {
......@@ -49,12 +49,12 @@ void dbg_init( merge_pair_func *mpf, merge_sets_func *msf )
}
INLINE void
void
set_irn_dbg_info(ir_node *n, struct dbg_info* db) {
n->dbi = db;
}
INLINE struct dbg_info *
struct dbg_info *
get_irn_dbg_info(ir_node *n) {
return n->dbi;
}
......@@ -62,17 +62,17 @@ get_irn_dbg_info(ir_node *n) {
/* Routines to access the field of an entity containing the
debugging information. */
INLINE void set_entity_dbg_info(entity *ent, dbg_info* db) {
void set_entity_dbg_info(entity *ent, dbg_info* db) {
ent->dbi = db;
}
INLINE dbg_info *get_entity_dbg_info(entity *ent) {
dbg_info *get_entity_dbg_info(entity *ent) {
return ent->dbi;
}
/* Routines to access the field of a type containing the
debugging information. */
INLINE void set_type_dbg_info(type *tp, dbg_info* db) {
void set_type_dbg_info(type *tp, dbg_info* db) {
tp->dbi = db;
}
INLINE dbg_info *get_type_dbg_info(type *tp) {
dbg_info *get_type_dbg_info(type *tp) {
return tp->dbi;
}
......@@ -66,32 +66,32 @@ typedef struct dbg_info dbg_info;
/**
* Sets the debug information of a node.
*/
INLINE void set_irn_dbg_info(ir_node *n, dbg_info* db);
void set_irn_dbg_info(ir_node *n, dbg_info* db);
/**
* Returns the debug information of an node.
*/
INLINE dbg_info *get_irn_dbg_info(ir_node *n);
dbg_info *get_irn_dbg_info(ir_node *n);
/**
* Sets the debug information of an entity.
*/
INLINE void set_entity_dbg_info(entity *ent, dbg_info* db);
void set_entity_dbg_info(entity *ent, dbg_info* db);
/**
* Returns the debug information of an entity.
*/
INLINE dbg_info *get_entity_dbg_info(entity *ent);
dbg_info *get_entity_dbg_info(entity *ent);
/**
* Sets the debug information of a type.
*/
INLINE void set_type_dbg_info(type *tp, dbg_info* db);
void set_type_dbg_info(type *tp, dbg_info* db);
/**
* Returns the debug information of a type.
*/
INLINE dbg_info *get_type_dbg_info(type *tp);
dbg_info *get_type_dbg_info(type *tp);
/**
* An enumeration indicating the action performed by a transformation.
......@@ -120,10 +120,10 @@ typedef enum {
* Converts enum values to strings.
*/
#ifdef __GNUC__
INLINE static const char* dbg_action_2_str(dbg_action) __attribute__ ((unused));
static const char* dbg_action_2_str(dbg_action) __attribute__ ((unused));
#endif
INLINE static const char* dbg_action_2_str(dbg_action a) {
static const char* dbg_action_2_str(dbg_action a) {
switch(a) {
case dbg_error: return "dbg_error"; break;
case dbg_opt_ssa: return "dbg_opt_ssa"; break;
......
......@@ -64,7 +64,7 @@ ident *new_id_from_str (const char *str);
*
* @see new_get_id_str(), get_id_strlen()
*/
INLINE ident *id_from_str (const char *str, int len);
ident *id_from_str (const char *str, int len);
/**
* Returns a string represented by an ident.
......@@ -78,7 +78,7 @@ INLINE ident *id_from_str (const char *str, int len);
*
* @see new_get_id_str(), id_from_str(), get_id_strlen()
*/
INLINE const char *get_id_str (ident *id);
const char *get_id_str (ident *id);
#define id_to_str get_id_str
/**
......@@ -90,7 +90,7 @@ INLINE const char *get_id_str (ident *id);
*
* @see new_get_id_str(), id_from_str(), get_id_str()
*/
INLINE int get_id_strlen(ident *id);
int get_id_strlen(ident *id);
#define id_to_strlen get_id_strlen
/**
* Returns true if prefix is a prefix of an ident.
......
......@@ -186,91 +186,3 @@ void restore_optimization_state(const optimization_state_t *state)
{
libFIRM_opt = *state;
}
/* repeat 'inline' methods here */
# ifndef USE_GCC_INLINE
/** Returns constant folding optimization setting. */
int get_opt_cse(void) /* iropt.c */
{
return libFIRM_opt & OPT_CSE;
}
/** Returns constant subexpression elimination setting. */
int get_opt_global_cse(void) /* irgopt.c iropt.c */
{
return libFIRM_opt & OPT_GLOBAL_CSE;
}
/** Returns global constant subexpression elimination setting. */
int get_opt_constant_folding(void) /* iropt.c */
{
return libFIRM_opt & OPT_CONSTANT_FOLDING;
}
/** Returns unreachable code elimination setting. */
int get_opt_unreachable_code(void) /* iropt.c */
{
return libFIRM_opt & OPT_UNREACHABLE_CODE;
}
/** Returns Straightening setting. */
int get_opt_control_flow_straightening(void) /* iropt.c, irgopt.c */
{
return libFIRM_opt & OPT_CONTROL_FLOW_STRAIGHTENING;
}
/** Returns if simplifications in local optimizations setting. */
int get_opt_control_flow_weak_simplification(void) /* iropt.c, irgopt.c */
{
return libFIRM_opt & OPT_CONTROL_FLOW_WEAK_SIMPLIFICATION;
}
/** Returns strong if and loop simplification setting */
int get_opt_control_flow_strong_simplification(void) /* irgopt.c */
{
return libFIRM_opt & OPT_CONTROL_FLOW_STRONG_SIMPLIFICATION;
}
/** Returns whether critical edges are removed */
int get_opt_critical_edges(void) /* irgopt.c */
{
return libFIRM_opt & OPT_CRITICAL_EDGES;
}
/** Returns reassociation setting. */
int get_opt_reassociation(void) /* iropt.c */
{
return libFIRM_opt & OPT_REASSOCIATION;
}
/** Returns dead node elimination setting. */
int get_opt_dead_node_elimination(void) /* irgopt.c */
{
return libFIRM_opt & OPT_DEAD_NODE_ELIMINATION;
}
/** Returns global optimization setting */
int get_opt_optimize(void) /* iropt.c, irgopt.c */
{
return libFIRM_opt & OPT_OPTIMIZED;
}
/** Returns inlining setting. */ /* how appropriate */
int get_opt_inline(void) /* irgopt.c */
{
return libFIRM_opt & OPT_INLINE;
}
int get_opt_dyn_meth_dispatch(void) /* cgana.c */
{
return libFIRM_opt & OPT_DYN_METH_DISPATCH;
}
int get_opt_normalize(void) /* irgopt.c, irnode.c, iropt.c */
{
return libFIRM_opt & OPT_NORMALIZE;
}
# endif /* not defined USE_GCC_INLINE */
......@@ -174,7 +174,7 @@ void set_irg_unknown (ir_graph *irg, ir_node *node);
int get_irg_n_locs (ir_graph *irg);
INLINE long get_irg_graph_nr(ir_graph *irg);
long get_irg_graph_nr(ir_graph *irg);
/********************************************************************************/
/* States of an ir_graph. */
......
This diff is collapsed.
This diff is collapsed.
......@@ -272,34 +272,3 @@ void set_op_pinned(ir_op *op, op_pinned pinned) {
if (op == op_Block || op == op_Phi || is_cfopcode(op)) return;
op->pinned = pinned;
}
/* repeat 'inline' methods here */
# ifndef USE_GCC_INLINE
/** Returns the attribute size of nodes of this opcode.
@note Use not encouraged, internal feature. */
int get_op_attr_size (const ir_op *op) { /* used in irnode.c */
return op->attr_size;
}
/** Returns non-zero if op is one of Start, End, Jmp, Cond, Return, Raise or Bad. */
int is_cfopcode(const ir_op *op) { /* used in irnode.c */
return op->flags & irop_flag_cfopcode;
}
/** Returns true if the operation manipulates interprocedural control flow:
CallBegin, EndReg, EndExcept */
int is_ip_cfopcode(const ir_op *op) { /* used in irnode.c */
return op->flags & irop_flag_ip_cfopcode;
}
/* Returns non-zero if operation is commutative */
int is_op_commutative(const ir_op *op) { /* used in iropt.c */
return op->flags & irop_flag_commutative;
}
/* Returns non-zero if operation is fragile */
int is_op_fragile(const ir_op *op) { /* used in irnode.c */
return op->flags & irop_flag_fragile;
}
# endif /* not defined USE_GCC_INLINE */
......@@ -36,16 +36,11 @@ init_entity (void)
{
}
/*******************************************************************/
/** ENTITY **/
/*******************************************************************/
/* redeclared to declare INLINE. */
INLINE entity *get_entity_overwrites (entity *ent, int pos);
INLINE entity *get_entity_overwrittenby (entity *ent, int pos);
INLINE type *get_entity_owner (entity *ent);
/*-----------------------------------------------------------------*/
/* ENTITY */
/*-----------------------------------------------------------------*/
INLINE void insert_entity_in_owner (entity *ent) {
void insert_entity_in_owner (entity *ent) {
type *owner = ent->owner;
switch (get_type_tpop_code(owner)) {
case tpo_class: {
......@@ -123,13 +118,13 @@ new_d_entity (type *owner, ident *name, type *type, dbg_info *db) {
return res;
}
INLINE void free_compound_graph_path (compound_graph_path *gr);
INLINE int is_compound_graph_path(void *thing);
INLINE int get_compound_graph_path_length(compound_graph_path *gr);
INLINE entity *get_compound_graph_path_node(compound_graph_path *gr, int pos);
INLINE int get_compound_ent_n_values(entity *ent);
void free_compound_graph_path (compound_graph_path *gr);
int is_compound_graph_path(void *thing);
int get_compound_graph_path_length(compound_graph_path *gr);
entity *get_compound_graph_path_node(compound_graph_path *gr, int pos);
int get_compound_ent_n_values(entity *ent);
INLINE void free_entity_attrs(entity *ent) {
void free_entity_attrs(entity *ent) {
int i;
assert(ent);
if (get_type_tpop(get_entity_owner(ent)) == type_class) {
......@@ -214,7 +209,7 @@ free_entity (entity *ent) {
}
/* Outputs a unique number for this node */
INLINE long
long
get_entity_nr(entity *ent) {
assert(ent);
#ifdef DEBUG_libfirm
......@@ -224,7 +219,7 @@ get_entity_nr(entity *ent) {
#endif
}
INLINE const char *
const char *
get_entity_name (entity *ent) {
assert (ent);
return get_id_str(get_entity_ident(ent));
......@@ -241,18 +236,18 @@ void set_entitye_ld_name (entity *, char *ld_name);
void set_entity_ld_ident (entity *, ident *ld_ident);
*/
INLINE type *
type *
get_entity_owner (entity *ent) {
return ent->owner = skip_tid(ent->owner);
}
INLINE void
void
set_entity_owner (entity *ent, type *owner) {
assert_legal_owner_of_ent(owner);
ent->owner = owner;
}
INLINE void /* should this go into type.c? */
void /* should this go into type.c? */
assert_legal_owner_of_ent(type *owner) {
assert (get_type_tpop_code(owner) == tpo_class ||
get_type_tpop_code(owner) == tpo_union ||
......@@ -261,7 +256,7 @@ assert_legal_owner_of_ent(type *owner) {
-- to select fields! */
}
INLINE ident *
ident *
get_entity_ld_ident (entity *ent)
{
if (ent->ld_name == NULL)
......@@ -269,12 +264,12 @@ get_entity_ld_ident (entity *ent)
return ent->ld_name;
}
INLINE void
void
set_entity_ld_ident (entity *ent, ident *ld_ident) {
ent->ld_name = ld_ident;
}
INLINE const char *
const char *
get_entity_ld_name (entity *ent) {
return get_id_str(get_entity_ld_ident(ent));
}
......@@ -284,23 +279,23 @@ char *get_entity_ld_name (entity *);
void set_entity_ld_name (entity *, char *ld_name);
*/
INLINE type *
type *
get_entity_type (entity *ent) {
return ent->type = skip_tid(ent->type);
}
INLINE void
void
set_entity_type (entity *ent, type *type) {
ent->type = type;
}
INLINE ent_allocation
ent_allocation
get_entity_allocation (entity *ent) {
return ent->allocation;
}
INLINE void
void
set_entity_allocation (entity *ent, ent_allocation al) {
ent->allocation = al;
}
......@@ -320,12 +315,12 @@ const char *get_allocation_name(ent_allocation all)
}
INLINE ent_visibility
ent_visibility
get_entity_visibility (entity *ent) {
return ent->visibility;
}
INLINE void
void
set_entity_visibility (entity *ent, ent_visibility vis) {
if (vis != visibility_local)
assert((ent->allocation == allocation_static) ||
......@@ -348,12 +343,12 @@ const char *get_visibility_name(ent_visibility vis)
#undef X
}
INLINE ent_variability
ent_variability
get_entity_variability (entity *ent) {
return ent->variability;
}
INLINE void
void
set_entity_variability (entity *ent, ent_variability var)
{
if (var == variability_part_constant)
......@@ -389,13 +384,13 @@ const char *get_variability_name(ent_variability var)
#undef X
}
INLINE ent_volatility
ent_volatility
get_entity_volatility (entity *ent) {
assert (ent);
return ent->volatility;
}
INLINE void
void
set_entity_volatility (entity *ent, ent_volatility vol) {
assert (ent);
ent->volatility = vol;
......@@ -413,13 +408,13 @@ const char *get_volatility_name(ent_volatility var)
#undef X
}
INLINE peculiarity
peculiarity
get_entity_peculiarity (entity *ent) {
assert (ent);
return ent->peculiarity;
}
INLINE void
void
set_entity_peculiarity (entity *ent, peculiarity pec) {
assert (ent);
/* @@@ why peculiarity only for methods? */
......@@ -441,7 +436,7 @@ const char *get_peculiarity_name(peculiarity var)
}
/* Set has no effect for existent entities of type method. */
INLINE ir_node *
ir_node *
get_atomic_ent_value(entity *ent)
{
assert(ent);
......@@ -450,7 +445,7 @@ get_atomic_ent_value(entity *ent)
return ent->value;
}
INLINE void
void
set_atomic_ent_value(entity *ent, ir_node *val) {
assert(ent && is_atomic_entity(ent) && (ent->variability != variability_uninitialized));
if (is_method_type(ent->type) && (ent->peculiarity == peculiarity_existent))
......@@ -525,21 +520,21 @@ new_compound_graph_path(type *tp, int length) {
return res;
}
INLINE void
void
free_compound_graph_path (compound_graph_path *gr) {
assert(gr && is_compound_graph_path(gr));
gr->kind = k_BAD;
free(gr);
}
INLINE int
int
is_compound_graph_path(void *thing) {
return (get_kind(thing) == k_ir_compound_graph_path);
}
/* checks whether nodes 0..pos are correct (all lie on a path.) */
/* @@@ not implemented */
INLINE int is_proper_compound_graph_path(compound_graph_path *gr, int pos) {
int is_proper_compound_graph_path(compound_graph_path *gr, int pos) {
int i;
entity *node;
type *owner = gr->tp;
......@@ -553,20 +548,20 @@ INLINE int is_proper_compound_graph_path(compound_graph_path *gr, int pos) {
return true;
}
INLINE int
int
get_compound_graph_path_length(compound_graph_path *gr) {
assert(gr && is_compound_graph_path(gr));
return gr->len;
}
INLINE entity *
entity *
get_compound_graph_path_node(compound_graph_path *gr, int pos) {
assert(gr && is_compound_graph_path(gr));
assert(pos >= 0 && pos < gr->len);
return gr->nodes[pos];
}
INLINE void
void
set_compound_graph_path_node(compound_graph_path *gr, int pos, entity *node) {
assert(gr && is_compound_graph_path(gr));
assert(pos >= 0 && pos < gr->len);
......@@ -577,33 +572,33 @@ set_compound_graph_path_node(compound_graph_path *gr, int pos, entity *node) {
/* A value of a compound entity is a pair of value and the corresponding path to a member of
the compound. */
INLINE void
void
add_compound_ent_value_w_path(entity *ent, ir_node *val, compound_graph_path *path) {
assert(ent && is_compound_entity(ent) && (ent->variability != variability_uninitialized));
ARR_APP1 (ir_node *, ent->values, val);
ARR_APP1 (compound_graph_path *, ent->val_paths, path);
}
INLINE void
void
set_compound_ent_value_w_path(entity *ent, ir_node *val, compound_graph_path *path, int pos) {
assert(ent && is_compound_entity(ent) && (ent->variability != variability_uninitialized));
ent->values[pos] = val;
ent->val_paths[pos] = path;
}
INLINE int
int
get_compound_ent_n_values(entity *ent) {
assert(ent && is_compound_entity(ent) && (ent->variability != variability_uninitialized));
return (ARR_LEN (ent->values));
}
INLINE ir_node *
ir_node *
get_compound_ent_value(entity *ent, int pos) {
assert(ent && is_compound_entity(ent) && (ent->variability != variability_uninitialized));
return ent->values[pos];
}
INLINE compound_graph_path *
compound_graph_path *
get_compound_ent_value_path(entity *ent, int pos) {
assert(ent && is_compound_entity(ent) && (ent->variability != variability_uninitialized));
return ent->val_paths[pos];
......@@ -627,7 +622,7 @@ remove_compound_ent_value(entity *ent, entity *value_ent) {
}