diff options
author | Duncan P. N. Exon Smith <dexonsmith@apple.com> | 2015-02-28 23:48:02 +0000 |
---|---|---|
committer | Duncan P. N. Exon Smith <dexonsmith@apple.com> | 2015-02-28 23:48:02 +0000 |
commit | 9c3b89448a0b7c6b122e80b36d287317e75d6ac3 (patch) | |
tree | 9bafc9930696c88e6827b974b5271bfe670a7950 /llvm/lib/Object/IRObjectFile.cpp | |
parent | db962e2afb6d23acb8c4509b0ee431eb267e7a85 (diff) | |
download | llvm-9c3b89448a0b7c6b122e80b36d287317e75d6ac3.zip llvm-9c3b89448a0b7c6b122e80b36d287317e75d6ac3.tar.gz llvm-9c3b89448a0b7c6b122e80b36d287317e75d6ac3.tar.bz2 |
DebugInfo: Use TempMDNode in DIDescriptor::replaceAllUsesWith()
Start using `TempMDNode` in `DIDescriptor::replaceAllUsesWith()`
(effectively `std::unique_ptr<MDNode, MDNode::deleteTemporary>`).
Besides making ownership more explicit, this prepares for when
`DIDescriptor` refers to nodes that are *not* `MDTuple`. The old logic
for "replacing" a node with itself used `MDNode::get()` to return a new
(uniqued) `MDTuple`, while the new logic just defers to
`MDNode::replaceWithUniqued()` (which also typically saves an allocation
and RAUW traffic by mutating the temporary in place).
llvm-svn: 230879
Diffstat (limited to 'llvm/lib/Object/IRObjectFile.cpp')
0 files changed, 0 insertions, 0 deletions