LLVM  4.0.0
Classes | Namespaces | Functions
GVN.h File Reference

This file provides the interface for LLVM's Global Value Numbering pass which eliminates fully redundant instructions. More...

#include "llvm/ADT/DenseMap.h"
#include "llvm/ADT/MapVector.h"
#include "llvm/ADT/SetVector.h"
#include "llvm/ADT/SmallPtrSet.h"
#include "llvm/Analysis/AliasAnalysis.h"
#include "llvm/Analysis/AssumptionCache.h"
#include "llvm/Analysis/LoopInfo.h"
#include "llvm/Analysis/MemoryDependenceAnalysis.h"
#include "llvm/IR/Dominators.h"
#include "llvm/IR/IntrinsicInst.h"
#include "llvm/IR/PassManager.h"
Include dependency graph for GVN.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  llvm::GVN
 The core GVN pass object. More...
 
class  llvm::GVN::ValueTable
 This class holds the mapping between values and value numbers. More...
 
struct  llvm::GVNHoistPass
 A simple and fast domtree-based GVN pass to hoist common expressions from sibling branches. More...
 

Namespaces

 llvm
 Compute iterated dominance frontiers using a linear time algorithm.
 
 llvm::LLVM_LIBRARY_VISIBILITY
 A private "module" namespace for types and utilities used by GVN.
 

Functions

FunctionPassllvm::createGVNPass (bool NoLoads=false)
 Create a legacy GVN pass. More...
 

Detailed Description

This file provides the interface for LLVM's Global Value Numbering pass which eliminates fully redundant instructions.

It also does somewhat Ad-Hoc PRE and dead load elimination.

Definition in file GVN.h.