From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wr1-x42d.google.com (mail-wr1-x42d.google.com [IPv6:2a00:1450:4864:20::42d]) by sourceware.org (Postfix) with ESMTPS id BD69238387E1 for ; Mon, 13 Jun 2022 11:29:25 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org BD69238387E1 Received: by mail-wr1-x42d.google.com with SMTP id x17so6734233wrg.6 for ; Mon, 13 Jun 2022 04:29:25 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=Jjcb+KH8txZ65mYbgqIzXNQ3F+wA579agvMkck6JW9w=; b=Jpfj5++n3qE0CiPz1JVcQnxNkxrhMmrzSATpRzCSSGSAp0Yej2SuHGvCTZYMNmxhRo zItEBTTsKrOprdRWZ4G9Y7jtNxLtDfJfct0Qli+AqeBXiYlgm3fAWcGf0Ra4sTK/cW1m ly734dTrYCOE/MUyFLH9JkomrKB7e0dBx2fD+Mm1vGYaztQoPKWU3//c4bW7UWzRifTm 8315sb2IMZw5IX50z/Hv7YEO6ckqkAT1VMPnFDd++OgjeJEqkhXaMtY7+/WwYtIT6yFS +ljaA0Tir1WnCqfMbiLdFfoIpTKi7Q0Oh7pyE0bnK4pH7KIHAUubnNt8/fsaahuCo30u GLUw== X-Gm-Message-State: AOAM533DRANYa8vSQNNElHetwqkOoopsJ8m0emGV5SXCaC6RfvpvZgnJ nfFADEy1Z7v3ozeMw+jdi45JLA== X-Google-Smtp-Source: ABdhPJyp3Ya04kRjB0zXOKkZTaTumV/aAHbvq8DyL/3tPPVKn/rsBMSEzv/T7I6OnkMmjSHtmIosAg== X-Received: by 2002:adf:f610:0:b0:213:b4e1:7276 with SMTP id t16-20020adff610000000b00213b4e17276mr53455678wrp.712.1655119764532; Mon, 13 Jun 2022 04:29:24 -0700 (PDT) Received: from fomalhaut.localnet ([2a01:e0a:8d5:d990:bf38:f508:6f40:de1d]) by smtp.gmail.com with ESMTPSA id k24-20020a05600c1c9800b0039c5645c60fsm21808796wms.3.2022.06.13.04.29.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 13 Jun 2022 04:29:23 -0700 (PDT) From: Eric Botcazou X-Google-Original-From: Eric Botcazou To: Richard Biener Cc: Roger Sayle , GCC Patches , Tamar Christina Subject: Re: [PATCH] PR middle-end/105874: Use EXPAND_MEMORY to fix ada bootstrap. Date: Mon, 13 Jun 2022 13:29:22 +0200 Message-ID: <2072400.OBFZWjSADL@fomalhaut> In-Reply-To: References: <07f101d87b38$8c2b42a0$a481c7e0$@nextmovesoftware.com> <21519641.EfDdHjke4D@fomalhaut> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" X-Spam-Status: No, score=-3.0 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, 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 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-List-Received-Date: Mon, 13 Jun 2022 11:29:31 -0000 > + /* If tem is a VAR_DECL, we need a memory reference. */ > + enum expand_modifier tem_modifier = modifier; > + if (tem_modifier == EXPAND_SUM) > + tem_modifier = EXPAND_NORMAL; > + if (TREE_CODE (tem) == VAR_DECL) > + tem_modifier = EXPAND_MEMORY; > > that changes EXPAND_WRITE to EXPAND_MEMORY for VAR_DECL > for example - what's 'modifier' in the problematic case? My understanding is that it was EXPAND_NORMAL. > I do not understand how 'VAR_DECL' is special here btw. - it seems to be a > condition making sure the new optimization doesn't trigger rather than a > condition that will always require memory? It may indeed be too big a hammer. Roger, would it be sufficient to use EXPAND_MEMORY only when must_force_mem computed a few lines below if true? -- Eric Botcazou