forked from OSchip/llvm-project
[CodeExtractor] Remove a bunch of unneeded constructors.
Differential Revision: https://reviews.llvm.org/D32305 llvm-svn: 300869
This commit is contained in:
parent
997fd5eeb4
commit
b965121ba8
|
@ -65,14 +65,6 @@ template <typename T> class ArrayRef;
|
|||
/// Blocks containing EHPads, allocas, invokes, or vastarts are not valid.
|
||||
static bool isBlockValidForExtraction(const BasicBlock &BB);
|
||||
|
||||
/// \brief Create a code extractor for a single basic block.
|
||||
///
|
||||
/// In this formation, we don't require a dominator tree. The given basic
|
||||
/// block is set up for extraction.
|
||||
CodeExtractor(BasicBlock *BB, bool AggregateArgs = false,
|
||||
BlockFrequencyInfo *BFI = nullptr,
|
||||
BranchProbabilityInfo *BPI = nullptr);
|
||||
|
||||
/// \brief Create a code extractor for a sequence of blocks.
|
||||
///
|
||||
/// Given a sequence of basic blocks where the first block in the sequence
|
||||
|
@ -91,14 +83,6 @@ template <typename T> class ArrayRef;
|
|||
BlockFrequencyInfo *BFI = nullptr,
|
||||
BranchProbabilityInfo *BPI = nullptr);
|
||||
|
||||
/// \brief Create a code extractor for a region node.
|
||||
///
|
||||
/// Behaves just like the generic code sequence constructor, but uses the
|
||||
/// block sequence of the region node passed in.
|
||||
CodeExtractor(DominatorTree &DT, const RegionNode &RN,
|
||||
bool AggregateArgs = false, BlockFrequencyInfo *BFI = nullptr,
|
||||
BranchProbabilityInfo *BPI = nullptr);
|
||||
|
||||
/// \brief Perform the extraction, returning the new function.
|
||||
///
|
||||
/// Returns zero when called on a CodeExtractor instance where isEligible
|
||||
|
|
|
@ -112,24 +112,6 @@ buildExtractionBlockSet(ArrayRef<BasicBlock *> BBs) {
|
|||
return buildExtractionBlockSet(BBs.begin(), BBs.end());
|
||||
}
|
||||
|
||||
/// \brief Helper to call buildExtractionBlockSet with a RegionNode.
|
||||
static SetVector<BasicBlock *>
|
||||
buildExtractionBlockSet(const RegionNode &RN) {
|
||||
if (!RN.isSubRegion())
|
||||
// Just a single BasicBlock.
|
||||
return buildExtractionBlockSet(RN.getNodeAs<BasicBlock>());
|
||||
|
||||
const Region &R = *RN.getNodeAs<Region>();
|
||||
|
||||
return buildExtractionBlockSet(R.block_begin(), R.block_end());
|
||||
}
|
||||
|
||||
CodeExtractor::CodeExtractor(BasicBlock *BB, bool AggregateArgs,
|
||||
BlockFrequencyInfo *BFI,
|
||||
BranchProbabilityInfo *BPI)
|
||||
: DT(nullptr), AggregateArgs(AggregateArgs || AggregateArgsOpt), BFI(BFI),
|
||||
BPI(BPI), Blocks(buildExtractionBlockSet(BB)), NumExitBlocks(~0U) {}
|
||||
|
||||
CodeExtractor::CodeExtractor(ArrayRef<BasicBlock *> BBs, DominatorTree *DT,
|
||||
bool AggregateArgs, BlockFrequencyInfo *BFI,
|
||||
BranchProbabilityInfo *BPI)
|
||||
|
@ -143,12 +125,6 @@ CodeExtractor::CodeExtractor(DominatorTree &DT, Loop &L, bool AggregateArgs,
|
|||
BPI(BPI), Blocks(buildExtractionBlockSet(L.getBlocks())),
|
||||
NumExitBlocks(~0U) {}
|
||||
|
||||
CodeExtractor::CodeExtractor(DominatorTree &DT, const RegionNode &RN,
|
||||
bool AggregateArgs, BlockFrequencyInfo *BFI,
|
||||
BranchProbabilityInfo *BPI)
|
||||
: DT(&DT), AggregateArgs(AggregateArgs || AggregateArgsOpt), BFI(BFI),
|
||||
BPI(BPI), Blocks(buildExtractionBlockSet(RN)), NumExitBlocks(~0U) {}
|
||||
|
||||
/// definedInRegion - Return true if the specified value is defined in the
|
||||
/// extracted region.
|
||||
static bool definedInRegion(const SetVector<BasicBlock *> &Blocks, Value *V) {
|
||||
|
|
Loading…
Reference in New Issue