llvm-6502/lib
Elena Demikhovsky 43afab3bdb Extended syntax of vector version of getelementptr instruction.
The justification of this change is here: http://lists.cs.uiuc.edu/pipermail/llvmdev/2015-March/082989.html

According to the current GEP syntax, vector GEP requires that each index must be a vector with the same number of elements.

%A = getelementptr i8, <4 x i8*> %ptrs, <4 x i64> %offsets

In this implementation I let each index be or vector or scalar. All vector indices must have the same number of elements. The scalar value will mean the splat vector value.

(1) %A = getelementptr i8, i8* %ptr, <4 x i64> %offsets
or
(2) %A = getelementptr i8, <4 x i8*> %ptrs, i64 %offset

In all cases the %A type is <4 x i8*>

In the case (2) we add the same offset to all pointers.

The case (1) covers C[B[i]] case, when we have the same base C and different offsets B[i].

The documentation is updated.

http://reviews.llvm.org/D10496




git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@241788 91177308-0d34-0410-b5e6-96231b3b80d8
2015-07-09 07:42:48 +00:00
..
Analysis [LAA] Fix line break in comment 2015-07-09 06:47:21 +00:00
AsmParser Extended syntax of vector version of getelementptr instruction. 2015-07-09 07:42:48 +00:00
Bitcode Remove always-true comparison, NFC. 2015-07-03 20:12:01 +00:00
CodeGen Extended syntax of vector version of getelementptr instruction. 2015-07-09 07:42:48 +00:00
DebugInfo Return ErrorOr from getSymbolAddress. 2015-07-03 18:19:00 +00:00
ExecutionEngine Fix the -DBUILD_SHARED_LIBS=ON build. 2015-07-07 17:48:00 +00:00
Fuzzer
IR Extended syntax of vector version of getelementptr instruction. 2015-07-09 07:42:48 +00:00
IRReader
LibDriver Start adding support for writing archives in BSD format. 2015-07-08 20:47:32 +00:00
LineEditor
Linker
LTO LTO: expose LTO_SYMBOL_ALIAS, which indicates that the symbol is an alias. 2015-07-04 03:42:35 +00:00
MC MC: Constify MCSubtargetInfo in getDeprecationInfo(), NFC 2015-07-08 17:30:55 +00:00
Object Don't reject an archive with just a symbol table. 2015-07-08 22:27:54 +00:00
Option
Passes
ProfileData
Support [Triple] Add a helper to switch between big/little endian variants 2015-07-06 23:58:14 +00:00
TableGen [TableGen] Change a couple methods to return an ArrayRef instead of a const std::vector reference. NFC 2015-07-06 06:23:01 +00:00
Target Remove getDataLayout() from TargetSelectionDAGInfo (had no users) 2015-07-09 02:10:08 +00:00
Transforms [SLPVectorizer] Try different vectorization factors for store chains 2015-07-08 23:40:55 +00:00
CMakeLists.txt
LLVMBuild.txt
Makefile