[K/N] Add ObjCARCContract LLVM pass.

This commit is contained in:
Sergey Bogolepov
2021-08-16 14:12:38 +07:00
committed by TeamCityServer
parent 1eb960783a
commit 690d0689a1
3 changed files with 17 additions and 1 deletions
@@ -19,8 +19,10 @@
#include <llvm/IR/LegacyPassManager.h>
#include <llvm/Analysis/TargetLibraryInfo.h>
#include <llvm/Transforms/Instrumentation.h>
#include <llvm/Transforms/ObjCARC.h>
#include <llvm/Support/FileSystem.h>
#include <llvm/Support/Path.h>
#include <utility>
#include <string>
#include <vector>
@@ -230,6 +232,11 @@ void LLVMKotlinAddTargetLibraryInfoWrapperPass(LLVMPassManagerRef passManagerRef
passManager->add(new TargetLibraryInfoWrapperPass(Triple(targetTriple)));
}
void LLVMAddObjCARCContractPass(LLVMPassManagerRef passManagerRef) {
legacy::PassManagerBase *passManager = unwrap(passManagerRef);
passManager->add(createObjCARCContractPass());
}
void LLVMKotlinInitializeTargets() {
#define INIT_LLVM_TARGET(TargetName) \
LLVMInitialize##TargetName##TargetInfo();\
@@ -74,6 +74,8 @@ void LLVMAddInstrProfPass(LLVMPassManagerRef passManagerRef, const char* outputF
void LLVMKotlinAddTargetLibraryInfoWrapperPass(LLVMPassManagerRef passManagerRef, const char* targetTriple);
void LLVMAddObjCARCContractPass(LLVMPassManagerRef passManagerRef);
void LLVMKotlinInitializeTargets();
# ifdef __cplusplus