docs: def _dead_assignment_elimination(self, function, data_graph):  #pylint:disable=unused-argument
          """
          Remove assignments to registers that has no consumers, but immediately killed.
  
          BROKEN - DO NOT USE IT
  
          :param angr.knowledge.Function function:
          :param networkx.MultiDiGraph data_graph:
          :return: None
          """
  
          register_pvs = set()
          for node in data_graph.nodes():
              if isinstance(node.variable, SimRegisterVariable) and \
                      node.variable.reg is not None and \
                      node.variable.reg < 40:
                  register_pvs.add(node)
  
          for reg in register_pvs:
              # does it have a consumer?
              out_edges = data_graph.out_edges(reg, data=True)
              consumers = [ ]
              killers = [ ]
              for _, _, data in out_edges:
                  if 'type' in data and data['type'] == 'kill':
                      killers.append(data)
                  else:
                      consumers.append(data)
  
              if not consumers and killers:
                  # we can remove the assignment!
                  da = DeadAssignment(reg)
                  self.dead_assignments.append(da)