diff --git a/include/llvm/CodeGen/MachineConstantPool.h b/include/llvm/CodeGen/MachineConstantPool.h index 0185329d0c7..1878b527276 100644 --- a/include/llvm/CodeGen/MachineConstantPool.h +++ b/include/llvm/CodeGen/MachineConstantPool.h @@ -67,8 +67,8 @@ struct MachineConstantPoolEntry { MachineConstantPoolValue *MachineCPVal; } Val; - /// The offset of the constant from the start of the pool. It's really - /// 31-bit only. The top bit is set when Val is a MachineConstantPoolValue. + /// The offset of the constant from the start of the pool. The top bit is set + /// when Val is a MachineConstantPoolValue. unsigned Offset; MachineConstantPoolEntry(Constant *V, unsigned O) @@ -87,6 +87,10 @@ struct MachineConstantPoolEntry { return (int)Offset < 0; } + int getOffset() const { + return Offset & ~(1 << (sizeof(unsigned)*8-1)); + } + const Type *getType() const; };