Lines Matching refs:BasicBlock

1 //===-- BasicBlock.cpp - Implement BasicBlock related methods -------------===//
9 // This file implements the BasicBlock class for the IR library.
13 #include "llvm/IR/BasicBlock.h"
52 DbgMarker *BasicBlock::createMarker(Instruction *I) {
63 DbgMarker *BasicBlock::createMarker(InstListType::iterator It) {
76 void BasicBlock::convertToNewDbgValues() {
115 void BasicBlock::convertFromNewDbgValues() {
141 void BasicBlock::dumpDbgValues() const {
152 void BasicBlock::setIsNewDbgInfoFormat(bool NewFlag) {
158 void BasicBlock::setNewDbgInfoFormatFlag(bool NewFlag) {
162 ValueSymbolTable *BasicBlock::getValueSymbolTable() {
168 LLVMContext &BasicBlock::getContext() const {
172 template <> void llvm::invalidateParentIListOrdering(BasicBlock *BB) {
179 Instruction, ilist_iterator_bits<true>, ilist_parent<BasicBlock>>;
181 BasicBlock::BasicBlock(LLVMContext &C, const Twine &Name, Function *NewParent,
182 BasicBlock *InsertBefore)
198 void BasicBlock::insertInto(Function *NewParent, BasicBlock *InsertBefore) {
210 BasicBlock::~BasicBlock() {
231 assert(getParent() == nullptr && "BasicBlock still linked into the program!");
241 void BasicBlock::setParent(Function *parent) {
248 iterator_range<filter_iterator<BasicBlock::const_iterator,
250 BasicBlock::instructionsWithoutDebug(bool SkipPseudoOp) const {
259 filter_iterator<BasicBlock::iterator, std::function<bool(Instruction &)>>>
260 BasicBlock::instructionsWithoutDebug(bool SkipPseudoOp) {
268 filter_iterator<BasicBlock::const_iterator,
270 BasicBlock::sizeWithoutDebug() const {
275 void BasicBlock::removeFromParent() {
279 iplist<BasicBlock>::iterator BasicBlock::eraseFromParent() {
283 void BasicBlock::moveBefore(SymbolTableList<BasicBlock>::iterator MovePos) {
287 void BasicBlock::moveAfter(BasicBlock *MovePos) {
292 const Module *BasicBlock::getModule() const {
296 const DataLayout &BasicBlock::getDataLayout() const {
300 const CallInst *BasicBlock::getTerminatingMustTailCall() const {
331 const CallInst *BasicBlock::getTerminatingDeoptimizeCall() const {
346 const CallInst *BasicBlock::getPostdominatingDeoptimizeCall() const {
347 const BasicBlock* BB = this;
348 SmallPtrSet<const BasicBlock *, 8> Visited;
358 const Instruction *BasicBlock::getFirstMayFaultInst() const {
367 const Instruction* BasicBlock::getFirstNonPHI() const {
374 Instruction *BasicBlock::getFirstNonPHI() {
381 BasicBlock::const_iterator BasicBlock::getFirstNonPHIIt() const {
386 BasicBlock::const_iterator It = I.getIterator();
397 BasicBlock::const_iterator
398 BasicBlock::getFirstNonPHIOrDbg(bool SkipPseudoOp) const {
406 BasicBlock::const_iterator It = I.getIterator();
415 BasicBlock::const_iterator
416 BasicBlock::getFirstNonPHIOrDbgOrLifetime(bool SkipPseudoOp) const {
427 BasicBlock::const_iterator It = I.getIterator();
437 BasicBlock::const_iterator BasicBlock::getFirstInsertionPt() const {
450 BasicBlock::const_iterator BasicBlock::getFirstNonPHIOrDbgOrAlloca() const {
476 void BasicBlock::dropAllReferences() {
481 const BasicBlock *BasicBlock::getSinglePredecessor() const {
484 const BasicBlock *ThePred = *PI;
489 const BasicBlock *BasicBlock::getUniquePredecessor() const {
492 const BasicBlock *PredBB = *PI;
503 bool BasicBlock::hasNPredecessors(unsigned N) const {
507 bool BasicBlock::hasNPredecessorsOrMore(unsigned N) const {
511 const BasicBlock *BasicBlock::getSingleSuccessor() const {
514 const BasicBlock *TheSucc = *SI;
519 const BasicBlock *BasicBlock::getUniqueSuccessor() const {
522 const BasicBlock *SuccBB = *SI;
533 iterator_range<BasicBlock::phi_iterator> BasicBlock::phis() {
538 void BasicBlock::removePredecessor(BasicBlock *Pred,
567 bool BasicBlock::canSplitPredecessors() const {
579 bool BasicBlock::isLegalToHoistInto() const {
593 bool BasicBlock::isEntryBlock() const {
599 BasicBlock *BasicBlock::splitBasicBlock(iterator I, const Twine &BBName,
608 BasicBlock *New = BasicBlock::Create(getContext(), BBName, getParent(),
630 BasicBlock *BasicBlock::splitBasicBlockBefore(iterator I, const Twine &BBName) {
639 BasicBlock *New = BasicBlock::Create(getContext(), BBName, getParent(), this);
653 SmallVector<BasicBlock *, 4> Predecessors(predecessors(this));
654 for (BasicBlock *Pred : Predecessors) {
666 BasicBlock::iterator BasicBlock::erase(BasicBlock::iterator FromIt,
667 BasicBlock::iterator ToIt) {
673 void BasicBlock::replacePhiUsesWith(BasicBlock *Old, BasicBlock *New) {
674 // N.B. This might not be a complete BasicBlock, so don't assume
684 void BasicBlock::replaceSuccessorsPhiUsesWith(BasicBlock *Old,
685 BasicBlock *New) {
688 // Cope with being called on a BasicBlock that doesn't have a terminator
691 for (BasicBlock *Succ : successors(TI))
695 void BasicBlock::replaceSuccessorsPhiUsesWith(BasicBlock *New) {
699 bool BasicBlock::isLandingPad() const {
703 const LandingPadInst *BasicBlock::getLandingPadInst() const {
707 std::optional<uint64_t> BasicBlock::getIrrLoopHeaderWeight() const {
720 BasicBlock::iterator llvm::skipDebugIntrinsics(BasicBlock::iterator It) {
726 void BasicBlock::renumberInstructions() {
739 void BasicBlock::flushTerminatorDbgRecords() {
770 void BasicBlock::spliceDebugInfoEmptyBlock(BasicBlock::iterator Dest,
771 BasicBlock *Src,
772 BasicBlock::iterator First,
773 BasicBlock::iterator Last) {
825 void BasicBlock::spliceDebugInfo(BasicBlock::iterator Dest, BasicBlock *Src,
826 BasicBlock::iterator First,
827 BasicBlock::iterator Last) {
907 void BasicBlock::spliceDebugInfoImpl(BasicBlock::iterator Dest, BasicBlock *Src,
908 BasicBlock::iterator First,
909 BasicBlock::iterator Last) {
1051 void BasicBlock::splice(iterator Dest, BasicBlock *Src, iterator First,
1079 void BasicBlock::insertDbgRecordAfter(DbgRecord *DR, Instruction *I) {
1088 void BasicBlock::insertDbgRecordBefore(DbgRecord *DR,
1096 DbgMarker *BasicBlock::getNextMarker(Instruction *I) {
1100 DbgMarker *BasicBlock::getMarker(InstListType::iterator It) {
1108 void BasicBlock::reinsertInstInDbgRecords(
1164 /// is defined as a no-op inline function in BasicBlock.h.
1165 void BasicBlock::validateInstrOrdering() const {
1177 void BasicBlock::setTrailingDbgRecords(DbgMarker *foo) {
1181 DbgMarker *BasicBlock::getTrailingDbgRecords() {
1185 void BasicBlock::deleteTrailingDbgRecords() {