summaryrefslogtreecommitdiffstats
path: root/llvm/lib/IR/Attributes.cpp
diff options
context:
space:
mode:
authorReid Kleckner <rnk@google.com>2017-04-28 20:34:27 +0000
committerReid Kleckner <rnk@google.com>2017-04-28 20:34:27 +0000
commit859f8b544a784798614cf9e0f0cdd99397b046fe (patch)
tree037ecc7ff173e4f7d6df3e1986aad5c035392b90 /llvm/lib/IR/Attributes.cpp
parent91d6a4488d49009d2c579394a8a7f7f944016bb5 (diff)
downloadbcm5719-llvm-859f8b544a784798614cf9e0f0cdd99397b046fe.tar.gz
bcm5719-llvm-859f8b544a784798614cf9e0f0cdd99397b046fe.zip
Make getParamAlignment use argument numbers
The method is called "get *Param* Alignment", and is only used for return values exactly once, so it should take argument indices, not attribute indices. Avoids confusing code like: IsSwiftError = CS->paramHasAttr(ArgIdx, Attribute::SwiftError); Alignment = CS->getParamAlignment(ArgIdx + 1); Add getRetAlignment to handle the one case in Value.cpp that wants the return value alignment. This is a potentially breaking change for out-of-tree backends that do their own call lowering. llvm-svn: 301682
Diffstat (limited to 'llvm/lib/IR/Attributes.cpp')
-rw-r--r--llvm/lib/IR/Attributes.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/llvm/lib/IR/Attributes.cpp b/llvm/lib/IR/Attributes.cpp
index f0db6b4e71a..62f127bd02e 100644
--- a/llvm/lib/IR/Attributes.cpp
+++ b/llvm/lib/IR/Attributes.cpp
@@ -1191,8 +1191,12 @@ Attribute AttributeList::getAttribute(unsigned Index, StringRef Kind) const {
return getAttributes(Index).getAttribute(Kind);
}
-unsigned AttributeList::getParamAlignment(unsigned Index) const {
- return getAttributes(Index).getAlignment();
+unsigned AttributeList::getRetAlignment() const {
+ return getAttributes(ReturnIndex).getAlignment();
+}
+
+unsigned AttributeList::getParamAlignment(unsigned ArgNo) const {
+ return getAttributes(ArgNo + 1).getAlignment();
}
unsigned AttributeList::getStackAlignment(unsigned Index) const {
OpenPOWER on IntegriCloud