diff options
| author | Reid Kleckner <rnk@google.com> | 2017-04-28 20:34:27 +0000 |
|---|---|---|
| committer | Reid Kleckner <rnk@google.com> | 2017-04-28 20:34:27 +0000 |
| commit | 859f8b544a784798614cf9e0f0cdd99397b046fe (patch) | |
| tree | 037ecc7ff173e4f7d6df3e1986aad5c035392b90 /llvm/lib/Transforms/Utils/InlineFunction.cpp | |
| parent | 91d6a4488d49009d2c579394a8a7f7f944016bb5 (diff) | |
| download | bcm5719-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/Transforms/Utils/InlineFunction.cpp')
| -rw-r--r-- | llvm/lib/Transforms/Utils/InlineFunction.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/llvm/lib/Transforms/Utils/InlineFunction.cpp b/llvm/lib/Transforms/Utils/InlineFunction.cpp index 0196879b369..6d56e08af99 100644 --- a/llvm/lib/Transforms/Utils/InlineFunction.cpp +++ b/llvm/lib/Transforms/Utils/InlineFunction.cpp @@ -1640,7 +1640,7 @@ bool llvm::InlineFunction(CallSite CS, InlineFunctionInfo &IFI, // modify the struct. if (CS.isByValArgument(ArgNo)) { ActualArg = HandleByValArgument(ActualArg, TheCall, CalledFunc, IFI, - CalledFunc->getParamAlignment(ArgNo+1)); + CalledFunc->getParamAlignment(ArgNo)); if (ActualArg != *AI) ByValInit.push_back(std::make_pair(ActualArg, (Value*) *AI)); } |

