aboutsummaryrefslogtreecommitdiff
path: root/include/llvm/CodeGen
diff options
context:
space:
mode:
Diffstat (limited to 'include/llvm/CodeGen')
-rw-r--r--include/llvm/CodeGen/MachineConstantPool.h30
-rw-r--r--include/llvm/CodeGen/SelectionDAGNodes.h4
2 files changed, 16 insertions, 18 deletions
diff --git a/include/llvm/CodeGen/MachineConstantPool.h b/include/llvm/CodeGen/MachineConstantPool.h
index d042258f5e..d5bd25c47b 100644
--- a/include/llvm/CodeGen/MachineConstantPool.h
+++ b/include/llvm/CodeGen/MachineConstantPool.h
@@ -70,28 +70,26 @@ public:
MachineConstantPoolValue *MachineCPVal;
} Val;
- /// The offset of the constant from the start of the pool. The top bit is set
- /// when Val is a MachineConstantPoolValue.
- unsigned Offset;
+ /// The required alignment for this entry. The top bit is set when Val is
+ /// a MachineConstantPoolValue.
+ unsigned Alignment;
- MachineConstantPoolEntry(Constant *V, unsigned O)
- : Offset(O) {
- assert((int)Offset >= 0 && "Offset is too large");
+ MachineConstantPoolEntry(Constant *V, unsigned A)
+ : Alignment(A) {
Val.ConstVal = V;
}
- MachineConstantPoolEntry(MachineConstantPoolValue *V, unsigned O)
- : Offset(O){
- assert((int)Offset >= 0 && "Offset is too large");
+ MachineConstantPoolEntry(MachineConstantPoolValue *V, unsigned A)
+ : Alignment(A) {
Val.MachineCPVal = V;
- Offset |= 1 << (sizeof(unsigned)*8-1);
+ Alignment |= 1 << (sizeof(unsigned)*8-1);
}
bool isMachineConstantPoolEntry() const {
- return (int)Offset < 0;
+ return (int)Alignment < 0;
}
- int getOffset() const {
- return Offset & ~(1 << (sizeof(unsigned)*8-1));
+ int getAlignment() const {
+ return Alignment & ~(1 << (sizeof(unsigned)*8-1));
}
const Type *getType() const;
@@ -117,13 +115,13 @@ public:
: TD(td), PoolAlignment(1) {}
~MachineConstantPool();
- /// getConstantPoolAlignment - Return the log2 of the alignment required by
+ /// getConstantPoolAlignment - Return the the alignment required by
/// the whole constant pool, of which the first element must be aligned.
unsigned getConstantPoolAlignment() const { return PoolAlignment; }
/// getConstantPoolIndex - Create a new entry in the constant pool or return
- /// an existing one. User must specify the log2 of the minimum required
- /// alignment for the object.
+ /// an existing one. User must specify the minimum required alignment for
+ /// the object.
unsigned getConstantPoolIndex(Constant *C, unsigned Alignment);
unsigned getConstantPoolIndex(MachineConstantPoolValue *V,unsigned Alignment);
diff --git a/include/llvm/CodeGen/SelectionDAGNodes.h b/include/llvm/CodeGen/SelectionDAGNodes.h
index 93d03f14b8..aaca06526b 100644
--- a/include/llvm/CodeGen/SelectionDAGNodes.h
+++ b/include/llvm/CodeGen/SelectionDAGNodes.h
@@ -1840,7 +1840,7 @@ class ConstantPoolSDNode : public SDNode {
MachineConstantPoolValue *MachineCPVal;
} Val;
int Offset; // It's a MachineConstantPoolValue if top bit is set.
- unsigned Alignment;
+ unsigned Alignment; // Minimum alignment requirement of CP (not log2 value).
protected:
friend class SelectionDAG;
ConstantPoolSDNode(bool isTarget, Constant *c, MVT VT, int o=0)
@@ -1896,7 +1896,7 @@ public:
}
// Return the alignment of this constant pool object, which is either 0 (for
- // default alignment) or log2 of the desired value.
+ // default alignment) or the desired value.
unsigned getAlignment() const { return Alignment; }
const Type *getType() const;