diff options
author | Graham Hunter <graham.hunter@arm.com> | 2019-06-18 10:11:56 +0000 |
---|---|---|
committer | Graham Hunter <graham.hunter@arm.com> | 2019-06-18 10:11:56 +0000 |
commit | 43854e3ccc7fb9fa2cbe37529a72f77ca512bb86 (patch) | |
tree | 3d8e9fffe51fc8b98b23a09d22a7070b339c9672 /llvm/lib/Bitcode/Writer | |
parent | 6658bfb171afa65ca11bd729fcc0301d5d09543e (diff) | |
download | bcm5719-llvm-43854e3ccc7fb9fa2cbe37529a72f77ca512bb86.tar.gz bcm5719-llvm-43854e3ccc7fb9fa2cbe37529a72f77ca512bb86.zip |
[SVE][IR] Scalable Vector IR Type with pr42210 fix
Recommit of D32530 with a few small changes:
- Stopped recursively walking through aggregates in
the verifier, so that we don't impose too much
overhead on large modules under LTO (see PR42210).
- Changed tests to match; the errors are slightly
different since they only report the array or
struct that actually contains a scalable vector,
rather than all aggregates which contain one in
a nested member.
- Corrected an older comment
Reviewers: thakis, rengolin, sdesmalen
Reviewed By: sdesmalen
Differential Revision: https://reviews.llvm.org/D63321
llvm-svn: 363658
Diffstat (limited to 'llvm/lib/Bitcode/Writer')
-rw-r--r-- | llvm/lib/Bitcode/Writer/BitcodeWriter.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/llvm/lib/Bitcode/Writer/BitcodeWriter.cpp b/llvm/lib/Bitcode/Writer/BitcodeWriter.cpp index 1f39fa34a8b..1cf55ba813a 100644 --- a/llvm/lib/Bitcode/Writer/BitcodeWriter.cpp +++ b/llvm/lib/Bitcode/Writer/BitcodeWriter.cpp @@ -938,10 +938,13 @@ void ModuleBitcodeWriter::writeTypeTable() { } case Type::VectorTyID: { VectorType *VT = cast<VectorType>(T); - // VECTOR [numelts, eltty] + // VECTOR [numelts, eltty] or + // [numelts, eltty, scalable] Code = bitc::TYPE_CODE_VECTOR; TypeVals.push_back(VT->getNumElements()); TypeVals.push_back(VE.getTypeID(VT->getElementType())); + if (VT->isScalable()) + TypeVals.push_back(VT->isScalable()); break; } } |