[SystemZ] Set up JIT/MCJIT test cases
authorUlrich Weigand <ulrich.weigand@de.ibm.com>
Mon, 6 May 2013 16:21:50 +0000 (16:21 +0000)
committerUlrich Weigand <ulrich.weigand@de.ibm.com>
Mon, 6 May 2013 16:21:50 +0000 (16:21 +0000)
This patch adds the necessary configuration bits and #ifdef's to set up
the JIT/MCJIT test cases for SystemZ.  Like other recent targets, we do
fully support MCJIT, but do not support the old JIT at all.  Set up the
lit config files accordingly, and disable old-JIT unit tests.

Patch by Richard Sandiford.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181207 91177308-0d34-0410-b5e6-96231b3b80d8

test/ExecutionEngine/MCJIT/lit.local.cfg
test/ExecutionEngine/lit.local.cfg
test/lit.cfg
unittests/ExecutionEngine/JIT/JITEventListenerTest.cpp
unittests/ExecutionEngine/JIT/JITTest.cpp
unittests/ExecutionEngine/JIT/MultiJITTest.cpp

index 2dbc222bba0aaf7753e69e3694daa8dfb7ad6c8f..30ed4e87e6c2f32dc650a7bab7fa1a25522ad66e 100644 (file)
@@ -9,13 +9,13 @@ root = getRoot(config)
 
 targets = set(root.targets_to_build.split())
 if ('X86' in targets) | ('AArch64' in targets) | ('ARM' in targets) | \
-   ('Mips' in targets) | ('PowerPC' in targets):
+   ('Mips' in targets) | ('PowerPC' in targets) | ('SystemZ' in targets):
     config.unsupported = False
 else:
     config.unsupported = True
 
 if root.host_arch not in ['i386', 'x86', 'x86_64',
-                          'AArch64', 'ARM', 'Mips', 'PowerPC']:
+                          'AArch64', 'ARM', 'Mips', 'PowerPC', 'SystemZ']:
     config.unsupported = True
 
 if 'i386-apple-darwin'  in root.target_triple:
index 1f8ae69b9868c8ffc6130fb5713473c74cf48445..b6945adf015aabcbe5421ea158a64016b568e4e9 100644 (file)
@@ -7,7 +7,7 @@ def getRoot(config):
 
 root = getRoot(config)
 
-if root.host_arch in ['PowerPC', 'AArch64']:
+if root.host_arch in ['PowerPC', 'AArch64', 'SystemZ']:
     config.unsupported = True
 
 if 'hexagon' in root.target_triple:
index b423c6e80b7998745c1e43b2cfee4ba9e7ce356f..d38775d90777ece6ff0686039692c1d1010704a9 100644 (file)
@@ -160,7 +160,8 @@ config.substitutions.append( ('%lli_mcjit', lli_mcjit) )
 # but simply want use the currently considered most reliable jit for platform
 # FIXME: ppc32 is not ready for mcjit.
 if 'arm' in config.target_triple \
-   or 'powerpc64' in config.target_triple:
+   or 'powerpc64' in config.target_triple \
+   or 's390x' in config.target_triple:
     defaultIsMCJIT = 'true'
 else:
     defaultIsMCJIT = 'false'
index 6ba8bc42d12cdb2d458f7eaf092a4ab74e31003b..87f482444f4153ed2e7d364128f822f444c37b89 100644 (file)
@@ -74,6 +74,8 @@ class JITEventListenerTest : public testing::Test {
   const OwningPtr<ExecutionEngine> EE;
 };
 
+// Tests on SystemZ disabled as we're running the old JIT
+#if !defined(__s390__)
 Function *buildFunction(Module *M) {
   Function *Result = Function::Create(
       TypeBuilder<int32_t(int32_t), false>::get(getGlobalContext()),
@@ -224,6 +226,7 @@ TEST_F(JITEventListenerTest, MatchesMachineCodeInfo) {
   EXPECT_EQ(1U, Listener.FreedEvents[0].Index);
   EXPECT_EQ(F_addr, Listener.FreedEvents[0].Code);
 }
+#endif
 
 class JITEnvironment : public testing::Environment {
   virtual void SetUp() {
index 30bfffbf93bf163a3c04c84556008a2fbb610f93..e6f4cb9af25f58d6f4aeeddf98282a2cef2acc33 100644 (file)
@@ -35,8 +35,8 @@ using namespace llvm;
 
 namespace {
 
-// Tests on ARM and PowerPC disabled as we're running the old jit
-#if !defined(__arm__) && !defined(__powerpc__)
+// Tests on ARM, PowerPC and SystemZ disabled as we're running the old jit
+#if !defined(__arm__) && !defined(__powerpc__) && !defined(__s390__)
 
 Function *makeReturnGlobal(std::string Name, GlobalVariable *G, Module *M) {
   std::vector<Type*> params;
@@ -826,7 +826,7 @@ TEST(LazyLoadedJITTest, EagerCompiledRecursionThroughGhost) {
     (intptr_t)TheJIT->getPointerToFunction(recur1IR));
   EXPECT_EQ(3, recur1(4));
 }
-#endif // !defined(__arm__) && !defined(__powerpc__)
+#endif // !defined(__arm__) && !defined(__powerpc__) && !defined(__s390__)
 
 // This code is copied from JITEventListenerTest, but it only runs once for all
 // the tests in this directory.  Everything seems fine, but that's strange
index b3e992639db652c3b120a80a58005da0711a4a1e..4018cd5ce2f2c94408650514a031557f60e49df7 100644 (file)
@@ -20,8 +20,8 @@ using namespace llvm;
 
 namespace {
 
-// ARM and PowerPC tests disabled pending fix for PR10783.
-#if !defined(__arm__) && !defined(__powerpc__)
+// ARM, PowerPC and SystemZ tests disabled pending fix for PR10783.
+#if !defined(__arm__) && !defined(__powerpc__) && !defined(__s390__)
 
 bool LoadAssemblyInto(Module *M, const char *assembly) {
   SMDiagnostic Error;
@@ -176,6 +176,6 @@ TEST(MultiJitTest, JitPool) {
 #endif
   EXPECT_TRUE(sa == fa);
 }
-#endif  // !defined(__arm__) && !defined(__powerpc__)
+#endif  // !defined(__arm__) && !defined(__powerpc__) && !defined(__s390__)
 
 }  // anonymous namespace