def _optimize_functions(self, ll_module):
        """
        Internal: run function-level optimizations inside *ll_module*.
        """
        # Enforce data layout to enable layout-specific optimizations
        ll_module.data_layout = self._codegen._data_layout
        for func in ll_module.functions:
            # Run function-level optimizations to reduce memory usage and improve
            # module-level optimization.
            fpm, pb = self._codegen._function_pass_manager()
            k = f"Function passes on {func.name!r}"
            with self._recorded_timings.record(k, pb):
                fpm.run(func, pb)

        Internal: run function-level optimizations inside *ll_module*.
        
numba/core/codegen.py