Author: hans Date: Tue Aug 21 16:02:55 2018 New Revision: 340358 URL: http://llvm.org/viewvc/llvm-project?rev=340358&view=rev Log: Merging r339674: ------------------------------------------------------------------------ r339674 | aemerson | 2018-08-14 14:04:25 +0200 (Tue, 14 Aug 2018) | 3 lines
[GlobalISel][IRTranslator] Fix a bug in handling repeating struct types during argument lowering. Differential Revision: https://reviews.llvm.org/D49442 ------------------------------------------------------------------------ Added: llvm/branches/release_70/test/CodeGen/AArch64/GlobalISel/irtranslator-duplicate-types-param.ll - copied unchanged from r339674, llvm/trunk/test/CodeGen/AArch64/GlobalISel/irtranslator-duplicate-types-param.ll Modified: llvm/branches/release_70/ (props changed) llvm/branches/release_70/include/llvm/CodeGen/GlobalISel/IRTranslator.h llvm/branches/release_70/lib/CodeGen/GlobalISel/IRTranslator.cpp Propchange: llvm/branches/release_70/ ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Tue Aug 21 16:02:55 2018 @@ -1,3 +1,3 @@ /llvm/branches/Apple/Pertwee:110850,110961 /llvm/branches/type-system-rewrite:133420-134817 -/llvm/trunk:155241,338552,338554,338569,338599,338610,338658,338665,338682,338703,338709,338716,338751,338762,338817,338841,338902,338915,338968,339073,339091,339166,339179,339184,339190,339225,339316,339319,339411,339492,339515,339533,339535-339536,339600,339636,339769,339822,339883,339895-339896,339945,340158 +/llvm/trunk:155241,338552,338554,338569,338599,338610,338658,338665,338682,338703,338709,338716,338751,338762,338817,338841,338902,338915,338968,339073,339091,339166,339179,339184,339190,339225,339316,339319,339411,339492,339515,339533,339535-339536,339600,339636,339674,339769,339822,339883,339895-339896,339945,340158 Modified: llvm/branches/release_70/include/llvm/CodeGen/GlobalISel/IRTranslator.h URL: http://llvm.org/viewvc/llvm-project/llvm/branches/release_70/include/llvm/CodeGen/GlobalISel/IRTranslator.h?rev=340358&r1=340357&r2=340358&view=diff ============================================================================== --- llvm/branches/release_70/include/llvm/CodeGen/GlobalISel/IRTranslator.h (original) +++ llvm/branches/release_70/include/llvm/CodeGen/GlobalISel/IRTranslator.h Tue Aug 21 16:02:55 2018 @@ -232,6 +232,7 @@ private: /// Returns true if the value should be split into multiple LLTs. /// If \p Offsets is given then the split type's offsets will be stored in it. + /// If \p Offsets is not empty it will be cleared first. bool valueIsSplit(const Value &V, SmallVectorImpl<uint64_t> *Offsets = nullptr); Modified: llvm/branches/release_70/lib/CodeGen/GlobalISel/IRTranslator.cpp URL: http://llvm.org/viewvc/llvm-project/llvm/branches/release_70/lib/CodeGen/GlobalISel/IRTranslator.cpp?rev=340358&r1=340357&r2=340358&view=diff ============================================================================== --- llvm/branches/release_70/lib/CodeGen/GlobalISel/IRTranslator.cpp (original) +++ llvm/branches/release_70/lib/CodeGen/GlobalISel/IRTranslator.cpp Tue Aug 21 16:02:55 2018 @@ -1435,6 +1435,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; } _______________________________________________ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits