import os
import sys
import re
+import platform
# name: The name of this test suite.
config.name = 'LLVM'
# Provide a target triple for mcjit tests
mcjit_triple = config.target_triple
# Force ELF format on Windows
-if 'win32' in mcjit_triple.lower():
+if re.search(r'cygwin|mingw32|win32', mcjit_triple):
mcjit_triple += "-elf"
config.substitutions.append( ('%mcjit_triple', mcjit_triple) )
-# When running under valgrind, we mangle '-vg' or '-vg_leak' onto the end of the
-# triple so we can check it with XFAIL and XTARGET.
-config.target_triple += lit.valgrindTriple
-
# Provide a substition for those tests that need to run the jit to obtain data
# but simply want use the currently considered most reliable jit for platform
-defaultIsMCJIT='true' if 'arm' in config.target_triple else 'false'
+# FIXME: ppc32 is not ready for mcjit.
+if 'arm' in config.target_triple \
+ or 'powerpc64' in config.target_triple:
+ defaultIsMCJIT = 'true'
+else:
+ defaultIsMCJIT = 'false'
config.substitutions.append( ('%defaultjit', '-use-mcjit='+defaultIsMCJIT) )
# Process jit implementation option
r"\bllvm-bcanalyzer\b", r"\bllvm-config\b",
r"\bllvm-cov\b", r"\bllvm-diff\b",
r"\bllvm-dis\b", r"\bllvm-dwarfdump\b",
- r"\bllvm-extract\b",
+ r"\bllvm-extract\b", r"\bllvm-jistlistener\b",
r"\bllvm-link\b", r"\bllvm-mc\b",
r"\bllvm-nm\b", r"\bllvm-objdump\b",
r"\bllvm-prof\b", r"\bllvm-ranlib\b",
if loadable_module:
config.available_features.add('loadable_module')
+# LTO on OS X
+if config.lto_is_enabled == "1" and platform.system() == "Darwin":
+ config.available_features.add('lto_on_osx')
+
# llc knows whether he is compiled with -DNDEBUG.
import subprocess
try: