From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 61634 invoked by alias); 11 Aug 2016 19:47:40 -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 61621 invoked by uid 89); 11 Aug 2016 19:47:40 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=0.6 required=5.0 tests=AWL,BAYES_50,FREEMAIL_FROM,RCVD_IN_DNSWL_NONE,SPF_PASS autolearn=ham version=3.3.2 spammy=boo, sk:bitsize, index-th, DECL_SIZE X-HELO: SNT004-OMC3S10.hotmail.com Received: from snt004-omc3s10.hotmail.com (HELO SNT004-OMC3S10.hotmail.com) (65.55.90.149) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Thu, 11 Aug 2016 19:47:29 +0000 Received: from EUR01-DB5-obe.outbound.protection.outlook.com ([65.55.90.137]) by SNT004-OMC3S10.hotmail.com over TLS secured channel with Microsoft SMTPSVC(7.5.7601.23008); Thu, 11 Aug 2016 12:47:28 -0700 Received: from VE1EUR01FT026.eop-EUR01.prod.protection.outlook.com (10.152.2.51) by VE1EUR01HT019.eop-EUR01.prod.protection.outlook.com (10.152.3.105) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P384) id 15.1.567.7; Thu, 11 Aug 2016 19:47:24 +0000 Received: from AM4PR0701MB2162.eurprd07.prod.outlook.com (10.152.2.60) by VE1EUR01FT026.mail.protection.outlook.com (10.152.2.212) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.567.7 via Frontend Transport; Thu, 11 Aug 2016 19:47:23 +0000 Received: from AM4PR0701MB2162.eurprd07.prod.outlook.com ([10.167.132.147]) by AM4PR0701MB2162.eurprd07.prod.outlook.com ([10.167.132.147]) with mapi id 15.01.0549.025; Thu, 11 Aug 2016 19:47:22 +0000 From: Bernd Edlinger To: Richard Biener CC: Eric Botcazou , "gcc-patches@gcc.gnu.org" , Jeff Law , Jakub Jelinek Subject: [PATCH] Increase alignment for bit-field access when predictive commoning (PR 71083) Date: Thu, 11 Aug 2016 19:47:00 -0000 Message-ID: References: <7783559.v48Yu3xPbD@arcturus.home> In-Reply-To: authentication-results: spf=softfail (sender IP is 10.152.2.60) smtp.mailfrom=hotmail.de; suse.de; dkim=none (message not signed) header.d=none;suse.de; dmarc=none action=none header.from=hotmail.de; received-spf: SoftFail (protection.outlook.com: domain of transitioning hotmail.de discourages use of 10.152.2.60 as permitted sender) x-ms-exchange-messagesentrepresentingtype: 1 x-eopattributedmessage: 0 x-forefront-antispam-report: CIP:10.152.2.60;IPV:NLI;CTRY:;EFV:NLI;SFV:NSPM;SFS:(10019020)(98900003);DIR:OUT;SFP:1102;SCL:1;SRVR:VE1EUR01HT019;H:AM4PR0701MB2162.eurprd07.prod.outlook.com;FPR:;SPF:None;LANG:en; x-microsoft-exchange-diagnostics: 1;VE1EUR01HT019;6:Nvxx+MiR6cFkueVHlpOTCw5cc8vnWc14VJFvPGx+Sz4SPFWBtHGhdUx1LU3ScL28N6dgJhB2KY+A4/yrWG18h/EaZPYui8ZgQhvdRFU9s1He/hGUogAUMXs3hrEY88gXrU0VSAgZinbMOFoZ9rKw5g5DU/h0jHlaZ9Oc6I76zi1rA0eQKRVhCKjuzIUfah/0N8gZDgqXyo+8KW20usGnXK0qS/e6dlb9vUd/tMME/MgH0dBVPVPTR62t/bswh+xecJeNvqRhOuOQdkL3aNnSSkc44yEBQS4cc/6FpgY35a8WHwfq9tS40wK/NeIFTecU;5:gQ1SmhjOpNcmnbFzf+l/dEtfQsOSZtCjIudCSA2Ll0VUW7xbEa/6EdEgOy3FbOQQvixJnT0+y2M72ZYwVDfyIKIbFCf7nU5xBFtppgRA391bZ+UI8Mx/N4RmnmAflj9aYdEmpjyAsi7LhsHXoARwEw==;24:14X9Km2lty/fzpGAOjdD6hrAMS4Df4oM2GQKYfj9TzYFeMRD7fAK7/V+TdAtNzaiKZry+Gw+wX60sojrgfr4QPEu1vYgCWda0dpgIBTtV8k=;7:g1Zt1ksisCc2zC5WXDtOQDqdVbLjEyp5fYUAZWVfinKHR9xIXP99O9XjrvUvfJPuFTxh4nRc6dvWjiYX1DNKblX44ws7YEelxr6I1MoXtIsz909AcbygzguP7oQeTn/YAHPRd0LDVNOMJV817nHJes0X662Dja0uAM8gS8A0mzx4QXf/wmP0bPNfdomCAlzHTaDuGgprm/fN+N9ynHgp89H+GOehHOcsLq7Tpp9mXkdVpUmlTsyg42u8qSTaFrRs x-ms-office365-filtering-correlation-id: 24ca3dbd-bc9f-4d5a-8f8f-08d3c2204f33 x-microsoft-antispam: UriScan:;BCL:0;PCL:0;RULEID:(1601124038)(1601125047);SRVR:VE1EUR01HT019; x-exchange-antispam-report-cfa-test: BCL:0;PCL:0;RULEID:(432015012)(102415321)(82015046);SRVR:VE1EUR01HT019;BCL:0;PCL:0;RULEID:;SRVR:VE1EUR01HT019; x-forefront-prvs: 0031A0FFAF spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM Content-Type: multipart/mixed; boundary="_003_AM4PR0701MB2162B4ACAA12902897CAFB48E41E0AM4PR0701MB2162_" MIME-Version: 1.0 X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-originalarrivaltime: 11 Aug 2016 19:47:22.1800 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Internet X-MS-Exchange-CrossTenant-id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1EUR01HT019 X-SW-Source: 2016-08/txt/msg00961.txt.bz2 --_003_AM4PR0701MB2162B4ACAA12902897CAFB48E41E0AM4PR0701MB2162_ Content-Type: text/plain; charset="Windows-1252" Content-ID: <2F2B62DA9427884396D5F3050EE05262@eurprd07.prod.outlook.com> Content-Transfer-Encoding: quoted-printable Content-length: 1588 On 08/11/16 09:07, Richard Biener wrote: > The patch looks mostly ok, but > > + else > + { > + boff >>=3D LOG2_BITS_PER_UNIT; > + boff +=3D tree_to_uhwi (component_ref_field_offset (ref)); > + coff =3D size_binop (MINUS_EXPR, coff, ssize_int (boff)); > > how can we be sure that component_ref_field_offset is an INTEGER_CST? > At least Ada can have variably-length fields before a bitfield. We'd > need to apply component_ref_field_offset to off in that case. Which > makes me wonder if we can simply avoid the COMPONENT_REF path in > a first iteration of the patch and always build a BIT_FIELD_REF? > It should solve the correctness issues as well and be more applicable > for branches. > I believe that it will be necessary to check for tree_fits_uhwi_p here, but while it happens quite often hat a normal COMPONENT_REF has a variable offset, it happens rarely that a bit-field COMPONENT_REF has a variable offset: In the whole Ada test suite it was only on the pack16 test case. However I was not able to use that trick in the loop_optimization23 test case. When I tried, it did no longer get optimized by pcom. So there will be no new test case at this time. Therefore I left the comment as-is, because it is not clear, if a variable offset will ever happen here; but if it happens, it will be in Ada, and it will be safe to create a BIT_FIELD_REF instead. So this is the follow-up patch that tries to create a more aligned access using the COMPONENT_REF. Boot-strap and reg-test on x86_64-pc-linux-gnu. Is it OK for trunk? Thanks Bernd. --_003_AM4PR0701MB2162B4ACAA12902897CAFB48E41E0AM4PR0701MB2162_ Content-Type: text/plain; name="changelog-pr71083.txt" Content-Description: changelog-pr71083.txt Content-Disposition: attachment; filename="changelog-pr71083.txt"; size=188; creation-date="Thu, 11 Aug 2016 19:47:21 GMT"; modification-date="Thu, 11 Aug 2016 19:47:21 GMT" Content-ID: <13F6194EE7C2854AB662147EBA838C15@eurprd07.prod.outlook.com> Content-Transfer-Encoding: base64 Content-length: 257 MjAxNi0wOC0xMSAgQmVybmQgRWRsaW5nZXIgIDxiZXJuZC5lZGxpbmdlckBo b3RtYWlsLmRlPg0KDQoJUFIgdHJlZS1vcHRpbWl6YXRpb24vNzEwODMNCgkq IHRyZWUtcHJlZGNvbS5jIChyZWZfYXRfaXRlcmF0aW9uKTogVXNlIGEgQ09N UE9ORU5UX1JFRiBmb3IgdGhlDQoJYml0ZmllbGQgYWNjZXNzIHdoZW4gcG9z c2libGUuDQo= --_003_AM4PR0701MB2162B4ACAA12902897CAFB48E41E0AM4PR0701MB2162_ Content-Type: text/x-patch; name="patch-pr71083.diff" Content-Description: patch-pr71083.diff Content-Disposition: attachment; filename="patch-pr71083.diff"; size=3845; creation-date="Thu, 11 Aug 2016 19:47:21 GMT"; modification-date="Thu, 11 Aug 2016 19:47:21 GMT" Content-ID: <58A2B9E72B1EE04590F41B17EFC9A0C3@eurprd07.prod.outlook.com> Content-Transfer-Encoding: base64 Content-length: 5214 SW5kZXg6IGdjYy90cmVlLXByZWRjb20uYw0KPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQ0KLS0tIGdjYy90cmVlLXByZWRjb20uYwkocmV2aXNpb24gMjM5MzY3 KQ0KKysrIGdjYy90cmVlLXByZWRjb20uYwkod29ya2luZyBjb3B5KQ0KQEAg LTEzNjUsMTEgKzEzNjUsMTYgQEAgcmVwbGFjZV9yZWZfd2l0aCAoZ2ltcGxl ICpzdG10LCB0cmVlIG5ld190cmVlLCBib28NCiAvKiBSZXR1cm5zIGEgbWVt b3J5IHJlZmVyZW5jZSB0byBEUiBpbiB0aGUgSVRFUi10aCBpdGVyYXRpb24g b2YNCiAgICB0aGUgbG9vcCBpdCB3YXMgYW5hbHl6ZWQgaW4uICBBcHBlbmQg aW5pdCBzdG10cyB0byBTVE1UUy4gICovDQogDQotc3RhdGljIHRyZWUgDQor c3RhdGljIHRyZWUNCiByZWZfYXRfaXRlcmF0aW9uIChkYXRhX3JlZmVyZW5j ZV9wIGRyLCBpbnQgaXRlciwgZ2ltcGxlX3NlcSAqc3RtdHMpDQogew0KICAg dHJlZSBvZmYgPSBEUl9PRkZTRVQgKGRyKTsNCiAgIHRyZWUgY29mZiA9IERS X0lOSVQgKGRyKTsNCisgIHRyZWUgcmVmID0gRFJfUkVGIChkcik7DQorICBl bnVtIHRyZWVfY29kZSByZWZfY29kZSA9IEVSUk9SX01BUks7DQorICB0cmVl IHJlZl90eXBlID0gTlVMTF9UUkVFOw0KKyAgdHJlZSByZWZfb3AxID0gTlVM TF9UUkVFOw0KKyAgdHJlZSByZWZfb3AyID0gTlVMTF9UUkVFOw0KICAgaWYg KGl0ZXIgPT0gMCkNCiAgICAgOw0KICAgZWxzZSBpZiAoVFJFRV9DT0RFIChE Ul9TVEVQIChkcikpID09IElOVEVHRVJfQ1NUKQ0KQEAgLTEzNzgsMjggKzEz ODMsNTAgQEAgcmVmX2F0X2l0ZXJhdGlvbiAoZGF0YV9yZWZlcmVuY2VfcCBk ciwgaW50IGl0ZXIsIGcNCiAgIGVsc2UNCiAgICAgb2ZmID0gc2l6ZV9iaW5v cCAoUExVU19FWFBSLCBvZmYsDQogCQkgICAgICBzaXplX2Jpbm9wIChNVUxU X0VYUFIsIERSX1NURVAgKGRyKSwgc3NpemVfaW50IChpdGVyKSkpOw0KLSAg dHJlZSBhZGRyID0gZm9sZF9idWlsZF9wb2ludGVyX3BsdXMgKERSX0JBU0Vf QUREUkVTUyAoZHIpLCBvZmYpOw0KLSAgYWRkciA9IGZvcmNlX2dpbXBsZV9v cGVyYW5kXzEgKHVuc2hhcmVfZXhwciAoYWRkciksIHN0bXRzLA0KLQkJCQkg aXNfZ2ltcGxlX21lbV9yZWZfYWRkciwgTlVMTF9UUkVFKTsNCi0gIHRyZWUg YWxpYXNfcHRyID0gZm9sZF9jb252ZXJ0IChyZWZlcmVuY2VfYWxpYXNfcHRy X3R5cGUgKERSX1JFRiAoZHIpKSwgY29mZik7DQotICB0cmVlIHR5cGUgPSBi dWlsZF9hbGlnbmVkX3R5cGUgKFRSRUVfVFlQRSAoRFJfUkVGIChkcikpLA0K LQkJCQkgIGdldF9vYmplY3RfYWxpZ25tZW50IChEUl9SRUYgKGRyKSkpOw0K ICAgLyogV2hpbGUgZGF0YS1yZWYgYW5hbHlzaXMgcHVudHMgb24gYml0IG9m ZnNldHMgaXQgc3RpbGwgaGFuZGxlcw0KICAgICAgYml0ZmllbGQgYWNjZXNz ZXMgYXQgYnl0ZSBib3VuZGFyaWVzLiAgQ29wZSB3aXRoIHRoYXQuICBOb3Rl IHRoYXQNCi0gICAgIHdlIGNhbm5vdCBzaW1wbHkgcmUtYXBwbHkgdGhlIG91 dGVyIENPTVBPTkVOVF9SRUYgYmVjYXVzZSB0aGUNCi0gICAgIGJ5dGUtZ3Jh bnVsYXIgcG9ydGlvbiBvZiBpdCBpcyBhbHJlYWR5IGFwcGxpZWQgdmlhIERS X0lOSVQgYW5kDQotICAgICBEUl9PRkZTRVQsIHNvIHNpbXBseSBidWlsZCBh IEJJVF9GSUVMRF9SRUYga25vd2luZyB0aGF0IHRoZSBiaXRzDQorICAgICBp ZiB0aGUgYml0ZmllbGQgb2JqZWN0IGFsc28gc3RhcnRzIGF0IGEgYnl0ZS1i b3VuZGFyeSB3ZSBjYW4gc2ltcGx5DQorICAgICByZXBsaWNhdGUgdGhlIENP TVBPTkVOVF9SRUYsIGJ1dCB3ZSBoYXZlIHRvIHN1YnRyYWN0IHRoZSBjb21w b25lbnQncw0KKyAgICAgYnl0ZS1vZmZzZXQgZnJvbSB0aGUgTUVNX1JFRiBh ZGRyZXNzIGZpcnN0Lg0KKyAgICAgT3RoZXJ3aXNlIHdlIHNpbXBseSBidWls ZCBhIEJJVF9GSUVMRF9SRUYga25vd2luZyB0aGF0IHRoZSBiaXRzDQogICAg ICBzdGFydCBhdCBvZmZzZXQgemVyby4gICovDQotICBpZiAoVFJFRV9DT0RF IChEUl9SRUYgKGRyKSkgPT0gQ09NUE9ORU5UX1JFRg0KLSAgICAgICYmIERF Q0xfQklUX0ZJRUxEIChUUkVFX09QRVJBTkQgKERSX1JFRiAoZHIpLCAxKSkp DQorICBpZiAoVFJFRV9DT0RFIChyZWYpID09IENPTVBPTkVOVF9SRUYNCisg ICAgICAmJiBERUNMX0JJVF9GSUVMRCAoVFJFRV9PUEVSQU5EIChyZWYsIDEp KSkNCiAgICAgew0KLSAgICAgIHRyZWUgZmllbGQgPSBUUkVFX09QRVJBTkQg KERSX1JFRiAoZHIpLCAxKTsNCi0gICAgICByZXR1cm4gYnVpbGQzIChCSVRf RklFTERfUkVGLCBUUkVFX1RZUEUgKERSX1JFRiAoZHIpKSwNCi0JCSAgICAg YnVpbGQyIChNRU1fUkVGLCB0eXBlLCBhZGRyLCBhbGlhc19wdHIpLA0KLQkJ ICAgICBERUNMX1NJWkUgKGZpZWxkKSwgYml0c2l6ZV96ZXJvX25vZGUpOw0K KyAgICAgIHVuc2lnbmVkIEhPU1RfV0lERV9JTlQgYm9mZjsNCisgICAgICB0 cmVlIGZpZWxkID0gVFJFRV9PUEVSQU5EIChyZWYsIDEpOw0KKyAgICAgIHRy ZWUgb2Zmc2V0ID0gY29tcG9uZW50X3JlZl9maWVsZF9vZmZzZXQgKHJlZik7 DQorICAgICAgcmVmX3R5cGUgPSBUUkVFX1RZUEUgKHJlZik7DQorICAgICAg Ym9mZiA9IHRyZWVfdG9fdWh3aSAoREVDTF9GSUVMRF9CSVRfT0ZGU0VUIChm aWVsZCkpOw0KKyAgICAgIC8qIFRoaXMgY2FuIG9jY3VyIGluIEFkYS4gIFNl ZSB0aGUgY29tbWVudCBpbiBnZXRfYml0X3JhbmdlLiAgKi8NCisgICAgICBp ZiAoYm9mZiAlIEJJVFNfUEVSX1VOSVQgIT0gMA0KKwkgIHx8ICF0cmVlX2Zp dHNfdWh3aV9wIChvZmZzZXQpKQ0KKwl7DQorCSAgcmVmX2NvZGUgPSBCSVRf RklFTERfUkVGOw0KKwkgIHJlZl9vcDEgPSBERUNMX1NJWkUgKGZpZWxkKTsN CisJICByZWZfb3AyID0gYml0c2l6ZV96ZXJvX25vZGU7DQorCX0NCisgICAg ICBlbHNlDQorCXsNCisJICBib2ZmID4+PSBMT0cyX0JJVFNfUEVSX1VOSVQ7 DQorCSAgYm9mZiArPSB0cmVlX3RvX3Vod2kgKG9mZnNldCk7DQorCSAgY29m ZiA9IHNpemVfYmlub3AgKE1JTlVTX0VYUFIsIGNvZmYsIHNzaXplX2ludCAo Ym9mZikpOw0KKwkgIHJlZl9jb2RlID0gQ09NUE9ORU5UX1JFRjsNCisJICBy ZWZfb3AxID0gZmllbGQ7DQorCSAgcmVmX29wMiA9IFRSRUVfT1BFUkFORCAo cmVmLCAyKTsNCisJICByZWYgPSBUUkVFX09QRVJBTkQgKHJlZiwgMCk7DQor CX0NCiAgICAgfQ0KLSAgZWxzZQ0KLSAgICByZXR1cm4gZm9sZF9idWlsZDIg KE1FTV9SRUYsIHR5cGUsIGFkZHIsIGFsaWFzX3B0cik7DQorICB0cmVlIGFk ZHIgPSBmb2xkX2J1aWxkX3BvaW50ZXJfcGx1cyAoRFJfQkFTRV9BRERSRVNT IChkciksIG9mZik7DQorICBhZGRyID0gZm9yY2VfZ2ltcGxlX29wZXJhbmRf MSAodW5zaGFyZV9leHByIChhZGRyKSwgc3RtdHMsDQorCQkJCSBpc19naW1w bGVfbWVtX3JlZl9hZGRyLCBOVUxMX1RSRUUpOw0KKyAgdHJlZSBhbGlhc19w dHIgPSBmb2xkX2NvbnZlcnQgKHJlZmVyZW5jZV9hbGlhc19wdHJfdHlwZSAo cmVmKSwgY29mZik7DQorICB0cmVlIHR5cGUgPSBidWlsZF9hbGlnbmVkX3R5 cGUgKFRSRUVfVFlQRSAocmVmKSwNCisJCQkJICBnZXRfb2JqZWN0X2FsaWdu bWVudCAocmVmKSk7DQorICByZWYgPSBidWlsZDIgKE1FTV9SRUYsIHR5cGUs IGFkZHIsIGFsaWFzX3B0cik7DQorICBpZiAocmVmX3R5cGUpDQorICAgIHJl ZiA9IGJ1aWxkMyAocmVmX2NvZGUsIHJlZl90eXBlLCByZWYsIHJlZl9vcDEs IHJlZl9vcDIpOw0KKyAgcmV0dXJuIHJlZjsNCiB9DQogDQogLyogR2V0IHRo ZSBpbml0aWFsaXphdGlvbiBleHByZXNzaW9uIGZvciB0aGUgSU5ERVgtdGgg dGVtcG9yYXJ5IHZhcmlhYmxlDQo= --_003_AM4PR0701MB2162B4ACAA12902897CAFB48E41E0AM4PR0701MB2162_--