mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-26 05:32:25 +00:00
[SystemZ] Set up JIT/MCJIT test cases
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
This commit is contained in:
parent
097b88fff6
commit
7207285e65
@ -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:
|
||||
|
@ -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:
|
||||
|
@ -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'
|
||||
|
@ -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() {
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user