mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-09-30 19:55:11 +00:00
Start using more of the AttrNode in the AttributeSetImpl class.
Also add some asserts. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173627 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
0fef46f50e
commit
a5372d2708
@ -116,15 +116,14 @@ class AttributeSetImpl : public FoldingSetNode {
|
||||
AttributeSetImpl(const AttributeSetImpl &) LLVM_DELETED_FUNCTION;
|
||||
public:
|
||||
AttributeSetImpl(LLVMContext &C, ArrayRef<AttributeWithIndex> attrs);
|
||||
AttributeSetImpl(LLVMContext &C,
|
||||
ArrayRef<std::pair<uint64_t, AttributeSetNode*> > attrs);
|
||||
|
||||
LLVMContext &getContext() { return Context; }
|
||||
ArrayRef<AttributeWithIndex> getAttributes() const { return AttrList; }
|
||||
unsigned getNumAttributes() const { return AttrList.size(); }
|
||||
unsigned getNumAttributes() const {
|
||||
return AttrNodes.size();
|
||||
}
|
||||
unsigned getSlotIndex(unsigned Slot) const {
|
||||
// FIXME: This needs to use AttrNodes instead.
|
||||
return AttrList[Slot].Index;
|
||||
return AttrNodes[Slot].first;
|
||||
}
|
||||
AttributeSet getSlotAttributes(unsigned Slot) const {
|
||||
// FIXME: This needs to use AttrNodes instead.
|
||||
|
@ -553,12 +553,14 @@ AttributeSetImpl(LLVMContext &C,
|
||||
AttrNodes.push_back(std::make_pair(AWI.Index,
|
||||
AttributeSetNode::get(C, Attrs)));
|
||||
}
|
||||
}
|
||||
|
||||
AttributeSetImpl::
|
||||
AttributeSetImpl(LLVMContext &C,
|
||||
ArrayRef<std::pair<uint64_t, AttributeSetNode*> > attrs)
|
||||
: Context(C), AttrNodes(attrs.begin(), attrs.end()) {
|
||||
assert(AttrNodes.size() == AttrList.size() &&
|
||||
"Number of attributes is different between lists!");
|
||||
#ifndef NDEBUG
|
||||
for (unsigned I = 0, E = AttrNodes.size(); I != E; ++I)
|
||||
assert((I == 0 || AttrNodes[I - 1].first < AttrNodes[I].first) &&
|
||||
"Attributes not in ascending order!");
|
||||
#endif
|
||||
}
|
||||
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
Loading…
Reference in New Issue
Block a user