summaryrefslogtreecommitdiff
path: root/lib/IR/Attributes.cpp
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2013-04-30 16:53:38 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2013-04-30 16:53:38 +0000
commit76f103e02164d27b41bd92a9767c7012482ba31a (patch)
tree7ddb1e4f8b2e6f315722bc39c24efef5501c3445 /lib/IR/Attributes.cpp
parente87dadc44b1544c35e13cf48dfe167109929a944 (diff)
downloadllvm-76f103e02164d27b41bd92a9767c7012482ba31a.tar.gz
llvm-76f103e02164d27b41bd92a9767c7012482ba31a.tar.bz2
llvm-76f103e02164d27b41bd92a9767c7012482ba31a.tar.xz
Change getSlotIndex to return unsigned.
The actual storage was already using unsigned, but the interface was using uint64_t. This is wasteful on 32 bits and looks to be the root causes of a miscompilation on Windows where a value was being sign extended to 64bits to compare with the result of getSlotIndex. Patch by Pasi Parviainen! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180791 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/IR/Attributes.cpp')
-rw-r--r--lib/IR/Attributes.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/IR/Attributes.cpp b/lib/IR/Attributes.cpp
index 065f7725cc..2443b3401d 100644
--- a/lib/IR/Attributes.cpp
+++ b/lib/IR/Attributes.cpp
@@ -501,7 +501,7 @@ std::string AttributeSetNode::getAsString(bool TargetIndependent,
// AttributeSetImpl Definition
//===----------------------------------------------------------------------===//
-uint64_t AttributeSetImpl::Raw(uint64_t Index) const {
+uint64_t AttributeSetImpl::Raw(unsigned Index) const {
for (unsigned I = 0, E = getNumAttributes(); I != E; ++I) {
if (getSlotIndex(I) != Index) continue;
const AttributeSetNode *ASN = AttrNodes[I].second;
@@ -889,7 +889,7 @@ unsigned AttributeSet::getNumSlots() const {
return pImpl ? pImpl->getNumAttributes() : 0;
}
-uint64_t AttributeSet::getSlotIndex(unsigned Slot) const {
+unsigned AttributeSet::getSlotIndex(unsigned Slot) const {
assert(pImpl && Slot < pImpl->getNumAttributes() &&
"Slot # out of range!");
return pImpl->getSlotIndex(Slot);