mirror of
https://github.com/RPCSX/llvm.git
synced 2025-01-23 12:45:47 +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);
|
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,
|
void LLVMSetCurrentDebugLocation2(LLVMBuilderRef Bref, unsigned Line,
|
||||||
unsigned Col, LLVMMetadataRef Scope,
|
unsigned Col, LLVMMetadataRef Scope,
|
||||||
LLVMMetadataRef InlinedAt) {
|
LLVMMetadataRef InlinedAt) {
|
||||||
|
@ -45,6 +45,8 @@ void LLVMAddNamedMetadataOperand2(LLVMModuleRef M, const char *name,
|
|||||||
LLVMMetadataRef Val);
|
LLVMMetadataRef Val);
|
||||||
void LLVMSetMetadata2(LLVMValueRef Inst, unsigned KindID, LLVMMetadataRef MD);
|
void LLVMSetMetadata2(LLVMValueRef Inst, unsigned KindID, LLVMMetadataRef MD);
|
||||||
|
|
||||||
|
void LLVMMetadataReplaceAllUsesWith(LLVMMetadataRef MD, LLVMMetadataRef New);
|
||||||
|
|
||||||
void LLVMSetCurrentDebugLocation2(LLVMBuilderRef Bref, unsigned Line,
|
void LLVMSetCurrentDebugLocation2(LLVMBuilderRef Bref, unsigned Line,
|
||||||
unsigned Col, LLVMMetadataRef Scope,
|
unsigned Col, LLVMMetadataRef Scope,
|
||||||
LLVMMetadataRef InlinedAt);
|
LLVMMetadataRef InlinedAt);
|
||||||
|
@ -1827,3 +1827,11 @@ func (pm PassManager) FinalizeFunc() bool { return C.LLVMFinalizeFunctionPassMan
|
|||||||
// the module provider.
|
// the module provider.
|
||||||
// See llvm::PassManagerBase::~PassManagerBase.
|
// See llvm::PassManagerBase::~PassManagerBase.
|
||||||
func (pm PassManager) Dispose() { C.LLVMDisposePassManager(pm.C) }
|
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