From 0b14f86aab71ae9c3e73f308372d19f17d156c01 Mon Sep 17 00:00:00 2001 From: rsandifo Date: Wed, 8 Aug 2007 15:40:27 +0000 Subject: gcc/ * config/mips/mips-protos.h (mips_split_symbol): Add a mode and an "rtx *" argument. Return a bool. * config/mips/mips.c (mips_split_symbol): Accept arbitrary source values and return true if they can be split. Take the same kind of mode argument as mips_symbol_insns. Add a "lo_sum_out" parameter and store the lo_sum there if nonnull. Use the symbol type to determine whether a $gp or HIGH is needed. (mips_legitimize_address): Update call to mips_split_symbol and simplify accordingly. (mips_legitimize_const_move): Likewise. * config/mips/mips.md: In the combine define_split, check mips_split_symbol instead of splittable_symbolic_operand. Update use of mips_split_symbol in the generator code. * config/mips/predicates.md (splittable_symbolic_operand): Delete. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127298 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/config/mips/predicates.md | 10 ---------- 1 file changed, 10 deletions(-) (limited to 'gcc/config/mips/predicates.md') diff --git a/gcc/config/mips/predicates.md b/gcc/config/mips/predicates.md index 1171291f508..308dd636f57 100644 --- a/gcc/config/mips/predicates.md +++ b/gcc/config/mips/predicates.md @@ -154,16 +154,6 @@ return !LUI_INT (op) && !SMALL_INT (op) && !SMALL_INT_UNSIGNED (op); }) -;; A legitimate symbolic operand that takes more than one instruction -;; to load. -(define_predicate "splittable_symbolic_operand" - (match_code "const,symbol_ref,label_ref") -{ - enum mips_symbol_type symbol_type; - return (mips_symbolic_constant_p (op, SYMBOL_CONTEXT_LEA, &symbol_type) - && mips_split_p[symbol_type]); -}) - (define_predicate "move_operand" (match_operand 0 "general_operand") { -- cgit v1.2.1