SuccessChanges

Summary

  1. Fix Windows test failures caused by identical temp file names. This patch fixes test failures that occur on Windows because the tests attempt to generate two distinct temp file names but get the same name both time. The fix for this is to create the first temp file before requesting a second temporary file name. This ensures that the second name will be unique.
  2. Accept Windows specific output in system error tests
  3. Fix two test failures caused by Windows mangling of function types. On Windows the function template `template <class T> void test()` has the same mangled name when instantiated with the distinct types `void()` and `void() noexcept`. When this occurs Clang emits an error. This error was causing two type-traits tests to fail. However this can be worked around by using class templates instead of function templates, which is what this patch does to fix the errors.
  4. [Polly] Added OpenCL Runtime to GPURuntime Library for GPGPU CodeGen Summary: When compiling for GPU, one can now choose to compile for OpenCL or CUDA, with the corresponding polly-gpu-runtime flag (libopencl / libcudart). The GPURuntime library (GPUJIT) has been extended with the OpenCL Runtime library for that purpose, correctly choosing the corresponding library calls to the option chosen when compiling (via different initialization calls). Additionally, a specific GPU Target architecture can now be chosen with -polly-gpu-arch (only nvptx64 implemented thus far). Reviewers: grosser, bollu, Meinersbur, etherzhhb, singam-sanjay Reviewed By: grosser, Meinersbur Subscribers: singam-sanjay, llvm-commits, pollydev, nemanjai, mgorny, yaxunl, Anastasia Tags: #polly Differential Revision: https://reviews.llvm.org/D32431
  5. [X86][AVX1] Improve 256-bit vector costs for integer unary intrinsics. Account for subvector extraction/insertion, helps prevent the vectorizers from selecting 256-bit vectors that will have to be split anyhow on AVX1 targets.
Revision 302382 by ericwf:
Fix Windows test failures caused by identical temp file names.

This patch fixes test failures that occur on Windows because
the tests attempt to generate two distinct temp file names but
get the same name both time.

The fix for this is to create the first temp file before requesting
a second temporary file name. This ensures that the second name
will be unique.
Change TypePath in RepositoryPath in Workspace
The file was modified/libcxx/trunk/test/std/input.output/file.streams/fstreams/fstream.assign/member_swap.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/input.output/file.streams/fstreams/fstream.assign/member_swap.pass.cpp
The file was modified/libcxx/trunk/test/std/input.output/file.streams/fstreams/fstream.assign/nonmember_swap.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/input.output/file.streams/fstreams/fstream.assign/nonmember_swap.pass.cpp
The file was modified/libcxx/trunk/test/std/input.output/file.streams/fstreams/ofstream.assign/member_swap.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/input.output/file.streams/fstreams/ofstream.assign/member_swap.pass.cpp
The file was modified/libcxx/trunk/test/std/input.output/file.streams/fstreams/ofstream.assign/nonmember_swap.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/input.output/file.streams/fstreams/ofstream.assign/nonmember_swap.pass.cpp
Revision 302381 by ericwf:
Accept Windows specific output in system error tests
Change TypePath in RepositoryPath in Workspace
The file was modified/libcxx/trunk/test/std/diagnostics/syserr/syserr.errcat/syserr.errcat.objects/generic_category.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/diagnostics/syserr/syserr.errcat/syserr.errcat.objects/generic_category.pass.cpp
The file was modified/libcxx/trunk/test/std/diagnostics/syserr/syserr.errcat/syserr.errcat.objects/system_category.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/diagnostics/syserr/syserr.errcat/syserr.errcat.objects/system_category.pass.cpp
Revision 302380 by ericwf:
Fix two test failures caused by Windows mangling of function types.

On Windows the function template `template <class T> void test()` has
the same mangled name when instantiated with the distinct types `void()`
and `void() noexcept`. When this occurs Clang emits an error. This error
was causing two type-traits tests to fail.

