aboutsummaryrefslogtreecommitdiff
path: root/gcc/ira.c
diff options
context:
space:
mode:
authorVladimir Makarov <vmakarov@redhat.com>2013-11-14 01:51:07 +0000
committerVladimir Makarov <vmakarov@gcc.gnu.org>2013-11-14 01:51:07 +0000
commit41808d153aaa607fc16c243005d52319d6ef8030 (patch)
treef129292eb6b5c4c76dd9abd53f43b81ce7f7cc6e /gcc/ira.c
parentfffb16d263967f59d2f209c336504f36b4b22372 (diff)
downloadgcc-41808d153aaa607fc16c243005d52319d6ef8030.zip
gcc-41808d153aaa607fc16c243005d52319d6ef8030.tar.gz
gcc-41808d153aaa607fc16c243005d52319d6ef8030.tar.bz2
ira.c: Add comment about threads at the top of file.
2013-11-13 Vladimir Makarov <vmakarov@redhat.com> * ira.c: Add comment about threads at the top of file. From-SVN: r204772
Diffstat (limited to 'gcc/ira.c')
-rw-r--r--gcc/ira.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/gcc/ira.c b/gcc/ira.c
index 2ef69cb..dbc5a0a 100644
--- a/gcc/ira.c
+++ b/gcc/ira.c
@@ -192,7 +192,14 @@ along with GCC; see the file COPYING3. If not see
this point. There is some freedom in the order of putting
allocnos on the stack which can affect the final result of
the allocation. IRA uses some heuristics to improve the
- order.
+ order. The major one is to form *threads* from colorable
+ allocnos and push them on the stack by threads. Thread is a
+ set of non-conflicting colorable allocnos connected by
+ copies. The thread contains allocnos from the colorable
+ bucket or colorable allocnos already pushed onto the coloring
+ stack. Pushing thread allocnos one after another onto the
+ stack increases chances of removing copies when the allocnos
+ get the same hard reg.
We also use a modification of Chaitin-Briggs algorithm which
works for intersected register classes of allocnos. To