aboutsummaryrefslogtreecommitdiff
path: root/gcc/lra.c
diff options
context:
space:
mode:
authorVladimir Makarov <vmakarov@redhat.com>2013-04-19 21:09:33 +0000
committerVladimir Makarov <vmakarov@gcc.gnu.org>2013-04-19 21:09:33 +0000
commitf38e1b0a2b1c5e93b8e2311650ed430f6786aed2 (patch)
tree590c828bb47438fc363e725a283e43adbfd31cbf /gcc/lra.c
parent682303da799ead98af850842873bf9a66dd3ddb0 (diff)
downloadgcc-f38e1b0a2b1c5e93b8e2311650ed430f6786aed2.zip
gcc-f38e1b0a2b1c5e93b8e2311650ed430f6786aed2.tar.gz
gcc-f38e1b0a2b1c5e93b8e2311650ed430f6786aed2.tar.bz2
lra.c: Update the flow chart diagram.
2013-04-19 Vladimir Makarov <vmakarov@redhat.com> * lra.c: Update the flow chart diagram. From-SVN: r198102
Diffstat (limited to 'gcc/lra.c')
-rw-r--r--gcc/lra.c44
1 files changed, 22 insertions, 22 deletions
diff --git a/gcc/lra.c b/gcc/lra.c
index 3ea4a65..8082643 100644
--- a/gcc/lra.c
+++ b/gcc/lra.c
@@ -43,32 +43,32 @@ along with GCC; see the file COPYING3. If not see
Here is block diagram of LRA passes:
- ---------------------
- | Undo inheritance | --------------- ---------------
- | for spilled pseudos)| | Memory-memory | | New (and old) |
- | and splits (for |<----| move coalesce |<-----| pseudos |
- | pseudos got the | --------------- | assignment |
- Start | same hard regs) | ---------------
- | --------------------- ^
- V | ---------------- |
- ----------- V | Update virtual | |
-| Remove |----> ------------>| register | |
-| scratches | ^ | displacements | |
- ----------- | ---------------- |
- | | |
- | V New |
- ---------------- No ------------ pseudos -------------------
- | Spilled pseudo | change |Constraints:| or insns | Inheritance/split |
- | to memory |<-------| RTL |--------->| transformations |
- | substitution | | transfor- | | in EBB scope |
- ---------------- | mations | -------------------
- | ------------
- V
+ ---------------------
+ --------------- | Undo inheritance | ---------------
+ | Memory-memory | | for spilled pseudos)| | New (and old) |
+ | move coalesce |<---| and splits (for |<-- | pseudos |
+ --------------- | pseudos got the | | assignment |
+ Start | | same hard regs) | ---------------
+ | | --------------------- ^
+ V | ---------------- |
+ ----------- V | Update virtual | |
+| Remove |----> ------------>| register | |
+| scratches | ^ | displacements | |
+ ----------- | ---------------- |
+ | | |
+ | V New |
+ ---------------- No ------------ pseudos -------------------
+ | Spilled pseudo | change |Constraints:| or insns | Inheritance/split |
+ | to memory |<-------| RTL |--------->| transformations |
+ | substitution | | transfor- | | in EBB scope |
+ ---------------- | mations | -------------------
+ | ------------
+ V
-------------------------
| Hard regs substitution, |
| devirtalization, and |------> Finish
| restoring scratches got |
- | memory |
+ | memory |
-------------------------
To speed up the process: