[PATCH] D27105: [Constants] Add "stepvector" to represent the sequence 0, 1, 2, 3... [IR support for SVE scalable vectors 4/4]
Paul Walker via llvm-commits
llvm-commits at lists.llvm.org
Thu Nov 24 07:25:14 PST 2016
paulwalker-arm created this revision.
paulwalker-arm added reviewers: hfinkel, mkuper.
paulwalker-arm added a subscriber: llvm-commits.
Herald added a subscriber: mehdi_amini.
Herald added a reviewer: deadalnix.
[Constants] Add "stepvector" to represent the sequence 0,1,2,3...
The sequence "<i32 0, i32 1, i32 2, i32 3...>" is represented by
a ConstantVector containing an ArrayRef of all element values.
For scalable vectors, where the element count is unknown, such a
representation is impossible.
Instead the complex constant "stepvector" can be used wherever an
integer vector is expected. This allows the majority of vector
sequences required for vectorisation to be produced for all vector
types. Example Usage:
getelementptr i8, i8* %ptr, <n x 4 x i32> stepvector
getelementptr i8, i8* %ptr, <4 x i32> stepvector
NOTE: The non-scalable vector case will utilise ConstantVector.
https://reviews.llvm.org/D27105
Files:
docs/LangRef.rst
include/llvm-c/Core.h
include/llvm/Bitcode/LLVMBitCodes.h
include/llvm/IR/Constants.h
include/llvm/IR/Value.def
lib/AsmParser/LLLexer.cpp
lib/AsmParser/LLParser.cpp
lib/AsmParser/LLParser.h
lib/AsmParser/LLToken.h
lib/Bitcode/Reader/BitcodeReader.cpp
lib/Bitcode/Writer/BitcodeWriter.cpp
lib/IR/AsmWriter.cpp
lib/IR/Constants.cpp
lib/IR/LLVMContextImpl.cpp
lib/IR/LLVMContextImpl.h
test/Bitcode/compatibility.ll
test/Transforms/ConstProp/constant-expr.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D27105.79234.patch
Type: text/x-patch
Size: 10933 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20161124/27ba0118/attachment.bin>
More information about the llvm-commits
mailing list