def __init__(self, pm, name, ctx, lambda_functions, imports): Transformation.__init__(self) self.passmanager = pm self.ctx = ctx self.prefix = name self.lambda_functions = lambda_functions self.imports = imports self.global_declarations = pm.gather(GlobalDeclarations, ctx.module)
def generic_visit(self, node): if node in self.constant_expressions: try: fake_node = ast.Expression( node.value if isinstance(node, ast.Index) else node) code = compile(fake_node, '<constant folding>', 'eval') value = eval(code, self.env) new_node = self.to_ast(value) if (isinstance(node, ast.Index) and not isinstance(new_node, ast.Index)): new_node = ast.Index(new_node) return new_node except Exception: # as e: #print ast.dump(node) #print 'error in constant folding: ', e return Transformation.generic_visit(self, node) else: return Transformation.generic_visit(self, node)
def __init__(self): Transformation.__init__(self, NormalizeTuples, OptimizableComprehension)
def __init__(self): Transformation.__init__(self, OptimizableGenexp)
def __init__(self): Transformation.__init__(self, Locals, Globals)
def __init__(self): Transformation.__init__(self) self.imports = set() self.symbols = dict()
def __init__(self): Transformation.__init__(self, Identifiers)
def __init__(self): Transformation.__init__(self) # Remap self.visit_XXXX() to self.attach_data() generic method for s in GatherOMPData.statements: setattr(self, "visit_" + s, lambda node_: self.attach_data(node_)) self.current = list()
def __init__(self): Transformation.__init__(self, ConstantExpressions)
def __init__(self): Transformation.__init__(self, Globals) self.imports = set()
def __init__(self, pm, name, ctx): Transformation.__init__(self) self.passmanager = pm self.ctx = ctx self.prefix = name self.lambda_functions = list()
def __init__(self, pm, ctx): Transformation.__init__(self) self.ctx = ctx self.passmanager = pm
def __init__(self): Transformation.__init__(self) for s in GatherOMPData.statements: setattr(self, "visit_" + s, lambda node_: self.attach_data(node_)) self.current = list()
def __init__(self, pm, ctx): Transformation.__init__(self) self.ctx = ctx self.passmanager = pm self.global_declarations = pm.gather(GlobalDeclarations, ctx.module)
def __init__(self): Transformation.__init__(self, TypeDependencies, OrderedGlobalDeclarations)
def __init__(self): Transformation.__init__(self, NormalizeTuples, PotentialIterator)
def __init__(self): Transformation.__init__(self, PotentialIterator, Aliases)
def __init__(self): self.renamings = dict() Transformation.__init__(self, Identifiers)
def __init__(self): self.counter = 0 Transformation.__init__(self)
def __init__(self): Transformation.__init__(self) # Remap self.visit_XXXX() to self.attach_data() generic method for s in GatherOMPData.statements: setattr(self, "visit_" + s, lambda node_: self.attach_data(node_)) self.current = list()