The core GVN pass object.
Declared in <llvm/Transforms/Scalar/GVN.h>
class GVNPass
: public OptionalPassInfoMixin<GVNPass>
FIXME: We should have a good summary of the GVN algorithm implemented by this particular pass here.
| Name | Description |
|---|---|
OptionalPassInfoMixin<GVNPass> | A CRTP mix-in for passes that can be skipped. |
| Name | Description |
|---|---|
AvailableValue | A value available for rematerializing a load. |
AvailableValueInBlock | An AvailableValue associated with a specific basic block. |
Expression | Expression key used for value numbering. |
ValueTable | This class holds the mapping between values and value numbers. It is used as an efficient mechanism to determine the expression-wise equivalence of two values. |
| Name | Description |
|---|---|
GVNPass [constructor] | Construct a GVN pass with the given options. |
getAliasAnalysis | Return the alias analysis results used by this pass. |
getDominatorTree | Return the dominator tree used by this pass. |
getMemDep | Return the memory dependence analysis used by this pass. |
isLoadInLoopPREEnabled | Return true if PRE of loads inside loops is enabled. |
isLoadPREEnabled | Return true if PRE of loads is enabled. |
isLoadPRESplitBackedgeEnabled | Return true if load PRE may split critical backedges. |
isMemDepEnabled | Return true if MemoryDependenceAnalysis is enabled for this pass. |
isMemorySSAEnabled | Return true if MemorySSA is enabled for this pass. |
isScalarPREEnabled | Return true if PRE of scalar instructions is enabled. |
printPipeline | Print this pass's pipeline representation to OS. |
run | Run the pass over the function. |
salvageAndRemoveInstruction | This removes the specified instruction from our various maps and marks it for deletion. |
| Name | Description |
|---|---|
isRequired | Return false; optional passes may be skipped. |
| Name | Description |
|---|---|
llvm::DenseMapInfo | Traits type that supplies DenseMap hashing and equality for value type T. |
llvm::GVNLegacyPass | Legacy FunctionPass wrapper around GVNPass. |