diff doc/compiler.rst @ 357:818be710e13d

Added acceptance function to burg
author Windel Bouwman
date Fri, 14 Mar 2014 15:14:29 +0100
parents 38f5f298ce0e
children 39bf68bf1891
line wrap: on
line diff
--- a/doc/compiler.rst	Fri Mar 14 13:02:16 2014 +0100
+++ b/doc/compiler.rst	Fri Mar 14 15:14:29 2014 +0100
@@ -77,14 +77,27 @@
 
 The back-end is more complicated. There are several steps to be taken here.
 
-1. Instruction selection
-2. register allocation
-3. Peep hole optimization?
-4. real code generation
+1. Canonicalization
+2. Tree creation
+3. Instruction selection
+4. register allocation
+5. Instruction emission
+6. TODO: Peep hole optimization?
 
 .. automodule:: ppci.codegen
    :members:
 
+Canonicalize
+~~~~~~~~~~~~
+
+During this phase, the IR-code is made simpler. Function calls are pulled pulled
+to top level and the frame pointer is introduced.
+
+Tree building
+~~~~~~~~~~~~~
+
+From IR-code a tree is generated which can be used to select instructions.
+
 Instruction selection
 ~~~~~~~~~~~~~~~~~~~~~
 
@@ -97,3 +110,9 @@
 // .. autoclass:: ppci.irmach.AbstractInstruction
 
 
+Register allocation
+~~~~~~~~~~~~~~~~~~~
+
+The selected instructions are used to select correct registers.
+
+