• Home
  • Raw
  • Download

Lines Matching +full:delete +full:- +full:branch

1 //===-- BPFInstrInfo.cpp - BPF Instruction Information ----------*- C++ -*-===//
8 //===----------------------------------------------------------------------===//
12 //===----------------------------------------------------------------------===//
42 llvm_unreachable("Impossible reg-to-reg copy"); in copyPhysReg()
52 DL = I->getDebugLoc(); in storeRegToStackSlot()
70 DL = I->getDebugLoc(); in loadRegFromStackSlot()
87 --I; in analyzeBranch()
88 if (I->isDebugValue()) in analyzeBranch()
91 // Working from the bottom, when we see a non-terminator in analyzeBranch()
96 // A terminator that isn't a branch can't easily be handled in analyzeBranch()
98 if (!I->isBranch()) in analyzeBranch()
102 if (I->getOpcode() == BPF::JMP) { in analyzeBranch()
104 TBB = I->getOperand(0).getMBB(); in analyzeBranch()
108 // If the block has any instructions after a J, delete them. in analyzeBranch()
110 std::next(I)->eraseFromParent(); in analyzeBranch()
114 // Delete the J if it's equivalent to a fall-through. in analyzeBranch()
115 if (MBB.isLayoutSuccessor(I->getOperand(0).getMBB())) { in analyzeBranch()
117 I->eraseFromParent(); in analyzeBranch()
123 TBB = I->getOperand(0).getMBB(); in analyzeBranch()
142 // Unconditional branch in InsertBranch()
143 assert(!FBB && "Unconditional branch with multiple successors!"); in InsertBranch()
148 llvm_unreachable("Unexpected conditional branch"); in InsertBranch()
156 --I; in RemoveBranch()
157 if (I->isDebugValue()) in RemoveBranch()
159 if (I->getOpcode() != BPF::JMP) in RemoveBranch()
161 // Remove the branch. in RemoveBranch()
162 I->eraseFromParent(); in RemoveBranch()