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

SCM Repository

[smlnj] View of /sml/branches/arith64/compiler/CodeGen/ppc/ppcMLTree.sml
ViewVC logotype

View of /sml/branches/arith64/compiler/CodeGen/ppc/ppcMLTree.sml

Parent Directory Parent Directory | Revision Log Revision Log


Revision 4874 - (download) (annotate)
Fri Oct 5 14:33:11 2018 UTC (10 months, 2 weeks ago) by jhr
File size: 2038 byte(s)
  merge in edits from trunk
(* ppcMLTree.sml
 *
 * COPYRIGHT (c) 2017 The Fellowship of SML/NJ (http://www.smlnj.org)
 * All rights reserved.
 *)

structure PPCMLTree = MLTreeF(
    structure Constant = SMLNJConstant
    structure Region = CPSRegions
    structure Extension = SMLNJMLTreeExt)

structure PPCMLTreeEval = MLTreeEval(
    structure T = PPCMLTree
    fun eq _ _ =  false
    val eqRext = eq
    val eqFext = eq
    val eqCCext = eq
    val eqSext = eq)

structure PPCMLTreeHash = MLTreeHash(
    structure T = PPCMLTree
    fun h _ _ = 0w0
    val hashRext = h
    val hashFext = h
    val hashCCext = h
    val hashSext = h)

structure PPCGasPseudoOps = PPCGasPseudoOps(
    structure T = PPCMLTree
    structure MLTreeEval = PPCMLTreeEval)

structure PPCClientPseudoOps = SMLNJPseudoOps(structure Asm = PPCGasPseudoOps)

structure PPCPseudoOps = PseudoOps(structure Client = PPCClientPseudoOps)

structure PPCStream = InstructionStream(PPCPseudoOps)

structure PPCMLTreeStream = MLTreeStream(
    structure T = PPCMLTree
    structure S = PPCStream)

(* specialised powerpc instruction set *)
structure PPCInstr = PPCInstr(PPCMLTree)

structure PPCProps = PPCProps(
    structure PPCInstr = PPCInstr
    structure MLTreeEval = PPCMLTreeEval
    structure MLTreeHash = PPCMLTreeHash)

structure PPCShuffle = PPCShuffle(PPCInstr)

structure PPCAsmEmitter = PPCAsmEmitter(
    structure Instr = PPCInstr
    structure PseudoOps = PPCPseudoOps
    structure S = PPCStream
    structure MLTreeEval = PPCMLTreeEval
    structure Shuffle = PPCShuffle)

structure PPCMCEmitter = PPCMCEmitter(
    structure Instr = PPCInstr
    structure PseudoOps = PPCPseudoOps
    structure Stream = PPCStream
    structure MLTreeEval = PPCMLTreeEval
    structure CodeString = CodeString)

(* Flowgraph data structure specialized to DEC alpha instructions *)
structure PPCCFG = ControlFlowGraph(
    structure I = PPCInstr
    structure PseudoOps = PPCPseudoOps
    structure GraphImpl = DirectedGraph
    structure InsnProps = PPCProps
    structure Asm = PPCAsmEmitter)

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