From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 14232 invoked by alias); 9 Aug 2016 21:43:12 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Received: (qmail 14212 invoked by uid 89); 9 Aug 2016 21:43:10 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.4 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_LOW,SPF_PASS autolearn=ham version=3.3.2 spammy=2016-08-10, 20160810, Attached X-HELO: mail-pf0-f172.google.com Received: from mail-pf0-f172.google.com (HELO mail-pf0-f172.google.com) (209.85.192.172) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-GCM-SHA256 encrypted) ESMTPS; Tue, 09 Aug 2016 21:42:59 +0000 Received: by mail-pf0-f172.google.com with SMTP id x72so8677242pfd.2 for ; Tue, 09 Aug 2016 14:42:59 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:subject:to:references:from:message-id:date :user-agent:mime-version:in-reply-to; bh=99vZUenGBk9EpiTsFp7vb6iAZipIakqtsmYd4I06Bio=; b=WBkBI+3O3OOCUzvreQ5pSWxs28Lbj/7KSdZHJs2EjV9T6LzrTz19eWPv6E9PPSOolb +PZ1RaZdLywoMk8fy0N8qvnZ2MFU4BLacovohE8GMLKYF6m4FtLwbU2KY6XUq50fFRBf eWDqLbHY4VHb2SF+FX0v4f5Pb5JZok1THx7lYU+vb9bntqNQxrj3OiZm6h35O5JWEF9F g8b3mczwhihwErfYGLMM1ozodjN8ZiW5iqml6oMwsIUOFAloSSSXuZ2OFpdhQzgjDqVW 5VaVyWtseCPVFXY07izOrN98ghYr4W9D+jEiYHEfv0fCUrLoojHaKhMfSIUf2kwqYwUc 5cWw== X-Gm-Message-State: AEkooutFfRRjcWjUZTrRdfh9OYC25+I8S5zGQZXYJ8z5sRUBXOKCCxJjEzs/+eLWPuKbgs7h X-Received: by 10.98.204.74 with SMTP id a71mr893462pfg.149.1470778977950; Tue, 09 Aug 2016 14:42:57 -0700 (PDT) Received: from [10.1.1.4] (58-6-183-210.dyn.iinet.net.au. [58.6.183.210]) by smtp.gmail.com with ESMTPSA id sy7sm41297902pac.42.2016.08.09.14.42.55 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 09 Aug 2016 14:42:56 -0700 (PDT) Subject: Re: [PR72835] Incorrect arithmetic optimization involving bitfield arguments To: "gcc-patches@gcc.gnu.org" , Richard Biener References: <0a1eaaf8-3ede-cd56-ffb5-40b25f94e46e@linaro.org> From: kugan Message-ID: <98613cff-7c48-1a56-0014-6d87c35a8f26@linaro.org> Date: Tue, 09 Aug 2016 21:43:00 -0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.2.0 MIME-Version: 1.0 In-Reply-To: <0a1eaaf8-3ede-cd56-ffb5-40b25f94e46e@linaro.org> Content-Type: multipart/mixed; boundary="------------FE82350B0AD28ABD97671D9F" X-IsSubscribed: yes X-SW-Source: 2016-08/txt/msg00760.txt.bz2 This is a multi-part message in MIME format. --------------FE82350B0AD28ABD97671D9F Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Content-length: 1759 On 09/08/16 23:43, kugan wrote: > Hi, > > The test-case in PR72835 is failing with -O2 and passing with > -fno-tree-reassoc. It also passes with -O2 -fno-tree-vrp. > > diff of .115t.dse2 and .116t.reassoc1 for the c++ testcase is as > follows, which looks OK. > > + unsigned int _16; > + unsigned int _17; > + unsigned int _18; > > : > _1 = s1.m2; > _2 = (unsigned int) _1; > _3 = s1.m3; > _4 = (unsigned int) _3; > - _5 = -_4; > - _6 = _2 * _5; > + _5 = _4; > + _6 = _5 * _2; > var_32.0_7 = var_32; > _8 = (unsigned int) var_32.0_7; > _9 = s1.m1; > _10 = (unsigned int) _9; > - _11 = -_10; > - _12 = _8 * _11; > - c_14 = _6 + _12; > + _11 = _10; > + _12 = _11 * _8; > + _16 = _12 + _6; > + _18 = _16; > + _17 = -_18; > + c_14 = _17; > if (c_14 != 4098873984) > > > However, I noticed that when we re-associate and assign different > operands to the stmts, we are not resetting the flow information to the > LHS. This looks wrong. Attached patch resets it. With this, the > testcases in TH PR is now working. > > > Bootstrap and regression testing for x86_64-linux-gnu is in progress. Is > this OK for trunk if there is no regression. There was no new regression while testing. I also moved the testcase from gcc.dg/torture/pr72835.c to gcc.dg/tree-ssa/pr72835.c. Is this OK for trunk? Thanks, Kugan gcc/testsuite/ChangeLog: 2016-08-10 Kugan Vivekanandarajah PR tree-optimization/72835 * gcc.dg/tree-ssa/pr72835.c: New test. gcc/ChangeLog: 2016-08-10 Kugan Vivekanandarajah PR tree-optimization/72835 * tree-ssa-reassoc.c (rewrite_expr_tree): Reset value_range of LHS when operands are changed. (rewrite_expr_tree_parallel): Likewise. --------------FE82350B0AD28ABD97671D9F Content-Type: text/plain; charset=UTF-8; name="pr72835.txt" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="pr72835.txt" Content-length: 2188 ZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3RyZWUtc3NhL3By NzI4MzUuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3RyZWUtc3NhL3ByNzI4 MzUuYwppbmRleCBlNjlkZTI5Li5kN2QwYThkIDEwMDY0NAotLS0gYS9nY2Mv dGVzdHN1aXRlL2djYy5kZy90cmVlLXNzYS9wcjcyODM1LmMKKysrIGIvZ2Nj L3Rlc3RzdWl0ZS9nY2MuZGcvdHJlZS1zc2EvcHI3MjgzNS5jCkBAIC0wLDAg KzEsMzYgQEAKKy8qIFBSIHRyZWUtb3B0aW1pemF0aW9uLzcyODM1ICovCisv KiB7IGRnLWRvIHJ1biB9ICovCisvKiB7IGRnLW9wdGlvbnMgIi1PMiIgfSAq LworCitzdHJ1Y3Qgc3RydWN0XzEgeworICAgIHVuc2lnbmVkIGludCBtMSA6 IDYgOworICAgIHVuc2lnbmVkIGludCBtMiA6IDI0IDsKKyAgICB1bnNpZ25l ZCBpbnQgbTMgOiA2IDsKK307CisKK3Vuc2lnbmVkIHNob3J0IHZhcl8zMiA9 IDB4MmQxMDsKKworc3RydWN0IHN0cnVjdF8xIHMxOworCit2b2lkIGluaXQg KCkKK3sKKyAgczEubTEgPSA0OworICBzMS5tMiA9IDB4N2NhNGI4OworICBz MS5tMyA9IDI0OworfQorCit2b2lkIGZvbyAoKQoreworICB1bnNpZ25lZCBp bnQgYyA9CisgICAgKCh1bnNpZ25lZCBpbnQpIHMxLm0yKSAqICgtKCh1bnNp Z25lZCBpbnQpIHMxLm0zKSkKKyAgICArICh2YXJfMzIpICogKC0oKHVuc2ln bmVkIGludCkgKHMxLm0xKSkpOworICBpZiAoYyAhPSA0MDk4ODczOTg0KQor ICAgIF9fYnVpbHRpbl9hYm9ydCAoKTsKK30KKworaW50IG1haW4gKCkKK3sK KyAgICBpbml0ICgpOworICAgIGZvbyAoKTsKKyAgICByZXR1cm4gMDsKK30K ZGlmZiAtLWdpdCBhL2djYy90cmVlLXNzYS1yZWFzc29jLmMgYi9nY2MvdHJl ZS1zc2EtcmVhc3NvYy5jCmluZGV4IDdmZDc1NTAuLmI4NjRlZDEgMTAwNjQ0 Ci0tLSBhL2djYy90cmVlLXNzYS1yZWFzc29jLmMKKysrIGIvZ2NjL3RyZWUt c3NhLXJlYXNzb2MuYwpAQCAtMzk0NSw2ICszOTQ1LDcgQEAgcmV3cml0ZV9l eHByX3RyZWUgKGdpbXBsZSAqc3RtdCwgdW5zaWduZWQgaW50IG9waW5kZXgs CiAJICAgICAgZ2ltcGxlX2Fzc2lnbl9zZXRfcmhzMSAoc3RtdCwgb2UxLT5v cCk7CiAJICAgICAgZ2ltcGxlX2Fzc2lnbl9zZXRfcmhzMiAoc3RtdCwgb2Uy LT5vcCk7CiAJICAgICAgdXBkYXRlX3N0bXQgKHN0bXQpOworCSAgICAgIHJl c2V0X2Zsb3dfc2Vuc2l0aXZlX2luZm8gKGxocyk7CiAJICAgIH0KIAogCSAg aWYgKHJoczEgIT0gb2UxLT5vcCAmJiByaHMxICE9IG9lMi0+b3ApCkBAIC00 MTkzLDkgKzQxOTQsMTEgQEAgcmV3cml0ZV9leHByX3RyZWVfcGFyYWxsZWwg KGdhc3NpZ24gKnN0bXQsIGludCB3aWR0aCwKIAkgb3RoZXJzIGFyZSByZWNy ZWF0ZWQuICAqLwogICAgICAgaWYgKGkgPT0gc3RtdF9udW0gLSAxKQogCXsK KwkgIHRyZWUgbGhzID0gZ2ltcGxlX2Fzc2lnbl9saHMgKHN0bXRzW2ldKTsK IAkgIGdpbXBsZV9hc3NpZ25fc2V0X3JoczEgKHN0bXRzW2ldLCBvcDEpOwog CSAgZ2ltcGxlX2Fzc2lnbl9zZXRfcmhzMiAoc3RtdHNbaV0sIG9wMik7CiAJ ICB1cGRhdGVfc3RtdCAoc3RtdHNbaV0pOworCSAgcmVzZXRfZmxvd19zZW5z aXRpdmVfaW5mbyAobGhzKTsKIAl9CiAgICAgICBlbHNlCiAJewo= --------------FE82350B0AD28ABD97671D9F--