LLVM
23.0.0git
lib
Transforms
Utils
TriggerCrashPass.cpp
Go to the documentation of this file.
1
//===----------------------------------------------------------------------===//
2
//
3
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4
// See https://llvm.org/LICENSE.txt for license information.
5
// SPDX-License-Identifier: Apache-2.0 WITH LLVM Exceptions
6
//
7
//===----------------------------------------------------------------------===//
8
9
#include "
llvm/Transforms/Utils/TriggerCrashPass.h
"
10
#include <cstdlib>
11
12
using namespace
llvm
;
13
14
PreservedAnalyses
TriggerCrashModulePass::run
(
Module
&,
15
ModuleAnalysisManager
&) {
16
abort();
17
return
PreservedAnalyses::all
();
18
}
19
20
PreservedAnalyses
TriggerCrashFunctionPass::run
(
Function
&,
21
FunctionAnalysisManager
&) {
22
abort();
23
return
PreservedAnalyses::all
();
24
}
25
26
namespace
{
27
class
TriggerCrashFunctionLegacyPass :
public
FunctionPass
{
28
public
:
29
static
char
ID
;
30
TriggerCrashFunctionLegacyPass() :
FunctionPass
(
ID
) {}
31
bool
runOnFunction
(
Function
&
F
)
override
{
32
abort();
33
return
false
;
34
}
35
StringRef getPassName()
const override
{
return
"TriggerCrashFunctionPass"
; }
36
};
37
}
// namespace
38
39
char
TriggerCrashFunctionLegacyPass::ID = 0;
40
41
FunctionPass
*
llvm::createTriggerCrashFunctionPass
() {
42
return
new
TriggerCrashFunctionLegacyPass();
43
}
runOnFunction
static bool runOnFunction(Function &F, bool PostInlining)
Definition
EntryExitInstrumenter.cpp:109
F
#define F(x, y, z)
Definition
MD5.cpp:54
TriggerCrashPass.h
llvm::FunctionPass
FunctionPass class - This class is used to implement most global optimizations.
Definition
Pass.h:314
llvm::Function
Definition
Function.h:65
llvm::Module
A Module instance is used to store all the information related to an LLVM module.
Definition
Module.h:67
llvm::PreservedAnalyses
A set of analyses that are preserved following a run of a transformation pass.
Definition
Analysis.h:112
llvm::PreservedAnalyses::all
static PreservedAnalyses all()
Construct a special preserved set that preserves all passes.
Definition
Analysis.h:118
llvm::TriggerCrashFunctionPass::run
PreservedAnalyses run(Function &F, FunctionAnalysisManager &AM)
Definition
TriggerCrashPass.cpp:20
llvm::TriggerCrashModulePass::run
PreservedAnalyses run(Module &M, ModuleAnalysisManager &AM)
Definition
TriggerCrashPass.cpp:14
llvm::CallingConv::ID
unsigned ID
LLVM IR allows to use arbitrary numbers as calling convention identifiers.
Definition
CallingConv.h:24
llvm
This is an optimization pass for GlobalISel generic memory operations.
Definition
FunctionInfo.h:25
llvm::createTriggerCrashFunctionPass
FunctionPass * createTriggerCrashFunctionPass()
Definition
TriggerCrashPass.cpp:41
llvm::FunctionAnalysisManager
AnalysisManager< Function > FunctionAnalysisManager
Convenience typedef for the Function analysis manager.
Definition
PassManager.h:586
llvm::ModuleAnalysisManager
AnalysisManager< Module > ModuleAnalysisManager
Convenience typedef for the Module analysis manager.
Definition
MIRParser.h:39
Generated on
for LLVM by
1.14.0