MachineBasicBlock *DestB,
bool isCond);
+ /// findDebugLoc - find the next valid DebugLoc starting at MBBI, skipping
+ /// any DEBUG_VALUE instructions. Return UnknownLoc if there is none.
+ DebugLoc findDebugLoc(MachineBasicBlock::iterator &MBBI);
+
// Debugging methods.
void dump() const;
void print(raw_ostream &OS) const;
void removePredecessor(MachineBasicBlock *pred);
};
-DebugLoc
-findDebugLoc(MachineBasicBlock::iterator &MBBI, MachineBasicBlock &MBB);
-
raw_ostream& operator<<(raw_ostream &OS, const MachineBasicBlock &MBB);
void WriteAsOperand(raw_ostream &, const MachineBasicBlock*, bool t);
return MadeChange;
}
-void llvm::WriteAsOperand(raw_ostream &OS, const MachineBasicBlock *MBB,
- bool t) {
- OS << "BB#" << MBB->getNumber();
-}
-
/// findDebugLoc - find the next valid DebugLoc starting at MBBI, skipping
/// any DEBUG_VALUE instructions. Return UnknownLoc if there is none.
DebugLoc
-llvm::findDebugLoc(MachineBasicBlock::iterator &MBBI, MachineBasicBlock &MBB) {
+MachineBasicBlock::findDebugLoc(MachineBasicBlock::iterator &MBBI) {
DebugLoc DL;
- if (MBBI != MBB.end()) {
+ MachineBasicBlock::iterator E = end();
+ if (MBBI != E) {
// Skip debug declarations, we don't want a DebugLoc from them.
MachineBasicBlock::iterator MBBI2 = MBBI;
- while (MBBI2 != MBB.end() &&
+ while (MBBI2 != E &&
MBBI2->getOpcode()==TargetInstrInfo::DEBUG_VALUE)
MBBI2++;
- if (MBBI2 != MBB.end())
+ if (MBBI2 != E)
DL = MBBI2->getDebugLoc();
}
return DL;
}
+
+void llvm::WriteAsOperand(raw_ostream &OS, const MachineBasicBlock *MBB,
+ bool t) {
+ OS << "BB#" << MBB->getNumber();
+}
+
if (CSI.empty())
return false;
- DebugLoc DL = findDebugLoc(MI, MBB);
+ DebugLoc DL = MBB.findDebugLoc(MI);
bool is64Bit = TM.getSubtarget<X86Subtarget>().is64Bit();
bool isWin64 = TM.getSubtarget<X86Subtarget>().isTargetWin64();
if (CSI.empty())
return false;
- DebugLoc DL = findDebugLoc(MI, MBB);
+ DebugLoc DL = MBB.findDebugLoc(MI);
MachineFunction &MF = *MBB.getParent();
unsigned FPReg = RI.getFrameRegister(MF);
(Is64Bit ? X86::ADD64ri8 : X86::ADD32ri8) :
(Is64Bit ? X86::ADD64ri32 : X86::ADD32ri));
uint64_t Chunk = (1LL << 31) - 1;
- DebugLoc DL = findDebugLoc(MBBI, MBB);
+ DebugLoc DL = MBB.findDebugLoc(MBBI);
while (Offset) {
uint64_t ThisVal = (Offset > Chunk) ? Chunk : Offset;
}
}
- DL = findDebugLoc(MBBI, MBB);
+ DL = MBB.findDebugLoc(MBBI);
// Adjust stack pointer: ESP -= numbytes.
if (NumBytes >= 4096 && Subtarget->isTargetCygMing()) {