diff --git a/loopy/kernel/tools.py b/loopy/kernel/tools.py
index f2104ca76f3e5feff1eb84eae9a2420526b58258..ec26916f35c2ec67fb43185ed5cbc911de271869 100644
--- a/loopy/kernel/tools.py
+++ b/loopy/kernel/tools.py
@@ -590,71 +590,6 @@ def show_dependency_graph(*args, **kwargs):
 # }}}
 
 
-# {{{ domain parameter finder
-
-class DomainParameterFinder(object):
-    """Finds parameters from shapes of passed arguments."""
-
-    def __init__(self, kernel):
-        # a mapping from parameter names to a list of tuples
-        # (arg_name, axis_nr, function), where function is a
-        # unary function of kernel.arg_dict[arg_name].shape[axis_nr]
-        # returning the desired parameter.
-        self.param_to_sources = param_to_sources = {}
-
-        param_names = kernel.all_params()
-
-        from loopy.kernel.data import GlobalArg
-        from loopy.symbolic import DependencyMapper
-        from pymbolic import compile
-        dep_map = DependencyMapper()
-
-        from pymbolic import var
-        for arg in kernel.args:
-            if isinstance(arg, GlobalArg):
-                for axis_nr, shape_i in enumerate(arg.shape):
-                    deps = dep_map(shape_i)
-                    if len(deps) == 1:
-                        dep, = deps
-
-                        if dep.name in param_names:
-                            from pymbolic.algorithm import solve_affine_equations_for
-                            try:
-                                # overkill :)
-                                param_expr = solve_affine_equations_for(
-                                        [dep.name], [(shape_i, var("shape_i"))]
-                                        )[dep.name]
-                            except Exception:
-                                # went wrong? oh well
-                                pass
-                            else:
-                                param_func = compile(param_expr, ["shape_i"])
-                                param_to_sources.setdefault(dep.name, []).append(
-                                        (arg.name, axis_nr, param_func))
-
-    def __call__(self, kwargs):
-        result = {}
-
-        for param_name, sources in six.iteritems(self.param_to_sources):
-            if param_name not in kwargs:
-                for arg_name, axis_nr, shape_func in sources:
-                    if arg_name in kwargs:
-                        try:
-                            shape_axis = kwargs[arg_name].shape[axis_nr]
-                        except IndexError:
-                            raise RuntimeError("Argument '%s' has unexpected shape. "
-                                    "Tried to access axis %d (0-based), only %d "
-                                    "axes present." %
-                                    (arg_name, axis_nr, len(kwargs[arg_name].shape)))
-
-                        result[param_name] = shape_func(shape_axis)
-                        continue
-
-        return result
-
-# }}}
-
-
 # {{{ is domain dependent on inames
 
 def is_domain_dependent_on_inames(kernel, domain_index, inames):