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/trunk/src/compiler/CodeGen/alpha32/alpha32CG.sml
ViewVC logotype

Diff of /sml/trunk/src/compiler/CodeGen/alpha32/alpha32CG.sml

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

revision 744, Fri Dec 8 04:11:42 2000 UTC revision 823, Tue May 8 21:25:15 2001 UTC
# Line 6  Line 6 
6    ( structure I          = Alpha32Instr    ( structure I          = Alpha32Instr
7      structure MachSpec   = Alpha32Spec      structure MachSpec   = Alpha32Spec
8      structure PseudoOps  = Alpha32PseudoOps      structure PseudoOps  = Alpha32PseudoOps
9        structure Ext        = SMLNJMLTreeExt(* generic extension *)
10      structure CpsRegs    = Alpha32CpsRegs      structure CpsRegs    = Alpha32CpsRegs
11      structure InsnProps  = Alpha32Props      structure InsnProps  = Alpha32Props
12      structure Asm        = Alpha32AsmEmitter      structure Asm        = Alpha32AsmEmitter
13      structure Shuffle    = Alpha32Shuffle      structure Shuffle    = Alpha32Shuffle
14    
15        structure CCalls     = DummyCCallsFn (Alpha32MLTree)
16        structure OmitFramePtr = struct
17          exception NotImplemented
18          structure F=Alpha32FlowGraph
19          structure I=Alpha32Instr
20          val vfp = CpsRegs.vfp
21          fun omitframeptr _ = raise NotImplemented
22        end
23    
24    
25      structure MLTreeComp=      structure MLTreeComp=
26         Alpha(structure AlphaInstr = Alpha32Instr         Alpha(structure AlphaInstr = Alpha32Instr
27               structure AlphaMLTree = Alpha32MLTree               structure AlphaMLTree = Alpha32MLTree
# Line 75  Line 86 
86                           dst=dst,src=src,impl=impl}                           dst=dst,src=src,impl=impl}
87    
88                (* spill register *)                (* spill register *)
89                fun spillInstr(_, r,loc) =                fun spillInstr{src,spilledCell,spillLoc,an} =
90                    [I.STORE{stOp=I.STL, b=sp,                    [I.STORE{stOp=I.STL, b=sp,
91                             d=I.IMMop(SpillTable.getRegLoc loc),                             d=I.IMMop(SpillTable.getRegLoc spillLoc),
92                             r=r, mem=spill}]                             r=src, mem=spill}]
93    
94                (* reload register *)                (* reload register *)
95                fun reloadInstr(_, r,loc) =                fun reloadInstr{dst,spilledCell,spillLoc,an} =
96                    [I.LOAD{ldOp=I.LDL, b=sp,                    [I.LOAD{ldOp=I.LDL, b=sp,
97                            d=I.IMMop(SpillTable.getRegLoc loc),                            d=I.IMMop(SpillTable.getRegLoc spillLoc),
98                            r=r, mem=spill}]                            r=dst, mem=spill}]
99    
100                  val mode = RACore.NO_OPTIMIZATION
101            end            end
102    
103            structure Float =            structure Float =
# Line 111  Line 124 
124                    [I.FLOAD{ldOp=I.LDT, b=sp,                    [I.FLOAD{ldOp=I.LDT, b=sp,
125                             d=I.IMMop(SpillTable.getFregLoc loc),                             d=I.IMMop(SpillTable.getFregLoc loc),
126                             r=r, mem=spill}]                             r=r, mem=spill}]
127    
128                  val mode = RACore.NO_OPTIMIZATION
129            end            end
130           )           )
131    )    )

Legend:
Removed from v.744  
changed lines
  Added in v.823

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