anchor.diff:  
   reg_names(Regs, {TgtMod,TgtCtx}) ->
     [TgtMod:reg_nr(X,TgtCtx) || X <- Regs].
  +
  +is_spill_move(Instr, {TgtMod,TgtCtx}) ->
  +  TgtMod:is_spill_move(Instr, TgtCtx).
  
positive.code:   New = Info#ig_info{neighbors = [Y|Old]},
    hipe_vectors:set(IG,X,New).
  
  normalize_ig(IG) ->
    Size = hipe_vectors:size(IG),
    normalize_ig(Size-1, IG).
  
negative.code:     build_ig_bb(Xs, LiveOut, IG, Target, TempMap, TempMapping),
    build_ig_instr(X, Live, NewIG, Target, TempMap, TempMapping).
  
  build_ig_instr(X, Live0, IG0, Target, TempMap, TempMapping) ->
    {Def, Use} = def_use(X, Target, TempMap),
    ?report3("Live ~w\n~w : Def: ~w Use ~w\n",[Live0, X, Def,Use]),
    DefListMapped = list_map(Def, TempMapping, []),
    UseListMapped = list_map(Use, TempMapping, []),
    DefSetMapped = ordsets:from_list(DefListMapped),
    UseSetMapped = ordsets:from_list(UseListMapped),
    {Live1, IG1} =
      analyze_move(X, Live0, IG0, Target, DefSetMapped, UseSetMapped),
    IG = interference_arcs(DefListMapped, ordsets:to_list(Live1), IG1),
    Live = ordsets:union(UseSetMapped, ordsets:subtract(Live1, DefSetMapped)),
    {Live, IG}.
  
  analyze_move(X, Live0, IG0, Target, DefSetMapped, UseSetMapped) ->
    case {is_spill_move(X, Target), DefSetMapped, UseSetMapped} of
      {true, [Dst], [Src]} ->
        {ordsets:del_element(Src, Live0), add_move(Src, Dst, IG0)};
      {_, _, _} ->
        {Live0, IG0}
    end.
  
  %% Given a list of Keys and an ets-table returns a list of the elements 
  %% in Mapping corresponding to the Keys and appends Acc to this list.
  