aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
diff options
context:
space:
mode:
authorDuncan P. N. Exon Smith <dexonsmith@apple.com>2015-01-19 18:36:18 +0000
committerDuncan P. N. Exon Smith <dexonsmith@apple.com>2015-01-19 18:36:18 +0000
commitf13404536548c6de78369726250fd252f534808b (patch)
tree8c0948717fd89f26554bfbce0bfc14f432b9eb48 /llvm/lib/Bitcode/Reader/BitcodeReader.cpp
parent9327bdad2f784a72e32fa97f7b3ca21d5d25082c (diff)
downloadllvm-f13404536548c6de78369726250fd252f534808b.zip
llvm-f13404536548c6de78369726250fd252f534808b.tar.gz
llvm-f13404536548c6de78369726250fd252f534808b.tar.bz2
IR: Use an enum to describe Metadata storage, NFC
More clearly describe the type of storage used for `Metadata`. - `Uniqued`: uniqued, stored in the context. - `Distinct`: distinct, stored in the context. - `Temporary`: not owned by anyone. This is the first in a series of commits to fix a design problem with `MDNodeFwdDecl` that I need to solve for PR22235. While `MDNodeFwdDecl` works well as a forward declaration, we use `MDNode::getTemporary()` for more than forward declarations -- we also need to create early versions of nodes (with fields not filled in) that we'll fill out later (see `DIBuilder::finalize()` and `CGDebugInfo::finalize()` for examples). This was a blind spot I had when I introduced `MDNodeFwdDecl` (which David Blaikie (indirectly) highlighted in an unrelated review [1]). [1]: http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20150112/252381.html In general, we need `MDTuple::getTemporary()` to give a temporary tuple (like `MDNodeFwdDecl`), `MDLocation::getTemporary()` to give a temporary location, and (the problem at hand) `GenericDebugMDNode::getTemporary()` to give a temporary generic debug node. So I need to fold the idea of "temporary" nodes back into `UniquableMDNode`. (More commits to follow as I refactor.) llvm-svn: 226481
Diffstat (limited to 'llvm/lib/Bitcode/Reader/BitcodeReader.cpp')
0 files changed, 0 insertions, 0 deletions