compile_context.py 549 Bytes
Newer Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
from contextlib import contextmanager
from typing import Any

_compile_context: Any = None


def get_compile_context() -> Any:
    """Get the current compile context."""
    return _compile_context


@contextmanager
def set_compile_context(context: Any):
    """A context manager that stores the current compile context,
    usually it is a list of sizes to specialize.
    """
    global _compile_context
    prev_context = _compile_context
    _compile_context = context
    try:
        yield
    finally:
        _compile_context = prev_context