From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 22319 invoked by alias); 22 May 2015 14:12:41 -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 21533 invoked by uid 89); 22 May 2015 14:12:40 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-4.1 required=5.0 tests=AWL,BAYES_50,KAM_LAZY_DOMAIN_SECURITY,SPF_HELO_PASS,T_RP_MATCHES_RCVD autolearn=no version=3.3.2 X-HELO: mx1.redhat.com Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES256-GCM-SHA384 encrypted) ESMTPS; Fri, 22 May 2015 14:12:39 +0000 Received: from int-mx11.intmail.prod.int.phx2.redhat.com (int-mx11.intmail.prod.int.phx2.redhat.com [10.5.11.24]) by mx1.redhat.com (Postfix) with ESMTPS id 12A1AAB872; Fri, 22 May 2015 14:12:38 +0000 (UTC) Received: from reynosa.quesejoda.com (unused [10.10.50.155] (may be forged)) by int-mx11.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id t4MECaqF030229; Fri, 22 May 2015 10:12:37 -0400 Message-ID: <555F3954.2010203@redhat.com> Date: Fri, 22 May 2015 14:29:00 -0000 From: Aldy Hernandez User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.6.0 MIME-Version: 1.0 To: Richard Biener CC: Jan Hubicka , Jason Merrill , gcc-patches Subject: Re: [patch 10/10] debug-early merge: compiler proper References: <554C060F.6000609@redhat.com> <555CAD35.5040304@redhat.com> In-Reply-To: Content-Type: multipart/mixed; boundary="------------090500070306050802090109" X-SW-Source: 2015-05/txt/msg02127.txt.bz2 This is a multi-part message in MIME format. --------------090500070306050802090109 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Content-length: 2197 On 05/22/2015 07:23 AM, Richard Biener wrote: > On Wed, May 20, 2015 at 5:50 PM, Aldy Hernandez wrote: >> On 05/18/2015 06:56 AM, Richard Biener wrote: >>> diff --git a/gcc/tree-core.h b/gcc/tree-core.h >>> index ad1bb23..2a9f417 100644 >>> --- a/gcc/tree-core.h >>> +++ b/gcc/tree-core.h >>> @@ -1334,6 +1334,9 @@ struct GTY(()) tree_block { >>> tree abstract_origin; >>> tree fragment_origin; >>> tree fragment_chain; >>> + >>> + /* Pointer to the DWARF lexical block. */ >>> + struct die_struct *die; >>> }; >>> >>> struct GTY(()) tree_type_common { >>> >>> Ick - do we need this? dwarf2out.c has a hashtable to map blocks to >>> DIEs (which you don't remove in turn). >> >> >> We need a way to reference the early created DIE from late debugging, and we >> can't use block_map because it gets cloberred across functions. It's >> currently being released in late debug (dwarf2out_function_decl), >> that's why you see it not set to NULL in dwarf2out_c_finalize. >> >> Also, it uses BLOCK_NUMBERs, which according to the documentation in >> tree.h, are not guaranteed to be unique across functions. >> >> As Honza mentioned, we're already using a DIE map in types through >> TYPE_SYMTAB_DIE. See lookup_type_die() in dwarf2out.c. >> >> Could we leave this as is? > > But why then not eliminate block_map in favor of using the new ->die member? > Having both looks very odd to me. Oh, I would love to. I just didn't want to rip things apart elsewhere until I was sure you guys were on board with the approach. > Can you cook up a patch for trunk adding that field to tree_block and removing > the block_map map in favor of sth like what we do for > lookup_type_die/equate_type_number_to_die > and TYPE_SYMTAB_DIE? Absolutely! The attached patch removes block_map in favor of BLOCK_DIE. I did not add lookup_block_die/equate_block_number_to_die abstractions because I think BLOCK_DIE is pretty straightforward. The attached patch is against mainline. I also ported it to the branch for testing, and neither the branch nor mainline exhibit any regressions. Tested on x86-64 Linux with --enable-languages=all,go,ada. OK for trunk? Aldy --------------090500070306050802090109 Content-Type: text/plain; charset=UTF-8; name="curr" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="curr" Content-length: 5218 Y29tbWl0IDlhODJmZjdiMDQ0YThkMTdlYWFhZWM1ZWFlYzNlNzNmODM2MjI0 ZGYKQXV0aG9yOiBBbGR5IEhlcm5hbmRleiA8YWxkeWhAcmVkaGF0LmNvbT4K RGF0ZTogICBGcmkgTWF5IDIyIDEwOjA3OjE3IDIwMTUgLTA0MDAKCiAgICAJ KiBkd2FyZjJvdXQuYzogUmVtb3ZlIGJsb2NrX21hcC4KICAgIAkoZ2VuX2Nh bGxfc2l0ZV9kaWUpOiBSZXBsYWNlIGJsb2NrX21hcCB1c2Ugd2l0aCBCTE9D S19ESUUuCiAgICAJKGdlbl9sZXhpY2FsX2Jsb2NrX2RpZSk6IFNhbWUuCiAg ICAJKGR3YXJmMm91dF9mdW5jdGlvbl9kZWNsKTogUmVtb3ZlIGJsb2NrX21h cCB1c2UuCiAgICAJKGR3YXJmMm91dF9jX2ZpbmFsaXplKTogU2FtZS4KICAg IAkqIHRyZWUtY29yZS5oIChzdHJ1Y3QgdHJlZV9ibG9jayk6IEFkZCBkaWUg ZmllbGQuCiAgICAJKiB0cmVlLmggKEJMT0NLX0RJRSk6IE5ldy4KCmRpZmYg LS1naXQgYS9nY2MvZHdhcmYyb3V0LmMgYi9nY2MvZHdhcmYyb3V0LmMKaW5k ZXggY2M3YWM4NC4uMTVjNTQ1ZSAxMDA2NDQKLS0tIGEvZ2NjL2R3YXJmMm91 dC5jCisrKyBiL2djYy9kd2FyZjJvdXQuYwpAQCAtMjkwOCwxMCArMjkwOCw2 IEBAIHN0YXRpYyBpbnQgY2FsbF9zaXRlX2NvdW50ID0gLTE7CiAvKiBOdW1i ZXIgb2YgdGFpbCBjYWxsIHNpdGVzIGluIHRoZSBjdXJyZW50IGZ1bmN0aW9u LiAgKi8KIHN0YXRpYyBpbnQgdGFpbF9jYWxsX3NpdGVfY291bnQgPSAtMTsK IAotLyogVmVjdG9yIG1hcHBpbmcgYmxvY2sgbnVtYmVycyB0byBEV19UQUdf e2xleGljYWxfYmxvY2ssaW5saW5lZF9zdWJyb3V0aW5lfQotICAgRElFcy4g ICovCi1zdGF0aWMgdmVjPGR3X2RpZV9yZWY+IGJsb2NrX21hcDsKLQogLyog QSBjYWNoZWQgbG9jYXRpb24gbGlzdC4gICovCiBzdHJ1Y3QgR1RZICgoZm9y X3VzZXIpKSBjYWNoZWRfZHdfbG9jX2xpc3RfZGVmIHsKICAgLyogVGhlIERF Q0xfVUlEIG9mIHRoZSBkZWNsIHRoYXQgdGhpcyBlbnRyeSBkZXNjcmliZXMu ICAqLwpAQCAtMTgzNjgsOCArMTgzNjQsNyBAQCBnZW5fY2FsbF9zaXRlX2Rp ZSAodHJlZSBkZWNsLCBkd19kaWVfcmVmIHN1YnJfZGllLAogCSAmJiBibG9j ayAhPSBERUNMX0lOSVRJQUwgKGRlY2wpCiAJICYmIFRSRUVfQ09ERSAoYmxv Y2spID09IEJMT0NLKQogICAgIHsKLSAgICAgIGlmIChibG9ja19tYXAubGVu Z3RoICgpID4gQkxPQ0tfTlVNQkVSIChibG9jaykpCi0Jc3RtdF9kaWUgPSBi bG9ja19tYXBbQkxPQ0tfTlVNQkVSIChibG9jayldOworICAgICAgc3RtdF9k aWUgPSBCTE9DS19ESUUgKGJsb2NrKTsKICAgICAgIGlmIChzdG10X2RpZSkK IAlicmVhazsKICAgICAgIGJsb2NrID0gQkxPQ0tfU1VQRVJDT05URVhUIChi bG9jayk7CkBAIC0xOTQ2OSwxMSArMTk0NjQsNyBAQCBnZW5fbGV4aWNhbF9i bG9ja19kaWUgKHRyZWUgc3RtdCwgZHdfZGllX3JlZiBjb250ZXh0X2RpZSkK ICAgZHdfZGllX3JlZiBzdG10X2RpZSA9IG5ld19kaWUgKERXX1RBR19sZXhp Y2FsX2Jsb2NrLCBjb250ZXh0X2RpZSwgc3RtdCk7CiAKICAgaWYgKGNhbGxf YXJnX2xvY2F0aW9ucykKLSAgICB7Ci0gICAgICBpZiAoYmxvY2tfbWFwLmxl bmd0aCAoKSA8PSBCTE9DS19OVU1CRVIgKHN0bXQpKQotCWJsb2NrX21hcC5z YWZlX2dyb3dfY2xlYXJlZCAoQkxPQ0tfTlVNQkVSIChzdG10KSArIDEpOwot ICAgICAgYmxvY2tfbWFwW0JMT0NLX05VTUJFUiAoc3RtdCldID0gc3RtdF9k aWU7Ci0gICAgfQorICAgIEJMT0NLX0RJRSAoc3RtdCkgPSBzdG10X2RpZTsK IAogICBpZiAoISBCTE9DS19BQlNUUkFDVCAoc3RtdCkgJiYgVFJFRV9BU01f V1JJVFRFTiAoc3RtdCkpCiAgICAgYWRkX2hpZ2hfbG93X2F0dHJpYnV0ZXMg KHN0bXQsIHN0bXRfZGllKTsKQEAgLTE5NTA2LDExICsxOTQ5Nyw3IEBAIGdl bl9pbmxpbmVkX3N1YnJvdXRpbmVfZGllICh0cmVlIHN0bXQsIGR3X2RpZV9y ZWYgY29udGV4dF9kaWUpCiAJPSBuZXdfZGllIChEV19UQUdfaW5saW5lZF9z dWJyb3V0aW5lLCBjb250ZXh0X2RpZSwgc3RtdCk7CiAKICAgICAgIGlmIChj YWxsX2FyZ19sb2NhdGlvbnMpCi0JewotCSAgaWYgKGJsb2NrX21hcC5sZW5n dGggKCkgPD0gQkxPQ0tfTlVNQkVSIChzdG10KSkKLQkgICAgYmxvY2tfbWFw LnNhZmVfZ3Jvd19jbGVhcmVkIChCTE9DS19OVU1CRVIgKHN0bXQpICsgMSk7 Ci0JICBibG9ja19tYXBbQkxPQ0tfTlVNQkVSIChzdG10KV0gPSBzdWJyX2Rp ZTsKLQl9CisJQkxPQ0tfRElFIChzdG10KSA9IHN1YnJfZGllOwogICAgICAg YWRkX2Fic3RyYWN0X29yaWdpbl9hdHRyaWJ1dGUgKHN1YnJfZGllLCBkZWNs KTsKICAgICAgIGlmIChUUkVFX0FTTV9XUklUVEVOIChzdG10KSkKICAgICAg ICAgYWRkX2hpZ2hfbG93X2F0dHJpYnV0ZXMgKHN0bXQsIHN1YnJfZGllKTsK QEAgLTIxNDA3LDcgKzIxMzk0LDYgQEAgZHdhcmYyb3V0X2Z1bmN0aW9uX2Rl Y2wgKHRyZWUgZGVjbCkKICAgY2FsbF9hcmdfbG9jX2xhc3QgPSBOVUxMOwog ICBjYWxsX3NpdGVfY291bnQgPSAtMTsKICAgdGFpbF9jYWxsX3NpdGVfY291 bnQgPSAtMTsKLSAgYmxvY2tfbWFwLnJlbGVhc2UgKCk7CiAgIGRlY2xfbG9j X3RhYmxlLT5lbXB0eSAoKTsKICAgY2FjaGVkX2R3X2xvY19saXN0X3RhYmxl LT5lbXB0eSAoKTsKIH0KQEAgLTI1MDA4LDcgKzI0OTk0LDYgQEAgZHdhcmYy b3V0X2NfZmluYWxpemUgKHZvaWQpCiAgIGNhbGxfYXJnX2xvY19sYXN0ID0g TlVMTDsKICAgY2FsbF9zaXRlX2NvdW50ID0gLTE7CiAgIHRhaWxfY2FsbF9z aXRlX2NvdW50ID0gLTE7Ci0gIC8vYmxvY2tfbWFwID0gTlVMTDsKICAgY2Fj aGVkX2R3X2xvY19saXN0X3RhYmxlID0gTlVMTDsKICAgYWJicmV2X2RpZV90 YWJsZSA9IE5VTEw7CiAgIGFiYnJldl9kaWVfdGFibGVfYWxsb2NhdGVkID0g MDsKZGlmZiAtLWdpdCBhL2djYy90cmVlLWNvcmUuaCBiL2djYy90cmVlLWNv cmUuaAppbmRleCBhZDFiYjIzLi4yYTlmNDE3IDEwMDY0NAotLS0gYS9nY2Mv dHJlZS1jb3JlLmgKKysrIGIvZ2NjL3RyZWUtY29yZS5oCkBAIC0xMzM0LDYg KzEzMzQsOSBAQCBzdHJ1Y3QgR1RZKCgpKSB0cmVlX2Jsb2NrIHsKICAgdHJl ZSBhYnN0cmFjdF9vcmlnaW47CiAgIHRyZWUgZnJhZ21lbnRfb3JpZ2luOwog ICB0cmVlIGZyYWdtZW50X2NoYWluOworCisgIC8qIFBvaW50ZXIgdG8gdGhl IERXQVJGIGxleGljYWwgYmxvY2suICAqLworICBzdHJ1Y3QgZGllX3N0cnVj dCAqZGllOwogfTsKIAogc3RydWN0IEdUWSgoKSkgdHJlZV90eXBlX2NvbW1v biB7CmRpZmYgLS1naXQgYS9nY2MvdHJlZS5oIGIvZ2NjL3RyZWUuaAppbmRl eCAyYmFjNjk4Li5hZDMyYWYwIDEwMDY0NAotLS0gYS9nY2MvdHJlZS5oCisr KyBiL2djYy90cmVlLmgKQEAgLTE1ODksNiArMTU4OSw3IEBAIGV4dGVybiB2 b2lkIHByb3RlY3RlZF9zZXRfZXhwcl9sb2NhdGlvbiAodHJlZSwgbG9jYXRp b25fdCk7CiAjZGVmaW5lIEJMT0NLX0NIQUlOKE5PREUpIChCTE9DS19DSEVD SyAoTk9ERSktPmJsb2NrLmNoYWluKQogI2RlZmluZSBCTE9DS19BQlNUUkFD VF9PUklHSU4oTk9ERSkgKEJMT0NLX0NIRUNLIChOT0RFKS0+YmxvY2suYWJz dHJhY3Rfb3JpZ2luKQogI2RlZmluZSBCTE9DS19BQlNUUkFDVChOT0RFKSAo QkxPQ0tfQ0hFQ0sgKE5PREUpLT5ibG9jay5hYnN0cmFjdF9mbGFnKQorI2Rl ZmluZSBCTE9DS19ESUUoTk9ERSkgKEJMT0NLX0NIRUNLIChOT0RFKS0+Ymxv Y2suZGllKQogCiAvKiBUcnVlIGlmIEJMT0NLIGhhcyB0aGUgc2FtZSByYW5n ZXMgYXMgaXRzIEJMT0NLX1NVUEVSQ09OVEVYVC4gICovCiAjZGVmaW5lIEJM T0NLX1NBTUVfUkFOR0UoTk9ERSkgKEJMT0NLX0NIRUNLIChOT0RFKS0+YmFz ZS51LmJpdHMubmFtZWxlc3NfZmxhZykK --------------090500070306050802090109--