mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-01-31 20:51:52 +01:00
[LLVM-C] Deprecate the LLVMValueRef-returning metadata creation functions
Summary: There is still some value in using these functions while the remaining LLVMValueRef-based accessors are still around, but LLVMMDNodeInContext in particular has some wonky semantics that make it worth replacing outright. Reviewers: whitequark, deadalnix Reviewed By: whitequark Subscribers: hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D60524 llvm-svn: 359114
This commit is contained in:
parent
6ab595bb2e
commit
25711b99fe
@ -2735,34 +2735,23 @@ void LLVMRemoveGlobalIFunc(LLVMValueRef IFunc);
|
||||
*/
|
||||
|
||||
/**
|
||||
* Obtain a MDString value from a context.
|
||||
* Create an MDString value from a given string value.
|
||||
*
|
||||
* The returned instance corresponds to the llvm::MDString class.
|
||||
* The MDString value does not take ownership of the given string, it remains
|
||||
* the responsibility of the caller to free it.
|
||||
*
|
||||
* The instance is specified by string data of a specified length. The
|
||||
* string content is copied, so the backing memory can be freed after
|
||||
* this function returns.
|
||||
* @see llvm::MDString::get()
|
||||
*/
|
||||
LLVMValueRef LLVMMDStringInContext(LLVMContextRef C, const char *Str,
|
||||
unsigned SLen);
|
||||
LLVMMetadataRef LLVMMDStringInContext2(LLVMContextRef C, const char *Str,
|
||||
size_t SLen);
|
||||
|
||||
/**
|
||||
* Obtain a MDString value from the global context.
|
||||
*/
|
||||
LLVMValueRef LLVMMDString(const char *Str, unsigned SLen);
|
||||
|
||||
/**
|
||||
* Obtain a MDNode value from a context.
|
||||
* Create an MDNode value with the given array of operands.
|
||||
*
|
||||
* The returned value corresponds to the llvm::MDNode class.
|
||||
* @see llvm::MDNode::get()
|
||||
*/
|
||||
LLVMValueRef LLVMMDNodeInContext(LLVMContextRef C, LLVMValueRef *Vals,
|
||||
unsigned Count);
|
||||
|
||||
/**
|
||||
* Obtain a MDNode value from the global context.
|
||||
*/
|
||||
LLVMValueRef LLVMMDNode(LLVMValueRef *Vals, unsigned Count);
|
||||
LLVMMetadataRef LLVMMDNodeInContext2(LLVMContextRef C, LLVMMetadataRef *MDs,
|
||||
size_t Count);
|
||||
|
||||
/**
|
||||
* Obtain a Metadata as a Value.
|
||||
@ -2804,6 +2793,17 @@ unsigned LLVMGetMDNodeNumOperands(LLVMValueRef V);
|
||||
*/
|
||||
void LLVMGetMDNodeOperands(LLVMValueRef V, LLVMValueRef *Dest);
|
||||
|
||||
/** Deprecated: Use LLVMMDStringInContext2 instead. */
|
||||
LLVMValueRef LLVMMDStringInContext(LLVMContextRef C, const char *Str,
|
||||
unsigned SLen);
|
||||
/** Deprecated: Use LLVMMDStringInContext2 instead. */
|
||||
LLVMValueRef LLVMMDString(const char *Str, unsigned SLen);
|
||||
/** Deprecated: Use LLVMMDNodeInContext2 instead. */
|
||||
LLVMValueRef LLVMMDNodeInContext(LLVMContextRef C, LLVMValueRef *Vals,
|
||||
unsigned Count);
|
||||
/** Deprecated: Use LLVMMDNodeInContext2 instead. */
|
||||
LLVMValueRef LLVMMDNode(LLVMValueRef *Vals, unsigned Count);
|
||||
|
||||
/**
|
||||
* @}
|
||||
*/
|
||||
|
@ -1036,6 +1036,16 @@ LLVMValueRef LLVMConstPointerNull(LLVMTypeRef Ty) {
|
||||
|
||||
/*--.. Operations on metadata nodes ........................................--*/
|
||||
|
||||
LLVMMetadataRef LLVMMDStringInContext2(LLVMContextRef C, const char *Str,
|
||||
size_t SLen) {
|
||||
return wrap(MDString::get(*unwrap(C), StringRef(Str, SLen)));
|
||||
}
|
||||
|
||||
LLVMMetadataRef LLVMMDNodeInContext2(LLVMContextRef C, LLVMMetadataRef *MDs,
|
||||
size_t Count) {
|
||||
return wrap(MDNode::get(*unwrap(C), ArrayRef<Metadata*>(unwrap(MDs), Count)));
|
||||
}
|
||||
|
||||
LLVMValueRef LLVMMDStringInContext(LLVMContextRef C, const char *Str,
|
||||
unsigned SLen) {
|
||||
LLVMContext &Context = *unwrap(C);
|
||||
|
Loading…
x
Reference in New Issue
Block a user