aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Macleod <amacleod@redhat.com>2014-04-17 20:43:43 +0000
committerAndrew Macleod <amacleod@redhat.com>2014-04-17 20:43:43 +0000
commit2afa74a5d1c1029f6ee917e26d6217f3b3649811 (patch)
tree5f9c32a066a78df7072d3085395a19a9e416f989
parentd40278e52d91245931ea5d1cb7e8876c07fc7390 (diff)
cleanup locations of some stuffre-arch
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/re-arch@209496 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/gimple-tree.c8
-rw-r--r--gcc/gimple-tree.h32
-rw-r--r--gcc/gimple-value-core.h2
-rw-r--r--gcc/gimple-value.c23
-rw-r--r--gcc/gimple-value.h235
-rw-r--r--gcc/tree-ssa-ccp.c5
6 files changed, 148 insertions, 157 deletions
diff --git a/gcc/gimple-tree.c b/gcc/gimple-tree.c
index a8c100d1820..17007696600 100644
--- a/gcc/gimple-tree.c
+++ b/gcc/gimple-tree.c
@@ -4,6 +4,14 @@
#include "gimple-tree.h"
#include "gimple-expr.h"
+Gimple::value_ptr boolean_true_node_ptr (&global_trees[TI_BOOLEAN_TRUE]);
+Gimple::value_ptr boolean_false_node_ptr (&global_trees[TI_BOOLEAN_FALSE]);
+Gimple::integer_cst_ptr integer_zero_node_ptr (&global_trees[TI_INTEGER_ZERO]);
+Gimple::type_ptr void_type_node_ptr (&global_trees[TI_VOID_TYPE]);
+Gimple::type_ptr boolean_type_node_ptr (&global_trees[TI_BOOLEAN_TYPE]);
+Gimple::type_ptr char_type_node_ptr (&integer_types[itk_char]);
+Gimple::type_ptr integer_type_node_ptr (&integer_types[itk_int]);
+
const char *
gimple_tree_printable_name (tree decl, int verbosity)
{
diff --git a/gcc/gimple-tree.h b/gcc/gimple-tree.h
index b338e604251..27ab98d2907 100644
--- a/gcc/gimple-tree.h
+++ b/gcc/gimple-tree.h
@@ -3,10 +3,29 @@
#include "gimple-value.h"
+extern Gimple::value_ptr boolean_true_node_ptr;
+extern Gimple::value_ptr boolean_false_node_ptr;
+extern Gimple::type_ptr void_type_node_ptr;
+extern Gimple::type_ptr char_type_node_ptr;
+extern Gimple::type_ptr boolean_type_node_ptr;
+extern Gimple::type_ptr integer_type_node_ptr;
+extern Gimple::integer_cst_ptr integer_zero_node_ptr;
+
+#define gimple_boolean_true (*boolean_true_node_ptr)
+#define gimple_boolean_false (*boolean_false_node_ptr)
+#define gimple_void_type (*void_type_node_ptr)
+#define gimple_char_type (*char_type_node_ptr)
+#define gimple_boolean_type (*boolean_type_node_ptr)
+#define gimple_integer_type (*integer_type_node_ptr)
+#define gimple_integer_zero (*integer_zero_node_ptr)
+
+
#define MAY_HAVE_DEBUG_STMTS (flag_var_tracking_assignments)
+/* From gimple-tree.c. */
const char * gimple_tree_printable_name (tree, int);
+/* From tree.h, but no 'tree' in the signature. */
extern void clean_symbol_name (char *p);
extern tree build_call_expr_loc(location_t, tree, int, ...); /*builtins.c */
@@ -24,10 +43,10 @@ unshare_expr (Gimple::value v)
return unshare_expr ((tree)v);
}
inline bool
-integer_zero_p (Gimple::value v)
+integer_zerop (Gimple::value v)
{
- extern int integer_zero_p (const_tree);
- return integer_zero_p ((const_tree) v);
+ extern int integer_zerop (const_tree);
+ return integer_zerop ((const_tree) v);
}
inline bool
@@ -142,13 +161,6 @@ inline void gimple_add_tmp_var (Gimple::var_decl var)
// from tree.h
-
-inline Gimple::identifier
-decl_assembler_name (Gimple::decl_with_viz d)
-{
- return d->assembler_name ();
-}
-
inline bool
prototype_p (Gimple::function_or_method_type f)
{
diff --git a/gcc/gimple-value-core.h b/gcc/gimple-value-core.h
index 20cbd04c48d..90d3f25aa98 100644
--- a/gcc/gimple-value-core.h
+++ b/gcc/gimple-value-core.h
@@ -146,6 +146,8 @@ class tree_desc {
class type_desc : public tree_desc
{
+ protected:
+ enum machine_mode vector_mode() const;
public:
Gimple::type type() const;
type_list chain () const;
diff --git a/gcc/gimple-value.c b/gcc/gimple-value.c
index 94ffaa9aed9..6b46946a30c 100644
--- a/gcc/gimple-value.c
+++ b/gcc/gimple-value.c
@@ -25,16 +25,9 @@ along with GCC; see the file COPYING3. If not see
#include "tm.h"
#include "gimple-tree.h"
#include "langhooks.h"
+#include "stor-layout.h"
-Gimple::value_ptr boolean_true_node_ptr (&global_trees[TI_BOOLEAN_TRUE]);
-Gimple::value_ptr boolean_false_node_ptr (&global_trees[TI_BOOLEAN_FALSE]);
-Gimple::integer_cst_ptr integer_zero_node_ptr (&global_trees[TI_INTEGER_ZERO]);
-Gimple::type_ptr void_type_node_ptr (&global_trees[TI_VOID_TYPE]);
-Gimple::type_ptr boolean_type_node_ptr (&global_trees[TI_BOOLEAN_TYPE]);
-Gimple::type_ptr char_type_node_ptr (&integer_types[itk_char]);
-Gimple::type_ptr integer_type_node_ptr (&integer_types[itk_int]);
-
location_t
expr_location (Gimple::value v)
{
@@ -47,6 +40,7 @@ expr_location (Gimple::value v)
void
strip_nops (Gimple::value_ptr gv)
{
+ extern tree tree_strip_nop_conversions (tree);
*gv = tree_strip_nop_conversions (CONST_CAST_TREE ((tree)(*gv)));
}
@@ -77,6 +71,19 @@ decl_with_viz_desc::assembler_name()
return node.decl_with_vis.assembler_name;
}
+Gimple::identifier
+decl_desc::assembler_name() const
+{
+ decl_with_viz viz(&node);
+ return viz->assembler_name ();
+}
+
+enum machine_mode
+type_desc::vector_mode() const
+{
+ return vector_type_mode(&node);
+}
+
} // namespace Gimple
diff --git a/gcc/gimple-value.h b/gcc/gimple-value.h
index f7dffbb7aaf..53248f9b72a 100644
--- a/gcc/gimple-value.h
+++ b/gcc/gimple-value.h
@@ -1,36 +1,12 @@
#ifndef GIMPLE_VALUE_H
#define GIMPLE_VALUE_H
-/* function_decls declared in tree.h that are needed. */
-extern int integer_zerop (const_tree expr);
-extern tree tree_strip_nop_conversions (tree);
-
#include "gimple-value-core.h"
#include "gimple-wrapper.h"
-#include "stor-layout.h" /* For vector_type_mode. */
-
-extern Gimple::value_ptr boolean_true_node_ptr;
-extern Gimple::value_ptr boolean_false_node_ptr;
-extern Gimple::type_ptr void_type_node_ptr;
-extern Gimple::type_ptr char_type_node_ptr;
-extern Gimple::type_ptr boolean_type_node_ptr;
-extern Gimple::type_ptr integer_type_node_ptr;
-extern Gimple::integer_cst_ptr integer_zero_node_ptr;
-
-#define gimple_boolean_true (*boolean_true_node_ptr)
-#define gimple_boolean_false (*boolean_false_node_ptr)
-#define gimple_void_type (*void_type_node_ptr)
-#define gimple_char_type (*char_type_node_ptr)
-#define gimple_boolean_type (*boolean_type_node_ptr)
-#define gimple_integer_type (*integer_type_node_ptr)
-#define gimple_integer_zero (*integer_zero_node_ptr)
-
-extern Gimple::identifier decl_assembler_name (Gimple::decl_with_viz d);
namespace Gimple {
-// class tree_desc
-
+/* Class tree_desc methods. */
inline enum tree_code
tree_desc::code () const
@@ -98,6 +74,41 @@ tree_desc::set_used(const bool f)
}
inline bool
+tree_desc::static_p () const
+{
+ return node.base.static_flag;
+}
+
+inline void
+tree_desc::set_static_p (const bool f)
+{
+ node.base.static_flag = f;
+}
+
+inline bool
+tree_desc::side_effects () const
+{
+ return node.base.side_effects_flag;
+}
+
+inline void
+tree_desc::set_side_effects (const bool f)
+{
+ node.base.side_effects_flag = f;
+}
+
+inline bool
+tree_desc::constant () const
+{
+ return node.base.constant_flag;
+}
+
+inline void
+tree_desc::set_constant (const bool f)
+{
+ node.base.constant_flag = f;
+}
+inline bool
tree_desc::test_node (void) const
{
return true;
@@ -223,9 +234,6 @@ tree_desc::check_node (enum tree_code t1, enum tree_code t2, enum tree_code t3,
#endif
}
-
-// class block_desc
-
inline Gimple::value
block_desc::supercontext () const
{
@@ -233,67 +241,11 @@ block_desc::supercontext () const
}
-// class type_desc
-
-
inline Gimple::type
type_desc::type() const
{
return Gimple::type (node.typed.type);
}
-
-inline bool
-label_decl_desc::forced_label () const
-{
- return node.base.side_effects_flag;
-}
-
-inline Gimple::value
-value_list_desc::value () const
-{
- return Gimple::value (node.list.value);
-}
-
-inline Gimple::value_ptr
-value_list_desc::ptrto_value ()
-{
- return Gimple::value_ptr (&(node.list.value));
-}
-
-
-inline value_list
-value_list_desc::chain () const
-{
- return value_list (node.common.chain);
-}
-
-inline Gimple::identifier
-identifier_list_desc::value () const
-{
- return Gimple::identifier (node.list.value);
-}
-
-inline identifier_list
-identifier_list_desc::chain () const
-{
- return identifier_list (node.common.chain);
-}
-
-
-
-inline Gimple::type
-type_list_desc::value () const
-{
- return Gimple::type (node.list.value);
-}
-
-inline type_list
-type_list_desc::chain () const
-{
- return type_list (node.common.chain);
-}
-
-
inline bool
type_desc::type_unsigned () const
{ return node.base.u.bits.unsigned_flag; }
@@ -302,7 +254,7 @@ inline enum machine_mode
type_desc::mode () const
{
if (code () == VECTOR_TYPE)
- return vector_type_mode (&node);
+ return vector_mode ();
else
return node.type_common.mode;
}
@@ -722,41 +674,6 @@ decl_desc::set_external(const bool f)
node.decl_common.decl_flag_1 = f;
}
-inline bool
-tree_desc::static_p () const
-{
- return node.base.static_flag;
-}
-
-inline void
-tree_desc::set_static_p (const bool f)
-{
- node.base.static_flag = f;
-}
-
-inline bool
-tree_desc::side_effects () const
-{
- return node.base.side_effects_flag;
-}
-
-inline void
-tree_desc::set_side_effects (const bool f)
-{
- node.base.side_effects_flag = f;
-}
-
-inline bool
-tree_desc::constant () const
-{
- return node.base.constant_flag;
-}
-
-inline void
-tree_desc::set_constant (const bool f)
-{
- node.base.constant_flag = f;
-}
inline location_t
decl_desc::source_location () const
@@ -906,6 +823,14 @@ decl_desc::assembler_name_set_p() const
&& node.decl_with_vis.assembler_name != (tree)0);
}
+inline bool
+decl_desc::decl_public() const
+{ return node.base.public_flag; }
+
+inline bool
+decl_desc::decl_asm_written() const
+{ return node.base.asm_written_flag; }
+
inline bool
decl_with_viz_desc::hard_register () const
{
@@ -930,14 +855,6 @@ decl_with_viz_desc::assembler_name_set_p() const
return node.decl_with_vis.assembler_name != (tree)0;
}
-inline Gimple::identifier
-decl_desc::assembler_name() const
-{
- decl_with_viz viz(&node);
- return decl_assembler_name (viz);
-}
-
-
/*
inline bool
@@ -949,15 +866,6 @@ decl_desc::decl_comdat() const
{ return DECL_WITH_VIS_CHECK (Tree)->decl_with_vis.comdat_flag; }
*/
-inline bool
-decl_desc::decl_public() const
-{ return node.base.public_flag; }
-
-inline bool
-decl_desc::decl_asm_written() const
-{ return node.base.asm_written_flag; }
-
-
inline bool
var_decl_desc::is_virtual_operand () const
{
@@ -987,6 +895,59 @@ function_decl_desc::builtin () const
return builtin_class () != NOT_BUILT_IN;
}
+inline bool
+label_decl_desc::forced_label () const
+{
+ return node.base.side_effects_flag;
+}
+
+inline Gimple::value
+value_list_desc::value () const
+{
+ return Gimple::value (node.list.value);
+}
+
+inline Gimple::value_ptr
+value_list_desc::ptrto_value ()
+{
+ return Gimple::value_ptr (&(node.list.value));
+}
+
+
+inline value_list
+value_list_desc::chain () const
+{
+ return value_list (node.common.chain);
+}
+
+inline Gimple::identifier
+identifier_list_desc::value () const
+{
+ return Gimple::identifier (node.list.value);
+}
+
+inline identifier_list
+identifier_list_desc::chain () const
+{
+ return identifier_list (node.common.chain);
+}
+
+
+
+inline Gimple::type
+type_list_desc::value () const
+{
+ return Gimple::type (node.list.value);
+}
+
+inline type_list
+type_list_desc::chain () const
+{
+ return type_list (node.common.chain);
+}
+
+
+
//
// ssa_name
//
diff --git a/gcc/tree-ssa-ccp.c b/gcc/tree-ssa-ccp.c
index f894a961847..1083eb3ef7f 100644
--- a/gcc/tree-ssa-ccp.c
+++ b/gcc/tree-ssa-ccp.c
@@ -2484,8 +2484,9 @@ optimize_stdarg_builtin (gimple call)
return NULL_GIMPLE;
lhs = build_fold_indirect_ref_loc (loc, lhs);
- rhs = build_call_expr_loc (loc, gimple_builtin_decl_explicit (BUILT_IN_NEXT_ARG),
- 1, gimple_integer_zero);
+ rhs = build_call_expr_loc (loc,
+ gimple_builtin_decl_explicit (BUILT_IN_NEXT_ARG),
+ 1, gimple_integer_zero);
rhs = fold_convert_loc (loc, lhs->type (), rhs);
return create<Gimple::modify_expr> (lhs->type (), lhs, rhs);