1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-24 11:42:57 +01:00

Make AllocInfo's Instruction an int, so that we can overload it for arguments.

(Instruction #-1's operands = argument list).

llvm-svn: 12245
This commit is contained in:
Brian Gaeke 2004-03-08 23:22:01 +00:00
parent cf102d7d5b
commit b9b20ad428

View File

@ -26,8 +26,8 @@ namespace llvm {
/// structures to generate mapping information for this register allocator.
///
struct AllocInfo {
unsigned Instruction;
int Operand; // (-1 if Instruction, or 0...n-1 for an operand.)
int Instruction; // (-1 if Argument, or 0 .. n - 1 for an instruction).
int Operand; // (-1 if Instruction, or 0 .. n-1 for an operand).
enum AllocStateTy { NotAllocated = 0, Allocated, Spilled };
AllocStateTy AllocState;
int Placement;
@ -41,7 +41,7 @@ struct AllocInfo {
///
static StructType *getConstantType () {
std::vector<const Type *> TV;
TV.push_back (Type::UIntTy);
TV.push_back (Type::IntTy);
TV.push_back (Type::IntTy);
TV.push_back (Type::UIntTy);
TV.push_back (Type::IntTy);
@ -54,7 +54,7 @@ struct AllocInfo {
Constant *toConstant () const {
StructType *ST = getConstantType ();
std::vector<Constant *> CV;
CV.push_back (ConstantUInt::get (Type::UIntTy, Instruction));
CV.push_back (ConstantSInt::get (Type::IntTy, Instruction));
CV.push_back (ConstantSInt::get (Type::IntTy, Operand));
CV.push_back (ConstantUInt::get (Type::UIntTy, AllocState));
CV.push_back (ConstantSInt::get (Type::IntTy, Placement));