LLVM  8.0.0svn
Classes | Namespaces | Functions
ScalarEvolutionExpander.h File Reference
#include "llvm/ADT/DenseMap.h"
#include "llvm/ADT/DenseSet.h"
#include "llvm/ADT/Optional.h"
#include "llvm/Analysis/ScalarEvolutionExpressions.h"
#include "llvm/Analysis/ScalarEvolutionNormalization.h"
#include "llvm/Analysis/TargetFolder.h"
#include "llvm/IR/IRBuilder.h"
#include "llvm/IR/ValueHandle.h"
Include dependency graph for ScalarEvolutionExpander.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  llvm::SCEVExpander
 This class uses information about analyze scalars to rewrite expressions in canonical form. More...
 

Namespaces

 llvm
 Compute iterated dominance frontiers using a linear time algorithm.
 

Functions

bool llvm::isSafeToExpand (const SCEV *S, ScalarEvolution &SE)
 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. 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...