+2011-12-01 Diego Novillo <dnovillo@google.com>
+
+ Revert
+
+ 2011-11-29 Diego Novillo <dnovillo@google.com>
+
+ * gimple.c (gimple_call_set_cannot_inline): Move from gimple.h.
+ Update field call_stmt_cannot_inline_p from call
+ graph edge, if needed.
+ * gimple.h (gimple_call_set_cannot_inline): Move to gimple.c.
+
2011-12-01 Nathan Sidwell <nathan@acm.org>
PR gcov-profile/51113
return false;
}
-
-
-/* Set the inlinable status of GIMPLE_CALL S to INLINABLE_P. */
-
-void
-gimple_call_set_cannot_inline (gimple s, bool inlinable_p)
-{
- bool prev_inlinable_p;
-
- GIMPLE_CHECK (s, GIMPLE_CALL);
-
- prev_inlinable_p = gimple_call_cannot_inline_p (s);
-
- if (inlinable_p)
- s->gsbase.subcode |= GF_CALL_CANNOT_INLINE;
- else
- s->gsbase.subcode &= ~GF_CALL_CANNOT_INLINE;
-
- /* If we have changed the inlinable attribute, and there is a call
- graph edge going out of this statement, update its inlinable
- attribute as well. */
- if (current_function_decl && prev_inlinable_p != inlinable_p)
- {
- struct cgraph_node *n = cgraph_get_node (current_function_decl);
- struct cgraph_edge *e = cgraph_edge (n, s);
- if (e)
- e->call_stmt_cannot_inline_p = inlinable_p;
- }
-}
-
#include "gt-gimple.h"
extern bool gimple_ior_addresses_taken (bitmap, gimple);
extern bool gimple_call_builtin_p (gimple, enum built_in_function);
extern bool gimple_asm_clobbers_memory_p (const_gimple);
-extern void gimple_call_set_cannot_inline (gimple, bool);
/* In gimplify.c */
extern tree create_tmp_var_raw (tree, const char *);
}
+/* Set the inlinable status of GIMPLE_CALL S to INLINABLE_P. */
+
+static inline void
+gimple_call_set_cannot_inline (gimple s, bool inlinable_p)
+{
+ GIMPLE_CHECK (s, GIMPLE_CALL);
+ if (inlinable_p)
+ s->gsbase.subcode |= GF_CALL_CANNOT_INLINE;
+ else
+ s->gsbase.subcode &= ~GF_CALL_CANNOT_INLINE;
+}
+
+
/* Return true if GIMPLE_CALL S cannot be inlined. */
static inline bool