From patchwork Fri Jan 7 18:34:04 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anatoly Sokolov X-Patchwork-Id: 77899 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 6ECE5B7118 for ; Sat, 8 Jan 2011 05:34:16 +1100 (EST) Received: (qmail 19823 invoked by alias); 7 Jan 2011 18:34:15 -0000 Received: (qmail 19662 invoked by uid 22791); 7 Jan 2011 18:34:14 -0000 X-SWARE-Spam-Status: No, hits=1.5 required=5.0 tests=AWL, BAYES_40, 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; Fri, 07 Jan 2011 18:34:08 +0000 Received: from corbina.ru (mail.post.ru [195.14.50.16]) by contrabass.post.ru (Postfix) with ESMTP id 93A30C9550; Fri, 7 Jan 2011 21:34:02 +0300 (MSK) Received: from [95.24.213.97] (account aesok@post.ru HELO Vista.corbina.ru) by corbina.ru (CommuniGate Pro SMTP 5.1.14) with ESMTPA id 290939219; Fri, 07 Jan 2011 21:34:02 +0300 Date: Fri, 7 Jan 2011 21:34:04 +0300 From: Anatoly Sokolov Message-ID: <1908613364.20110107213404@post.ru> To: gcc-patches@gcc.gnu.org CC: hpenner@de.ibm.com, uweigand@de.ibm.com, Andreas.Krebbel@de.ibm.com Subject: [S390] Hookize OUTPUT_ADDR_CONST_EXTRA 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 Hello. This patch removes obsolete OUTPUT_ADDR_CONST_EXTRA macro from S390 back end in the GCC and introduces equivalent TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA target hook. Not tested. OK to install? * config/s390/s390.h (OUTPUT_ADDR_CONST_EXTRA): Remove. * config/s390/s390-protos.h (s390_output_addr_const_extra): Remove. * config/s390/s390.c (s390_output_addr_const_extra): Make static. (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define. Anatoly. Index: gcc/config/s390/s390.c =================================================================== --- gcc/config/s390/s390.c (revision 168568) +++ gcc/config/s390/s390.c (working copy) @@ -5056,7 +5056,7 @@ in assembler syntax to stdio stream FILE. Returns true if the constant X could be recognized, false otherwise. */ -bool +static bool s390_output_addr_const_extra (FILE *file, rtx x) { if (GET_CODE (x) == UNSPEC && XVECLEN (x, 0) == 1) @@ -10600,6 +10600,9 @@ #undef TARGET_EXPAND_BUILTIN #define TARGET_EXPAND_BUILTIN s390_expand_builtin +#undef TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA +#define TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA s390_output_addr_const_extra + #undef TARGET_ASM_OUTPUT_MI_THUNK #define TARGET_ASM_OUTPUT_MI_THUNK s390_output_mi_thunk #undef TARGET_ASM_CAN_OUTPUT_MI_THUNK Index: gcc/config/s390/s390.h =================================================================== --- gcc/config/s390/s390.h (revision 168568) +++ gcc/config/s390/s390.h (working copy) @@ -909,13 +909,6 @@ #define PRINT_OPERAND(FILE, X, CODE) print_operand (FILE, X, CODE) #define PRINT_OPERAND_ADDRESS(FILE, ADDR) print_operand_address (FILE, ADDR) -/* Output machine-dependent UNSPECs in address constants. */ -#define OUTPUT_ADDR_CONST_EXTRA(FILE, X, FAIL) \ -do { \ - if (!s390_output_addr_const_extra (FILE, (X))) \ - goto FAIL; \ -} while (0); - /* Output an element of a case-vector that is absolute. */ #define ASM_OUTPUT_ADDR_VEC_ELT(FILE, VALUE) \ do { \ Index: gcc/config/s390/s390-protos.h =================================================================== --- gcc/config/s390/s390-protos.h (revision 168568) +++ gcc/config/s390/s390-protos.h (working copy) @@ -99,7 +99,6 @@ extern void s390_narrow_logical_operator (enum rtx_code, rtx *, rtx *); extern void s390_split_access_reg (rtx, rtx *, rtx *); -extern bool s390_output_addr_const_extra (FILE*, rtx); extern void print_operand_address (FILE *, rtx); extern void print_operand (FILE *, rtx, int); extern void s390_output_pool_entry (rtx, enum machine_mode, unsigned int);