def create(self, tm=None): if tm is None: tm = self.select_target() if not isinstance(tm, TargetMachine): tm = tm._tm if self._use_mcjit: return llvm.create_mcjit_compiler(self.module, tm._tm) else: return llvm.create_jit_compiler_with_tm(self.module, tm._tm)
def create(self, tm=None): if tm is None: tm = self.select_target() if isinstance(tm, TargetMachine): tm = tm._tm if self._use_mcjit: return llvm.create_mcjit_compiler(self.module, tm) else: return llvm.create_jit_compiler_with_tm(self.module, tm)
def _init(self, llvm_module): assert list(llvm_module.global_variables) == [], "Module isn't empty" target = ll.Target.from_default_triple() tm_options = dict(cpu='', features='', opt=config.OPT) self._customize_tm_options(tm_options) tm = target.create_target_machine(**tm_options) # MCJIT is still defective under Windows if sys.platform.startswith('win32'): engine = ll.create_jit_compiler_with_tm(llvm_module, tm) else: engine = ll.create_mcjit_compiler(llvm_module, tm) tli = ll.create_target_library_info(llvm_module.triple) self._tli = tli self._tm = tm self._engine = engine self._target_data = engine.target_data self._data_layout = str(self._target_data) self._mpm = self._module_pass_manager()
def _init(self, llvm_module): assert list(llvm_module.global_variables) == [], "Module isn't empty" target = ll.Target.from_default_triple() tm_options = dict(cpu='', features='', opt=config.OPT) self._customize_tm_options(tm_options) tm = target.create_target_machine(**tm_options) # MCJIT is still defective under Windows if sys.platform.startswith('win32'): engine = ll.create_jit_compiler_with_tm(llvm_module, tm) else: engine = ll.create_mcjit_compiler(llvm_module, tm) tli = ll.create_target_library_info(llvm_module.triple) self._tli = tli self._tm = tm self._engine = engine self._target_data = engine.target_data self._data_layout = str(self._target_data) self._mpm = self._module_pass_manager()
def jit(self, mod, target_machine=None): if target_machine is None: target_machine = self.target_machine() return llvm.create_jit_compiler_with_tm(mod, target_machine)
def jit(self, mod, target_machine=None): if target_machine is None: target_machine = self.target_machine() return llvm.create_jit_compiler_with_tm(mod, target_machine)