From b28ae2d446eb648d650770faf743eb886bbc214e Mon Sep 17 00:00:00 2001 From: vmakarov Date: Fri, 19 Apr 2013 21:09:33 +0000 Subject: [PATCH] 2013-04-19 Vladimir Makarov * lra.c: Update the flow chart diagram. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198102 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 4 ++++ 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 + * lra.c: Update the flow chart diagram. + +2013-04-19 Vladimir Makarov + PR rtl-optimization/56847 * lra-constraints.c (process_alt_operands): Discourage alternative with non-matche doffsettable memory constraint fro memory with 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: -- 2.7.4