8#ifndef LLVM_CODEGEN_REGALLOC_GREEDY_PASS_H
9#define LLVM_CODEGEN_REGALLOC_GREEDY_PASS_H
This header defines various interfaces for pass management in LLVM.
void printPipeline(raw_ostream &OS, function_ref< StringRef(StringRef)> MapClassName2PassName) const
MachineFunctionProperties getRequiredProperties() const
MachineFunctionProperties getClearedProperties() const
PreservedAnalyses run(MachineFunction &F, MachineFunctionAnalysisManager &AM)
RAGreedyPass(Options Opts=Options())
A container for analyses that lazily runs them and caches their results.
Properties which a MachineFunction may have at a given point in time.
A set of analyses that are preserved following a run of a transformation pass.
StringRef - Represent a constant reference to a string, i.e.
An efficient, type-erasing, non-owning reference to a callable.
This class implements an extremely fast bulk output stream that can only output to a stream.
This is an optimization pass for GlobalISel generic memory operations.
std::function< bool(const TargetRegisterInfo &TRI, const MachineRegisterInfo &MRI, const Register Reg)> RegAllocFilterFunc
Filter function for register classes during regalloc.
OutputIt move(R &&Range, OutputIt Out)
Provide wrappers to std::move which take ranges instead of having to pass begin/end explicitly.
Implement std::hash so that hash_code can be used in STL containers.
Options(RegAllocFilterFunc F=nullptr, StringRef FN="all")
RegAllocFilterFunc Filter
A CRTP mix-in to automatically provide informational APIs needed for passes.