1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-20 19:42:54 +02:00
llvm-mirror/include/llvm/IR
Elena Demikhovsky 88c04dfc81 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

llvm-svn: 241788
2015-07-09 07:42:48 +00:00
..
Argument.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
AssemblyAnnotationWriter.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
Attributes.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
AutoUpgrade.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
BasicBlock.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
CallingConv.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
CallSite.h [Verifier] Follow on to 240836 2015-06-26 22:04:34 +00:00
CFG.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
CMakeLists.txt
Comdat.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
Constant.h Devirtualize Constant::replaceUsesOfWithOnConstant. 2015-06-24 18:55:24 +00:00
ConstantFolder.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
ConstantRange.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
Constants.h Devirtualize Constant::replaceUsesOfWithOnConstant. 2015-06-24 18:55:24 +00:00
DataLayout.h DataLayout now returns a const ref to its member string representation 2015-06-26 20:44:16 +00:00
DebugInfo.h IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
DebugInfoFlags.def IR: Move DebugInfo Flag* definitions to .def file, NFC 2015-02-21 00:37:53 +00:00
DebugInfoMetadata.h Use the correct DIArray types in DICompileUnit::replace*(). 2015-07-06 16:22:07 +00:00
DebugLoc.h IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
DerivedTypes.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
DiagnosticInfo.h MIR Serialization: Connect the machine function analysis pass to the MIR parser. 2015-06-15 20:30:22 +00:00
DiagnosticPrinter.h MIR Serialization: Connect the machine function analysis pass to the MIR parser. 2015-06-15 20:30:22 +00:00
DIBuilder.h DIBuilder: Now that DICompileUnit is distinct, stop using temporary nodes 2015-07-02 22:32:52 +00:00
Dominators.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
Function.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
GetElementPtrTypeIterator.h [opaque pointer type] Allow gep_type_iterator to work with the pointee type from the GEP instruction 2015-05-21 21:12:43 +00:00
GlobalAlias.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
GlobalObject.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
GlobalValue.h IR: Do not consider available_externally linkage to be linker-weak. 2015-07-05 20:52:35 +00:00
GlobalVariable.h Devirtualize Constant::replaceUsesOfWithOnConstant. 2015-06-24 18:55:24 +00:00
GVMaterializer.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
InlineAsm.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
InstIterator.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
InstrTypes.h Devirtualize Instruction::clone_impl 2015-06-24 20:22:23 +00:00
Instruction.def
Instruction.h Fix comment typo. NFC 2015-07-07 20:57:47 +00:00
Instructions.h Extended syntax of vector version of getelementptr instruction. 2015-07-09 07:42:48 +00:00
InstVisitor.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
IntrinsicInst.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
Intrinsics.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
Intrinsics.td [WinEH] Add localaddress intrinsic instead of using frameaddress 2015-07-07 23:23:03 +00:00
IntrinsicsAArch64.td
IntrinsicsAMDGPU.td AMDGPU: Fix filename in comment 2015-06-19 17:56:51 +00:00
IntrinsicsARM.td Do not treat ARM _MoveToCoprocessor* intrinsics as MSBuiltins. 2015-06-24 06:07:41 +00:00
IntrinsicsBPF.td [bpf] add support for bpf pseudo instruction 2015-03-27 18:51:42 +00:00
IntrinsicsHexagon.td [Hexagon] Intrinsics for circular and bit-reversed loads and stores 2015-03-18 16:23:44 +00:00
IntrinsicsMips.td
IntrinsicsNVVM.td
IntrinsicsPowerPC.td Add missing builtins to the PPC back end for ABI compliance (vol. 2) 2015-07-05 06:03:51 +00:00
IntrinsicsSystemZ.td [SystemZ] Add vector intrinsics 2015-05-05 19:31:09 +00:00
IntrinsicsX86.td Rename llvm.frameescape and llvm.framerecover to localescape and localrecover 2015-07-07 22:25:32 +00:00
IntrinsicsXCore.td
IRBuilder.h [IRBuilder] Delete unused constructor and SetInsertPoint overload. 2015-06-30 22:38:22 +00:00
IRPrintingPasses.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
LegacyPassManager.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
LegacyPassManagers.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
LegacyPassNameParser.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
LLVMContext.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
Mangler.h Remove unused arguments and move ManglerPrefixTy to the implementation. 2015-06-23 14:11:09 +00:00
MDBuilder.h Add isConstant argument to MDBuilder::createTBAAStructTagNode 2015-06-01 14:53:55 +00:00
Metadata.def Add a DIModule metadata node to the IR. 2015-06-29 23:03:47 +00:00
Metadata.h Add a DIModule metadata node to the IR. 2015-06-29 23:03:47 +00:00
MetadataTracking.h IR: Split Metadata from Value 2014-12-09 18:38:53 +00:00
Module.h DataLayout now returns a const ref to its member string representation 2015-06-26 20:44:16 +00:00
ModuleSlotTracker.h CodeGen: Push the ModuleSlotTracker through Metadata 2015-06-26 22:28:47 +00:00
NoFolder.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
OperandTraits.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
Operator.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
PassManager.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
PassManagerInternal.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
PatternMatch.h [InstCombine][CodeGenPrep] Create llvm.uadd.with.overflow in CGP. 2015-04-10 21:07:09 +00:00
PredIteratorCache.h Revamp PredIteratorCache interface to be cleaner. 2015-04-21 21:11:50 +00:00
Statepoint.h [Statepoints] Make operator bool() explicit. 2015-07-02 18:15:18 +00:00
SymbolTableListTraits.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
TrackingMDRef.h Add a C++ marker to this header file. 2014-12-22 19:07:45 +00:00
Type.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
TypeBuilder.h Update comment. NFC. 2015-04-21 21:15:35 +00:00
TypeFinder.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
Use.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
UseListOrder.h uselistorder: Remove the global bits 2015-04-15 03:14:06 +00:00
User.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
Value.def Create Value.def helper. NFC. 2015-06-22 23:48:35 +00:00
Value.h IR: Expose ModuleSlotTracker in Value::print() 2015-06-27 00:38:26 +00:00
ValueHandle.h Add simplify_type<const WeakVH>; simplify IndVarSimplify 2015-06-24 22:23:21 +00:00
ValueMap.h [Mips] Use unique_ptr to manage ownership. 2015-04-16 12:43:33 +00:00
ValueSymbolTable.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
Verifier.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00