16#ifndef LLVM_TRANSFORMS_INSTCOMBINE_INSTCOMBINE_H
17#define LLVM_TRANSFORMS_INSTCOMBINE_INSTCOMBINE_H
24#define DEBUG_TYPE "instcombine"
static bool runOnFunction(Function &F, bool PostInlining)
This header defines various interfaces for pass management in LLVM.
A container for analyses that lazily runs them and caches their results.
Represent the analysis usage information of a pass.
FunctionPass class - This class is used to implement most global optimizations.
LLVM_ABI void printPipeline(raw_ostream &OS, function_ref< StringRef(StringRef)> MapClassName2PassName)
LLVM_ABI PreservedAnalyses run(Function &F, FunctionAnalysisManager &AM)
The legacy pass manager's instcombine pass.
InstructionWorklist - This is the worklist management logic for InstCombine and other simplification ...
A set of analyses that are preserved following a run of a transformation pass.
StringRef - Represent a constant reference to a string, i.e.
LLVM Value Representation.
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.
LLVM_ABI FunctionPass * createInstructionCombiningPass()
static constexpr unsigned InstCombineDefaultMaxIterations
InstCombineOptions & setMaxIterations(unsigned Value)
InstCombineOptions & setVerifyFixpoint(bool Value)
InstCombineOptions()=default
A CRTP mix-in to automatically provide informational APIs needed for passes.