|
LLVM
8.0.1
|
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/PostOrderIterator.h"#include "llvm/ADT/SetVector.h"#include "llvm/ADT/SmallVector.h"#include "llvm/Analysis/AliasAnalysis.h"#include "llvm/Analysis/InstructionPrecedenceTracking.h"#include "llvm/Analysis/MemoryDependenceAnalysis.h"#include "llvm/IR/Dominators.h"#include "llvm/IR/InstrTypes.h"#include "llvm/IR/PassManager.h"#include "llvm/IR/ValueHandle.h"#include "llvm/Support/Allocator.h"#include "llvm/Support/Compiler.h"#include <cstdint>#include <utility>#include <vector>

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... | |
| struct | llvm::GVNSinkPass |
| Uses an "inverted" value numbering to decide the similarity of expressions and sinks similar expressions into successors. More... | |
Namespaces | |
| llvm | |
| This class represents lattice values for constants. | |
| llvm::LLVM_LIBRARY_VISIBILITY | |
| A private "module" namespace for types and utilities used by GVN. | |
Functions | |
| FunctionPass * | llvm::createGVNPass (bool NoLoads=false) |
| Create a legacy GVN pass. More... | |
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.
1.8.13