From patchwork Tue Oct 11 21:01:54 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Palmer Dabbelt X-Patchwork-Id: 58666 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 8D6993853839 for ; Tue, 11 Oct 2022 21:03:10 +0000 (GMT) X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from mail-pg1-x52a.google.com (mail-pg1-x52a.google.com [IPv6:2607:f8b0:4864:20::52a]) by sourceware.org (Postfix) with ESMTPS id 3E51A385414F for ; Tue, 11 Oct 2022 21:02:54 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 3E51A385414F Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=rivosinc.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=rivosinc.com Received: by mail-pg1-x52a.google.com with SMTP id r18so13788965pgr.12 for ; Tue, 11 Oct 2022 14:02:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rivosinc-com.20210112.gappssmtp.com; s=20210112; h=to:from:cc:content-transfer-encoding:mime-version:references :in-reply-to:message-id:date:subject:from:to:cc:subject:date :message-id:reply-to; bh=3+8t37O0vIyNR0Lwq3lwXp4mvAeUsx0U7p8MzFEqlzE=; b=gx6DI1SPie0LvXnQf0YHHSfISUR0Djs5tlaCU07iIOBU3PIfF0yhyYhaR0rdskR6eL b3V/YyapeobMa/CIjMwH6470k+d6j2O+jxgdTRNeNvLXOyHs4agBNOCi6ePuAYYN3xqR h+ORNJ/hXghj6FdtUj+CVNJ+/QM2VOBo6vQt86gB6ZVZCjPH0Hfabbc9zYh6rePSJ4Aq qKrqeHTp22t0VG5tK8U03lXA61j/JcklvKuVHyoHQsYSPOQ9XpJ8rF2VKxKoZOwvE1Aq TfQZmyO1NGHudEn1iu2R9qktEw5MDfr2lXZ/2wPlL8Wrr36aEqIS8uFljjFPNBGHxP4o gjhw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=to:from:cc:content-transfer-encoding:mime-version:references :in-reply-to:message-id:date:subject:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=3+8t37O0vIyNR0Lwq3lwXp4mvAeUsx0U7p8MzFEqlzE=; b=HKxiQkMYD8qZFWggBISdnXkmJvi2ByVXnCeMUy6GeRYeSnoW2v/N1Tynnw7A4muaad dvKS7x2vGTLhwu/QH0sy2HXSX0RCOiaGkwtslMyEinuraDssYWbp3RO/ufBpErimnfVh q4wmsMo9QAwn83s9Y5DKFwICxUvkv9KaX/1d8T/FdvTMwBRZXoaOZlJo7AWR3aMYgscf +c98QgNhRFaCHZcqJvryTSjRCtFaU2XpOxwdh6y9CsCnZTFuUCMKBNQKpRFLVrMM3j7D MKR+ErM8xq2s0oZV5+R0tAMhPsV2MjmQlgYvwmy1OZUmUIcvGUy49TT8b4tGgZXbM/M/ +MQQ== X-Gm-Message-State: ACrzQf35kSi9iHS5bAWcdoYRWoCOpWqMYQfBiSmgYEbOatqtsb6ZRS+A jLLmH/Zt/RyjnovnfE8MxW8UPA== X-Google-Smtp-Source: AMsMyM5gruiyVe0PXaHtKJrigUm16LGk+LRlyM+G0kO0THyggPnP1ycFZl/uijDEbUgXCWTp/kNxRQ== X-Received: by 2002:a62:3384:0:b0:538:58ab:8fee with SMTP id z126-20020a623384000000b0053858ab8feemr27153859pfz.7.1665522173213; Tue, 11 Oct 2022 14:02:53 -0700 (PDT) Received: from localhost ([50.221.140.188]) by smtp.gmail.com with ESMTPSA id ik17-20020a170902ab1100b001714c36a6e7sm9004531plb.284.2022.10.11.14.02.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 11 Oct 2022 14:02:52 -0700 (PDT) Subject: [PATCH v2 1/3] doc: -falign-functions doesn't override the __attribute__((align(N))) Date: Tue, 11 Oct 2022 14:01:54 -0700 Message-Id: <20221011210156.7710-2-palmer@rivosinc.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20221011210156.7710-1-palmer@rivosinc.com> References: <20221011210156.7710-1-palmer@rivosinc.com> MIME-Version: 1.0 From: Palmer Dabbelt To: richard.guenther@gmail.com, hubicka@ucw.cz, gcc-patches@gcc.gnu.org X-Spam-Status: No, score=-11.7 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) 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: , Errors-To: gcc-patches-bounces+patchwork=sourceware.org@gcc.gnu.org Sender: "Gcc-patches" I found this when reading the documentation for Kito's recent patch. From the discussion it sounds like this is the desired behavior, so let's document it. gcc/doc/ChangeLog * invoke.texi (-falign-functions): Mention __align__ --- gcc/doc/invoke.texi | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi index 2a9ea3455f6..8326a60dcf1 100644 --- a/gcc/doc/invoke.texi +++ b/gcc/doc/invoke.texi @@ -13136,7 +13136,9 @@ effective only in combination with @option{-fstrict-aliasing}. Align the start of functions to the next power-of-two greater than or equal to @var{n}, skipping up to @var{m}-1 bytes. This ensures that at least the first @var{m} bytes of the function can be fetched by the CPU -without crossing an @var{n}-byte alignment boundary. +without crossing an @var{n}-byte alignment boundary. This does not override +functions that otherwise specify their own alignment constraints, such as via +an alignment attribute. If @var{m} is not specified, it defaults to @var{n}. From patchwork Tue Oct 11 21:01:55 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Palmer Dabbelt X-Patchwork-Id: 58668 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 032C13853547 for ; Tue, 11 Oct 2022 21:03:47 +0000 (GMT) X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from mail-pj1-x1029.google.com (mail-pj1-x1029.google.com [IPv6:2607:f8b0:4864:20::1029]) by sourceware.org (Postfix) with ESMTPS id 5DBF43854159 for ; Tue, 11 Oct 2022 21:02:55 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 5DBF43854159 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=rivosinc.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=rivosinc.com Received: by mail-pj1-x1029.google.com with SMTP id t10-20020a17090a4e4a00b0020af4bcae10so124434pjl.3 for ; Tue, 11 Oct 2022 14:02:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rivosinc-com.20210112.gappssmtp.com; s=20210112; h=to:from:cc:content-transfer-encoding:mime-version:references :in-reply-to:message-id:date:subject:from:to:cc:subject:date :message-id:reply-to; bh=JBsa+jw9mdF17bnwxJBSR2nJ34Uct+l3ZW158HlhlXc=; b=BcfZelK9sFF0Bm9DTjlfcIuoq6X3B+bNccj/uzQGf6P4xlEA3nLosct/7qtjBOAFZb Dy0m/biPYuRlKO6GFWKbfup9cyC8iaxkqmxF8pZ0fdZ+8wWvgNeJntRgxy7mitpACg1b HqTib7AGwHea2GprdoHICl2eu1ipYmahLiFppVhf1315yQ0DHabfLE1uCxynhVBeclQ3 kw1kbxhLQPtTv8mZdiayD2DKE/W4bPD47iK4egJ2skDTeN1wpJE1nby1WtXDh0xwy0Vh 585cRe1VOwvIDrWT8bOr/HBl7nPxaBNpJL6bAr5/scgA4rWaFVv+eXjm7o/hKie+W6tz 2QFQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=to:from:cc:content-transfer-encoding:mime-version:references :in-reply-to:message-id:date:subject:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=JBsa+jw9mdF17bnwxJBSR2nJ34Uct+l3ZW158HlhlXc=; b=tW57psmi1I7eLb3/9+sTAITLkucPMJR9m0lRtv00l+sGV+uwhQrLaEWIpOJfpahdtn ig9vFk4VO8AWgMAUQMb/xyQEoPk5sw64aSX0Fb7arTgQhkZprBrjajB+Vp9gkEu9LgWA lm/Eh6V6Nbajm+NorQsrZ63HLZzoDXgm+QTJSa5xCdxt8N+7EtSRrTO1pxf380rnGcHV yrUVGwSh2gLj24r5GRpiqzKmeiuvY9pEZHX52xdpzCiTFT/qDomvcbcOztuxlftyqIRB UT1eouTpajgWwi0L43NOZYQOprTYkgtusyBJnQbGdU68L7RkrKvMKIsbvtnRA3VE5znh u+/g== X-Gm-Message-State: ACrzQf06iKdI6DDvOfP2Ww9fQ37LE/0ft0Ygh3J6gt7ylSXAhq/aO27e 0ipo7udnbEBGbA7uZT8kuNC21Q== X-Google-Smtp-Source: AMsMyM7Y+/lfGGUnroChrXy/O4jWZ7rHPLl8WG3iWdNNTyRSSPKb0Xqq6SVsOon4H3A7NeG8Y8iOKw== X-Received: by 2002:a17:90b:2246:b0:201:d6d6:9809 with SMTP id hk6-20020a17090b224600b00201d6d69809mr1171107pjb.159.1665522174343; Tue, 11 Oct 2022 14:02:54 -0700 (PDT) Received: from localhost ([50.221.140.188]) by smtp.gmail.com with ESMTPSA id u8-20020a17090341c800b00172f4835f53sm7368467ple.192.2022.10.11.14.02.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 11 Oct 2022 14:02:53 -0700 (PDT) Subject: [PATCH v2 2/3] doc: -falign-functions is ignored under -Os Date: Tue, 11 Oct 2022 14:01:55 -0700 Message-Id: <20221011210156.7710-3-palmer@rivosinc.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20221011210156.7710-1-palmer@rivosinc.com> References: <20221011210156.7710-1-palmer@rivosinc.com> MIME-Version: 1.0 From: Palmer Dabbelt To: richard.guenther@gmail.com, hubicka@ucw.cz, gcc-patches@gcc.gnu.org X-Spam-Status: No, score=-12.0 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) 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: , Errors-To: gcc-patches-bounces+patchwork=sourceware.org@gcc.gnu.org Sender: "Gcc-patches" This is implicitly mentioned in the docs, but there were some questions in a recent patch. This makes it more exlicit that -falign-functions is meant to be ignored under -Os. gcc/doc/ChangeLog * invoke.texi (-falign-functions): Mention -Os --- gcc/doc/invoke.texi | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi index 8326a60dcf1..a24798d5029 100644 --- a/gcc/doc/invoke.texi +++ b/gcc/doc/invoke.texi @@ -13164,7 +13164,8 @@ equivalent and mean that functions are not aligned. If @var{n} is not specified or is zero, use a machine-dependent default. The maximum allowed @var{n} option value is 65536. -Enabled at levels @option{-O2}, @option{-O3}. +Enabled at levels @option{-O2}, @option{-O3}. This has no behavior under under +@option{-Os}. @item -flimit-function-alignment If this option is enabled, the compiler tries to avoid unnecessarily From patchwork Tue Oct 11 21:01:56 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Palmer Dabbelt X-Patchwork-Id: 58667 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 4288B3853565 for ; Tue, 11 Oct 2022 21:03:13 +0000 (GMT) X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from mail-pj1-x102a.google.com (mail-pj1-x102a.google.com [IPv6:2607:f8b0:4864:20::102a]) by sourceware.org (Postfix) with ESMTPS id 9861D3853802 for ; Tue, 11 Oct 2022 21:02:56 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 9861D3853802 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=rivosinc.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=rivosinc.com Received: by mail-pj1-x102a.google.com with SMTP id t12-20020a17090a3b4c00b0020b04251529so117241pjf.5 for ; Tue, 11 Oct 2022 14:02:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rivosinc-com.20210112.gappssmtp.com; s=20210112; h=to:from:cc:content-transfer-encoding:mime-version:references :in-reply-to:message-id:date:subject:from:to:cc:subject:date :message-id:reply-to; bh=cFiM4hosW/A6xeAGCQMBeO9ohCeaBS6x49+Ig2w9zyY=; b=XgE8haKRzA0Jc631+iXABLl70bcGR3TnmzlCd0jHlyMePuaiaJNhFl6DnDx/lPXdXL eR8ZZmocpzHrSnvdZ8UMQqXBb2On67NsZJof0fLLByQIcqpY0m2w+QTbDHwMrTNeWB4V 49x9P2w9QRyVTnJ5JRJt83qXVSxV5CsUTlqbhrOqAyEPCAwXFjbAwZ96WO2wubZhHe1c /ALzxQs1RBI0m9wqEIssPb0Vx538FkRNOH8GI6Pfnu73Tznm2LKZIYgjDxsSrna7xMWQ JQpRp83iSR33zCvSw40Ko8ffdy7Xgme8XWHQE4bCpikGW7FfEc6igJS4eEBuLsKQ5Zzw h11Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=to:from:cc:content-transfer-encoding:mime-version:references :in-reply-to:message-id:date:subject:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=cFiM4hosW/A6xeAGCQMBeO9ohCeaBS6x49+Ig2w9zyY=; b=BO/CJi9DB91n9FEdqxmaO72bCj2Rpp1Sd1sJfIVKWu7w/dgQPc7RM+MWDCbXllfTjM Fkghz05T75zp6MHWo57W0l1Q0bBA+J4z7Cnex4hdOUXMQcOQ6OLDBSX+Yi786zrKXkib dnsGSDdYaHXMk1uOJE9jP3hWo+Hwadp0HqJ6MhES/tLKdsx6LAFVPOGFoP1p4oDDOwAT LEtJe07PMAcz3WtH9RxAI0rL3umCCHG8Ubqq8Nem4X0Y8oMEfwYTDKA6cnl28Vb+hhzI oRzHRrSUeTuG8rzVmGeA5VJChGZGVUZ7wGuje2GslhuJszzWA04dT2VhA7UyaS33j6uE my2g== X-Gm-Message-State: ACrzQf2ZrriSRwLYJ+g+gqXkv3UOiIphPxGi5H+HtbtZ73cbABXYb5vG 64VnzL0MLT4E24KAs3BLAAbWwQ== X-Google-Smtp-Source: AMsMyM7zTWJzAuBRY+XyCavhF4UkMWFK9QebMk1jCAYSrYW/E+KfI1KznFtin5neQsrunluRS+2wOg== X-Received: by 2002:a17:90a:d48b:b0:20a:97fb:3eb with SMTP id s11-20020a17090ad48b00b0020a97fb03ebmr1135139pju.189.1665522175635; Tue, 11 Oct 2022 14:02:55 -0700 (PDT) Received: from localhost ([50.221.140.188]) by smtp.gmail.com with ESMTPSA id w1-20020a17090a028100b0020d29388107sm25344pja.21.2022.10.11.14.02.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 11 Oct 2022 14:02:55 -0700 (PDT) Subject: [PATCH v2 3/3] doc: -falign-functions is ignored for cold/size-optimized functions Date: Tue, 11 Oct 2022 14:01:56 -0700 Message-Id: <20221011210156.7710-4-palmer@rivosinc.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20221011210156.7710-1-palmer@rivosinc.com> References: <20221011210156.7710-1-palmer@rivosinc.com> MIME-Version: 1.0 From: Palmer Dabbelt To: richard.guenther@gmail.com, hubicka@ucw.cz, gcc-patches@gcc.gnu.org X-Spam-Status: No, score=-12.1 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) 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: , Errors-To: gcc-patches-bounces+patchwork=sourceware.org@gcc.gnu.org Sender: "Gcc-patches" gcc/doc/ChangeLog * invoke.texi (-falign-functions): Mention cold/size-optimized functions. --- gcc/doc/invoke.texi | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi index a24798d5029..6af18ae9bfd 100644 --- a/gcc/doc/invoke.texi +++ b/gcc/doc/invoke.texi @@ -13138,7 +13138,8 @@ equal to @var{n}, skipping up to @var{m}-1 bytes. This ensures that at least the first @var{m} bytes of the function can be fetched by the CPU without crossing an @var{n}-byte alignment boundary. This does not override functions that otherwise specify their own alignment constraints, such as via -an alignment attribute. +an alignment attribute. Functions that are optimized for size, for example +cold functions, are not aligned. If @var{m} is not specified, it defaults to @var{n}.