preprocess/asm_mips.py [412:454]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
        if not is_tgt and reg_node.name in self.src_vnode:
            self.__add_edge__(Edge(name='',
                                  edge_type=self.edge_type_2_id['last-read'],
                                  src=reg_node.id,
                                  tgt=self.src_vnode[reg_node.name].id))
            reg_node.edges[self.edge_type_2_id['last-read']] = self.src_vnode[reg_node.name]
            self.__add_edge__(Edge(name='',
                                  edge_type=self.edge_type_2_id['last-read'],
                                  src=self.src_vnode[reg_node.name].id,
                                  tgt=reg_node.id))
            self.src_vnode[reg_node.name].edges[self.edge_type_2_id['last-read']] = reg_node
        elif not is_tgt:
            self.src_vnode[reg_node.name] = reg_node
        if is_tgt and reg_node.name in self.tgt_vnode:
            # pdb.set_trace()
            self.__add_edge__(Edge(name='',
                                  edge_type=self.edge_type_2_id['last-write'],
                                  src=reg_node.id,
                                  tgt=self.tgt_vnode[reg_node.name].id))
            reg_node.edges[self.edge_type_2_id['last-write']] = self.tgt_vnode[reg_node.name]
            self.__add_edge__(Edge(name='',
                                  edge_type=self.edge_type_2_id['last-write'],
                                  src=self.tgt_vnode[reg_node.name].id,
                                  tgt=reg_node.id))
            self.tgt_vnode[reg_node.name].edges[self.edge_type_2_id['last-write']] = reg_node
        elif is_tgt:
            self.tgt_vnode[reg_node.name] = reg_node


    # Second case: memory operation: src = load, tgt=store
    else:
      # getting offset if any
      # in the format offset(base)
      # base can be expanded to (start, index, stride)
      if operand[0] == '(':
        # no offset
        base = operand
      else:
        # with offset
        offset, base = operand.rsplit('(', 1)
        # add offset node
        offset_node = self.__add_node__(Node(name=offset,
                                             node_id=self.num_nodes,
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



preprocess/asm_obj.py [350:391]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      if not is_tgt and reg_node.name in self.src_vnode:
          self.__add_edge__(Edge(name='',
                                 edge_type=self.edge_type_2_id['last-read'],
                                 src=reg_node.id,
                                 tgt=self.src_vnode[reg_node.name].id))
          reg_node.edges[self.edge_type_2_id['last-read']] = self.src_vnode[reg_node.name]
          self.__add_edge__(Edge(name='',
                                 edge_type=self.edge_type_2_id['last-read'],
                                 src=self.src_vnode[reg_node.name].id,
                                 tgt=reg_node.id))
          self.src_vnode[reg_node.name].edges[self.edge_type_2_id['last-read']] = reg_node 
      elif not is_tgt:
          self.src_vnode[reg_node.name] = reg_node
      if is_tgt and reg_node.name in self.tgt_vnode:
          self.__add_edge__(Edge(name='',
                                 edge_type=self.edge_type_2_id['last-write'],
                                 src=reg_node.id,
                                 tgt=self.tgt_vnode[reg_node.name].id))
          reg_node.edges[self.edge_type_2_id['last-write']] = self.tgt_vnode[reg_node.name]
          self.__add_edge__(Edge(name='',
                                 edge_type=self.edge_type_2_id['last-write'],
                                 src=self.tgt_vnode[reg_node.name].id,
                                 tgt=reg_node.id))
          self.tgt_vnode[reg_node.name].edges[self.edge_type_2_id['last-write']] = reg_node 
      elif is_tgt:
          self.tgt_vnode[reg_node.name] = reg_node


    # Second case: memory operation: src = load, tgt=store
    else:
      # getting offset if any
      # in the format offset(base)
      # base can be expanded to (start, index, stride)
      if operand[0] == '(':
        # no offset
        base = operand
      else:
        # with offset
        offset, base = operand.rsplit('(', 1)
        # add offset node
        offset_node = self.__add_node__(Node(name=offset,
                                             node_id=self.num_nodes,
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



