Home My Page Projects Code Snippets Project Openings SML/NJ
Summary Activity Forums Tracker Lists Tasks Docs Surveys News SCM Files

SCM Repository

[smlnj] Diff of /sml/branches/SMLNJ/src/MLRISC/hppa/hppa.sml
ViewVC logotype

Diff of /sml/branches/SMLNJ/src/MLRISC/hppa/hppa.sml

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 143, Mon Sep 7 21:46:44 1998 UTC revision 167, Sat Nov 7 20:11:41 1998 UTC
# Line 6  Line 6 
6   *   *
7   *)   *)
8  functor Hppa  functor Hppa
9    (structure Flowgen : FLOWGRAPH_GEN    (structure HppaInstr : HPPAINSTR
10     structure HppaInstr : HPPAINSTR     structure HppaMLTree : MLTREE where Region = HppaInstr.Region
11     structure HppaMLTree : MLTREE                                   and Constant = HppaInstr.Constant
12     structure MilliCode : HPPA_MILLICODE     structure Flowgen : FLOWGRAPH_GEN where I = HppaInstr
13     structure LabelComp : LABEL_COMP                                       and T = HppaMLTree
14                                         and B = HppaMLTree.BNames
15       structure MilliCode : HPPA_MILLICODE where I = HppaInstr
16       structure LabelComp : LABEL_COMP where I = HppaInstr
17                                        and T = HppaMLTree
18    (* DBM: sharing/defn conflict:
19       sharing Flowgen.I = MilliCode.I = LabelComp.I = HppaInstr       sharing Flowgen.I = MilliCode.I = LabelComp.I = HppaInstr
20       sharing Flowgen.T = LabelComp.T = HppaMLTree       sharing Flowgen.T = LabelComp.T = HppaMLTree
21       sharing HppaMLTree.Region = HppaInstr.Region       sharing HppaMLTree.Region = HppaInstr.Region
22       sharing HppaMLTree.Constant = HppaInstr.Constant       sharing HppaMLTree.Constant = HppaInstr.Constant
23       sharing HppaMLTree.BNames = Flowgen.B) : MLTREECOMP =       sharing HppaMLTree.BNames = Flowgen.B
24    *)
25      ) : MLTREECOMP =
26  struct  struct
27    structure I = HppaInstr    structure I = HppaInstr
28    structure F = Flowgen    structure F = Flowgen
# Line 293  Line 299 
299             | fcond T.<>   = I.?=             | fcond T.<>   = I.?=
300             | fcond T.?=   = I.<>             | fcond T.?=   = I.<>
301         in         in
302           emit(I.FCMP(fcond cc, f1, f2));           emit(I.FBRANCH{cc=fcond cc,f1=f1,f2=f2,t=lab,f=fallThrough, n=true,
303           emit(I.FTEST);                          long=false});
          emit(I.FBCC{t=lab, f=fallThrough, n=true});  
304           F.defineLabel fallThrough           F.defineLabel fallThrough
305         end         end
306    end    end
# Line 512  Line 517 
517    val mlriscComp = stmAction    val mlriscComp = stmAction
518  end  end
519    
520    (*
521     * $Log: hppa.sml,v $
522     * Revision 1.6  1998/09/30 19:35:03  dbm
523     * fixing sharing/defspec conflict
524     *
525     * Revision 1.5  1998/08/11 14:03:23  george
526     *   Exposed emitInstr in MLTREECOMP to allow a client to directly
527     *   inject native instructions into the flowgraph.
528     *
529     * Revision 1.3  1998/05/25 15:10:52  george
530     *   Fixed RCS keywords
531     *
532     *)

Legend:
Removed from v.143  
changed lines
  Added in v.167

root@smlnj-gforge.cs.uchicago.edu
ViewVC Help
Powered by ViewVC 1.0.0