llvm-6502/lib/IR
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
..
AsmWriter.cpp Add a DIModule metadata node to the IR. 2015-06-29 23:03:47 +00:00
AttributeImpl.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
Attributes.cpp Protection against stack-based memory corruption errors using SafeStack 2015-06-15 21:07:11 +00:00
AutoUpgrade.cpp Remove always-true comparison, NFC. 2015-07-03 20:12:01 +00:00
BasicBlock.cpp Revert "Revert r241570, it caused PR24053" 2015-07-07 18:49:41 +00:00
CMakeLists.txt [opaque pointer type] Explicit pointee type for GEPOperator/GEPConstantExpr. 2015-05-08 00:42:26 +00:00
Comdat.cpp
ConstantFold.cpp Refix a use of explicit pointer types in GEP constant folding 2015-06-12 18:22:03 +00:00
ConstantFold.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
ConstantRange.cpp
Constants.cpp Devirtualize Constant::replaceUsesOfWithOnConstant. 2015-06-24 18:55:24 +00:00
ConstantsContext.h Fix some odd whitespace and formatting errors while making 2015-05-18 21:49:02 +00:00
Core.cpp Move the personality function from LandingPadInst to Function 2015-06-17 20:52:32 +00:00
DataLayout.cpp
DebugInfo.cpp Add a DIModule metadata node to the IR. 2015-06-29 23:03:47 +00:00
DebugInfoMetadata.cpp Add a DIModule metadata node to the IR. 2015-06-29 23:03:47 +00:00
DebugLoc.cpp IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
DiagnosticInfo.cpp Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
DiagnosticPrinter.cpp MIR Serialization: Connect the machine function analysis pass to the MIR parser. 2015-06-15 20:30:22 +00:00
DIBuilder.cpp DIBuilder: Don't rauw null pointers with empty arrays in finalize(). 2015-07-06 16:36:02 +00:00
Dominators.cpp [DomTree] verifyDomTree to unconditionally perform DT verification 2015-05-06 08:18:41 +00:00
Function.cpp [CallGraph] Teach the CallGraph about non-leaf intrinsics. 2015-06-18 19:28:26 +00:00
GCOV.cpp Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
Globals.cpp Devirtualize Constant::replaceUsesOfWithOnConstant. 2015-06-24 18:55:24 +00:00
GVMaterializer.cpp
InlineAsm.cpp Silence sign compare warning. NFC. 2015-03-29 20:49:03 +00:00
Instruction.cpp Devirtualize Instruction::clone_impl 2015-06-24 20:22:23 +00:00
Instructions.cpp Add functions for adding and testing string attributes to CallInst. NFC. 2015-07-02 22:08:48 +00:00
IntrinsicInst.cpp
IRBuilder.cpp IRBuilder: Allow globals to be constructed in a specific address space 2015-06-19 02:12:07 +00:00
IRPrintingPasses.cpp Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
LegacyPassManager.cpp Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
LLVMBuild.txt
LLVMContext.cpp Silence an MSVC warning about not all control paths returning a value; NFC. 2015-06-16 13:14:59 +00:00
LLVMContextImpl.cpp Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
LLVMContextImpl.h Add a DIModule metadata node to the IR. 2015-06-29 23:03:47 +00:00
Makefile
Mangler.cpp Remove unused arguments and move ManglerPrefixTy to the implementation. 2015-06-23 14:11:09 +00:00
MDBuilder.cpp Add isConstant argument to MDBuilder::createTBAAStructTagNode 2015-06-01 14:53:55 +00:00
Metadata.cpp Tweak wording of alignment static_assert messages. 2015-06-17 13:53:12 +00:00
MetadataImpl.h
MetadataTracking.cpp
Module.cpp While in GlobalValue fix the function(s) that don't follow the 2015-05-15 18:20:14 +00:00
module.modulemap
Operator.cpp Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
Pass.cpp Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
PassManager.cpp
PassRegistry.cpp
Statepoint.cpp
SymbolTableListTraitsImpl.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
Type.cpp Int128 is also a built-in preconstructed type. 2015-06-02 23:56:53 +00:00
TypeFinder.cpp Move the personality function from LandingPadInst to Function 2015-06-17 20:52:32 +00:00
Use.cpp Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
User.cpp Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
Value.cpp Devirtualize Constant::replaceUsesOfWithOnConstant. 2015-06-24 18:55:24 +00:00
ValueSymbolTable.cpp Changed renaming of local symbols by inserting a dot vefore the numeric suffix. 2015-05-12 16:47:30 +00:00
ValueTypes.cpp Add support for v1i128 type. 2015-04-17 16:11:05 +00:00
Verifier.cpp Extended syntax of vector version of getelementptr instruction. 2015-07-09 07:42:48 +00:00