From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 5004 invoked by alias); 11 Nov 2017 22:03:16 -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 4988 invoked by uid 89); 11 Nov 2017 22:03:15 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-9.4 required=5.0 tests=AWL,BAYES_00,GIT_PATCH_2,GIT_PATCH_3,KAM_ASCII_DIVIDERS,KAM_LAZY_DOMAIN_SECURITY,RP_MATCHES_RCVD autolearn=ham version=3.3.2 spammy=H*c:HHHHH X-HELO: mail3-relais-sop.national.inria.fr Received: from mail3-relais-sop.national.inria.fr (HELO mail3-relais-sop.national.inria.fr) (192.134.164.104) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Sat, 11 Nov 2017 22:03:13 +0000 Received: from ip-195.net-89-2-234.rev.numericable.fr (HELO stedding) ([89.2.234.195]) by mail3-relais-sop.national.inria.fr with ESMTP/TLS/DHE-RSA-AES256-SHA; 11 Nov 2017 23:03:11 +0100 Date: Sat, 11 Nov 2017 22:16:00 -0000 From: Marc Glisse To: gcc-patches@gcc.gnu.org Subject: VRP: x+1 and -x cannot be INT_MIN Message-ID: User-Agent: Alpine 2.02 (DEB 1266 2009-07-14) MIME-Version: 1.0 Content-Type: MULTIPART/MIXED; BOUNDARY="8323329-1026042822-1510437791=:30441" X-SW-Source: 2017-11/txt/msg00930.txt.bz2 This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. --8323329-1026042822-1510437791=:30441 Content-Type: TEXT/PLAIN; format=flowed; charset=US-ASCII Content-length: 921 Hello, with undefined overflow, just because we know nothing about one of the arguments of an addition doesn't mean we can't say something about the result. We could constrain more the cases where we replace VR_VARYING with a full VR_RANGE, but I didn't want to duplicate too much logic. The 20040409 testcases were introduced to test an RTL transformation, so I don't feel too bad adding -fwrapv to work around the undefined overflows they exhibit. Bootstrap+regtest on powerpc64le-unknown-linux-gnu. 2017-11-13 Marc Glisse gcc/ * tree-vrp.c (extract_range_from_binary_expr_1) [PLUS_EXPR, MINUS_EXPR]: Use a full range for VR_VARYING. gcc/testsuite/ PR testsuite/82951 * gcc.c-torture/execute/20040409-1.c: Use -fwrapv. * gcc.c-torture/execute/20040409-2.c: Likewise. * gcc.c-torture/execute/20040409-3.c: Likewise. * gcc.dg/tree-ssa/vrp118.c: New file. -- Marc Glisse --8323329-1026042822-1510437791=:30441 Content-Type: TEXT/x-diff; name=vrp.patch Content-Transfer-Encoding: BASE64 Content-ID: Content-Description: Content-Disposition: inline; filename=vrp.patch Content-length: 4734 SW5kZXg6IGdjYy90ZXN0c3VpdGUvZ2NjLmMtdG9ydHVyZS9leGVjdXRlLzIw MDQwNDA5LTEuYw0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIGdjYy90 ZXN0c3VpdGUvZ2NjLmMtdG9ydHVyZS9leGVjdXRlLzIwMDQwNDA5LTEuYwko cmV2aXNpb24gMjU0NjI5KQ0KKysrIGdjYy90ZXN0c3VpdGUvZ2NjLmMtdG9y dHVyZS9leGVjdXRlLzIwMDQwNDA5LTEuYwkod29ya2luZyBjb3B5KQ0KQEAg LTEsMTAgKzEsMTIgQEANCisvKiB7IGRnLW9wdGlvbnMgIi1md3JhcHYiIH0g Ki8NCisNCiAjaW5jbHVkZSA8bGltaXRzLmg+DQogDQogZXh0ZXJuIHZvaWQg YWJvcnQgKCk7DQogDQogaW50IHRlc3QxKGludCB4KQ0KIHsNCiAgIHJldHVy biB4IF4gSU5UX01JTjsNCiB9DQogDQogdW5zaWduZWQgaW50IHRlc3QxdSh1 bnNpZ25lZCBpbnQgeCkNCkluZGV4OiBnY2MvdGVzdHN1aXRlL2djYy5jLXRv cnR1cmUvZXhlY3V0ZS8yMDA0MDQwOS0yLmMNCj09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0NCi0tLSBnY2MvdGVzdHN1aXRlL2djYy5jLXRvcnR1cmUvZXhlY3V0 ZS8yMDA0MDQwOS0yLmMJKHJldmlzaW9uIDI1NDYyOSkNCisrKyBnY2MvdGVz dHN1aXRlL2djYy5jLXRvcnR1cmUvZXhlY3V0ZS8yMDA0MDQwOS0yLmMJKHdv cmtpbmcgY29weSkNCkBAIC0xLDEwICsxLDEyIEBADQorLyogeyBkZy1vcHRp b25zICItZndyYXB2IiB9ICovDQorDQogI2luY2x1ZGUgPGxpbWl0cy5oPg0K IA0KIGV4dGVybiB2b2lkIGFib3J0ICgpOw0KIA0KIGludCB0ZXN0MShpbnQg eCkNCiB7DQogICByZXR1cm4gKHggXiBJTlRfTUlOKSBeIDB4MTIzNDsNCiB9 DQogDQogdW5zaWduZWQgaW50IHRlc3QxdSh1bnNpZ25lZCBpbnQgeCkNCklu ZGV4OiBnY2MvdGVzdHN1aXRlL2djYy5jLXRvcnR1cmUvZXhlY3V0ZS8yMDA0 MDQwOS0zLmMNCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0tLSBnY2MvdGVz dHN1aXRlL2djYy5jLXRvcnR1cmUvZXhlY3V0ZS8yMDA0MDQwOS0zLmMJKHJl dmlzaW9uIDI1NDYyOSkNCisrKyBnY2MvdGVzdHN1aXRlL2djYy5jLXRvcnR1 cmUvZXhlY3V0ZS8yMDA0MDQwOS0zLmMJKHdvcmtpbmcgY29weSkNCkBAIC0x LDEwICsxLDEyIEBADQorLyogeyBkZy1vcHRpb25zICItZndyYXB2IiB9ICov DQorDQogI2luY2x1ZGUgPGxpbWl0cy5oPg0KIA0KIGV4dGVybiB2b2lkIGFi b3J0ICgpOw0KIA0KIGludCB0ZXN0MShpbnQgeCkNCiB7DQogICByZXR1cm4g fih4IF4gSU5UX01JTik7DQogfQ0KIA0KIHVuc2lnbmVkIGludCB0ZXN0MXUo dW5zaWduZWQgaW50IHgpDQpJbmRleDogZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcv dHJlZS1zc2EvdnJwMTE4LmMNCj09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0t LSBnY2MvdGVzdHN1aXRlL2djYy5kZy90cmVlLXNzYS92cnAxMTguYwkobm9u ZXhpc3RlbnQpDQorKysgZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdHJlZS1zc2Ev dnJwMTE4LmMJKHdvcmtpbmcgY29weSkNCkBAIC0wLDAgKzEsMTMgQEANCisv KiB7IGRnLWRvIGNvbXBpbGUgfSAqLw0KKy8qIHsgZGctb3B0aW9ucyAiLU8y IC1mZHVtcC10cmVlLW9wdGltaXplZCIgfSAqLw0KKw0KK3ZvaWQgZWxpbWlu YXRlX21lKCk7DQordm9pZCBmKGludCB4LGludCB5KXsNCisgICAgaWYgKHkg PCA0KQ0KKyAgICAgIF9fYnVpbHRpbl91bnJlYWNoYWJsZSgpOw0KKyAgICB4 ICs9IHk7DQorICAgIGlmICh4ID09IC1fX0lOVF9NQVhfXykNCisgICAgICBl bGltaW5hdGVfbWUgKCk7DQorfQ0KKw0KKy8qIHsgZGctZmluYWwgeyBzY2Fu LXRyZWUtZHVtcC1ub3QgImVsaW1pbmF0ZV9tZSIgIm9wdGltaXplZCIgfSB9 ICovDQpJbmRleDogZ2NjL3RyZWUtdnJwLmMNCj09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0NCi0tLSBnY2MvdHJlZS12cnAuYwkocmV2aXNpb24gMjU0NjI5KQ0K KysrIGdjYy90cmVlLXZycC5jCSh3b3JraW5nIGNvcHkpDQpAQCAtMjA4Niwy MCArMjA4NiwzOCBAQCBleHRyYWN0X3JhbmdlX2Zyb21fYmluYXJ5X2V4cHJf MSAodmFsdWVfDQogICAgICAgZWxzZQ0KIAlzZXRfdmFsdWVfcmFuZ2VfdG9f dmFyeWluZyAodnIpOw0KIA0KICAgICAgIHJldHVybjsNCiAgICAgfQ0KIA0K ICAgLyogRm9yIGludGVnZXIgcmFuZ2VzLCBhcHBseSB0aGUgb3BlcmF0aW9u IHRvIGVhY2ggZW5kIG9mIHRoZQ0KICAgICAgcmFuZ2UgYW5kIHNlZSB3aGF0 IHdlIGVuZCB1cCB3aXRoLiAgKi8NCiAgIGlmIChjb2RlID09IFBMVVNfRVhQ UiB8fCBjb2RlID09IE1JTlVTX0VYUFIpDQogICAgIHsNCisgICAgICAvKiBJ ZiBvbmUgYXJndW1lbnQgaXMgdmFyeWluZywgd2UgY2FuIHNvbWV0aW1lcyBz dGlsbCBkZWR1Y2UgYQ0KKwkgcmFuZ2UgZm9yIHRoZSBvdXRwdXQ6IGFueSAr IFszLCArSU5GXSBpcyBpbiBbTUlOKzMsICtJTkZdLiAgKi8NCisgICAgICBp ZiAoVFlQRV9PVkVSRkxPV19VTkRFRklORUQgKGV4cHJfdHlwZSkpDQorCXsN CisJICBpZih2cjAudHlwZSA9PSBWUl9WQVJZSU5HICYmIHZyMS50eXBlID09 IFZSX1JBTkdFKQ0KKwkgICAgew0KKwkgICAgICB2cjAudHlwZSA9IHR5cGUg PSBWUl9SQU5HRTsNCisJICAgICAgdnIwLm1pbiA9IHZycF92YWxfbWluIChl eHByX3R5cGUpOw0KKwkgICAgICB2cjAubWF4ID0gdnJwX3ZhbF9tYXggKGV4 cHJfdHlwZSk7DQorCSAgICB9DQorCSAgaWYodnIxLnR5cGUgPT0gVlJfVkFS WUlORyAmJiB2cjAudHlwZSA9PSBWUl9SQU5HRSkNCisJICAgIHsNCisJICAg ICAgdnIxLnR5cGUgPSBWUl9SQU5HRTsNCisJICAgICAgdnIxLm1pbiA9IHZy cF92YWxfbWluIChleHByX3R5cGUpOw0KKwkgICAgICB2cjEubWF4ID0gdnJw X3ZhbF9tYXggKGV4cHJfdHlwZSk7DQorCSAgICB9DQorCX0NCisNCiAgICAg ICBjb25zdCBib29sIG1pbnVzX3AgPSAoY29kZSA9PSBNSU5VU19FWFBSKTsN CiAgICAgICB0cmVlIG1pbl9vcDAgPSB2cjAubWluOw0KICAgICAgIHRyZWUg bWluX29wMSA9IG1pbnVzX3AgPyB2cjEubWF4IDogdnIxLm1pbjsNCiAgICAg ICB0cmVlIG1heF9vcDAgPSB2cjAubWF4Ow0KICAgICAgIHRyZWUgbWF4X29w MSA9IG1pbnVzX3AgPyB2cjEubWluIDogdnIxLm1heDsNCiAgICAgICB0cmVl IHN5bV9taW5fb3AwID0gTlVMTF9UUkVFOw0KICAgICAgIHRyZWUgc3ltX21p bl9vcDEgPSBOVUxMX1RSRUU7DQogICAgICAgdHJlZSBzeW1fbWF4X29wMCA9 IE5VTExfVFJFRTsNCiAgICAgICB0cmVlIHN5bV9tYXhfb3AxID0gTlVMTF9U UkVFOw0KICAgICAgIGJvb2wgbmVnX21pbl9vcDAsIG5lZ19taW5fb3AxLCBu ZWdfbWF4X29wMCwgbmVnX21heF9vcDE7DQo= --8323329-1026042822-1510437791=:30441--