From: Rui Ueyama Date: Wed, 26 Apr 2017 23:15:10 +0000 (+0000) Subject: Revert r301487: Replace HashString algorithm with xxHash64 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=4deadfaaec8ed9547fa06d4011b7e158a628a770;p=clang Revert r301487: Replace HashString algorithm with xxHash64 This reverts commit r301487 to make buildbots green. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@301491 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/test/CodeGen/target-features-error-2.c b/test/CodeGen/target-features-error-2.c index 9ce829a48c..683d9ab99e 100644 --- a/test/CodeGen/target-features-error-2.c +++ b/test/CodeGen/target-features-error-2.c @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 %s -triple=x86_64-linux-gnu -S -verify -o - -D NEED_SSE41 +// RUN: %clang_cc1 %s -triple=x86_64-linux-gnu -S -verify -o - -D NEED_SSE42 // RUN: %clang_cc1 %s -triple=x86_64-linux-gnu -S -verify -o - -D NEED_AVX_1 // RUN: %clang_cc1 %s -triple=x86_64-linux-gnu -S -verify -o - -D NEED_AVX_2 // RUN: %clang_cc1 %s -triple=x86_64-linux-gnu -S -verify -o - -D NEED_AVX_3 @@ -7,12 +7,9 @@ #define __MM_MALLOC_H #include -// Really, this needs AVX, but because targetting AVX includes all the SSE features too, and -// features are sorted by hash function, and we just return the first missing feature, then we end -// up returning the subfeature sse4.1 instead of avx. -#if NEED_SSE41 +#if NEED_SSE42 int baz(__m256i a) { - return _mm256_extract_epi32(a, 3); // expected-error {{always_inline function '_mm256_extract_epi32' requires target feature 'sse4.1', but would be inlined into function 'baz' that is compiled without support for 'sse4.1'}} + return _mm256_extract_epi32(a, 3); // expected-error {{always_inline function '_mm256_extract_epi32' requires target feature 'sse4.2', but would be inlined into function 'baz' that is compiled without support for 'sse4.2'}} } #endif diff --git a/test/CodeGen/target-features-error.c b/test/CodeGen/target-features-error.c index d4deabd66b..518f6e6189 100644 --- a/test/CodeGen/target-features-error.c +++ b/test/CodeGen/target-features-error.c @@ -3,5 +3,6 @@ int __attribute__((target("avx"), always_inline)) foo(int a) { return a + 4; } int bar() { - return foo(4); // expected-error {{always_inline function 'foo' requires target feature 'sse4.1', but would be inlined into function 'bar' that is compiled without support for 'sse4.1'}} + return foo(4); // expected-error {{always_inline function 'foo' requires target feature 'sse4.2', but would be inlined into function 'bar' that is compiled without support for 'sse4.2'}} } + diff --git a/test/SemaCXX/typo-correction-delayed.cpp b/test/SemaCXX/typo-correction-delayed.cpp index 11d54006f3..610d439713 100644 --- a/test/SemaCXX/typo-correction-delayed.cpp +++ b/test/SemaCXX/typo-correction-delayed.cpp @@ -52,7 +52,6 @@ void testNoCandidates() { } class string {}; - struct Item { void Nest(); string text(); @@ -89,16 +88,12 @@ void f(LinkedNode *node) { struct NestedNode { NestedNode* Nest(); NestedNode* next(); - // Note, this test is dependent on the order in which identifiers are passed - // to the typo corrector, which is based on the hash function used. For - // consistency, I am making the next keyword the first identifier returned. - string eext() const; + string text() const; }; void f(NestedNode *node) { // There are two equidistant, usable corrections for Next: next and Nest NestedNode *next = node->Next(); // expected-error-re {{no member named 'Next' in 'initializerCorrections::NestedNode'{{$}}}} } - } namespace PR21669 { diff --git a/unittests/Tooling/CompilationDatabaseTest.cpp b/unittests/Tooling/CompilationDatabaseTest.cpp index 5d4ed20603..1a6fffec93 100644 --- a/unittests/Tooling/CompilationDatabaseTest.cpp +++ b/unittests/Tooling/CompilationDatabaseTest.cpp @@ -81,10 +81,10 @@ TEST(JSONCompilationDatabase, GetAllFiles) { std::vector expected_files; SmallString<16> PathStorage; - llvm::sys::path::native("//net/dir/file2", PathStorage); - expected_files.push_back(PathStorage.str()); llvm::sys::path::native("//net/dir/file1", PathStorage); expected_files.push_back(PathStorage.str()); + llvm::sys::path::native("//net/dir/file2", PathStorage); + expected_files.push_back(PathStorage.str()); EXPECT_EQ(expected_files, getAllFiles("[{\"directory\":\"//net/dir\"," "\"command\":\"command\","