From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-ot1-x336.google.com (mail-ot1-x336.google.com [IPv6:2607:f8b0:4864:20::336]) by sourceware.org (Postfix) with ESMTPS id 282153858CDA for ; Sun, 3 Sep 2023 00:41:04 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 282153858CDA Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gmail.com Received: by mail-ot1-x336.google.com with SMTP id 46e09a7af769-6b9a2416b1cso317740a34.2 for ; Sat, 02 Sep 2023 17:41:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1693701663; x=1694306463; darn=gcc.gnu.org; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=uZGfJ17lL5mYgCKyjvGGkTqdnBftI1U+a80RkjCPWP4=; b=eRWbCI4NHkojaOAH8123McRRqe8Tr+CPCnEx46+KW4Do2MuyqZWtr69eRz+//heQL0 t9VZzNUKjxLNNxEA1cRGukZ/U7oCjaqWDo5ufWeFDK2VGozGHNk20Pj5whObg2GYt/ME vjl4QwxBibwGtoECTo9P9dtMGAdrbn2P6OkrlkbJXayJUi/UFljRnPDC6N5u4BP7NIZa emV+Y5mu6iwVbh5teXPiBvF/xPC+jR8ZOsckK+glT8/QR4+6s2dGQCyDG7T/i25kMVHQ pdBcy3a9xZUzBkB+4GXRRavsVa+HB3rKNGFRLt/Tg95zTLlS2vovM1RJVvXoxSw16kKz Ir9w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1693701663; x=1694306463; h=to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=uZGfJ17lL5mYgCKyjvGGkTqdnBftI1U+a80RkjCPWP4=; b=NQI06nZwG2Ju8Kxn2k57xAleRKAOsG17cvqmfqmfwRuiuv3d9ZE2cFn6AIlUzOb/7m Phqm8gU7ASahcupBGNXDTCNKLwLPxHr6U6ITIiLOggV6cm6C44gIxtkfcjmGpz1kKFc9 LaVNrqhY3tgvwvdfwuJR8Q5LiZWijK9My1vKW2S/M08scnlomodxTX4ZSFxp/osGlKEd 1v0UeHQHQRH0VKEaaerpaLLj3oOrb86u0iesobTXXAsDVRPp/jp2EN3Le+TDHePvaKZy Jko9yxkVtyye2wgJgKk28Hd6tXkPoRnw9OGF9757gCI5LdyeA1al00weGXa2uNYXDGt0 FVZA== X-Gm-Message-State: AOJu0YxERjYBE6wrvv64SJXGqvK+3j+7+LnnJvi3KLVDMa3zxQP/eU/+ +QYWGX8frsKnZ9f58N+hlTFh6Vhw5X7THyfd2zs= X-Google-Smtp-Source: AGHT+IEdXMR+1QP0SEBtmVvpbBjdL3U5idGmA8eNr3kor9hP5l78HJS31zASNiuj2+swWEZBFQ8jMTiG5N7CPM2UhYM= X-Received: by 2002:a05:6358:931b:b0:139:c7cb:77b8 with SMTP id x27-20020a056358931b00b00139c7cb77b8mr7934927rwa.20.1693701662997; Sat, 02 Sep 2023 17:41:02 -0700 (PDT) MIME-Version: 1.0 From: Andrew Pinski Date: Sat, 2 Sep 2023 17:40:51 -0700 Message-ID: Subject: Using ranger from cfgexpand To: Aldy Hernandez , Andrew MacLeod , GCC Mailing List Content-Type: multipart/mixed; boundary="000000000000fb721a060469a58c" X-Spam-Status: No, score=-8.2 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,GIT_PATCH_0,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,TXREP,WEIRD_PORT 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: --000000000000fb721a060469a58c Content-Type: text/plain; charset="UTF-8" Hi, I was trying to use the ranger from inside of cfgexpand but since at this point we have a mix of RTL and gimple basic blocks, things fall over very fast. First does it make sense to use the ranger from expand or should we change the gimple IR in isel instead if we have a better way of doing an expansion. In this case we have MIN_EXPR where a has a range of [0,INF] and I want to expand it as (a != 0) to get better code. Attached is the current patch which I did and a testcase which ICEs at -O2. The backtrace of the ICE is: 0x88c885 gsi_last_bb(basic_block_def*) /home/apinski/src/upstream-gcc-git/gcc/gcc/gimple-iterator.h:165 0x88c885 gsi_last_nondebug_bb(basic_block_def*) /home/apinski/src/upstream-gcc-git/gcc/gcc/gimple-iterator.h:325 0x88c885 gimple_outgoing_range_stmt_p(basic_block_def*) /home/apinski/src/upstream-gcc-git/gcc/gcc/gimple-range-edge.cc:42 0xe05739 gimple_outgoing_range::edge_range_p(irange&, edge_def*) /home/apinski/src/upstream-gcc-git/gcc/gcc/gimple-range-edge.cc:194 0xe12afa gori_compute::outgoing_edge_range_p(vrange&, edge_def*, tree_node*, range_query&) /home/apinski/src/upstream-gcc-git/gcc/gcc/gimple-range-gori.cc:1404 0xe00dde ranger_cache::edge_range(vrange&, edge_def*, tree_node*, ranger_cache::rfd_mode) /home/apinski/src/upstream-gcc-git/gcc/gcc/gimple-range-cache.cc:1185 0xe01e48 ranger_cache::propagate_cache(tree_node*) /home/apinski/src/upstream-gcc-git/gcc/gcc/gimple-range-cache.cc:1305 0xe0306f ranger_cache::fill_block_cache(tree_node*, basic_block_def*, basic_block_def*) /home/apinski/src/upstream-gcc-git/gcc/gcc/gimple-range-cache.cc:1592 0xe039b1 ranger_cache::block_range(vrange&, basic_block_def*, tree_node*, bool) /home/apinski/src/upstream-gcc-git/gcc/gcc/gimple-range-cache.cc:1260 0xdf9776 gimple_ranger::range_on_entry(vrange&, basic_block_def*, tree_node*) /home/apinski/src/upstream-gcc-git/gcc/gcc/gimple-range.cc:164 0xdfcc29 gimple_ranger::range_of_expr(vrange&, tree_node*, gimple*) /home/apinski/src/upstream-gcc-git/gcc/gcc/gimple-range.cc:138 0xd1a334 expand_expr_real_2(separate_ops*, rtx_def*, machine_mode, expand_modifier, gimple*) /home/apinski/src/upstream-gcc-git/gcc/gcc/expr.cc:9969 Thanks, Andrew Pinski --000000000000fb721a060469a58c Content-Type: text/plain; charset="US-ASCII"; name="expand1.diff.txt" Content-Disposition: attachment; filename="expand1.diff.txt" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_lm2q2o2p0 ZGlmZiAtLWdpdCBhL2djYy9jZmdleHBhbmQuY2MgYi9nY2MvY2ZnZXhwYW5kLmNjCmluZGV4IGVk ZjI5MmNmYmU5Li5iOTA4ZDMyOWYxZSAxMDA2NDQKLS0tIGEvZ2NjL2NmZ2V4cGFuZC5jYworKysg Yi9nY2MvY2ZnZXhwYW5kLmNjCkBAIC03NCw2ICs3NCw3IEBAIGFsb25nIHdpdGggR0NDOyBzZWUg dGhlIGZpbGUgQ09QWUlORzMuICBJZiBub3Qgc2VlCiAjaW5jbHVkZSAib3V0cHV0LmgiCiAjaW5j bHVkZSAiYnVpbHRpbnMuaCIKICNpbmNsdWRlICJvcHRzLmgiCisjaW5jbHVkZSAiZ2ltcGxlLXJh bmdlLmgiCiAKIC8qIFNvbWUgc3lzdGVtcyB1c2UgX19tYWluIGluIGEgd2F5IGluY29tcGF0aWJs ZSB3aXRoIGl0cyB1c2UgaW4gZ2NjLCBpbiB0aGVzZQogICAgY2FzZXMgdXNlIHRoZSBtYWNyb3Mg TkFNRV9fTUFJTiB0byBnaXZlIGEgcXVvdGVkIHN5bWJvbCBhbmQgU1lNQk9MX19NQUlOIHRvCkBA IC0zOTgxLDcgKzM5ODIsNyBAQCBleHBhbmRfZ2ltcGxlX3N0bXRfMSAoZ2ltcGxlICpzdG10KQog CSAgICAgICBkb24ndCBkaXJlY3RseSBleHBhbmQgdG8gdGFyZ2V0LiAgKi8KIAkgICAgdGVtcCA9 IG5vbnRlbXBvcmFsIHx8IHByb21vdGVkID8gTlVMTF9SVFggOiB0YXJnZXQ7CiAJICAgIHRlbXAg PSBleHBhbmRfZXhwcl9yZWFsXzIgKCZvcHMsIHRlbXAsIEdFVF9NT0RFICh0YXJnZXQpLAotCQkJ CSAgICAgICBFWFBBTkRfTk9STUFMKTsKKwkJCQkgICAgICAgRVhQQU5EX05PUk1BTCwgc3RtdCk7 CiAKIAkgICAgaWYgKHRlbXAgPT0gdGFyZ2V0KQogCSAgICAgIDsKQEAgLTY2MDYsNiArNjYwNyw5 IEBAIHBhc3NfZXhwYW5kOjpleGVjdXRlIChmdW5jdGlvbiAqZnVuKQogICBydHhfaW5zbiAqdmFy X3NlcSwgKnZhcl9yZXRfc2VxOwogICB1bnNpZ25lZCBpOwogCisgIGlmIChvcHRpbWl6ZSA+PSAy KQorICAgIGVuYWJsZV9yYW5nZXIgKGNmdW4sIGZhbHNlKTsKKwogICB0aW1ldmFyX3B1c2ggKFRW X09VVF9PRl9TU0EpOwogICByZXdyaXRlX291dF9vZl9zc2EgKCZTQSk7CiAgIHRpbWV2YXJfcG9w IChUVl9PVVRfT0ZfU1NBKTsKQEAgLTcwNTQsNiArNzA1OCw5IEBAIHBhc3NfZXhwYW5kOjpleGVj dXRlIChmdW5jdGlvbiAqZnVuKQogCiAgIHRpbWV2YXJfcG9wIChUVl9QT1NUX0VYUEFORCk7CiAK KyAgaWYgKG9wdGltaXplID49IDIpCisgICAgZGlzYWJsZV9yYW5nZXIgKGNmdW4pOworCiAgIHJl dHVybiAwOwogfQogCmRpZmYgLS1naXQgYS9nY2MvZXhwci5jYyBiL2djYy9leHByLmNjCmluZGV4 IDlhMzdiZmYxZmRkLi45MzRmY2JiOWY2MyAxMDA2NDQKLS0tIGEvZ2NjL2V4cHIuY2MKKysrIGIv Z2NjL2V4cHIuY2MKQEAgLTY1LDYgKzY1LDcgQEAgYWxvbmcgd2l0aCBHQ0M7IHNlZSB0aGUgZmls ZSBDT1BZSU5HMy4gIElmIG5vdCBzZWUKICNpbmNsdWRlICJydHgtdmVjdG9yLWJ1aWxkZXIuaCIK ICNpbmNsdWRlICJ0cmVlLXByZXR0eS1wcmludC5oIgogI2luY2x1ZGUgImZsYWdzLmgiCisjaW5j bHVkZSAidmFsdWUtcXVlcnkuaCIKIAogCiAvKiBJZiB0aGlzIGlzIG5vbnplcm8sIHdlIGRvIG5v dCBib3RoZXIgZ2VuZXJhdGluZyBWT0xBVElMRQpAQCAtOTIwNyw3ICs5MjA4LDcgQEAgZXhwYW5k X2V4cHJfZGl2bW9kICh0cmVlX2NvZGUgY29kZSwgbWFjaGluZV9tb2RlIG1vZGUsIHRyZWUgdHJl ZW9wMCwKIAogcnR4CiBleHBhbmRfZXhwcl9yZWFsXzIgKHNlcG9wcyBvcHMsIHJ0eCB0YXJnZXQs IG1hY2hpbmVfbW9kZSB0bW9kZSwKLQkJICAgIGVudW0gZXhwYW5kX21vZGlmaWVyIG1vZGlmaWVy KQorCQkgICAgZW51bSBleHBhbmRfbW9kaWZpZXIgbW9kaWZpZXIsIGdpbXBsZSAqc3RtdCkKIHsK ICAgcnR4IG9wMCwgb3AxLCBvcDIsIHRlbXA7CiAgIHJ0eF9jb2RlX2xhYmVsICpsYWI7CkBAIC05 OTU4LDYgKzk5NTksMjcgQEAgZXhwYW5kX2V4cHJfcmVhbF8yIChzZXBvcHMgb3BzLCBydHggdGFy Z2V0LCBtYWNoaW5lX21vZGUgdG1vZGUsCiAgICAgICBleHBhbmRfb3BlcmFuZHMgKHRyZWVvcDAs IHRyZWVvcDEsCiAJCSAgICAgICB0YXJnZXQsICZvcDAsICZvcDEsIEVYUEFORF9OT1JNQUwpOwog CisgICAgICAvKiBGb3IgTUlOPGEsIDE+IGlmIGEgaGFzIGEgcmFuZ2Ugd2l0aCBhIGxvd2VyIGJv dW5kIG9mIDAsCisgICAgICAgICBqdXN0IGV4cGFuZCBhcyBhICE9IDAgaWYgd2UgY2FuLiAqLwor ICAgICAgaWYgKElOVEVHUkFMX1RZUEVfUCAodHlwZSkKKwkgICYmIG9wMSA9PSBjb25zdDFfcnR4 CisJICAmJiBjb2RlID09IE1JTl9FWFBSKQorCXsKKwkgIHZhbHVlX3JhbmdlIHZyOworCSAgZ2V0 X3JhbmdlX3F1ZXJ5IChjZnVuKS0+cmFuZ2Vfb2ZfZXhwciAodnIsIHRyZWVvcDAsIHN0bXQpOwor CSAgaWYgKHZyLnVuZGVmaW5lZF9wICgpKQorCSAgICB2ci5zZXRfdmFyeWluZyAodHlwZSk7CisJ ICBpZiAodnIubG93ZXJfYm91bmQoKSA9PSAwKQorCSAgICB7CisJICAgICAgcnR4IHRtcCA9IGVt aXRfc3RvcmVfZmxhZ19mb3JjZSAodGFyZ2V0LCBORSwKKwkJCQkJICAgICAgIG9wMCwgY29uc3Qw X3J0eCwKKwkJCQkJICAgICAgIG1vZGUsIHVuc2lnbmVkcCwKKwkJCQkJICAgICAgIDEpOworCSAg ICAgIGlmICh0bXApCisJCXJldHVybiB0bXA7CisJICAgIH0KKwl9CisKICAgICAgIC8qIEZpcnN0 IHRyeSB0byBkbyBpdCB3aXRoIGEgc3BlY2lhbCBNSU4gb3IgTUFYIGluc3RydWN0aW9uLgogCSBJ ZiB0aGF0IGRvZXMgbm90IHdpbiwgdXNlIGEgY29uZGl0aW9uYWwganVtcCB0byBzZWxlY3QgdGhl IHByb3BlcgogCSB2YWx1ZS4gICovCmRpZmYgLS1naXQgYS9nY2MvZXhwci5oIGIvZ2NjL2V4cHIu aAppbmRleCAxMWJmZjUzMTg2Mi4uOGFlYzc2ZTRmMzEgMTAwNjQ0Ci0tLSBhL2djYy9leHByLmgK KysrIGIvZ2NjL2V4cHIuaApAQCAtMjk4LDcgKzI5OCw3IEBAIGV4dGVybiBydHggZXhwYW5kX2V4 cHJfcmVhbCAodHJlZSwgcnR4LCBtYWNoaW5lX21vZGUsCiBleHRlcm4gcnR4IGV4cGFuZF9leHBy X3JlYWxfMSAodHJlZSwgcnR4LCBtYWNoaW5lX21vZGUsCiAJCQkgICAgICAgZW51bSBleHBhbmRf bW9kaWZpZXIsIHJ0eCAqLCBib29sKTsKIGV4dGVybiBydHggZXhwYW5kX2V4cHJfcmVhbF8yIChz ZXBvcHMsIHJ0eCwgbWFjaGluZV9tb2RlLAotCQkJICAgICAgIGVudW0gZXhwYW5kX21vZGlmaWVy KTsKKwkJCSAgICAgICBlbnVtIGV4cGFuZF9tb2RpZmllciwgZ2ltcGxlICogPSBudWxscHRyKTsK IAogLyogR2VuZXJhdGUgY29kZSBmb3IgY29tcHV0aW5nIGV4cHJlc3Npb24gRVhQLgogICAgQW4g cnR4IGZvciB0aGUgY29tcHV0ZWQgdmFsdWUgaXMgcmV0dXJuZWQuICBUaGUgdmFsdWUgaXMgbmV2 ZXIgbnVsbC4K --000000000000fb721a060469a58c Content-Type: application/octet-stream; name="t3.c" Content-Disposition: attachment; filename="t3.c" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_lm2q5t3n1 aW50IGcoaW50IG1pbl9uZWVkX3N0YWxsKQp7CiAgcmV0dXJuICBtaW5fbmVlZF9zdGFsbCA8IDAg PyAxIDogKChtaW5fbmVlZF9zdGFsbCkgPCAoMSkgPyAobWluX25lZWRfc3RhbGwpIDogKDEpKTsK fQo= --000000000000fb721a060469a58c--