diff options
author | Dan Gohman <gohman@apple.com> | 2010-08-20 22:02:26 +0000 |
---|---|---|
committer | Dan Gohman <gohman@apple.com> | 2010-08-20 22:02:26 +0000 |
commit | 16a5d98c3ad695cc5a181b2f495324ced027e7be (patch) | |
tree | 1673dcfeecd28b5f499fe4325d181336a2ad66fc /llvm/lib/Bitcode/Reader/BitcodeReader.cpp | |
parent | 662f05a035a0443a9f0c6b9f75309373c7da7792 (diff) | |
download | bcm5719-llvm-16a5d98c3ad695cc5a181b2f495324ced027e7be.tar.gz bcm5719-llvm-16a5d98c3ad695cc5a181b2f495324ced027e7be.zip |
Introduce a new temporary MDNode concept. Temporary MDNodes are
not part of the IR, are not uniqued, and may be safely RAUW'd.
This replaces a variety of alternate mechanisms for achieving
the same effect.
llvm-svn: 111681
Diffstat (limited to 'llvm/lib/Bitcode/Reader/BitcodeReader.cpp')
-rw-r--r-- | llvm/lib/Bitcode/Reader/BitcodeReader.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/llvm/lib/Bitcode/Reader/BitcodeReader.cpp b/llvm/lib/Bitcode/Reader/BitcodeReader.cpp index 8f999a68758..2010468824c 100644 --- a/llvm/lib/Bitcode/Reader/BitcodeReader.cpp +++ b/llvm/lib/Bitcode/Reader/BitcodeReader.cpp @@ -333,9 +333,9 @@ void BitcodeReaderMDValueList::AssignValue(Value *V, unsigned Idx) { } // If there was a forward reference to this value, replace it. - Value *PrevVal = OldV; + MDNode *PrevVal = cast<MDNode>(OldV); OldV->replaceAllUsesWith(V); - delete PrevVal; + MDNode::deleteTemporary(PrevVal); // Deleting PrevVal sets Idx value in MDValuePtrs to null. Set new // value for Idx. MDValuePtrs[Idx] = V; @@ -351,7 +351,7 @@ Value *BitcodeReaderMDValueList::getValueFwdRef(unsigned Idx) { } // Create and return a placeholder, which will later be RAUW'd. - Value *V = new Argument(Type::getMetadataTy(Context)); + Value *V = MDNode::getTemporary(Context, 0, 0); MDValuePtrs[Idx] = V; return V; } |