aboutsummaryrefslogtreecommitdiff
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
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
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/ira.c9
2 files changed, 12 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 3345867..91c22d3 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,9 @@
2013-11-13 Vladimir Makarov <vmakarov@redhat.com>
+ * ira.c: Add comment about threads at the top of file.
+
+2013-11-13 Vladimir Makarov <vmakarov@redhat.com>
+
* ira-color.c (coalesce_allocnos): Don't allocate and free
sorted_copies.
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