summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen
diff options
context:
space:
mode:
authorAmara Emerson <aemerson@apple.com>2018-08-14 12:04:25 +0000
committerAmara Emerson <aemerson@apple.com>2018-08-14 12:04:25 +0000
commit30e61404a8944d4d69c76a17404c4bf17f8c607e (patch)
tree340d029ebc482811137f2074cb42ca09453999be /llvm/lib/CodeGen
parent0ef813fa83eb00aec13b42e8532b1461d2734d6c (diff)
downloadbcm5719-llvm-30e61404a8944d4d69c76a17404c4bf17f8c607e.tar.gz
bcm5719-llvm-30e61404a8944d4d69c76a17404c4bf17f8c607e.zip
[GlobalISel][IRTranslator] Fix a bug in handling repeating struct types during argument lowering.
Differential Revision: https://reviews.llvm.org/D49442 llvm-svn: 339674
Diffstat (limited to 'llvm/lib/CodeGen')
-rw-r--r--llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp b/llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
index 765d58c91d2..8559d6055cc 100644
--- a/llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
+++ b/llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
@@ -1457,6 +1457,8 @@ void IRTranslator::finishPendingPhis() {
bool IRTranslator::valueIsSplit(const Value &V,
SmallVectorImpl<uint64_t> *Offsets) {
SmallVector<LLT, 4> SplitTys;
+ if (Offsets && !Offsets->empty())
+ Offsets->clear();
computeValueLLTs(*DL, *V.getType(), SplitTys, Offsets);
return SplitTys.size() > 1;
}
OpenPOWER on IntegriCloud