From patchwork Thu Sep 2 16:31:40 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anatoly Sokolov X-Patchwork-Id: 63507 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) by ozlabs.org (Postfix) with SMTP id 8C1AAB718B for ; Fri, 3 Sep 2010 02:31:47 +1000 (EST) Received: (qmail 14636 invoked by alias); 2 Sep 2010 16:31:44 -0000 Received: (qmail 14623 invoked by uid 22791); 2 Sep 2010 16:31:43 -0000 X-SWARE-Spam-Status: No, hits=2.1 required=5.0 tests=AWL, BAYES_50, KAM_THEBAT, RCVD_IN_DNSWL_NONE, T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from contrabass.post.ru (HELO contrabass.post.ru) (85.21.78.5) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Thu, 02 Sep 2010 16:31:37 +0000 Received: from corbina.ru (mail.post.ru [195.14.50.16]) by contrabass.post.ru (Postfix) with ESMTP id 3DEE4A646; Thu, 2 Sep 2010 20:31:34 +0400 (MSD) Received: from [93.80.198.243] (account aesok@post.ru HELO Vista.corbina.ru) by corbina.ru (CommuniGate Pro SMTP 5.1.14) with ESMTPA id 251941591; Thu, 02 Sep 2010 20:31:33 +0400 Date: Thu, 2 Sep 2010 20:31:40 +0400 From: Anatoly Sokolov Message-ID: <17610184730.20100902203140@post.ru> To: gcc-patches@gcc.gnu.org CC: dj@redhat.com Subject: [M32C] Hookize CLASS_LIKELY_SPILLED_P MIME-Version: 1.0 X-IsSubscribed: yes Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Delivered-To: mailing list gcc-patches@gcc.gnu.org Hi. This patch removes obsolete CLASS_LIKELY_SPILLED_P macro from the M32C back end in the GCC and introduces equivalent TARGET_CLASS_LIKELY_SPILLED_P target hook. Regression tested on m32c-unknown-elf. OK to install? * config/m32c/m32c.h (CLASS_LIKELY_SPILLED_P): Remove. * config/m32c/m32c-protos.h (m32c_class_likely_spilled_p): Remove. * config/m32c/m32c.c (TARGET_CLASS_LIKELY_SPILLED_P): Define. (m32c_class_likely_spilled_p): Make static. Change arguments type to reg_class_t. Anatoly. Index: gcc/config/m32c/m32c.c =================================================================== --- gcc/config/m32c/m32c.c (revision 163779) +++ gcc/config/m32c/m32c.c (working copy) @@ -823,14 +823,19 @@ return NO_REGS; } -/* Implements CLASS_LIKELY_SPILLED_P. A_REGS is needed for address +/* Implements TARGET_CLASS_LIKELY_SPILLED_P. A_REGS is needed for address reloads. */ -int -m32c_class_likely_spilled_p (int regclass) + +#undef TARGET_CLASS_LIKELY_SPILLED_P +#define TARGET_CLASS_LIKELY_SPILLED_P m32c_class_likely_spilled_p + +static bool +m32c_class_likely_spilled_p (reg_class_t regclass) { if (regclass == A_REGS) - return 1; - return reg_class_size[regclass] == 1; + return true; + + return (reg_class_size[(int) regclass] == 1); } /* Implements CLASS_MAX_NREGS. We calculate this according to its Index: gcc/config/m32c/m32c.h =================================================================== --- gcc/config/m32c/m32c.h (revision 163779) +++ gcc/config/m32c/m32c.h (working copy) @@ -421,8 +421,6 @@ #define TARGET_SMALL_REGISTER_CLASSES_FOR_MODE_P hook_bool_mode_true -#define CLASS_LIKELY_SPILLED_P(C) m32c_class_likely_spilled_p (C) - #define CLASS_MAX_NREGS(C,M) m32c_class_max_nregs (C, M) #define CANNOT_CHANGE_MODE_CLASS(F,T,C) m32c_cannot_change_mode_class(F,T,C) Index: gcc/config/m32c/m32c-protos.h =================================================================== --- gcc/config/m32c/m32c-protos.h (revision 163779) +++ gcc/config/m32c/m32c-protos.h (working copy) @@ -22,7 +22,6 @@ #define MM enum machine_mode #define UINT unsigned int -int m32c_class_likely_spilled_p (int); void m32c_conditional_register_usage (void); int m32c_const_ok_for_constraint_p (HOST_WIDE_INT, char, const char *); UINT m32c_dwarf_frame_regnum (int);