]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
[AArch64] Remove aarch64_symbolic_constant_p.
authorMarcus Shawcroft <marcus.shawcroft@arm.com>
Fri, 28 Jun 2013 12:26:20 +0000 (12:26 +0000)
committerMarcus Shawcroft <mshawcroft@gcc.gnu.org>
Fri, 28 Jun 2013 12:26:20 +0000 (12:26 +0000)
From-SVN: r200519

gcc/ChangeLog
gcc/config/aarch64/aarch64-protos.h
gcc/config/aarch64/aarch64.c
gcc/config/aarch64/predicates.md

index a584e7601d8368a43077ecec9571bec902ec623f..129a608212487107b277fd05318f407280b23603 100644 (file)
@@ -1,3 +1,14 @@
+2013-06-28  Marcus Shawcroft  <marcus.shawcroft@arm.com>
+
+       * config/aarch64/aarch64-protos.h
+       aarch64_classify_symbol_expression): Define.
+       (aarch64_symbolic_constant_p): Remove.
+       * config/aarch64/aarch64.c (aarch64_classify_symbol_expression): Remove
+       static.  Fix line length and white space.
+       (aarch64_symbolic_constant_p): Remove.
+       * config/aarch64/predicates.md (aarch64_valid_symref):
+       Use aarch64_classify_symbol_expression.
+
 2013-06-28  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
 
        * config/arm/constraints.md (Ts): New constraint.
index 12f3c3a6fe657bf40803943da10d836040f09c12..c9d64c667120d7077390c2b43e3c507527ea7a90 100644 (file)
@@ -137,6 +137,8 @@ struct tune_params
 
 HOST_WIDE_INT aarch64_initial_elimination_offset (unsigned, unsigned);
 bool aarch64_bitmask_imm (HOST_WIDE_INT val, enum machine_mode);
+enum aarch64_symbol_type
+aarch64_classify_symbolic_expression (rtx, enum aarch64_symbol_context);
 bool aarch64_constant_address_p (rtx);
 bool aarch64_float_const_zero_rtx_p (rtx);
 bool aarch64_function_arg_regno_p (unsigned);
@@ -162,8 +164,6 @@ bool aarch64_simd_shift_imm_p (rtx, enum machine_mode, bool);
 bool aarch64_simd_valid_immediate (rtx, enum machine_mode, bool,
                                   struct simd_immediate_info *);
 bool aarch64_symbolic_address_p (rtx);
-bool aarch64_symbolic_constant_p (rtx, enum aarch64_symbol_context,
-                                 enum aarch64_symbol_type *);
 bool aarch64_uimm12_shift (HOST_WIDE_INT);
 const char *aarch64_output_casesi (rtx *);
 enum aarch64_symbol_type aarch64_classify_symbol (rtx,
index 77591c114efbd57e3659811c10840213e9e39afe..dea3bf6f26ebef7ca4a61f26bac0776bcef814b4 100644 (file)
@@ -3130,10 +3130,13 @@ aarch64_symbolic_address_p (rtx x)
 
 /* Classify the base of symbolic expression X, given that X appears in
    context CONTEXT.  */
-static enum aarch64_symbol_type
-aarch64_classify_symbolic_expression (rtx x, enum aarch64_symbol_context context)
+
+enum aarch64_symbol_type
+aarch64_classify_symbolic_expression (rtx x,
+                                     enum aarch64_symbol_context context)
 {
   rtx offset;
+
   split_const (x, &x, &offset);
   return aarch64_classify_symbol (x, context);
 }
@@ -5134,24 +5137,6 @@ aarch64_classify_symbol (rtx x,
   return SYMBOL_FORCE_TO_MEM;
 }
 
-/* Return true if X is a symbolic constant that can be used in context
-   CONTEXT.  If it is, store the type of the symbol in *SYMBOL_TYPE.  */
-
-bool
-aarch64_symbolic_constant_p (rtx x, enum aarch64_symbol_context context,
-                            enum aarch64_symbol_type *symbol_type)
-{
-  rtx offset;
-  split_const (x, &x, &offset);
-  if (GET_CODE (x) == SYMBOL_REF || GET_CODE (x) == LABEL_REF)
-    *symbol_type = aarch64_classify_symbol (x, context);
-  else
-    return false;
-
-  /* No checking of offset at this point.  */
-  return true;
-}
-
 bool
 aarch64_constant_address_p (rtx x)
 {
index 3248f610da0cb6e693c1b01b31a5e17116a4e577..3e2b6b34357337aa94f8e55ecb77abaf1e95771d 100644 (file)
 (define_predicate "aarch64_valid_symref"
   (match_code "const, symbol_ref, label_ref")
 {
-  enum aarch64_symbol_type symbol_type;
-  return (aarch64_symbolic_constant_p (op, SYMBOL_CONTEXT_ADR, &symbol_type)
-        && symbol_type != SYMBOL_FORCE_TO_MEM);
+  return (aarch64_classify_symbolic_expression (op, SYMBOL_CONTEXT_ADR)
+         != SYMBOL_FORCE_TO_MEM);
 })
 
 (define_predicate "aarch64_tls_ie_symref"