From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by sourceware.org (Postfix) with ESMTPS id B23823858D39 for ; Fri, 11 Nov 2022 16:17:22 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org B23823858D39 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=redhat.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=redhat.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1668183442; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type; bh=ebcM7Gav85oTeV5K82ApFwwLfmgmwx2pG+vuk+iQv8A=; b=UJaVrEvjXIOXCqTzHJmTZJY+oNCt6IMUPSsMWSS7anjLy/W8w3ejMWUtvuxbRsme2cjGRz CSvCrLi0mrGD6hA09NExbuqX+494CNRFkSnw8swZmeRdo4SbMF5WQ/N8wnD0b7l77vLwdU ManybYDoUSxh0W8kH7dZ+FjWkk4H6g0= Received: from mail-qk1-f198.google.com (mail-qk1-f198.google.com [209.85.222.198]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_128_GCM_SHA256) id us-mta-349-Fa2GR12LP02jsxBGOXRHlw-1; Fri, 11 Nov 2022 11:17:20 -0500 X-MC-Unique: Fa2GR12LP02jsxBGOXRHlw-1 Received: by mail-qk1-f198.google.com with SMTP id bq13-20020a05620a468d00b006fa5a75759aso5098869qkb.13 for ; Fri, 11 Nov 2022 08:17:20 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=subject:from:cc:to:content-language:user-agent:mime-version:date :message-id:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=8ThrvJ909KESl07+slLxeQQZ6/hQ4xw+M8OVTx1o4Fc=; b=y3hXO9B7kRzckCOY1B9UJeoF/3AZ7M2nxl60EnfIUVjB/vo9nYU/ElwVAgBGp2rNRL 6Cl7O1Esk+dqZJ4LPypNoqYoOxY3ZYUc0mkhUZAmVzZK9dNTZ7EzY414tQ1oDhEqMNaS /yHxh6Ecd3VY+aN37aFUKFQsQZbSRq5Qq6mzQrl8JYr9KH9DlrmJP7R6s9gofc48qqml xIhXCbgGmxavdc140urN/4yNoddjUlO2kEl5A8ttAyvLNCxUPijKTFi7IwBXvHPktPJb DLYX0QLmKVOB9Wdzmk4tdKMZ/WG5AvQ/ia8aikpDwNxvanhPvVDiiOA9kjPBiMu5rW6r 0MZg== X-Gm-Message-State: ANoB5pn0ghZFTqJDE0UD1WlAQxijFUAbB759wj7N4cDhnhmjdH+7buZB Zu++4KEJQcTLiL2NwV26mWCzqxUEiW0ZuVZKUPUZyOIRLbzwM1cXDNODZh2+1OfzDq4fiimiaiI v24rxz1SndZq944YCd3IYzGJvDwf1xGMztVKilUitRpzdAC5iv8g+5u2jJmWXO5l0zRu2PA== X-Received: by 2002:ac8:7607:0:b0:3a5:2bd0:67a4 with SMTP id t7-20020ac87607000000b003a52bd067a4mr1925048qtq.428.1668183440101; Fri, 11 Nov 2022 08:17:20 -0800 (PST) X-Google-Smtp-Source: AA0mqf7V2wZguu6OQkpk7UJgIHvkl2ioUM608yhYe63VuIqOmUanzNqHzeWvda7AYN/ugehQSeoYIg== X-Received: by 2002:ac8:7607:0:b0:3a5:2bd0:67a4 with SMTP id t7-20020ac87607000000b003a52bd067a4mr1925025qtq.428.1668183439740; Fri, 11 Nov 2022 08:17:19 -0800 (PST) Received: from ?IPV6:2605:8d80:5e0:437a:2282:98c9:8765:f263? ([2605:8d80:5e0:437a:2282:98c9:8765:f263]) by smtp.gmail.com with ESMTPSA id y11-20020ac87c8b000000b0039d085a2571sm1440923qtv.55.2022.11.11.08.17.18 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 11 Nov 2022 08:17:18 -0800 (PST) Message-ID: <3c68cb87-a088-85a0-0379-6aa893e36796@redhat.com> Date: Fri, 11 Nov 2022 11:17:17 -0500 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.2.1 To: gcc-patches Cc: "hernandez, aldy" From: Andrew MacLeod Subject: [COMMITTED] process transitive inferred ranges in pre_fold_stmt. X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: multipart/mixed; boundary="------------Gv1u11mjyaXHnCVnhfBfjbAk" Content-Language: en-US X-Spam-Status: No, score=-12.3 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE,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 List-Id: This is a multi-part message in MIME format. --------------Gv1u11mjyaXHnCVnhfBfjbAk Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit I was processing the transitive inferred ranges in fold_stmt when it was the final statement in the block.  the substitute_and_fold engine actually does a bit of work before calling fold_stmt.  this patch moves the check to pre_fold_stmt instead so it gets done before the final statement in the block is processed... as was the original intention. I also changed it so we always do this just before the last statement in any block.  This allows us to get transitive inferred ranges registered for returns, as well as just normal blocks which can feed other blocks.   Performance impact is minimal. Bootstraped on x86_64-pc-linux-gnu with no regressions.  Pushed. Andrei --------------Gv1u11mjyaXHnCVnhfBfjbAk Content-Type: text/x-patch; charset=UTF-8; name="0001-process-transitive-inferred-ranges-in-pre_fold_stmt.patch" Content-Disposition: attachment; filename*0="0001-process-transitive-inferred-ranges-in-pre_fold_stmt.pat"; filename*1="ch" Content-Transfer-Encoding: base64 RnJvbSBkYWI1ZDczOTU5Y2ZjOGYwM2NiYTU0ODc3N2FkZGE5YTc5OGUxZjBlIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBBbmRyZXcgTWFjTGVvZCA8YW1hY2xlb2RAcmVkaGF0LmNvbT4K RGF0ZTogV2VkLCA5IE5vdiAyMDIyIDEwOjU4OjE1IC0wNTAwClN1YmplY3Q6IFtQQVRDSF0gcHJv Y2VzcyB0cmFuc2l0aXZlIGluZmVycmVkIHJhbmdlcyBpbiBwcmVfZm9sZF9zdG10LgoKVGhlIHN1 YnN0X2FuZF9mb2xkIGVuZ2luZSBjYW4gcGVyZm9ybSBzb21lIGZvbGRpbmcgYWN0aXZpdHkgYmVm b3JlCmNhbGxpbmcgZm9sZF9zdG10LCBzbyBkbyB0aGlzIHdvcmsgaW4gcHJlX2ZvbGRfc3RtdCBp bnN0ZWFkLgoKCSogdHJlZS12cnAuY2MgKHJ2cnBfZm9sZGVyOjpydnJwX2ZvbGRlcik6IEluaXQg bV9sYXN0X2JiX3N0bXQuCgkocnZycF9mb2xkZXI6OnByZV9mb2xkX2JiKTogU2V0IG1fbGFzdF9i Yl9zdG10LgoJKHJ2cnBfZm9sZGVyOjpwcmVfZm9sZF9zdG10KTogQ2hlY2sgZm9yIHRyYW5zaXRp dmUgaW5mZXJyZWQgcmFuZ2VzLgoJKHJ2cnBfZm9sZGVyOjpmb2xkX3N0bXQpOiBDaGVjayBpbiBw cmVfZm9sZF9zdG10IGluc3RlYWQuCi0tLQogZ2NjL3RyZWUtdnJwLmNjIHwgMTYgKysrKysrKy0t LS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDcgaW5zZXJ0aW9ucygrKSwgOSBkZWxldGlvbnMoLSkK CmRpZmYgLS1naXQgYS9nY2MvdHJlZS12cnAuY2MgYi9nY2MvdHJlZS12cnAuY2MKaW5kZXggMzM5 M2M3M2E3ZGIuLmE0NzRkOWQxMWU1IDEwMDY0NAotLS0gYS9nY2MvdHJlZS12cnAuY2MKKysrIGIv Z2NjL3RyZWUtdnJwLmNjCkBAIC00NDQyLDYgKzQ0NDIsNyBAQCBwdWJsaWM6CiAgIHsKICAgICBt X3JhbmdlciA9IHI7CiAgICAgbV9wdGEgPSBuZXcgcG9pbnRlcl9lcXVpdl9hbmFseXplciAobV9y YW5nZXIpOworICAgIG1fbGFzdF9iYl9zdG10ID0gTlVMTDsKICAgfQogCiAgIH5ydnJwX2ZvbGRl ciAoKQpAQCAtNDQ4NSw2ICs0NDg2LDcgQEAgcHVibGljOgogICAgIGZvciAoZ3BoaV9pdGVyYXRv ciBnc2kgPSBnc2lfc3RhcnRfcGhpcyAoYmIpOyAhZ3NpX2VuZF9wIChnc2kpOwogCSBnc2lfbmV4 dCAoJmdzaSkpCiAgICAgICBtX3Jhbmdlci0+cmVnaXN0ZXJfaW5mZXJyZWRfcmFuZ2VzIChnc2ku cGhpICgpKTsKKyAgICBtX2xhc3RfYmJfc3RtdCA9IGxhc3Rfc3RtdCAoYmIpOwogICB9CiAKICAg dm9pZCBwb3N0X2ZvbGRfYmIgKGJhc2ljX2Jsb2NrIGJiKSBvdmVycmlkZQpAQCAtNDQ5NywxOSAr NDQ5OSwxNCBAQCBwdWJsaWM6CiAgIHZvaWQgcHJlX2ZvbGRfc3RtdCAoZ2ltcGxlICpzdG10KSBv dmVycmlkZQogICB7CiAgICAgbV9wdGEtPnZpc2l0X3N0bXQgKHN0bXQpOworICAgIC8vIElmIHRo aXMgaXMgdGhlIGxhc3Qgc3RtdCBhbmQgdGhlcmUgYXJlIGluZmVycmVkIHJhbmdlcywgcmVwYXJz ZSB0aGUKKyAgICAvLyBibG9jayBmb3IgdHJhbnNpdGl2ZSBpbmZlcnJlZCByYW5nZXMgdGhhdCBv Y2N1ciBlYXJsaWVyIGluIHRoZSBibG9jay4KKyAgICBpZiAoc3RtdCA9PSBtX2xhc3RfYmJfc3Rt dCkKKyAgICAgIG1fcmFuZ2VyLT5yZWdpc3Rlcl90cmFuc2l0aXZlX2luZmVycmVkX3JhbmdlcyAo Z2ltcGxlX2JiIChzdG10KSk7CiAgIH0KIAogICBib29sIGZvbGRfc3RtdCAoZ2ltcGxlX3N0bXRf aXRlcmF0b3IgKmdzaSkgb3ZlcnJpZGUKICAgewotICAgIGdpbXBsZSAqcyA9IGdzaV9zdG10ICgq Z3NpKTsKLSAgICAvLyBJZiB0aGlzIGlzIGEgYmxvY2sgZW5kaW5nIGNvbmRpdGlvbiwgYW5kIHRo ZXJlIGFyZSBpbmZlcnJlZCByYW5nZXMsCi0gICAgLy8gcmVwYXJzZSB0aGUgYmxvY2sgdG8gc2Vl IGlmIHRoZXJlIGFyZSBhbnkgdHJhbnNpdGl2ZSBpbmZlcnJlZCByYW5nZXMuCi0gICAgaWYgKGlz X2E8Z2NvbmQgKj4gKHMpKQotICAgICAgewotCWJhc2ljX2Jsb2NrIGJiID0gZ2ltcGxlX2JiIChz KTsKLQlpZiAoYmIgJiYgcyA9PSBnaW1wbGVfb3V0Z29pbmdfcmFuZ2Vfc3RtdF9wIChiYikpCi0J ICBtX3Jhbmdlci0+cmVnaXN0ZXJfdHJhbnNpdGl2ZV9pbmZlcnJlZF9yYW5nZXMgKGJiKTsKLSAg ICAgIH0KICAgICBib29sIHJldCA9IG1fc2ltcGxpZmllci5zaW1wbGlmeSAoZ3NpKTsKICAgICBp ZiAoIXJldCkKICAgICAgIHJldCA9IG1fcmFuZ2VyLT5mb2xkX3N0bXQgKGdzaSwgZm9sbG93X3Np bmdsZV91c2VfZWRnZXMpOwpAQCAtNDUyMyw2ICs0NTIwLDcgQEAgcHJpdmF0ZToKICAgZ2ltcGxl X3JhbmdlciAqbV9yYW5nZXI7CiAgIHNpbXBsaWZ5X3VzaW5nX3JhbmdlcyBtX3NpbXBsaWZpZXI7 CiAgIHBvaW50ZXJfZXF1aXZfYW5hbHl6ZXIgKm1fcHRhOworICBnaW1wbGUgKm1fbGFzdF9iYl9z dG10OwogfTsKIAogLyogTWFpbiBlbnRyeSBwb2ludCBmb3IgYSBWUlAgcGFzcyB1c2luZyBqdXN0 IHJhbmdlci4gVGhpcyBjYW4gYmUgY2FsbGVkCi0tIAoyLjM3LjMKCg== --------------Gv1u11mjyaXHnCVnhfBfjbAk--