struct EarlyCSEPass

Declaration

struct EarlyCSEPass : public PassInfoMixin { /* full declaration omitted */ };

Description

A simple and fast domtree-based CSE pass. This pass does a simple depth-first walk over the dominator tree, eliminating trivially redundant instructions and using instsimplify to canonicalize things as it goes. It is intended to be fast and catch obvious cases so that instcombine and other passes are more effective. It is expected that a later pass of GVN will catch the interesting/hard cases.

Declared at: llvm/include/llvm/Transforms/Scalar/EarlyCSE.h:30

Inherits from: PassInfoMixin

Member Variables

public bool UseMemorySSA

Method Overview

  • public EarlyCSEPass(bool UseMemorySSA = false)
  • public llvm::PreservedAnalyses run(llvm::Function & F, llvm::FunctionAnalysisManager & AM)

Methods

EarlyCSEPass(bool UseMemorySSA = false)

Declared at: llvm/include/llvm/Transforms/Scalar/EarlyCSE.h:31

Parameters

bool UseMemorySSA = false

llvm::PreservedAnalyses run(
    llvm::Function& F,
    llvm::FunctionAnalysisManager& AM)

Description

Run the pass over the function.

Declared at: llvm/include/llvm/Transforms/Scalar/EarlyCSE.h:34

Parameters

llvm::Function& F
llvm::FunctionAnalysisManager& AM