mirror of
https://github.com/RPCSX/llvm.git
synced 2025-01-23 04:35:43 +00:00
Go bindings: introduce Metadata.ReplaceAllUsesWith.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@224177 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
eb8bf790eb
commit
e9e0f3718c
@ -75,6 +75,12 @@ void LLVMSetMetadata2(LLVMValueRef Inst, unsigned KindID, LLVMMetadataRef MD) {
|
||||
unwrap<Instruction>(Inst)->setMetadata(KindID, N);
|
||||
}
|
||||
|
||||
void LLVMMetadataReplaceAllUsesWith(LLVMMetadataRef MD, LLVMMetadataRef New) {
|
||||
auto *Node = unwrap<MDNodeFwdDecl>(MD);
|
||||
Node->replaceAllUsesWith(unwrap<MDNode>(New));
|
||||
MDNode::deleteTemporary(Node);
|
||||
}
|
||||
|
||||
void LLVMSetCurrentDebugLocation2(LLVMBuilderRef Bref, unsigned Line,
|
||||
unsigned Col, LLVMMetadataRef Scope,
|
||||
LLVMMetadataRef InlinedAt) {
|
||||
|
@ -45,6 +45,8 @@ void LLVMAddNamedMetadataOperand2(LLVMModuleRef M, const char *name,
|
||||
LLVMMetadataRef Val);
|
||||
void LLVMSetMetadata2(LLVMValueRef Inst, unsigned KindID, LLVMMetadataRef MD);
|
||||
|
||||
void LLVMMetadataReplaceAllUsesWith(LLVMMetadataRef MD, LLVMMetadataRef New);
|
||||
|
||||
void LLVMSetCurrentDebugLocation2(LLVMBuilderRef Bref, unsigned Line,
|
||||
unsigned Col, LLVMMetadataRef Scope,
|
||||
LLVMMetadataRef InlinedAt);
|
||||
|
@ -1827,3 +1827,11 @@ func (pm PassManager) FinalizeFunc() bool { return C.LLVMFinalizeFunctionPassMan
|
||||
// the module provider.
|
||||
// See llvm::PassManagerBase::~PassManagerBase.
|
||||
func (pm PassManager) Dispose() { C.LLVMDisposePassManager(pm.C) }
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
// llvm.Metadata
|
||||
//-------------------------------------------------------------------------
|
||||
|
||||
func (md Metadata) ReplaceAllUsesWith(new Metadata) {
|
||||
C.LLVMMetadataReplaceAllUsesWith(md.C, new.C)
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user