However this can be worked around by using class templates instead of
function templates, which is what this patch does to fix the errors.
Change TypePath in RepositoryPath in Workspace
The file was modified/libcxx/trunk/test/std/utilities/meta/meta.unary/meta.unary.cat/is_function.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/utilities/meta/meta.unary/meta.unary.cat/is_function.pass.cpp
The file was modified/libcxx/trunk/test/std/utilities/meta/meta.unary/meta.unary.cat/member_function_pointer.pass.cpp (diff)llvm-revision.src/libcxx/trunk/test/std/utilities/meta/meta.unary/meta.unary.cat/member_function_pointer.pass.cpp
Revision 302379 by bollu:
[Polly] Added OpenCL Runtime to GPURuntime Library for GPGPU CodeGen

Summary:
When compiling for GPU, one can now choose to compile for OpenCL or CUDA,
with the corresponding polly-gpu-runtime flag (libopencl / libcudart). The
GPURuntime library (GPUJIT) has been extended with the OpenCL Runtime library
for that purpose, correctly choosing the corresponding library calls to the
option chosen when compiling (via different initialization calls).

Additionally, a specific GPU Target architecture can now be chosen with -polly-gpu-arch (only nvptx64 implemented thus far).

Reviewers: grosser, bollu, Meinersbur, etherzhhb, singam-sanjay

Reviewed By: grosser, Meinersbur

Subscribers: singam-sanjay, llvm-commits, pollydev, nemanjai, mgorny, yaxunl, Anastasia

Tags: #polly

Differential Revision: https://reviews.llvm.org/D32431
Change TypePath in RepositoryPath in Workspace
The file was modified/polly/trunk/CMakeLists.txt (diff)llvm-revision.src/polly/trunk/CMakeLists.txt
The file was added/polly/trunk/include/polly/CodeGen/PPCGCodeGeneration.hllvm-revision.src/polly/trunk/include/polly/CodeGen/PPCGCodeGeneration.h
The file was modified/polly/trunk/include/polly/LinkAllPasses.h (diff)llvm-revision.src/polly/trunk/include/polly/LinkAllPasses.h
The file was modified/polly/trunk/lib/CodeGen/PPCGCodeGeneration.cpp (diff)llvm-revision.src/polly/trunk/lib/CodeGen/PPCGCodeGeneration.cpp
The file was modified/polly/trunk/lib/Support/RegisterPasses.cpp (diff)llvm-revision.src/polly/trunk/lib/Support/RegisterPasses.cpp
The file was modified/polly/trunk/test/GPGPU/cuda-managed-memory-simple.ll (diff)llvm-revision.src/polly/trunk/test/GPGPU/cuda-managed-memory-simple.ll
The file was modified/polly/trunk/test/GPGPU/size-cast.ll (diff)llvm-revision.src/polly/trunk/test/GPGPU/size-cast.ll
The file was modified/polly/trunk/tools/CMakeLists.txt (diff)llvm-revision.src/polly/trunk/tools/CMakeLists.txt
The file was modified/polly/trunk/tools/GPURuntime/GPUJIT.c (diff)llvm-revision.src/polly/trunk/tools/GPURuntime/GPUJIT.c
The file was modified/polly/trunk/tools/GPURuntime/GPUJIT.h (diff)llvm-revision.src/polly/trunk/tools/GPURuntime/GPUJIT.h
Revision 302378 by rksimon:
[X86][AVX1] Improve 256-bit vector costs for integer unary intrinsics.

Account for subvector extraction/insertion, helps prevent the vectorizers from selecting 256-bit vectors that will have to be split anyhow on AVX1 targets.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/X86/X86TargetTransformInfo.cpp (diff)llvm-revision.src/llvm/trunk/lib/Target/X86/X86TargetTransformInfo.cpp
The file was modified/llvm/trunk/test/Analysis/CostModel/X86/bitreverse.ll (diff)llvm-revision.src/llvm/trunk/test/Analysis/CostModel/X86/bitreverse.ll
The file was modified/llvm/trunk/test/Analysis/CostModel/X86/ctbits-cost.ll (diff)llvm-revision.src/llvm/trunk/test/Analysis/CostModel/X86/ctbits-cost.ll