[llvm] r259705 - [unittests] Move TargetRegistry test from Support to MC
Reid Kleckner via llvm-commits
llvm-commits at lists.llvm.org
Wed Feb 3 13:41:25 PST 2016
Author: rnk
Date: Wed Feb 3 15:41:24 2016
New Revision: 259705
URL: http://llvm.org/viewvc/llvm-project?rev=259705&view=rev
Log:
[unittests] Move TargetRegistry test from Support to MC
This removes the dependency from SupportTests to all of the LLVM
backends, and makes it link faster.
Added:
llvm/trunk/unittests/MC/TargetRegistry.cpp
- copied, changed from r259704, llvm/trunk/unittests/Support/TargetRegistry.cpp
Removed:
llvm/trunk/unittests/Support/TargetRegistry.cpp
Modified:
llvm/trunk/unittests/MC/CMakeLists.txt
llvm/trunk/unittests/Support/CMakeLists.txt
Modified: llvm/trunk/unittests/MC/CMakeLists.txt
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/unittests/MC/CMakeLists.txt?rev=259705&r1=259704&r2=259705&view=diff
==============================================================================
--- llvm/trunk/unittests/MC/CMakeLists.txt (original)
+++ llvm/trunk/unittests/MC/CMakeLists.txt Wed Feb 3 15:41:24 2016
@@ -9,5 +9,6 @@ add_llvm_unittest(MCTests
Disassembler.cpp
DwarfLineTables.cpp
StringTableBuilderTest.cpp
+ TargetRegistry.cpp
YAMLTest.cpp
)
Copied: llvm/trunk/unittests/MC/TargetRegistry.cpp (from r259704, llvm/trunk/unittests/Support/TargetRegistry.cpp)
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/unittests/MC/TargetRegistry.cpp?p2=llvm/trunk/unittests/MC/TargetRegistry.cpp&p1=llvm/trunk/unittests/Support/TargetRegistry.cpp&r1=259704&r2=259705&rev=259705&view=diff
==============================================================================
--- llvm/trunk/unittests/Support/TargetRegistry.cpp (original)
+++ llvm/trunk/unittests/MC/TargetRegistry.cpp Wed Feb 3 15:41:24 2016
@@ -1,4 +1,4 @@
-//===- unittests/Support/TargetRegistry.cpp - -----------------------------===//
+//===- unittests/MC/TargetRegistry.cpp ------------------------------------===//
//
// The LLVM Compiler Infrastructure
//
@@ -7,6 +7,10 @@
//
//===----------------------------------------------------------------------===//
+// The target registry code lives in Support, but it relies on linking in all
+// LLVM targets. We keep this test with the MC tests, which already do that, to
+// keep the SupportTests target small.
+
#include "llvm/Support/TargetRegistry.h"
#include "llvm/Support/TargetSelect.h"
#include "gtest/gtest.h"
Modified: llvm/trunk/unittests/Support/CMakeLists.txt
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/unittests/Support/CMakeLists.txt?rev=259705&r1=259704&r2=259705&view=diff
==============================================================================
--- llvm/trunk/unittests/Support/CMakeLists.txt (original)
+++ llvm/trunk/unittests/Support/CMakeLists.txt Wed Feb 3 15:41:24 2016
@@ -1,5 +1,4 @@
set(LLVM_LINK_COMPONENTS
- ${LLVM_TARGETS_TO_BUILD}
Support
)
@@ -39,7 +38,6 @@ add_llvm_unittest(SupportTests
StreamingMemoryObject.cpp
StringPool.cpp
SwapByteOrderTest.cpp
- TargetRegistry.cpp
ThreadLocalTest.cpp
ThreadPool.cpp
TimerTest.cpp
Removed: llvm/trunk/unittests/Support/TargetRegistry.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/unittests/Support/TargetRegistry.cpp?rev=259704&view=auto
==============================================================================
--- llvm/trunk/unittests/Support/TargetRegistry.cpp (original)
+++ llvm/trunk/unittests/Support/TargetRegistry.cpp (removed)
@@ -1,42 +0,0 @@
-//===- unittests/Support/TargetRegistry.cpp - -----------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-#include "llvm/Support/TargetRegistry.h"
-#include "llvm/Support/TargetSelect.h"
-#include "gtest/gtest.h"
-
-using namespace llvm;
-
-namespace {
-
-TEST(TargetRegistry, TargetHasArchType) {
- // Presence of at least one target will be asserted when done with the loop,
- // else this would pass by accident if InitializeAllTargetInfos were omitted.
- int Count = 0;
-
- llvm::InitializeAllTargetInfos();
-
- for (const Target &T : TargetRegistry::targets()) {
- StringRef Name = T.getName();
- // There is really no way (at present) to ask a Target whether it targets
- // a specific architecture, because the logic for that is buried in a
- // predicate.
- // We can't ask the predicate "Are you a function that always returns
- // false?"
- // So given that the cpp backend truly has no target arch, it is skipped.
- if (Name != "cpp") {
- Triple::ArchType Arch = Triple::getArchTypeForLLVMName(Name);
- EXPECT_NE(Arch, Triple::UnknownArch);
- ++Count;
- }
- }
- ASSERT_NE(Count, 0);
-}
-
-} // end namespace
More information about the llvm-commits
mailing list