Lines Matching +full:store +full:- +full:conditional
1 //===-- MSP430InstrInfo.cpp - MSP430 Instruction Information --------------===//
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7 //===----------------------------------------------------------------------===//
11 //===----------------------------------------------------------------------===//
41 if (MI != MBB.end()) DL = MI->getDebugLoc(); in storeRegToStackSlot()
59 llvm_unreachable("Cannot store this register to stack slot!"); in storeRegToStackSlot()
69 if (MI != MBB.end()) DL = MI->getDebugLoc(); in loadRegFromStackSlot()
87 llvm_unreachable("Cannot store this register to stack slot!"); in loadRegFromStackSlot()
100 llvm_unreachable("Impossible reg-to-reg copy"); in copyPhysReg()
114 --I; in removeBranch()
115 if (I->isDebugInstr()) in removeBranch()
117 if (I->getOpcode() != MSP430::JMP && in removeBranch()
118 I->getOpcode() != MSP430::JCC && in removeBranch()
119 I->getOpcode() != MSP430::Bi && in removeBranch()
120 I->getOpcode() != MSP430::Br && in removeBranch()
121 I->getOpcode() != MSP430::Bm) in removeBranch()
124 I->eraseFromParent(); in removeBranch()
173 --I; in analyzeBranch()
174 if (I->isDebugInstr()) in analyzeBranch()
177 // Working from the bottom, when we see a non-terminator in analyzeBranch()
184 if (!I->isBranch()) in analyzeBranch()
188 if (I->getOpcode() == MSP430::Br || in analyzeBranch()
189 I->getOpcode() == MSP430::Bm) in analyzeBranch()
193 if (I->getOpcode() == MSP430::JMP || I->getOpcode() == MSP430::Bi) { in analyzeBranch()
195 TBB = I->getOperand(0).getMBB(); in analyzeBranch()
204 // Delete the JMP if it's equivalent to a fall-through. in analyzeBranch()
205 if (MBB.isLayoutSuccessor(I->getOperand(0).getMBB())) { in analyzeBranch()
207 I->eraseFromParent(); in analyzeBranch()
213 TBB = I->getOperand(0).getMBB(); in analyzeBranch()
217 // Handle conditional branches. in analyzeBranch()
218 assert(I->getOpcode() == MSP430::JCC && "Invalid conditional branch"); in analyzeBranch()
220 static_cast<MSP430CC::CondCodes>(I->getOperand(1).getImm()); in analyzeBranch()
224 // Working from the bottom, handle the first conditional branch. in analyzeBranch()
227 TBB = I->getOperand(0).getMBB(); in analyzeBranch()
232 // Handle subsequent conditional branches. Only handle the case where all in analyzeBranch()
233 // conditional branches branch to the same destination. in analyzeBranch()
237 // Only handle the case where all conditional branches branch to in analyzeBranch()
239 if (TBB != I->getOperand(0).getMBB()) in analyzeBranch()
272 // Conditional branch. in insertBranch()
278 // Two-way Conditional branch. Insert the second branch. in insertBranch()
285 /// GetInstSize - Return the number of bytes of code the specified
300 const MachineFunction *MF = MI.getParent()->getParent(); in getInstSizeInBytes()
301 const TargetInstrInfo &TII = *MF->getSubtarget().getInstrInfo(); in getInstSizeInBytes()
303 *MF->getTarget().getMCAsmInfo()); in getInstSizeInBytes()