LLVM 24.0.0git
TriggerCrashPasses.h
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// This file provides passes that trigger crashes for testing purposes.
10//
11//===----------------------------------------------------------------------===//
12
13#ifndef LLVM_PASSES_TRIGGERCRASHPASSES_H
14#define LLVM_PASSES_TRIGGERCRASHPASSES_H
15
20#include "llvm/IR/PassManager.h"
23
24namespace llvm {
25
27 : public OptionalPassInfoMixin<TriggerCrashModulePass> {
28public:
30};
31
33 : public OptionalPassInfoMixin<TriggerCrashCGSCCPass> {
34public:
38};
39
41 : public OptionalPassInfoMixin<TriggerCrashFunctionPass> {
42public:
44};
45
47 : public OptionalPassInfoMixin<TriggerCrashLoopPass> {
48public:
51 LPMUpdater &U);
52};
53
55 : public OptionalPassInfoMixin<TriggerCrashMachineFunctionPass> {
56public:
59};
60
61} // namespace llvm
62
63#endif // LLVM_PASSES_TRIGGERCRASHPASSES_H
static GCRegistry::Add< ShadowStackGC > C("shadow-stack", "Very portable GC for uncooperative code generators")
This header provides classes for managing passes over SCCs of the call graph.
#define LLVM_ABI
Definition Compiler.h:215
This header defines various interfaces for pass management in LLVM.
Implements a lazy call graph analysis and related passes for the new pass manager.
This header provides classes for managing per-loop analyses.
This header provides classes for managing a pipeline of passes over loops in LLVM IR.
#define F(x, y, z)
Definition MD5.cpp:54
This class provides an interface for updating the loop pass manager based on mutations to the loop ne...
An SCC of the call graph.
A lazily constructed view of the call graph of a module.
Represents a single loop in the control flow graph.
Definition LoopInfo.h:40
A Module instance is used to store all the information related to an LLVM module.
Definition Module.h:67
A set of analyses that are preserved following a run of a transformation pass.
Definition Analysis.h:112
LLVM_ABI PreservedAnalyses run(LazyCallGraph::SCC &C, CGSCCAnalysisManager &AM, LazyCallGraph &CG, CGSCCUpdateResult &UR)
LLVM_ABI PreservedAnalyses run(Function &F, FunctionAnalysisManager &AM)
LLVM_ABI PreservedAnalyses run(Loop &L, LoopAnalysisManager &AM, LoopStandardAnalysisResults &AR, LPMUpdater &U)
LLVM_ABI PreservedAnalyses run(MachineFunction &MF, MachineFunctionAnalysisManager &MFAM)
LLVM_ABI PreservedAnalyses run(Module &M, ModuleAnalysisManager &AM)
This is an optimization pass for GlobalISel generic memory operations.
AnalysisManager< MachineFunction > MachineFunctionAnalysisManager
AnalysisManager< LazyCallGraph::SCC, LazyCallGraph & > CGSCCAnalysisManager
The CGSCC analysis manager.
AnalysisManager< Loop, LoopStandardAnalysisResults & > LoopAnalysisManager
The loop analysis manager.
AnalysisManager< Function > FunctionAnalysisManager
Convenience typedef for the Function analysis manager.
AnalysisManager< Module > ModuleAnalysisManager
Convenience typedef for the Module analysis manager.
Definition MIRParser.h:39
Support structure for SCC passes to communicate updates the call graph back to the CGSCC pass manager...
The adaptor from a function pass to a loop pass computes these analyses and makes them available to t...
A CRTP mix-in for passes that can be skipped.