LLVM  7.0.0svn
Public Types | Public Member Functions | Protected Attributes | Static Protected Attributes | List of all members
llvm::ReassociatePass Class Reference

Reassociate commutative expressions. More...

#include "llvm/Transforms/Scalar/Reassociate.h"

Inheritance diagram for llvm::ReassociatePass:
Inheritance graph
[legend]
Collaboration diagram for llvm::ReassociatePass:
Collaboration graph
[legend]

Public Types

using OrderedSet = SetVector< AssertingVH< Instruction >, std::deque< AssertingVH< Instruction > >>
 

Public Member Functions

PreservedAnalyses run (Function &F, FunctionAnalysisManager &)
 

Protected Attributes

DenseMap< BasicBlock *, unsignedRankMap
 
DenseMap< AssertingVH< Value >, unsignedValueRankMap
 
OrderedSet RedoInsts
 
DenseMap< std::pair< Value *, Value * >, unsignedPairMap [NumBinaryOps]
 
bool MadeChange
 

Static Protected Attributes

static const unsigned GlobalReassociateLimit = 10
 
static const unsigned NumBinaryOps
 

Additional Inherited Members

- Static Public Member Functions inherited from llvm::PassInfoMixin< ReassociatePass >
static StringRef name ()
 Gets the name of the pass we are mixed into. More...
 

Detailed Description

Reassociate commutative expressions.

Definition at line 72 of file Reassociate.h.

Member Typedef Documentation

◆ OrderedSet

Definition at line 75 of file Reassociate.h.

Member Function Documentation

◆ run()

PreservedAnalyses ReassociatePass::run ( Function F,
FunctionAnalysisManager  
)

Member Data Documentation

◆ GlobalReassociateLimit

const unsigned llvm::ReassociatePass::GlobalReassociateLimit = 10
staticprotected

Definition at line 83 of file Reassociate.h.

◆ MadeChange

bool llvm::ReassociatePass::MadeChange
protected

Definition at line 88 of file Reassociate.h.

◆ NumBinaryOps

const unsigned llvm::ReassociatePass::NumBinaryOps
staticprotected
Initial value:
=
Instruction::BinaryOpsEnd - Instruction::BinaryOpsBegin

Definition at line 84 of file Reassociate.h.

◆ PairMap

DenseMap<std::pair<Value *, Value *>, unsigned> llvm::ReassociatePass::PairMap[NumBinaryOps]
protected

Definition at line 86 of file Reassociate.h.

◆ RankMap

DenseMap<BasicBlock *, unsigned> llvm::ReassociatePass::RankMap
protected

Definition at line 78 of file Reassociate.h.

◆ RedoInsts

OrderedSet llvm::ReassociatePass::RedoInsts
protected

Definition at line 80 of file Reassociate.h.

◆ ValueRankMap

DenseMap<AssertingVH<Value>, unsigned> llvm::ReassociatePass::ValueRankMap
protected

Definition at line 79 of file Reassociate.h.


The documentation for this class was generated from the following files: