22#ifndef LLVM_TRANSFORMS_SCALAR_REASSOCIATE_H
23#define LLVM_TRANSFORMS_SCALAR_REASSOCIATE_H
58 return LHS.Rank >
RHS.Rank;
88 Instruction::BinaryOpsEnd - Instruction::BinaryOpsBegin;
108 unsigned getRank(
Value *V);
MachineBasicBlock MachineBasicBlock::iterator DebugLoc DL
This file defines the DenseMap class.
This header defines various interfaces for pass management in LLVM.
const AbstractManglingParser< Derived, Alloc >::OperatorInfo AbstractManglingParser< Derived, Alloc >::Ops[]
This file builds on the ADT/GraphTraits.h file to build a generic graph post order iterator.
This file implements a set that has insertion order iteration characteristics.
Class for arbitrary precision integers.
LLVM Basic Block Representation.
InstListType::iterator iterator
Instruction iterators...
Common base class shared among various IRBuilders.
A set of analyses that are preserved following a run of a transformation pass.
Reassociate commutative expressions.
DenseMap< BasicBlock *, unsigned > RankMap
DenseMap< AssertingVH< Value >, unsigned > ValueRankMap
LLVM_ABI PreservedAnalyses runImpl(Function &F, UniformityInfo &UI)
static const unsigned GlobalReassociateLimit
SetVector< AssertingVH< Instruction >, std::deque< AssertingVH< Instruction > > > OrderedSet
LLVM_ABI PreservedAnalyses run(Function &F, FunctionAnalysisManager &AM)
static const unsigned NumBinaryOps
DenseMap< std::pair< Value *, Value * >, PairMapValue > PairMap[NumBinaryOps]
A vector that has set insertion semantics.
This class consists of common code factored out of the SmallVector class to reduce code duplication b...
LLVM Value Representation.
A nullable Value handle that is nullable.
Utility class representing a non-constant Xor-operand.
A private "module" namespace for types and utilities used by Reassociate.
bool operator<(const ValueEntry &LHS, const ValueEntry &RHS)
This is an optimization pass for GlobalISel generic memory operations.
GenericUniformityInfo< SSAContext > UniformityInfo
DWARFExpression::Operation Op
AnalysisManager< Function > FunctionAnalysisManager
Convenience typedef for the Function analysis manager.
A CRTP mix-in for passes that can be skipped.
Factor(Value *Base, unsigned Power)
ValueEntry(unsigned R, Value *O)