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

SCM Repository

[smlnj] Annotation of /sml/trunk/compiler/CodeGen/x86/x86MLTree.sml
ViewVC logotype

Annotation of /sml/trunk/compiler/CodeGen/x86/x86MLTree.sml

Parent Directory Parent Directory | Revision Log Revision Log


Revision 775 - (view) (download)
Original Path: sml/trunk/src/compiler/CodeGen/x86/x86MLTree.sml

1 : leunga 775 structure X86PseudoOps =
2 :     PseudoOpsLittle(structure M=X86Spec val nop = SOME(0wx90:Word8.word))
3 :    
4 :     structure X86Stream = InstructionStream(X86PseudoOps)
5 :    
6 :     (* MLTree specialization *)
7 :     structure X86MLTree =
8 :     MLTreeF(structure Constant = SMLNJConstant
9 :     structure Region=CPSRegions
10 :     structure Stream=X86Stream
11 :     structure Extension=X86_SMLNJMLTreeExt)
12 :    
13 : monnier 247 (* specialised X86 instruction set *)
14 :     structure X86Instr =
15 : leunga 775 X86Instr(
16 :     LabelExp
17 :     (structure T = X86MLTree
18 :     fun h _ _ = 0w0 fun eq _ _ = false
19 :     val hashRext = h and hashFext = h and hashCCext = h and hashSext = h
20 :     val eqRext = eq and eqFext = eq and eqCCext = eq and eqSext = eq
21 :     ))
22 : monnier 247
23 : monnier 475 structure X86Props = X86Props(X86Instr)
24 :    
25 : monnier 247 structure X86Rewrite = X86Rewrite(X86Instr)
26 :    
27 :     structure X86Shuffle = X86Shuffle(X86Instr)
28 :    
29 :     structure X86MemRegs = X86MemRegs(X86Instr)
30 :    
31 :     (* Flowgraph data structure specialized to X86 instructions *)
32 :     structure X86FlowGraph =
33 :     FlowGraph(structure I=X86Instr
34 :     structure P=X86PseudoOps
35 : monnier 469 )
36 : monnier 247
37 : monnier 411
38 : monnier 247 (* Assembly code emmitter *)
39 :     structure X86AsmEmitter=
40 :     X86AsmEmitter(structure Instr=X86Instr
41 :     structure PseudoOps=X86PseudoOps
42 :     structure Shuffle=X86Shuffle
43 : monnier 411 structure Stream=X86Stream
44 : monnier 247 structure MemRegs=X86MemRegs)
45 :    
46 :     (* Machine code emitter *)
47 :     structure X86MCEmitter =
48 :     X86MCEmitter(structure Instr=X86Instr
49 :     structure Shuffle=X86Shuffle
50 : monnier 411 structure AsmEmitter=X86AsmEmitter
51 : monnier 247 structure MemRegs=X86MemRegs)
52 :    
53 : leunga 775

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