llvm-6502/lib/VMCore
Duncan Sands 2333e29be4 Relax the restrictions on vector of pointer types, and vector getelementptr.
Previously in a vector of pointers, the pointer couldn't be any pointer type,
it had to be a pointer to an integer or floating point type.  This is a hassle
for dragonegg because the GCC vectorizer happily produces vectors of pointers
where the pointer is a pointer to a struct or whatever.  Vector getelementptr
was restricted to just one index, but now that vectors of pointers can have
any pointer type it is more natural to allow arbitrary vector getelementptrs.
There is however the issue of struct GEPs, where if each lane chose different
struct fields then from that point on each lane will be working down into
unrelated types.  This seems like too much pain for too little gain, so when
you have a vector struct index all the elements are required to be the same.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167828 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-13 12:59:33 +00:00
..
AsmWriter.cpp
Attributes.cpp Change ForceSizeOpt attribute into MinSize attribute 2012-10-30 16:32:52 +00:00
AttributesImpl.h
AutoUpgrade.cpp
BasicBlock.cpp
CMakeLists.txt Don't explicitly require RTTI and EH. 2012-10-26 12:15:29 +00:00
ConstantFold.cpp Fix isEliminableCastPair to work correctly in the presence of pointers 2012-10-30 16:03:32 +00:00
ConstantFold.h
Constants.cpp Relax the restrictions on vector of pointer types, and vector getelementptr. 2012-11-13 12:59:33 +00:00
ConstantsContext.h
Core.cpp
DataLayout.cpp Enable the assertion in getIntPtrType (I've audited all users of this method and 2012-11-02 09:02:37 +00:00
DebugInfo.cpp
DebugLoc.cpp
DIBuilder.cpp Use the 'count' attribute instead of the 'upper_bound' attribute. 2012-11-13 02:31:47 +00:00
Dominators.cpp
Function.cpp
GCOV.cpp
Globals.cpp
GVMaterializer.cpp
InlineAsm.cpp
Instruction.cpp
Instructions.cpp Relax the restrictions on vector of pointer types, and vector getelementptr. 2012-11-13 12:59:33 +00:00
IntrinsicInst.cpp
IRBuilder.cpp
LeakDetector.cpp
LeaksContext.h
LLVMBuild.txt
LLVMContext.cpp
LLVMContextImpl.cpp
LLVMContextImpl.h
Makefile Don't explicitly require RTTI and EH. 2012-10-26 12:15:29 +00:00
Metadata.cpp
Module.cpp
Pass.cpp
PassManager.cpp Revert r167759. Ben is right this isn't likely to help much. 2012-11-13 02:56:38 +00:00
PassRegistry.cpp
PrintModulePass.cpp
SymbolTableListTraitsImpl.h
TargetTransformInfo.cpp Lowercase the argument for TargetTransformInfo so it's consistent with all other passes. 2012-10-26 18:46:15 +00:00
Type.cpp Relax the restrictions on vector of pointer types, and vector getelementptr. 2012-11-13 12:59:33 +00:00
TypeFinder.cpp
Use.cpp
User.cpp
Value.cpp
ValueSymbolTable.cpp
ValueTypes.cpp
Verifier.cpp Relax the restrictions on vector of pointer types, and vector getelementptr. 2012-11-13 12:59:33 +00:00