diff options
author | Vladimir Makarov <vmakarov@redhat.com> | 2013-04-19 21:09:33 +0000 |
---|---|---|
committer | Vladimir Makarov <vmakarov@gcc.gnu.org> | 2013-04-19 21:09:33 +0000 |
commit | f38e1b0a2b1c5e93b8e2311650ed430f6786aed2 (patch) | |
tree | 590c828bb47438fc363e725a283e43adbfd31cbf | |
parent | 682303da799ead98af850842873bf9a66dd3ddb0 (diff) | |
download | gcc-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
-rw-r--r-- | gcc/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/lra.c | 44 |
2 files changed, 26 insertions, 22 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index c27e4da..60d2081 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,9 @@ 2013-04-19 Vladimir Makarov <vmakarov@redhat.com> + * lra.c: Update the flow chart diagram. + +2013-04-19 Vladimir Makarov <vmakarov@redhat.com> + PR rtl-optimization/56847 * lra-constraints.c (process_alt_operands): Discourage alternative with non-matche doffsettable memory constraint fro memory with @@ -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: |