[{"id":1762430,"web_url":"http://patchwork.ozlabs.org/comment/1762430/","msgid":"<7ca91fef-ae09-7172-05be-75a0374439ae@redhat.com>","list_archive_url":null,"date":"2017-09-04T05:48:17","subject":"Re: Turn HARD_REGNO_CALL_PART_CLOBBERED into a target hook","submitter":{"id":4400,"url":"http://patchwork.ozlabs.org/api/people/4400/","name":"Jeff Law","email":"law@redhat.com"},"content":"On 08/28/2017 02:39 AM, Richard Sandiford wrote:\n> The SVE patches change the size of a machine_mode from a compile-time\n> constant to a runtime invariant.  However, target-specific code can\n> continue to treat the modes as constant-sized if the target only has\n> constant-sized modes.\n> \n> The main snag with this approach is that target-independent code still\n> uses macros from the target .h file.  This patch is one of several that\n> converts a target macro to a hook.\n> \n> Tested on aarch64-linux-gnu, x86_64-linux-gnu and powerpc64le-linux-gnu.\n> Also tested by checking that there were no extra warnings or changes in\n> testsuite assembly output for at least one target per CPU.  OK to install?\n> \n> Richard\n> \n> \n> 2017-08-28  Richard Sandiford  <richard.sandiford@linaro.org>\n> \t    Alan Hayward  <alan.hayward@arm.com>\n> \t    David Sherwood  <david.sherwood@arm.com>\n> \n> gcc/\n> \t* target.def (hard_regno_call_part_clobbered): New hook.\n> \t* doc/tm.texi.in (HARD_REGNO_CALL_PART_CLOBBERED): Replace with...\n> \t(TARGET_HARD_REGNO_CALL_PART_CLOBBERED): ...this hook.\n> \t* doc/tm.texi: Regenerate.\n> \t* hooks.h (hook_bool_uint_mode_false): Declare.\n> \t* hooks.c (hook_bool_uint_mode_false): New function.\n> \t* regs.h (HARD_REGNO_CALL_PART_CLOBBERED): Delete.\n> \t* cselib.c (cselib_process_insn): Use\n> \ttargetm.hard_regno_call_part_clobbered instead of\n> \tHARD_REGNO_CALL_PART_CLOBBERED.\n> \t* ira-conflicts.c (ira_build_conflicts): Likewise.\n> \t* ira-costs.c (ira_tune_allocno_costs): Likewise.\n> \t* lra-constraints.c (need_for_call_save_p): Likewise.\n> \t* lra-lives.c: Include target.h.\n> \t(check_pseudos_live_through_calls): Use\n> \ttargetm.hard_regno_call_part_clobbered instead of\n> \tHARD_REGNO_CALL_PART_CLOBBERED.\n> \t* regcprop.c: Include target.h.\n> \t(copyprop_hardreg_forward_1): Use\n> \ttargetm.hard_regno_call_part_clobbered instead of\n> \tHARD_REGNO_CALL_PART_CLOBBERED.\n> \t* reginfo.c (choose_hard_reg_mode): Likewise.\n> \t* regrename.c (check_new_reg_p): Likewise.\n> \t* reload.c (find_equiv_reg): Likewise.\n> \t* reload1.c (emit_reload_insns): Likewise.\n> \t* sched-deps.c (deps_analyze_insn): Likewise.\n> \t* sel-sched.c (init_regs_for_mode): Likewise.\n> \t(mark_unavailable_hard_regs): Likewise.\n> \t* targhooks.c (default_dwarf_frame_reg_mode): Likewise.\n> \t* config/aarch64/aarch64.h (HARD_REGNO_CALL_PART_CLOBBERED): Delete.\n> \t* config/aarch64/aarch64.c (aarch64_hard_regno_call_part_clobbered):\n> \tNew function.\n> \t(TARGET_HARD_REGNO_CALL_PART_CLOBBERED): Redefine.\n> \t* config/avr/avr.h (HARD_REGNO_CALL_PART_CLOBBERED): Delete.\n> \t* config/avr/avr-protos.h (avr_hard_regno_call_part_clobbered):\n> \tDelete.\n> \t* config/avr/avr.c (avr_hard_regno_call_part_clobbered): Make static\n> \tand return a bool.\n> \t(TARGET_HARD_REGNO_CALL_PART_CLOBBERED): Redefine.\n> \t* config/i386/i386.h (HARD_REGNO_CALL_PART_CLOBBERED): Delete.\n> \t* config/i386/i386.c (ix86_hard_regno_call_part_clobbered): New\n> \tfunction.\n> \t(TARGET_HARD_REGNO_CALL_PART_CLOBBERED): Redefine.\n> \t* config/mips/mips.h (HARD_REGNO_CALL_PART_CLOBBERED): Delete.\n> \t* config/mips/mips.c (mips_hard_regno_call_part_clobbered): New\n> \tfunction.\n> \t(TARGET_HARD_REGNO_CALL_PART_CLOBBERED): Redefine.\n> \t* config/powerpcspe/powerpcspe.h (HARD_REGNO_CALL_PART_CLOBBERED):\n> \tDelete.\n> \t* config/powerpcspe/powerpcspe.c\n> \t(rs6000_hard_regno_call_part_clobbered): New function.\n> \t(TARGET_HARD_REGNO_CALL_PART_CLOBBERED): Redefine.\n> \t* config/rs6000/rs6000.h (HARD_REGNO_CALL_PART_CLOBBERED): Delete.\n> \t* config/rs6000/rs6000.c (rs6000_hard_regno_call_part_clobbered):\n> \tNew function.\n> \t(TARGET_HARD_REGNO_CALL_PART_CLOBBERED): Redefine.\n> \t* config/s390/s390.h (HARD_REGNO_CALL_PART_CLOBBERED): Delete.\n> \t* config/s390/s390.c (s390_hard_regno_call_part_clobbered): New\n> \tfunction.\n> \t(TARGET_HARD_REGNO_CALL_PART_CLOBBERED): Redefine.\n> \t* config/sh/sh.h (HARD_REGNO_CALL_PART_CLOBBERED): Delete.\n> \t* system.h (HARD_REGNO_CALL_PART_CLOBBERED): Poison.\nOK.\n\njeff","headers":{"Return-Path":"<gcc-patches-return-461374-incoming=patchwork.ozlabs.org@gcc.gnu.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":["patchwork-incoming@bilbo.ozlabs.org","mailing list gcc-patches@gcc.gnu.org"],"Authentication-Results":["ozlabs.org;\n\tspf=pass (mailfrom) smtp.mailfrom=gcc.gnu.org\n\t(client-ip=209.132.180.131; helo=sourceware.org;\n\tenvelope-from=gcc-patches-return-461374-incoming=patchwork.ozlabs.org@gcc.gnu.org;\n\treceiver=<UNKNOWN>)","ozlabs.org; dkim=pass (1024-bit key;\n\tunprotected) header.d=gcc.gnu.org header.i=@gcc.gnu.org\n\theader.b=\"LjTUPBHW\"; dkim-atps=neutral","sourceware.org; auth=none","ext-mx08.extmail.prod.ext.phx2.redhat.com;\n\tdmarc=none (p=none dis=none) header.from=redhat.com","ext-mx08.extmail.prod.ext.phx2.redhat.com;\n\tspf=fail smtp.mailfrom=law@redhat.com"],"Received":["from sourceware.org (server1.sourceware.org [209.132.180.131])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256\n\tbits)) (No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3xlzRb6Lbsz9s7M\n\tfor <incoming@patchwork.ozlabs.org>;\n\tMon,  4 Sep 2017 15:48:43 +1000 (AEST)","(qmail 38777 invoked by alias); 4 Sep 2017 05:48:36 -0000","(qmail 38725 invoked by uid 89); 4 Sep 2017 05:48:26 -0000","from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by\n\tsourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP;\n\tMon, 04 Sep 2017 05:48:24 +0000","from smtp.corp.redhat.com\n\t(int-mx02.intmail.prod.int.phx2.redhat.com\n\t[10.5.11.12])\t(using TLSv1.2 with cipher AECDH-AES256-SHA\n\t(256/256 bits))\t(No client certificate requested)\tby\n\tmx1.redhat.com (Postfix) with ESMTPS id 2CD92C0587F8;\n\tMon,  4 Sep 2017 05:48:20 +0000 (UTC)","from localhost.localdomain (ovpn-112-3.rdu2.redhat.com\n\t[10.10.112.3])\tby smtp.corp.redhat.com (Postfix) with ESMTP\n\tid 12A4161996; Mon,  4 Sep 2017 05:48:18 +0000 (UTC)"],"DomainKey-Signature":"a=rsa-sha1; c=nofws; d=gcc.gnu.org; h=list-id\n\t:list-unsubscribe:list-archive:list-post:list-help:sender\n\t:subject:to:references:from:message-id:date:mime-version\n\t:in-reply-to:content-type:content-transfer-encoding; q=dns; s=\n\tdefault; b=DzTGd3s5JyVocUc7Ega1qqQRyeyoNb9tCoDQy+pxl+UHCplSQUtJT\n\tzbF+t2FYqrcsFbKB4xr/O6bfqmJDgiGyMq1zco18/Cxz9MZdf9hK+es/DiYUshKk\n\t/Erv7LjnGV+tsXAbTMC6tO/h0yihsz6UYbUWvaKihARv5MTuVwpAUs=","DKIM-Signature":"v=1; a=rsa-sha1; c=relaxed; d=gcc.gnu.org; h=list-id\n\t:list-unsubscribe:list-archive:list-post:list-help:sender\n\t:subject:to:references:from:message-id:date:mime-version\n\t:in-reply-to:content-type:content-transfer-encoding; s=default;\n\tbh=zr092PXU+OA5YfFgSq723fH0KK8=; b=LjTUPBHWxhG+IDs45yhLdYesCgYZ\n\tqhn+W/SElOUQrFE3niz3VpMzF8PO0BqFC28gw9MwuIvlDfLuerG5vIqtEzq3YBBP\n\tt9oc14vbGfao0LJaN7x7vN2Q+9EkdhJ4coS/bMu/NUx0ZaoYlIvAXrn4TsjCNdPA\n\tVkdmAhrbAjRfPAQ=","Mailing-List":"contact gcc-patches-help@gcc.gnu.org; run by ezmlm","Precedence":"bulk","List-Id":"<gcc-patches.gcc.gnu.org>","List-Unsubscribe":"<mailto:gcc-patches-unsubscribe-incoming=patchwork.ozlabs.org@gcc.gnu.org>","List-Archive":"<http://gcc.gnu.org/ml/gcc-patches/>","List-Post":"<mailto:gcc-patches@gcc.gnu.org>","List-Help":"<mailto:gcc-patches-help@gcc.gnu.org>","Sender":"gcc-patches-owner@gcc.gnu.org","X-Virus-Found":"No","X-Spam-SWARE-Status":"No, score=-1.9 required=5.0 tests=BAYES_00,\n\tRP_MATCHES_RCVD,\n\tSPF_HELO_PASS autolearn=ham version=3.3.2 spammy=","X-HELO":"mx1.redhat.com","DMARC-Filter":"OpenDMARC Filter v1.3.2 mx1.redhat.com 2CD92C0587F8","Subject":"Re: Turn HARD_REGNO_CALL_PART_CLOBBERED into a target hook","To":"gcc-patches@gcc.gnu.org, richard.sandiford@linaro.org","References":"<87inh8t7a9.fsf@linaro.org>","From":"Jeff Law <law@redhat.com>","Message-ID":"<7ca91fef-ae09-7172-05be-75a0374439ae@redhat.com>","Date":"Sun, 3 Sep 2017 23:48:17 -0600","User-Agent":"Mozilla/5.0 (X11; Linux x86_64;\n\trv:52.0) Gecko/20100101 Thunderbird/52.2.1","MIME-Version":"1.0","In-Reply-To":"<87inh8t7a9.fsf@linaro.org>","Content-Type":"text/plain; charset=utf-8","Content-Transfer-Encoding":"7bit","X-IsSubscribed":"yes"}}]