From 8fd61aba887a94545bf765d52b25b00060d07a35 Mon Sep 17 00:00:00 2001 From: mshawcroft Date: Fri, 28 Jun 2013 12:26:20 +0000 Subject: [PATCH] [AArch64] Remove aarch64_symbolic_constant_p. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@200519 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 11 +++++++++++ gcc/config/aarch64/aarch64-protos.h | 4 ++-- gcc/config/aarch64/aarch64.c | 25 +++++-------------------- gcc/config/aarch64/predicates.md | 5 ++--- 4 files changed, 20 insertions(+), 25 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index a584e7601d8..129a6082124 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,14 @@ +2013-06-28 Marcus Shawcroft + + * 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 * config/arm/constraints.md (Ts): New constraint. diff --git a/gcc/config/aarch64/aarch64-protos.h b/gcc/config/aarch64/aarch64-protos.h index 12f3c3a6fe6..c9d64c66712 100644 --- a/gcc/config/aarch64/aarch64-protos.h +++ b/gcc/config/aarch64/aarch64-protos.h @@ -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, diff --git a/gcc/config/aarch64/aarch64.c b/gcc/config/aarch64/aarch64.c index 77591c114ef..dea3bf6f26e 100644 --- a/gcc/config/aarch64/aarch64.c +++ b/gcc/config/aarch64/aarch64.c @@ -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) { diff --git a/gcc/config/aarch64/predicates.md b/gcc/config/aarch64/predicates.md index 3248f610da0..3e2b6b34357 100644 --- a/gcc/config/aarch64/predicates.md +++ b/gcc/config/aarch64/predicates.md @@ -118,9 +118,8 @@ (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" -- 2.11.4.GIT