From patchwork Wed Oct 20 14:18:22 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alex Coplan X-Patchwork-Id: 1543913 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=gcc.gnu.org header.i=@gcc.gnu.org header.a=rsa-sha256 header.s=default header.b=yUZ+KlJU; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=gcc.gnu.org (client-ip=8.43.85.97; helo=sourceware.org; envelope-from=gcc-patches-bounces+incoming=patchwork.ozlabs.org@gcc.gnu.org; receiver=) Received: from sourceware.org (ip-8-43-85-97.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4HZCRB6RdPz9sR4 for ; Thu, 21 Oct 2021 01:19:17 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 00A1B385801D for ; Wed, 20 Oct 2021 14:19:15 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 00A1B385801D DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1634739555; bh=gvdZMXYOsHW6OS2W+YDihxMjWvsTbaYYdoAmgfBGJCU=; h=Date:To:Subject:List-Id:List-Unsubscribe:List-Archive:List-Post: List-Help:List-Subscribe:From:Reply-To:From; b=yUZ+KlJUK82g9ZIJvazEsk2x264nQPlAWhIb/IFsR+QsSO127K1HDhb3dShRVtUxm iysytveLfJec4rbpdJu9vQQMfU6QX29VCcaugg0cDglcui5oJVdaaqIEx1R5rKDI8C 8/kCe9Tg0mbartk9G5/dkLaYt1ILpBEWD0f/qFgQ= X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from EUR02-HE1-obe.outbound.protection.outlook.com (mail-eopbgr10055.outbound.protection.outlook.com [40.107.1.55]) by sourceware.org (Postfix) with ESMTPS id 0F9BF3857C52 for ; Wed, 20 Oct 2021 14:18:39 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 0F9BF3857C52 Received: from AM5P194CA0011.EURP194.PROD.OUTLOOK.COM (2603:10a6:203:8f::21) by HE1PR0801MB1868.eurprd08.prod.outlook.com (2603:10a6:3:49::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4608.15; Wed, 20 Oct 2021 14:18:35 +0000 Received: from AM5EUR03FT022.eop-EUR03.prod.protection.outlook.com (2603:10a6:203:8f:cafe::71) by AM5P194CA0011.outlook.office365.com (2603:10a6:203:8f::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4608.16 via Frontend Transport; Wed, 20 Oct 2021 14:18:35 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; gcc.gnu.org; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;gcc.gnu.org; dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by AM5EUR03FT022.mail.protection.outlook.com (10.152.16.79) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4628.16 via Frontend Transport; Wed, 20 Oct 2021 14:18:34 +0000 Received: ("Tessian outbound a8bfe25d7364:v103"); Wed, 20 Oct 2021 14:18:34 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: c80b144b1681f350 X-CR-MTA-TID: 64aa7808 Received: from c7366fc60990.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 8352C55C-6E99-4CFD-8B35-EA187955C1A4.1; Wed, 20 Oct 2021 14:18:27 +0000 Received: from EUR04-DB3-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id c7366fc60990.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Wed, 20 Oct 2021 14:18:27 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=AsAT6Kg4gX5C9o0z84JgRP8vAMi96dGvy0SEyimCs70kHRL/KC5H/mPSbpWe/3zdr4E8UBSAPw/WoBGtP94lPZjBxZ9y15lf7NVyXS0fpylPWid1PjO8GrmjeeQ3GTjsAy4wh5asLALj3gnhwmF4ax0bttEzWS1z+E9FJfZDgLdX5I64lJvZi3zXf+9e5Ec46SNYnFHZkzKrKAkQ+FkWHTqUbISA2k/wZMIxSvwXGy8vHEBCe4Kj+ozhfYjJ3QahGCzNnRNdPOkyLowkRI2PNyN2j6+v9/fKqo0lHrKAkw8KZPQsDC/nnulCQ4l6pMxyvc1jyTsmwzPcYauPdyGJ+Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=gvdZMXYOsHW6OS2W+YDihxMjWvsTbaYYdoAmgfBGJCU=; b=h5aSzG87Cwt+RI6M8LDrBfYqLaRu85ztsz34b1knmp7vrPb6zfadYhQjsM9xucfGpp/JOG8Isvdsbf62W5yYE5Z1irkD5tCbICG/Vl+rgrG5msjBUwGwLJfeX/dh+mMSwUHxldtGOoG8ca3pWcFz05Cwjf/cglt/j6IJtekMQGFpSiRSVMlIAEX5BsDde2NZY6YcASkc6YVX8z+ngeTeXuuj5XHLbiBBux/127rRmdA4egFHFRiW9ffLUvnhrWZwX2du+25YspS1Xwa/Sxkm261743Juzikufp2x1k7oQAQwT9Kd/ohDrEZbFUREPTvFMtMddiS/7l1W1uePmwaZjg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none Authentication-Results-Original: gcc.gnu.org; dkim=none (message not signed) header.d=none;gcc.gnu.org; dmarc=none action=none header.from=arm.com; Received: from DB6PR0801MB1685.eurprd08.prod.outlook.com (2603:10a6:4:38::17) by DBBPR08MB5993.eurprd08.prod.outlook.com (2603:10a6:10:1f4::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4608.16; Wed, 20 Oct 2021 14:18:26 +0000 Received: from DB6PR0801MB1685.eurprd08.prod.outlook.com ([fe80::7923:4da0:e998:ae09]) by DB6PR0801MB1685.eurprd08.prod.outlook.com ([fe80::7923:4da0:e998:ae09%12]) with mapi id 15.20.4608.018; Wed, 20 Oct 2021 14:18:26 +0000 Date: Wed, 20 Oct 2021 15:18:22 +0100 To: gcc-patches@gcc.gnu.org Subject: [PATCH] calls.c: Remove some dead code and target hooks Message-ID: <20211020141821.36beiyh45lqacmon@arm.com> Content-Disposition: inline User-Agent: NeoMutt/20171215 X-ClientProxiedBy: LO2P123CA0080.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:138::13) To DB6PR0801MB1685.eurprd08.prod.outlook.com (2603:10a6:4:38::17) MIME-Version: 1.0 Received: from arm.com (217.140.106.50) by LO2P123CA0080.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:138::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4628.16 via Frontend Transport; Wed, 20 Oct 2021 14:18:25 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 98929104-f5bd-43c2-5bb3-08d993d48057 X-MS-TrafficTypeDiagnostic: DBBPR08MB5993:|HE1PR0801MB1868: X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true NoDisclaimer: true X-MS-Oob-TLC-OOBClassifiers: OLM:10000;OLM:10000; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: kjjSdxbrS18XrTcHtxPRdNO4Aywh17mTIhSS/WbgqXRjrj9PmmcuP5lYhIPAaFfz3Xp/obNhmAGBMRtc+odA3XS8WP4VO3HYQyR4MBpnetzRy+7ZUYvuWhr2foZskCHUIES2JgNRWr2iuZfQfdzRCgKtpi/EaDxkxK55D7XhBfYTQOJOcxcUc58xX/ZMWlBmdWQV+0z7QRtdtxm48QX82/LEqgJPWxJwBr/r5uSZ/mpd2pEe3CVVr2n5dDYIIirpdlio42n8Nv8zRvBuh2aoqf08Jx+GSy7ITfaE7bv2h591yyjrqZMiM6VCyBA82DctO/IlU/OinNrzufukqiQWqpsZ+YrB5GsSi+8elRz3aO2yJwIIzGfb++10KhwM4aZ44DbecspijNuVD2jKfrH9jMcYuX74jEjnvij+kF11/6LjzL5uFz33LNS+o5lfE1wGI82pNDkS/aLNJGYkhhEhXr0f+4Y6j4GutLb9HjPkTrbOWqHEhuDL73REDmoUylInX4D+EDcAUpLjxUtZ7USjB2s+crPPeYIfGWPfXiUziGKX4QmLV1zcR8xnjRhgOfJNDr6OO79+8Xv6fINJwtHyqu6RP99lscSzOR4eWkIjtqbWMzyDzerQI+U1x4NFNBeBpZ6dUH8nyHaeU3CXD6jQ0kSmBcDUj3jzPCOl2d5KWuREfycbH1orgHrCW9b65OeMxs0HrgPSAmbRvnFjYIWvfOIhVLJVqge2AOm6yuP6Fqk= X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DB6PR0801MB1685.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(366004)(8676002)(44832011)(508600001)(55016002)(6666004)(44144004)(8936002)(26005)(235185007)(66946007)(21480400003)(33964004)(7696005)(52116002)(36756003)(316002)(2906002)(38100700002)(83380400001)(66556008)(1076003)(5660300002)(2616005)(6916009)(86362001)(38350700002)(8886007)(956004)(66476007)(186003)(2700100001); DIR:OUT; SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR08MB5993 Original-Authentication-Results: gcc.gnu.org; dkim=none (message not signed) header.d=none;gcc.gnu.org; dmarc=none action=none header.from=arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: AM5EUR03FT022.eop-EUR03.prod.protection.outlook.com X-MS-Office365-Filtering-Correlation-Id-Prvs: 504e9408-7e06-4a1b-3e33-08d993d47b20 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 3YzluDh7lvYu/31aPj54W76CTqqrEbZ5ZniJTJkeX8fPaX3DekzVTJ7kll3QkW/IWWJPVsjmhAL11pmp117fkqm9swkZUwOh823RMtvqKlHpNvXiIyJvf3RCn7vW+7fwiGQYUDyj6WgokHvKF1ZgxSFsvGAklczUK92yLzuX/QbuqEtP5TLq1HUDuoaMw+BNwcMqxAl7zgm0rnUNnrAxH1Mo4iKpjsJfmyS8zjaRmDTr9k8+ElpWBLuVyXX93bdMuYvCkzEFJ+zw7ctQ+CpCXTzTR/eI0/zgoODXD2q2CcoP9vxn6pAW1DaEyWdBgTqXPIW2HfP6akeMtcvtH8HZBtp2E1s2pXpqGGR0ENGyKpNwLQwEz8j/H5t4cZVuexvYfFsK0+YEpLIkSGJl43CmtRA3rNIM/Z6YpM7sWUsed1/hRBo3mvKkSy272kwvmDbF66GiwS6XAl1TrlXqoY5AWHUhpMNlZ2KwkVsYEx64HubIYvEG6+AIguK25/jIxfY+OkSZFvgEHB7J8Ubw7DHj/8Uj9HSvYuhGxfxX+iv/zr4LI5fx7AU6iaLzIX7dZ6mg7LkI0vYzlKs/YvlgDaFvL+nnA8j+kDDwc425XBwNVL5RNMfAhc3eX4OdTjjdSBiuVtC0q90gr9PnIWtupGwMmcsoFlQ4eKoLwcAcnKOqSDcISRLdBYNIg9IEh7AaksTPR47xzjRW3qQbUH8VBrIN7Y+KXc2dbjhyJbp3a9HYq64= X-Forefront-Antispam-Report: CIP:63.35.35.123; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:64aa7808-outbound-1.mta.getcheckrecipient.com; PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com; CAT:NONE; SFS:(4636009)(36840700001)(46966006)(1076003)(81166007)(70586007)(70206006)(356005)(44832011)(36756003)(55016002)(83380400001)(316002)(47076005)(26005)(2616005)(8936002)(44144004)(6916009)(33964004)(2906002)(36860700001)(956004)(508600001)(336012)(86362001)(6666004)(8676002)(82310400003)(7696005)(186003)(8886007)(235185007)(5660300002)(21480400003)(2700100001); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Oct 2021 14:18:34.4494 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 98929104-f5bd-43c2-5bb3-08d993d48057 X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[63.35.35.123]; Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-AuthSource: AM5EUR03FT022.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR0801MB1868 X-Spam-Status: No, score=-13.6 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, GIT_PATCH_0, MSGID_FROM_MTA_HEADER, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_PASS, SPF_PASS, TXREP, UNPARSEABLE_RELAY autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Alex Coplan via Gcc-patches From: Alex Coplan Reply-To: Alex Coplan Errors-To: gcc-patches-bounces+incoming=patchwork.ozlabs.org@gcc.gnu.org Sender: "Gcc-patches" Hi all, Looking at calls.c:initialize_argument_information, I spotted some dead code that seems to have been left behind from when MPX support was removed. This patch removes that code as well as the associated target hooks (which appear to be unused). Bootstrapped and regtested on aarch64-linux-gnu and x86_64-linux-gnu, no regressions. OK for trunk? Thanks, Alex gcc/ChangeLog: * calls.c (initialize_argument_information): Remove some dead code, remove handling for function_arg returning const_int. * doc/tm.texi: Delete documentation for unused target hooks. * doc/tm.texi.in: Likewise. * target.def (load_bounds_for_arg): Delete. (store_bounds_for_arg): Delete. (load_returned_bounds): Delete. (store_returned_bounds): Delete. * targhooks.c (default_load_bounds_for_arg): Delete. (default_store_bounds_for_arg): Delete. (default_load_returned_bounds): Delete. (default_store_returned_bounds): Delete. * targhooks.h (default_load_bounds_for_arg): Delete. (default_store_bounds_for_arg): Delete. (default_load_returned_bounds): Delete. (default_store_returned_bounds): Delete. diff --git a/gcc/calls.c b/gcc/calls.c index e50d3fc3b62..27b59f26ad3 100644 --- a/gcc/calls.c +++ b/gcc/calls.c @@ -1287,8 +1287,6 @@ initialize_argument_information (int num_actuals ATTRIBUTE_UNUSED, args_size->constant = 0; args_size->var = 0; - bitmap_obstack_initialize (NULL); - /* In this loop, we consider args in the order they are written. We fill up ARGS from the back. */ @@ -1297,7 +1295,6 @@ initialize_argument_information (int num_actuals ATTRIBUTE_UNUSED, int j = i; call_expr_arg_iterator iter; tree arg; - bitmap slots = NULL; if (struct_value_addr_value) { @@ -1324,13 +1321,8 @@ initialize_argument_information (int num_actuals ATTRIBUTE_UNUSED, j--; argpos++; } - - if (slots) - BITMAP_FREE (slots); } - bitmap_obstack_release (NULL); - /* I counts args in order (to be) pushed; ARGPOS counts in order written. */ for (argpos = 0; argpos < num_actuals; i--, argpos++) { @@ -1493,9 +1485,6 @@ initialize_argument_information (int num_actuals ATTRIBUTE_UNUSED, args[i].reg = targetm.calls.function_arg (args_so_far, arg); - if (args[i].reg && CONST_INT_P (args[i].reg)) - args[i].reg = NULL; - /* If this is a sibling call and the machine has register windows, the register window has to be unwinded before calling the routine, so arguments have to go into the incoming registers. */ diff --git a/gcc/doc/tm.texi b/gcc/doc/tm.texi index 902402d7503..990152f5b15 100644 --- a/gcc/doc/tm.texi +++ b/gcc/doc/tm.texi @@ -4079,12 +4079,6 @@ The return value is usually either a @code{reg} RTX for the hard register in which to pass the argument, or zero to pass the argument on the stack. -The return value can be a @code{const_int} which means argument is -passed in a target specific slot with specified number. Target hooks -should be used to store or load argument in such case. See -@code{TARGET_STORE_BOUNDS_FOR_ARG} and @code{TARGET_LOAD_BOUNDS_FOR_ARG} -for more information. - The value of the expression can also be a @code{parallel} RTX@. This is used when an argument is passed in multiple locations. The mode of the @code{parallel} should be the mode of the entire argument. The @@ -5430,37 +5424,6 @@ defined, then define this hook to return @code{true} if Otherwise, you should not define this hook. @end deftypefn -@deftypefn {Target Hook} rtx TARGET_LOAD_BOUNDS_FOR_ARG (rtx @var{slot}, rtx @var{arg}, rtx @var{slot_no}) -This hook is used by expand pass to emit insn to load bounds of -@var{arg} passed in @var{slot}. Expand pass uses this hook in case -bounds of @var{arg} are not passed in register. If @var{slot} is a -memory, then bounds are loaded as for regular pointer loaded from -memory. If @var{slot} is not a memory then @var{slot_no} is an integer -constant holding number of the target dependent special slot which -should be used to obtain bounds. Hook returns RTX holding loaded bounds. -@end deftypefn - -@deftypefn {Target Hook} void TARGET_STORE_BOUNDS_FOR_ARG (rtx @var{arg}, rtx @var{slot}, rtx @var{bounds}, rtx @var{slot_no}) -This hook is used by expand pass to emit insns to store @var{bounds} of -@var{arg} passed in @var{slot}. Expand pass uses this hook in case -@var{bounds} of @var{arg} are not passed in register. If @var{slot} is a -memory, then @var{bounds} are stored as for regular pointer stored in -memory. If @var{slot} is not a memory then @var{slot_no} is an integer -constant holding number of the target dependent special slot which -should be used to store @var{bounds}. -@end deftypefn - -@deftypefn {Target Hook} rtx TARGET_LOAD_RETURNED_BOUNDS (rtx @var{slot}) -This hook is used by expand pass to emit insn to load bounds -returned by function call in @var{slot}. Hook returns RTX holding -loaded bounds. -@end deftypefn - -@deftypefn {Target Hook} void TARGET_STORE_RETURNED_BOUNDS (rtx @var{slot}, rtx @var{bounds}) -This hook is used by expand pass to emit insn to store @var{bounds} -returned by function call into @var{slot}. -@end deftypefn - @node Trampolines @section Support for Nested Functions @cindex support for nested functions diff --git a/gcc/doc/tm.texi.in b/gcc/doc/tm.texi.in index 86352dc9bd2..193c9bdd853 100644 --- a/gcc/doc/tm.texi.in +++ b/gcc/doc/tm.texi.in @@ -3780,14 +3780,6 @@ These machine description macros help implement varargs: @hook TARGET_PRETEND_OUTGOING_VARARGS_NAMED -@hook TARGET_LOAD_BOUNDS_FOR_ARG - -@hook TARGET_STORE_BOUNDS_FOR_ARG - -@hook TARGET_LOAD_RETURNED_BOUNDS - -@hook TARGET_STORE_RETURNED_BOUNDS - @node Trampolines @section Support for Nested Functions @cindex support for nested functions diff --git a/gcc/target.def b/gcc/target.def index c5d90cace80..87feeec2ea1 100644 --- a/gcc/target.def +++ b/gcc/target.def @@ -4730,45 +4730,6 @@ not generate any instructions in this case.", int *pretend_args_size, int second_time), default_setup_incoming_varargs) -DEFHOOK -(load_bounds_for_arg, - "This hook is used by expand pass to emit insn to load bounds of\n\ -@var{arg} passed in @var{slot}. Expand pass uses this hook in case\n\ -bounds of @var{arg} are not passed in register. If @var{slot} is a\n\ -memory, then bounds are loaded as for regular pointer loaded from\n\ -memory. If @var{slot} is not a memory then @var{slot_no} is an integer\n\ -constant holding number of the target dependent special slot which\n\ -should be used to obtain bounds. Hook returns RTX holding loaded bounds.", - rtx, (rtx slot, rtx arg, rtx slot_no), - default_load_bounds_for_arg) - -DEFHOOK -(store_bounds_for_arg, - "This hook is used by expand pass to emit insns to store @var{bounds} of\n\ -@var{arg} passed in @var{slot}. Expand pass uses this hook in case\n\ -@var{bounds} of @var{arg} are not passed in register. If @var{slot} is a\n\ -memory, then @var{bounds} are stored as for regular pointer stored in\n\ -memory. If @var{slot} is not a memory then @var{slot_no} is an integer\n\ -constant holding number of the target dependent special slot which\n\ -should be used to store @var{bounds}.", - void, (rtx arg, rtx slot, rtx bounds, rtx slot_no), - default_store_bounds_for_arg) - -DEFHOOK -(load_returned_bounds, - "This hook is used by expand pass to emit insn to load bounds\n\ -returned by function call in @var{slot}. Hook returns RTX holding\n\ -loaded bounds.", - rtx, (rtx slot), - default_load_returned_bounds) - -DEFHOOK -(store_returned_bounds, - "This hook is used by expand pass to emit insn to store @var{bounds}\n\ -returned by function call into @var{slot}.", - void, (rtx slot, rtx bounds), - default_store_returned_bounds) - DEFHOOK (call_args, "While generating RTL for a function call, this target hook is invoked once\n\ @@ -4972,12 +4933,6 @@ The return value is usually either a @code{reg} RTX for the hard\n\ register in which to pass the argument, or zero to pass the argument\n\ on the stack.\n\ \n\ -The return value can be a @code{const_int} which means argument is\n\ -passed in a target specific slot with specified number. Target hooks\n\ -should be used to store or load argument in such case. See\n\ -@code{TARGET_STORE_BOUNDS_FOR_ARG} and @code{TARGET_LOAD_BOUNDS_FOR_ARG}\n\ -for more information.\n\ -\n\ The value of the expression can also be a @code{parallel} RTX@. This is\n\ used when an argument is passed in multiple locations. The mode of the\n\ @code{parallel} should be the mode of the entire argument. The\n\ diff --git a/gcc/targhooks.c b/gcc/targhooks.c index 812bbe3f16e..0b525bb4606 100644 --- a/gcc/targhooks.c +++ b/gcc/targhooks.c @@ -2253,36 +2253,6 @@ default_member_type_forces_blk (const_tree, machine_mode) return false; } -rtx -default_load_bounds_for_arg (rtx addr ATTRIBUTE_UNUSED, - rtx ptr ATTRIBUTE_UNUSED, - rtx bnd ATTRIBUTE_UNUSED) -{ - gcc_unreachable (); -} - -void -default_store_bounds_for_arg (rtx val ATTRIBUTE_UNUSED, - rtx addr ATTRIBUTE_UNUSED, - rtx bounds ATTRIBUTE_UNUSED, - rtx to ATTRIBUTE_UNUSED) -{ - gcc_unreachable (); -} - -rtx -default_load_returned_bounds (rtx slot ATTRIBUTE_UNUSED) -{ - gcc_unreachable (); -} - -void -default_store_returned_bounds (rtx slot ATTRIBUTE_UNUSED, - rtx bounds ATTRIBUTE_UNUSED) -{ - gcc_unreachable (); -} - /* Default version of canonicalize_comparison. */ void diff --git a/gcc/targhooks.h b/gcc/targhooks.h index 92d51992e62..7f7f25a07e6 100644 --- a/gcc/targhooks.h +++ b/gcc/targhooks.h @@ -272,10 +272,6 @@ extern bool can_use_doloop_if_innermost (const widest_int &, const widest_int &, unsigned int, bool); -extern rtx default_load_bounds_for_arg (rtx, rtx, rtx); -extern void default_store_bounds_for_arg (rtx, rtx, rtx, rtx); -extern rtx default_load_returned_bounds (rtx); -extern void default_store_returned_bounds (rtx,rtx); extern bool default_optab_supported_p (int, machine_mode, machine_mode, optimization_type); extern unsigned int default_max_noce_ifcvt_seq_cost (edge);