summaryrefslogtreecommitdiffstats
path: root/llvm/test/DebugInfo/cu-range-hole.ll
diff options
context:
space:
mode:
authorDuncan P. N. Exon Smith <dexonsmith@apple.com>2015-01-14 21:58:17 +0000
committerDuncan P. N. Exon Smith <dexonsmith@apple.com>2015-01-14 21:58:17 +0000
commite16d58751510fe3eefa95d0fbb6ec5f2cc4bc63f (patch)
tree39a3bd4801e4f365f26c727f59d893725a1cf6ac /llvm/test/DebugInfo/cu-range-hole.ll
parente5f997e551f62cbaa88333259c4d8f0c9272207f (diff)
downloadbcm5719-llvm-e16d58751510fe3eefa95d0fbb6ec5f2cc4bc63f.tar.gz
bcm5719-llvm-e16d58751510fe3eefa95d0fbb6ec5f2cc4bc63f.zip
IR: Drop metadata references more aggressively during teardown
Sometimes teardown happens before the debug info graph is complete (e.g., when clang throws an error). In that case, `MDNode`s will still have RAUW, so deleting constants that the `MDNode`s point at will be relatively expensive -- it'll cause re-uniquing all up the chain (what I've been referring to as "teardown madness"). So, drop references *before* deleting constants. We need to drop a few more references now: the metadata side of the metadata/value bridges needs to be dropped off the cliff along with the rest of it (previously, the bridges were cleaned before we did anything with the `MDNode`s). There's no real functionality change here -- state before and after `LLVMContextImpl::~LLVMContextImpl()` is unchanged -- so no testcase. llvm-svn: 226044
Diffstat (limited to 'llvm/test/DebugInfo/cu-range-hole.ll')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud