Home My Page Projects Code Snippets Project Openings diderot
Summary Activity Tracker Tasks SCM

SCM Repository

[diderot] Diff of /trunk/src/compiler/README
ViewVC logotype

Diff of /trunk/src/compiler/README

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

revision 445, Thu Oct 21 04:01:15 2010 UTC revision 1116, Thu May 5 04:49:02 2011 UTC
# Line 17  Line 17 
17          representation.  Simple AST only allows simple expressions over          representation.  Simple AST only allows simple expressions over
18          variables.  This phase is also responsible for loading the image          variables.  This phase is also responsible for loading the image
19          summary information.  To do so, we determine which input variables are          summary information.  To do so, we determine which input variables are
20          required to load the images, get teh values from the user, and then          required to load the images, get the values from the user, and then
21          evaluate the static code (including using dnorm to get image info).          evaluate the static code (including using dnorm to get image info).
22          (see ast, simplify)          (see ast, simplify)
23    
# Line 31  Line 31 
31          lifts static computations to the global level and eliminates          lifts static computations to the global level and eliminates
32          dynamic field, kernel, and image values (i.e., statically resolves          dynamic field, kernel, and image values (i.e., statically resolves
33          them).          them).
34          (see high-il, high-il-opt, IL)          (see high-il, IL)
35    
36      6) Translation to MidIL      6) Translation to MidIL
37          This pass translates the HighIL representation to MidIL.  The main          This pass translates the HighIL representation to MidIL.  The main
# Line 44  Line 44 
44    
45      7) MidIL optimization      7) MidIL optimization
46          *** Not implemented yet ***          *** Not implemented yet ***
47          (see mid-il, mid-il-opt, IL)          (see mid-il, IL)
48    
49      6) Translation to LowIL      8) Translation to LowIL
50          *** Not implemented yet ***          This pass translates the MidIL representation to LowIL.  It expands
51            kernel evaluations into their piecewise polynomial equivalents and
52            it expands out the address calculations for voxel addresses.
53          (see IL, low-il, mid-il, mid-to-low)          (see IL, low-il, mid-il, mid-to-low)
54    
55      7) LowIL optimization      9) LowIL optimization
56          *** Not implemented yet ***          *** Not implemented yet ***
57          (see IL, low-il, low-il-opt)          (see IL, low-il)
58    
59       10) Translation to TreeIL
60            The first part of code generation is to turn SSA assignments into
61            expression trees and to turn the CFG into block structured code.
62            This is accomplished by the translation from LowIL to TreeIL, which
63            uses the same operators and types as LowIL.  This phase also includes
64            a transformation of the LowIL to properly handle variable scoping.
65            (see IL, low-il, tree-il)
66    
67      8) Code generation     11) TreeIL optimization
68          *** Not implemented yet ***          *** Not implemented yet ***
69          (see IL, low-il, c-target, codegen)          This pass will cleanup some of the artifacts from the SSA form by
70            coalescing variables.
71            (see tree-il)
72    
73       12) Code generation
74            After translation to TreeIL, we generate code using the abstract TARGET
75            interface.
76            (see c-target, codegen, tree-il)
77    
78  And here is a roadmap of the subdirectories:  And here is a roadmap of the subdirectories:
79    
# Line 66  Line 83 
83      ast                 - The typed AST representation      ast                 - The typed AST representation
84      basis               - The definition of the Diderot Basis environment      basis               - The definition of the Diderot Basis environment
85      c-target            - Backend support for generating C code.      c-target            - Backend support for generating C code.
86      codegen             - Generic code-generation infrastructure      codegen             - Generic code-generation infrastructure, including the
87                              TreeIL representation
88      common              - Various miscellaneous utility modules      common              - Various miscellaneous utility modules
89      driver              - The driver glues the various phases together      driver              - The driver glues the various phases together
90      env                 - The environment representation used in typechecking      env                 - The environment representation used in typechecking

Legend:
Removed from v.445  
changed lines
  Added in v.1116

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