r256121 - [X86] Add signed aliases for popcnt intrinsics
Author: mkuper Date: Sun Dec 20 06:35:35 2015 New Revision: 256121 URL: http://llvm.org/viewvc/llvm-project?rev=256121&view=rev Log: [X86] Add signed aliases for popcnt intrinsics The Intel manual documents both an unsigned form (_mm_popcnt_u32) and a signed form (_popcnt32) of the intrinsic. Add the missing signed form. Differential Revision: http://reviews.llvm.org/D15568 Modified: cfe/trunk/lib/Headers/popcntintrin.h cfe/trunk/test/CodeGen/popcnt-builtins.c Modified: cfe/trunk/lib/Headers/popcntintrin.h URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Headers/popcntintrin.h?rev=256121&r1=256120&r2=256121&view=diff == --- cfe/trunk/lib/Headers/popcntintrin.h (original) +++ cfe/trunk/lib/Headers/popcntintrin.h Sun Dec 20 06:35:35 2015 @@ -33,12 +33,24 @@ _mm_popcnt_u32(unsigned int __A) return __builtin_popcount(__A); } +static __inline__ int __DEFAULT_FN_ATTRS +_popcnt32(int __A) +{ + return __builtin_popcount(__A); +} + #ifdef __x86_64__ static __inline__ long long __DEFAULT_FN_ATTRS _mm_popcnt_u64(unsigned long long __A) { return __builtin_popcountll(__A); } + +static __inline__ long long __DEFAULT_FN_ATTRS +_popcnt64(long long __A) +{ + return __builtin_popcountll(__A); +} #endif /* __x86_64__ */ #undef __DEFAULT_FN_ATTRS Modified: cfe/trunk/test/CodeGen/popcnt-builtins.c URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGen/popcnt-builtins.c?rev=256121&r1=256120&r2=256121&view=diff == --- cfe/trunk/test/CodeGen/popcnt-builtins.c (original) +++ cfe/trunk/test/CodeGen/popcnt-builtins.c Sun Dec 20 06:35:35 2015 @@ -6,11 +6,21 @@ #include unsigned int test_mm_popcnt_u32(unsigned int __X) { - // CHECK: @llvm.ctpop.i32 + //CHECK: call i32 @llvm.ctpop.i32 return _mm_popcnt_u32(__X); } +unsigned int test_popcnt_32(int __X) { + //CHECK: call i32 @llvm.ctpop.i32 + return _popcnt32(__X); +} + unsigned long long test_mm_popcnt_u64(unsigned long long __X) { - // CHECK: @llvm.ctpop.i64 + //CHECK: call i64 @llvm.ctpop.i64 return _mm_popcnt_u64(__X); } + +unsigned long long test_popcnt_64(long long __X) { + //CHECK: call i64 @llvm.ctpop.i64 + return _popcnt64(__X); +} ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
r256122 - [X86] Add missing m64/int64 conversions
Author: mkuper Date: Sun Dec 20 06:37:18 2015 New Revision: 256122 URL: http://llvm.org/viewvc/llvm-project?rev=256122&view=rev Log: [X86] Add missing m64/int64 conversions Define the 64-bit equivalents of _m_to_int and _m_from_int. Differential Revision: http://reviews.llvm.org/D15572 Modified: cfe/trunk/lib/Headers/mmintrin.h cfe/trunk/test/CodeGen/mmx-builtins.c Modified: cfe/trunk/lib/Headers/mmintrin.h URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Headers/mmintrin.h?rev=256122&r1=256121&r2=256122&view=diff == --- cfe/trunk/lib/Headers/mmintrin.h (original) +++ cfe/trunk/lib/Headers/mmintrin.h Sun Dec 20 06:37:18 2015 @@ -443,7 +443,9 @@ _mm_setr_pi8(char __b0, char __b1, char /* Aliases for compatibility. */ #define _m_empty _mm_empty #define _m_from_int _mm_cvtsi32_si64 +#define _m_from_int64 _mm_cvtsi64_m64 #define _m_to_int _mm_cvtsi64_si32 +#define _m_to_int64 _mm_cvtm64_si64 #define _m_packsswb _mm_packs_pi16 #define _m_packssdw _mm_packs_pi32 #define _m_packuswb _mm_packs_pu16 Modified: cfe/trunk/test/CodeGen/mmx-builtins.c URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGen/mmx-builtins.c?rev=256122&r1=256121&r2=256122&view=diff == --- cfe/trunk/test/CodeGen/mmx-builtins.c (original) +++ cfe/trunk/test/CodeGen/mmx-builtins.c Sun Dec 20 06:37:18 2015 @@ -223,6 +223,12 @@ __m64 test_m_from_int(int a) { return _m_from_int(a); } +__m64 test_m_from_int64(long long a) { + // CHECK-LABEL: test_m_from_int64 + // CHECK: bitcast + return _m_from_int64(a); +} + __m64 test_mm_hadd_pi16(__m64 a, __m64 b) { // CHECK-LABEL: test_mm_hadd_pi16 // CHECK: call x86_mmx @llvm.x86.ssse3.phadd.w @@ -553,6 +559,12 @@ int test_m_to_int(__m64 a) { return _m_to_int(a); } +long long test_m_to_int64(__m64 a) { + // CHECK-LABEL: test_m_to_int64 + // CHECK: bitcast + return _m_to_int64(a); +} + __m64 test_mm_unpackhi_pi8(__m64 a, __m64 b) { // CHECK-LABEL: test_mm_unpackhi_pi8 // CHECK: call x86_mmx @llvm.x86.mmx.punpckhbw ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
Re: [clang-tools-extra] r255765 - [clang-tidy] Don't use diag() for debug output
I just got the latest llvm svn revision and when I run clang-tidy with -checks="readability-braces-around-statements" I get this error: Assertion failed: (CondEndLoc.isValid()), function findRParenLoc, file ../llvm/tools/clang/tools/extra/clang-tidy/readability/ BracesAroundStatementsCheck.cpp, line 183. Abort trap: 6 Is this related to this change? Thanks! ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
Re: [PATCH] D9600: Add scan-build python implementation
rgov added a subscriber: rgov. rgov added a comment. I tried out intercept-build and found it very easy to use. I tried running it on projects that compile with both make and xcodebuild and it worked for both. Thanks for contributing this tool. http://reviews.llvm.org/D9600 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
Re: [PATCH] D15613: Fix ARM __cxa_end_cleanup() and gc-sections.
logan added a comment. @echristo: IMO, I prefer not to add such comment for two reasons: 1. It will obscure the main idea of this piece of code. 2. It is common to specify the section flags (compilers will emit these flags by default as well), so it is unlikely to be removed in the future. Besides, one can always figure out the reason by checking the commit logs. http://reviews.llvm.org/D15613 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] Install cmake files to lib/cmake/clang
This is the right location for platform-specific files. Also, search for LLVM's CMake files in this directory. --- CMakeLists.txt | 10 +- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 2c54e75..e4a839d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -72,7 +72,7 @@ if( CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR ) find_program(LLVM_TABLEGEN_EXE "llvm-tblgen" ${LLVM_TOOLS_BINARY_DIR} NO_DEFAULT_PATH) - set(LLVM_CMAKE_PATH "${LLVM_BINARY_DIR}/share/llvm/cmake") + set(LLVM_CMAKE_PATH "${LLVM_BINARY_DIR}/lib${LLVM_LIBDIR_SUFFIX}/cmake/llvm") set(LLVMCONFIG_FILE "${LLVM_CMAKE_PATH}/LLVMConfig.cmake") if(EXISTS ${LLVMCONFIG_FILE}) list(APPEND CMAKE_MODULE_PATH "${LLVM_CMAKE_PATH}") @@ -587,24 +587,24 @@ if (CLANG_BUILT_STANDALONE OR CMAKE_VERSION VERSION_EQUAL 3 OR # Generate a list of CMake library targets so that other CMake projects can # link against them. LLVM calls its version of this file LLVMExports.cmake, but # the usual CMake convention seems to be ${Project}Targets.cmake. - set(CLANG_INSTALL_PACKAGE_DIR share/clang/cmake) + set(CLANG_INSTALL_PACKAGE_DIR lib${LLVM_LIBDIR_SUFFIX}/cmake/clang) set(clang_cmake_builddir "${CMAKE_BINARY_DIR}/${CLANG_INSTALL_PACKAGE_DIR}") get_property(CLANG_EXPORTS GLOBAL PROPERTY CLANG_EXPORTS) export(TARGETS ${CLANG_EXPORTS} FILE ${clang_cmake_builddir}/ClangTargets.cmake) - # Install a /share/clang/cmake/ClangConfig.cmake file so that + # Install a /lib/cmake/clang/ClangConfig.cmake file so that # find_package(Clang) works. Install the target list with it. install(EXPORT ClangTargets DESTINATION ${CLANG_INSTALL_PACKAGE_DIR}) install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules/ClangConfig.cmake -DESTINATION share/clang/cmake) +DESTINATION lib${LLVM_LIBDIR_SUFFIX}/cmake/clang) # Also copy ClangConfig.cmake to the build directory so that dependent projects # can build against a build directory of Clang more easily. configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules/ClangConfig.cmake -${CLANG_BINARY_DIR}/share/clang/cmake/ClangConfig.cmake +${CLANG_BINARY_DIR}/lib${LLVM_LIBDIR_SUFFIX}/cmake/clang/ClangConfig.cmake COPYONLY) endif () -- 2.6.4 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
Re: [PATCH] Install cmake files to lib/cmake/clang
On Monday 21 December 2015, 00:10:10 CET, you wrote: > This is the right location for platform-specific files. > > Also, search for LLVM's CMake files in this directory. The corresponding LLVM patch can be found at http://lists.llvm.org/pipermail/llvm-commits/Week-of-Mon-20151214/320963.html > --- > CMakeLists.txt | 10 +- > 1 file changed, 5 insertions(+), 5 deletions(-) > > diff --git a/CMakeLists.txt b/CMakeLists.txt > index 2c54e75..e4a839d 100644 > --- a/CMakeLists.txt > +++ b/CMakeLists.txt > @@ -72,7 +72,7 @@ if( CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR ) >find_program(LLVM_TABLEGEN_EXE "llvm-tblgen" ${LLVM_TOOLS_BINARY_DIR} > NO_DEFAULT_PATH) > > - set(LLVM_CMAKE_PATH "${LLVM_BINARY_DIR}/share/llvm/cmake") > + set(LLVM_CMAKE_PATH > "${LLVM_BINARY_DIR}/lib${LLVM_LIBDIR_SUFFIX}/cmake/llvm") > set(LLVMCONFIG_FILE "${LLVM_CMAKE_PATH}/LLVMConfig.cmake") >if(EXISTS ${LLVMCONFIG_FILE}) > list(APPEND CMAKE_MODULE_PATH "${LLVM_CMAKE_PATH}") > @@ -587,24 +587,24 @@ if (CLANG_BUILT_STANDALONE OR CMAKE_VERSION > VERSION_EQUAL 3 OR # Generate a list of CMake library targets so that other > CMake projects can # link against them. LLVM calls its version of this file > LLVMExports.cmake, but # the usual CMake convention seems to be > ${Project}Targets.cmake. - set(CLANG_INSTALL_PACKAGE_DIR > share/clang/cmake) > + set(CLANG_INSTALL_PACKAGE_DIR lib${LLVM_LIBDIR_SUFFIX}/cmake/clang) >set(clang_cmake_builddir > "${CMAKE_BINARY_DIR}/${CLANG_INSTALL_PACKAGE_DIR}") > get_property(CLANG_EXPORTS GLOBAL PROPERTY CLANG_EXPORTS) >export(TARGETS ${CLANG_EXPORTS} FILE > ${clang_cmake_builddir}/ClangTargets.cmake) > > - # Install a /share/clang/cmake/ClangConfig.cmake file so that > + # Install a /lib/cmake/clang/ClangConfig.cmake file so that ># find_package(Clang) works. Install the target list with it. >install(EXPORT ClangTargets DESTINATION ${CLANG_INSTALL_PACKAGE_DIR}) > >install(FILES > ${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules/ClangConfig.cmake > -DESTINATION share/clang/cmake) > +DESTINATION lib${LLVM_LIBDIR_SUFFIX}/cmake/clang) > ># Also copy ClangConfig.cmake to the build directory so that dependent > projects # can build against a build directory of Clang more easily. >configure_file( > ${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules/ClangConfig.cmake > -${CLANG_BINARY_DIR}/share/clang/cmake/ClangConfig.cmake > + > ${CLANG_BINARY_DIR}/lib${LLVM_LIBDIR_SUFFIX}/cmake/clang/ClangConfig.cmake > COPYONLY) > endif () ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang-tools-extra] r256133 - check-clang-tools requires clang-headers due to test/clang-tidy.
Author: chapuni Date: Sun Dec 20 19:35:28 2015 New Revision: 256133 URL: http://llvm.org/viewvc/llvm-project?rev=256133&view=rev Log: check-clang-tools requires clang-headers due to test/clang-tidy. clang-modernize provided clang-headers but it was removed. Modified: clang-tools-extra/trunk/test/CMakeLists.txt Modified: clang-tools-extra/trunk/test/CMakeLists.txt URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/test/CMakeLists.txt?rev=256133&r1=256132&r2=256133&view=diff == --- clang-tools-extra/trunk/test/CMakeLists.txt (original) +++ clang-tools-extra/trunk/test/CMakeLists.txt Sun Dec 20 19:35:28 2015 @@ -34,6 +34,9 @@ set(CLANG_TOOLS_TEST_DEPS # Base line deps. FileCheck count not + # clang-tidy tests require it. + clang-headers + # Individual tools we test. clang-apply-replacements clang-rename ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
r256134 - [Cygwin] Enable TLS as emutls.
Author: chapuni Date: Sun Dec 20 20:37:23 2015 New Revision: 256134 URL: http://llvm.org/viewvc/llvm-project?rev=256134&view=rev Log: [Cygwin] Enable TLS as emutls. It resolves clang selfhosting with std::once() for Cygwin. FIXME: It may be EmulatedTLS-generic also for X86-Android. FIXME: Pass EmulatedTLS to LLVM CodeGen from Clang with -femulated-tls. Modified: cfe/trunk/lib/Basic/Targets.cpp cfe/trunk/test/CXX/concepts-ts/dcl.dcl/dcl.spec/dcl.spec.concept/p2.cpp cfe/trunk/test/OpenMP/parallel_copyin_codegen.cpp cfe/trunk/test/PCH/chain-openmp-threadprivate.cpp Modified: cfe/trunk/lib/Basic/Targets.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Basic/Targets.cpp?rev=256134&r1=256133&r2=256134&view=diff == --- cfe/trunk/lib/Basic/Targets.cpp (original) +++ cfe/trunk/lib/Basic/Targets.cpp Sun Dec 20 20:37:23 2015 @@ -3834,7 +3834,6 @@ class CygwinX86_32TargetInfo : public X8 public: CygwinX86_32TargetInfo(const llvm::Triple &Triple) : X86_32TargetInfo(Triple) { -TLSSupported = false; WCharType = UnsignedShort; DoubleAlign = LongLongAlign = 64; DataLayoutString = "e-m:x-p:32:32-i64:64-f80:32-n8:16:32-a:0:32-S32"; Modified: cfe/trunk/test/CXX/concepts-ts/dcl.dcl/dcl.spec/dcl.spec.concept/p2.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CXX/concepts-ts/dcl.dcl/dcl.spec/dcl.spec.concept/p2.cpp?rev=256134&r1=256133&r2=256134&view=diff == --- cfe/trunk/test/CXX/concepts-ts/dcl.dcl/dcl.spec/dcl.spec.concept/p2.cpp (original) +++ cfe/trunk/test/CXX/concepts-ts/dcl.dcl/dcl.spec/dcl.spec.concept/p2.cpp Sun Dec 20 20:37:23 2015 @@ -1,5 +1,4 @@ // RUN: %clang_cc1 -std=c++14 -fconcepts-ts -x c++ -verify %s -// REQUIRES: tls template concept thread_local bool VCTL = true; // expected-error {{variable concept cannot be declared 'thread_local'}} Modified: cfe/trunk/test/OpenMP/parallel_copyin_codegen.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/OpenMP/parallel_copyin_codegen.cpp?rev=256134&r1=256133&r2=256134&view=diff == --- cfe/trunk/test/OpenMP/parallel_copyin_codegen.cpp (original) +++ cfe/trunk/test/OpenMP/parallel_copyin_codegen.cpp Sun Dec 20 20:37:23 2015 @@ -11,7 +11,6 @@ // RUN: %clang_cc1 -verify -fopenmp -x c++ -std=c++11 -DLAMBDA -triple %itanium_abi_triple -emit-llvm %s -o - | FileCheck -check-prefix=TLS-LAMBDA %s // RUN: %clang_cc1 -verify -fopenmp -x c++ -fblocks -DBLOCKS -triple %itanium_abi_triple -emit-llvm %s -o - | FileCheck -check-prefix=TLS-BLOCKS %s // RUN: %clang_cc1 -verify -fopenmp -x c++ -std=c++11 -DARRAY -triple x86_64-linux-gnu -emit-llvm %s -o - | FileCheck -check-prefix=TLS-ARRAY %s -// REQUIRES: tls // expected-no-diagnostics #ifndef ARRAY #ifndef HEADER Modified: cfe/trunk/test/PCH/chain-openmp-threadprivate.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/PCH/chain-openmp-threadprivate.cpp?rev=256134&r1=256133&r2=256134&view=diff == --- cfe/trunk/test/PCH/chain-openmp-threadprivate.cpp (original) +++ cfe/trunk/test/PCH/chain-openmp-threadprivate.cpp Sun Dec 20 20:37:23 2015 @@ -9,8 +9,6 @@ // RUN: %clang_cc1 -fopenmp -emit-llvm -chain-include %s -chain-include %s %s -o - | FileCheck %s -check-prefix=CHECK-TLS-1 // RUN: %clang_cc1 -fopenmp -emit-llvm -chain-include %s -chain-include %s %s -o - | FileCheck %s -check-prefix=CHECK-TLS-2 -// REQUIRES: tls - #if !defined(PASS1) #define PASS1 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
Re: r256134 - [Cygwin] Enable TLS as emutls.
Can we delete config.available_features.add('tls') now? On 20 December 2015 at 21:37, NAKAMURA Takumi via cfe-commits wrote: > Author: chapuni > Date: Sun Dec 20 20:37:23 2015 > New Revision: 256134 > > URL: http://llvm.org/viewvc/llvm-project?rev=256134&view=rev > Log: > [Cygwin] Enable TLS as emutls. > > It resolves clang selfhosting with std::once() for Cygwin. > > FIXME: It may be EmulatedTLS-generic also for X86-Android. > FIXME: Pass EmulatedTLS to LLVM CodeGen from Clang with -femulated-tls. > > Modified: > cfe/trunk/lib/Basic/Targets.cpp > cfe/trunk/test/CXX/concepts-ts/dcl.dcl/dcl.spec/dcl.spec.concept/p2.cpp > cfe/trunk/test/OpenMP/parallel_copyin_codegen.cpp > cfe/trunk/test/PCH/chain-openmp-threadprivate.cpp > > Modified: cfe/trunk/lib/Basic/Targets.cpp > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Basic/Targets.cpp?rev=256134&r1=256133&r2=256134&view=diff > == > --- cfe/trunk/lib/Basic/Targets.cpp (original) > +++ cfe/trunk/lib/Basic/Targets.cpp Sun Dec 20 20:37:23 2015 > @@ -3834,7 +3834,6 @@ class CygwinX86_32TargetInfo : public X8 > public: >CygwinX86_32TargetInfo(const llvm::Triple &Triple) >: X86_32TargetInfo(Triple) { > -TLSSupported = false; > WCharType = UnsignedShort; > DoubleAlign = LongLongAlign = 64; > DataLayoutString = "e-m:x-p:32:32-i64:64-f80:32-n8:16:32-a:0:32-S32"; > > Modified: > cfe/trunk/test/CXX/concepts-ts/dcl.dcl/dcl.spec/dcl.spec.concept/p2.cpp > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CXX/concepts-ts/dcl.dcl/dcl.spec/dcl.spec.concept/p2.cpp?rev=256134&r1=256133&r2=256134&view=diff > == > --- cfe/trunk/test/CXX/concepts-ts/dcl.dcl/dcl.spec/dcl.spec.concept/p2.cpp > (original) > +++ cfe/trunk/test/CXX/concepts-ts/dcl.dcl/dcl.spec/dcl.spec.concept/p2.cpp > Sun Dec 20 20:37:23 2015 > @@ -1,5 +1,4 @@ > // RUN: %clang_cc1 -std=c++14 -fconcepts-ts -x c++ -verify %s > -// REQUIRES: tls > > template concept thread_local bool VCTL = true; // > expected-error {{variable concept cannot be declared 'thread_local'}} > > > Modified: cfe/trunk/test/OpenMP/parallel_copyin_codegen.cpp > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/test/OpenMP/parallel_copyin_codegen.cpp?rev=256134&r1=256133&r2=256134&view=diff > == > --- cfe/trunk/test/OpenMP/parallel_copyin_codegen.cpp (original) > +++ cfe/trunk/test/OpenMP/parallel_copyin_codegen.cpp Sun Dec 20 20:37:23 2015 > @@ -11,7 +11,6 @@ > // RUN: %clang_cc1 -verify -fopenmp -x c++ -std=c++11 -DLAMBDA -triple > %itanium_abi_triple -emit-llvm %s -o - | FileCheck -check-prefix=TLS-LAMBDA %s > // RUN: %clang_cc1 -verify -fopenmp -x c++ -fblocks -DBLOCKS -triple > %itanium_abi_triple -emit-llvm %s -o - | FileCheck -check-prefix=TLS-BLOCKS %s > // RUN: %clang_cc1 -verify -fopenmp -x c++ -std=c++11 -DARRAY -triple > x86_64-linux-gnu -emit-llvm %s -o - | FileCheck -check-prefix=TLS-ARRAY %s > -// REQUIRES: tls > // expected-no-diagnostics > #ifndef ARRAY > #ifndef HEADER > > Modified: cfe/trunk/test/PCH/chain-openmp-threadprivate.cpp > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/test/PCH/chain-openmp-threadprivate.cpp?rev=256134&r1=256133&r2=256134&view=diff > == > --- cfe/trunk/test/PCH/chain-openmp-threadprivate.cpp (original) > +++ cfe/trunk/test/PCH/chain-openmp-threadprivate.cpp Sun Dec 20 20:37:23 2015 > @@ -9,8 +9,6 @@ > // RUN: %clang_cc1 -fopenmp -emit-llvm -chain-include %s -chain-include %s > %s -o - | FileCheck %s -check-prefix=CHECK-TLS-1 > // RUN: %clang_cc1 -fopenmp -emit-llvm -chain-include %s -chain-include %s > %s -o - | FileCheck %s -check-prefix=CHECK-TLS-2 > > -// REQUIRES: tls > - > #if !defined(PASS1) > #define PASS1 > > > > ___ > cfe-commits mailing list > cfe-commits@lists.llvm.org > http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
Re: r256134 - [Cygwin] Enable TLS as emutls.
I will remove it a few days after, when I made sure it were not required any more. I have a commit for this in my local branch. 2015-12-21 11:44 GMT+09:00 Rafael EspĂndola : > Can we delete > > config.available_features.add('tls') > > now? > > On 20 December 2015 at 21:37, NAKAMURA Takumi via cfe-commits > wrote: >> Author: chapuni >> Date: Sun Dec 20 20:37:23 2015 >> New Revision: 256134 >> >> URL: http://llvm.org/viewvc/llvm-project?rev=256134&view=rev >> Log: >> [Cygwin] Enable TLS as emutls. >> >> It resolves clang selfhosting with std::once() for Cygwin. >> >> FIXME: It may be EmulatedTLS-generic also for X86-Android. >> FIXME: Pass EmulatedTLS to LLVM CodeGen from Clang with -femulated-tls. >> >> Modified: >> cfe/trunk/lib/Basic/Targets.cpp >> cfe/trunk/test/CXX/concepts-ts/dcl.dcl/dcl.spec/dcl.spec.concept/p2.cpp >> cfe/trunk/test/OpenMP/parallel_copyin_codegen.cpp >> cfe/trunk/test/PCH/chain-openmp-threadprivate.cpp >> >> Modified: cfe/trunk/lib/Basic/Targets.cpp >> URL: >> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Basic/Targets.cpp?rev=256134&r1=256133&r2=256134&view=diff >> == >> --- cfe/trunk/lib/Basic/Targets.cpp (original) >> +++ cfe/trunk/lib/Basic/Targets.cpp Sun Dec 20 20:37:23 2015 >> @@ -3834,7 +3834,6 @@ class CygwinX86_32TargetInfo : public X8 >> public: >>CygwinX86_32TargetInfo(const llvm::Triple &Triple) >>: X86_32TargetInfo(Triple) { >> -TLSSupported = false; >> WCharType = UnsignedShort; >> DoubleAlign = LongLongAlign = 64; >> DataLayoutString = "e-m:x-p:32:32-i64:64-f80:32-n8:16:32-a:0:32-S32"; >> >> Modified: >> cfe/trunk/test/CXX/concepts-ts/dcl.dcl/dcl.spec/dcl.spec.concept/p2.cpp >> URL: >> http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CXX/concepts-ts/dcl.dcl/dcl.spec/dcl.spec.concept/p2.cpp?rev=256134&r1=256133&r2=256134&view=diff >> == >> --- cfe/trunk/test/CXX/concepts-ts/dcl.dcl/dcl.spec/dcl.spec.concept/p2.cpp >> (original) >> +++ cfe/trunk/test/CXX/concepts-ts/dcl.dcl/dcl.spec/dcl.spec.concept/p2.cpp >> Sun Dec 20 20:37:23 2015 >> @@ -1,5 +1,4 @@ >> // RUN: %clang_cc1 -std=c++14 -fconcepts-ts -x c++ -verify %s >> -// REQUIRES: tls >> >> template concept thread_local bool VCTL = true; // >> expected-error {{variable concept cannot be declared 'thread_local'}} >> >> >> Modified: cfe/trunk/test/OpenMP/parallel_copyin_codegen.cpp >> URL: >> http://llvm.org/viewvc/llvm-project/cfe/trunk/test/OpenMP/parallel_copyin_codegen.cpp?rev=256134&r1=256133&r2=256134&view=diff >> == >> --- cfe/trunk/test/OpenMP/parallel_copyin_codegen.cpp (original) >> +++ cfe/trunk/test/OpenMP/parallel_copyin_codegen.cpp Sun Dec 20 20:37:23 >> 2015 >> @@ -11,7 +11,6 @@ >> // RUN: %clang_cc1 -verify -fopenmp -x c++ -std=c++11 -DLAMBDA -triple >> %itanium_abi_triple -emit-llvm %s -o - | FileCheck -check-prefix=TLS-LAMBDA >> %s >> // RUN: %clang_cc1 -verify -fopenmp -x c++ -fblocks -DBLOCKS -triple >> %itanium_abi_triple -emit-llvm %s -o - | FileCheck -check-prefix=TLS-BLOCKS >> %s >> // RUN: %clang_cc1 -verify -fopenmp -x c++ -std=c++11 -DARRAY -triple >> x86_64-linux-gnu -emit-llvm %s -o - | FileCheck -check-prefix=TLS-ARRAY %s >> -// REQUIRES: tls >> // expected-no-diagnostics >> #ifndef ARRAY >> #ifndef HEADER >> >> Modified: cfe/trunk/test/PCH/chain-openmp-threadprivate.cpp >> URL: >> http://llvm.org/viewvc/llvm-project/cfe/trunk/test/PCH/chain-openmp-threadprivate.cpp?rev=256134&r1=256133&r2=256134&view=diff >> == >> --- cfe/trunk/test/PCH/chain-openmp-threadprivate.cpp (original) >> +++ cfe/trunk/test/PCH/chain-openmp-threadprivate.cpp Sun Dec 20 20:37:23 >> 2015 >> @@ -9,8 +9,6 @@ >> // RUN: %clang_cc1 -fopenmp -emit-llvm -chain-include %s -chain-include %s >> %s -o - | FileCheck %s -check-prefix=CHECK-TLS-1 >> // RUN: %clang_cc1 -fopenmp -emit-llvm -chain-include %s -chain-include %s >> %s -o - | FileCheck %s -check-prefix=CHECK-TLS-2 >> >> -// REQUIRES: tls >> - >> #if !defined(PASS1) >> #define PASS1 >> >> >> >> ___ >> cfe-commits mailing list >> cfe-commits@lists.llvm.org >> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
Re: [PATCH] D10833: Retrieve BinaryOperator::getOpcode and BinaryOperator::getOpcodeStr via libclang and its python interface
RedX2501 added a comment. Ping http://reviews.llvm.org/D10833 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
r256135 - [Sema] Use range-based for loops. NFC
Author: ctopper Date: Mon Dec 21 00:35:56 2015 New Revision: 256135 URL: http://llvm.org/viewvc/llvm-project?rev=256135&view=rev Log: [Sema] Use range-based for loops. NFC Modified: cfe/trunk/lib/Sema/SemaExpr.cpp Modified: cfe/trunk/lib/Sema/SemaExpr.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/SemaExpr.cpp?rev=256135&r1=256134&r2=256135&view=diff == --- cfe/trunk/lib/Sema/SemaExpr.cpp (original) +++ cfe/trunk/lib/Sema/SemaExpr.cpp Mon Dec 21 00:35:56 2015 @@ -327,18 +327,16 @@ bool Sema::DiagnoseUseOfDecl(NamedDecl * if (getLangOpts().CPlusPlus && isa(D)) { // If there were any diagnostics suppressed by template argument deduction, // emit them now. -SuppressedDiagnosticsMap::iterator - Pos = SuppressedDiagnostics.find(D->getCanonicalDecl()); +auto Pos = SuppressedDiagnostics.find(D->getCanonicalDecl()); if (Pos != SuppressedDiagnostics.end()) { - SmallVectorImpl &Suppressed = Pos->second; - for (unsigned I = 0, N = Suppressed.size(); I != N; ++I) -Diag(Suppressed[I].first, Suppressed[I].second); + for (const PartialDiagnosticAt &Suppressed : Pos->second) +Diag(Suppressed.first, Suppressed.second); // Clear out the list of suppressed diagnostics, so that we don't emit // them again for this specialization. However, we don't obsolete this // entry from the table, because we want to avoid ever emitting these // diagnostics again. - Suppressed.clear(); + Pos->second.clear(); } // C++ [basic.start.main]p3: @@ -1462,12 +1460,11 @@ Sema::CreateGenericSelectionExpr(SourceL Diag(ControllingExpr->getLocStart(), diag::err_generic_sel_multi_match) << ControllingExpr->getSourceRange() << ControllingExpr->getType() << (unsigned) CompatIndices.size(); -for (SmallVectorImpl::iterator I = CompatIndices.begin(), - E = CompatIndices.end(); I != E; ++I) { - Diag(Types[*I]->getTypeLoc().getBeginLoc(), +for (unsigned I : CompatIndices) { + Diag(Types[I]->getTypeLoc().getBeginLoc(), diag::note_compat_assoc) -<< Types[*I]->getTypeLoc().getSourceRange() -<< Types[*I]->getType(); +<< Types[I]->getTypeLoc().getSourceRange() +<< Types[I]->getType(); } return ExprError(); } @@ -1550,8 +1547,8 @@ Sema::ActOnStringLiteral(ArrayRef return ExprError(); SmallVector StringTokLocs; - for (unsigned i = 0; i != StringToks.size(); ++i) -StringTokLocs.push_back(StringToks[i].getLocation()); + for (const Token &Tok : StringToks) +StringTokLocs.push_back(Tok.getLocation()); QualType CharTy = Context.CharTy; StringLiteral::StringKind Kind = StringLiteral::Ascii; @@ -1850,8 +1847,8 @@ Sema::DiagnoseEmptyLookup(Scope *S, CXXS } // Do we really want to note all of these? -for (LookupResult::iterator I = R.begin(), E = R.end(); I != E; ++I) - Diag((*I)->getLocation(), diag::note_dependent_var_use); +for (NamedDecl *D : R) + Diag(D->getLocation(), diag::note_dependent_var_use); // Return true if we are inside a default argument instantiation // and the found name refers to an instance member function, otherwise @@ -1912,15 +1909,13 @@ Sema::DiagnoseEmptyLookup(Scope *S, CXXS OverloadCandidateSet OCS(R.getNameLoc(), OverloadCandidateSet::CSK_Normal); OverloadCandidateSet::iterator Best; -for (TypoCorrection::decl_iterator CD = Corrected.begin(), -CDEnd = Corrected.end(); - CD != CDEnd; ++CD) { +for (NamedDecl *CD : Corrected) { if (FunctionTemplateDecl *FTD = - dyn_cast(*CD)) + dyn_cast(CD)) AddTemplateOverloadCandidate( FTD, DeclAccessPair::make(FTD, AS_none), ExplicitTemplateArgs, Args, OCS); - else if (FunctionDecl *FD = dyn_cast(*CD)) + else if (FunctionDecl *FD = dyn_cast(CD)) if (!ExplicitTemplateArgs || ExplicitTemplateArgs->size() == 0) AddOverloadCandidate(FD, DeclAccessPair::make(FD, AS_none), Args, OCS); @@ -2679,9 +2674,7 @@ bool Sema::UseArgumentDependentLookup(co // Turn off ADL when we find certain kinds of declarations during // normal lookup: - for (LookupResult::iterator I = R.begin(), E = R.end(); I != E; ++I) { -NamedDecl *D = *I; - + for (NamedDecl *D : R) { // C++0x [basic.lookup.argdep]p3: // -- a declaration of a class member // Since using decls preserve this property, we check this on the @@ -4413,10 +4406,8 @@ static TypoCorrection TryTypoCorrectionF if (Corrected.isOverloaded()) { OverloadCandidateSet OCS(NameLoc, OverloadCandidateSet::CSK_Normal); OverloadCandida