Make AllocState an enum.

Move the stringifying method for that enum into class AllocInfo.

llvm-svn: 9616
This commit is contained in:
Brian Gaeke 2003-10-30 21:21:22 +00:00
parent 5a320efd3b
commit 727ec9bec5
1 changed files with 12 additions and 2 deletions

View File

@ -26,10 +26,12 @@
struct AllocInfo {
unsigned Instruction;
unsigned Operand;
unsigned AllocState;
enum AllocStateTy { NotAllocated = 0, Allocated, Spilled };
AllocStateTy AllocState;
int Placement;
AllocInfo (unsigned Instruction_, unsigned Operand_,
unsigned AllocState_, int Placement_) :
AllocStateTy AllocState_, int Placement_) :
Instruction (Instruction_), Operand (Operand_),
AllocState (AllocState_), Placement (Placement_) { }
@ -65,6 +67,14 @@ struct AllocInfo {
return (X.AllocState == AllocState) && (X.Placement == Placement);
}
bool operator!= (const AllocInfo &X) const { return !(*this == X); }
/// Returns a human-readable string representation of the AllocState member.
///
const std::string allocStateToString () const {
static const char *AllocStateNames[] =
{ "NotAllocated", "Allocated", "Spilled" };
return std::string (AllocStateNames[AllocState]);
}
};
#endif // ALLOCINFO_H