From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp.polymtl.ca (smtp.polymtl.ca [132.207.4.11]) by sourceware.org (Postfix) with ESMTPS id 446783858D3C for ; Wed, 8 Nov 2023 05:31:45 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 446783858D3C Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=polymtl.ca Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=polymtl.ca ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 446783858D3C Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=132.207.4.11 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1699421506; cv=none; b=s/542kctCPJaxjeKckBTz+RCmvsBK01IKcAts13PbwrFps/fRNj9j4nZfrqp3nfPMkf4sNgcp+YHTP/iIDJCDMC22K8Q4vzWTHF3PfgjLZvc1s/aBy6GAOpEt6W6yTavhqFnVFZgfwBRPGaWgs9vJZc7Tsuj0Z8IuadePdDs3+g= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1699421506; c=relaxed/simple; bh=/1Ky7+mqYEDDwR4+lPBIaA0d922iDPDdB/xZgED8Kig=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=e0UYVx9O9tE0Pz2qb0FbFyZcHqKOzXgkLW42oRhnEdG/HbOKHvZ/vvVorKGBYlTdiM1glR9VAjfh+k7PJ8b/bvbXXAMT/9xd7vfyxY9wv+5zbWmGnaT009xxCEokj7SaqqGz6yZ9v8C6ZNDqTxnFSKvBVpp70IhiZBmKg+kwRt4= ARC-Authentication-Results: i=1; server2.sourceware.org Received: from simark.ca (simark.ca [158.69.221.121]) (authenticated bits=0) by smtp.polymtl.ca (8.14.7/8.14.7) with ESMTP id 3A85VceV018761 (version=TLSv1/SSLv3 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 8 Nov 2023 00:31:42 -0500 DKIM-Filter: OpenDKIM Filter v2.11.0 smtp.polymtl.ca 3A85VceV018761 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=polymtl.ca; s=default; t=1699421503; bh=nC6n54NhqTQyYToAiWpAhmMiQzgXCqi/29IqMzOrtEU=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=GB8o2etXAcL/RIGjCHN5TDWGvrGyZHT0S7WjD9bXf/KL51gGBc/4eo59qGoaotBV4 Mr4MmMKkO8j9mAsM/rsPy4fjTsLCG4TTnIlx4V3ZXzymR2m9LIoHcwHxgryns5l0ZY 87UGeqp8muupIt8tE2m6NNaxsliPtk8ipD9H+33g= Received: from simark.localdomain (modemcable238.237-201-24.mc.videotron.ca [24.201.237.238]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (prime256v1) server-digest SHA256) (No client certificate requested) by simark.ca (Postfix) with ESMTPSA id 9E6681E11B; Wed, 8 Nov 2023 00:12:27 -0500 (EST) From: Simon Marchi To: gdb-patches@sourceware.org Cc: Simon Marchi Subject: [PATCH 04/24] gdb: simplify conditions in regcache::{read,write,raw_collect,raw_supply}_part Date: Wed, 8 Nov 2023 00:00:48 -0500 Message-ID: <20231108051222.1275306-5-simon.marchi@polymtl.ca> X-Mailer: git-send-email 2.42.1 In-Reply-To: <20231108051222.1275306-1-simon.marchi@polymtl.ca> References: <20231108051222.1275306-1-simon.marchi@polymtl.ca> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Poly-FromMTA: (simark.ca [158.69.221.121]) at Wed, 8 Nov 2023 05:31:38 +0000 X-Spam-Status: No, score=-3188.6 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SPF_HELO_PASS,SPF_PASS,TXREP,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: From: Simon Marchi Make a few simplifications in these functions. 1. When checking if we need to do nothing, if the length is 0, we don't need to do anything, regardless of the value of offset. Remove the offset check. 2. When check if transferring the whole register, if the length is equal to the register size, then we transfer the whole register, no need to check the offset. Remove the offset check. 3. In the gdb_asserts, it is unnecessary to check for: offset <= reg_size given that right after we check for: len >= 0 && offset + len <= reg_size If `offset + len` is <= reg_size and len is >= 0, then necessarily offset is <= reg_size. Remove the `offset <= reg_size` check. Change-Id: I30a73acdc7bf432c45a07f5f177224d1cdc298e8 --- gdb/regcache.c | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/gdb/regcache.c b/gdb/regcache.c index 11a6ecc3469e..ae5411ba5563 100644 --- a/gdb/regcache.c +++ b/gdb/regcache.c @@ -891,16 +891,16 @@ readable_regcache::read_part (int regnum, int offset, int len, int reg_size = register_size (arch (), regnum); gdb_assert (out != NULL); - gdb_assert (offset >= 0 && offset <= reg_size); + gdb_assert (offset >= 0); gdb_assert (len >= 0 && offset + len <= reg_size); - if (offset == 0 && len == 0) + if (len == 0) { /* Nothing to do. */ return REG_VALID; } - if (offset == 0 && len == reg_size) + if (len == reg_size) { /* Read the full register. */ return (is_raw) ? raw_read (regnum, out) : cooked_read (regnum, out); @@ -928,16 +928,16 @@ reg_buffer::raw_collect_part (int regnum, int offset, int len, int reg_size = register_size (arch (), regnum); gdb_assert (out != nullptr); - gdb_assert (offset >= 0 && offset <= reg_size); + gdb_assert (offset >= 0); gdb_assert (len >= 0 && offset + len <= reg_size); - if (offset == 0 && len == 0) + if (len == 0) { /* Nothing to do. */ return; } - if (offset == 0 && len == reg_size) + if (len == reg_size) { /* Collect the full register. */ return raw_collect (regnum, out); @@ -958,16 +958,16 @@ regcache::write_part (int regnum, int offset, int len, int reg_size = register_size (arch (), regnum); gdb_assert (in != NULL); - gdb_assert (offset >= 0 && offset <= reg_size); + gdb_assert (offset >= 0); gdb_assert (len >= 0 && offset + len <= reg_size); - if (offset == 0 && len == 0) + if (len == 0) { /* Nothing to do. */ return REG_VALID; } - if (offset == 0 && len == reg_size) + if (len == reg_size) { /* Write the full register. */ (is_raw) ? raw_write (regnum, in) : cooked_write (regnum, in); @@ -997,16 +997,16 @@ reg_buffer::raw_supply_part (int regnum, int offset, int len, int reg_size = register_size (arch (), regnum); gdb_assert (in != nullptr); - gdb_assert (offset >= 0 && offset <= reg_size); + gdb_assert (offset >= 0); gdb_assert (len >= 0 && offset + len <= reg_size); - if (offset == 0 && len == 0) + if (len == 0) { /* Nothing to do. */ return; } - if (offset == 0 && len == reg_size) + if (len == reg_size) { /* Supply the full register. */ return raw_supply (regnum, in); -- 2.42.1