aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorBin Cheng <bin.cheng@arm.com>2017-07-28 14:54:20 +0000
committerBin Cheng <amker@gcc.gnu.org>2017-07-28 14:54:20 +0000
commit67bb451dfbfbac87a1289ad4e9e38f7c2abf4d02 (patch)
treedcaef9f3ef61d6b89913d524d4b0290c4617b1d7 /gcc
parent6c35e5b02212b72e5cbbd6ff8c3e413c2c2a21aa (diff)
downloadgcc-67bb451dfbfbac87a1289ad4e9e38f7c2abf4d02.zip
gcc-67bb451dfbfbac87a1289ad4e9e38f7c2abf4d02.tar.gz
gcc-67bb451dfbfbac87a1289ad4e9e38f7c2abf4d02.tar.bz2
* tree-predcom.c (determine_roots_comp): Skip trivial components.
From-SVN: r250665
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/tree-predcom.c5
2 files changed, 8 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index d153c13..0419984 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,7 @@
+2017-07-28 Bin Cheng <bin.cheng@arm.com>
+
+ * tree-predcom.c (determine_roots_comp): Skip trivial components.
+
2017-07-28 Richard Biener <rguenther@suse.de>
* match.pd: Remove superfluous :c.
diff --git a/gcc/tree-predcom.c b/gcc/tree-predcom.c
index 6baa606..536fe34 100644
--- a/gcc/tree-predcom.c
+++ b/gcc/tree-predcom.c
@@ -1227,8 +1227,11 @@ determine_roots_comp (struct loop *loop,
return;
}
- comp->refs.qsort (order_drefs);
+ /* Trivial component. */
+ if (comp->refs.length () <= 1)
+ return;
+ comp->refs.qsort (order_drefs);
FOR_EACH_VEC_ELT (comp->refs, i, a)
{
if (!chain || DR_IS_WRITE (a->ref)