Exemplo n.º 1
0
 def define_pipelines(self):
     # this maintains the objmode fallback behaviour
     pms = []
     if not self.state.flags.force_pyobject:
         pms.append(DefaultPassBuilder.define_nopython_pipeline(self.state))
     if self.state.status.can_fallback or self.state.flags.force_pyobject:
         pms.append(DefaultPassBuilder.define_objectmode_pipeline(self.state))
     if hasattr(self.state.status, "can_giveup") and self.state.status.can_giveup:
         pms.append(DefaultPassBuilder.define_interpreted_pipeline(self.state))
     return pms
Exemplo n.º 2
0
 def define_pipelines(self):
     pm = DefaultPassBuilder.define_objectmode_pipeline(self.state)
     # Force SSA reconstruction and stripping
     pm.add_pass_after(ReconstructSSA, IRProcessing)
     pm.add_pass_after(PreLowerStripPhis, ReconstructSSA)
     pm.finalize()
     return [pm]
Exemplo n.º 3
0
 def define_pipelines(self):
     # define a new set of pipelines (just one in this case) and for ease
     # base it on an existing pipeline from the DefaultPassBuilder,
     # namely the "nopython" pipeline
     pm = DefaultPassBuilder.define_nopython_pipeline(self.state)
     # Add the new pass to run after IRProcessing
     pm.add_pass_after(FreeOmnisciBuffer, IRProcessing)
     # finalize
     pm.finalize()
     # return as an iterable, any number of pipelines may be defined!
     return [pm]
Exemplo n.º 4
0
    def define_pipelines(self):
        pipeline = DefaultPassBuilder.define_nopython_pipeline(
            self.state, "inliner_custom_pipe")
        # mangle the default pipeline and inject DCE and IR preservation ahead
        # of legalisation

        # TODO: add a way to not do this! un-finalizing is not a good idea
        pipeline._finalized = False
        pipeline.add_pass_after(PreserveIR, IRLegalization)

        pipeline.finalize()
        return [pipeline]
Exemplo n.º 5
0
 def define_pipelines(self):
     pm = DefaultPassBuilder.define_nopython_pipeline(
         self.state,
         "custom_pipeline",
     )
     pm._finalized = False
     # Insert the cloning pass after SSA
     pm.add_pass_after(CloneFoobarAssignments, ReconstructSSA)
     # Capture IR post lowering
     pm.add_pass_after(PreserveIR, NativeLowering)
     pm.finalize()
     return [pm]
Exemplo n.º 6
0
 def define_pipelines(self):
     # define a new set of pipelines (just one in this case) and for ease
     # base it on an existing pipeline from the DefaultPassBuilder,
     # namely the "nopython" pipeline
     pm = DefaultPassBuilder.define_nopython_pipeline(self.state)
     # Add the new pass to run after IRProcessing
     pm.add_pass_after(AutoFreeBuffers, IRProcessing)
     pm.add_pass_after(CheckRaiseStmts, IRProcessing)
     pm.add_pass_after(DTypeComparison, ReconstructSSA)
     # finalize
     pm.finalize()
     # return as an iterable, any number of pipelines may be defined!
     return [pm]
Exemplo n.º 7
0
    def define_pipelines(self):
        name = 'sdc_extention_pipeline_seq'
        pm = DefaultPassBuilder.define_nopython_pipeline(self.state)

        add_pass_before(pm, InlinePass, InlineClosureLikes)
        pm.add_pass_after(HiFramesPass, InlinePass)
        pm.add_pass_after(DataFramePass, AnnotateTypes)
        pm.add_pass_after(PostprocessorPass, AnnotateTypes)
        pm.add_pass_after(HiFramesTypedPass, DataFramePass)
        add_pass_before(pm, ParforSeqPass, IRLegalization)
        pm.finalize()

        return [pm]
Exemplo n.º 8
0
 def define_pipelines(self):
     # this maintains the objmode fallback behaviour
     pms = []
     self.state.parfor_diagnostics = ExtendedParforDiagnostics()
     self.state.metadata[
         "parfor_diagnostics"] = self.state.parfor_diagnostics
     if not self.state.flags.force_pyobject:
         # print("Numba-DPPY [INFO]: Using Numba-DPPY pipeline")
         pms.append(DPPYPassBuilder.define_nopython_pipeline(self.state))
     if self.state.status.can_fallback or self.state.flags.force_pyobject:
         pms.append(
             DefaultPassBuilder.define_objectmode_pipeline(self.state))
     return pms
Exemplo n.º 9
0
 def define_pipelines(self):
     pm = DefaultPassBuilder.define_nopython_pipeline(self.state)
     # Run the inliner twice!
     pm.add_pass_after(InlineOverloads, InlineOverloads)
     pm.finalize()
     return [pm]
Exemplo n.º 10
0
 def define_pipelines(self):
     pm = DefaultPassBuilder.define_nopython_pipeline(self.state)
     pm.add_pass_after(PreserveIR, IRLegalization)
     pm.finalize()
     return [pm]
Exemplo n.º 11
0
 def define_pipelines(self):
     pm = DefaultPassBuilder.define_nopython_pipeline(self.state)
     pm.add_pass_after(CheckSSAMinimal, ReconstructSSA)
     pm.finalize()
     return [pm]
Exemplo n.º 12
0
 def define_pipelines(self):
     pm = DefaultPassBuilder.define_nopython_pipeline(self.state)
     pm.add_pass_after(DispatcherSwitcher, PreLowerStripPhis)
     pm.finalize()
     return [pm]
Exemplo n.º 13
0
 def define_pipelines(self):
     pm = DefaultPassBuilder.define_nopython_pipeline(self.state)
     pm.add_pass_after(ForceStaticGetitemLiteral,
                       NopythonTypeInference)
     pm.finalize()
     return [pm]
Exemplo n.º 14
0
 def define_pipelines(self):
     pm = DefaultPassBuilder.define_nopython_pipeline(self.state)
     pm.add_pass_after(_InjectDelsPass, inject_after)
     pm.finalize()
     return [pm]