예제 #1
0
class TestBasic(LLVMTestBasicMixin,
                OperationTests):

    # for the individual tests see
    # ====> ../../test/operation_tests.py

    def skip(self):
        py.test.skip('WIP')

    def skip_too_minimal(self):
        py.test.skip('found llvm %.1f, requires at least llvm %.1f(cvs)' % (
            llvm_version(), MINIMAL_VERSION))

    if llvm_version() < 2.0:
        test_unsigned = skip_too_minimal #uint_invert uses incorrect xor constant?
        test_unsigned_comparison = skip_too_minimal

    test_unsigned = skip #?
    test_arithmetic = skip #XXX << 32 and >> 32 fail 

    test_constants_in_divmod = skip #in-progress

    test_float_arithmetic = skip #XXX llvmjit.execute() returns an int :-(
    test_float_cast = skip       #XXX llvmjit.execute() returns an int :-(

    test_unichar_array = skip
    test_char_unichar_fields = skip
예제 #2
0
class TestRLLVMGenop(AbstractRGenOpTests):
    RGenOp = RLLVMGenOp

    if platform == 'darwin':

        def compile(self, runner, argtypes):
            py.test.skip(
                'Compilation for Darwin not fully support yet (static/dyn lib issue'
            )

    def skip(self):
        py.test.skip('WIP')

    def skip_too_minimal(self):
        py.test.skip('found llvm %.1f, requires at least llvm %.1f(cvs)' %
                     (llvm_version(), MINIMAL_VERSION))

    if llvm_version() < 2.0:
        test_goto_direct = skip_too_minimal  #segfault
        test_goto_compile = skip_too_minimal  #segfault
        test_fact_direct = skip_too_minimal  #segfault
        test_fact_compile = skip_too_minimal  #segfault
        test_tight_loop = skip_too_minimal  #llvm 1.9 assertion failure
        test_from_random_2_direct = skip_too_minimal  #segfault
        test_from_random_3_direct = skip_too_minimal  #segfault
        test_from_random_4_direct = skip_too_minimal  #segfault

    test_read_frame_var_direct = skip
    test_read_frame_var_compile = skip
    test_write_frame_place_direct = skip
    test_write_frame_place_compile = skip
    test_read_frame_place_direct = skip
    test_read_frame_place_compile = skip
예제 #3
0
class TestTimeshiftLLVM(LLVMTimeshiftingTestMixin, test_timeshift.TestLLType):

    # for the individual tests see
    # ====> ../../../timeshifter/test/test_timeshift.py

    def skip(self):
        py.test.skip("WIP")

    def skip_too_minimal(self):
        py.test.skip('found llvm %.1f, requires at least llvm %.1f(cvs)' %
                     (llvm_version(), MINIMAL_VERSION))

    if llvm_version() < 2.0:
        test_loop_merging = skip_too_minimal  #segfault
        test_two_loops_merging = skip_too_minimal  #segfault
        test_green_char_at_merge = skip  #segfault
        test_residual_red_call_with_exc = skip

    def test_simple_red_meth(self):
        py.test.skip('no frame var support yet')

    test_simple_red_meth_vars_around = test_simple_red_meth
예제 #4
0
 def skip_too_minimal(self):
     py.test.skip('found llvm %.1f, requires at least llvm %.1f(cvs)' % (
         llvm_version(), MINIMAL_VERSION))
예제 #5
0
'''
Use this file to hide differences between llvm 1.x and 2.x .
'''
from pypy.jit.codegen.llvm.llvmjit import llvm_version


if llvm_version() < 2.0:
    icmp = scmp = ucmp = fcmp = 'set'
    inttoptr = trunc = zext = bitcast = inttoptr = 'cast'
    shr_prefix = ['', '']
    i1  = 'bool'
    i8  = 'ubyte'
    i16 = 'short'
    i32 = 'int'
    i64 = 'long'
    define = ''
    globalprefix = '%'
else:   # >= 2.0
    icmp = 'icmp '
    scmp = 'icmp s'
    ucmp = 'icmp u'
    fcmp = 'fcmp o'
    inttoptr = 'inttoptr'
    trunc = 'trunc'
    zext = 'zext'
    bitcast = 'bitcast'
    inttoptr = 'inttoptr'
    shr_prefix = ['l', 'a']
    define = 'define'
    globalprefix = '@'
    i1  = 'i1'
예제 #6
0
 def skip_too_minimal(self):
     py.test.skip('found llvm %.1f, requires at least llvm %.1f(cvs)' % (
         llvm_version(), MINIMAL_VERSION))
예제 #7
0
'''
Use this file to hide differences between llvm 1.x and 2.x .
'''
from pypy.jit.codegen.llvm.llvmjit import llvm_version

if llvm_version() < 2.0:
    icmp = scmp = ucmp = fcmp = 'set'
    inttoptr = trunc = zext = bitcast = inttoptr = 'cast'
    shr_prefix = ['', '']
    i1 = 'bool'
    i8 = 'ubyte'
    i16 = 'short'
    i32 = 'int'
    i64 = 'long'
    define = ''
    globalprefix = '%'
else:  # >= 2.0
    icmp = 'icmp '
    scmp = 'icmp s'
    ucmp = 'icmp u'
    fcmp = 'fcmp o'
    inttoptr = 'inttoptr'
    trunc = 'trunc'
    zext = 'zext'
    bitcast = 'bitcast'
    inttoptr = 'inttoptr'
    shr_prefix = ['l', 'a']
    define = 'define'
    globalprefix = '@'
    i1 = 'i1'
    i8 = 'i8'