aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Transforms/Utils/ValueMapper.cpp
diff options
context:
space:
mode:
authorMatt Arsenault <Matthew.Arsenault@amd.com>2021-03-06 13:23:57 -0500
committerMatt Arsenault <Matthew.Arsenault@amd.com>2021-03-28 11:12:23 -0400
commit4fefed65637ec46c8c2edad6b07b5569ac61e9e5 (patch)
tree171d28547e3a06a99265af6ead0f579bcf30a1d8 /llvm/lib/Transforms/Utils/ValueMapper.cpp
parentc5243c63cda3c740d6e9c7e501f6518c21688da3 (diff)
downloadllvm-4fefed65637ec46c8c2edad6b07b5569ac61e9e5.zip
llvm-4fefed65637ec46c8c2edad6b07b5569ac61e9e5.tar.gz
llvm-4fefed65637ec46c8c2edad6b07b5569ac61e9e5.tar.bz2
OpaquePtr: Turn inalloca into a type attribute
I think byval/sret and the others are close to being able to rip out the code to support the missing type case. A lot of this code is shared with inalloca, so catch this up to the others so that can happen.
Diffstat (limited to 'llvm/lib/Transforms/Utils/ValueMapper.cpp')
-rw-r--r--llvm/lib/Transforms/Utils/ValueMapper.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/llvm/lib/Transforms/Utils/ValueMapper.cpp b/llvm/lib/Transforms/Utils/ValueMapper.cpp
index ae839bd..d875188 100644
--- a/llvm/lib/Transforms/Utils/ValueMapper.cpp
+++ b/llvm/lib/Transforms/Utils/ValueMapper.cpp
@@ -945,7 +945,8 @@ void Mapper::remapInstruction(Instruction *I) {
AttributeList Attrs = CB->getAttributes();
for (unsigned i = 0; i < Attrs.getNumAttrSets(); ++i) {
for (Attribute::AttrKind TypedAttr :
- {Attribute::ByVal, Attribute::StructRet, Attribute::ByRef}) {
+ {Attribute::ByVal, Attribute::StructRet, Attribute::ByRef,
+ Attribute::InAlloca}) {
if (Type *Ty = Attrs.getAttribute(i, TypedAttr).getValueAsType()) {
Attrs = Attrs.replaceAttributeType(C, i, TypedAttr,
TypeMapper->remapType(Ty));