#include "llvm/ADT/SmallVector.h"
#include "llvm/Support/Allocator.h"
#include "llvm/Support/AlignOf.h"
-#include <iosfwd>
#include <cassert>
#include <climits>
/// index of the MBB in which the PHI originally existed. This can be used
/// to insert code (spills or copies) which deals with the value, which will
/// be live in to the block.
-
class VNInfo {
private:
enum {
};
- inline bool operator<(const VNInfo::KillInfo &k1, const VNInfo::KillInfo &k2) {
+ inline bool operator<(const VNInfo::KillInfo &k1, const VNInfo::KillInfo &k2){
return k1.killIdx < k2.killIdx;
}
}
void dump() const;
- void print(std::ostream &os) const;
- void print(std::ostream *os) const { if (os) print(*os); }
void print(raw_ostream &os) const;
- void print(raw_ostream *os) const { if (os) print(*os); }
private:
LiveRange(); // DO NOT IMPLEMENT
};
- std::ostream& operator<<(std::ostream& os, const LiveRange &LR);
raw_ostream& operator<<(raw_ostream& os, const LiveRange &LR);
/// getNextValue - Create a new value number and return it. MIIdx specifies
/// the instruction that defines the value number.
VNInfo *getNextValue(unsigned MIIdx, MachineInstr *CopyMI,
- bool isDefAccurate, BumpPtrAllocator &VNInfoAllocator) {
+ bool isDefAccurate, BumpPtrAllocator &VNInfoAllocator){
assert(MIIdx != ~0u && MIIdx != ~1u &&
"PHI def / unused flags should now be passed explicitly.");
/// Create a copy of the given value. The new value will be identical except
/// for the Value number.
- VNInfo *createValueCopy(const VNInfo *orig, BumpPtrAllocator &VNInfoAllocator) {
+ VNInfo *createValueCopy(const VNInfo *orig,
+ BumpPtrAllocator &VNInfoAllocator) {
VNInfo *VNI =
static_cast<VNInfo*>(VNInfoAllocator.Allocate((unsigned)sizeof(VNInfo),
return beginNumber() < other.beginNumber();
}
- void print(std::ostream &OS, const TargetRegisterInfo *TRI = 0) const;
- void print(std::ostream *OS, const TargetRegisterInfo *TRI = 0) const {
- if (OS) print(*OS, TRI);
- }
void print(raw_ostream &OS, const TargetRegisterInfo *TRI = 0) const;
- void print(raw_ostream *OS, const TargetRegisterInfo *TRI = 0) const {
- if (OS) print(*OS, TRI);
- }
void dump() const;
private:
};
- inline std::ostream &operator<<(std::ostream &OS, const LiveInterval &LI) {
- LI.print(OS);
- return OS;
- }
inline raw_ostream &operator<<(raw_ostream &OS, const LiveInterval &LI) {
LI.print(OS);
return OS;
#include "llvm/ADT/SmallSet.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/Support/raw_ostream.h"
-#include "llvm/Support/raw_ostream.h"
#include "llvm/Target/TargetRegisterInfo.h"
#include <algorithm>
using namespace llvm;
}
}
-std::ostream& llvm::operator<<(std::ostream& os, const LiveRange &LR) {
- return os << '[' << LR.start << ',' << LR.end << ':' << LR.valno->id << ")";
-}
raw_ostream& llvm::operator<<(raw_ostream& os, const LiveRange &LR) {
return os << '[' << LR.start << ',' << LR.end << ':' << LR.valno->id << ")";
}
errs() << *this << "\n";
}
-void LiveInterval::print(std::ostream &OS,
- const TargetRegisterInfo *TRI) const {
- raw_os_ostream RawOS(OS);
- print(RawOS, TRI);
-}
-
-void LiveInterval::print(raw_ostream &OS,
- const TargetRegisterInfo *TRI) const {
+void LiveInterval::print(raw_ostream &OS, const TargetRegisterInfo *TRI) const {
if (isStackSlot())
OS << "SS#" << getStackSlotIndex();
else if (TRI && TargetRegisterInfo::isPhysicalRegister(reg))
}
-void LiveRange::print(std::ostream &os) const {
- os << *this;
-}
void LiveRange::print(raw_ostream &os) const {
os << *this;
}
#include "llvm/CodeGen/Passes.h"
#include "llvm/Target/TargetRegisterInfo.h"
#include "llvm/Support/Debug.h"
+#include "llvm/Support/raw_ostream.h"
#include "llvm/ADT/Statistic.h"
#include <limits>
using namespace llvm;
/// print - Implement the dump method.
void LiveStacks::print(std::ostream &O, const Module*) const {
- O << "********** INTERVALS **********\n";
+ raw_os_ostream OS(O);
+
+ OS << "********** INTERVALS **********\n";
for (const_iterator I = begin(), E = end(); I != E; ++I) {
- I->second.print(O);
+ I->second.print(OS);
int Slot = I->first;
const TargetRegisterClass *RC = getIntervalRegClass(Slot);
if (RC)
- O << " [" << RC->getName() << "]\n";
+ OS << " [" << RC->getName() << "]\n";
else
- O << " [Unknown]\n";
+ OS << " [Unknown]\n";
}
}