From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp-relay-3.sys.kth.se (smtp-relay-3.sys.kth.se [130.237.32.48]) by sourceware.org (Postfix) with ESMTPS id 0407B3858400; Thu, 30 Dec 2021 01:16:57 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 0407B3858400 Received: from exdb3.ug.kth.se (exdb3.ug.kth.se [192.168.32.58]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp-relay-3.sys.kth.se (Postfix) with ESMTPS id 4JPVjd16mGzPRyB; Thu, 30 Dec 2021 02:16:52 +0100 (CET) DKIM-Filter: OpenDKIM Filter v2.11.0 smtp-relay-3.sys.kth.se 4JPVjd16mGzPRyB Received: from exdb6.ug.kth.se (192.168.32.61) by exdb3.ug.kth.se (192.168.32.58) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.14; Thu, 30 Dec 2021 02:16:52 +0100 Received: from exdb6.ug.kth.se ([192.168.32.61]) by exdb6.ug.kth.se ([192.168.32.61]) with mapi id 15.02.0986.014; Thu, 30 Dec 2021 02:16:39 +0100 From: Petter Tomner To: Antoni Boucher , David Malcolm , "jit@gcc.gnu.org" , "gcc-patches@gcc.gnu.org" Subject: SV: [commited] jit: Support for global rvalue initialization and constructors Thread-Topic: [commited] jit: Support for global rvalue initialization and constructors Thread-Index: AQHX8Q7ixdlNbnBpSk+COz6SqDTZPqwziq0AgABe4HuAFi9DgIAAL2MW Date: Thu, 30 Dec 2021 01:16:39 +0000 Message-ID: References: <8c135550d44f43b9b80c2a3a50939128@kth.se> ,<95b9504a2c0f8d255105a278b04a3dcb6cb5dc4e.camel@zoho.com> <54a63e2ec8954573939d4dcad7d3ae12@kth.se>, In-Reply-To: Accept-Language: sv-SE, en-US Content-Language: sv-SE X-MS-Has-Attach: yes X-MS-TNEF-Correlator: x-originating-ip: [192.168.32.250] Content-Type: multipart/mixed; boundary="_002_a479db5b024c4d7fb39bbed104717e91kthse_" MIME-Version: 1.0 X-Spam-Status: No, score=-10.2 required=5.0 tests=BAYES_00, BODY_8BITS, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: jit@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Jit mailing list List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 30 Dec 2021 01:16:59 -0000 --_002_a479db5b024c4d7fb39bbed104717e91kthse_ Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Could you be more specific? I tried the equivalent of: /* int [50] foobar =3D {1,2,3,4}; int [50] foo() { int arr[50]; arr =3D (int [50]){-1,-2,-3,-4,-5,-6}; arr =3D foobar; arr =3D (int [50]){1,2,3,4,5,6}; arr[6] =3D 1234; return arr;} N.B: Not a typo, returning an array. */ in test-local-init-rvalue.c with a global and local "arr" and it ran fine. = (See attachment). Regards, Petter Fr=E5n: Antoni Boucher Skickat: den 29 december 2021 23:45 Till: Petter Tomner; David Malcolm; jit@gcc.gnu.org; gcc-patches@gcc.gnu.or= g =C4mne: Re: [commited] jit: Support for global rvalue initialization and co= nstructors =A0 =20 I realized that trying to do an assignment to an array created by the new array constructor API will result in a "gimplification failed" error: libgccjit.so: error: gimplification failed 0x7fa3a441e5d3 gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*), int) =A0=A0=A0=A0=A0=A0=A0 ../../../gcc/gcc/gimplify.c:15964 0x7fa3a442b1ab gimplify_modify_expr =A0=A0=A0=A0=A0=A0=A0 ../../../gcc/gcc/gimplify.c:5975 0x7fa3a441ac4c gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*), int) =A0=A0=A0=A0=A0=A0=A0 ../../../gcc/gcc/gimplify.c:14951 0x7fa3a441e63c gimplify_stmt(tree_node**, gimple**) =A0=A0=A0=A0=A0=A0=A0 ../../../gcc/gcc/gimplify.c:7026 0x7fa3a441bca3 gimplify_statement_list =A0=A0=A0=A0=A0=A0=A0 ../../../gcc/gcc/gimplify.c:2014 0x7fa3a441bca3 gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*), int) =A0=A0=A0=A0=A0=A0=A0 ../../../gcc/gcc/gimplify.c:15396 0x7fa3a441e63c gimplify_stmt(tree_node**, gimple**) =A0=A0=A0=A0=A0=A0=A0 ../../../gcc/gcc/gimplify.c:7026 0x7fa3a441f000 gimplify_bind_expr =A0=A0=A0=A0=A0=A0=A0 ../../../gcc/gcc/gimplify.c:1427 0x7fa3a441adc6 gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*), int) =A0=A0=A0=A0=A0=A0=A0 ../../../gcc/gcc/gimplify.c:15152 0x7fa3a441e63c gimplify_stmt(tree_node**, gimple**) =A0=A0=A0=A0=A0=A0=A0 ../../../gcc/gcc/gimplify.c:7026 0x7fa3a4420671 gimplify_body(tree_node*, bool) =A0=A0=A0=A0=A0=A0=A0 ../../../gcc/gcc/gimplify.c:16197 0x7fa3a4420b3c gimplify_function_tree(tree_node*) =A0=A0=A0=A0=A0=A0=A0 ../../../gcc/gcc/gimplify.c:16351 0x7fa3a419fe5e gcc::jit::playback::function::postprocess() =A0=A0=A0=A0=A0=A0=A0 ../../../gcc/gcc/jit/jit-playback.c:1909 0x7fa3a41a13dc gcc::jit::playback::context::replay() =A0=A0=A0=A0=A0=A0=A0 ../../../gcc/gcc/jit/jit-playback.c:3250 Should an assignment to such a value be supported? Le mercredi 15 d=E9cembre 2021 =E0 19:19 +0000, Petter Tomner a =E9crit=A0: > Oh ye I accidentally dropped that in the merge thank you. >=20 > I believe there is an implicit "global:" in the top of each version > scope, so it shouldn't > matter other than looking a bit deviant. >=20 > Regards, > Petter >=20 > Fr=E5n: Antoni Boucher > Skickat: den 15 december 2021 15:19 > Till: Petter Tomner; David Malcolm; jit@gcc.gnu.org; > gcc-patches@gcc.gnu.org > =C4mne: Re: [commited] jit: Support for global rvalue initialization > and constructors > =A0=A0=A0=20 > Hi Petter. > I believe you have forgotten the line `global:` in the file > `gcc/jit/libgccjit.map`. > I'm not sure what this line does, but it is there for all other ABI. > David: What do you think? > Regards. >=20 > Le mardi 14 d=E9cembre 2021 =E0 17:22 +0000, Petter Tomner via Jit a > =E9crit=A0: > > Hi! > >=20 > > I have pushed the patch for rvalue initialization and ctors for > > libgccjit, for ABI 19. > >=20 > > Please see attached patch. > >=20 > > Regards, > > Petter > > =A0=A0=A0=A0=A0=A0=A0=A0=A0=20 >=20 > =A0=A0=A0=20 = --_002_a479db5b024c4d7fb39bbed104717e91kthse_ Content-Type: text/x-patch; name="bug_test.patch" Content-Description: bug_test.patch Content-Disposition: attachment; filename="bug_test.patch"; size=3553; creation-date="Thu, 30 Dec 2021 01:09:59 GMT"; modification-date="Thu, 30 Dec 2021 01:09:59 GMT" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvaml0LmRnL3Rlc3QtbG9jYWwtaW5pdC1ydmFsdWUu YyBiL2djYy90ZXN0c3VpdGUvaml0LmRnL3Rlc3QtbG9jYWwtaW5pdC1ydmFsdWUuYwppbmRleCAx ZDc0Njc5YzA3Yy4uMzA4ZjVjMzk1MzggMTAwNjQ0Ci0tLSBhL2djYy90ZXN0c3VpdGUvaml0LmRn L3Rlc3QtbG9jYWwtaW5pdC1ydmFsdWUuYworKysgYi9nY2MvdGVzdHN1aXRlL2ppdC5kZy90ZXN0 LWxvY2FsLWluaXQtcnZhbHVlLmMKQEAgLTQ1NiwxMiArNDU2LDQyIEBAIGNyZWF0ZV9jb2RlIChn Y2Nfaml0X2NvbnRleHQgKmN0eHQsIHZvaWQgKnVzZXJfZGF0YSkKIAkJCQkgICAwLAogCQkJCSAg IGdjY19qaXRfbHZhbHVlX2FzX3J2YWx1ZShsb2NhbCkpOwogICB9Ci0gIHsgLyogaW50WzUwXSBm b28oKSB7IGludCBhcnJbNTBdOworICB7IC8qIGludCBbNTBdIGZvb2JhciA9IHsxLDIsMyw0fTsK KyAgICAgICBpbnRbNTBdIGZvbygpIHsgaW50IGFycls1MF07CisJCSAgICAgICBhcnIgPSAoaW50 IFs1MF0pey0xLC0yLC0zLC00LC01LC02fTsKKwkJICAgICAgIGFyciA9IGZvb2JhcjsKIAkJICAg ICAgIGFyciA9IChpbnQgWzUwXSl7MSwyLDMsNCw1LDZ9OworCQkgICAgICAgYXJyWzZdID0gMTIz NDsKIAkJICAgICAgIHJldHVybiBhcnI7fQogCiAgICAgICAgTi5COiBOb3QgYSB0eXBvLCByZXR1 cm5pbmcgYW4gYXJyYXkuCiAgICAgICovCisKKyAgICBnY2Nfaml0X3J2YWx1ZSAqcnZhbF8xID0g Z2NjX2ppdF9jb250ZXh0X25ld19ydmFsdWVfZnJvbV9pbnQgKAorICAgICAgY3R4dCwgaW50X3R5 cGUsIDEpOworICAgIGdjY19qaXRfcnZhbHVlICpydmFsXzIgPSBnY2Nfaml0X2NvbnRleHRfbmV3 X3J2YWx1ZV9mcm9tX2ludCAoCisgICAgICBjdHh0LCBpbnRfdHlwZSwgMik7CisgICAgZ2NjX2pp dF9ydmFsdWUgKnJ2YWxfMyA9IGdjY19qaXRfY29udGV4dF9uZXdfcnZhbHVlX2Zyb21faW50ICgK KyAgICAgIGN0eHQsIGludF90eXBlLCAzKTsKKyAgICBnY2Nfaml0X3J2YWx1ZSAqcnZhbF80ID0g Z2NjX2ppdF9jb250ZXh0X25ld19ydmFsdWVfZnJvbV9pbnQgKAorICAgICAgY3R4dCwgaW50X3R5 cGUsIDQpOworCisgICAgZ2NjX2ppdF9ydmFsdWUgKnZhbHVlczRbXSA9IHtydmFsXzEsIHJ2YWxf MiwgcnZhbF8zLCBydmFsXzR9OworCisgICAgZ2NjX2ppdF9ydmFsdWUgKmN0b3IzID0KKyAgICAg IGdjY19qaXRfY29udGV4dF9uZXdfYXJyYXlfY29uc3RydWN0b3IgKGN0eHQsCisJCQkJCSAgICAg MCwKKwkJCQkJICAgICBpbnQ1MGFycl90eXBlLAorCQkJCQkgICAgIDQsCisJCQkJCSAgICAgdmFs dWVzNCk7CisgICAgZ2NjX2ppdF9sdmFsdWUgKmdsb2JhbF9pbnRhcnJfMTIzNCA9CisgICAgICBn Y2Nfaml0X2NvbnRleHRfbmV3X2dsb2JhbCAoY3R4dCwgTlVMTCwKKwkJCQkgIEdDQ19KSVRfR0xP QkFMX0VYUE9SVEVELAorCQkJCSAgaW50NTBhcnJfdHlwZSwKKwkJCQkgICJmb29iYXIiKTsKKwor ICAgIGdjY19qaXRfZ2xvYmFsX3NldF9pbml0aWFsaXplcl9ydmFsdWUgKGdsb2JhbF9pbnRhcnJf MTIzNCwgY3RvcjMpOworCiAgICAgZ2NjX2ppdF9mdW5jdGlvbiAqZm4gPQogICAgICAgZ2NjX2pp dF9jb250ZXh0X25ld19mdW5jdGlvbiAoY3R4dCwKIAkJCQkgICAgMCwKQEAgLTQ3MSwxMSArNTAx LDE5IEBAIGNyZWF0ZV9jb2RlIChnY2Nfaml0X2NvbnRleHQgKmN0eHQsIHZvaWQgKnVzZXJfZGF0 YSkKIAkJCQkgICAgMCwKIAkJCQkgICAgMCwKIAkJCQkgICAgMCk7CisKICAgICBnY2Nfaml0X2x2 YWx1ZSAqbG9jYWwgPQogICAgICAgZ2NjX2ppdF9mdW5jdGlvbl9uZXdfbG9jYWwgKGZuLAogCQkJ CSAgMCwKIAkJCQkgIGludDUwYXJyX3R5cGUsCiAJCQkJICAibG9jYWwiKTsKKyAgICAvKgorICAg IGdjY19qaXRfbHZhbHVlICpsb2NhbCA9CisgICAgICBnY2Nfaml0X2NvbnRleHRfbmV3X2dsb2Jh bCAoY3R4dCwKKwkJCQkgIDAsIEdDQ19KSVRfR0xPQkFMX0VYUE9SVEVELAorCQkJCSAgaW50NTBh cnJfdHlwZSwKKwkJCQkgICJsb2NhbCIpOworICAgICovCiAgICAgZ2NjX2ppdF9ibG9jayAqYmxv Y2sgPSBnY2Nfaml0X2Z1bmN0aW9uX25ld19ibG9jayAoZm4sICJzdGFydCIpOwogCiAgICAgZ2Nj X2ppdF9ydmFsdWUgKnZhbHVlc1s2XTsKQEAgLTQ5MCw4ICs1MjgsMzcgQEAgY3JlYXRlX2NvZGUg KGdjY19qaXRfY29udGV4dCAqY3R4dCwgdm9pZCAqdXNlcl9kYXRhKQogCSA2LAogCSB2YWx1ZXMp OwogCisgICAgZ2NjX2ppdF9ydmFsdWUgKnZhbHVlczJbNl07CisKKyAgICBmb3IgKGludCBpID0g MDsgaSA8IDY7IGkrKykKKyAgICAgIHZhbHVlczJbaV0gPSBnY2Nfaml0X2NvbnRleHRfbmV3X3J2 YWx1ZV9mcm9tX2ludCAoY3R4dCwgaW50X3R5cGUsIC1pIC0gMSk7CisKKyAgICBnY2Nfaml0X3J2 YWx1ZSAqY3RvcjIgPSBnY2Nfaml0X2NvbnRleHRfbmV3X2FycmF5X2NvbnN0cnVjdG9yICgKKwkg Y3R4dCwKKwkgMCwKKwkgaW50NTBhcnJfdHlwZSwKKwkgNiwKKwkgdmFsdWVzMik7CisKKyAgICBn Y2Nfaml0X2Jsb2NrX2FkZF9hc3NpZ25tZW50ICgKKyAgICAgIGJsb2NrLCAwLCBsb2NhbCwKKyAg ICAgIGdjY19qaXRfbHZhbHVlX2FzX3J2YWx1ZSAoZ2xvYmFsX2ludGFycl8xMjM0KSk7CisgICAg Z2NjX2ppdF9ibG9ja19hZGRfYXNzaWdubWVudCAoYmxvY2ssIDAsIGxvY2FsLCBjdG9yMik7CiAg ICAgZ2NjX2ppdF9ibG9ja19hZGRfYXNzaWdubWVudCAoYmxvY2ssIDAsIGxvY2FsLCBjdG9yKTsK IAorICAgIGdjY19qaXRfbHZhbHVlICphcnJfYWNjZXNzID0KKyAgICAgIGdjY19qaXRfY29udGV4 dF9uZXdfYXJyYXlfYWNjZXNzIChjdHh0LCAwLAorCQkJCQlnY2Nfaml0X2x2YWx1ZV9hc19ydmFs dWUgKGxvY2FsKSwKKwkJCQkJZ2NjX2ppdF9jb250ZXh0X25ld19ydmFsdWVfZnJvbV9pbnQgKAor CQkJCQkgIGN0eHQsCisJCQkJCSAgaW50X3R5cGUsCisJCQkJCSAgNikpOworICAgIGdjY19qaXRf YmxvY2tfYWRkX2Fzc2lnbm1lbnQgKGJsb2NrLCAwLCBhcnJfYWNjZXNzLAorCQkJCSAgZ2NjX2pp dF9jb250ZXh0X25ld19ydmFsdWVfZnJvbV9pbnQgKAorCQkJCSAgICBjdHh0LAorCQkJCSAgICBp bnRfdHlwZSwKKwkJCQkgICAgMTIzNCkpOworCiAgICAgZ2NjX2ppdF9ibG9ja19lbmRfd2l0aF9y ZXR1cm4gKGJsb2NrLAogCQkJCSAgIDAsCiAJCQkJICAgZ2NjX2ppdF9sdmFsdWVfYXNfcnZhbHVl KGxvY2FsKSk7CkBAIC02OTYsNyArNzYzLDcgQEAgdmVyaWZ5X2NvZGUgKGdjY19qaXRfY29udGV4 dCAqY3R4dCwgZ2NjX2ppdF9yZXN1bHQgKnJlc3VsdCkKICAgICBzdHJ1Y3QgaW50NTBhcnIgKCpm bikgKHZvaWQpID0KICAgICAgIGdjY19qaXRfcmVzdWx0X2dldF9jb2RlIChyZXN1bHQsICJmbl9p bnQ1MGFycl8xMjNzIik7CiAgICAgc3RydWN0IGludDUwYXJyIGFucyA9IGZuICgpOwotICAgIGlu dCBrZXlbNTBdID0gezEsMiwzLDQsNSw2fTsKKyAgICBpbnQga2V5WzUwXSA9IHsxLDIsMyw0LDUs NiwgMTIzNH07CiAKICAgICBDSEVDS19WQUxVRSAobWVtY21wIChhbnMuYXJyLCBrZXksIHNpemVv ZiAoa2V5KSksIDApOwogICB9Cg== --_002_a479db5b024c4d7fb39bbed104717e91kthse_--