Duncan P. N. Exon Smith 0294f639d2 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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@226044 91177308-0d34-0410-b5e6-96231b3b80d8
2015-01-14 21:58:17 +00:00
..
2014-07-18 15:51:28 +00:00
2015-01-13 03:46:47 +00:00
2014-06-27 18:19:56 +00:00
2014-12-03 02:08:38 +00:00
2014-06-27 18:19:56 +00:00
2014-11-05 01:36:22 +00:00
2013-11-15 01:34:59 +00:00
2014-11-11 21:30:22 +00:00
2014-12-09 18:38:53 +00:00
2015-01-06 23:00:37 +00:00
2014-12-09 18:38:53 +00:00
2015-01-13 20:44:56 +00:00
2014-11-24 20:44:36 +00:00
2014-12-09 18:38:53 +00:00
2014-04-29 13:21:05 +00:00