[llvm] [LLVM][C API] Clearing initializer and personality by passing NULL. (PR #105521)

Tim Besard via llvm-commits llvm-commits at lists.llvm.org
Wed Aug 28 00:30:33 PDT 2024


================
@@ -1328,8 +1328,12 @@ LLVMValueRef LLVMMDNode(LLVMValueRef *Vals, unsigned Count) {
   return LLVMMDNodeInContext(LLVMGetGlobalContext(), Vals, Count);
 }
 
-LLVMValueRef LLVMMetadataAsValue(LLVMContextRef C, LLVMMetadataRef MD) {
-  return wrap(MetadataAsValue::get(*unwrap(C), unwrap(MD)));
+LLVMValueRef LLVMMetadataAsValue(LLVMContextRef C, LLVMMetadataRef Metadata) {
+  auto *MD = unwrap(Metadata);
+  if (auto *VAM = dyn_cast<ValueAsMetadata>(MD))
+    return wrap(VAM->getValue());
+  else
+    return wrap(MetadataAsValue::get(*unwrap(C), MD));
----------------
maleadt wrote:

Sorry, yeah, removed.

https://github.com/llvm/llvm-project/pull/105521


More information about the llvm-commits mailing list