• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /freebsd-12-stable/contrib/llvm-project/llvm/lib/IR/

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"
26 ValueSymbolTable *BasicBlock::getValueSymbolTable() {
32 LLVMContext &BasicBlock::getContext() const {
40 BasicBlock::BasicBlock(LLVMContext &C, const Twine &Name, Function *NewParent,
41 BasicBlock *InsertBefore)
53 void BasicBlock::insertInto(Function *NewParent, BasicBlock *InsertBefore) {
63 BasicBlock::~BasicBlock() {
82 assert(getParent() == nullptr && "BasicBlock still linked into the program!");
87 void BasicBlock::setParent(Function *parent) {
92 iterator_range<filter_iterator<BasicBlock::const_iterator,
94 BasicBlock::instructionsWithoutDebug() const {
101 iterator_range<filter_iterator<BasicBlock::iterator,
103 BasicBlock::instructionsWithoutDebug() {
110 filter_iterator<BasicBlock::const_iterator,
112 BasicBlock::sizeWithoutDebug() const {
117 void BasicBlock::removeFromParent() {
121 iplist<BasicBlock>::iterator BasicBlock::eraseFromParent() {
127 void BasicBlock::moveBefore(BasicBlock *MovePos) {
134 void BasicBlock::moveAfter(BasicBlock *MovePos) {
140 const Module *BasicBlock::getModule() const {
144 const Instruction *BasicBlock::getTerminator() const {
150 const CallInst *BasicBlock::getTerminatingMustTailCall() const {
181 const CallInst *BasicBlock::getTerminatingDeoptimizeCall() const {
196 const Instruction* BasicBlock::getFirstNonPHI() const {
203 const Instruction* BasicBlock::getFirstNonPHIOrDbg() const {
210 const Instruction* BasicBlock::getFirstNonPHIOrDbgOrLifetime() const {
223 BasicBlock::const_iterator BasicBlock::getFirstInsertionPt() const {
233 void BasicBlock::dropAllReferences() {
240 const BasicBlock *BasicBlock::getSinglePredecessor() const {
243 const BasicBlock *ThePred = *PI;
253 const BasicBlock *BasicBlock::getUniquePredecessor() const {
256 const BasicBlock *PredBB = *PI;
267 bool BasicBlock::hasNPredecessors(unsigned N) const {
271 bool BasicBlock::hasNPredecessorsOrMore(unsigned N) const {
275 const BasicBlock *BasicBlock::getSingleSuccessor() const {
278 const BasicBlock *TheSucc = *SI;
283 const BasicBlock *BasicBlock::getUniqueSuccessor() const {
286 const BasicBlock *SuccBB = *SI;
297 iterator_range<BasicBlock::phi_iterator> BasicBlock::phis() {
302 /// This method is used to notify a BasicBlock that the
308 void BasicBlock::removePredecessor(BasicBlock *Pred,
333 BasicBlock *Other = APN->getIncomingBlock(APN->getIncomingBlock(0) == Pred);
378 bool BasicBlock::canSplitPredecessors() const {
390 bool BasicBlock::isLegalToHoistInto() const {
414 BasicBlock *BasicBlock::splitBasicBlock(iterator I, const Twine &BBName) {
419 BasicBlock *New = BasicBlock::Create(getContext(), BBName, getParent(),
441 void BasicBlock::replacePhiUsesWith(BasicBlock *Old, BasicBlock *New) {
442 // N.B. This might not be a complete BasicBlock, so don't assume
452 void BasicBlock::replaceSuccessorsPhiUsesWith(BasicBlock *Old,
453 BasicBlock *New) {
456 // Cope with being called on a BasicBlock that doesn't have a terminator
459 llvm::for_each(successors(TI), [Old, New](BasicBlock *Succ) {
464 void BasicBlock::replaceSuccessorsPhiUsesWith(BasicBlock *New) {
470 bool BasicBlock::isLandingPad() const {
475 const LandingPadInst *BasicBlock::getLandingPadInst() const {
479 Optional<uint64_t> BasicBlock::getIrrLoopHeaderWeight() const {
492 BasicBlock::iterator llvm::skipDebugIntrinsics(BasicBlock::iterator It) {