Mercurial > lcfOS
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. + +