~rdoering/ubuntu/intrepid/erlang/fix-535090

« back to all changes in this revision

Viewing changes to lib/hipe/rtl/hipe_rtl.erl

  • Committer: Bazaar Package Importer
  • Author(s): Soren Hansen
  • Date: 2007-05-01 16:57:10 UTC
  • mfrom: (1.1.9 upstream)
  • Revision ID: james.westby@ubuntu.com-20070501165710-2sapk0hp2gf3o0ip
Tags: 1:11.b.4-2ubuntu1
* Merge with Debian Unstable. Remaining changes:
  - Add -fno-stack-protector to fix broken crypto_drv.
* DebianMaintainerField update.

Show diffs side-by-side

added added

removed removed

Lines of Context:
229
229
 
230
230
         mk_gctest/1,
231
231
         gctest_words/1,
232
 
 
233
 
         mk_binbase/3,
234
 
         binbase_dst/1,
235
 
         binbase_orig/1,
236
 
         binbase_offset/1,
237
232
         
238
233
         mk_comment/1,
239
234
         comment_text/1,
708
703
gctest_words(#gctest{words=Words}) -> Words.
709
704
gctest_words_update(S, NewWords) -> S#gctest{words=NewWords}.
710
705
 
711
 
%%
712
 
%% binbase
713
 
%%
714
706
 
715
 
mk_binbase(Base, Orig, Offset) -> #binbase{dst=Base, orig=Orig, offset=Offset}.
716
 
binbase_dst(#binbase{dst=Base}) -> Base.
717
 
binbase_dst_update(S, Dst) -> S#binbase{dst=Dst}.
718
 
binbase_orig(#binbase{orig=Orig}) -> Orig.
719
 
binbase_orig_update(S, Orig) -> S#binbase{orig=Orig}.
720
 
binbase_offset(#binbase{offset=Offset}) -> Offset.
721
 
binbase_offset_update(S, Offset) -> S#binbase{offset=Offset}.
 
707
%%
 
708
%% fixnumop
 
709
%%
722
710
 
723
711
mk_fixnumop(Dst, Src, Type) ->
724
712
  #fixnumop{dst=Dst, src=Src, type=Type}.
892
880
  case I of
893
881
    #alu{} -> [alu_src1(I), alu_src2(I)];
894
882
    #alub{} -> [alub_src1(I), alub_src2(I)];
895
 
    #binbase{} -> [binbase_orig(I), binbase_offset(I)];
896
883
    #branch{} -> [branch_src1(I), branch_src2(I)];
897
884
    #call{} -> 
898
885
      case call_is_known(I) of
936
923
  Defs = case Instr of
937
924
           #alu{} -> [alu_dst(Instr)];
938
925
           #alub{} -> [alub_dst(Instr)];
939
 
           #binbase{} -> [binbase_dst(Instr)];
940
926
           #branch{} -> [];
941
927
           #call{} -> call_dstlist(Instr);
942
928
           #comment{} -> [];
991
977
    #alub{} ->
992
978
      I0 = alub_src1_update(I, subst1(Subst, alub_src1(I))),
993
979
      alub_src2_update(I0, subst1(Subst, alub_src2(I)));
994
 
    #binbase{} ->
995
 
      I0 = binbase_orig_update(I,subst1(Subst, binbase_orig(I))),
996
 
      binbase_offset_update(I0,subst1(Subst, binbase_offset(I0)));
997
980
    #branch{} ->
998
981
      I0 = branch_src1_update(I, subst1(Subst, branch_src1(I))),
999
982
      branch_src2_update(I0, subst1(Subst, branch_src2(I)));
1072
1055
      alu_dst_update(I, subst1(Subst, alu_dst(I)));
1073
1056
    #alub{} ->
1074
1057
      alub_dst_update(I, subst1(Subst, alub_dst(I)));
1075
 
    #binbase{} ->
1076
 
      binbase_dst_update(I, subst1(Subst, binbase_dst(I)));
1077
1058
    #branch{} ->
1078
1059
      I;
1079
1060
    #call{} ->
1142
1123
  case Instr of
1143
1124
    #alu{} -> true;
1144
1125
    #alub{} -> false;
1145
 
    #binbase{} -> true;
1146
1126
    #branch{} -> false;
1147
1127
    #call{} -> false;
1148
1128
    #comment{} -> false;
1506
1486
      io:format(Dev, ")~n", []);
1507
1487
    #comment{} ->
1508
1488
      io:format(Dev, "    ;; ~p~n", [comment_text(I)]);
1509
 
    #binbase{} ->
1510
 
      pp_arg(Dev, binbase_dst(I)),
1511
 
      io:format(Dev, " <- ", []),
1512
 
      io:format(Dev, "binbase(", []),
1513
 
      pp_args(Dev, [binbase_orig(I), binbase_offset(I)]),
1514
 
      io:format(Dev, ")~n", []);
1515
1489
    #fixnumop{} ->
1516
1490
      io:format(Dev, "    ", []),
1517
1491
      pp_arg(Dev, fixnumop_dst(I)),