Revision
302515
by bollu:
[Polly][PPCGCodeGen] OpenCL now gets kernel argument size from PPCG CodeGen Summary: PPCGCodeGeneration now attaches the size of the kernel launch parameters at the end of the parameter list. For the existing CUDA Runtime, this gets ignored, but the OpenCL Runtime knows to check for kernel-argument size at the end of the parameter list. (The resulting parameters list is twice as long. This has been accounted for in the corresponding test cases). Reviewers: grosser, Meinersbur, bollu Reviewed By: bollu Subscribers: nemanjai, yaxunl, Anastasia, pollydev, llvm-commits Tags: #polly Differential Revision: https://reviews.llvm.org/D32961 |
Change Type | Path in Repository | Path in Workspace |
---|
 | /polly/trunk/lib/CodeGen/PPCGCodeGeneration.cpp (diff) | llvm-revision.src/polly/trunk/lib/CodeGen/PPCGCodeGeneration.cpp |
 | /polly/trunk/test/GPGPU/cuda-managed-memory-simple.ll (diff) | llvm-revision.src/polly/trunk/test/GPGPU/cuda-managed-memory-simple.ll |
 | /polly/trunk/test/GPGPU/host-control-flow.ll (diff) | llvm-revision.src/polly/trunk/test/GPGPU/host-control-flow.ll |
 | /polly/trunk/test/GPGPU/kernel-params-only-some-arrays.ll (diff) | llvm-revision.src/polly/trunk/test/GPGPU/kernel-params-only-some-arrays.ll |
 | /polly/trunk/test/GPGPU/parametric-loop-bound.ll (diff) | llvm-revision.src/polly/trunk/test/GPGPU/parametric-loop-bound.ll |
 | /polly/trunk/tools/GPURuntime/GPUJIT.c (diff) | llvm-revision.src/polly/trunk/tools/GPURuntime/GPUJIT.c |
Revision
302514
by aemerson:
Introduce experimental generic intrinsics for horizontal vector reductions. - This change allows targets to opt-in to using them instead of the log2 shufflevector algorithm. - The SLP and Loop vectorizers have the common code to do shuffle reductions factored out into LoopUtils, and now have a unified interface for generating reductions regardless of the preference of the target. LoopUtils now uses TTI to determine what kind of reductions the target wants to handle. - For CodeGen, basic legalization support is added. Differential Revision: https://reviews.llvm.org/D30086 |
Change Type | Path in Repository | Path in Workspace |
---|
 | /llvm/trunk/docs/LangRef.rst (diff) | llvm-revision.src/llvm/trunk/docs/LangRef.rst |
 | /llvm/trunk/include/llvm/Analysis/TargetTransformInfo.h (diff) | llvm-revision.src/llvm/trunk/include/llvm/Analysis/TargetTransformInfo.h |
 | /llvm/trunk/include/llvm/Analysis/TargetTransformInfoImpl.h (diff) | llvm-revision.src/llvm/trunk/include/llvm/Analysis/TargetTransformInfoImpl.h |
 | /llvm/trunk/include/llvm/CodeGen/ISDOpcodes.h (diff) | llvm-revision.src/llvm/trunk/include/llvm/CodeGen/ISDOpcodes.h |
 | /llvm/trunk/include/llvm/IR/IRBuilder.h (diff) | llvm-revision.src/llvm/trunk/include/llvm/IR/IRBuilder.h |
 | /llvm/trunk/include/llvm/IR/Intrinsics.td (diff) | llvm-revision.src/llvm/trunk/include/llvm/IR/Intrinsics.td |
 | /llvm/trunk/include/llvm/Transforms/Utils/LoopUtils.h (diff) | llvm-revision.src/llvm/trunk/include/llvm/Transforms/Utils/LoopUtils.h |
 | /llvm/trunk/lib/Analysis/TargetTransformInfo.cpp (diff) | llvm-revision.src/llvm/trunk/lib/Analysis/TargetTransformInfo.cpp |
 | /llvm/trunk/lib/Analysis/VectorUtils.cpp (diff) | llvm-revision.src/llvm/trunk/lib/Analysis/VectorUtils.cpp |
 | /llvm/trunk/lib/CodeGen/SelectionDAG/LegalizeTypes.h (diff) | llvm-revision.src/llvm/trunk/lib/CodeGen/SelectionDAG/LegalizeTypes.h |
 | /llvm/trunk/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp (diff) | llvm-revision.src/llvm/trunk/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp |
 | /llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAG.cpp (diff) | llvm-revision.src/llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAG.cpp |
 | /llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp (diff) | llvm-revision.src/llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp |
 | /llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h (diff) | llvm-revision.src/llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h |
 | /llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp (diff) | llvm-revision.src/llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp |
 | /llvm/trunk/lib/IR/IRBuilder.cpp (diff) | llvm-revision.src/llvm/trunk/lib/IR/IRBuilder.cpp |
 | /llvm/trunk/lib/Transforms/Utils/LoopUtils.cpp (diff) | llvm-revision.src/llvm/trunk/lib/Transforms/Utils/LoopUtils.cpp |
 | /llvm/trunk/lib/Transforms/Vectorize/LoopVectorize.cpp (diff) | llvm-revision.src/llvm/trunk/lib/Transforms/Vectorize/LoopVectorize.cpp |
 | /llvm/trunk/lib/Transforms/Vectorize/SLPVectorizer.cpp (diff) | llvm-revision.src/llvm/trunk/lib/Transforms/Vectorize/SLPVectorizer.cpp |