LLVM
15.0.0git
|
#include "llvm/ADT/DenseMap.h"
#include "llvm/ADT/DenseSet.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/Analysis/InstSimplifyFolder.h"
#include "llvm/Analysis/ScalarEvolutionExpressions.h"
#include "llvm/Analysis/ScalarEvolutionNormalization.h"
#include "llvm/Analysis/TargetTransformInfo.h"
#include "llvm/IR/IRBuilder.h"
#include "llvm/IR/ValueHandle.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/InstructionCost.h"
Go to the source code of this file.
Classes | |
struct | llvm::SCEVOperand |
struct for holding enough information to help calculate the cost of the given SCEV when expanded into IR. More... | |
class | llvm::SCEVExpander |
This class uses information about analyze scalars to rewrite expressions in canonical form. More... | |
class | llvm::SCEVExpanderCleaner |
Helper to remove instructions inserted during SCEV expansion, unless they are marked as used. More... | |
Namespaces | |
llvm | |
This is an optimization pass for GlobalISel generic memory operations. | |
Functions | |
bool | llvm::isSafeToExpand (const SCEV *S, ScalarEvolution &SE, bool CanonicalMode=true) |
Return true if the given expression is safe to expand in the sense that all materialized values are safe to speculate anywhere their operands are defined, and the expander is capable of expanding the expression. More... | |
bool | llvm::isSafeToExpandAt (const SCEV *S, const Instruction *InsertionPoint, ScalarEvolution &SE) |
Return true if the given expression is safe to expand in the sense that all materialized values are defined and safe to speculate at the specified location and their operands are defined at this location. More... | |
Variables | |
cl::opt< unsigned > | llvm::SCEVCheapExpansionBudget |