You've already forked linux-packaging-mono
Imported Upstream version 5.18.0.207
Former-commit-id: 3b152f462918d427ce18620a2cbe4f8b79650449
This commit is contained in:
parent
8e12397d70
commit
eb85e2fc17
134
external/llvm/lib/Analysis/Analysis.cpp
vendored
134
external/llvm/lib/Analysis/Analysis.cpp
vendored
@ -1,134 +0,0 @@
|
||||
//===-- Analysis.cpp ------------------------------------------------------===//
|
||||
//
|
||||
// The LLVM Compiler Infrastructure
|
||||
//
|
||||
// This file is distributed under the University of Illinois Open Source
|
||||
// License. See LICENSE.TXT for details.
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#include "llvm-c/Analysis.h"
|
||||
#include "llvm-c/Initialization.h"
|
||||
#include "llvm/IR/Module.h"
|
||||
#include "llvm/IR/Verifier.h"
|
||||
#include "llvm/InitializePasses.h"
|
||||
#include "llvm/PassRegistry.h"
|
||||
#include "llvm/Support/raw_ostream.h"
|
||||
#include <cstring>
|
||||
|
||||
using namespace llvm;
|
||||
|
||||
/// initializeAnalysis - Initialize all passes linked into the Analysis library.
|
||||
void llvm::initializeAnalysis(PassRegistry &Registry) {
|
||||
initializeAAEvalLegacyPassPass(Registry);
|
||||
initializeAliasSetPrinterPass(Registry);
|
||||
initializeBasicAAWrapperPassPass(Registry);
|
||||
initializeBlockFrequencyInfoWrapperPassPass(Registry);
|
||||
initializeBranchProbabilityInfoWrapperPassPass(Registry);
|
||||
initializeCallGraphWrapperPassPass(Registry);
|
||||
initializeCallGraphDOTPrinterPass(Registry);
|
||||
initializeCallGraphPrinterLegacyPassPass(Registry);
|
||||
initializeCallGraphViewerPass(Registry);
|
||||
initializeCostModelAnalysisPass(Registry);
|
||||
initializeCFGViewerLegacyPassPass(Registry);
|
||||
initializeCFGPrinterLegacyPassPass(Registry);
|
||||
initializeCFGOnlyViewerLegacyPassPass(Registry);
|
||||
initializeCFGOnlyPrinterLegacyPassPass(Registry);
|
||||
initializeCFLAndersAAWrapperPassPass(Registry);
|
||||
initializeCFLSteensAAWrapperPassPass(Registry);
|
||||
initializeDependenceAnalysisWrapperPassPass(Registry);
|
||||
initializeDelinearizationPass(Registry);
|
||||
initializeDemandedBitsWrapperPassPass(Registry);
|
||||
initializeDivergenceAnalysisPass(Registry);
|
||||
initializeDominanceFrontierWrapperPassPass(Registry);
|
||||
initializeDomViewerPass(Registry);
|
||||
initializeDomPrinterPass(Registry);
|
||||
initializeDomOnlyViewerPass(Registry);
|
||||
initializePostDomViewerPass(Registry);
|
||||
initializeDomOnlyPrinterPass(Registry);
|
||||
initializePostDomPrinterPass(Registry);
|
||||
initializePostDomOnlyViewerPass(Registry);
|
||||
initializePostDomOnlyPrinterPass(Registry);
|
||||
initializeAAResultsWrapperPassPass(Registry);
|
||||
initializeGlobalsAAWrapperPassPass(Registry);
|
||||
initializeIVUsersWrapperPassPass(Registry);
|
||||
initializeInstCountPass(Registry);
|
||||
initializeIntervalPartitionPass(Registry);
|
||||
initializeLazyBranchProbabilityInfoPassPass(Registry);
|
||||
initializeLazyBlockFrequencyInfoPassPass(Registry);
|
||||
initializeLazyValueInfoWrapperPassPass(Registry);
|
||||
initializeLazyValueInfoPrinterPass(Registry);
|
||||
initializeLintPass(Registry);
|
||||
initializeLoopInfoWrapperPassPass(Registry);
|
||||
initializeMemDepPrinterPass(Registry);
|
||||
initializeMemDerefPrinterPass(Registry);
|
||||
initializeMemoryDependenceWrapperPassPass(Registry);
|
||||
initializeModuleDebugInfoPrinterPass(Registry);
|
||||
initializeModuleSummaryIndexWrapperPassPass(Registry);
|
||||
initializeObjCARCAAWrapperPassPass(Registry);
|
||||
initializeOptimizationRemarkEmitterWrapperPassPass(Registry);
|
||||
initializePostDominatorTreeWrapperPassPass(Registry);
|
||||
initializeRegionInfoPassPass(Registry);
|
||||
initializeRegionViewerPass(Registry);
|
||||
initializeRegionPrinterPass(Registry);
|
||||
initializeRegionOnlyViewerPass(Registry);
|
||||
initializeRegionOnlyPrinterPass(Registry);
|
||||
initializeSCEVAAWrapperPassPass(Registry);
|
||||
initializeScalarEvolutionWrapperPassPass(Registry);
|
||||
initializeTargetTransformInfoWrapperPassPass(Registry);
|
||||
initializeTypeBasedAAWrapperPassPass(Registry);
|
||||
initializeScopedNoAliasAAWrapperPassPass(Registry);
|
||||
initializeLCSSAVerificationPassPass(Registry);
|
||||
initializeMemorySSAWrapperPassPass(Registry);
|
||||
initializeMemorySSAPrinterLegacyPassPass(Registry);
|
||||
}
|
||||
|
||||
void LLVMInitializeAnalysis(LLVMPassRegistryRef R) {
|
||||
initializeAnalysis(*unwrap(R));
|
||||
}
|
||||
|
||||
void LLVMInitializeIPA(LLVMPassRegistryRef R) {
|
||||
initializeAnalysis(*unwrap(R));
|
||||
}
|
||||
|
||||
LLVMBool LLVMVerifyModule(LLVMModuleRef M, LLVMVerifierFailureAction Action,
|
||||
char **OutMessages) {
|
||||
raw_ostream *DebugOS = Action != LLVMReturnStatusAction ? &errs() : nullptr;
|
||||
std::string Messages;
|
||||
raw_string_ostream MsgsOS(Messages);
|
||||
|
||||
LLVMBool Result = verifyModule(*unwrap(M), OutMessages ? &MsgsOS : DebugOS);
|
||||
|
||||
// Duplicate the output to stderr.
|
||||
if (DebugOS && OutMessages)
|
||||
*DebugOS << MsgsOS.str();
|
||||
|
||||
if (Action == LLVMAbortProcessAction && Result)
|
||||
report_fatal_error("Broken module found, compilation aborted!");
|
||||
|
||||
if (OutMessages)
|
||||
*OutMessages = strdup(MsgsOS.str().c_str());
|
||||
|
||||
return Result;
|
||||
}
|
||||
|
||||
LLVMBool LLVMVerifyFunction(LLVMValueRef Fn, LLVMVerifierFailureAction Action) {
|
||||
LLVMBool Result = verifyFunction(
|
||||
*unwrap<Function>(Fn), Action != LLVMReturnStatusAction ? &errs()
|
||||
: nullptr);
|
||||
|
||||
if (Action == LLVMAbortProcessAction && Result)
|
||||
report_fatal_error("Broken function found, compilation aborted!");
|
||||
|
||||
return Result;
|
||||
}
|
||||
|
||||
void LLVMViewFunctionCFG(LLVMValueRef Fn) {
|
||||
Function *F = unwrap<Function>(Fn);
|
||||
F->viewCFG();
|
||||
}
|
||||
|
||||
void LLVMViewFunctionCFGOnly(LLVMValueRef Fn) {
|
||||
Function *F = unwrap<Function>(Fn);
|
||||
F->viewCFGOnly();
|
||||
}
|
Reference in New Issue
Block a user