#include <llvm/Config/llvm-config.h>
#include "SCEV/ScalarEvolution.h"
#include "SCEV/ScalarEvolutionExpander.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/SmallPtrSet.h"
#include "llvm/Analysis/LoopInfo.h"
#include "llvm/IR/Instructions.h"
#include "llvm/Analysis/AssumptionCache.h"
#include "llvm/Analysis/TargetLibraryInfo.h"
#include "llvm/IR/Dominators.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Transforms/Utils/ValueMapper.h"
#include "FunctionUtils.h"
#include "MustExitScalarEvolution.h"
Go to the source code of this file.
|
| static bool | operator== (const LoopContext &lhs, const LoopContext &rhs) |
| |
| static llvm::raw_ostream & | operator<< (llvm::raw_ostream &os, UnwrapMode mode) |
| |
| std::pair< llvm::PHINode *, llvm::Instruction * > | InsertNewCanonicalIV (llvm::Loop *L, llvm::Type *Ty, const llvm::Twine &Name="iv") |
| |
| void | RemoveRedundantIVs (llvm::BasicBlock *Header, llvm::PHINode *CanonicalIV, llvm::Instruction *Increment, MustExitScalarEvolution &SE, llvm::function_ref< void(llvm::Instruction *, llvm::Value *)> replacer, llvm::function_ref< void(llvm::Instruction *)> eraser) |
| |
◆ UnwrapMode
Modes of potential unwraps.
| Enumerator |
|---|
| LegalFullUnwrap | |
| LegalFullUnwrapNoTapeReplace | |
| AttemptFullUnwrapWithLookup | |
| AttemptFullUnwrap | |
| AttemptSingleUnwrap | |
Definition at line 105 of file CacheUtility.h.
◆ InsertNewCanonicalIV()
| std::pair< llvm::PHINode *, llvm::Instruction * > InsertNewCanonicalIV |
( |
llvm::Loop * | L, |
|
|
llvm::Type * | Ty, |
|
|
const llvm::Twine & | Name = "iv" ) |
◆ operator<<()
| static llvm::raw_ostream & operator<< |
( |
llvm::raw_ostream & | os, |
|
|
UnwrapMode | mode ) |
|
inlinestatic |
◆ operator==()
◆ RemoveRedundantIVs()
| void RemoveRedundantIVs |
( |
llvm::BasicBlock * | Header, |
|
|
llvm::PHINode * | CanonicalIV, |
|
|
llvm::Instruction * | Increment, |
|
|
MustExitScalarEvolution & | SE, |
|
|
llvm::function_ref< void(llvm::Instruction *, llvm::Value *)> | replacer, |
|
|
llvm::function_ref< void(llvm::Instruction *)> | eraser ) |
◆ EfficientBoolCache
| llvm::cl::opt<bool> EfficientBoolCache |
|
extern |
◆ EnzymeZeroCache
| llvm::cl::opt<bool> EnzymeZeroCache |
|
extern |