14#ifndef LLVM_TRANSFORMS_UTILS_CODEEXTRACTOR_H
15#define LLVM_TRANSFORMS_UTILS_CODEEXTRACTOR_H
24template <
typename PtrType>
class SmallPtrSetImpl;
28class BlockFrequencyInfo;
29class BranchProbabilityInfo;
57 void findSideEffectInfoForBlock(
BasicBlock &BB);
90 const bool AggregateArgs;
105 unsigned NumExitBlocks = std::numeric_limits<unsigned>::max();
135 bool AllowAlloca =
false,
137 std::string Suffix =
"");
147 std::string Suffix =
"");
231 struct LifetimeMarkerInfo {
232 bool SinkLifeStart =
false;
233 bool HoistLifeEnd =
false;
244 void severSplitPHINodesOfEntry(
BasicBlock *&Header);
246 void splitReturnBlocks();
254 void moveCodeToFunction(
Function *newFunction);
256 void calculateNewCallTerminatorWeights(
This file defines the DenseMap class.
Machine Check Debug Module
This file implements a set that has insertion order iteration characteristics.
an instruction to allocate memory on the stack
ArrayRef - Represent a constant reference to an array (0 or more elements consecutively in memory),...
A cache of @llvm.assume calls within a function.
LLVM Basic Block Representation.
BlockFrequencyInfo pass uses BlockFrequencyInfoImpl implementation to estimate IR basic block frequen...
Analysis providing branch probability information.
This class represents a function call, abstracting a target machine's calling convention.
Implements a dense probed hash-table based set.
Concrete subclass of DominatorTreeBase that is used to compute a normal dominator tree.
Represents a single loop in the control flow graph.
A Module instance is used to store all the information related to an LLVM module.
A templated base class for SmallPtrSet which provides the typesafe interface that is common across al...
This is a 'vector' (really, a variable-sized array), optimized for the case when the array is small.
The instances of the Type class are immutable: once they are created, they are never changed.
LLVM Value Representation.
@ BasicBlock
Various leaf nodes.
This is an optimization pass for GlobalISel generic memory operations.