Пример #1
0
def optimize_loop_1(metainterp_sd, loop, enable_opts, inline_short_preamble=True, retraced=False, bridge=False):
    """Optimize loop.operations to remove internal overheadish operations.
    """

    optimizations, unroll = build_opt_chain(metainterp_sd, enable_opts, inline_short_preamble, retraced)
    if unroll:
        optimize_unroll(metainterp_sd, loop, optimizations)
    else:
        optimizer = Optimizer(metainterp_sd, loop, optimizations, bridge)
        optimizer.propagate_all_forward()
Пример #2
0
def optimize_trace(metainterp_sd, loop, enable_opts, inline_short_preamble=True):
    """Optimize loop.operations to remove internal overheadish operations.
    """

    debug_start("jit-optimize")
    try:
        loop.logops = metainterp_sd.logger_noopt.log_loop(loop.inputargs,
                                                          loop.operations)
        optimizations, unroll = build_opt_chain(metainterp_sd, enable_opts)
        if unroll:
            optimize_unroll(metainterp_sd, loop, optimizations, inline_short_preamble)
        else:
            optimizer = Optimizer(metainterp_sd, loop, optimizations)
            optimizer.propagate_all_forward()
    finally:
        debug_stop("jit-optimize")